对等网络中的同位体及这样的网络的制作方法

文档序号:6508365阅读:195来源:国知局
专利名称:对等网络中的同位体及这样的网络的制作方法
技术领域
本发明涉及有助于在对等网络中实现自治性和分散化的装置。
背景技术
目前存在几种对等网络技术,主要目的是提供这样的网络即在其中寻求改善文件共享或者大型文件或直播信息的分布。这些技术的主要部分包括一个中央服务器,该服务器记录所连接的同位体以及连接它们的结构。为了使得服务器能够管理其任务,这些系统中的许多都包括相对固定的结构和极为集中的控制。在这些系统中,如果单独的同位体希望改变它们在结构中的位置,或者其他想要的改变,就不得不获得来自服务器的许可或者指令。少数系统偶尔将非常有限范围内的某些简单决定留给同位体,但是如果这些决定影响到同位体的结构或者状态,那么它们仍然必须将任何改变通知服务器。
因此,典型地,传统的对等系统受到不灵活性和集中性的限制,从而至少对于服务器来说,受到了与控制信息有关的大量的通信和处理开销的限制。
本发明的几个目的之一是实现对等网络中的自治同位体。
本发明的几个目的中的另一个是减少由对等网络服务器执行的与控制有关的处理和通信的量。

发明内容
本发明涉及对等网络的同位体,其中所述对等网络包括多个同位体P,其中所述同位体RP包括并维护定义多个候选同位体CP的通信记录CR,可以从所述多个候选同位体下载信息表示数据S,其中所述多个候选同位体CP包括所述多个同位体P的子集,且其中所述同位体RP包括根据所述同位体RP的单独例程从至少一个所述候选同位体CP下载所述信息表示数据S的装置。
根据本发明,优选地,所述信息表示数据S为直播视频或音频流或者其一部分的表示,但是可以为能够编码为网络可传输格式的任何种类的信息,例如媒体文件、文档文件、计算机程序、数据库等等。所述信息表示数据S可以通过可用编码表示这种信息,并且在分发过程中可进一步进行编码或解码。所述信息表示数据S可以在分发过程中包含于单个独立的数据分组或分组流中,也可以对其进行建立多个数据分组的编码,例如抗丢失使能编码,其中一定数量的数据分组表示所述信息表示数据S。当应用最后提到的例子时,由于不同数据包可以沿着不同的路径分布,就有助于实现基于网格结构的网络。
根据本发明,可以从其中下载信息表示数据的候选同位体表示可以与下载请求联系的同位体,但是候选同位体的状态不必暗示将可以从所述候选同位体下载。候选同位体可以例如根据自身的判断力而由于内部或外部情况暂时地或永久地选择不服务下载请求。这些情况可以包括,例如请求从同一个候选同位体下载的其他同位体的数量、候选同位体优选为诸如电子邮件和Internet浏览等其他用途保留的带宽量、请求同位体的身份或者地理或网络拓扑位置等等。因此,所述通信记录包括若干个潜在的可能用于下载的同位体,且其中的同位体可以进行自己的实验以便确定从哪些同位体下载,而不是由中心根同位体或服务器上告知从哪里下载。所以,有助于实现自治的、灵活的、自适应的自组织网络。
由于所述同位体的一般目的是接收信息表示数据以及选择性地将信息表示数据或者其变体上传给其他同位体,所以在本说明书的其他地方,上述同位体也可以称作接受同位体。
根据本发明,下载可以包括数据的主动性传输或反应性传输。换言之,所述同位体可以主动发起并负责所述下载,也可以较为被动地接收由发送者发起的下载。
本发明提供了一种用于在多个同位体之间分发信息的对等网络,其中至少部分地将允许或有助于同位体接收所述信息的控制数据与所述信息联合或包括在所述信息中分发。
当所述对等网络中所述同位体RP的行为充分自治时,可得到本发明的有益的实施例。
通过本发明,特别是分布的通信记录,每个同位体都包括可以作为决定基础的信息。因此,所述同位体既不需要在做出决定之前获得来自服务器的许可或指令,也不需要在做出决定之后将结果通知所述服务器。
当所述同位体RP至少部分地以通信记录更新CRU为基础对所述通信记录CR进行所述维护时,可以得到本发明的有益的实施例。
根据本发明,所述同位体可以通过处理通信记录更新来维护所述通信记录。优选地,这种更新仅仅包括对所述通信记录的更改,即添加、删除和更新,但是也可以包括任何类别的信息,例如有助于维护任务的通信记录的完整副本。
当所述同位体RP进一步包括用于以运行时间为基础下载所述通信记录更新CRU的装置时,可以得到本发明的有益的实施例。
所述同位体可以在运行时间基础上通过频繁地,无论是有规律地或是无规律地、直接地或是间接地接收更新来维护所述通信记录。
根据本发明,下载可以包括数据的主动性传输或反应性传输。换言之,所述同位体可以主动发起并负责所述下载,也可以较为被动地接收由发送者发起的下载。
当根据所述同位体的独立例程以运行时间为基础对所述通信记录更新CRU进行所述下载时,可以得到本发明的有益的实施例。
当所述同位体RP可以充分自治地决定从所述通信记录CR当前定义的候选同位体CP下载或请求下载时,可以得到本发明的有益的实施例。
根据本发明,术语自治地可以指同位体能够决定任意或所有的几个不同选项,例如,何时做某事如请求下载,关于某事和谁接触,如从哪些同位体请求下载,提供何种业务给其他同位体,等等。
当所述单独例程包括用于以运行时间为基础决定从至少哪一个所述候选同位体CP下载所述信息表示数据S的指导时,可以得到本发明的有益的实施例。
根据本发明的实施例,由于同位体可以各自决定从所述通信记录中定义的哪些候选同位体下载,且它们可以在任何必要或方便的时候自由地重新考虑其决定,所以有助于实现自治性。
当所述单独例程包括用于以运行时间为基础决定从若干个所述候选同位体CP下载所述信息表示数据S的准则时,可以得到本发明的有益的实施例。
根据本发明的实施例,由于同位体可以各自决定从所述通信记录中定义的多少个候选同位体下载,且它们可以在任何必要或方便的时候自由地重新考虑其决定,所以便于实现自治性。
根据本发明的实施例,还可以通过每个同位体所拥有的多于一个候选同位体下载的选择允许基于网格的组网。
当所述同位体RP基本同时地从多个所述候选同位体CP下载所述信息表示数据S时,可以得到本发明的有益的实施例。
根据本发明的实施例,为了收集信息表示数据,例如直播视频或音频流,每个同位体都基本同时地从多个候选同位体下载,因此所述对等网络为基于网格的网络。当所述信息表示数据S以建立多个数据包的方式进行编码,且其中一定数量的数据包表示信息表示数据S时,例如,对于抗丢失分布,可以从不同的候选同位体下载不同的数据包,且不必记录顺序。
根据本发明,术语基本同时可以指在任何实现的通信层收到的效果,例如物理层、传输层、应用层等等。尽管事实上一般在最低层不可能同时接收来自不同数据包的数据,但是从传输层、应用层等看来似乎是同时接收,并且这种伪同时和真正的同时都在本发明的范围之内。
当所述多个同位体P中的至少一个同位体P包括对等网络服务器PPS时,可以得到本发明的有益的实施例。
需要强调的是,在本发明的某个实施例中,任何同位体原则上都可以作为服务器,但是典型地,它可以包括有关例如网络带宽、处理器能力、存储空间等超过平均的硬件实现。
当所述对等网络服务器PPS将所述信息表示数据S发送给所述对等网络的多个同位体P中的至少一个时,可以得到本发明的有益的实施例。
根据本发明,提供一种服务器作为信息广播设备,例如用于主办直播流对话等。
当多个所述同位体P与唯一的身份表示ID相关联时,可以得到本发明的有益的实施例。
根据本发明的实施例,身份表示ID应该使得能够直接或间接寻址关联的同位体。例如,一个ID可以包括或定义与所述唯一的身份表示相关联的同位体的一个IP地址或MAC地址。
当所述通信记录CR通过所述关联的身份表示ID定义所述候选同位体CP时,可以得到本发明的有益的实施例。
当所述通信记录CR以运行时间为基础由至少一个所述候选同位CP初始化以及更新时,可以得到本发明的有益的实施例。
所述候选同位体可以通过以运行时间为基础频繁地,无论是有规律地或是无规律地、直接地或是间接地将更新信息发送给所述同位体或同位体们,其候选同位体同样保存在通信记录中,来维护所述通信记录。当应用间接寻址时,至少一个或若干个所述候选同位体执行接受同位体的通信记录的初始化和/或维护。显然,除非这一候选同位体为服务器,否则该候选同位体将不得不从其他上行数据流同位体接收更新信息。尽管到一个接受同位体的直接通信实际上是由一个或一些候选同位体来执行的,所述服务器仍将作为上行数据流的信息数据源并且通过对等网络更新信息流。
当在所述单独的同位体上维护这种通信记录时,因为所述单独的同位体可以立即在保持在所述同位体通信记录中的信息的基础上决定并试图独自重配置下载,而不需要耗时地与一个服务器通信并获得授权,所以可以获得一种有益的从候选同位体下载的建立。
当所述服务器PPS以运行时间为基础对所述通信记录初始化并更新时,可以得到本发明的有益的实施例。
所述同位体的直接更新和/或初始化涉及单独同位体通信记录的更加直接的更新和维护。然而,应该注意的是,仍然从每个同位体被维护的通信记录所定义的候选同位体接收所述信息表示数据。当在独立的同位体上维护这种通信记录时,因为独立的同位体能够立即并不需要耗时地与一个服务器通信并获得授权地在保持在所述同位体通信记录中的信息的基础上决定并试图独自重配置下载,所以可以获得一种有益的从候选同位体下载的建立。
当所述信息表示数据S包括视频或音频流时,可以得到本发明的有益的实施例。
优选地,当本发明应用于直播视频或音频流的分发系统时,本发明可以特别有益。但是,信息表示数据的任何信息类型都在本发明的范围之内。
当所述对等网络包括流网络时,可以得到本发明的有益的实施例。
当所述对等网络包括基于网格的对等网络时,可以得到本发明的有益的实施例。
当所述对等网络的多个同位体P的通信记录CR基本相同时,可以得到本发明的有益的实施例。
根据本发明的实施例,通信记录是基本相同的,这意味着所述同位体认可同一组候选同位体。然而一个同位体可能在某个时刻包含与其他同位体稍有不同的知识。这种情况在所述同位体由于某种原因没有收到对其通信记录的维护更新时,或者它已经与一个没有被所述通信记录识别的同位体联系时可能发生。当新同位体加入所述网络,并且相应的通信记录更新没有在新同位体开始在网络内通信之前通过网络传播时,在某些实施例中就可能发生最后一种情况。但是优选地,任何差异都应在不久以后,即在几个连续的通信记录更新通过网络传播的时间量级内被纠正。
当所述通信记录CR定义所述对等网络的多个同位体P的子集时(可以将信息表示数据S上传至所述多个同位体),可以得到本发明的有益的实施例。
也有可能利用通信记录识别可能请求下载的同位体,即包括所述通信记录的同位体可以上传的同位体,可以训练认证策略。例如,为了避免由于某种原因已经获得有关候选同位体的知识的未授权同位体可以开始下载数据,从而下载某些实施例中的通信记录更新,这一点在使用公共Internet的系统中是必要的。此外,由于同位体能够接着查找允许哪些同位体请求具体内容的下载,这还可以用于信息表示数据包括几个信息通道,例如几个视频或音频流、多媒体文件等的系统。
当所述对等网络的至少两个所述多个同位体基本同时地下载所述信息表示数据S时,可以得到本发明的有益的实施例。
根据本发明的实施例,几个同位体可以基本同时地接收信息表示数据,优选地,直播视频或音频流。所以,有助于实现具有同时为众多接受者服务的潜力的直播流系统。同位体可以从同一个同位体或几个不同的同位体、或其任何组合下载信息。
由于下载的持续时间可能根据几个参数在网络上大有不同,术语基本同时可以包括同位体基本同时地请求下载。此外它还包括同位体在信息广播的同一个时间窗口请求下载。
当所述对等网络服务器PPS还将所述通信记录更新CRU发送给所述对等网络的多个同位体P中的至少一个时,可以得到本发明的有益的实施例。
通过拥有控制通信记录更新的服务器,可以保证通过网络的基本同步。而且,所述服务器已经包括用于维护信息表示数据广播的框架。
当设置所述信息表示数据S包括所述通信记录更新CRU时,可以得到本发明的有益的实施例。
通过将信息表示数据和通信记录更新组合在单个广播单元中,可以保证所有接收信息的同位体也会接收更新,从而可以保证同位体至少具有保持最新的可能性。而且,它简化了将所有必要的信息捆绑发送时由同位体执行的分发和任务。
当关联并发送所述通信记录更新CRU与所述信息表示数据S时,可以得到本发明的有益的实施例。
当积累的所述通信记录更新CRU平均占用小于积累的所述信息表示数据S的大小的20%,优选地,小于10%,且更为优选地,小于2%时,可以得到本发明的有益的实施例。
优选地,在接受同位体所下载的积累数据中,只有相对较少的一部分应该被通信记录更新占用。所以,可用资源中的主要部分,特别是网络带宽应该用于信息,例如流视频的分发。
然而,当以不同方式分配资源,或者通信记录数据和/或信息表达数据的种类可以组合以至于上述优选的分配是不可能的或低效率的时候,本发明某些应用的效率反而最高。因此,在本发明范围之内的本发明的实施例会导致与通信相关的通信记录和与通信相关的信息之间的任何资源分发。
当所述通信记录更新CRU包括所述通信记录CR的更改时,可以得到本发明的有益的实施例。
为了避免不必要的开销和冗余信息,所述通信记录更新只包括最后更新以后的通信记录的更改。这就要求所有的同位体仔细地维护所述通信记录,以免引入错误。
当所述通信记录更新CRU包括完整的通信记录CR时,可以得到本发明的有益的实施例。
在本发明的一个可更替的实施例中,每一次更新都发送通信记录的完整副本,或者偶尔每若干次有规律的更新发送通信记录的完整副本。在另一个可替换的实施例中,可以实施偶尔比较通信记录与其他同位体或服务器的记录的方法。
当所述通信记录CR进一步定义了其定义的同位体的属性或特征时,可以得到本发明的有益的实施例。
例如,所述通信可以包括用来支持所述同位体在网络内完成其任务的任何信息集合。因此,这种信息可以包括,例如有关单独的同位体或同位体群的分类信息,有关单独的同位体、同位体群或不同的网络部分的性能信息、关于网络拓扑或其他结构信息的信息、路由信息、有关单独的同位体或同位体群的计算机配置的信息,例如NAT配置、兼容性信息、授权信息和/或加密算法信息等等。
当所述通信记录CR定义了所述信息表示数据的属性或特征时,可以得到本发明的有益的实施例。
在本发明的某些实施例中,所述信息表示数据可以表示几种不同的信息信道,例如几个视频或音频流、不同的媒体文件等等。同位体可以通过包括有关通信记录内数据的信息获得用于决定它们希望请求哪些数据的基础,并且保证该信息总是最新的。
当根据抗丢失方法对所述信息表示数据S进行编码和分发时,可以得到本发明的有益的实施例。
当根据拉式策略(pull-strategy)分发所述信息表示数据S时,可以得到本发明的有益的实施例。
这一优选的实施例包括接受同位体在它们希望的时候,请求下载它们所希望的和/或请求从它们希望的同位体下载,即通过网络拉引数据。
当根据推式策略(push-strategy)分发所述信息表示数据S时,可以得到本发明的有益的实施例。
这一优选的实施例包括接受同位体在它们希望的时候,请求上载它们所希望的和/或请求向它们希望的同位体上传,即通过网络推数据。
当所述通信记录更新CRU通过与用于分发信息表示数据S的方法对应的方法分发时,可以得到本发明的有益利的实施例。
可以有益地采用与用于分发信息表示数据一样的方法将通信记录更新分发给几个或所有同位体。因此,在优选的实施例中,有可能对这两种分发任务都采用同样的结构、配置、软件和硬件框架。
当所述信息表示数据S可以包括多个信息实例时,可以得到本发明的有益的实施例。
所述系统可以被用于通过相同的分发框架分发几个不同的信息实例。这种实例可以包括例如直播视频和/或音频流、点播视频和/或音频流、计算机程序、媒体文件、文档、数据库等等。
当所述通信记录CR定义所述信息表示数据S的所述信息实例时,可以得到本发明的有益的实施例。
如果所述信息表示数据包括几个不同的信息实例,例如几个视频流,这些可以由通信记录有益地定义,这样就有助于同位体在信息内容中进行选择。
当所述候选同位体CP不是同等执行的,可以得到本发明的有益的实施例。
根据本发明,为了有助于实现接受同位体上的自治决策,通信记录应该定义候选同位体。因此,优选地,所述通信记录应该优选定义基本上所有可能的或有关的同位体作为候选同位体。由于例如网络属性或候选同位体的属性,一些候选同位自然可能是某个接受同位体较为不成功的选择。
当所述单独程序包括试验和错误算法时,可以得到本发明的有益的实施例。
通过采用试验和误差来例如决定利用哪些候选体,可以应用简单的却更为有效的决定方法。尽管这种方法一开始与纯随机选择的效率一样低,但依赖于对前面尝试的记忆程度,它可以在使用过程中变得越来越高效。
本发明涉及根据关于对等网络的所述同位体的所提及的任何权利要求的包括多个同位体P的对等网络。


下面将参考附图对本发明进行详细描述,其中图1为根据本发明的对等网络的实施例;图2为包括接受同位体、候选同位体和通信记录的对等网络的实施例;图3为包括对等网络服务器的对等网络的实施例;图4为信息和更新分发方法的实施例;图5为信息和更新分发方法的另一实施例;图6为信息和更新分发方法的又一实施例;图7为信息和更新分发方法的优选的实施例;图8A和8B为通过本发明实现的同位体的简单自治;图9为通过本发明实现的同位体的更高级的自治;以及图10为同位体分散化过程的实施例。
具体实施例方式
图1为根据本发明的对等网络NW的实施例。它包括多个通过网络NW连接的同位体P。优选地,该网络为基于TCP/IP的网络,例如Internet,但是也可以为任何类别的网络。优选地,同位体为任何类别的计算机,但是也可以为包括通过网络与其他同位体通信的装置的任何类别的设备。同位体可能包括例如个人计算机、服务器、PDA、移动电话、膝上型电脑、置顶盒、公共信息站等等。网络连接可以包括任何类别的有线或无线连接以及建立这种连接所需的任何类别的装置,例如任何种类的UTP电缆、同轴电缆、网络接口卡、路由器、防火墙、交换机、集线器、无线网络接口卡、无线路由器、红外线、射频或蓝牙连接、调制解调器、线缆调制解调器、ADSL路由器、ISDN调制解调器、电话电缆、移动电话连接等等,以及任何可能的网络协议或协议组合,例如Ethernet、令牌环、无线Ethernet、TCP/IP、IPX/SPX、GPRS、ADSL、ISDN等等。
图2为如上所述对等网络NW从某个接受同位体的角度所见的一个实施例。它包括多个同位体P,其中的某一个称为接受同位体RP。一定数量的同位体P也称为候选同位体CP,因为从接受同位体RP的角度看,它们可能是接受同位体RP下载信息的候选。同位体与身份表示ID,例如ID1、ID2等相关联。接受同位体RP包括通信记录CR,优选地,CR包括用作候选同位体CP的同位体的列表,在图2的示例中,该列表包括与身份表示ID1、ID2和ID4相关联的同位体。
然而,通信记录CR的内容可以为可用来支持网络中的同位体完成其任务的任何信息集合。因此,这种信息可以包括,例如其他同位体的身份表示、关于其他同位体的分类信息、关于其他同位体或不同网络部分的性能信息、有关网络拓扑或其他结构信息的信息、路由信息、有关其他同位体的计算机配置的信息,例如NAT配置、兼容性信息、授权和/或加密算法信息等等。
为了有助于实现同位体内的自适应的单独或公共的程序或人工智能,本发明另一个实施例中的同位体P还可以包括用于保留有关其单独的或公共的经验、测量、决定等信息的装置。在某些实施例中,这种信息可以存储在通信记录CR中。
优选地,频繁更新通信记录CR来反映其存储的信息的变化,且优选地,从其他同位体或服务器上接收必要的更新,且优选地,作为其他接收信息的完整部分,例如音频或视频直播流。
需要强调的是,接受同位体RP和候选同位体CP都是同位体P的实例,极有可能甚至优选地,一个同位体同时充当几种同位体。因此,图2中所示的作为接受同位体RP的同位体可以为一个或多个其他同位体的候选同位体。在一个简单的实施例中,所有的同位体都是候选同位体和接受同位体,所以通信记录包括所有的同位体,且任何同位体都可以从任何一个或多个其他同位体下载信息。
本发明的一个更为高级和优选的实施例包括候选同位体不允许被任何通信记录中没有记载的接受同位体或者由于某种原因记载为禁止的同位体下载。因为这在新的同位体在包括其身份表示的通信记录更新通过网络传播给所述候选同位体之前就开始请求下载的情况下会引起一些问题,所以一个更优选的实施例可能允许候选同位体与未记载的同位体通信一段允许任何更新传播的合理时间,在这段时间之后再基于任何新信息做出最终决定。
图3为根据本发明的对等网络的实施例。图3的实施例中,除了对等网络服务器PPS也连接在网络上以外,它与图2是相等的。原则上,服务器PPS只是同位体P的另一实例,它可以由任何同位体组成。然而在许多实际系统中,由于其他情况,服务器PPS也可以具体化为具体设备,并且不必是可与其他同位体交换的。但是需要注意的是,在某些实施例中,任何一个或多个同位体P可以作为服务器PPS,从而有助于普通用户,例如广播直播视频或音频流。还需要注意的是本发明的范围并不限于只包括一个服务器PPS的网络。
优选地,服务器PPS采用几种可能途径中的一种将更新发送给同位体,以维护最新的通信记录且维护同位体的通信记录。更新应该是频繁的,但不必是有规律的。
优选地,服务器PPS还包括需要广播的信息,例如直播视频或音频流,或者其他可以编码为网络可传输格式的任何类别的信息,例如多媒体文件、文档文件、计算机程序、数据库等等。因此,服务器PPS初始化并可以在网络的至少若干同位体中维护可下载的信息表示数据S的建立。
图4所示为接受同位体RP如何下载优选地由服务器建立的信息和通信记录更新。除了信息表示以外,图4的实施例等于图3的实施例。该图说明了服务器如何为网络提供信息表示数据S和通信记录更新CRU。在图4的实施例中,将信息表示数据S和通信记录更新CRU捆绑在单个单元中。包括用于从候选同位体CP下载信息表示数据S的装置的接受同位体RP接收来自候选同位体的包括信息表示数据S和通信记录更新CRU的捆绑束,其中候选同位体由图4实施例中的身份表示ID2标识。优选地,从候选同位体接收的捆绑束是服务器所提供的捆绑束的副本,或者是建立在来自服务器的数据的基础上的。候选同位体可能已经直接接收了来自服务器,或者来自当它作为接受同位体RP时作为候选同位体的同位体的捆绑束。
需要注意的是图4和其他图说明了具体时刻的具体实例,但是并没有显示随时间的发展。因此,例如,接受同位体所接收的下一个信息表示数据S和通信记录更新CRU可能是从同一个,即ID2或不同的候选同位体下载的。
信息表示数据S可以表示信息可以通过任何可用编码广播,并且在分发过程中可以应用更进一步的编码或解码。信息表示数据S可以在分发过程中包含在单个的自主式数据包或数据包流中,也可以对其进行建立多个数据包的编码,该多个数据包中一定的数量的数据包表示信息表示数据S,例如抗丢失使能编码。当应用最后一个时,由于不同数据包可以沿着不同的路径分发,有助于实现基于网格结构的网络。
在将通信更新记录CRU设置在信息表示数据S中之前,将其与需要广播的信息捆绑在一起,因此它会经历与广播信息相同的编码程序,或者所述广播信息经历完全或部分编码程序。此外,还要在对广播信息编码之前、之中或之后以任何可能的方式,例如使用压缩技术,对通信记录更新CRU进行编码。
优选地,通信记录更新CRU只包括有关通信记录CR更改的信息,而不是全部的通信记录自身。然而,最终的选择或任何组合都在本发明的范围之内,并且可能在某些实施例中是有益的,例如为了以某个时间间隔保证所有的同位体都包括真正最新的通信记录副本。
信息表示数据S的建立、编码和分发可以遵照任何网络分发方法,例如直播流方法、点播流方法、文件共享方法等,无论是否包括加密算法、认证、抗丢失、包拆分、压缩等等,也无论是否通过可靠、安全和面向连接的协议或其任何组合传输。该方法在具体实施例中是抗丢失流分发方法,例如已经在国际专利申请No.PCT/DK2004/000197中公开的方法,该文献通过引用结合与此,但是任何其他合适的方法都在本发明的范围之内。
上述国际专利申请公开了一种用于从服务器至几个同位体分发信息,例如直播视频流的方法,其中若干或所有同位体在由服务器建立的中间表示的基础上建立信息的抗丢失码表示。通过从其他同位体上下载一定数量的抗丢失码表示,可以在同位体上建立原始信息。
图5包括大体上与前面的图中相同的网络结构,但是描述了不同的分发方法。在图5的实施例中,服务器PPS提供信息表示数据S和通信记录更新CRU作为两个不同的分发单元。因此,接受同位体RP可以选择从不同的候选同位体CP下载这两个单元。所以,在图5的示例中,接受同位体从ID2标识的候选同位体下载信息表示数据S,而从ID4标识的候选同位体下载通信记录更新CRU。以上说明仅仅为在一个具体时刻的实例,接受同位体在其他时刻可以从不同的候选同位体或从同一个候选同位体接收这两个单元。
和上述实施例相同,信息S和更新CRU都可以通过任何方法分发,且可以通过任何编码方案编码。
图6也包括与如上所述相同的网络,且信息表示数据S也如上所述被分发。但是通信记录更新通过附加的网络连接NC以更为直接的方式由服务器PPS提供给接受同位体RP。该附加的网络连接可以为包括或不包括用于分发信息表示数据S的网络部分的任何连接。因此,图6的示例所表示的实施例为服务器正在通过简单直接的专用线或长的弯曲的Internet路径等更为直接地将更新发送给同位体。
图7为本发明的优选实施例。它也包括如上所述的网络。服务器PPS为网络提供信息表示数据S和通信记录更新CRU,优选地,信息表示数据S和通信记录更新CRU捆绑在一个单元中,但是也可以为如上所述分离的单元。接受同位体RP可以以几个较小的数据部分的形式S1和CRU1、S2和CRU2以及S4和CRU4下载信息表示数据S和通信记录更新CRU。优选地,为了使网络应用最优化,可以从不同的候选同位体CP下载这些较小的数据部分。在图7的示例中,从ID1、ID2和ID4标识的同位体下载数据部分。接受同位体RP可以根据一定数量的较小数据部分建立与服务器PPS所提供的信息对应的信息。
可以采用几种方法根据由服务器PPS提供的单元S建立较小数据部分S1、S2和S4。一些可能的方法包括,服务器将信息S拆分为将分发给某些同位体的较小的数据部分,或者服务器将信息S提供给几个同位体,由这些同位体建立较小数据部分,以便更易于分发。
根据本发明,上述国际专利申请No.PCT/DK2004/000197公开了一种用于根据信息表示数据S建立较小数据部分S1、S2和S4的优选的方法,该文献通过引用结合于此。该方法包括使服务器PPS根据信息表示数据S建立较少的代码段,例如4或8段,其中一定数量的代码段需要用于重建信息。优选地,将这些代码段分发给不同的同位体,优选地,该同位体应其他同位体,例如候选同位体的要求在这些代码段的基础上建立更小的中间分组。同位体,例如候选同位体可以将一定数量的这些更小的中间分组转化为多个数据部分S1、S2和S4,为了重建原始信息,必须收集一定数量的数据部分S1、S2和S4。优选地,数据部分以抗丢失的方式表示信息,即以这样的方式使得接受同位体下载预定数量的任意的、唯一的、无序的数据部分S1、S2和S4后,能够立即对该信息进行解码。
还需要强调的是,在一个优选的实施例中,为了提高网络性能以及用于分发的时间和带宽,任何同位体都可以包括几个同位体任务。所以,如果用户想要观看直播视频,则单个的同位体,例如作为通过ADSL与Internet连接的个人计算机实现的同位体,就可以作为接受同位体,但是同时它也可以作为其他同位体的候选同位体,参与信息的分发。
为了描述本发明所促进的自治,提供了图8A、图8B和图9。本发明中自治的同位体的基础是维护的通信记录CR包括在其他同位体、网络和/或两者上基本最新的信息。
图8A包括为了从一个候选同位体CP下载信息,根据本发明的实施例由接受同位体RP执行的步骤的流程图。第一个步骤810包括接受同位体利用通信记录中的信息选择候选同位体。决定可以以任何复杂等级的算法为基础,即可以仅仅从列表的末端或随机地或伪随机地选择,也可以采用高级的预测算法或其他高级算法。第二个步骤811包括请求所选择的候选同位体发送数据。根据分发方法的类型和网络拓扑,该步骤可以包括不同的行为。
判决框812以步骤811中所做出的请求结果为基础控制下一个步骤。如果候选同位体同意发送数据,则执行步骤813且将可用数据下载至接受同位体。候选同位体、接受同位体或其他情况在不同实施例中可以确定可用数据的范围,即接受同位体从候选同位体上下载所有有关数据,还是仅一部分有关数据。例如,如果两个同位体之间的网络连接太慢或不可用,则候选同位体或接受同位体的任何一个选择终止发送。
当已经下载了可用数据时,判决框814控制动作。如果不再需要数据,则认为下载结束。但是如果接收到的数据量不够,接受同位体可以通过选择候选同位体再次开始。例如,由于诸如候选同位体终止发送、或候选同位体不拥有更多数据等无法预料的情况,或者由于不允许传输数据的某种原因,可能会发生没有下载足够数据的情况。当数据包括涉及数据的连续下载的直播音频或视频流时,也可能会发生没有下载足够数据的情况,且候选同位体本身变为不可用或自己停止下载数据。
结合判决框812,当接受同位体没有获得选择的候选同位体的批准时,接受同位体也不得不通过选择另一个候选同位体再次开始。除了简单的拒绝以外,未获得批准的原因可能包括不能够与候选同位体接触、候选同位体不拥有必要的数据、接口之间不相互兼容或者会导致做出尝试与另一个候选同位体连接的决定的任何其他原因。
图8B为本发明一个少许不同的实施例的步骤,其中接受同位体可以同时或轮流从几个候选同位体下载。在本实施例中,接受同位体通过从通信记录中选择一个或多个候选同位体开始,步骤820,且请求从这些候选同位体中的所有或至少多个下载。如果候选同位体批准该请求,判决框822,则接受同位体开始下载数据。当已经从选择的同位体下载了所有的可用数据且这些数据不够时,接受同位体可能通过选择其他候选同位体再次开始。
与图8A的流程图不同之处在于步骤823,包括首先选择的某些或所有候选同位体拒绝下载时要执行的动作。在本实施例中,接受同位体接着将选择其他候选同位体来取代那些不可用的同位体。在该取代和请求的循环过程中,接受同位体可以完美地执行到从被发现准备好的且相关的候选同位体下载的步骤824。
需要注意的是,所有与根据图8A的实施例的替换相关的陈述也适用于图8B的本实施例中。
图8A和8B实施例的算法相对简单,但是却有助于实现自治的同位体,例如可以自由选择利用哪些候选同位体,以及与可用选择的候选同位体协商定制条件的可能性,当然这些都在实际硬件和/或软件架构限定的范围之内。
图9包括稍微高级一些的下载算法的示例,它有助于实现人工智能和适应性,从而通过增加的自治提高了性能。图9所示实施例的流程图原则上和图8B所示的流程图一样,但是增加了附加因素。在本实施例中,接受同位体选择候选同位体时,不仅以它自身以外所维护的通信记录中的数据为基础,而且以接受同位体自身所获得的存储的知识,即计算、观测结果、实验等等为基础。与图8所示的实施例相比,图9的实施例包括进一步的添加,因为它还存储在算法中的某一点,例如在每次步骤916下载完成后最新获得的知识。
需要注意的是,所有与根据图8A和8B的实施例的替换相关的陈述也适用于图9的本实施例中。此外需要注意的是,根据本发明的适合选择一个或多个同位体且从其下载的任何算法都在本发明的范围之内。
如上所述的通信记录是使得同位体能够实现行为自治的主要部分。而且,如上所述,通过由同位体以其他方式下载的数据,例如音频或视频流组成的更新来维护通信记录是有益的。当还没有接收流因而也没有接收更新的同位体想参与时,它不得不以某种方式建立当前通信记录。
图10包括根据本发明同位体如何加入分发网络的示例。优选地,第一个步骤1030包括同位体通过与服务器PPS建立通信来连接到网络。下一个步骤1031包括同位体授权它本身,优选地对着服务器。如果分发网络为私网,或允许每个人接收由网络分发的内容,则该步骤为可选的。第三个步骤1032包括通信记录的初始化。为了使同位体能够进行自治决定这是至关重要的,因为通信记录优选地至少包括其他所连接的同位体的身份表示。可以通过几种方法进行通信记录的初始化。最简单的方法包括服务器将其通信记录的副本直接发送给最近连接的同位体。然而,其他方法在某些实施例中更为有益。当对等网络非常庞大且包括很多同位体时,通信记录可能变得相对较大,且服务器有可能无法直接发送给每个新连接的同位体。在这样的系统中,服务器可以仅发送例如包括100个其他同位体的身份表示的通信记录的一部分。然后,新连接的同位体可以从这100个同位体获得其余的通信记录,借此在几个同位体之间分发传输庞大数据库的占用大量带宽的任务。新连接的同位体一接收到足够的通信记录来参与常规的信息和更新分发,则步骤1033,它就能够内在地向前维护其通信记录。
权利要求
1.一种对等网络的同位体,其中所述对等网络包括多个同位体(P),其中所述同位体(RP)包括并维护定义多个候选同位体(CP)的通信记录(CR),可以从所述多个候选同位体(CP)下载信息表示数据(S),其中所述多个候选同位体(CP)包括所述多个同位体(P)的子集,且其中所述同位体(RP)包括用于根据所述同位体(RP)的单独例程从至少一个所述候选同位体(CP)下载所述信息表示数据(S)的装置。
2.如权利要求1所述的对等网络的同位体,其中所述同位体(RP)在所述对等网络内的行为基本自治。
3.如权利要求1或2所述的对等网络的同位体,其中所述同位体(RP)至少部分地以通信记录更新(CRU)为基础对所述通信记录(CR)进行所述维护。
4.如权利要求1至3中任一项所述的对等网络的同位体,其中所述同位体(RP)进一步包括用于以运行时间为基础下载所述通信记录更新(CRU)的装置。
5.如权利要求1至4中任一项所述的对等网络的同位体,其中根据所述同位体的单独例程进行以运行时间为基础对所述通信记录更新(CRU)的所述下载。
6.如权利要求1至5中任一项所述的对等网络的同位体,其中所述同位体(RP)可以基本自治地决定从所述通信记录(CR)当前定义的候选同位体(CP)请求下载或下载。
7.如权利要求1至6中任一项所述的对等网络的同位体,其中所述单独例程包括用于以运行时间为基础决定从至少哪一个所述候选同位体(CP)下载所述信息表示数据(S)的准则。
8.如权利要求1至7中任一项所述的对等网络的同位体,其中所述单独例程包括用于以运行时间为基础决定从若干个所述候选同位体(CP)下载所述信息表示数据(S)的准则。
9.如权利要求1至8中任一项所述的对等网络的同位体,其中所述同位体(RP)基本同时地从多个所述候选同位体(CP)下载所述信息表示数据(S)。
10.如权利要求1至9中任一项所述的对等网络的同位体,其中所述多个同位体(P)中的至少一个同位体(P)包括对等网络服务器(PPS)。
11.如权利要求1至10中任一项所述的对等网络的同位体,其中所述对等网络服务器(PPS)将所述信息表示数据(S)发送至所述对等网络的多个同位体(P)中的至少一个。
12.如权利要求1至11中任一项所述的对等网络的同位体,其中将多个所述同位体(P)与唯一的身份表示(ID)相关联。
13.如权利要求1至12中任一项所述的对等网络的同位体,其中所述通信记录(CR)通过所述关联的身份表示(ID)定义所述候选同位体(CP)。
14.如权利要求1至13中任一项所述的对等网络的同位体,其中由至少一个所述候选同位体(CP)以运行时间为基础初始化并更新所述通信记录(CR)。
15.如权利要求1至14中任一项所述的对等网络的同位体,其中由所述服务器(PPS)以运行时间为基础初始化并更新所述通信记录(CR)。
16.如权利要求1至15中任一项所述的对等网络的同位体,其中所述信息表示数据(S)包括视频或音频流。
17.如权利要求1至16中任一项所述的对等网络的同位体,其中所述对等网络包括流网络。
18.如权利要求1至17中任一项所述的对等网络的同位体,其中所述对等网络包括基于网格的对等网络。
19.如权利要求1至18中任一项所述的对等网络的同位体,其中所述对等网络中多个同位体(P)的所述通信记录(CR)为基本相同的。
20.如权利要求1至19中任一项所述的对等网络的同位体,其中所述通信记录(CR)定义了所述对等网络中的可以将信息表示数据(S)上传至其中的多个同位体(P)的子集。
21.如权利要求1至20中任一项所述的对等网络的同位体,其中所述对等网络的多个同位体(P)中的至少两个基本同时地下载所述信息表示数据(S)。
22.如权利要求1至21中任一项所述的对等网络的同位体,其中所述对等网络服务器(PPS)还将所述通信记录更新(CRU)发送至所述对等网络的多个同位体(P)中的至少一个。
23.如权利要求1至22中任一项所述的对等网络的同位体,其中设置所述信息表示数据(S)包括所述通信记录更新(CRU)。
24.如权利要求1至23中任一项所述的对等网络的同位体,其中关联并发送所述通信记录更新(CRU)与所述信息表示数据(S)。
25.如权利要求1至24中任一项所述的对等网络的同位体,其中积累的所述通信记录更新(CRU)平均占用小于积累的所述信息表示数据S的大小的20%,优选地,小于10%,且更为优选地,小于2%
26.如权利要求1至25中任一项所述的对等网络的同位体,其中所述通信记录更新(CRU)包括所述通信记录(CR)的更改。
27.如权利要求1至26中任一项所述的对等网络的同位体,其中所述通信记录更新(CRU)包括完整的通信记录(CR)。
28.如权利要求1至27中任一项所述的对等网络的同位体,其中所述通信记录(CR)进一步定义了其定义的同位体的属性和特征。
29.如权利要求1至28中任一项所述的对等网络的同位体,其中所述通信记录(CR)定义了所述信息表示数据(S)的属性和特征。
30.如权利要求1至29中任一项所述的对等网络的同位体,其中根据抗丢失方法对所述信息表示数据(S)进行编码和分发。
31.如权利要求1至30中任一项所述的对等网络的同位体,其中根据拉式策略分发所述信息表示数据(S)。
32.如权利要求1至31中任一项所述的对等网络的同位体,其中根据推式策略分发所述信息表示数据(S)。
33.如权利要求1至32中任一项所述的对等网络的同位体,其中通过与用于分发信息表示数据(S)的方法对应的方法分发所述通信记录更新(CRU)。
34.如权利要求1至33中任一项所述的对等网络的同位体,其中所述信息表示数据(S)可以包括多个信息实例。
35.如权利要求1至34中任一项所述的对等网络的同位体,其中所述通信记录(CR)定义所述信息表示数据(S)的信息实例。
36.如权利要求1至35中任一项所述的对等网络的同位体,其中所述候选同位体(CP)不是同等执行的。
37.如权利要求1至36中任一项所述的对等网络的同位体,其中所述单独例程包括试验和误差算法。
38.一种对等网络,包括如权利要求1至37中任一项所述的多个同位体(P)。
全文摘要
本发明涉及一种对等网络,其中所述对等网络包括多个同位体(P),其中所述同位体(RP)包括并维护定义多个候选同位体(CP)的通信记录(CR),可以从所述多个候选同位体下载信息表示数据(S),其中所述多个候选同位体(CP)包括所述多个同位体(P)的子集,且其中所述同位体(RP)包括用于根据所述同位体(RP)的单独例程从至少一个所述候选同位体(CP)下载所述信息表示数据(S)的装置。本发明还涉及一种包括多个如上所述同位体(P)的对等网络。
文档编号G06F17/30GK1985490SQ200480043550
公开日2007年6月20日 申请日期2004年7月9日 优先权日2004年7月9日
发明者斯蒂芬·阿尔斯特鲁普, 泰斯·劳赫 申请人:科德马特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1