CN107209713B - 按需文件修复的方法和*** - Google Patents

按需文件修复的方法和*** Download PDF

Info

Publication number
CN107209713B
CN107209713B CN201580073824.4A CN201580073824A CN107209713B CN 107209713 B CN107209713 B CN 107209713B CN 201580073824 A CN201580073824 A CN 201580073824A CN 107209713 B CN107209713 B CN 107209713B
Authority
CN
China
Prior art keywords
data
packets
sink
packet
fountain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580073824.4A
Other languages
English (en)
Other versions
CN107209713A (zh
Inventor
敦·道 恩科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107209713A publication Critical patent/CN107209713A/zh
Application granted granted Critical
Publication of CN107209713B publication Critical patent/CN107209713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开的是一种实现按需文件修复协议的***和方法。在所述协议中,数据源向数据宿发送数据文件中的所有数据包。然后,所述数据源向所述数据宿发送一个完成发送所述所有数据包的指示。如果数据包丢失,会从所述数据宿接收到一个重传丢失数据包的请求。然后,所述数据源向所述数据宿发送所述丢失数据包的喷泉码。

Description

按需文件修复的方法和***
本申请要求2015年9月15日递交的发明名称为“按需文件修复的方法和***(Method and System for an On-Demand File Repair)”的第14/855,181号美国非临时申请案的在先申请优先权,该在先申请要求2015年1月26日递交的发明名称为“按需文件修复协议的方法和***(Method and System for an On-Demand File Repair Protocol)”的第62/107,819号美国临时申请案的在先申请优先权,这两个在先申请的全部内容以引用的方式并入本文本中。
技术领域
本发明涉及一种文件修复的方法和***,且在具体实施例中,涉及一种按需文件修复的方法和***。
背景技术
数据传输可能不可靠。对于较大文件,某些数据几乎肯定会丢失。这个问题在无线传输中尤其严重。为了解决这个问题,研究了数据包传输。在数据包传输中,文件被分解成独立传输的小数据包。这种类型的***用于互联网之上。传输控制协议(TransmissionControl Protocol,TCP)包括数据包的具体格式化,包括差错校验和将数据包装入原始文件中的必要信息。当接收到一个数据包时,差错控制信息用来确定该数据包是否已损坏。然后,确认消息(acknowledgement message,ACK)从接收方(宿)发送到发送方(源),指示该数据包是否完整接收。如果未完整接收,该源再次发送该数据包。这个过程非常有效并且仍然是互联网的基础。尽管越来越多的复杂协议在许多情况下代替了最初的TCP,但是这种基础过程仍然存在。
然而,对于带宽约束应用,TCP和类TCP协议需要过多开销。这在像蜂窝通信之类的无线网络中尤其如此。移动中的数据包传输导致高丢包率。即使在无线链路最佳的情况下,数据损失也可能很高,所以网络会因纠错流量而阻塞。因此,TCP和类似协议在这些环境下没有那么有效。
发明内容
本发明的一项实施例包括一种按需文件修复的方法。在第一步骤中,数据文件中的所有数据包从数据源发送到数据宿。接着,发送一个完成所述所有数据包的指示从所述数据源发送到所述数据宿。之后,从所述数据宿接收一个重传所述所有数据包中的丢失数据包的请求。而后,向所述数据宿发送所述丢失数据包的喷泉码。
在本发明的另一项实施例中,示出了一种按需文件修复的方法。所述方法包括:数据源向数据宿发送数据文件中的所有数据包。接着,所述数据源向所述数据宿发送一个完成所述发送所有数据包的指示。之后,所述数据宿在接收到所述指示后等待一个计算的时间段。而后,从所述数据宿接收一个重传所述所有数据包中的丢失数据包的请求。所述数据源向所述数据宿发送所述丢失数据包的一系列喷泉码,直到所述数据宿接收足够多的喷泉码,以对所述丢失数据包解码。
本发明的另一项实施例是一种提供按需文件修复的网络设备。所述网络设备包括处理器和存储供所述处理器执行的程序的非瞬时性计算机可读存储介质。所述程序包括数据源向数据宿发送数据文件中的所有数据包的指令。另一指令使得所述设备向所述数据宿发送一个完成所述发送所述所有数据包的指示。下一指令使得所述设备从所述数据宿接收一个重传所有数据包中的丢失数据包的请求。又一指令使得所述设备向所述数据宿发送所述丢失数据包的喷泉码。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1示出了本发明一项实施例的应用的***模型;
图2为图示作为本发明一项实施例的过程的流程图;
图3示出了文件修复协议的性能;
图4为图示作为本发明另一项实施例的过程的流程图;
图5示出了在NORM协议的情况下划分为两个段的文件;
图6示出了根据一实施例的可用于实施例如本文所描述的设备和方法的计算平台。
具体实施方式
下文将详细论述当前优选实施例的结构、制作和使用。然而,应了解,本发明提供了可在各种具体上下文中体现的许多适用的发明性概念。所论述的具体实施例仅仅说明用以实施和使用本发明的具体方式,而不限制本发明的范围。
目前的文件传输协议有利有弊。传输控制协议(Transfer Control Protocol,TCP)需要对接收到的数据包进行累积确认(acknowledgement,ACK)。在选择性ACK(selective ACK,SACK)中,接收器为每个接收到的数据段发送一个ACK,而源发送未编码的丢失数据包。在使用用户数据报协议(User Datagram Protocol,UDP)的情况下,不存在用于数据包重传的反馈信道。在使用可靠UDP的情况下,存在用于重新发送丢失数据包的反馈信道。问题是,在移动中没有速率控制和网络支持机制。
喷泉编码(fountain coding,FC)是在数据包通过多个网络接口发送且丢包概率不同时补偿数据包丢失的一种有效方式。第一喷泉码由Luby在第6,307,487号美国专利中提出,该专利的内容以引用的方式并入本说明书中。一种高效率的喷泉码的示例在Shokrollahi等人的第7,068,729号美国专利中描述,该专利的内容以引用的方式并入本说明书中。喷泉码具有以下属性:编码过程可以生成数量接近无限的符号。然而,它们还具有以下属性:如果原始文件(符号)为k个数据包,则原始符号可以通过任意k+x(x可以为大于0的任意数)个已编码数据包进行解码,不管顺序如何。目前使用的FC用于应用层(AL-FEC,应用层前向纠错),传输文件在源处进行编码。
应用层编码协议(基于喷泉码)包括单向网络文件传输(file delivery overunidirectional transport,FLUTE)、第三代合作伙伴计划(3rd Generation PartnershipProject,3GPP)多媒体广播多播业务(Multimedia Broadcast Multicast Service,MBMS)和面向NACK的可靠多播(NACK-oriented reliable multicast,NORM)。FLUTE是一种基于UDP的多播,产生固定应用层编码冗余。3GPP MBMS***基于FLUTE,使用文件纠正协议。在NORM的情况下,存在多播应用,大文件被分段,为每个段产生前向纠错(forward errorcorrection,FEC)修复数据包。
图1示出了可实现一项实施例的无线网络。服务器10通过互联网12将待传送数据提供给虚拟用户特定服务网络(virtual user-specific serving gateway,v-u-SGW)14。v-u-SGW 14是包括蜂窝塔16-1、16-2、16-3的本地蜂窝网络的部分。当然,蜂窝网络将包括其它管理设备和更多的蜂窝塔。为清楚起见,简化了图1的网络。v-u-SGW 14向蜂窝塔16-1、16-2、16-3发送数据,这些蜂窝塔在它们的覆盖区域(分别是18-1、18-2、18-3)内传输数据。在本示例中,用户设备20是一部手机。作为一个移动设备,假设它将沿着路径22等行走,该路径将桥接若干小区。这产生了一种极有可能发生传输数据损失的环境。
本发明实施例提供了一种按需文件修复方案。在各种实施例中,数据文件没有进行分段,并且FC仅应用于丢失数据包。实施例包括用于单播通信的按需文件修复协议。在各种实施例中,所有原始数据包都发送给接收器。接收器报告丢失数据包或数据段(或者接收到的数据包或数据段),发送器对丢失数据包或数据段编码并发送已编码数据包,直到接收器能够对丢失数据包解码。数据源和宿通知对方用来报告丢失或接收数据的方法以及用来报告数据包数量或数据段(例如开始和结束字节)的方法。
在一实施例中,v-u-SGW收集流的数据包。数据包通过多条路径发送给多个服务空口节点。空口节点执行独立数据包调度并向接收器传输数据包,直到所有数据包传输完。多条流的多条路径上的数据速率由流量工程(traffic engineering,TE)优化器进行联合优化,考虑了有线和物理链路的容量。在接收到文件结束(end_of_file)控制消息后等待足够时间之后,移动单元返回哪些数据包丢失。v-u-SGW随后对所有丢失数据包进行喷泉编码并开始传输喷泉码,直到移动单元指示其已经接收到足够多的喷泉码以对丢失数据包解码。
一些实施例的优点包括:编码和解码延迟较低、文件传输协议简化。另一优势包括避免了TCP的ACK数据包,因为TCP在移动网络中表现不佳。再一优势包括避免了针对多播设计的FLUTE或多媒体广播多播业务(multimedia broadcast multicast service,MBMS)的编码/解码复杂度。
各种实施例包括发送器和接收器之间的单播数据通信协议和消息。各种实施例都能够用于单播应用,包括Web浏览、电子邮件、在线视频流媒体等等。
按需文件修复协议的一实施例在图2显示如下。在步骤101中,数据源发送所有数据包,对于各个数据包没有来自宿的ACK/NACK。步骤102包括完成发送原始数据包。当文件中的所有数据包都已发送时,源发送控制消息“文件结束(“end_of_file”,EOF)”。在步骤103中,宿在接收到“文件结束(end_of_file)”消息之后计算“等待时间(waiting_time)”。该等待时间基于平均接收数据速率和剩余未接收数据。数据速率可以是最后X秒传输的发送速率或者从会话开始的发送数据速率。在步骤104中,宿等待剩余数据包。如果所有剩余数据包在“等待时间(waiting_time)”结束之前完全接收,则会话结束。否则,在步骤105中,宿请求重传丢失数据包或丢失数据段,若有的话。数据包序列号格式比传统的第四版互联网协议(Internet protocol version 4,IPv4)的16位标识(identification,ID)或IPv6的32位要短得多。丢失数据包序列号或数据段被压缩并在一个协议控制数据包的有效负荷中发送。在步骤106中,源发送所有丢失数据包的喷泉码,直到接收器能够对丢失数据包解码。在另一实施例中,所传输的喷泉码的数量限于对丢失数据包解码必需的一个可能喷泉码子集。
图3示出了实施例按需文件修复协议相比传统应用层喷泉码的模拟性能。在一实施例中,该协议的性能在传统应用层编码协议性能的1%内。图3中图的线条150显示所描述实施例对照使用应用层采用的喷泉码的线条160的性能。
按需文件修复协议的另一实施例在图4中示出。在步骤201中,数据源发送所有数据包,对于各个数据包没有来自宿的ACK/NACK。数据宿总是将最后接收到的N个数据包(设为A)保存在接收缓存器中以使缓冲器大小降到最小(降低复杂度)。数据宿向应用层发送其它数据包。步骤202包括完成发送原始数据包。当文件完成时,源发送控制消息“文件结束(end_of_file)”。数据源(或虚拟UE网关)保存所有已发送数据包的副本。在步骤203中,宿在接收“文件结束(end_of_file)”消息时基于平均的接收数据速率和剩余数据计算“等待时间(waiting_time)”。平均数据速率可以是在最后X秒中或从会话开始的发送数据速率。宿还可以等待预定义时间段,该预定义时间段可以是预定义的或者是会话中的一个参数,等等。
在步骤204中,宿等待剩余数据包。如果所有剩余数据包在“等待时间(waiting_time)”结束之前完全接收,则会话结束。否则,在步骤205中,数据宿请求重传K个丢失数据包。因为剩余数据包应该包括较少数据,所以数据包序列号格式可以是比传统数据包序列格式短的IPv4的16位或IPv6的32位,或者可以使用另一较短格式。丢失数据包序列号被压缩并在一个协议控制数据包的有效负荷中发送。在步骤206中,源发送丢失数据包中的已进行喷泉编码的数据包,直到接收器能够对丢失数据包解码。喷泉编码需要一个最小的可能已经进行喷泉编码的N个数据包的子集以进行有效编码。如果K>N,则源将FC应用于K个丢失数据包。如果K≤N,则源将FC应用于K个丢失数据包和(N–K)个最后已接收数据包。这将确保,如果丢失数据包的数量少,则从大量数据包中生成大量冗余数据包。在一实施例中,还可以采用一个阈值,使得如果存在足够的数据包来证实这点,则喷泉码传输只用于丢失数据包。
本发明实施例将喷泉编码仅应用于丢失数据,即丢失数据包中的仅已编码数据包。相比之下,NORM或FLUTE是多播,且包括用于已接收和丢失数据包的整个数据段的FC。例如,在NORM的情况下,文件如图5所示被划分为两个段。如果每段存在丢失数据包,则NORM发送器发送错误段的已编码数据。
喷泉码的编码和解码计算复杂度与数据符号数量呈线性。尽管如此,可以考虑其它复杂度,例如源和宿处的缓冲器大小。NORM和MBMS文件传输协议(在图5中示出)提供了一种通过将大文件划分为较小段来降低复杂度的措施。喷泉编码应用于可管理的编码/解码复杂度和用户内存大小的数据段。该过程在大型多播文件分布中有效,在这种情况下许多用户可能丢失相同数据段中的不同数据包。在单播场景下,用户可能会丢失不同段中的少量数据包。然后,纠错过程应用于每个段,这会花费较长时间来纠正所有段中的差错。
所公开的实施例提供了一种更有效的纠错过程,即按需喷泉编码(on-demandfountain coding,OD-FC),其目的是仅将喷泉编码应用于丢失的数据包。数据宿在接收到一定数量的数据包后报告丢失数据包。源和宿然后可将已接收数据包分别从传输和接收缓冲器中移除以节省内存。如果丢失数据包的数量少,不可能生成许多已编码数据包。一种方案是对丢失数据包和一些最近接收到的数据包编码,使得输入FC编码器的数据包的总数量足以生成大量已编码数据包。OD-FC协议的性能通过大量模拟来验证。OD-FC协议的性能与传统喷泉编码多路径(fountain coded multi-path,FC-MP)协议的性能一样好,同时编码/解码复杂度能够大大降低。
图6是处理***,例如图1的v-u-SGW 14的方框图,该处理***可以用来实现本文公开的设备和方法。特定设备可利用所有所示的组件或所述组件的仅一子集,且设备之间的集成程度可能不同。此外,设备可以包括部件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理***可以包括配备一个或多个输入/输出设备302,例如扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等的处理单元。处理单元可以包括中央处理器(central processing unit,CPU)304、存储器306、大容量存储设备308、视频适配器310以及连接至总线314的I/O接口312。
总线314可以是任意类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线、视频总线等等。所述CPU 304可包括任何类型的电子数据处理器。存储器306可包括任意类型的***存储器,例如静态随机存取存储器(static random accessmemory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)或其组合等等。在实施例中,存储器可包括在开机时使用的ROM以及执行程序时使用的程序和数据存储器的DRAM。
大容量存储设备308可包括任意类型的非瞬时性存储设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线访问。大容量存储设备308可包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。
视频适配器310以及I/O接口312提供接口以将外部输入以及输出装置耦合到处理单元上。如所图示,输入以及输出装置的实例包含耦合到显示卡上的显示器以及耦合到I/O接口上的鼠标/键盘/打印机。其它装置可以耦合到处理单元上,并且可以利用额外的或较少的接口卡。例如,可使用如通用串行总线(USB)(未示出)等串行接口将接口提供给打印机。
处理单元还包含一个或多个网络接口316,所述网络接口316可以包括例如以太网电缆或其类似者等有线链路,和/或用以接入节点或不同网络的无线链路。网络接口316允许处理单元通过网络与远程单元通信。举例来说,网络接口可以经由一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一实施例中,所述处理单元与局域网或者广域网12耦合以进行数据处理以及与远端设备比如其它处理单元、因特网、远端存储设备等通信。
图6的***可用于实施网络数据宿提供按需文件修复等。网络数据宿可包括CPU304等处理器以及大容量存储设备308等非瞬时性计算机可读存储介质,该介质存储处理器执行的程序。该程序可包括执行以下操作的指令:从数据源接收数据包文件中的数据包;从数据源接收一个完成所述发送数据包的指示;向数据源发送一个对数据包中的丢失数据重传的请求;从数据源接收丢失数据包的喷泉码。网络数据宿可包括执行以下操作的指令:在接收到完成所述发送数据包的指示之后的一个时间段内发送重传请求。此外,该时间段可根据数据宿接收数据包的速率和剩余数据的量来计算。在另一实施例中,重传请求在发送完成所有数据包发送的指示之后会延迟一个时间段。在又一实施例中,接收喷泉码包括接收一个可能喷泉码子集。在又一实施例中,该子集是对所有丢失数据包解码所需的最小量的喷泉码。在又一实施例中,网络数据宿是无线网络的一部分,数据宿是一个移动终端。在又一实施例中,无线网络是一个蜂窝无线网络。
虽然已参考说明性实施例描述了本发明,但此描述并不意图限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及本发明其它实施例。因此,所附权利要求书意图涵盖任何此类修改或实施例。

Claims (21)

1.一种按需文件修复的方法,其特征在于,包括:
数据源向数据宿发送数据文件中的未经编码的所有原始数据包;
所述数据源向所述数据宿发送一个指示,其中,所述指示表示完成发送数据文件中的所有原始数据包;
所述数据源从所述数据宿接收一个重传所述所有原始数据包中的丢失原始数据包的请求;
接收到所述请求后,所述数据源仅对丢失的原始数据包进行喷泉编码以生成丢失的原始数据包的喷泉编码包;
所述数据源向所述数据宿发送所述丢失的原始数据包的喷泉编码包。
2.根据权利要求1所述的方法,其特征在于,接收所述重传请求在发送所述完成所述发送所述所有数据包的指示之后延迟一个时间段。
3.根据权利要求2所述的方法,其特征在于,所述时间段根据所述数据宿接收所述数据包的速率和剩余数据量来计算。
4.根据权利要求1所述的方法,其特征在于,所述接收所述重传请求在所述数据宿已经接收到一定数量的数据包之后提供。
5.根据权利要求1所述的方法,其特征在于,所述发送所述丢失的原始数据包的喷泉编码包包括发送喷泉码,所述发送喷泉码包括发送可能喷泉码的一个子集。
6.根据权利要求5所述的方法,其特征在于,所述子集是对所有所述丢失数据包解码所需的最小量的喷泉码。
7.根据权利要求1所述的方法,其特征在于:
所述来自所述数据宿的重传所述所有数据包中的丢失数据包的请求发生在接收所述指示后的一个计算的时间段之后
向所述数据宿发送所述丢失数据包的一系列喷泉码,直到所述数据宿接收到足够多的喷泉码以对所述丢失数据包解码。
8.根据权利要求7所述的 方法,其特征在于,所述计算的时间段是所述数据宿接收到所述完成发送所有数据包的指示以允许所述数据宿接收所述数据文件中的所有可用数据包的时间量。
9.根据权利要求8所述的方法,其特征在于,所述时间段根据所述数据宿接收所述数据包的速率和剩余数据的量来计算。
10.根据权利要求7所述的方法,其特征在于,所述来自所述数据宿的重传丢失数据包的请求是包含所述丢失数据包的数据包序列号的单个有效负荷。
11.根据权利要求10所述的方法,其特征在于,所述单个有效负荷被压缩。
12.一种按需文件修复的方法,其特征在于,包括:
数据宿从数据源接收数据文件中的未经编码的原始数据包;
所述数据宿从所述数据源接收一个指示,其中,所述指示表示已发送所述数据文件中的所有原始数据包;
所述数据宿向所述数据源发送一个重传所述原始数据包中的丢失原始数据包的请求,以指示所述数据源仅对丢失的原始数据包进行喷泉编码以生成丢失的原始数据包的喷泉编码包;
所述数据宿从所述数据源接收所述丢失的原始数据包的喷泉编码包。
13.根据权利要求12所述的方法,其特征在于,发送所述重传请求在接收所述完成发送所述数据包的指示之后延迟一个时间段。
14.根据权利要求13所述的方法,其特征在于,所述时间段根据所述数据宿接收所述数据包的速率和剩余数据的量来计算。
15.根据权利要求12所述的方法,其特征在于,所述接收所述丢失的原始数据包的喷泉编码包包括接收喷泉码,所述接收喷泉码包括接收可能喷泉码的一个子集。
16.根据权利要求15所述的方法,其特征在于,所述子集是对所有所述丢失数据包解码所需的最小量的喷泉码。
17.一种提供按需文件修复的网络数据源,其特征在于,所述网络数据源包括:
处理器;
非瞬时性计算机可读存储介质,存储由所述处理器执行的程序,所述程序包括执行以下操作的指令:
向数据宿发送数据文件中的未经编码的所有原始数据包;
向所述数据宿发送一个完成发送所述所有原始数据包的一个指示;
从所述数据宿接收一个重传所述所有原始数据包中的丢失原始数据包的请求;
对丢失原始数据包进行喷泉编码以生成丢失的原始数据包的喷泉编码包;
向所述数据宿所述丢失的原始数据包的喷泉编码包。
18.根据权利要求17所述的网络数据源,其特征在于,所述用于接收所述重传请求的指令还包括在发送所述完成发送所述所有数据包的指示之后等待一个时间段。
19.根据权利要求18所述的网络数据源,其特征在于,所述时间段根据所述数据宿接收所述数据包的速率和剩余数据的量来计算。
20.根据权利要求17所述的网络数据源,其特征在于,所述发送所述丢失的原始数据包的喷泉编码包包括发送喷泉码,所述所述发送喷泉码包括发送可能喷泉码的一个子集。
21.根据权利要求20所述的网络数据源,其特征在于,所述子集是对所有所述丢失数据包解码所需的最小量的喷泉码。
CN201580073824.4A 2015-01-26 2015-11-12 按需文件修复的方法和*** Active CN107209713B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562107819P 2015-01-26 2015-01-26
US62/107,819 2015-01-26
US14/855,181 2015-09-15
US14/855,181 US10412151B2 (en) 2015-01-26 2015-09-15 Method and system for on-demand file repair
PCT/US2015/060468 WO2016122748A1 (en) 2015-01-26 2015-11-12 Method and system for on-demand file repair

Publications (2)

Publication Number Publication Date
CN107209713A CN107209713A (zh) 2017-09-26
CN107209713B true CN107209713B (zh) 2020-06-16

Family

ID=56432887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580073824.4A Active CN107209713B (zh) 2015-01-26 2015-11-12 按需文件修复的方法和***

Country Status (7)

Country Link
US (1) US10412151B2 (zh)
EP (1) EP3241115B1 (zh)
JP (1) JP6487562B2 (zh)
KR (1) KR102002939B1 (zh)
CN (1) CN107209713B (zh)
BR (1) BR112017016031A8 (zh)
WO (1) WO2016122748A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108631933B (zh) * 2017-03-24 2021-05-18 华为技术有限公司 一种数据传输方法及装置
CN109254950A (zh) * 2018-09-27 2019-01-22 贵州华云创谷科技有限公司 一种基于二维码的隔离网间数据库摆渡方法及***
CN109254955A (zh) * 2018-09-27 2019-01-22 贵州华云创谷科技有限公司 一种基于二维码的隔离网间单向文件摆渡方法及***
CN109714130B (zh) * 2018-11-28 2020-05-15 南通先进通信技术研究院有限公司 一种基于喷泉码的文件传输方法
WO2021028032A1 (en) * 2019-08-14 2021-02-18 Nokia Technologies Oy Improved reliability of multi-connectivity

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416785A (en) * 1991-03-29 1995-05-16 Canon Kabushiki Kaisha Data communication apparatus having memory control in an error correction communication mode
CN101667904A (zh) * 2009-10-19 2010-03-10 上海奇微通讯技术有限公司 基于喷泉码的多合一反馈重传方法
CN102694636A (zh) * 2012-06-15 2012-09-26 北京交大微联科技有限公司 采用喷泉码的harq技术的发送、接收方法及***
CN103078707A (zh) * 2013-01-03 2013-05-01 北京理工大学 一种深空通信中的文件传输方法
CN103973402A (zh) * 2013-02-06 2014-08-06 华为技术有限公司 数据发送方法、接收方法及设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908828A (en) * 1987-12-29 1990-03-13 Indesys, Inc. Method for error free message reception
US6073180A (en) * 1996-03-07 2000-06-06 Nippon Telegraph And Telephone Corporation High-speed batch file transfer method and apparatus, and storage medium in which a program for executing the transfer is stored
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
JP2001218276A (ja) 2000-02-04 2001-08-10 Ntt Docomo Inc 移動通信システムにおけるデータ通信方法及び装置
US6771651B1 (en) 2000-09-29 2004-08-03 Nortel Networks Limited Providing access to a high-capacity packet network
US7010727B1 (en) * 2001-06-15 2006-03-07 Nortel Networks Limited Method and system for negotiating compression techniques to be utilized in packet data communications
US7720043B2 (en) 2002-11-20 2010-05-18 Qualcomm Incorporated Use of idle frames for early transmission of negative acknowledgement of frame receipt
US7050397B2 (en) 2003-07-02 2006-05-23 Nokia Corporation Apparatus, and associated method, for facilitating retransmission of data packets in a packet radio communication system that utilizes a feedback acknowledgement scheme
FI116114B (fi) 2004-01-27 2005-09-15 Nokia Corp Kuittausviestien käsittely päätelaitteessa
EP1847071A4 (en) 2005-01-26 2010-10-20 Internet Broadcasting Corp B V MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS
US7664198B2 (en) 2006-03-21 2010-02-16 Kyocera Corporation System and method for broadcasting data over a wireless network using rateless codes
US7725797B2 (en) 2006-07-07 2010-05-25 Scientific-Atlanta, Llc Buffer for storing data and forward error correction (FEC)
US7877660B2 (en) * 2006-07-07 2011-01-25 Ver Steeg William C Transmitting additional forward error correction (FEC) upon request
EP1901525A1 (en) 2006-09-15 2008-03-19 THOMSON Licensing File repair method for a content distribution system
JP2008079150A (ja) * 2006-09-22 2008-04-03 Canon Inc 通信機器及びデータ転送方法
US7924761B1 (en) * 2006-09-28 2011-04-12 Rockwell Collins, Inc. Method and apparatus for multihop network FEC encoding
JP2008092213A (ja) 2006-09-29 2008-04-17 Sanyo Electric Co Ltd 受信機、パケット再送方法及びプログラム
JP2009152864A (ja) 2007-12-20 2009-07-09 Nippon Telegr & Teleph Corp <Ntt> 送信装置および受信装置およびデータ伝送方法
WO2010117646A1 (en) 2009-04-09 2010-10-14 Motorola, Inc. Retransmission technique for a communication network
WO2011043754A1 (en) * 2009-10-06 2011-04-14 Thomson Licensing A method and apparatus for hop-by-hop reliable multicast in wireless networks
US20110228714A1 (en) 2010-03-02 2011-09-22 Balash Akbari Method and system for retransmission in asm
US20120054583A1 (en) * 2010-08-27 2012-03-01 Raytheon Company Method and system of sub-packet error correction
EP2552042B1 (de) 2011-07-28 2013-03-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Demultiplexen eines paketbasierten Transportstroms
JP2013162199A (ja) 2012-02-02 2013-08-19 Nagoya Institute Of Technology 通信システム及び通信方法
KR101481768B1 (ko) 2013-07-15 2015-01-13 전북대학교산학협력단 랩터 코드 디코딩 장치 및 방법
KR20150017910A (ko) 2013-08-08 2015-02-23 삼성전자주식회사 액세스 포인트 및 복수 개의 단말들을 포함하는 네트워크에서 피드백에 기반하여 멀티캐스트 패킷을 재전송하기 위한 액세스 포인트 및 단말의 통신 방법, 그 액세스 포인트 및 그 단말

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416785A (en) * 1991-03-29 1995-05-16 Canon Kabushiki Kaisha Data communication apparatus having memory control in an error correction communication mode
CN101667904A (zh) * 2009-10-19 2010-03-10 上海奇微通讯技术有限公司 基于喷泉码的多合一反馈重传方法
CN102694636A (zh) * 2012-06-15 2012-09-26 北京交大微联科技有限公司 采用喷泉码的harq技术的发送、接收方法及***
CN103078707A (zh) * 2013-01-03 2013-05-01 北京理工大学 一种深空通信中的文件传输方法
CN103973402A (zh) * 2013-02-06 2014-08-06 华为技术有限公司 数据发送方法、接收方法及设备

Also Published As

Publication number Publication date
EP3241115A4 (en) 2018-03-07
JP6487562B2 (ja) 2019-03-20
KR20170107533A (ko) 2017-09-25
US20160218831A1 (en) 2016-07-28
BR112017016031A8 (pt) 2022-09-20
CN107209713A (zh) 2017-09-26
KR102002939B1 (ko) 2019-07-26
JP2018510531A (ja) 2018-04-12
EP3241115A1 (en) 2017-11-08
BR112017016031A2 (pt) 2018-07-10
US10412151B2 (en) 2019-09-10
WO2016122748A1 (en) 2016-08-04
EP3241115B1 (en) 2021-03-10

Similar Documents

Publication Publication Date Title
EP1346578B1 (en) Method for multimedia communication over packet channels
CN107209713B (zh) 按需文件修复的方法和***
KR102051504B1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
JP4703310B2 (ja) 通信方法および通信システム
US7584404B2 (en) Method and apparatus for multimedia communication over packet channels
KR20150049052A (ko) 데이터 전송 장치 및 방법
KR20150107842A (ko) 다중 경로 스트리밍을 위한 fec-기반 신뢰 가능 전송 제어 프로토콜들
CN103580773A (zh) 数据帧的传输方法及装置
EP2782281A1 (en) Data transmission using rateless coding
US8942084B2 (en) Method of reducing retransmission of data frame and receiving node therefor
US9294227B2 (en) LT staircase FEC code
CN110545161B (zh) 一种具有冗余的多媒体数据实时传输方法
US9455750B2 (en) Source block size selection
CN102752184A (zh) 用于实时多播业务的数据通信***及其方法
EP2858286A1 (en) Rateless decoding
EP3148251B1 (en) Data transmission method and device
US9059847B2 (en) Reliable multicast broadcast in wireless networks
CN109005011B (zh) 一种用于水声网络的数据传输方法、***及可读存储介质
US6981194B1 (en) Method and apparatus for encoding error correction data
Ren et al. Rateless codes based file delivery protocols in deep space communications
WO2015137854A1 (en) Method and devices for providing feedback in a communication system
CN103684718B (zh) 一种差错容忍的网络冗余消除实现方法
CN111200761A (zh) 实时流媒体传输***中一种丢包重传的方法
Chi et al. TCP-Forward: Fast and reliable TCP variant for wireless networks
Baccelli Network Coding Research Group (NCWCRG) C. Adjih Internet-Draft Inria Intended status: Informational SY. Cho Expires: January 16, 2014 Samsung Electronics Co., LTD.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant