用于分布系统中带宽自适应n到n通信的方法和系统的利记博彩app

文档序号:7860800阅读:306来源:国知局
专利名称:用于分布系统中带宽自适应n到n通信的方法和系统的利记博彩app
技术领域
本发明总的涉及在计算设备之间使用的通信机制。更具体地,本发明涉及在分布计算系统中使用的通信机制。
背景技术
在分布计算环境中,很难在大量计算设备之间提供直接通信,其中每个计算设备与每个其它计算设备互相通信。例如,一个解决方案是使用I到N多播信道。也就是,每个计算设备(例如,在线会议或网络研讨会(webinar)的参加者)创建多播信道和每个其它计算设备预订到每个其它计算设备的信道。在这样的解决方案中,具有N个计算设备的系统需要N个信道和N2个信道预订。结果,引起需要保持0(N2)的状态。这样的解决方案在扩大到大量计算设备时性能变得很差。

发明内容
作为高层次的综述,本发明避免对于N2解决方案所需要的附加开销。总的来说,本发明的特征在于每个计算设备预订的单个共享信道。结果,只需要N个预订和O(N)状态,而不是当使用N个I到N多播信道时所需要的N2个预订和0(N2)状态。每个计算设备以一组分组的形式在共享信道上公布它的当前的状态。每个计算设备接收其它计算设备的状态的更新。另外,在某些情形下,本发明的特征在于以带宽自适应的方式传播数据的能力。这允许具有慢速(例如,56k)和快速(例如,Tl和宽带)连接速度的计算设备参加到系统中而不会互相干扰。一方面,本发明的特征在于用于在分布系统中多个参加者之间的带宽自适应通信的方法。该方法包括接收来自第一参加者的通信,把有效负荷数据存储在信道存储器单元中,以及把有效负荷数据发送到第二参加者。该通信包括元数据和有效负荷数据。信道存储器元件包括多个存储单元。多个存储单元之一是通过使用元数据进行选择,并且它与第一参加者相关联。在一个实施例中,该通信包括参加者识别符和有效负荷数据。该通信可以代表参加者的状态,并且可包括元数据与有效负荷数据。在另一个实施例中,存储包括把有效负荷数据存储在多个数组单元之一中。多个数组单元之一通过使用元数据进行选择,并且它与第一参加者相关联。在其它实施例中,发送包括把数组发送到第二参加者。发送还可包括根据标识从第一参加者最近接收的第一参加者有效负荷的信息把有效负荷数据发送到第二参加者。而且,发送还可包括根据来自第二参加者的请求把有效负荷数据发送到第二参加者。该请求标识由第二参加者最近存储的第一参加者有效负荷数据。在另一个实施例中,该方法包括在发送之前,接收来自第一参加者的第二通信。该通信包括第二有效负荷数据。而且,该方法包括把第二有效负荷数据存储在与第一参加者相关联的多个存储单元之一。在再一个实施例中,该方法包括接收来自第二参加者的通信,把有效负荷数据存储在多个存储单元之一中,以及把有效负荷数据发送到第一参加者。该通信包括元数据和有效负荷数据。多个存储单元之一通过使用元数据进行选择,并且它与第二参加者相关联。在另一个实施例中,该方法包括接收来自第一参加者的第二通信。而且,该方法包·括把第二通信存储在与第一参加者相关联的第二存储单元中。另一方面,本发明的特征在于用于在多个参加者之间的带宽自适应通信的分布系统。该系统包括发送状态数据的多个参加者和一个服务器。该服务器接收由多个客户发送的状态数据,把所接收的状态数据存储在具有多个存储单元的存储器元件,以及把从多个参加者之一接收的状态数据发送到该多个参加者的每个其它参加者。多个存储单元的每个存储单元与多个参加者的相应的一个参加者相关联。


通过结合附图对本发明的详细说明,将更加容易了解以上的讨论,其中图I显示分布计算环境的实施例。图2显示图I的分布计算环境的参加者计算设备的实施例。图3显示图I的分布计算环境的服务器计算设备的实施例。图4是共享的通信信道的实施例的框图。图5是图2的参加者计算设备的参加者软件的操作的方法的实施例的流程图。图6是图2的服务器计算设备的服务器软件的操作的方法的实施例的流程图。图7A-7F显示用来显示本发明的实施例的示例性使用的共享的通信信道的框图。图8显示其中可以实践本发明的原理的分布计算环境的另一个实施例。
具体实施例方式参照图I,可被使用于在线合作等等的分布计算环境100包括一个或多个参加者计算设备110A,110B, 110F(以下每个参加者计算设备或多个计算设备总的被称为参加者110),它们经由通信网络140与一个或多个服务器计算设备150 (以下每个服务器计算设备或多个计算设备总的被称为服务器150)通信。网络140可以是局域网(LAN)、中等区域网(MAN)、或广域网(WAN),诸如互联网或万维网。参加者110的用户通过使用各种不同的连接的任一个连接的通信链路120-包括但不限于,标准电话线、LAN或WAN链路(例如,Tl、T3、56kb、X. 25)、或宽带连接(ISDN、帧中继、ATM)、和无线连接—连接到网络140。该连接可以通过使用各种不同的通信协议被建立(例如,TCP/IP, IPX, SPX, NetBIOS,和直接异步连接)。在其它实施例中,参加者110通过第二网络140’,通过把网络140连接到第二网络140’的通信链路180,与服务器150通信。被使用来通过通信链路180通信的协议可包括被使用于长距离或短距离传输的任何的各种各样协议。例如,TCP/IP, IPX, SPX, NetBIOS, NetBEUI, SONET和SDH协议。网络140,140’的组合在概念上被看作为互联网。正如这里使用的,互联网是指连接计算机网络与世界上组织的计算机设施的电子通信网。参加者110可以是任何个人计算机、服务器、基于视窗的终端、网络计算机、无线设备、信息装置、RISC Power PC、X设备、工作站、迷你计算机、个人数字助理(PDA)、大型计算机、蜂窝电话或提供足够设施来执行参加者软件和操作系统的其它计算设备。在参加者110上执行的参加者软件提供读出和写到在参加者110与服务器150之间建立的共享的通信信道的能力。服务器150可以是能够与一个或多个参加者110通信的任何类型的计算设备。例 如,服务器150可以是传统的服务器计算设备、web服务器、应用服务器、DNS服务器或其它类型的服务器。另外,服务器150可以是提供足够设施来执行服务器软件和操作系统的任何其它计算设备。在服务器150上执行的服务器软件提供在参加者110与服务器150之间创建共享的通信信道的功能。由服务器软件提供的附加功能包括,但不限于,读出和写入到共享的通信信道。在一个实施例中,不同的信道载送参加者110与服务器150之间的不同类型的通信。例如,在在线会议中,第一通信信道承载从呈现参加者Iio到服务器150的屏幕数据,该服务器又把屏幕数据分发到其它参加者110。正如下面更详细地描述的,第二通信信道被共享,以便提供在参加者之间的实时通信(例如,聊天信息、名片信息、问题和回答信息、轮询信息、会话反馈信息、话音数据、视频数据、分布的控制信息、状态信息等等)。图2显示参加者110的概念性框图。应当看到,参加者110的其它实施例可包括以下的单元的任何组合,或包括没有明确地列出的其它单元。在一个实施例中,每个参加者110典型地包括处理器200、易失性存储器204、操作系统208、参加者软件212、永久贮存存储器216 (例如,硬盘驱动器或外部硬盘驱动器)、网络接口 220 (例如,网络接口卡)、键盘224或在PDA的情形下虚拟化的键盘、在与参加者110电子通信中的至少一个输入设备228(例如,鼠标、跟踪球、空间球、光笔和图形输入板、触摸屏、触针、和任何其它输入设备)、和显示器232。操作系统116可包括,但不限于,WINDOS 3. X、WINDOS 95、WINDOS 98、WINDOS NT 3. 51、WINDOS NT 4. O, WINDOS 2000, WINDOS XP、WINDOS VISTA, WINDOS CE、MAC/OS、JAVA、PALMOS、SYMBIAN OS、LINSPIRE、LINUX、SMARTPHONE OS、UNIX 的各种不同的形式、WINDOWS 2000 SERVER、WINDOWS 2000ADVANCED SERVER、WINDOWS NT SERVER、WINDOWSNTSERVER ENTERPRISE EDITION、MACINTOSH OS X SERVER、UNIX、SOLARIS、VMWARE 等等。参加者软件212与参加者110的各种不同的部件(例如操作系统208)通信,以便提供本发明的特征。作为总的概述,参加者软件212创建和保持共享的信道的本地拷贝。参加者软件212提供用来进行读和写数据到共享的信道以及把改变发送到其它参加者110和服务器150的装置。参照图3,描述了服务器150的实施例。应当理解,服务器150的其它实施例可包括以下的单元的任一组合,或包括没有明确地列出的其它单元。服务器150包括处理器300、易失性存储器304、操作系统308、服务器软件312、永久贮存存储器316、网络接口 320、键盘324、至少一个输入设备328 (例如,鼠标、跟踪球、空间球、条形码读码器、扫描仪、光笔和图形输入板、触摸屏、触针、和任何其它输入设备)、和显示器332。在另一个实施例中,服务器150以“无头”模式运行。服务器操作系统可包括,但不限于,WINDOS 3. X、WIND0S 95、WIND0S98,WINDOS NT 3. 51、WINDOS NT 4. 0、WINDOS 2000,WINDOS XP,WINDOS VISTA,WINDOS CE、MAC/OS、JAVA、PALMOS、SYMBIAN OS、LINSPIRE、LINUX、SMARTPHONE OS、UNIX 的各种不同的形式、WINDOWS 2000 SERVER、WINDOWS 2000ADVANCED SERVER、WINDOWS NT SERVER,WINDOffSNTSERVER ENTERPRISE EDITION、MACINTOSH OS X SERVER、UNIX、SOLARIS、VMWARE 等等。服务器软件312与服务器150的各种不同的部件(例如操作系统308)通信,以便提供本发明的特征。作为总的概述,服务器软件312创建共享的信道和保持共享信道状态的本地拷贝。服务器软件312提供用来把改变发送到其它参加者110或其它服务器150的
>j-U ρ α装直。参照图4,显示和描述了如在环境100内使用的共享的通信信道400的实施例。共享的通信信道400是参加者110预订的单个信道。每个参加者110保持共享的通信信道400的本地拷贝236Α, 236Β, 236C, 236D, 236Ε, 236F, 236G (这里称为本地拷贝236)。在概念的级别上,共享的通信信道400可被看作为具有多个存储单元410或区的单个数据目标(例如,信道存储器元件)。这些存储单元410或区可以在概念上被看作为在信道上的“时隙”。正如所显示的,共享的数据信道包括12个区410(即,410Α,410Β, 410C, 410D, 410Ε, 410Ε’,410Ε”,410F, 410F’,410G,410G’,410G”),它们一起代表共享信道400的状态,虽然可以使用任何数目的区。单个参加者110或服务器150具有与其相关联的零或多个区。例如,如图4所示,参加者110G具有与其相关联的三个区410G,410G’,410G”。应当理解,虽然未示出,服务器150可以具有与其相关联的零或多个区。每个区410 存储各自的数据分组 414 (即,414A, 414B, 414C, 414D, 414E, 414E,,414E”,414F, 414F’,414G, 414G’,414G”)。每个参加者可以读出共享的信道的每个存储单元410,但仅仅写入到与各自的参加者110相关联的那些存储单元410。每个数据分组414包括元数据和有效负荷数据。元数据可包括,但也不限于,参加者ID、存储单元ID等等。有效负荷数据可包括,但不限于,通信数据、聊天数据、状态数据、视频数据、分布控制数据等等。在一个实施例中,每个区410包括一个或多个数组单元。每个数组单元存储元数据和有效负荷数据之一。数组单元在概念上可被看作为在共享的信道400的每个时隙内的子时隙。参照图5,描述了参加者软件212的操作的方法500的实施例。如前所述,每个参加者保持共享信道400的状态的本地拷贝。参加者110把有效负荷数据写入(步骤510)到共享信道400的本地拷贝的相关的存储单元410。参加者软件212把分组识别符指定(步骤520)给有效负荷数据,以便生成数据分组414。在一个实施例中,当连接参加者110到服务器150的带宽允许时,参加者软件212把新的分组发送(步骤530)到服务器150。在一个实施例中,参加者软件212指定(步骤520)单调增加的分组识别符。正如这里使用的,单调是指仅仅以一个方向改变;因此严格上升或严格下降,但不颠倒方向。在其它实施例中,应当理解,使用其它分组识别符。使用单调增加分组识别符提供允许在共享的通信信道400的本地拷贝236与由服务器150存储的共享的通信信道400的最新的状态数据之间同步的装置。把分组414发送(步骤530)到共享的通信信道400在参加者的写操作完成后进行。在一个实施例中,当在参加者Iio与服务器150之间的带宽许可时进行传输。这个特征提供带宽自适应传输模块。例如,假设参加者IlOA通过使用56k调制解调器被连接到服务器150,在参加者IlOA与服务器150之间的变化被传送的速度与如果参加者IlOA与服务器150通过Tl线被连接有很大的不同。这样,参加者IlOA等待到直至带宽许可传输为止,这些相同的带宽自适应原理也可以在参加者100接收来自服务器150的分组414时应用。参照图6,显示和描述了服务器软件312的操作的方法600。服务器150接收(步骤610)包含来自参加者110的分组414的通信。作为应答,服务器软件312把分组存储(步骤620)在相关的存储单元410。在改变存储单元410时,服务器软件开始把共享信道400的状态数据发送(步骤630)到其它参加者110。在一个实施例中,存储(步骤620)包括由服务器软件312用新的分组414重写相关的存储单元410的内容。在重写相关的存储单元410的内容之前,服务器软件比较分 组识别符,以确定所接收的分组实际上是否比起当前的分组更加新。由于连接某些参加者110到服务器150的带宽限制,和当系统包括多个服务器150或对等连接时,会引起一种情形,其中由服务器软件重写的某些分组410实际上可能比起被存储在存储单元中的当前的分组老。这些情形在下面更详细地描述。在一个实施例中,发送(步骤630)包括把共享的通信信道400的全部内容发送到每个其它参加者110。发送可以以多播方式或某种其它方式进行。在另一个实施例中,只把所更新的存储单元410发送到参加者。换句话说,服务器软件312同步共享信道与每个参加者的内容。同步是通过使用从服务器150到参加者110的“推”或来自参加者的“拉”进行的。每种情形在下面描述。在来自服务器150的推力的情形下,共享的信道400的状态的运行历史由服务器150为每个参加者110保持。当服务器150接收新的分组410时,服务器软件312比较共享的通信信道400的现在的状态与运行历史的记录,以确定把哪些分组414发送到参加者110。在把新的分组414发送到参加者之前,服务器软件接收指示,或确定连接参加者110到服务器150的带宽对于完成通信是否可得到的。如果带宽是可得到的,则新的分组被发送。如果带宽是不可得到的,则不发送新的分组。替代地,当带宽是可得到时,进行与运行历史的新的比较,以及所有新的分组被发送。这样,获得共享的通信信道400的中间的改变,并把它发送到参加者。在拉的情形下,每个参加者100周期地询问服务器150有关共享的通信信道400的状态的改变。在一个实施例中,每次新的分组从参加者110发送到服务器150时,包括对于其它参加者110的任何新的分组的请求。在另一个实施例中,每个参加者Iio每预定的毫秒数或每个其它时间周期询问服务器150。在再一个实施例中,每个参加者110在连接服务器150与参加者110的带宽对于接收更新内容是可得到时询问服务器150。作为询问的一部分,共享信道的本地拷贝236的现在的状态被发送到服务器150。服务器软件312比较本地拷贝236与共享的通信信道400的当前的状态,以确定把哪些分组发送到请求的参加者 110。所描述的同步方法提供在参加者110与服务器150之间共享的通信信道400的状态的“松弛”的同步。参加者Iio的本地拷贝236在过渡周期期间是不同的,而同步机制传播这些改变。在给定足够的时间和没有新的改变后,每个本地拷贝236将收敛到共享的通信信道400的同一个状态。重要的是注意,如果在服务器150和参加者110之间的通信链路是带宽有限的,则用于参加者的相关的存储单元410可以在新的分组410被发送到服务器150之前由参加者110更新一次或多次。应当理解,相同的原理应用到从服务器接收分组414。这个描述的同步不保证所有的分组从参加者110传递到服务器150,或相反从服务器150到参加者110。它只保证当带宽是可得到时最新的分组的传递。这个相对较弱的传递保证描述分布计算环境的带宽自适应特性,因为它允许具有较慢的通信链路120的参加者110和服务器150与具有较快的通信链路120的参加者110和服务器150共存,而不互相影响。由较慢的(即,带宽有限的)链路连接的参加者110和服务器150接收较少的更新内容,而由较快的通信链路120 (即,较高的带宽链路)连接的参加者110和服务器150可以接收所有的更新内容。参照图7A到图7F,显示和描述了例子。以下的例子包括共享的通信信道400和三个参加者110A,110B, IlOF的本地拷贝236A,236B,236F。为了简化起见,每个分组414涉及到单个数字。应当理解,每个数字代表分组414的元数据和有效负荷数据。在该例子中, 假设两个参加者110A,IIOB通过Tl连接被连接到服务器150,而一个参加者IIOF通过56K调制解调器被连接到服务器150。在图7A上,本地拷贝236和共享信道400的每个的状态是一致的。在图7B上,由第一参加者IlOA对共享信道的本地拷贝236A的存储单元410A进行改变,并把它传播到共享信道400,并又传播到其它两个参加者。经由Tl线连接的第二参加者236B接收与参加者IlOA相关联的存储单元410A的改变。然而,由于连接第三参加者236F到服务器150的减小的带宽,与存储单元410A相关联的新的分组不能快速地接收。此外,与第二参加者236B相关联的存储单元410B的本地拷贝发生改变。如图所示,共享的通信信道400的各种不同的拷贝的状态处在不同的状态。在图7C上,由第二参加者IlOB作出的改变被传播到共享信道400,并又传播到第一参加者110A。然而,由于带宽限制,存储单元410B的改变没有被第三参加者IlOF接收。在图7D上,对于与第一参加者IlOA相关联的存储单元410A的另一个改变被传播到第二参加者110B。然而,因为第三参加者IlOF处在接收存储单元410B的改变的过程中,第三参加者IlOF在这时不接收来自第一参加者IlOA的改变。在图7E上,第一参加者把另一个改变(B卩,分组4)写入到它的存储单元410A。共享信道400接收该改变和把它转发到第二参加者IlOB和第三参加者110F。如图7F所示,在某个时间周期后,共享信道的每个本地拷贝236最终达到相同的状态。然而,正如显示的,共享信道的每个本地拷贝236在更新期间可以具有不同的状态,以及不是所有的本地拷贝都将接收每个更新内容。虽然这是以更新内容是从服务器150接收的方式描述的,但应当理解,同样的原理可应用到从参加者110发送改变到服务器150的情形。也就是,参加者110可以把多个分组写到本地拷贝236的它的相关的存储单元410,其中某些可能由于连接服务器150和参加者110的带宽限制不被发送到服务器150。参照图8,显示和描述具有多个服务器150A,150B, 150C的分布计算环境100’。在这样的环境下,每个服务器150也是参加者,因为它接收来自其它服务器150的对于共享的通信信道400的更新。在大的在线合作情形下(例如,具有几千个参加者的网络研讨会),单个服务器150很难管理和服务于来自参加者的所有的连接请求。这样,多个服务器150被使用来平衡每个服务器150必须操控的负荷。共享的通信信道400提供每个通信服务器150与参加者110互相通信的方式,而不需要参加者人数平方的通信方案。在这样的实施例中,服务器150可以通过使用不同的带宽分配而互相通信。这样,以上描述的带宽自适应特性同样地应用于在服务器150之间的通信以及在服务器150与参加者110之间的通信。另外,单个参加者可以与多个 服务器150通信。例如,参加者IlOF与第一服务器150B和第二服务器150C通信。参加者IlOF保持如由每个第一服务器150B和第二服务器150C知道的、共享信道400的状态的本地拷贝。这样的实施例提供对于共享信道400的状态的冗余度和容错度。描述的本发明的一个示例性实施方案是在进行在线会议或网络研讨会的在线合作产品中的使用。在线会议包含通过通信服务器150进行通信的一个或多个参加者110。应当理解,如果参加者的人数需要大于单个通信服务器150,则可以使用多个通信服务器150。在在线会议时,参加者之一是推荐者,他控制会议的流程。推荐者发送一系列图像,其可以代表幻灯片演示。当推荐者显示幻灯片时,代表该幻灯片的页图像被发送到所有的观看者。在许多实施例中,每个幻灯片由多个数据分组代表,并通过被指定用于屏幕共享数据的特定的信道被发送。每个参加者110被标记为“观看者”,他们观看共享的屏幕数据。在观看者与推荐者之间的共享的屏幕数据的同步通过使用可靠的多播协议进行。这种类型的“共享”代表I到N型通信。除了共享屏幕数据以外,希望在观看者与推荐者之间能够进行“聊天”通信(例如,观看者到观看者的通信以及观看者到推荐者的通信)。这样,在推荐者与观看者之间建立共享信道400,用来载送聊天数据。每个观看者只需要预订共享信道,使能达到在线会议的聊天特性。每次观看者打入聊天消息时,共享信道的观看者的各个区410就用新消息有效负荷被更新。作为应答,更新的聊天数据被发送到其它观看者和推荐者,如上所述。这种类型的“共享”代表N到N型通信。有许多在线合作产品可以在分布计算环境100中运行。示例性产品包括,但不限于,由 Santa Barbara, Califonia 的 Cirtix Online, LLC 提供的 G0T0MEETING 和GOTOffEBINAR0下面描述的某些方面和特性可以体现在这样的产品中。其它产品包括由 Santa Clara, Califonia 的 WebEx Communications, Inc.提供的 WEBEX EMX> WEBEXENTERPRISE EDITION,WEBEX EVENT CENTER,WEBEX GLOBALffATCH,WEBEX MEETING CENTER、WEBEX MEETMENOW、WEBEX PRESENTATION STUDIO、WEBEX SALES CENTER、WEBEX TRAININGCENTER.WEBEX WEBOFFI CE、和 WEBEX WORKSPACE。另一个例子是由 Redmond, Washington 的Microsoft Corporation 提供的 LIVEMEETING 产品。以前描述的实施例可以被实施为使用编程和/或工程技术来产生软件、固件、硬件或它们的任何组合的方法、设备或制造物品。如在这里使用的术语“制造物品”打算包括从一个或多个计算机可读的器件可访问的、和被嵌入到一个或多个计算机可读的器件的代码或逻辑、固件、可编程的逻辑、存储器件(例如,EEPR0M、R0M、PR0M、RAM、SRAM等等)、硬件(例如,集成电路芯片、场可编程门阵列(FPGA)、专用集成电路(ASIC)等等)、电子器件、计算机可读的非易失性存储单元(例如,⑶-ROM、软盘、硬盘驱动器等等)、经由网络传输线提供到程序的访问的文件服务器、无线传输媒体、通过空间传播的信号、无线电波、红外信号等等。制造物品包括硬件逻辑以及由处理器执行的被嵌入在计算机可读的媒体中的软件或可编程代码。当然,本领域技术人员将会认识到,可以 于这个配置作出许多修改而不背离本发明的范围。虽然本发明是对于具体的细节描述的,但不打算把这样的细节看作为对于本发明的范围的限制,除了它们被包括在所附权利要求以及到它们被包括在所附权利要求的程度之外。
权利要求
1.一种用于在分布系统中多个参加者之间的带宽自适应通信的方法,该方法包括 (a)接收来自第一参加者的通信,该通信包括元数据和有效负荷数据; (b)把有效负荷数据存储在信道存储器元件,该信道存储器元件包括多个存储单元,该多个存储单元之一通过使用元数据进行选择,并且与第一参加者相关联;以及 (C)把有效负荷数据发送到第二参加者。
2.权利要求I的方法,其中步骤(a)包括接收来自第一参加者的通信,该通信包括参加者识别符和有效负荷数据。
3.权利要求I的方法,其中步骤(a)包括接收来自第一参加者的通信,该通信代表参加者的状态并且包括元数据与有效负荷数据。
4.权利要求I的方法,其中步骤(b)包括把有效负荷数据存储在多个数组单元之一中,该多个数组单元之一通过使用元数据进行选择,并且与第一参加者相关联。
5.权利要求4的方法,其中步骤(c)包括把数组发送到第二参加者。
6.权利要求I的方法,其中步骤(c)包括响应标识从第一参加者最近接收的第一参加者有效负荷数据的信息把有效负荷数据发送到第二参加者。
7.权利要求I的方法,其中步骤(c)包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者。
8.权利要求I的方法,其中步骤(c)包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者,该请求标识由第二参加者最近存储的第一参加者有效负荷数据。
9.权利要求I的方法,还包括在步骤(c)之前,接收来自第一参加者的第二通信,所述通信包括第二有效负荷数据。
10.权利要求9的方法,还包括在步骤(C)之前,把第二有效负荷数据存储在与第一参加者相关联的多个存储单元之一。
11.权利要求10的方法,其中步骤(C)包括把第二有效负荷数据发送到第二参加者。
12.权利要求I的方法,还包括 (a)接收来自第二参加者的通信,该通信包括元数据和有效负荷数据; (b)把有效负荷数据存储在多个存储单元之一中,该多个存储单元之一通过使用元数据进行选择,并且与第二参加者相关联;以及 (C)把有效负荷数据发送到第一参加者。
13.权利要求I的方法,还包括 接收来自第一参加者的第二通信,所述通信包括第二有效负荷数据。
14.权利要求13的方法,还包括把第二通信存储在与第一参加者相关联的第二存储单元中。
15.一种用于在分布系统中在多个参加者之间的带宽自适应通信的分布系统,该系统包括 多个参加者,发送状态数据;以及 服务器,(i)接收由多个客户发送的状态数据,(ii)把所接收的状态数据存储在具有多个存储单元的存储器元件中,该多个存储单元的每个存储单元与多个参加者的相应的一个参加者相关联,以及Qii)把从多个参加者之一接收的状态数据发送到多个参加者的每个其它参加者。
16.权利要求15的系统,其中所发送的状态数据包括元数据和有效负荷数据。
17.权利要求15的系统,其中所发送的状态数据包括参加者识别符和有效负荷数据。
18.权利要求15的系统,其中所述服务器把存储器元件的内容发送到多个参加者的每个其它参加者。
19.权利要求15的系统,其中所述服务器响应来自参加者的请求把所存储的状态数据发送到参加者。
20.权利要求15的系统,其中所述服务器响应来自参加者的请求把所存储的状态数据发送到参加者,所述请求标识要被发送的状态数据。
21.权利要求15的系统,其中所述服务器在新的状态数据被接收时盖写所存储的状态数据。
22.权利要求15的系统,其中所述多个参加者通过使用具有不同的带宽的通信链路而与服务器通信,以及其中更新内容以带宽自适应方式被发送到参加者。
23.权利要求15的系统,其中所述多个参加者通过使用具有不同的带宽的通信链路而与服务器通信,以及其中更新内容以带宽自适应方式被发送到服务器。
全文摘要
描述了用于带宽自适应计算设备到计算设备通信的方法和系统。带宽自适应通信包括接收来自第一参加者的通信,把通信的有效负荷数据存储在与第一参加者相关联的信道存储器元件,以及把有效负荷数据发送到第二参加者。
文档编号H04L29/06GK102882696SQ20121035036
公开日2013年1月16日 申请日期2007年5月3日 优先权日2006年5月4日
发明者A·亚历山大德罗夫, R·萨拉维德拉, R·查默斯, K·斯里尼瓦森 申请人:思杰在线有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1