CN101242337B - 一种计算机网络的内容发布方法及*** - Google Patents

一种计算机网络的内容发布方法及*** Download PDF

Info

Publication number
CN101242337B
CN101242337B CN2007100732955A CN200710073295A CN101242337B CN 101242337 B CN101242337 B CN 101242337B CN 2007100732955 A CN2007100732955 A CN 2007100732955A CN 200710073295 A CN200710073295 A CN 200710073295A CN 101242337 B CN101242337 B CN 101242337B
Authority
CN
China
Prior art keywords
content
group
node
control data
data collection
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.)
Expired - Fee Related
Application number
CN2007100732955A
Other languages
English (en)
Other versions
CN101242337A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2007100732955A priority Critical patent/CN101242337B/zh
Priority to US12/525,532 priority patent/US8161181B2/en
Priority to PCT/CN2007/071100 priority patent/WO2008095396A1/zh
Publication of CN101242337A publication Critical patent/CN101242337A/zh
Application granted granted Critical
Publication of CN101242337B publication Critical patent/CN101242337B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种计算机网络的内容发布方法及***,本发明将参与内容传输的节点分为传递群和接收群,用群来管理动态进出的节点,包括分群、监控和反映群控制信息的CDS的更新;通过CDS实现对节点的实时管理,使传递群的节点根据CDS记录的节点的通信信息,传递群的多个节点是一个协作的内容传送,首先是传递群节点的传送任务的分配,然后递群节点将所分配的内容分块打包传送给接收群的节点,接收群中接收到内容包的节点再根据控制数据集将内容包在群内交换,从而完成了内容从对多个节点同时传送到另外的多个节点,并且相对于已有技术提高了内容传送速度。

Description

一种计算机网络的内容发布方法及***
【技术领域】
本发明涉及计算机网络的内容发布方法及***。
【背景技术】
计算机网络中的具有计算功能的处理单元(如计算机,通信设备等等)称为节点。
Internet通信技术基础是分组交换网络技术,通常称为“包交换”(PacketSwitching)。它的一个基本思想是,发送信息时,先把该信息拆分成若干个分组(俗称数据包),编上序号,把它们分开发送出去,然后在目的地再按序号拼起来。
原先的包交换是源端的信息分割成一个个数据包,发送到目的端,所经的路径由网络设备完成,对用户是隐蔽的。这种通信可以看成是“一对一”的通信。
现在很多通信应用的内容在很多情况下是需要发布到多个计算机上,通常是覆盖网络的一个应用层多播。传输过程同样是采用包交换技术和“存储和转发”(Store and Forward)的工作原理,但在传输结束时,需要保证多个节点都有传输内容的拷贝。这种通信可以看成是“一对多”的通信。
虽然传统C/S模式的通信看起来是“一对多”,即一台服务器对多台客户端。但这种看法通常被认为是宏观的,在传输细节上,服务器与其中台客户端的传输是独立的,所以,C/S模式在本文里被认为是“一对一”的通信。
还有一些人认为,信息在网络世界大量存在的,何不充分利用现有的数据呢?于是有了从多源请求数据的方法,例如多源的BitTorrent。这种通信可以看成是“多对一”的通信。
“多对一”的意义也是特定为传输环节,即所需传输的内容存在于多个节点上,传输时同样采用包交换技术,不同之处是负责传送的多个节点中的每一个节点只传送内容的其中一部分。因为可以有多个节点同时传送,“多对一”能提高传输速度。
其实,还存在一种“多对多”通信,“多对多”的意义也是特定为传输环节,即所需传输的内容存在于多个节点上,而将内容同时协作地传送到另外的多个节点。“多对多”通信是有积极意义的,它可以提高效率,简化问题。能够简化问题的理由是,其它通信形态“一对一”、“一对多”和“多对一”都可以归纳为“多对多”。
很多场合都需要“多对多”通信。例如,“多对一”通信可以很好解决了文件共享,但仍然有需要改善的地方。“多对一”会产生2个问题:(i)节点需要请求链接,还有可能需要向多个节点查询;(ii)负责传递的节点容易形成不均匀,有的节点可能没有传输,而另一些节点则繁忙而造成拥塞。造成上述问题的原因是源端的多个节点和接收端的节点没能较好地协作处理,如果有一个全局的传输调度,则可以免去(i)的查询和解决(ii)的均衡负载。但如果有了全局的传输调度,则不再是“多对一”通信,而可以称为“多对多”通信。
“多对多”通信是复杂的,必须在“多对多”通信中解决以下三个关键问题:
A.如何管理节点?使得适应于有不同能力和不同行为的节点的动态网络,这些节点是随时加入或退出。
B.如何传输?或者说如何将内容从多个节点同时传送到另外的多个节点。
C.如何保障传输的QoS?例如,在动态网络环境下如何传输调度,拥塞控制和出错控制?
在内容传输时,将内容分成多个内容块传输,此时,需被告知传送往何方,告知的方法根据不同的环境可以有所不同,常用的方法之一是被告知一张发送表或者是一张路由表。
当节点接收到某一内容块时,可能需要再次传送,成员需要被告知再次传送的目标用户,告知的方法根据不同的环境可以有所不同,采用的方法之一是在内容块打包发送时,附加上需再次传送的用户表,用户表应包括通信用的必要数据,此方法适用于再次传送少量用户;采用的方法之一是接收群的成员维护相关的发送表或者路由表,这些相关的发送表或者路由表可以是一个,也可以是多个一由不同地方传递来的内容块用不同的发送表或者路由表,可以是公用,也可以是私有的,此方法需要动态维护发送表或路由表。
上述的告知方法都可以为内容发布所使用,但现有的方法还不能很好地解决上述技术问题,仍然需要采用一种更为先进的改进方法。
【发明内容】
本发明的主要目的是解决现有技术中的传输和节点控制的问题,提供一种计算机网络的内容发布方法及***,通过对节点的实时管理,实现将内容从对多个节点同时传送到另外的多个节点,提高了传送速度。
本发明的另一目的是提供一种计算机网络的内容发布方法及***,通过对每个节点上传速率的控制,更合理、充分地利用各节点的资源,减少了网络拥塞。
为了实现上述目的,本发明采用的技术方案是:一种计算机网络的内容发布方法,包括以下步骤:
A1、将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群,将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
B1、为每一个传递群或接收群建立一个反映所属群的信息的控制数据集,为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
C1、将控制数据集发布到该群的每一个节点,且使每一个节点保持本群最新的控制数据集;
D1、将需要传送的内容分成多个部分,设置传递群的节点负责传送的内容部分;
E1、传递群的节点将需要传送的内容部分分成多个内容块,并将内容块装配成内容包,内容包包括控制数据集的序列号标记;
F1、将接收该内容包的接收群的控制数据集发布到传递群的节点,并在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号;
G1、传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点;
H1、接收群中的节点接收到由传递群发送来的内容包后,根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;
I1、接收群中的节点将由各节点传送来的内容块还原成所传送的内容。
所述接收群接收到部分或者全部内容后,成为新的传递群,将已收到的内容继续传递到另一个接收群。
其中,步骤B1中所述的控制数据集的变化包括节点的加入、退出、任务的变化和节点状态变化,所述节点保存有多个序列号不同的控制数据集。
其中,所述步骤C1中使每一个节点保持本群最新的控制数据集的一种优选方案是包括以下步骤:
B11、服务器设定时间间隔或者在传送内容包前提取需维护的群的控制数据集;
B12、服务器将该群的最新控制数据集的整集与其之前的某个已有控制数据集的整集按符号比较,得出变化串;
B13、将变化串进行变形压缩后得到变化集,所述变化集带有最新控制数据集的序列号标记和作为比较基础的已有控制数据集的序列号标记;
B14、将变化集传输到该群的至少一个节点,以供节点根据其已有的控制数据集更新为最新控制数据集。
其中,步骤B12中所述的符号的长度优选为一个字节或两个字节。
其中,所述步骤B13中变化串进行变形压缩后得到变化集包括:[开始标记][新控制数据集的序列号][旧控制数据集的序列号][偏移1][变串头部1][变串1][偏移2][变串头部2][变串2]…[偏移i][变串头部i][变串i][校验和][结束标记],其中,偏移至少包括可变长编码的偏移长度,变串头部至少包括可变长编码的变串长度,变串为新控制数据集与旧控制数据集比较有变化的部分;i为变化集中变化串的数量,i为大于或等于0的整数。
本发明的进一步改进是:群内各节点还依赖本群的控制数据集对内容进行处理,包括对接收到的内容包进行合法有效性检查、转发内容和补发内容。
所述内容可以为音/视频数据、流数据、计算机文件、网络上的UDP数据包、控制数据集或控制数据集的变化集。
本发明的更进一步改进是:按一个预先设定的方法将接收群的节点划分为多个支持小组,等待内容包的节点在超过约定的接收时间内未能收到内容包时,优先向支持小组的其它节点发出补包请求,要求该节点补发其所缺内容包。
在内容发布过程中,还包括以下步骤:
A2、根据接收群中节点j能用于内容上传的带宽Wj,***选择一个合理的上传速率Uj
B2、控制接收群的节点j按照***所指定的上传速率Uj参与上传内容服务,其中j=1,2,….N,N为接收群节点的数量;并且所述上传速率Uj满足下面关系式:
(U1+…+UN)+L*D≥f(N,D)
其中,D为内容发布的速率,L为内容以D速率重复发送的倍数;f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;L*D为传递群所有节点提供的上传速率之和。
其中,所述步骤A2中***可以通过以下步骤选择合理上传速率Uj
当节点j能用于内容上传的带宽Wj小于或等于节点为内容提供的平均上传速率为Uavg时,选择Uj=Wj
当节点j能用于内容上传的带宽Wj大于节点为内容提供的平均上传速率为Uavg时,选择的Uj应满足Uj≥Uavg
当参数Wj、L和N发生变化而不能满足条件(U1+…+UN)+L*D≥f(N,D)时适当修改参数Uj、L和D;或者当参数Wj、L和N发生变化,需要且可以改变参数L或者D时,适当修改参数Uj、L和D。
为达到上述目的,本发明还提供一种计算机网络的内容发布方法,包括以下步骤:
A3、将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群,将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
B3、为每一个传递群或接收群建立一个反映所属群的信息的控制数据集,为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
C3、将控制数据集发布到该群的每一个节点,且使每一个节点保持本群最新的控制数据集;
D3、将需要传送的内容分成多个部分,设置传递群的节点负责传送的内容部分;
E3、传递群的节点将需要传送的内容部分分成多个内容块,并将内容块装配成内容包,内容包包括控制数据集的序列号标记和交换类型标记;
F3、将接收该内容包的接收群的控制数据集发布到传递群的节点,并在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号;
G3、传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点;
H3、接收群中的节点接收到由传递群发送来的内容包后,根据内容包的交换类型标记决定该内容包是否需要在群内交换,当需要交换时根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;
I3、接收群中的节点将由各节点传送来的内容块还原成所传送的内容。
在步骤H3中,接收到内容包的节点还根据内容包的交换类型标记决定该内容包是否需要向其它的接收群发布。
为达到上述目的,本发明还提供一种计算机网络的内容发布***,包括:用于将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群的分群装置,所述分群装置将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;用于为每一个传递群或接收群建立一个反映所属群的信息的控制数据集的控制数据集生成装置,所述控制数据集生成装置还用于为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;用于将控制数据集发布到该群的每一个节点、且使每一个节点保持本群最新的控制数据集的发送装置;用于将需要传送的内容分成多个部分,并设置传递群的节点负责传送的内容部分的第一处理装置;用于控制传递群的节点将需要传送的内容部分分成多个内容块、并将内容块装配成内容包的第二处理装置,所述内容包包括控制数据集的序列号标记;所述发送装置还用于将接收该内容包的接收群的控制数据集发布到传递群的与点;用于控制传递群的节点在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号的第三处理装置;用于控制传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点的第四处理装置;用于控制接收群中的节点在接收到由传递群发送来的内容包后,根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点的第五处理装置;用于控制接收群中的节点将由各节点传送来的内容块还原成所传送的内容的内容还原装置。
所述控制数据集的变化包括节点的加入、退出、任务的变化和节点状态变化,所述节点保存有多个序列号不同的控制数据集。
其中,所述控制数据集生成装置包括:用于使服务器按照设定时间间隔或者在传送内容包前提取需维护的群的控制数据集的控制数据集提取单元;用于将该群的最新控制数据集的整集与其之前的某个已有控制数据集的整集按符号比较、得出变化串的比较单元;用于将变化串进行变形压缩后得到变化集的变形单元,所述变化集带有最新控制数据集的序列号标记和作为比较基础的已有控制数据集的序列号标记;用于将变化集传输到该群的至少一个节点、以供节点根据其已有的控制数据集更新为最新控制数据集的传送单元。
所述的符号的长度为一个字节或两个字节。
所述变化串进行变形压缩后得到变化集包括:[开始标记][新控制数据集的序列号][旧控制数据集的序列号][偏移1][变串头部1][变串1][偏移2][变串头部2][变串2]…[偏移i][变串头部i][变串i][校验和][结束标记],其中,偏移至少包括可变长编码的偏移长度,变串头部至少包括可变长编码的变串长度,变串为新控制数据集与旧控制数据集比较有变化的部分;i为变化集中变化串的数量,i为大于或等于0的整数。
还包括用于使群内各节点依赖本群的控制数据集对内容进行处理的第六处理单元,所述第六处理单元用于对接收到的内容包进行合法有效性检查、转发内容和补发内容。
所述内容为音/视频数据、流数据、计算机文件、网络上的UDP数据包、控制数据集或控制数据集的变化集。
本发明的进一步改进是还包括拥塞控制装置,所述拥塞控制装置包括:用于根据接收群中节点j能用于内容上传的带宽Wj选择一个合理的上传速率Uj的速率选择单元;用于控制接收群的节点j按照***所指定的上传速率Uj参与上传内容服务的第七处理单元,其中j=1,2,….N,N为接收群节点的数量;并且所述上传速率Uj满足下面关系式:
(U1+…+UN)+L*D≥f(N,D)
其中,D为内容发布的速率,L为内容以D速率重复发送的倍数;f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;L*D为传递群所有节点提供的上传速率之和。
为达到上述目的,本发明还提供一种计算机网络的内容发布***,其特征在于包括:用于将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群的分群装置,所述分群装置将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;用于为每一个传递群或接收群建立一个反映所属群的信息的控制数据集的控制数据集生成装置,所述控制数据集生成装置还用于为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;用于将控制数据集发布到该群的每一个节点、且使每一个节点保持本群最新的控制数据集的发送装置;用于将需要传送的内容分成多个部分,并设置传递群的节点负责传送的内容部分的第一处理装置;用于控制传递群的节点将需要传送的内容部分分成多个内容块、并将内容块装配成内容包的第二处理装置,所述内容包包括控制数据集的序列号标记和交换类型标记;所述发送装置还用于将接收该内容包的接收群的控制数据集发布到传递群的节点;用于控制传递群的节点在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号的第三处理装置;用于控制传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点的第四处理装置;用于控制接收群中的节点在接收到由传递群发送来的内容包后,根据内容包的交换类型标记决定该内容包是否需要在群内交换,当需要交换时根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;用于控制接收群中的节点将由各节点传送来的内容块还原成所传送的内容的内容还原装置。
本发明提出具体而有效的实现“多对多”传输方法,该方法的优点是:群(以管理CDS方式)可以很好地管理动态进出网络的节点,而群对群的拓扑结构则能满足不同场合的“多对多”传输需求。与现有技术相比,个明显不同之处是,传递的成员存在一个协作性的任务分配。具体的效果有:1)本发明将参与内容传输的节点分为传递群和接收群,并为每个群建立控制数据集,通过控制数据集实现对节点的实时管理,使传递群的节点根据控制数据集记录的节点的通信信息,将内容分块打包传送给接收群的节点,接收群中接收到内容包的节点再根据控制数据集将内容包在群内交换,从而完成了内容从对多个节点同时传送到另外的多个节点,并且相对于已有技术提高了内容传送速度。2)更新控制数据集时,只传输控制数据集变化部分,还可以对所述变化部分进行适用于实时环境的处理简单和耗时少的压缩处理,实现了控制数据集的低开销更新。3)通过为每个节点选择合理的上传速率,方便构造出能充分利用各节点能力的传输调度,有效地减少了网络拥塞。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种实施例的流程图;
图2是本发明一种实施例的内容包的结构图;
图3是本发明一种CDS示意图;
图4是本发明一种G2G内容传输示意图;
图5是本发明一种CDS的变化串进行变形压缩的示意图;
图6是本发明一种G2G流动方法流程图;
图7是本发明一种G2G/CDS和G2G流动方法应用的体系结构图;
图8是本发明一种G2G拓扑结构示意图。
【具体实施方式】
本发明的核心内容是将参与传输的节点分群,将需要传输的内容分块,并采用控制数据集(简称CDS)进行监控及更新,即每一个群都有CDS,各成员实时维持相关的CDS,众多操作依赖于CDS。
本发明可应用于计算机网络环境,在本发明中,节点是网络内具有计算功能的处理单元,例如,个人计算机(PCs),掌上设备,多处理器***,基于微处理器可编程的消费电子设备,网络PC机,微型计算机,桌上电脑,便携式计算机,具有微处理器或者微控制器的消费应用设备,路由器,网关,集线器或者类似的设备
网络是由多个节点组成,但并非所有的通信都是“多对多”通信,为了区别现有技术,我们给定“多对多”定义:
定义1:“多对多”传输是在一定时间内将内容从多个节点传输到另一些节点,并存在多节点协作传输过程。
“多对多”传输具有时效性和协作性,所传输的内容存在分散性。
G2G传输就是一种“多对多”传输。群是一些具有相同属性节点的聚合。内容,网络速率,地域,距离,延时,节点标识,稳定性(在线时间、丢包率),内容开始接收位置都可以作为群的属性。但不限于此,任何跟任务,行为,个体的差异,标识有关的属性也可以作为群的属性。属性是可以多选的,把预先设定不再细分的属性称为基本属性,而由两个基本属性以上组合的属性称为组合属性。同一任务可以有多个属性相同的群
(非空的)群具有一个或多个节点成员。将参与内容传输的节点划分成至少两个群,负责内容传送的群叫传递群,接收由其他群传送内容的群叫接收群。这样的内容传输可以看作为群对群传输,即将传递群的内容传送到接收群,简称为G2G。
由群所组成且涉及群与群关系的网络称为群对群网络。下面是G2G网络的2个主要特性:
特性1:群具有组织性和具有多节点特征。为此,用G2G通信来替代多对多网络通信。我们知道,多对多网络通信能大大提高效率,但实现起来却非常困难。用“群对群”替代“多对多”,正是尝试解决问题的开始,原来的“多”是任意或者是无组织的,而群则可以围绕着属性来建立,是一个有组织的“多”,从任意的“多”转变为有规则的“群”是有效的方法。
群还具有动态性,即允许节点动态进出。群具有组织性使得群具有可管理性,是下面所论述的节点管理的基础,并使得G2G网络的通信是容易管理的,或者说,是受控制的。
特性2:基本的G2G传输的传递群与接收群之间是多对多的连接。这是G2G网络协作传输的依据。我们可以建立传递群节点和接收群节点之间的全连接拓扑结构,以此来安排传输路由的编程。一些实际上并不连通的边,可以看作是该连接边的某项权值为0。进一步地,每一条连接边赋上一些所需的权值(例如,上传带宽),以这些权值进行优化路由。
定义2.G2G传输:将源端(群)的内容传送到目的群。
假定内容已经分布在传递群的多个节点上,一次从传递群传送到接收群的过程有:
定义3.基本的G2G传输:是指将传递群中一个或多个节点上的内容协作地传送到接收群的部分或全部节点。但在很多场合也省略地称为G2G传输。
图8是一个G2G传输拓扑结构示意图:G2G传输从源端(群)传送到目标群,有可能经过多个中间的群。G2G传输是由一个或者多个基本的G2G传输组成。我们可以用多个群来完成大型的内容发布。
图8中,群G1同时负责对群G2和群G3的传送,是两个基本的G2G传输。G2和G3可以具有相同的属性,即都是G1的接收群,也可以有不同的属性,例如,G2负责管理A地区节点的接收群,G3则为负责B地区节点的接收群。
G2G传输有群间传输和群内传输两种,为了区别不同的传输,引用以下概念:
传递(Transfer):传递群将内容传输到接收群。
交换(Exchange):在一个群内,成员与其它成员相互之间传输内容
对于G2G,普遍适用的方法有:
G2G传输原理:将所需传输的内容分成多个块;为参与传输内容的多个节点分成多个群;由拥有内容的传递群的部分或全部的成员参与所述的内容块分配,所述的成员将分配的内容块分别传输给需要得到内容的接收群的部分或全部成员;如有需要,接收群的成员将从所述的节点发送来的内容块再次交换到群内的其它成员。
如果想向一个节点传送内容包,就必须有这个节点信息。群会有一些关于节点的信息,如果有多个群,为了区别,也可以有与群相关的标记信息,这些信息,称之为群的信息。
为了区别所传输的信息(内容),群的信息数据表,特别是控制通信和任务的控制数据,称为控制数据集,简称为CDS。有信息的群更具有操作性。CDS包括任务的描述和路由策略,可以使得根据内容包和CDS的信息,即可以知道构造该内容包发布的路由。
事实上,群的很多操作都是围绕着控制数据集来进行的,例如分群或者状态的变化,都反映到CDS,更新CDS。图3是一个CDS应用的例子,用户加入所带来的通讯必要数据,分群的信息和任务信息等等都加到CDS,其它的用户退出,通讯状态变化,任务状态变化,也应该及时反映在CDS,及时更新CDS。
标记会被我们经常地使用,例如,表明本CDS是属于那个群的,用于传送什么内容,等等。而现在所说CDS的是本发明的一个特别标记,即变化标记,是按照其变化的次序来识别不同时期或状态的数据集。通常为每个CDS设置一个序列号(SN),对于一段时间内或每一次CDS的变化,用不同的SN加以区别。
采用传CDS变化部分时,一般会需要一个旧的CDS作为参照。为了区别新旧不同的CDS,当CDS有变化时,依赖于CDS的SN来识别。
为了更新时只传送变化部分,需要将现在新的CDS跟以前的相比较,形成变化集,然后将变化集传送给节点,节点可以根据变化集和已存储在节点的某一个旧的CDS一起还原成新的CDS,这些过程,都需要按顺序识别的SN标记。
采用以G2G方式来传送变化集时,因为是连续产生的,有可能有多个变化集,为了区别,变化集也需要SN标记,通常是产生变化集所采用新和旧CDS的SN的组合。
最后,当G2G依赖于CDS进行传输时,利用SN标记,可以设定每一个传送包依赖于一个具体SN标记的CDS,这种做法带来的好处有:
(1)节点可以同时存在多个不同SN的CDS,内容包交换时,每一个内容包可以有不同的传送路由;
(2)当节点接收到传送包而发现没有SN所指定的CDS时,可以及时请求更新,从而有利于CDS的维持;
(3)利用内容包的CDS的SN标记,鉴别出内容包的合法性和时效性,维持了数据安全。
综上所述,CDS按顺序识别的标记(SN)很重要。
在本发明里,基本的G2G传输和CDS相互依赖,又能一起很好地分发内容,以致可以看成两位是一体的。为了强调这种关系,或者可以表示为G2G/CDS协议。
定义G2G内容传输时内容包的结构,其中至少包括CDS的序列号,种实施例的具体结构如图2:
Content ID:内容标志。用于区别不同的内容发布。
Packet No:内容包的编号。通常用连续的编号来表明该内容包在内容的位置。
CDS SN:内容传输时所使用CDS的SN。
Exchange Type(ET):交换类型。值为0时,接收该内容包不需交换;值为1时,内容包需要交换,并将转发的内容包的ET置0;值为2时,节点将该内容包以发布树方式在接收群发布。
Block Length(BL):需传送内容块的长度。
Content Block:需传送的内容块。
G2G/CDS协议:为需要发布的内容建立一个CDS来管理参与发布的节点,并实时维护及更新各节点的CDS。为每个CDS设置一个与其对应的序列号(SN),对于每一次或一段时间内CDS的变化,用不同的SN加以区别,对于某一个群的CDS,节点可以保存多个SN不同的CDS
传递群将需要发布的内容分成多个内容块,打包编号,并在内容包加上传递时使用CDS SN,然后传递到接收群;接收群的节点接收到一个内容包时,首先判断该内容包是否正确,判断的方法之一是内容包的“CDS SN”的值是否合法有效;如果是有效的,则根据内容包的“CDS SN”所指向的CDS在群内交换,即将内容包传递给群内需要该内容包的节点。或者根据ET的值判断内容包是否需要交换,需要交换时使用“CDS SN”所指的CDS进行传输。
现在来看看基本的G2G传输和CDS两者如何紧密地一起工作的,就以在内容传输过程中用户加入和离开为例。
用CDS(f)表示SN为f的CDS,共有n位成员,内容包k用P(k)表示。传递群正在传送P(k),P(k)里面“CDS SN”指示使用CDS的SN为f,接收群的一个节点收到P(k)后,根据ET的值判断是否需要交换,交换时,修改P(k)的ET值,并根据CDS(f)的信息向其它(n+1)位节点转发P(k)。当没有成员及状态变化时,该节点继续接收新的由传递群发送的内容包,然后使用同样的CDS(f)转发P(k+1)。
当增加了一位成员,CDS(f)变成了CDS(f+1),共有(n+1)位成员,传递群正在传送P(k+1),P(k+1)里面指示使用CDS的标记为f+1,接收群的一个节点收到由传递群发送的P(k+1)后,根据CDS(f+1)的信息向其它n位节点转发P(k+1)。
在增加了一位成员的传输过程中,即使节点接收P(k)和P(k+1)出现乱序,也没有关系,节点同时存在CDS(f)和CDS(f+1),可以完成P(k)和P(k+1)的正确转发。
同理,当某位成员离开时,CDS(f)变成了CDS(f+1),共有(n+1)位成员,传递群正在传送P(k+1),P(k+1)里面指示使用CDS的标记为f+1,接收群的一个节点收到由传递群发送的P(k+1)后,根据CDS(f+1)的信息向其它(n+2)位节点转发P(k+1)。
传送的任何P(k)里面都有一个指示使用了哪一个序号的CDS,例如f或者为CDS(f)。如果节点不存在CDS(f),有可能是两种情况之一:(i)如果f是本内容传输合理的序号,说明节点缺CDS(f),此时,可以及时更新CDS(f)或向其它节点要求补发CDS(f);(ii)如果f是非法的序号,则说明P(k)不是本次传输内容的内容包,可能是过期的内容包,还有可能是恶意的内容包,此时,丢弃P(k)。所以,CDS对于G2G传输的强壮性和安全性有莫大的好处。
在一个时间为t的传输生命周期里,如果有n位成员(或n成员次数)参与过传输,则会在CDS出现有关节点加入和退出的信息。设节点加入的信息长度为p,退出的信息长度为q,传输生命周期中成员变更所形成的信息总量S将有:
S=n(p+q)                                        (1)
前面所述,节点加入和退出反应在CDS上,维护CDS必须是实时,旦CDS有变化,应及时更新各成员的CDS。显然,每次更新时传输整个CDS是不可取的,应该采用数据压缩处理。传统的数据压缩(比如字典压缩)耗时较多,难以满足实时传输要求。
实用上,维护CDS实时更新必须是低开销。我们的方法是,更新CDS时,只传输CDS变化部分。所述变化部分之一是指增加节点的信息,如果增加i个节点,则需将长度为i*p的信息发送给各个成员节点。在传输生命周期中增加节点的信息累计长度为n*p。节点的退出如同样在处理,得出:
WCDS=S/t                                    (2)
等式(2)表明,在不计算包头(例如,UDP包头)且只考虑加入与退出的情况下,在传输生命周期中,向各成员更新所传送的信息总量将不超过S。由此得出,每位成员维护CDS所需的平均网络带宽为WCDS
例如,当n=10000,p=200bits(包含节点ID,IP,端口,状态,及少量附加信息,一般情况下,200bits已经足够),q=20bits(节点退出的信息只需识别节点信息就足够),t=1小时=3600秒(小于已有P2P***的实测值),则WCDS=611(bps)。相对于1M(bps)的内容流速率,维护的开销不到节点用于内容传输带宽的0.1%。
针对传输变化部分可以采用更好的数据压缩处理,可以使得维护CDS所需网络带宽比WCDS更低。但是,所述的数据压缩处理必须适用于实时环境,应该是处理简单,耗时少。所以,本发明提出解决其技术问题所采用的具体技术处理步骤如下:
1、服务器设定时间间隔或者在传送内容包前提取需维护的CDS;
2、服务器将最新CDS的整集与以前的某个CDS的整集,特别是最近的CDS的整集,按符号比较,得出变化串,比较用的前CDS可以为空集;
3、将变化串进行变形压缩后得到变化集,变化集带有现在CDS的SN标记和为比较所用的CDS的SN标记;
4、将变化集传输到一个或多个节点,以供节点根据其已有的CDS更新为最新CDS。
步骤1中比较所用的前CDS可以为空,变化串可以为最新的CDS。
步骤2所述符号的长度为一个字节或两个字节。
上述步骤2带来的好处主要有:
1)整集比较代替了按记录比较,容易提高效率,更为简单方便。因为按记录比较时,需要逐项比较,比如,第i记录变化时,标记为:[i+第i记录内容],“i”代表第i个记录,然后将[i+第i记录内容]传输到客户机,客户机根据接收到的内容只更新第i个记录。所以,按记录比较会很啰嗦,更为麻烦的,很多场合并不知道数据集的记录划分
2)按符号比较代替了按记录比较,可以传送更短的数据。
更新传输时,一般会把变化部分变形为一个变化集,以方便传输。
虽然对于每一位成员维持CDS所需的网络带宽很小(例如,1K),但假如服务器需要对每一位成员都传送的话,那就会变得很大(例如,10000成员时服务器需带宽10M)。所以当群的成员数量大于一个预先设定的值时,就应该采用以P2P方式来传送变化集,特别是采用G2G的传送方式。此时,服务器对于更新CDS所需的带宽,可以控制到与单个成员所需一样,例如,10000成员时服务器需维持带宽为1K(bps)。为了实施方便,服务器用于更新CDS的带宽也可以略为宽松些。
采用G2G方式传送CDS更新部分的另一个好处,减少服务器因太多次数的传送所造成的传输延时,例如,假如10000成员的群,原本需要分别传送至10000个节点,现在只传送一次就行了。
用一个或者多个群管理参与一个内容发布的节点;用多个基本的群对群传输来实现大型的内容发布任务。
下面以一个具体实施例进一步说明本发明。
当内容由传递群传送到接收群时,要进行内容块分配,即指定传递群部分或全部成员分担各自的内容块传送。分配时,需要知道参与传递成员的相关信息,这些相关信息由传递群的CDS来提供,为了方便,分配的作主要由用户管理服务器来完成。用户管理服务器可以是专职的,也可以是某一个负责传送内容的节点兼职。
假如传递群有m位成员拥有内容C。
一般来说内容经过某个单元的多个节点传输到接收端,是需要对内容进行分割,例如内容C分割为C1和C2,经传输后,使得:
f(C1,C2)=C
f是还原函数,C1和C2可以有相同部分(更多的是为了抗网络传输的变异而采用的冗余),为了简化实施,这里采用是不相交的分割,即:
C1∪C2=C
C1∩C2=Φ(空集)
实际上,可以将内容分成多块,例如:
C={B1,B2,...,Bm,...}
这样,分割起来比较方便,例如:
C1={B1,B1+m,B1+2m,...}
C2={B2,B2+m,B2+2m,...}
所以,在本实施例中,传递群将内容传递到接收群是:根据传递群CDS所记载的信息,传递群将内容C分割为m个部分,使得节点k的内容部分为Ck,传递时,节点k将Ck传递到接收群的多个节点。
在图4G2G内容传输示意图的具体实施例中,402、404、406分别表示三个群,402所示的群只有一个节点,该群作为传递群将内容C分成两部分C1和C2,分别传送给404所示的群。404所示的群既可以作为接收群,当接收内容C之后,又可以作为传递群,传递内容C到406所示的接收群。
图4说明传递群可以存在一个或多个节点,传递群的多个节点可以其同传送一个内容,例如,节点2传送C1部分,节点3传送C2部分。当节点2收到C1部分内容和节点3收到C2部分内容而在交换之前,节点2和节点3内容之间可以是不尽相同的,但依然可以继续安排G2G传输。
图4所示的实施例中,接收群的节点接收到传递群所传送的内容包,通常是需要再次向群内其它节点传送,例如节点4接收到C1后,需要再次向节点5和节点6传送。节点向群内其它节点交换内容包时,可以逐一向其它节点传送内容包,当群节点数较多时,也可以根据CDS构成此内容包的发布树进行交换,即此内容包传送给部分节点,由这些部分节点再次向其它节点传送。
图4所示的的进一步的实施例中,是一个大型内容的G2G发布方法,步骤包括:
将需传输内容分成多个部分;
用户按大致有序接收数据,用户具有一定的内容存储能力,记下最后接收到内容块的块号;
用户登录时,带上最后接收的块号,根据块号判断所属的内容部分,将属于同一部分内容的用户组成会话群;
由已接收过内容部分的群负责传递已存在的内容到有需要的群,若未发现有已接收过内容部分的群,则由服务器负责传递内容。可以选择的方法是:设已接收过前n-1部分内容且正在从第n部分开始接收内容的群为Gn,当Gk(k<n)请求传递,会从Gk+1开始,查找第一个合适负责传递的群;
如上述所设的群Gn,群的编号n是动态变化的,当Gn接收完第n部分内容,正准备接收第n+1部分内容时,Gn转变为Gn+1
传输中,形成群Gk从群Gk+1接收并交换内容,同时Gk向Gk+1传递该群已存在内容的过程。群之间的传递关系可以为:
服务器=>Gn=>Gn-1=>...=>G1
这是一个有效、高容量和高性能的G2G文件下载方法,也可以支持实现VOD(按需点播)***。例如,假设有一个传送速率为1Mbps,时间为100分钟的视频内容。将视频内容分成100个接收部分(每一分钟内容为一个部分),则最可以组成100个群,由已接收过内容的群负责传递给未接收的群。假设群的最大用户数为10000,则服务器的一个1Mbps的数据流最多可以支撑起100万用户的内容传输。
大型内容的G2G发布方法实施关键在于“多对多”传输。例如,Gk+1传递到Gk时,Gk+1可能有多个节点,此时,G2G传输表现为将存在于传递群(Gk+1)多个节点的内容同时协作地传递到接收群(Gk)的多个节点。
大型内容的G2G发布方法也表明本发明与现有技术的不同:与“一对多”传输相比,是多源的,即由多个节点负责发布内容;与“多对一”传输相比,是协作传输,即对于基本的G2G传输,存在全局的传输调度。还有一个不同的是:除了存在节点的内容再次传送外,还存在群的内容再次传送,这是多节点协作的再次传送。
内容可以是音/视频数据、流数据、计算机文件、网络上的UDP数据包、控制数据集或控制数据集的变化集,当将CDS的变化集作为传输内容时,通常加特别标记用来区别正常的内容传送,作为内容的CDS有其现时的SN,在传送的内容包附上变化前所使用的SN。
G2G/CDS处理的流程图如图1所示,包括以下步骤:
在步骤102中,将新节点加入到具体的传递群或接收群,接收群可以设置节点数量范围,当超出范围时,可以组成多个接收群。
在步骤104中,用户管理服务器更新有变化的群的CDS,并修改CDS的SN。
在步骤106中,当CDS发生变化时,执行步骤110,更新相关节点的CDS。
在步骤108中,将要求传送的内容分成若干部分,根据传递群的CDS,制定传递群的节点负责传送内容块规则,设置负责传送内容的节点所传送的内容部分,例如,节点j应该传送的内容集为Ck,然后执行步骤114。
在步骤112中,传递内容先经过读入处理,将每个内容部分分成若干内容块,以内容块为处理单位,这样,可以将文件和流数据进行统一处理,然后执行步骤114。
在步骤114中,负责传递的节点,例如节点k,将读入内容块判断,判断该内容块是否属于Ck,节点k只传送该节点负责的内容部分,如果是则执行步骤116,如果不是则不传送。
在步骤116中,负责传递的节点,例如节点k,将需要传递的内容块根据内容包结构进行打包,然后执行步骤118,将内容包分别传送给接收群的不同节点,然后执行步骤120。
在步骤120中,当接收群的节点收到内容包时,模块120进行相应处理,包括内容包合法有效性检查、转发内容、补发内容和还原内容。通常根据内容包的ET标记进行判断是否需要转发内容包。
列举一个传递群节点k读到内容块,判断是否属于本节点发送,并将内容块发送的算法:
算法1:
while(send_content_true)
     for i=1 to n
             while(get_new_packet(read_packet))
                  if(read_packet∈Ck)
                       send read_packet to node i
                       break;
                  end if
     end for
为了方便,用内容读入函数将文件和流数据进行统一处理,例如,算法1的函数get_new_packet,得出连续多个内容块或者打包后的内容包。读入函数表明可以将内容表现为内容流的形式,而不管它是实时或者是已经存在的。
如果节点需要补数据包,可以按一个预先设定的方法让接收群的节点划分为多个支持小组,等待内容包的节点在超过约定的接收时间内未能收到内容包时,首先向支持小组的其它节点发出补包请求,要求该节点补发其所缺内容包。
划分支持小组的方法可以有多种,其中一种方法可以是:假如支持小组最多有2位成员,可以设成员编号相邻的2个为1个支持小组。最后一组可能只有1位成员。只有1位成员时向其它小组或者服务器请求补数据。
采用正常传输时,尽量让支持小组的节点在较短的时间内接收到相同的内容包的策略。假如支持小组设为2个节点,则设置节点i和节点(i+1)为同一支持小组。此时,算法1可以修改为:
算法2:
while(send_content_true)
     for i=1 to n step 2
             while(get_new_packet(read_packet))
                  if(read_packet∈Ck)
                      send read_packet to node i;
                      send read_packet to node(i+1);
                      break;
                  end if
     end for
因为接收群有两个节点同时收到同一内容块,所以,在交换时,两个节点各自负责群的一半节点的内容块交换。
CDS更新处理实施例:在服务器方,在将最新CDS(n)按照整集方式与其前的某一个CDS(k)(k可以等于n+1,k也可以小于n+1)比较时,是采用按符号比较,符号的划分比较灵活,不必局限于一个项目,可以定义一个字节或两个字节就是一个符号,而一个项目往往有几个字节甚至十多个字节,所以一个项目可以划分为若干个符号,这种比较方式,缩小了对比的单元,对于只传输变化部分的方法,对比的单元越小,对比后所得出的变化串的字节数越少。然而只有变化串还无法使客户机更新数据集,还需要告诉客户机该变化串的位置,所以本实施例每个变化集包括开始标记、新的数据集标记、旧的数据集标记、不为空时至少一个变化串元素及该变化串元素相对位置的偏移值,变化串元素包括变化串元素头部和变化串,变化串元素头部包括变化串头标记和变化串长度。本实施例的变化集的变形方法及效果如下:
首先,改进比较对象,将按元素(记录)的比较改为按“符号”的形式,“符号”统指字节、半字、字、双字、或任何其它预先选定改善的二进制数,为便于理解,这里假定数据是字节形成的,可以为一个字节或两个字节。
设w为相对应于数据集开始到此的位置,新的数据集按从头到尾顺序跟旧的数据集比较,提取变化部分,新的数据集组成的变化集可以分解为:
<变化串1单元><变化串2单元>…<变化串i单元>…
<变化串i单元>可以表示为:
[变化串i起始位置][变化串i长度][变化串i]
但是起始位置通常是由4字节数字表示,需要改善,将相对应于数据集头的起始位置改为相对应于上一个变化串结束位置的起始位置,此相对位置可以用可变长编码,连同头标记用可变字节数(1-4字节)的数字表示,从而达到压缩目的。串的长度也用可变长编码,连同串头标记用可变字节数(1-4字节)的数字表示,能进一步压缩。
<变化串i单元>改进表示为:[偏移i][变化串头部i][变化串i]
这里[*]表示两小串相连接成大串,并且有:
偏移:至少包括可变长编码的偏移长度。还可以在偏移的头部设置1-3bits宽的偏移头标记,用来识别不同的串或者标记。采用偏移头标记时,当偏移长度可以省略此项偏移。
变化串头部:至少包括可变长编码的变化串长度。还可以在变化串头部的开始位置设置1-3bits宽的变化串头标记,用来识别不同的串或者标记。
称上述简化后的标记为按相对位置标记法。按相对位置标记法,具有以下效果:
1.在很多动态变化的数据集,通常在一定时间内变化的量很少,特别是采用较小长度的符号比较,在只传输变化部分的传输中,可以大大减少传输量。
2.按相对位置标记法和可变长编码,有效减少作标记用的附加信息。
3.比较的计算非常简单,与数据集的具体内容无关,只是符号比较,适用于动态变化网络的实时环境。
一种加上传输附加信息后的变化集为:
[开始标记][新的数据集标记][旧的数据集标记][偏移1][变串头部1][变串1][偏移2][变串头部2][变串2]…[偏移i][变串头部i][变串i][校验和][结束标记]
如图5所示,I是CDS(n+1),II是CDS(n)。IV是本实施例中变化集的组成。例如,第i个项目中中两个字节由“CD”变化为“MN”,该项目的总长度为6个字节,III是现有技术中变化集的组成,是将最新数据集Pn与其前一个数据集Pn-1采用按项目比较得出,位置标记(即标记第i个项目)需要4个字节,变化串长度需要2-4个字节,变化串为6个字节,其需要12-14个字节。IV是本实施例中变化集的组成,经变长变码压缩后,偏移需要1-4个字节,通常需要一个字节;变化串长度需要1-4个字节,通常需要一个字节;变化串需要2个字节,所以共需要4-10个字节。可见本实施例由于采用按符号比较,变化串的字节数比较少,压缩成的变化集的字节数也少,从而使传输量减少。通常情况下,一个项目会包含几十个的字节,甚至上百个字节,而发生变化的通常是其中的几个字节,这种情况下,本发明的效果更加显著。
节点接收到变化集后,根据变化集中的已有的控制数据集的SN,查找出该已有的控制数据集,变化集和已有的CDS一起,可以还原成新的CDS。
应该理解,变化集应用本发明的发明构思所作出的不同变形也应属于本发明所保护的范围。
G2G/CDS通信协议解决了网络通信中的节点管理问题和内容如何传输问题。但G2G/CDS通信协议缺少保障通信QoS方法,为此,在本发明的另一个实施例中,提出在G2G/CDS通信协议基础上实现传输调度和拥塞控制的方法,来保障通信的QoS,称为流动方法,包括如下步骤:
在内容发布过程中,在接收群的节点j能用于内容上传带宽Wj范围中,***选择一个合理的上传速率Uj,让接收群的节点j按***所指定的Uj参与上传内容服务,其中j=1,2,….N,N为接收群节点的数量;并且所述上传速率系数Uj满足下面关系式:
(U1+...+UN)+L*D≥f(N,D)                                    (3)
其中,D为内容发布的速率;f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;假定接收群的节点j能用于内容上传带宽为Wj;L*D为传递群所有节点提供的上传速率之和。
流动方法的基本思想是:让参与内容发布的节点按一个***指定的速度提供上传内容传输。
内容发布的各节点上传速率之和等于各节点下载速率之和。在内容发布时分为源端和目的端,在这里,我们分别用传递群和接收群来表示和管理。提供内容上传的节点包括传递群的节点和接收群的节点,而下载内容的节点只能是接收群的节点。设DR为(接收群)各节点下载速率之和,US为传递群(源端)各节点上传速率之和,UR为接收群(目的端)各节点上传速率之和。即:
DR=∑Dj,Dj∈接收群                        (4)
US=∑Ui,Ui∈传递群                        (5)
UR=∑Uj,Uj∈接收群                        (6)
则有满足G2G传输的基本条件:
US+UR≥DR                                   (7)
这里,用符号‘≥’代替‘ ’是因为在传输过程中有可能丢包。
与通常使用的条件“发送节点的带宽≤接收节点的带宽”所表达的意思不同,条件(7)不是描述通讯能力关系,而是描述通讯时数据流的关系。
US和UR是可变的,但有一定范围,设最大值分别为US-MAX和UR-MAX,则有:
US-MAX=∑Wi,Wi∈传递群                    (8)
UR-MAX=∑Wj,Wj∈接收群                    (9)
对于内容发布,内容传输速率表示为D,假如接收群的成员数为N,则DR=N*D。或者表示为与N和D相关的函数DR=f(N,D),f(N,D)是接收群下载内容所需的下载带宽。
对于传递群,最节省带宽是内容以D速率不重复发送,但对很多情况下是不够,为了方便实施,突出内容传输速率D,设传递群提供L*D上传带宽(内容重复发送了L倍)。有另一种表达为:
US=L*D                                      (10)
不重复发送时L=1。
从条件(7)的变化得出,满足G2G内容发布的基本条件:
(U1+...+UN)+L*D≥f(N,D)                                (11)
Uj≤Wj,Uj∈接收群,(j=1,2,...N)
L*D≤US-MAX
D≤DMAX
通过改变条件(11)中的一个或者多个参数,可以实现各种条件的内容发布,尤其适用于动态变化的网络环境。这种传输方法又可以描述为:
G2G流动方法:
监控网络传输过程或经QoS反馈,通过改变L、D和各节点Uj中的一个或者多个参数,并且保证满足G2G内容发布的基本条件(11),进行分配传送,使网络传输得以继续,也能以希望的方式控制网络传输
设节点为内容提供的平均上传速率为Uavg,通常情况下,Uavg接近内容流下载速率D。节点j当Wj≤Uavg时选Uj=Wj,当Wj>Uavg时选Uj应满足Uj≥Uavg。当某些成员能力不够时,由有富裕上传带宽能力的节点和内容源端共同承担。上述选择的好处是,用者自我承担,(暂时)有困难人家帮忙。我们称此为用户自我承担原则。
原则上,算法1也是适用于节点按***指定的速度提供上传内容,因为在get_new_packet(new_packet)中的new_packet可以采用可变的长度,并且长度相关于Uj。也可以作较为明显表示的修改:
算法3.节点按***指定的速度提供上传内容的传递群端算法:
while(send_context_true)
     for i=1 to n{
           get_new_packet_by_length(Ck,new_packet,Ui);
           send new_packet to node i;}
函数get_new_packet_by_length(Ck,new_packet,Ui)表示从本节点待发内容Ck取一个长度与Ui成比例相关的数据包到new_packet。例如,设传递群的节点数为m,假设内传递群的节点k读入需传递的内容流的速率为Dk,则D=D1+D2+...+Dm。节点k上传到接收群的速率也为Dk,则设定t时间内由传递群的节点k安排传递到节点j内容块的长度和为:Uj/UR*Dk(字节)。节点j向群内其它节点也传送了同样字节数的内容。
让节点j按一个指定的速度提供上传内容传输的另一个实施的例子是:传递群传递到接收群节点的内容块长度是固定的,接收群节点将该内容块再次传送到其它节点时,是以发布树方式传送,发布树中某一节点j所传送下一级节点的数目是跟Uj成比例。
上述的例子说明让节点j按一个指定的速度提供上传内容传输可以有不同的方法,也可以在传输过程的不同环节,或者由多个环节一起计节点j完成按一个指定的速度提供上传内容传输。
一种G2G流动方法流程图的实施例如图6所示,包括以下步骤:
在步骤602中,判断(U1+...+UN)+L*D≥f(N,D)是否成立,当参数W1、L和N发生变化而不能满足条件(U1+...+UN)+L*D≥f(N,D)时,执行步骤604,当满足条件(U1+...+UN)+L*D≥f(N,D)时,执行步骤608;
在步骤604,判断是否需要写可以同时提高L和降低D,如果是,则执行步骤606,提高L和降低D;如果不是则执行步骤612,判断是否需要且可以提高L,如果是则执行步骤614,提高L;如果不是,则执行步骤620判断是否可以降低D,如果是则执行步骤622,降低D;如果不是则执行步骤626,进行相应处理。
在步骤608,判断是否需要且可以提高D,如果是则执行步骤610,提高D;如果不是则执行步骤616,判断是否需要且可以降低L,如果是则执行步骤618,降低L;如果不是则执行步骤624,合理安排上传速率Uj,例如适当修改参数Uj、L和D。
当参数Wj、L和N发生变化,需要且可以改变参数L或者D时(602、608和616模块),适当修改参数Uj、L和D(624、610和618模块)。
流动方法实施时,通常情况下,首先要确定L和D,然后再合理安排Uj(步骤624),给出两种Uj优选计算方法:
方法1:
1、计算合适的DR,且满足UR≥f(N,D)-L*D。计算Uavg=UR/N
2、首先,根据用户自我承担原则。节点j当Wj≤Uavg时选Uj,0=W1,当Wj>Uavg时选Uj,0=Uavg。节点剩余上传带宽Wj,1=Wj-Uj,0
然后,为有剩余上传能力的节点进一步分配上传速率:
U i 1 = ( U R - &Sigma; i = 1 , . , N U i , 0 ) W i 1 &Sigma; i = 1 , . , N W i , 1
3、Uj=Uj,0+Uj,1
方法2:
为了方便计算,做一些简化,速率是以传送标准内容块为单位,假定群内有N位成员,在一时间t内N位成员共需上传M块内容块。同样,节点的上传带宽表示为基本速率D0的倍数,上传速率为D0的成员在t时间内上传1块内容块。
统计上传速率为1D0的成员数量M1,上传速率为2D0的成员数量M2,…,分配时,先给每一位有上传能力的成员(Wj≥1D0)分配一内容块,不够时,在有剩余上传能力的成员(W1≥2D0)增加分配一内容块,再不够时,从有剩余上传能力的成员(Wj≥3D0)再增加分配一内容块,…
可以从M1,M2,…,计算出需要到Mk,即找到最小的k,使得:
(M1+M2+…+Mk)≥M
计算出k后,Uj=min(Wj%D0,k)*D0
上述步骤626中的相应处理包括以下步骤中的一个或多个:
A、允许丢掉数据时,丢掉未能及时传送的内容;
B、多比特率编码内容传输时,如有更低速率的内容接入,则选择进入;
C、按传输失败处理。
实现上述方法的***包括:用于将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群的分群装置,所述分群装置将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;用于为每一个传递群或接收群建立一个反映所属群的信息的控制数据集的控制数据集生成装置,所述控制数据集生成装置还用于为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;用于将控制数据集发布到该群的每一个节点、且使每一个节点保持本群最新的控制数据集的发送装置;用于将需要传送的内容分成多个部分,并设置传递群的节点负责传送的内容部分的第一处理装置;用于控制传递群的节点将需要传送的内容部分分成多个内容块、并将内容块装配成内容包的第二处理装置,所述内容包包括控制数据集的序列号标记;所述发送装置还用于将接收该内容包的接收群的控制数据集发布到传递群的节点;用于控制传递群的节点在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号的第一处理装置;用于控制传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点的第四处理装置;用于控制接收群中的节点在接收到由传递群发送来的内容包后,根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点的第五处理装置;用于控制接收群中的节点将由各节点传送来的内容块还原成所传送的内容的内容还原装置。
其中,所述控制数据集生成装置包括:用于使服务器按照设定时间间隔或者在传送内容包前提取需维护的群的控制数据集的控制数据集提取单元;用于将该群的最新控制数据集的整集与其之前的某个已有控制数据集的整集按符号比较、得出变化串的比较单元;用于将变化串进行变形压缩后得到变化集的变形单元,所述变化集带有最新控制数据集的序列号标记和作为比较基础的已有控制数据集的序列号标记;用于将变化集传输到该群的至少一个节点、以供节点根据其已有的控制数据集更新为最新控制数据集的传送单元。
还包括用于使群内各节点依赖本群的控制数据集对内容进行处理的第六处理单元,所述第六处理单元用于对接收到的内容包进行合法有效性检查、转发内容和补发内容。
还可以进一步包括拥塞控制装置,所述拥塞控制装置包括:用于根据接收群中节点j能用于内容上传的带宽Wj选择一个合理的上传速率Uj的速率选择单元;用于控制接收群的节点j按照***所指定的上传速率Uj参与上传内容服务的第七处理单元,其中j=1,2,….N,N为接收群节点的数量;并且所述上传速率系数Uj满足下面关系式:
(U1+...+UN)+L*D≥f(N,D)
其中,D为内容发布的速率;f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;L*D为传递群所有节点提供的上传速率之和。
图7是一种如何使用G2G/CDS和G2G流动方法的通用方法的一种体系结构,将体系分成了管理层702,支撑层712,调度层716和应用层720。
管理层有一个分群模块706,负责对用户进行群的管理,具体地,当用户登录时,便通过分群来进入到具体的群,例如传递群或者接收群。所述状态变化是通过监控模块708来识别,监控可以周期性查询,又可以是单一事件的查询,以及QoS等各种反馈信息。
分群和监控所形成的信息记载在群的信息-CDS 704上,CDS为支撑层和调度层提供直接的支持。更新模块710则负责相关的群以及具体的成员的CDS的更新。
支撑层提供通信基础,即G2G传输模块714,包括Transfer和Exchange传输。
调度层主要由G2G流动方法构成的模块718。
应用层由各种工具722,例如建立和监控内容发布;各种具体应用724,例如,分布式计算(用在科学研究、金融业等),流媒体,内容和文件共享,及通信与协作***;各种服务726等组成。
本发明还可以在分布式计算环境中实施,在这些环境中,任务由通过基于有线或者无线网络链接的节点来执行。这些节点,如远程处理装置或设备,可以是专门构造用于所需目的,也可以是与根据本文的理论所编写的计算机程序配合使用的各种通用机器。在分布式网络环境中,程序既可以存储在本地也可以存储在远端的存储器存储设备中。
本发明还可体现为计算机可读介质中的计算机可读代码。计算机可读介质将被理解为包括任何用于以计算机可读的形式来存储或发送信息的机制。例如,计算机可读介质包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪烁存储设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。
已为描述和说明的目的介绍了本发明,但非意指其为详尽无遗的或将其限制在该揭示之形式下的发明。在需要避免使一个或多个发明难以理解的情况下,描述可能省略相关领域的技术人员已知的某些信息。对于本领域一般技术人员来说许多修正和变化将是显然的,例如,这些步骤可以不同的顺序执行,也可以增加、删除、更改某些步骤,所有这些变化都被认为是所声明的本发明的一部分。

Claims (26)

1.一种计算机网络的内容发布方法,其特征在于:包括基本的群对群传输,所述群是一些具有相同属性的节点的聚合,所述基本的群对群传输包括以下步骤:
A1、将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群,将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
B1、为每一个传递群或接收群建立一个反映所属群的信息的控制数据集,为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
C1、将控制数据集发布到该群的每一个节点,且使每一个节点保持本群最新的控制数据集;
D1、将需要传送的内容分成多个部分,设置传递群的节点负责传送的内容部分;
E1、传递群的节点将需要传送的内容部分分成多个内容块,并将内容块装配成内容包,内容包包括控制数据集的序列号标记;
F1、将接收该内容包的接收群的控制数据集发布到传递群的节点,并在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号;
G1、传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点;
H1、接收群中的节点接收到由传递群发送来的内容包后,根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;
I1、接收群中的节点将由各节点传送来的内容块还原成所传送的内容。
2.如权利要求1所述的计算机网络的内容发布方法,其特征在于:所述接收群接收到部分或者全部内容后,成为新的传递群,将已收到的内容继续传递到另一个接收群。
3.如权利要求1所述的计算机网络的内容发布方法,其特征在于:所述节点的属性选自于任务、内容、网络速率、地域、距离、延时、节点标识、稳定性、在线时间、丢包率、内容开始接收位置、以及跟任务、行为、个体的差异和标识有关的属性。
4.如权利要求1所述的计算机网络的内容发布方法,其特征在于:用一个或者多个群管理参与一个内容发布的节点;用多个基本的群对群传输来实现大型的内容发布任务。
5.如权利要求1所述的计算机网络的内容发布方法,其特征在于:步骤B1中所述的控制数据集的变化包括节点的加入、退出、任务的变化和节点状态变化,所述节点保存有多个序列号不同的控制数据集。
6.如权利要求5所述的计算机网络的内容发布方法,其特征在于:所述步骤C1中使每一个节点保持本群最新的控制数据集包括以下步骤:
B11、服务器设定时间间隔或者在传送内容包前提取需维护的群的控制数据集;
B12、服务器将该群的最新控制数据集的整集与其之前的某个已有控制数据集的整集按符号比较,得出变化串;
B13、将变化串进行变形压缩后得到变化集,所述变化集带有最新控制数据集的序列号标记和作为比较基础的已有控制数据集的序列号标记;
B14、将变化集传输到该群的至少一个节点,以供节点根据其已有的控制数据集更新为最新控制数据集。
7.如权利要求6所述的计算机网络的内容发布方法,其特征在于:步骤B12中所述的符号的长度为一个字节或两个字节。
8.如权利要求7所述的计算机网络的内容发布方法,其特征在于:所述步骤B13中变化串进行变形压缩后得到变化集包括:[开始标记][新控制数据集的序列号][旧控制数据集的序列号][偏移1][变串头部1][变串1][偏移2][变串头部2][变串2]...[偏移i][变串头部i][变串i][校验和][结束标记],其中,偏移至少包括可变长编码的偏移长度,变串头部至少包括可变长编码的变串长度,变串为新控制数据集与旧控制数据集比较有变化的部分;i为变化集中变化串的数量,i为大于或等于0的整数。
9.如权利要求5所述的计算机网络的内容发布方法,其特征在于:群内各节点还依赖本群的控制数据集对内容进行处理,包括对接收到的内容包进行合法有效性检查、转发内容和补发内容。
10.如权利要求6所述的计算机网络的内容发布方法,其特征在于:所述内容为音/视频数据、流数据、计算机文件、网络上的UDP数据包、控制数据集或控制数据集的变化集。
11.如权利要求5所述的计算机网络的内容发布方法,其特征在于:按一个预先设定的方法将接收群的节点划分为多个支持小组,等待内容包的节点在超过约定的接收时间内未能收到内容包时,优先向支持小组的其它节点发出补包请求,要求该节点补发其所缺内容包。
12.如权利要求1至11中任一项所述的计算机网络的内容发布方法,其特征在于:在内容发布过程中,还包括以下步骤:
A2、根据接收群中节点j能用于内容上传的带宽Wj,***选择一个合理的上传速率Uj
B2、控制接收群的节点j按照***所指定的上传速率Uj参与上传内容服务,其中j=1,2,....N,N为接收群节点的数量;并且所述上传速率Uj满足下面关系式:
(U1+...+UN)+L*D≥f(N,D)
其中,D为内容发布的速率,L为内容以D速率重复发送的倍数;
f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;
L*D为传递群所有节点提供的上传速率之和。
13.如权利要求12所述的计算机网络的内容发布方法,其特征在于:所述步骤A2中***通过以下步骤选择合理上传速率Uj
当节点j能用于内容上传的带宽Wj小于或等于节点为内容提供的平均上传速率为Uavg时,选择Uj=Wj
当节点j能用于内容上传的带宽Wj大于节点为内容提供的平均上传速率为Uavg时,选择的Uj应满足Uj≥Uavg
14.如权利要求13所述的计算机网络的内容发布方法,其特征在于:当参数Wj、L和N发生变化而不能满足条件(U1+...+UN)+L*D≥f(N,D)时适当修改参数Uj、L和D;或者当参数Wj、L和N发生变化,需要且可以改变参数L或者D时,适当修改参数Uj、L和D。
15.一种计算机网络的内容发布方法,其特征在于包括以下步骤:
A3、将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群,将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
B3、为每一个传递群或接收群建立一个反映所属群的信息的控制数据集,为每个控制数据集设置一个序列号,对于一段时间内或每次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
C3、将控制数据集发布到该群的每一个节点,且使每一个节点保持本群最新的控制数据集;
D3、将需要传送的内容分成多个部分,设置传递群的节点负责传送的内容部分;
E3、传递群的节点将需要传送的内容部分分成多个内容块,并将内容块装配成内容包,内容包包括控制数据集的序列号标记和交换类型标记;
F3、将接收该内容包的接收群的控制数据集发布到传递群的节点,并在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号;
G3、传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点;
H3、接收群中的节点接收到由传递群发送来的内容包后,根据内容包的交换类型标记决定该内容包是否需要在群内交换,当需要交换时根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;
I3、接收群中的节点将由各节点传送来的内容块还原成所传送的内容。
16.如权利要求15所述的计算机网络的内容发布方法,其特征在于:在步骤H3中,接收到内容包的节点还根据内容包的交换类型标记决定该内容包是否需要向其它的接收群发布。
17.一种计算机网络的内容发布***,其特征在于包括:
用于将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群的分群装置,所述分群装置将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
用于为每一个传递群或接收群建立一个反映所属群的信息的控制数据集的控制数据集生成装置,所述控制数据集生成装置还用于为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
用于将控制数据集发布到该群的每一个节点、且使每一个节点保持本群最新的控制数据集的发送装置;
用于将需要传送的内容分成多个部分,并设置传递群的节点负责传送的内容部分的第一处理装置;
用于控制传递群的节点将需要传送的内容部分分成多个内容块、并将内容块装配成内容包的第二处理装置,所述内容包包括控制数据集的序列号标记;
所述发送装置还用于将接收该内容包的接收群的控制数据集发布到传递群的节点;
用于控制传递群的节点在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号的第三处理装置;
用于控制传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点的第四处理装置;
用于控制接收群中的节点在接收到由传递群发送来的内容包后,根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点的第五处理装置;
用于控制接收群中的节点将由各节点传送来的内容块还原成所传送的内容的内容还原装置。
18.如权利要求17所述的计算机网络的内容发布***,其特征在于:所述接收群接收到部分或者全部内容后,成为新的传递群,将已收到的内容继续传递到另一个接收群。
19.如权利要求17所述的计算机网络的内容发布***,其特征在于:所述控制数据集的变化包括节点的加入、退出、任务的变化和节点状态变化,所述节点保存有多个序列号不同的控制数据集。
20.如权利要求19所述的计算机网络的内容发布***,其特征在于:所述控制数据集生成装置包括:
用于使服务器按照设定时间间隔或者在传送内容包前提取需维护的群的控制数据集的控制数据集提取单元;
用于将该群的最新控制数据集的整集与其之前的某个已有控制数据集的整集按符号比较、得出变化串的比较单元;
用于将变化串进行变形压缩后得到变化集的变形单元,所述变化集带有最新控制数据集的序列号标记和作为比较基础的已有控制数据集的序列号标记;
用于将变化集传输到该群的至少一个节点、以供节点根据其已有的控制数据集更新为最新控制数据集的传送单元。
21.如权利要求20所述的计算机网络的内容发布***,其特征在于:所述的符号的长度为一个字节或两个字节。
22.如权利要求21所述的计算机网络的内容发布***,其特征在于:所述变化串进行变形压缩后得到变化集包括:[开始标记][新控制数据集的序列号][旧控制数据集的序列号][偏移1][变串头部1][变串1][偏移2][变串头部2][变串2]...[偏移i][变串头部i][变串i][校验和][结束标记],其中,偏移至少包括可变长编码的偏移长度,变串头部至少包括可变长编码的变串长度,变串为新控制数据集与旧控制数据集比较有变化的部分;i为变化集中变化串的数量,i为大于或等于0的整数。
23.如权利要求19所述的计算机网络的内容发布***,其特征在于:还包括用于使群内各节点依赖本群的控制数据集对内容进行处理的第六处理单元,所述第六处理单元用于对接收到的内容包进行合法有效性检查、转发内容和补发内容。
24.如权利要求20所述的计算机网络的内容发布***,其特征在于:所述内容为音/视频数据、流数据、计算机文件、网络上的UDP数据包、控制数据集或控制数据集的变化集。
25.如权利要求17至24中任一项所述的计算机网络的内容发布***,其特征在于还包括拥塞控制装置,所述拥塞控制装置包括:
用于根据接收群中节点j能用于内容上传的带宽Wj选择一个合理的上传速率Uj的速率选择单元;
用于控制接收群的节点j按照***所指定的上传速率Uj参与上传内容服务的第七处理单元,其中j=1,2,....N,N为接收群节点的数量;并且所述上传速率Uj满足下面关系式:
(U1+...+UN)+L*D≥f(N,D)
其中,D为内容发布的速率,L为内容以D速率重复发送的倍数;
f(N,D)是与N*D有关的函数,为接收群所有节点下载内容所需要的带宽;
L*D为传递群所有节点提供的上传速率之和。
26.一种计算机网络的内容发布***,其特征在于包括:
用于将参与内容传输的节点分为负责传送内容的传递群和接收内容接收群的分群装置,所述分群装置将已有的或要加入的负责传送内容的节点归入传递群管理,将已有的或要加入的需要接收内容的节点归入接收群管理;
用于为每一个传递群或接收群建立一个反映所属群的信息的控制数据集的控制数据集生成装置,所述控制数据集生成装置还用于为每个控制数据集设置一个序列号,对于一段时间内或每一次控制数据集变化后更新序列号,使控制数据集和序列号一一对应,所述控制数据集至少包括群内每一个节点的基本信息,所述节点的基本信息至少包括该节点的通信地址;
用于将控制数据集发布到该群的每一个节点、且使每一个节点保持本群最新的控制数据集的发送装置;
用于将需要传送的内容分成多个部分,并设置传递群的节点负责传送的内容部分的第一处理装置;
用于控制传递群的节点将需要传送的内容部分分成多个内容块、并将内容块装配成内容包的第二处理装置,所述内容包包括控制数据集的序列号标记和交换类型标记;
所述发送装置还用于将接收该内容包的接收群的控制数据集发布到传递群的节点;
用于控制传递群的节点在传输前将控制数据集的序列号标记设置为接收该内容包的接收群的控制数据集的当前序列号的第三处理装置;
用于控制传递群的节点根据接收群的控制数据集将数据包分别传输给接收群的至少一个节点的第四处理装置;
用于控制接收群中的节点在接收到由传递群发送来的内容包后,根据内容包的交换类型标记决定该内容包是否需要在群内交换,当需要交换时根据内容包的序列号标记所指的控制数据集,将所述内容块再次传送到群内的其它需要该内容块的节点;
用于控制接收群中的节点将由各节点传送来的内容块还原成所传送的内容的内容还原装置。
CN2007100732955A 2007-02-08 2007-02-08 一种计算机网络的内容发布方法及*** Expired - Fee Related CN101242337B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2007100732955A CN101242337B (zh) 2007-02-08 2007-02-08 一种计算机网络的内容发布方法及***
US12/525,532 US8161181B2 (en) 2007-02-08 2007-11-21 Content delivering method and system for computer network
PCT/CN2007/071100 WO2008095396A1 (fr) 2007-02-08 2007-11-21 Procédé et système de distribution de contenu pour réseau informatique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100732955A CN101242337B (zh) 2007-02-08 2007-02-08 一种计算机网络的内容发布方法及***

Publications (2)

Publication Number Publication Date
CN101242337A CN101242337A (zh) 2008-08-13
CN101242337B true CN101242337B (zh) 2010-11-10

Family

ID=39681258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100732955A Expired - Fee Related CN101242337B (zh) 2007-02-08 2007-02-08 一种计算机网络的内容发布方法及***

Country Status (3)

Country Link
US (1) US8161181B2 (zh)
CN (1) CN101242337B (zh)
WO (1) WO2008095396A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546546A (zh) * 2013-09-30 2014-01-29 蓝盾信息安全技术股份有限公司 一种大规模集群分发文件的方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102947829B (zh) * 2010-06-18 2016-03-16 三菱电机株式会社 数据处理装置以及数据处理方法
WO2012026933A1 (en) * 2010-08-25 2012-03-01 Hewlett-Packard Development Company, L.P. Transferring files
TW201210284A (en) * 2010-08-27 2012-03-01 Ind Tech Res Inst Architecture and method for hybrid Peer To Peer/client-server data transmission
KR20120072252A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 분산 데이터 스트림 처리 시스템에서 연속 처리 태스크를 병렬 처리하기 위한 장치 및 그 방법
US9704393B2 (en) * 2011-01-11 2017-07-11 Videonetics Technology Private Limited Integrated intelligent server based system and method/systems adapted to facilitate fail-safe integration and/or optimized utilization of various sensory inputs
US9553924B1 (en) * 2011-06-13 2017-01-24 Arris Enterprises, Inc. Load sharing among loosely coupled or independent video servers
US9002921B2 (en) * 2011-12-09 2015-04-07 Futurewei Technologies, Inc. Method for network coding packets in content-centric networking based networks
CN103200596A (zh) * 2013-03-25 2013-07-10 福建三元达通讯股份有限公司 一种瘦ap架构wlan网络中ap快速批量升级的方法
CN103402179A (zh) * 2013-06-27 2013-11-20 无锡清华信息科学与技术国家实验室物联网技术中心 基于自主协同的车载网络预警信息广播***及方法
CN104639343B (zh) * 2013-11-15 2018-04-27 华为终端(东莞)有限公司 文件传输的方法和装置
CN105610656B (zh) * 2016-03-11 2019-03-12 中国联合网络通信集团有限公司 上行带宽资源共享方法及***
CN106101195B (zh) * 2016-05-31 2020-03-13 北京奇艺世纪科技有限公司 一种数据分发方法及装置
CN109840533B (zh) * 2017-11-28 2020-12-11 ***通信集团浙江有限公司 一种应用拓扑图识别方法及装置
US11606277B2 (en) 2021-02-10 2023-03-14 Cohesity, Inc. Reducing the impact of network latency during a restore operation
CN113392131A (zh) * 2021-07-05 2021-09-14 上海幻电信息科技有限公司 数据处理方法、装置及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801798A (zh) * 2005-01-05 2006-07-12 志丰电子股份有限公司 双向无线群组控管方法及装置
CN1805400A (zh) * 2004-12-22 2006-07-19 日本电气株式会社 用于多点对多点中继的干线网络***
CN1852134A (zh) * 2005-07-05 2006-10-25 华为技术有限公司 一种对bt客户端数据传输的控制方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5884031A (en) * 1996-10-01 1999-03-16 Pipe Dream, Inc. Method for connecting client systems into a broadcast network
US6895431B1 (en) * 2000-09-29 2005-05-17 Interland, Inc. Providing user access to dynamic updating of remote configuration information
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7627644B2 (en) * 2003-11-28 2009-12-01 Canon Kabushiki Kaisha Recipient-centred proactive caching in a peer-to-peer system
US7606840B2 (en) * 2004-06-15 2009-10-20 At&T Intellectual Property I, L.P. Version control in a distributed computing environment
US20070242607A1 (en) * 2006-04-13 2007-10-18 Tellabs Operations, Inc. Method and system for controlling distribution of network topology information
US7944832B2 (en) * 2006-04-21 2011-05-17 Yongmin Zhang Method and device for realizing content flowing on P2P network
US20090172157A1 (en) * 2006-04-21 2009-07-02 Yongmin Zhang Method and Device for Content Transmission on P2P Network
US7874015B2 (en) * 2006-05-12 2011-01-18 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for controlling distribution of digital content in a file sharing system using license-based verification, encoded tagging, and time-limited fragment validity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805400A (zh) * 2004-12-22 2006-07-19 日本电气株式会社 用于多点对多点中继的干线网络***
CN1801798A (zh) * 2005-01-05 2006-07-12 志丰电子股份有限公司 双向无线群组控管方法及装置
CN1852134A (zh) * 2005-07-05 2006-10-25 华为技术有限公司 一种对bt客户端数据传输的控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546546A (zh) * 2013-09-30 2014-01-29 蓝盾信息安全技术股份有限公司 一种大规模集群分发文件的方法

Also Published As

Publication number Publication date
CN101242337A (zh) 2008-08-13
WO2008095396A1 (fr) 2008-08-14
US20100082836A1 (en) 2010-04-01
US8161181B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
CN101242337B (zh) 一种计算机网络的内容发布方法及***
US20220414778A1 (en) Intelligent Packet Switch
CN1719833B (zh) 对等计算机网络中有效的一对多内容发布的方法
CN101449287B (zh) 对等内容分发云中的内容管理
US10650452B2 (en) Offload processing of data packets
CN103095724B (zh) 一种内容中心网络多个兴趣包压缩发送及处理的方法
US20010048728A1 (en) Apparatus and methods for providing data synchronization by facilitating data synchronization system design
CN1701304B (zh) 在发布-订购网络中通过有效载荷检测进行分组路由的***、方法和装置
CN101014045A (zh) 服务承载网中服务管理的分布式方法
Pitkänen et al. Redundancy and distributed caching in mobile dtns
CN105391515A (zh) 用于内容中心网络的网络编码
CN102355426A (zh) 实现离线文件传输的方法和***
CN102970242B (zh) 一种实现负载均衡的方法
WO2005010689A3 (en) Secure cluster configuration data set transfer protocol
CN100469002C (zh) 数据分块传输方法及装置
CN105556916B (zh) 网络流的信息统计方法和装置
CN103281382A (zh) 一种基于p2p的文件传输方法和节点
WO2023020242A1 (zh) 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
CN101355488A (zh) 网络发起的消息类业务中控制流量的方法和***
Mišić et al. On the benefits of compact blocks in bitcoin
WO2012025058A1 (zh) 大数据量消息管理方法和装置
US11914482B2 (en) System and method for robust, efficient, adaptive streaming replication application protocol with dancing recovery for high-volume distributed live subscriber datasets
CN113438255B (zh) 一种多层级物联网运营方法、***和可读存储介质
CN103124292A (zh) 一种p2p流媒体***中的数据调度方法及其装置
CN102860049A (zh) 一种短信处理方法、相关设备及***

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101110

Termination date: 20170208