CN1735020A - 使用网络编码的内容分发 - Google Patents

使用网络编码的内容分发 Download PDF

Info

Publication number
CN1735020A
CN1735020A CNA2005100980975A CN200510098097A CN1735020A CN 1735020 A CN1735020 A CN 1735020A CN A2005100980975 A CNA2005100980975 A CN A2005100980975A CN 200510098097 A CN200510098097 A CN 200510098097A CN 1735020 A CN1735020 A CN 1735020A
Authority
CN
China
Prior art keywords
node
piece
content
matrix
network
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.)
Granted
Application number
CNA2005100980975A
Other languages
English (en)
Other versions
CN100566257C (zh
Inventor
C·甘特斯蒂斯
P·R·罗德里格兹
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1735020A publication Critical patent/CN1735020A/zh
Application granted granted Critical
Publication of CN100566257C publication Critical patent/CN100566257C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • H04L1/0077Cooperative coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

公开了一种内容分布机制,其依赖于台式PC的配合来分布内容。该机制通过一种强有力的方式分布内容,该方式允许至少一个中间网络节点(即在源和客户之间)产生并发送包,这些包包含有该节点上可用内容的一部分的线性组合。该线性组合可由该源和客户使用至少该原始内容文件的一部分以编码或未编码的形式产生。在该客户收到了足够的包的线性非相关的组合之后,可重新构造出该原始内容。

Description

使用网络编码的内容分发
相关申请的交叉引用
本申请要求2004年2月7日申请的美国临时申请号为60/585212的权益。
背景技术
在今天网络化的计算机环境中,向网络中的节点传输大规模的内容经常是必要的或希望的。用于大规模内容传输的一种机制是一种使用网络编码的内容分布系统。通常,内容分布系统是一个互相连接共同合作的多个节点组成的网络,这些节点使用网络编码将任何类型的数字内容从一个源分发到一个或多个互相连接共同合作的节点。典型的内容分布系统首先必须构建一个有效的拓扑覆盖,然后通过该拓扑安排信息传送规程,以使所有节点均匀的共享该分发的内容。
许多因素可以影响典型的内容分布系统的效率。首先,随着在该拓扑覆盖中的节点数目的增长,该典型的内容分布系统的效率会降低。其次,由于网络种类更加不同,特别是每个独立节点的带宽容量不同,该典型的内容分布系统的效率会降低。第三,由于执行了避免或减少“寄生”节点这一作用的设计机制,该典型的内容分布系统的效率会降低。寄生节点在网络上不进行协作,并且被修改为在网络上仅执行接收,因而对于其它使用节省了上载容量。
发明内容
这篇概要仅以简单的形式进行了一般性的介绍,读者可在以下描述的详细说明中选择一种或多种方式。这篇概要的目的不是确定所要求的主题的关键点和/或要求的特征,其目的也不是用于确定所要求主题的范围。
在此揭示了多种用于在内容分布网络中提供快速的和可升级的内容分布的技术。
依照在此描述的一些技术,数字内容(例如文件)可被首先分为N块内容,其可以编码也可以不编码。然后该N块中的一块或多块可在网络上互相协作的多个节点中进行分发。
该内容分布网络的任何协作节点上的被分发的内容块可被编码为编码数据包。该内容分布网络的协作节点上的编码数据包可包括关于在那个特定的协作节点上接收到的被分发的内容块的信息。进一步,在那个特定的协作节点上的编码数据包也可以包括关于其它编码数据包的信息。因而,当在下游的接收节点上重新构造该数据内容时,一个编码数据包可用来代替任何分发的N块内容。
换句话说,客户寻求下载该被分为N块内容的数字内容的至少一个拷贝,可从内容分布系统的多个协作节点中的任意一个上下载该N个块的N个编码代表,而不需要从该源节点或该网络的节点的任意的组合中来定位并下载原始的N块内容。
附图说明
通过依照下面描述的附图的详细说明,本发明将会被更好的理解。
图1显示了一个内容分布网络环境,其中可执行使用网络编码的内容分布的例子。
图2显示了一个内容分布网络环境,其中也可执行使用编码的内容分布的例子。
图3显示了从一个接收机的角度观察,使用网络编码的内容分布的一个处理流程的例子。
图4显示了从一个发送机的角度观察,使用网络编码的内容分布的一个处理流程的例子。
图5显示了一个系统的例子,其中使用网络编码进行内容分发。
具体实施方式
在此揭示了多种用于促进在计算机网络中的数据内容的传输的技术。
依照在此描述的各种实施例,源节点存储的一个文件或数字内容块被多个接收节点共享,该源节点可与在该网络上的管理业务进行通信以宣告该文件或数字内容块是可用的。在开始下载或分发该文件或数字内容块以前,该文件(或者通常是数字内容块)的源节点可将该文件(或数字内容块)分为预定大小的预定数目的块,并向网络上的任意一个管理业务、该网络上的一个不同业务、可下载该内容的网络上的接收节点、或者另外能够发现该内容有用的网络上的任何其它节点提供该信息。
一旦该源节点已经宣告了该文件或数字内容块对于下载或分发是可用的,网络上的接收节点可与管理业务通信并且选择用于下载的文件或数字内容块。在至少一个使用网络编码的内容分发的实施中,当接收节点已经选择了要下载的文件或数字内容块时,该接收节点可与网络上的管理业务通信以了解将从该源节点接收该分发的文件或数字内容块的至少一部分的其它接收节点。
当该源节点已经完成了将该文件或原始的数字内容块分为预定数目的块时,该源节点然后可以通过选择依照已被选择来编码这些块的一个数学系统的一组数学修改来对这些块进行编码。这个选择出的数学系统可将该块、文件或数字内容块视为一个等式中的变量,并且进一步将该编码过的块视为该等式的解。未经过编码的块也可以以同样的方式被使用,并且同样也可以包括在该具有编码块的数学系统中。例如,未编码的块可被认为是一个原始块和没有别的块的线性组合。进一步,该源节点可以选择仅编码该文件的个别区域,对其它区域不编码。
因而,一旦接收节点已经接收到了足够的编码或未编码的块以及它们的相应的数学修改,该接收节点就可以求解该等式系统以得出该变量(即块)的值。任何具有在此揭示的性质的数学系统都可被使用,因此在此描述的执行方法不是限制性的。
当该源节点已经对该原始数字内容的至少一个块进行了编码时,该源节点可以开始向接收节点分发一个或多个块。在至少一个可选择的使用网络编码的内容分发的实施方式中,接收节点可以不发送对于个别块的请求,而该接收节点可发送一个请求以接收一组数学修改。进一步,一旦该接收节点接收到了所请求的数学修改,该接收节点然后就可以依照该数学系统执行计算以确定该数学修改是否提供了对于求解该数学系统有帮助的附加信息。最后,在确定了该数学修改包括有在求解该数学系统中有帮助的附加信息之后,该接收节点可向源节点发送一个请求以发送与该组数学修改相关的编码块。
此外,在使用网络编码的内容分发的至少一个其它的实施方式中,一旦接收节点(称为R)接收到了任意数目的块,该接收节点(R)然后作为与在该内容分布系统中的源节点功能类似的发送节点进行操作。例如,在从其它接收节点(G)接收到请求后,该接收节点(R)可作为一个源节点服务,通过在接收节点(R)上以与那些最初编码这些块的源节点所使用的相似方式重新编码这些块。
在接收到最小数目的块和数学修改后,接收节点可以开始求解该数学系统以对接收到的块进行解码。求解该数学系统可以使用编码和未编码的块的任意混合开始,并且可以在收到了全部组的块之前开始。一旦该块已经被解码并重新产生了原始块,接收节点可组合该解码后的块以产生一个原始文件或数字内容块的拷贝。
图1显示了计算机网络100的例子,包括多个互相连接的网络节点,其中可以实现使用网络编码的内容分发的一个或多个例子。
如在此使用的,术语“节点”可代表在网络100中任意的计算机系统、装置或者可唯一寻址或可唯一标识的处理,其可操作来与网络100上的其它节点通信。例如,非限制性的,节点可以是一个个人计算机、一个服务器计算机、一个手柄或者便携式电脑装置、一个写字板装置、一个多处理器系统、一个基于微处理器的系统、一个机顶盒、一个用户电子装置,一个网络PC,一个小型计算机、一个大型计算机、一个包括以上任何系统或装置的分布式计算机环境等等。
如果网络100上的节点包括一个计算机系统或者一些形式的处理装置,该节点可典型的包括一个处理器、一种或多种形式的计算机可读媒体、和一个或多个通信连接,这些通信连接允许该节点有效的连接到网络100。在此使用的计算机可读媒体可以是能够存储或执行能够被编码为可由计算机访问和理解的信息的任何媒体。典型形式的计算机可读媒体非限制性的包括易失性的或非易失性的的存储器、包括可移动和/或不可移动的媒体的存储装置、和通信媒体。
通信媒体可将计算机可读信息实现为调制数据信号,例如载波或其它传输机制,并且可以包括任意的信息传输媒体。术语“调制数据信号”可代表具有一个或多个可按照在信号中的编码信息的方式进行设置或改变其特征的信号。通过该非限制性的例子的方式,通信媒体包括诸如有线网络或直接连线链接媒体,也包括诸如声音、RF、红外线和其它无线媒体的无线媒体。
在此描述的关于网络100上的个别节点的功能可由该节点本身执行,或者由该节点与一个或多个可包括在内或者与该节点相关的其它模块合作执行,或者通过多个子模块执行。例如,在使用网络编码的内容分发的至少一个实施方式中,由网络100上的一个节点或模块执行的操作可由实现为一个或多个计算机可读媒体的计算机可执行的结构操作。在这些操作中,该节点或模块的操作可由在该节点中的一个或多个处理器执行,该模块包括在该节点中或与该节点相关。在其它操作中,节点的操作可以以硬件、固件、或某种硬件、固件和软件的结合的方式执行,其可以是该节点的一部分,也可以是与节点在某些形式上相关,该模块包括在该节点中或与之相关。此外,在此描述的关于个别节点的功能可以通过或分布到多个节点执行。
参考图1,通过考虑源110将分发内容A 180到网络100的成员节点这一实施例,使用网络编码的内容分发可进一步得到解释。尽管内容A 180可以是任意类型或大小的文件,为了举例,假设内容A 180仅由两个数字比特组成,其中包括一个二进制位0和一个二进制位1。
根据至少一个实施例,源110可将内容A 180分为包括一个二进制位0的块B 190和包括一个二进制位1的块C 200。进一步,源110可将块B 190发送到节点1 120,并且也可以将块C 200发送到节点2 130。节点1 120可将块B 190发送到节点3 140和节点5 160。节点2 130可将块C 200发送到节点3 140和节点6 170。
接收到块B 190和块C 200后,节点3 140然后可以衡量向节点4 150发送块B 190和块C 200的效率。这个效率的确定可以考虑节点3 140可能不知道节点4 150可被连接到的任何其它节点或者不知道节点4 150被连接到的节点的任何数据,这些数据可被要求来重新构造内容A 180。
由前述的效率确定导出的一个假想的例子可以设想为节点3 140将块B 190发送到了节点4 150。节点4 150然后可将有用的信息仅发送到节点6 170,并且节点5 160必须等待接收块B 190以重构内容A 180。另一个想象的例子可以设想为节点3 140将块C 200发送到了节点4 150。节点4 150然后将有用的信息仅发送到了节点5 160,并且节点6 170必须等待接收块B 190以重构内容A 180。
尽管如此,使用网络编码的内容分发的至少一个实施方式包括节点3 140编码块B 190和块C 200以形成块D 210,其然后被发送到节点4 150。例如,节点3 140可在节点3 140上对与块B 190和块C 200相应的信息执行异或操作以产生块D 210。结果,块D 210可包括二进制位1,其是二进制位0(相应于块B 190)和二进制位1(相应于块C 200)的异或。
节点4 150然后可将块D 210发送到节点5 160和节点6 170。进一步,通过在块D 210上执行一个解码功能,与块B 190和块C 200相应的信息被恢复,块D 210对于节点5 160和节点6 170重构内容A 180是同时有用的。
换句话说,节点5 160已经从节点1 120接收到了块B 190。然后,从节点4 150接收到了块D 210并且得知了用于产生块D 210的编码方案,节点5 160可以对块D 210执行一个解码功能以在没有实际接收到块C 200的情况下计算出与块C 200相应的信息。从而,节点5 160可以利用与块B 190和块C 200相应的信息依照使用网络编码的内容分发的至少一个执行方式重构出内容A 180。
同样的,节点6 170已经从节点2 130接收到了块C 200。然后,从节点4 150接收到了块D 210并且得知了用于产生块D 210的编码方案,节点6 170可以对块D 210执行一个解码功能以在没有实际接收到块C 200的情况下计算出与块B190相应的信息。从而,节点6 170可以利用与块B 190和块C 200相应的信息重构出内容A 180。
使用网络编码的内容分发的一个或多个实施方式可进一步提供一个终端系统内容分布解决方案,其有效的利用网络资源以向客户节点提供来自多个网络路径的信息块。该资源的有效利用可包括向网络100上的一个或多个节点提供网络100上其它节点的安排和定位的预先的了解,和网络100上的这些节点将分发原始块和节点将分发编码块的预先了解。因而,使用网络编码的内容分发可随着网络大小的增长和网络上在线和离线之间转换的节点的增多而相应的平均。
例如,当源节点向接收节点发送一个块时,该源节点可产生并发送一个在该源节点上可用数据的线性组合。该线性组合可包括一个异或操作。因而,当接收节点接收到多个块的足够的线性非相关组合时,该接收节点之后就可以通过求解线性等式系统来解码该接收到的线性组合,从而重构出原始的数字内容。
进一步,为了减小传输的浪费,网络100上的节点可尽力仅发送那些对网络100上的其它节点具有新信息的块,尽管对于依照在此描述的实施例有效的执行内容分布来说并不需要绝对的适应这个要求。这个有效的传输可由网络100上的节点完成,这些节点周期性的交换有关本地存储在网络100上的各个节点上的块的信息。该周期性的信息交换可发生在网络100上的节点中的一个独立节点确定了本地存储的信息对于另一个节点重构出原始数字内容的至少一部分是有用的之时。
上述的周期性的信息交换可通过在网络100上的一个或多个中央服务器上存储该信息的方式执行。各个节点然后可以访问一个中央服务器以确定网络100上的其它节点中的哪一个存储有包含新信息的块。可选的,分散结构可被用来直接与网络100上的其它节点通信以交换关于存储在各个独立节点上的块的信息。进一步可选的,可以执行以上所讨论的方法的全部或部分的组合。
因而,当网络100上的一个独立节点得知了存储在网络100上的其它节点上的块所包含的信息时,该独立节点可要求其它节点仅传输该独立节点现在缺少的信息(即新信息)。可选的,网络100上的一个独立节点可随机的产生新块并将这些新块推入到网络100上的其它节点,而不管其它节点是否已经确定了该独立节点本地存储有新信息。适应性的,独立的接收节点可以丢弃任何被确定为对于该独立接收节点不包含新信息的包。
图2显示了计算机网络200的实施例,其中可执行使用网络编码的内容分布的一个或多个实施例。计算机网络200可包括与图1相似的方式互相连接的多个节点。
使用网络编码的内容分发的一个进一步的实施例可通过考虑一个假想的例子来解释,其中源210将通过网络200分发,原始的内容文件包含六个字节(即字节1-6)。进一步,该假想的例子可假设该样值:字节1=70,字节2=91,字节3=5,字节4=35,字节5=22,字节6=15。
通过这个例子,源210可从原始内容文件产生多个块,每个块可包括来自原始内容文件的两个连续的字节。例如,源210可产生:包括字节1和字节2的块1;包括字节3和字节4的块2;和包括字节5和字节6的块3。
源210然后可使用一组系数向量来对块1、块2和块3进行线性组合以将块1、块2和块3编码为一个单独的编码块。该系数向量可由源210任意选择,根据一个设定方案选择,从该网络上的一个该信息的中心库选择,或者通过任何能够产生一组可用的系数向量的方法选择,以对块1、块2和块3进行线性编码。
为了描述该实施例,源210可从1到256之间的一组数字中任意的选择系数向量。从中选择系数向量的该组数目的设定可以是任意的数目设定,例如,设定一组可产生在该内容分布系统中的线性非相关的系数向量的最大数的数目。例如,在准备该编码块中,源210可将第一个系数向量选择为6,90和52。为了产生该编码块,源210可将该块中的单个的字节视为一个向量。尽管如此,源210可对在每一个块1、块2和块3中的信息按照产生一个包含信息的新块一致的任意方式进行线性编码,新块包含的信息是存储在原始块中信息的线性组合。在这个实施例中,第一个编码块称为e1,其通过由该向量中的每一个值乘以该系数向量产生。
例如,使用第一个系数向量[6,90和52]和字节值字节1=70,字节2=91,字节3=5,字节4=35,字节5=22,字节6=15,源210可产生 e 1 = 6 70 91 + 90 5 35 + 52 22 15 . 执行乘法的结果为 e 1 = 420 546 + 450 3150 + 1144 780 . 执行加法的结果为 e 1 = 2014 4476 . 源210然后可将新的编码块e1和该系数向量[6,90和52]发送到节点1 220。
源210然后可以使用一个新的系数向量通过重复用于产生e1的操作来产生一个新的编码块e2。例如,使用另一个系数向量[18,2和128]和字节值字节1=70,字节2=91,字节3=5,字节4=35,字节5=22,字节6=15,源210可使用与上面相同的方法产生编码块e2。在这个例子中, e 1 = 4086 3628 . 源210然后可将该新的编码块e2和系数向量[18,2和128]发送到节点2 230。
节点1 220然后可以获悉拥有网络200上其它节点的线性编码块的线性非相关,从而进一步确定该块是否包含有节点1 220可用于解码该编码块和恢复出原始内容文件的新信息。从而,节点1 220然后可以向节点2 230发送一个询问以请求节点2 230发送信息,节点1 220可使用该信息确定在节点2 230当前正处理的块中的编码信息的线性非相关。
节点2 230可使用任何方式来产生可使节点1 220确定在该编码块中的信息的线性非相关的信息。例如,节点2 230可在节点2 230上产生当前的各个系数向量的一个线性组合以产生一个主系数向量。在这个例子中,具有系数向量[18,2和128]的编码块e2当前在节点2 230上,因此节点2 230可不需要执行上述的线性组合。因此,节点2 230可将系数向量[18,2和128]发送到节点1 220。
节点1 220可从节点2 230接收系数向量[18,2和128],搜寻以确定该接收到的系数向量关于节点1 220当前正在处理的块的系数向量的线性非相关。任何结果能使节点1 220确定从节点2 230接收到的系数向量的线性非相关的数学操作都可以被使用。
例如,节点1 220可将从节点2 230接收到的系数向量[18,2和128]设置成一个矩阵,并产生该矩阵的行化简形式。节点1 220然后可以分析在该矩阵的行化简形式中非零行的数目以发现该矩阵的阶。各个矩阵的阶表示各个矩阵中线性非相关行的数目。在当前的例子中,通过将接收到的系数向量添加到该矩阵并计算该矩阵的阶,节点1 220就确定了节点1 220当前正在处理的线性等式系统的解的数目。
例如,节点1 220可计算该矩阵的阶,该矩阵是使用节点1 220已经处理的编码块的该组系数向量形成的。节点1 220可通过在该矩阵上执行行化简来计算阶1。用于计算一个矩阵的阶的行化简是公知的数学运算。因而,在节点1 220上计算矩阵的阶不限于任何特殊的方法。
从而,矩阵(6 90 52)的行化简形式是(1 15 8. 6),在该行化简矩阵中非零行的数目是1,因此,该矩阵的阶是1。
进一步,现在节点1 220可使用节点1 220已经处理的块的系数向量和从节点2 230接收到的系数向量形成一个新的矩阵,在该实施例中应为
Figure A20051009809700121
一旦节点1 220形成了该新矩阵,节点1 220可计算该新矩阵的阶。
从而,该矩阵的行化简形式是
Figure A20051009809700122
进一步,该矩阵中非零行的数目是2,因此该矩阵的阶是2。节点1 220例如可将第二个矩阵的阶(即2)和第一个矩阵的阶(即1)进行比较,确定出第二个矩阵的阶更大,因此节点2230处理的信息是线性非相关的。节点1 220可向节点2 230发送一个请求以发送该块,或发送使用该被发送的系数向量所产生的块,节点1 220使用它们执行上述计算。
在这个例子中,当节点1 220执行上述计算时,节点2 230可以从源210进一步接收一个附加的编码块。例如,源210可选择另一个系数向量[213,91,159]来编码等于 的一个新块e3,然后将块e3和用于产生e3的系数向量发送到节点2 230。
节点1 220可向节点2 230发送一个新的请求来确定节点2 230是否处理了任何与节点1 220当前正在处理的信息线性非相关的信息。节点2 230可在此准备一个主系数向量,该主系数向量可由节点2 230处理的所有编码块的系数向量(即e2和e3)与系数向量[18,2和128]和[213,91,159]的线性组合产生。节点2 230可通过产生上述系数向量的线性组合来准备主系数向量,从而产生一个新的系数向量[231,93,287],节点2 230然后将其发送到节点1 220。
节点1 220可接收新的系数向量[231,93,287]并确定该新的系数向量是否与节点1 220当前处理的系数向量线性非相关。节点1 220已经存储了使用块e2和块e3的系数向量形成的矩阵的阶(即2)的最后的计算结果。节点1 220例如可使用该块e2和块e3的系数向量与从节点2 230接收到的新系数向量组合来产生一个新的矩阵,矩阵的结果为
Figure A20051009809700131
从而,该矩阵的行化简形式为
Figure A20051009809700132
由于该矩阵中非零行的数目是3,因此该矩阵的阶是3。节点1 220可将该新矩阵的阶(即3)与先前矩阵的阶(即2)进行比较,确定出该新矩阵的阶大于先前矩阵的阶。因此,节点1 220可确定节点2 230处理的信息与节点1 220处理的信息是线性非相关的。节点1 220然后可向节点2 230发送一个请求,以使用传送到节点1 220的系数向量对节点2 230产生的编码块进行重新编码。
节点2 230可使用任何方法来产生一个新的编码块,该编码块与从源210接收到的原始编码块有关的所发送的线性非相关信息一致。例如,节点2 230可产生e2和e3的和来产生一个新的编码块e4,e4可等于
Figure A20051009809700133
节点2 230现在可将块e4发送到节点1 220,并且不需要进一步发送用于产生块e4的系数向量,因为该系数向量被发送到了节点1 220执行计算。
例如,节点1 220可已经从节点2 230接收到了块e4,并且节点1 220可确定已经接收到了足够的编码块来开始对该编码块解码。节点1 220然后可求解由节点1 220处理的编码块表示的线性等式系统,以确定在源210处理的原始的未编码块中的向量值。节点1 220可使用任何适当的方法来求解该线性等式系统以确定存储在该原始的未编码块中的向量值,并且不限于节点1 220可执行计算的这种方式。
例如,e1等于具有系数向量[6,90,52]的
Figure A20051009809700134
e2等于具有系数向量[18,2,128]的 e4等于具有系数向量[231,93,287]的 为了求解该线性等式系统以得出在原始块中的向量值,节点1 220可设置变量来代表每一个未编码的块。例如,节点1 220可设置变量x来代表第一个未编码的块,可设置变量y代表第二个未编码的块,可设置变量z代表第三个未编码的块。因此,节点1 220可将该线性等式系统中的第一个等式确定为 6 x + 90 y + 52 z = 2014 4476 ,
Figure A20051009809700142
代表编码块e1,第二个等式为 18 x + 2 y + 128 z = 4086 3628 ,
Figure A20051009809700144
代表编码块e2,第三个等式为 231 x + 93 y + 287 z = 22949 28581 , 代表编码块e4
节点1 220然后可使用任何方法来求解该线性等式系统,通过求解该等式确定x(即未编码的块1)等于
Figure A20051009809700147
确定y(即未编码的块2)等于
Figure A20051009809700148
并进一步确定z(即未编码的块3)等于
Figure A20051009809700149
节点1220可解释这些变量并重新产生原始文件的字节结构。节点1 220可使用任何方法依照当前实施例的这个形式解释这些变量来重新产生原始文件。
尽管图2中使用的例子利用了某种简化,很显然可以使用不同的选择来替代执行。例如,交换有关用于编码包的系数的替代实施例可设想为发送重新编码的块,而不必预先确定该重新编码的块是否包含有新信息,或者根本不必交换信息。同样,尽管所有接收到的信息都用于产生新的编码块,也可以使用其中的一个子集。其它的替换或者选择也可以被使用,诸如依赖于特殊应用的特殊编码方案。
进一步,尽管图2中使用的实施例为了说明的目的使用了一个实际数目的系统执行,该实施例也可以使用任何数学数目的系统执行,例如,有限域或伽罗瓦域。
图3显示了示例性的在内容分布网络中作为接收机的一个节点是如何操作的处理流程300。
操作310可代表节点获得关于存在于网络上的一个独立节点的信息。回过头来参考有关图2例举的实施例,块信息可表现为一组用于重新编码该块的系数的形式。尽管如此,块信息也可以表现为能够给出该块内容的指示的任何形式或结构,并且块信息也可以以与该网络的容量、该网络上的节点等一致的任何方式被获得。例如,块信息可从网络上的另一个节点直接获得,该块信息可从该网络上的这些信息的一个中央库获得,或者该节点已经接收到了该块并且已经检查了该块以确定该信息。
选择320可代表该节点确定该块信息是否指示该块包含有在重构原始内容的至少一部分中有帮助的新信息。对于该节点的新信息例如是该节点当前没有处理的一整块或一块的一部分。这个确定例如可表现为使用该块信息执行一个计算的形式。可选的,使用该可返回该块中的信息是否是新的这一指示的块信息的任何操作都可被使用。例如,在关于图2的实施例中,可确定通过计算矩阵的阶来实现。
操作330在选择320的肯定支之后,涉及该块被转换为中间块存储器,其可包括物理存储器、硬盘驱动器、非易失性闪存等。一旦操作330完成,程序流程继续到选择块340。
选择340在选择320的否定支和操作330之后,可代表确定对于重新装配原始文件内容必要的最小数目的块是否已经被接收。该对于重新装配原始文件内容必要的块的最小数目可以为N,其是该原始文件内容被分成的块的数目。响应于否定确定,处理流程300可返回到操作310以进一步对块进行处理。响应于肯定选择340,处理流程300可进行到操作350。
操作350可涉及一个操作,其中多个存储在中间块存储器中的编码块被解码以产生组成该文件的原始块的全集或子集。块的解码可表现为,其中解码操作的结果是由在该内容分布网络中的该文件的源产生的原始块组。处理流程300然后可进行到操作360。
操作360可代表通过操作350中的解码操作产生的原始块组被合并以重新装配出原始内容文件。原始块可被重构以形成原始内容的方法都可被使用。
图3中涉及的操作的顺序和时序仅作为一个例子提供。在可替代的实施中,该操作的顺序和时序都可被改变。例如,如果足够的编码块已经被接收,操作350可置于操作310之后以开始解码至少一个编码块。
图4显示了示例性的在内容分布网络中作为发送机的一个节点是如何操作的流程400的例子。
操作410可涉及,发送机持有多个块,该多个块包含有对于解码在该内容分布网络中的另一个节点上的另一个块或另一组块有帮助的新信息。该确定可在该发送机本地上,在网络上的另一个节点上,在负责该操作的一个中央节点上,或者在任何其它合适的位置上发生。确定该块是否包含有新信息可引起该新信息和其它信息的一个线性组合,该其它信息在发送节点上被分发到该内容分布网络上。
操作420可涉及该发送器重新编码一个或多个本地块以产生一个新的编码块。该重新编码可包括一个操作,该操作为在该发送器上组合本地存储的任何数目的块以产生一个可被该内容分布网络上的另一个节点使用的新块。
操作430可涉及发送在操作420上产生的该新的编码块。该新的编码块可依照当前实施例的方式进行发送,但其发送不限于这种方式。
操作440是可选的,其涉及如果用于重新编码该块的信息没有被编码到新的编码块中,发送器选择来在一个单独的步骤进一步发送用于重新编码该块的信息。该块编码信息可依照当前实施例的形式发送,但其发送并不限于这种方式。
图4中涉及的操作的顺序和时序仅作为一个例子提供。在可替代的实施中,该操作的顺序和时序都可被改变。例如,块420可采取重新编码新块,这些新块对于接收节点和所有与该接收节点相连的节点是有用的。在这种方式中,该接收节点可以产生对那些除了与该节点直接通信的节点之外的节点有用的块。
图5显示了在内容分布网络中节点500的例子。
网络管理器510可使节点500与该内容分布网络中的其它节点、服务器、装置等进行通信。网络管理器510可发送和接收包或信息块,发送或接收请求以执行任何类型的操作,或者发送和接收节点500使用的其它信息以加入该内容分布网络。
在与内容分布网络上的其它节点的通信中,网络管理器510可以校正发送期间的错误,延缓和恢复向该内容分布网络上的其它节点、服务器、装置等的信息发送,并可进一步验证节点500是否被允许加入该内容分布网络。再进一步,网络管理器510可验证该编码块的合法性或真实性。
网络管理器510可通过例如一个应用程序接口(API)、一个通过网络的远程程序呼叫与内容管理器520通信。根据当前实施例的方式,网络管理器510可发送块、有关存储在网络的其它地方上的块的信息、或者内容管理器520可请求来用于使节点500加入该内容分布系统的信息。
内容管理器520可从网络管理器510接收由发生源将原始文件内容所分割成的那些块的数目和大小。内容管理器520可进一步从网络管理器510接收使用网络管理器510所发送的块,将接收到的块提交给编码块存储器540,对那些未被完整接收的块或那些已被确定包含有错误或破坏的块中止存储,并且将那些存储在编码块存储器540中的块转移到网络管理器510和文件管理器530。
内容管理器520也可以执行至少一个计算已确定该内容分布网络中的一个节点是否包含有新信息,这个新信息对于该节点在将原始块解码成由该内容分布网络上的一个原始节点所分割的原始文件内容中是有用的。如果内容管理器520确定了该内容分布网络中的一个节点包含有新信息,内容管理器520可与网络管理器510通信并发出一个请求已接收该块,对于该包含有新信息的节点发送一个请求以重新编码该信息并发送该信息,或者对于内容管理器520发送另一个请求以使该节点加入该内容分布网络。
进一步,内容管理器520也可以执行至少一个代表该内容分布网络上的另一个节点的计算,以确定该节点是否包含有对于该内容分布网络上的另一个节点是新的信息。
内容管理器520可进一步使用一种方法对存储在编码块存储器540中的块重新编码,以使该节点产生对于该内容分布网络中的其它节点有用的编码块或使该节点按照当前实施例的方式加入该内容分布网络。
在编码块存储器540中的块的删除,在编码块存储器540中的存储器管理,以及任何可导致编码块存储器540的最佳操作的操作都可通过内容管理器520执行。
内容管理器520也可以确定何时编码块的数目对于解码这些块并恢复已被接收并存储在编码块存储器540中的原始文件是必要的。在作出该确定之后,内容管理器520可对该编码块进行解码并将每一个解码出的块转移到文件管理器530。
文件管理器530和内容管理器520可例如使用一个应用程序接口(API)或一个通过网络的远程程序呼叫进行通信。文件管理器530可从内容管理器520接收多个未编码的块并组合多个未编码的块以产生一个由该内容分布网络中的一个原始节点发送的原始文件内容的拷贝。
一旦内容管理器530组合了该未编码的块并产生了原始文件内容的拷贝,文件管理器530可与文件系统550通信以将原始文件的拷贝提交到文件系统550的存储容量中。文件系统550可表现为一个硬盘驱动器,一个网络共享,非易失性可移动存储器,或者任何能够按照当前实施例的方式存储该原始文件拷贝的物理存储介质。文件管理器530可进一步与一个操作系统、一个组件、一个应用程序接口(API)、或者任何存储代表该文件管理器530的原始文件的拷贝的其它装置通信。
尽管在附图中已经例举并在之前的详细说明中描述了系统和方法的一些特殊执行方式,可以理解该所显示和描述过的系统和方法并不限于该描述过的特殊的执行方式,而能够在不偏离下述权利要求所阐述和定义的精神的情况下有多种调整、修改和置换。

Claims (20)

1.一个或多个计算机可读媒体,其包含有一个或多个可执行指令,当对这些指令进行读取时,可引起一个或多个处理器进行:
向节点请求以对一个或多个块重新编码,从而产生一个或多个编码块;以及
接收所述一个或多个编码块。
2.如权利要求1的计算机可读媒体,其中所述一个或多个块是被预先编码过的。
3.如权利要求2的计算机可读媒体,其中所述一个或多个块被线性编码。
4.如权利要求1的计算机可读媒体,其中该节点在文件中发送这些块的大小和块的数目。
5.如权利要求1的计算机可读媒体,进一步包括一个或多个指令,当对这些指令进行读取时,可引起所述一个或多个处理器在请求该节点编码所述一个或多个块之前,接收用于对所述一个或多个块进行编码的信息。
6.如权利要求5的计算机可读媒体,进一步包括一个或多个指令,使得所述一个或多个处理器进一步利用一种计算的结果来确定是否应该向该节点发布请求来对所述一个或多个块重新编码,其中,所述计算使用了所述用于编码所述一个或多个块的信息。
7.如权利要求6的计算机可读媒体,进一步包括一个或多个指令,当对这些指令进行读取时,可引起所述一个或多个处理器进一步基于该计算的结果选择丢弃所述一个或多个编码块。
8.如权利要求1的计算机可读媒体,进一步包括解码所述一个或多个编码块。
9.一种方法,包括:
从节点接收系数;
从一个或多个现有的系数矢量确定该系数矢量是否是线性无关的;以及
请求该节点重新编码一个或多个编码块以产生新的编码块。
10.如权利要求9的方法,进一步包括请求该节点转发该新的编码块。
11.如权利要求9的方法,其中该确定步骤进一步包括使用所述一个或多个现有的系数矢量产生第一矩阵。
12.如权利要求9的方法,其中该确定步骤进一步包括:
使用所述一个或多个现有的系数矢量产生第一矩阵;以及
使用所述系数矢量和所述一个或多个现有的系数矢量产生第二矩阵。
13.如权利要求12的方法,其中该确定步骤进一步包括:
计算该第一矩阵的阶,以及
计算该第二矩阵的阶。
14.如权利要求12的方法,其中该确定步骤进一步包括:
计算该第一矩阵的阶,以及
计算该第二矩阵的阶,
其中该请求步骤进一步包括如果该第二矩阵的阶大于该第一矩阵的阶,则请求该节点重新编码所述一个或多个编码块。
15.如权利要求9的方法,进一步包括解码所述一个或多个编码块,并从所述一个或多个编码块中的每一个产生一个或多个解码块。
16.如权利要求15的方法,进一步包括组合所述一个或多个解码块以产生文件。
17.如权利要求15的方法,其中该解码包括求解一组线性等式,所述线性等式是使用与所述一个或多个编码块相关的数据形成的,并且当所述一个或多个编码块已被接收时开始所述求解。
18.一种系统包括:
用于接收请求的装置;
用于产生主系数的装置,该主系数包括用于对文件的一个或多个划分块进行编码的每个系数向量的线性组合;
用于从所述一个或多个块产生新的编码块的装置;和
用于发送该新的编码块的装置。
19.如权利要求18的系统,进一步包括用于发送该主系数向量的装置。
20.如权利要求18的系统,其中该用于产生新的编码块的装置进一步包括用于对所述一个或多个块进行线性组合的装置。
CNB2005100980975A 2004-07-02 2005-06-30 使用网络编码的内容分发方法和系统 Expired - Fee Related CN100566257C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58521204P 2004-07-02 2004-07-02
US60/585,212 2004-07-02

Publications (2)

Publication Number Publication Date
CN1735020A true CN1735020A (zh) 2006-02-15
CN100566257C CN100566257C (zh) 2009-12-02

Family

ID=34979160

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100980975A Expired - Fee Related CN100566257C (zh) 2004-07-02 2005-06-30 使用网络编码的内容分发方法和系统

Country Status (5)

Country Link
US (1) US7756051B2 (zh)
EP (1) EP1612982B1 (zh)
JP (1) JP4726557B2 (zh)
KR (1) KR101153124B1 (zh)
CN (1) CN100566257C (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010000147A1 (zh) * 2008-07-03 2010-01-07 华为技术有限公司 一种随机线性网络编码的方法、装置和系统
CN101174955B (zh) * 2006-10-30 2010-04-21 华为技术有限公司 共享内容传输方法和系统以及内容源端、内容接收端
CN101267450B (zh) * 2008-03-18 2011-01-19 上海大学 基于网络编码的分布式网络应用层组播路由方法
CN101217489B (zh) * 2008-01-10 2011-05-04 复旦大学 具有网络编码功能的路由器和基于网络编码的组网方法
CN102065289A (zh) * 2010-09-09 2011-05-18 西安电子科技大学 基于网络编码的可靠性视频传输方法及装置
CN101540778B (zh) * 2008-03-19 2014-09-03 华为技术有限公司 一种数据传输的方法、装置和系统
WO2015143604A1 (zh) * 2014-03-24 2015-10-01 华为技术有限公司 一种通信设备、方法及系统
CN106160922A (zh) * 2015-04-02 2016-11-23 中兴通讯股份有限公司 数据发送方法、解码方法及装置
CN107517390A (zh) * 2016-05-26 2017-12-26 上海云熵网络科技有限公司 基于网络编码与内容分布网络的串流视频的处理系统与方法

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1728373B1 (en) * 2004-03-22 2018-01-03 Codemate A/S Distribution method, preferably applied in a streaming system
US8140849B2 (en) * 2004-07-02 2012-03-20 Microsoft Corporation Security for network coding file distribution
US7743253B2 (en) * 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
EP1801720A1 (en) * 2005-12-22 2007-06-27 Microsoft Corporation Authorisation and authentication
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
US7680937B2 (en) 2005-12-22 2010-03-16 Microsoft Corporation Content publication
DE602006017040D1 (de) * 2006-05-19 2010-11-04 Microsoft Corp Inhaltsverwaltung in Peer-to-peer Datenverteilungswolken
US8194760B2 (en) * 2006-06-01 2012-06-05 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US20080089333A1 (en) * 2006-10-17 2008-04-17 Kozat Ulas C Information delivery over time-varying network topologies
US8027407B2 (en) * 2006-11-06 2011-09-27 Ntt Docomo, Inc. Method and apparatus for asynchronous space-time coded transmission from multiple base stations over wireless radio networks
US8059732B2 (en) * 2006-11-28 2011-11-15 Ntt Docomo, Inc. Method and apparatus for wideband transmission from multiple non-collocated base stations over wireless radio networks
EP2090067B1 (en) 2006-12-04 2015-11-18 Telefonaktiebolaget LM Ericsson (publ) Exchange of information in a communication network
CN104936313B (zh) * 2006-12-04 2019-05-31 艾利森电话股份有限公司 通信网络中的信息交换
ES2360647T3 (es) * 2006-12-08 2011-06-07 Deutsche Telekom Ag Método y sistema para la diseminación del contenido igual a igual.
CN101207552B (zh) * 2006-12-19 2012-01-11 株式会社Ntt都科摩 一种数据块的调度方法及网络节点
US8861356B2 (en) * 2007-03-13 2014-10-14 Ntt Docomo, Inc. Method and apparatus for prioritized information delivery with network coding over time-varying network topologies
US20090285323A1 (en) * 2008-05-15 2009-11-19 Sundberg Carl-Erik W Adaptive soft output m-algorithm receiver structures
US8064548B2 (en) * 2007-05-18 2011-11-22 Ntt Docomo, Inc. Adaptive MaxLogMAP-type receiver structures
US20080301448A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Security Against Corruption for Networked Storage
US20080304590A1 (en) * 2007-06-06 2008-12-11 Sundberg Carl-Erik W Method and apparatus for transmission from multiple non-collocated base stations over wireless radio networks
JP5137501B2 (ja) * 2007-08-27 2013-02-06 三菱電機株式会社 通信システムおよび通信装置
US20090075686A1 (en) * 2007-09-19 2009-03-19 Gomadam Krishna S Method and apparatus for wideband transmission based on multi-user mimo and two-way training
US8705345B2 (en) * 2007-11-26 2014-04-22 Iowa State University Research Foundation, Inc. Network protection using network coding
US8325840B2 (en) * 2008-02-25 2012-12-04 Ntt Docomo, Inc. Tree position adaptive soft output M-algorithm receiver structures
US8279954B2 (en) * 2008-03-06 2012-10-02 Ntt Docomo, Inc. Adaptive forward-backward soft output M-algorithm receiver structures
JP5004869B2 (ja) * 2008-05-22 2012-08-22 三菱電機株式会社 ネットワーク経路選択方法および通信システム
US8565329B2 (en) * 2008-06-03 2013-10-22 Ntt Docomo, Inc. Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems
JP4982434B2 (ja) * 2008-06-11 2012-07-25 Kddi株式会社 通信システムおよび復号化装置
US8224868B2 (en) * 2008-07-31 2012-07-17 Verizon Patent And Licensing Inc. Network coding with last modified dates for P2P web caching
US8229443B2 (en) * 2008-08-13 2012-07-24 Ntt Docomo, Inc. Method of combined user and coordination pattern scheduling over varying antenna and base-station coordination patterns in a multi-cell environment
US8705484B2 (en) * 2008-08-15 2014-04-22 Ntt Docomo, Inc. Method for varying transmit power patterns in a multi-cell environment
US8451951B2 (en) * 2008-08-15 2013-05-28 Ntt Docomo, Inc. Channel classification and rate adaptation for SU-MIMO systems
US8542640B2 (en) * 2008-08-28 2013-09-24 Ntt Docomo, Inc. Inter-cell approach to operating wireless beam-forming and user selection/scheduling in multi-cell environments based on limited signaling between patterns of subsets of cells
US8855221B2 (en) * 2008-09-15 2014-10-07 Ntt Docomo, Inc. Method and apparatus for iterative receiver structures for OFDM/MIMO systems with bit interleaved coded modulation
TW201014926A (en) * 2008-10-15 2010-04-16 Nat Univ Tsing Hua Method for producing metallic oxide film having high dielectric constant
EP2399378B1 (en) 2009-02-17 2018-10-24 Thomson Licensing Method for providing incentive mechanisms for out-of-order download in communication networks dedicated to the distribution of video-on-demand content
JP5188419B2 (ja) * 2009-02-23 2013-04-24 三菱電機株式会社 センサアドホックネットワーク、センサ端末および管理センサ端末
US9258361B2 (en) * 2009-04-08 2016-02-09 New Jersey Institute Of Technology Transferring data among nodes on a network
US9048977B2 (en) * 2009-05-05 2015-06-02 Ntt Docomo, Inc. Receiver terminal driven joint encoder and decoder mode adaptation for SU-MIMO systems
US8514961B2 (en) * 2010-02-04 2013-08-20 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8571214B2 (en) 2010-03-25 2013-10-29 Massachusetts Institute Of Technology Secure network coding for multi-resolution wireless video streaming
US10530574B2 (en) 2010-03-25 2020-01-07 Massachusetts Institute Of Technology Secure network coding for multi-description wireless transmission
JP5653247B2 (ja) * 2010-04-21 2015-01-14 三菱電機株式会社 無線通信方法
CN102136883B (zh) * 2011-03-15 2013-05-08 清华大学 基于网络编码的协作中继传输方法
US9294113B2 (en) 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
US9143274B2 (en) * 2011-10-31 2015-09-22 Massachusetts Institute Of Technology Traffic backfilling via network coding in a multi-packet reception network
ES2884092T3 (es) 2011-11-05 2021-12-10 Massachusetts Inst Technology Método y aparato para una transmisión eficaz de información a múltiples nodos
US8780693B2 (en) 2011-11-08 2014-07-15 Massachusetts Institute Of Technology Coding approach for a robust and flexible communication protocol
US9237107B2 (en) 2011-11-15 2016-01-12 New Jersey Institute Of Technology Fair quantized congestion notification (FQCN) to mitigate transport control protocol (TCP) throughput collapse in data center networks
US9537759B2 (en) 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
CN102647253B (zh) * 2012-03-28 2015-03-25 上海交通大学 多中继网络中基于网络编码的传输控制方法
ES2834108T3 (es) * 2012-07-16 2021-06-16 Code On Network Coding Llc Codificación de red distribuida determinista
US9369255B2 (en) 2012-10-18 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network
CN104038515B (zh) * 2013-03-05 2017-10-10 腾讯科技(深圳)有限公司 内容分发方法、装置及系统
JP2016513825A (ja) 2013-03-14 2016-05-16 マサチューセッツ インスティテュート オブ テクノロジー 安全通信方法および装置
US9607003B2 (en) 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
US9369541B2 (en) 2013-03-14 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for implementing distributed content caching in a content delivery network
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US9019643B2 (en) 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US9667530B2 (en) 2013-05-06 2017-05-30 International Business Machines Corporation Privacy preserving query method and system for use in federated coalition networks
US10117132B2 (en) * 2015-05-11 2018-10-30 Istanbul Teknik Üniversitesi Cooperative, network coded, distributed wireless communication and data storage method
CN106202387B (zh) * 2016-07-08 2019-05-21 苏州超块链信息科技有限公司 一种数据一致性并行维护方法
US11424861B2 (en) 2017-03-29 2022-08-23 Massachusetts Institute Of Technology System and technique for sliding window network coding-based packet generation
US10693720B2 (en) * 2017-04-10 2020-06-23 Cisco Technology, Inc. Distribution of updates in an IoT network
WO2019094556A1 (en) * 2017-11-08 2019-05-16 Massachusetts Institute Of Technology System for de-duplicating network coded distributed storage and related techniques
EP3794755B1 (en) 2018-05-16 2023-07-05 Code on Technologies Inc. Multipath coding apparatus and related techniques
CN109347968B (zh) * 2018-11-07 2021-09-24 网宿科技股份有限公司 一种下载资源文件的数据块的方法、设备和系统
US11108705B2 (en) 2019-04-30 2021-08-31 Code On Network Coding, Llc Linear network coding with pre-determined coefficient generation through parameter initialization and reuse
US11102272B2 (en) * 2019-12-19 2021-08-24 Wangsu Science and Technology Co., Ltd. Method and device for downloading resource file
EP3849089A1 (en) 2020-01-09 2021-07-14 Microsoft Technology Licensing, LLC Encoding for data recovery in storage systems
US11553184B2 (en) * 2020-12-29 2023-01-10 Qualcomm Incorporated Hybrid digital-analog modulation for transmission of video data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11340840A (ja) * 1998-05-28 1999-12-10 Fujitsu Ltd 移動通信端末及び送信ビットレート判別方法
US6775325B1 (en) * 1998-10-07 2004-08-10 Sarnoff Corporation Method and apparatus for converting the bitrate of an encoded bitstream without full re-encoding
US6522688B1 (en) * 1999-01-14 2003-02-18 Eric Morgan Dowling PCM codec and modem for 56K bi-directional transmission
US6760479B1 (en) * 1999-10-22 2004-07-06 Research Foundation Of The City University Of New York Super predictive-transform coding
US6404814B1 (en) * 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US6751477B1 (en) * 2000-05-17 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for dynamically optimizing the fidelity of a speech signal received from a wireless telephony device and transmitted through a packet-switched network
US6944226B1 (en) * 2000-10-03 2005-09-13 Matsushita Electric Corporation Of America System and associated method for transcoding discrete cosine transform coded signals
US7277950B1 (en) * 2000-12-29 2007-10-02 Swarmcast, Inc. Packet transfer mechanism over a peer to peer network
JP4507046B2 (ja) * 2001-01-25 2010-07-21 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体
US7082220B2 (en) * 2001-01-25 2006-07-25 Sony Corporation Data processing apparatus
MY138481A (en) * 2001-05-17 2009-06-30 Sony Corp Data distribution system, terminal apparatus, distribution center apparatus, highefficiency encoding method, high-efficiency encoding apparatus, encoded data decoding method, encoded data decoding apparatus, data transmission method, data transmission apparatus, sub information attaching method, sub information attaching apparatus, and recording medium
JP4711099B2 (ja) * 2001-06-26 2011-06-29 ソニー株式会社 送信装置および送信方法、送受信装置および送受信方法、並びにプログラムおよび記録媒体
US7197084B2 (en) * 2002-03-27 2007-03-27 Qualcomm Incorporated Precoding for a multipath channel in a MIMO system
US20040107242A1 (en) 2002-12-02 2004-06-03 Microsoft Corporation Peer-to-peer content broadcast transfer mechanism
US20070041447A1 (en) * 2003-04-17 2007-02-22 Dzevdet Burazerovic Content analysis of coded video data
CA2465332C (en) * 2003-05-05 2012-12-04 Ron Kerr Soft input decoding for linear codes
WO2004114208A2 (en) * 2003-06-19 2004-12-29 Sarnoff Corporation A method and apparatus for compressed-domain watermarking
US7574518B2 (en) * 2003-06-23 2009-08-11 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174955B (zh) * 2006-10-30 2010-04-21 华为技术有限公司 共享内容传输方法和系统以及内容源端、内容接收端
CN101217489B (zh) * 2008-01-10 2011-05-04 复旦大学 具有网络编码功能的路由器和基于网络编码的组网方法
CN101267450B (zh) * 2008-03-18 2011-01-19 上海大学 基于网络编码的分布式网络应用层组播路由方法
CN101540778B (zh) * 2008-03-19 2014-09-03 华为技术有限公司 一种数据传输的方法、装置和系统
CN101621353B (zh) * 2008-07-03 2013-08-07 华为技术有限公司 一种随机线性网络编码的方法、装置和系统
WO2010000147A1 (zh) * 2008-07-03 2010-01-07 华为技术有限公司 一种随机线性网络编码的方法、装置和系统
US8553784B2 (en) 2008-07-03 2013-10-08 Huawei Technologies Co., Ltd. Method, apparatus and system for random linear network coding
CN102065289B (zh) * 2010-09-09 2012-10-24 西安电子科技大学 基于网络编码的可靠性视频传输方法及装置
CN102065289A (zh) * 2010-09-09 2011-05-18 西安电子科技大学 基于网络编码的可靠性视频传输方法及装置
WO2015143604A1 (zh) * 2014-03-24 2015-10-01 华为技术有限公司 一种通信设备、方法及系统
CN105264860A (zh) * 2014-03-24 2016-01-20 华为技术有限公司 一种通信设备、方法及系统
CN106160922A (zh) * 2015-04-02 2016-11-23 中兴通讯股份有限公司 数据发送方法、解码方法及装置
CN107517390A (zh) * 2016-05-26 2017-12-26 上海云熵网络科技有限公司 基于网络编码与内容分布网络的串流视频的处理系统与方法

Also Published As

Publication number Publication date
EP1612982A3 (en) 2012-03-07
KR20060049764A (ko) 2006-05-19
CN100566257C (zh) 2009-12-02
JP2006031693A (ja) 2006-02-02
US7756051B2 (en) 2010-07-13
EP1612982A2 (en) 2006-01-04
JP4726557B2 (ja) 2011-07-20
KR101153124B1 (ko) 2012-06-04
US20060020560A1 (en) 2006-01-26
EP1612982B1 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
CN1735020A (zh) 使用网络编码的内容分发
CN1257648C (zh) 多级多维内容保护方法
CN1620760B (zh) 用于通信系统的多级码发生器和解码器
US20060224760A1 (en) Method and system for providing streaming content in a peer-to-peer network with network coding
WO2007136464A1 (en) Content management in peer-to-peer content distribution clouds
US10361817B2 (en) Systems and methods to optimize partitioning of a data segment into data packets for channel encoding
CN1853380A (zh) 有效的自动重复请求的方法和装置
WO2005055016A2 (en) Protection of data from erasures using subsymbol based codes
CN1481130A (zh) 产生低密度奇偶校验码的方法和系统
CN104486434A (zh) 一种移动终端文件上传、下载的方法及移动终端
WO2010021774A1 (en) Detecting and revoking pirate redistribution of content
CN1494790A (zh) 在网络环境中传输文件的协作方法
CN102098330A (zh) 基于json数据格式的异步传输方法、装置及系统
CN114696956A (zh) 生成用于在多个通信信道上发射的数据副本的系统和方法
EP2809027A1 (en) Method and system for reconstruction of a data object from distributed redundant data parts
KR100930857B1 (ko) 선형 소거 코드를 제공하기 위한 방법 및 장치
JP5587735B2 (ja) データ伝送方法およびネットワークノード
CN1855815A (zh) 用于生成和确认基于同源的签名的系统和方法
Schwarz et al. NOREC4DNA: using near-optimal rateless erasure codes for DNA storage
CA2667773A1 (en) Methods and apparatus for encoding data in a communication network
CN110430011B (zh) 基于规则变量节点度分布的bats码编码方法
WO2018000647A1 (zh) 文件下载方法、装置、终端及服务器
CN1682449A (zh) 使用数据窗口来解码数据的方法
CN1816020A (zh) 互换格式消息的有效变换
Maor et al. On joint information embedding and lossy compression

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091202

Termination date: 20140630

EXPY Termination of patent right or utility model