CN101449515B - 用于分布系统中带宽自适应n到n通信的方法和系统 - Google Patents

用于分布系统中带宽自适应n到n通信的方法和系统 Download PDF

Info

Publication number
CN101449515B
CN101449515B CN200780016149.7A CN200780016149A CN101449515B CN 101449515 B CN101449515 B CN 101449515B CN 200780016149 A CN200780016149 A CN 200780016149A CN 101449515 B CN101449515 B CN 101449515B
Authority
CN
China
Prior art keywords
participant
memory cell
communication
payload data
payload
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
CN200780016149.7A
Other languages
English (en)
Other versions
CN101449515A (zh
Inventor
A·亚历山大德罗夫
R·萨拉维德拉
R·查默斯
K·斯里尼瓦森
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.)
Geithner Purchase Co Ltd
Original Assignee
Citrix Online LLC
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 Citrix Online LLC filed Critical Citrix Online LLC
Priority to CN201210350366.2A priority Critical patent/CN102882696B/zh
Publication of CN101449515A publication Critical patent/CN101449515A/zh
Application granted granted Critical
Publication of CN101449515B publication Critical patent/CN101449515B/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/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4038Arrangements for multi-party communication, e.g. for conferences with floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

描述了用于带宽自适应计算设备到计算设备通信的方法和系统。带宽自适应通信包括接收来自第一参加者的通信,把通信的有效负荷数据存储在与第一参加者相关联的信道存储器元件,以及把有效负荷数据发送到第二参加者。

Description

用于分布系统中带宽自适应N到N通信的方法和系统
相关专利申请的交叉引用
本专利申请主张2006年5月4日提交的、共同待决的美国专利申请序列号No.11/381,702的优先权和权益,其公开内容整体通过引用包括在本申请中。
技术领域
本发明总的涉及在计算设备之间使用的通信机制。更具体地,本发明涉及在分布计算系统中使用的通信机制。
背景技术
在分布计算环境中,很难在大量计算设备之间提供直接通信,其中每个计算设备与每个其它计算设备互相通信。例如,一个解决方案是使用1到N多播信道。也就是,每个计算设备(例如,在线会议或网络研讨会(webinar)的参加者)创建多播信道和每个其它计算设备预订到每个其它计算设备的信道。在这样的解决方案中,具有N个计算设备的系统需要N个信道和N2个信道预订。结果,引起需要保持O(N2)的状态。这样的解决方案在扩大到大量计算设备时性能变得很差。
发明内容
作为高层次的综述,本发明避免对于N2解决方案所需要的附加开销。总的来说,本发明的特征在于每个计算设备预订的单个共享信道。结果,只需要N个预订和O(N)状态,而不是当使用N个1到N多播信道时所需要的N2个预订和O(N2)状态。每个计算设备以一组分组的形式在共享信道上公布它的当前的状态。每个计算设备接收其它计算设备的状态的更新。
另外,在某些情形下,本发明的特征在于以带宽自适应的方式传播数据的能力。这允许具有慢速(例如,56k)和快速(例如,T1和宽带)连接速度的计算设备参加到系统中而不会互相干扰。
一方面,本发明的特征在于用于在分布系统中多个参加者之间的带宽自适应通信的方法。该方法包括接收来自第一参加者的通信,把有效负荷数据存储在信道存储器单元中,以及把有效负荷数据发送到第二参加者。该通信包括元数据和有效负荷数据。信道存储器元件包括多个存储单元。多个存储单元之一是通过使用元数据进行选择,并且它与第一参加者相关联。
在一个实施例中,该通信包括参加者识别符和有效负荷数据。该通信可以代表参加者的状态,并且可包括元数据与有效负荷数据。
在另一个实施例中,存储包括把有效负荷数据存储在多个数组单元之一中。多个数组单元之一通过使用元数据进行选择,并且它与第一参加者相关联。
在其它实施例中,发送包括把数组发送到第二参加者。发送还可包括根据标识从第一参加者最近接收的第一参加者有效负荷的信息把有效负荷数据发送到第二参加者。而且,发送还可包括根据来自第二参加者的请求把有效负荷数据发送到第二参加者。该请求标识由第二参加者最近存储的第一参加者有效负荷数据。
在另一个实施例中,该方法包括在发送之前,接收来自第一参加者的第二通信。该通信包括第二有效负荷数据。而且,该方法包括把第二有效负荷数据存储在与第一参加者相关联的多个存储单元之一。
在再一个实施例中,该方法包括接收来自第二参加者的通信,把有效负荷数据存储在多个存储单元之一中,以及把有效负荷数据发送到第一参加者。该通信包括元数据和有效负荷数据。多个存储单元之一通过使用元数据进行选择,并且它与第二参加者相关联。
在另一个实施例中,该方法包括接收来自第一参加者的第二通信。而且,该方法包括把第二通信存储在与第一参加者相关联的第二存储单元中。
另一方面,本发明的特征在于用于在多个参加者之间的带宽自适应通信的分布系统。该系统包括发送状态数据的多个参加者和一个服务器。该服务器接收由多个客户发送的状态数据,把所接收的状态数据存储在具有多个存储单元的存储器元件,以及把从多个参加者之一接收的状态数据发送到该多个参加者的每个其它参加者。多个存储单元的每个存储单元与多个参加者的相应的一个参加者相关联。
附图说明
通过结合附图对本发明的详细说明,将更加容易了解以上的讨论,其中:
图1显示分布计算环境的实施例。
图2显示图1的分布计算环境的参加者计算设备的实施例。
图3显示图1的分布计算环境的服务器计算设备的实施例。
图4是共享的通信信道的实施例的框图。
图5是图2的参加者计算设备的参加者软件的操作的方法的实施例的流程图。
图6是图2的服务器计算设备的服务器软件的操作的方法的实施例的流程图。
图7A-7F显示用来显示本发明的实施例的示例性使用的共享的通信信道的框图。
图8显示其中可以实践本发明的原理的分布计算环境的另一个实施例。
具体实施方式
参照图1,可被使用于在线合作等等的分布计算环境100包括一个或多个参加者计算设备110A,110B,...,110F(以下每个参加者计算设备或多个计算设备总的被称为参加者110),它们经由通信网络140与一个或多个服务器计算设备150(以下每个服务器计算设备或多个计算设备总的被称为服务器150)通信。网络140可以是局域网(LAN)、中等区域网(MAN)、或广域网(WAN),诸如互联网或万维网。参加者110的用户通过使用各种不同的连接的任一个连接的通信链路120--包括但不限于,标准电话线、LAN或WAN链路(例如,T1、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之间的不同类型的通信。例如,在在线会议中,第一通信信道承载从呈现参加者110到服务器150的屏幕数据,该服务器又把屏幕数据分发到其它参加者110。正如下面更详细地描述的,第二通信信道被共享,以便提供在参加者之间的实时通信(例如,聊天信息、名片信息、问题和回答信息、轮询信息、会话反馈信息、话音数据、视频数据、分布的控制信息、状态信息等等)。
图2显示参加者110的概念性框图。应当看到,参加者110的其它实施例可包括以下的单元的任何组合,或包括没有明确地列出的其它单元。在一个实施例中,每个参加者110典型地包括处理器200、易失性存储器204、操作系统208、参加者软件212、永久贮存存储器216(例如,硬盘驱动器或外部硬盘驱动器)、网络接口220(例如,网络接口卡)、键盘224或在PDA的情形下虚拟化的键盘、在与参加者110电子通信中的至少一个输入设备228(例如,鼠标、跟踪球、空间球、光笔和图形输入板、触摸屏、触针、和任何其它输入设备)、和显示器232。操作系统116可包括,但不限于,WINDOS3.X、WINDOS95、WINDOS98、WINDOS NT3.51、WINDOS NT4.0、WINDOS2000、WINDOS XP、WINDOS VISTA、WINDOS CE、MAC/OS、JAVA、PALM OS、SYMBIAN OS、LINSPIRE、LINUX、SMARTPHONE OS、UNIX的各种不同的形式、WINDOWS2000 SERVER、WINDOWS2000 ADVANCED SERVER、WINDOWS NT SERVER、WINDOWSNT SERVER ENTERPRISE EDITION、MACINTOSH OS XSERVER、UNIX、SOLARIS、VMWARE等等。
参加者软件212与参加者110的各种不同的部件(例如操作系统208)通信,以便提供本发明的特征。作为总的概述,参加者软件212创建和保持共享的信道的本地拷贝。参加者软件212提供用来进行读和写数据到共享的信道以及把改变发送到其它参加者110和服务器150的装置。
参照图3,描述了服务器150的实施例。应当理解,服务器150的其它实施例可包括以下的单元的任一组合,或包括没有明确地列出的其它单元。服务器150包括处理器300、易失性存储器304、操作系统308、服务器软件312、永久贮存存储器316、网络接口320、键盘324、至少一个输入设备328(例如,鼠标、跟踪球、空间球、条形码读码器、扫描仪、光笔和图形输入板、触摸屏、触针、和任何其它输入设备)、和显示器332。在另一个实施例中,服务器150以“无头”模式运行。服务器操作系统可包括,但不限于,WINDOS3.X、WINDOS95、WINDOS98、WINDOS NT3.51、WINDOS NT4.0、WINDOS2000、WINDOS XP、WINDOS VISTA、WINDOS CE、MAC/OS、JAVA、PALMOS、SYMBIAN OS、LINSPIRE、LINUX、SMARTPHONE OS、UNIX的各种不同的形式、WINDOWS2000SERVER、WINDOWS2000 ADVANCED SERVER、WINDOWS NTSERVER、WINDOWS NT SERVER ENTERPRISE EDITION、MACINTOSH OSXSERVER、UNIX、SOLARIS、VMWARE等等。
服务器软件312与服务器150的各种不同的部件(例如操作系统308)通信,以便提供本发明的特征。作为总的概述,服务器软件312创建共享的信道和保持共享信道状态的本地拷贝。服务器软件312提供用来把改变发送到其它参加者110或其它服务器150的装置。
参照图4,显示和描述了如在环境100内使用的共享的通信信道400的实施例。共享的通信信道400是参加者110预订的单个信道。每个参加者110保持共享的通信信道400的本地拷贝236A,236B,236C,236D,236E,236F,236G(这里称为本地拷贝236)。在概念的级别上,共享的通信信道400可被看作为具有多个存储单元410或区的单个数据目标(例如,信道存储器元件)。这些存储单元410或区可以在概念上被看作为在信道上的“时隙”。正如所显示的,共享的数据信道包括12个区410(即,410A,410B,410C,410D,410E,410E’,410E”,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在参加者的写操作完成后进行。在一个实施例中,当在参加者110与服务器150之间的带宽许可时进行传输。这个特征提供带宽自适应传输模块。例如,假设参加者110A通过使用56k调制解调器被连接到服务器150,在参加者110A与服务器150之间的变化被传送的速度与如果参加者110A与服务器150通过T1线被连接有很大的不同。这样,参加者110A等待到直至带宽许可传输为止,这些相同的带宽自适应原理也可以在参加者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的任何新的分组的请求。在另一个实施例中,每个参加者110每预定的毫秒数或每个其它时间周期询问服务器150。在再一个实施例中,每个参加者110在连接服务器150与参加者110的带宽对于接收更新内容是可得到时询问服务器150。作为询问的一部分,共享信道的本地拷贝236的现在的状态被发送到服务器150。服务器软件312比较本地拷贝236与共享的通信信道400的当前的状态,以确定把哪些分组发送到请求的参加者110。
所描述的同步方法提供在参加者110与服务器150之间共享的通信信道400的状态的“松弛”的同步。参加者110的本地拷贝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,110F的本地拷贝236A,236B,236F。为了简化起见,每个分组414涉及到单个数字。应当理解,每个数字代表分组414的元数据和有效负荷数据。在该例子中,假设两个参加者110A,110B通过T1连接被连接到服务器150,而一个参加者110F通过56K调制解调器被连接到服务器150。
在图7A上,本地拷贝236和共享信道400的每个的状态是一致的。在图7B上,由第一参加者110A对共享信道的本地拷贝236A的存储单元410A进行改变,并把它传播到共享信道400,并又传播到其它两个参加者。经由T1线连接的第二参加者236B接收与参加者110A相关联的存储单元410A的改变。然而,由于连接第三参加者236F到服务器150的减小的带宽,与存储单元410A相关联的新的分组不能快速地接收。此外,与第二参加者236B相关联的存储单元410B的本地拷贝发生改变。如图所示,共享的通信信道400的各种不同的拷贝的状态处在不同的状态。
在图7C上,由第二参加者110B作出的改变被传播到共享信道400,并又传播到第一参加者110A。然而,由于带宽限制,存储单元410B的改变没有被第三参加者110F接收。在图7D上,对于与第一参加者110A相关联的存储单元410A的另一个改变被传播到第二参加者110B。然而,因为第三参加者110F处在接收存储单元410B的改变的过程中,第三参加者110F在这时不接收来自第一参加者110A的改变。
在图7E上,第一参加者把另一个改变(即,分组4)写入到它的存储单元410A。共享信道400接收该改变和把它转发到第二参加者110B和第三参加者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通信。例如,参加者110F与第一服务器150B和第二服务器150C通信。参加者110F保持如由每个第一服务器150B和第二服务器150C知道的、共享信道400的状态的本地拷贝。这样的实施例提供对于共享信道400的状态的冗余度和容错度。
描述的本发明的一个示例性实施方案是在进行在线会议或网络研讨会的在线合作产品中的使用。在线会议包含通过通信服务器150进行通信的一个或多个参加者110。应当理解,如果参加者的人数需要大于单个通信服务器150,则可以使用多个通信服务器150。在在线会议时,参加者之一是推荐者,他控制会议的流程。推荐者发送一系列图像,其可以代表幻灯片演示。当推荐者显示幻灯片时,代表该幻灯片的页图像被发送到所有的观看者。在许多实施例中,每个幻灯片由多个数据分组代表,并通过被指定用于屏幕共享数据的特定的信道被发送。每个参加者110被标记为“观看者”,他们观看共享的屏幕数据。在观看者与推荐者之间的共享的屏幕数据的同步通过使用可靠的多播协议进行。这种类型的“共享”代表1到N型通信。
除了共享屏幕数据以外,希望在观看者与推荐者之间能够进行“聊天”通信(例如,观看者到观看者的通信以及观看者到推荐者的通信)。这样,在推荐者与观看者之间建立共享信道400,用来载送聊天数据。每个观看者只需要预订共享信道,使能达到在线会议的聊天特性。每次观看者打入聊天消息时,共享信道的观看者的各个区410就用新消息有效负荷被更新。作为应答,更新的聊天数据被发送到其它观看者和推荐者,如上所述。这种类型的“共享”代表N到N型通信。
有许多在线合作产品可以在分布计算环境100中运行。示例性产品包括,但不限于,由Santa Barbara,Califonia的Cirtix Online,LLC提供的GOTOMEETING和GOTOWEBINAR。下面描述的某些方面和特性可以体现在这样的产品中。其它产品包括由SantaClara,Califonia的WebEx Communications,Inc.提供的WEBEXEMX、WEBEX ENTERPRISE EDITION、WEBEX EVENTCENTER、WEBEX GLOBALWATCH、WEBEX MEETINGCENTER、WEBEX MEETMENOW、WEBEX PRESENTATIONSTUDIO、WEBEX SALES CENTER、WEBEX TRAINING CENTER、WEBEX WEBOFFICE、和WEBEX WORKSPACE。另一个例子是由Redmond,Washington的  Microsoft Corporation 提供的LIVEMEETING产品。
以前描述的实施例可以被实施为使用编程和/或工程技术来产生软件、固件、硬件或它们的任何组合的方法、设备或制造物品。如在这里使用的术语“制造物品”打算包括从一个或多个计算机可读的器件可访问的、和被嵌入到一个或多个计算机可读的器件的代码或逻辑、固件、可编程的逻辑、存储器件(例如,EEPROM、ROM、PROM、RAM、SRAM等等)、硬件(例如,集成电路芯片、场可编程门阵列(FPGA)、专用集成电路(ASIC)等等)、电子器件、计算机可读的非易失性存储单元(例如,CD-ROM、软盘、硬盘驱动器等等)、经由网络传输线提供到程序的访问的文件服务器、无线传输媒体、通过空间传播的信号、无线电波、红外信号等等。制造物品包括硬件逻辑以及由处理器执行的被嵌入在计算机可读的媒体中的软件或可编程代码。当然,本领域技术人员将会认识到,可以对于这个配置作出许多修改而不背离本发明的范围。
虽然本发明是对于具体的细节描述的,但不打算把这样的细节看作为对于本发明的范围的限制,除了它们被包括在所附权利要求以及到它们被包括在所附权利要求的程度之外。

Claims (20)

1.一种用于在分布系统中多个参加者之间的带宽自适应通信的方法,该方法包括:
(a)在远离多个参加者计算设备中的每个参加者计算设备的服务器计算设备处,接收来自第一参加者的多个通信,每个通信包括元数据和有效负荷数据;
(b)对于每个接收到的通信,在所述服务器计算设备处把有效负荷数据存储在信道存储器元件,该信道存储器元件包括多个存储单元,每个存储单元与多个参加者的相应一个参加者相关联,使得所有参加者从多个存储单元的每个读取但每个参加者仅仅写入到与该参加者相关联的存储单元,与第一参加者相关联的多个存储单元的一个在接收到每个通信之后通过使用元数据进行选择;以及
(c)当第二参加者能够接收来自所述服务器计算设备的通信时;
(c)(i)所述服务器计算设备比较信道存储器元件的内容与由第二参加者本地保持的信道存储器元件的拷贝的记录;以及
(c)(ii)如果子步骤(c)(i)中的比较显示对第一存储单元中存储的有效负荷数据的更新,则所述服务器计算设备将存储在与第一参加者相关联的第一存储单元中的有效负荷数据发送到第二参加者;以及
(d)当第三参加者能够接收来自所述服务器计算设备的通信时;
(d)(i)所述服务器计算设备比较信道存储器元件的内容与由第三参加者本地保持的信道存储器元件的拷贝的记录;以及
(d)(ii)如果子步骤(d)(i)中的比较显示对第一存储单元中存储的有效负荷数据的更新,则所述服务器计算设备将存储在与第一参加者相关联的第一存储单元中的有效负荷数据发送到第三参加者,
第二参加者通过比第三参加者更快的连接进行通信并且存储在第一存储单元中的有效负荷数据比被发送给第三参加者更经常地被发送给第二参加者。
2.权利要求1的方法,其中接收到的通信包括参加者识别符和有效负荷数据。
3.权利要求1的方法,其中接收到的通信代表第一参加者的状态并且包括元数据与有效负荷数据。
4.权利要求1的方法,其中所述信道存储器元件包括多个数组单元,步骤(b)包括把有效负荷数据存储在多个数组单元之一中,该多个数组单元之一通过使用元数据进行选择,并且与第一参加者相关联。
5.权利要求4的方法,其中步骤(c)包括把存储在所述数组中的有效负荷数据发送到第二参加者。
6.权利要求1的方法,其中步骤(c)包括响应标识从第一参加者最近接收的第一参加者有效负荷数据的信息把有效负荷数据发送到第二参加者。
7.权利要求1的方法,其中步骤(c)包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者。
8.权利要求1的方法,其中步骤(c)包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者,该请求标识由第二参加者最近存储的第一参加者有效负荷数据。
9.权利要求1的方法,还包括:
(e)接收来自所述第二参加者的通信,该通信包括元数据和有效负荷数据;
(f)把有效负荷数据存储在多个存储单元之一中,该多个存储单元之一通过使用元数据进行选择,并且与第二参加者相关联;以及
(g)把有效负荷数据发送到第一参加者。
10.权利要求1的方法,其中接收自第一参加者的、第一通信的第一有效负荷数据被存储在与第一参加者相关联的第一存储单元中,并且接收自第一参加者的、第二通信的第二有效负荷数据被存储在与第一参加者相关联的第二存储单元中。
11.一种用于在分布计算系统中多个参加者计算设备之间进行带宽自适应通信的服务器计算系统,该服务器计算系统包括:
用于在远离多个参加者计算设备中的每个参加者计算设备的服务器计算设备处接收来自第一参加者的多个通信的装置,其中每个通信包括元数据和有效负荷数据;
用于对于每个接收到的通信在所述服务器计算设备处把有效负荷数据存储在信道存储器元件的装置,其中该信道存储器元件包括多个存储单元,每个存储单元与多个参加者的相应一个参加者相关联,使得所有参加者从多个存储单元的每个读取但每个参加者仅仅写入到与该参加者相关联的存储单元,与第一参加者相关联的多个存储单元的一个在接收到每个通信之后通过使用元数据进行选择;
用于在第二参加者接收来自所述服务器计算设备的通信时通过所述服务器计算设备比较信道存储器元件的内容与由第二参加者本地保持的信道存储器元件的拷贝的记录的装置;
用于如果对信道存储器元件的内容与由第二参加者本地保持的信道存储器元件的拷贝的记录的比较显示对第一存储单元中存储的有效负荷数据的更新、则通过所述服务器计算设备将存储在与第一参加者相关联的第一存储单元中的有效负荷数据发送到第二参加者的装置;
用于当第三参加者接收来自所述服务器计算设备的通信时通过所述服务器计算设备比较信道存储器元件的内容与由第三参加者本地保持的信道存储器元件的拷贝的记录的装置;以及
用于如果对信道存储器元件的内容与由第三参加者本地保持的信道存储器元件的拷贝的记录的比较显示对第一存储单元中存储的有效负荷数据的更新则通过所述服务器计算设备将存储在与第一参加者相关联的第一存储单元中的有效负荷数据发送到第三参加者的装置,
其中,第二参加者通过比第三参加者更快的连接进行通信并且存储在第一存储单元中的有效负荷数据比被发送给第三参加者更经常地被发送给第二参加者。
12.权利要求11的系统,其中接收到的通信包括参加者识别符和有效负荷数据。
13.权利要求11的系统,其中接收到的通信代表第一参加者的状态并且包括元数据与有效负荷数据。
14.权利要求11的系统,其中所述信道存储器元件包括多个数组单元,用于把有效负荷数据存储在信道存储器元件的装置包括把有效负荷数据存储在多个数组单元之一中的装置,该多个数组单元之一通过使用元数据进行选择,并且与第一参加者相关联。
15.权利要求14的系统,其中用于接收来自所述服务器计算设备的通信的装置包括把存储在所述数组中的有效负荷数据发送到第二参加者的装置。
16.权利要求11的系统,其中用于接收来自所述服务器计算设备的通信的装置包括响应标识从第一参加者最近接收的第一参加者有效负荷数据的信息把有效负荷数据发送到第二参加者的装置。
17.权利要求11的系统,其中用于接收来自所述服务器计算设备的通信的装置包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者的装置。
18.权利要求11的系统,其中用于接收来自所述服务器计算设备的通信的装置包括响应来自第二参加者的请求把有效负荷数据发送到第二参加者的装置,该请求标识由第二参加者最近存储的第一参加者有效负荷数据。
19.权利要求11的系统,还包括:
用于接收来自所述第二参加者的通信的装置,该通信包括元数据和有效负荷数据;
用于把有效负荷数据存储在多个存储单元之一中的装置,该多个存储单元之一通过使用元数据进行选择,并且与第二参加者相关联;以及
用于把有效负荷数据发送到第一参加者的装置。
20.权利要求11的系统,其中接收自第一参加者的、第一通信的第一有效负荷数据被存储在与第一参加者相关联的第一存储单元中,并且接收自第一参加者的、第二通信的第二有效负荷数据被存储在与第一参加者相关联的第二存储单元中。
CN200780016149.7A 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统 Expired - Fee Related CN101449515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210350366.2A CN102882696B (zh) 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/381,702 2006-05-04
US11/381,702 US8140618B2 (en) 2006-05-04 2006-05-04 Methods and systems for bandwidth adaptive N-to-N communication in a distributed system
PCT/US2007/010729 WO2007130511A2 (en) 2006-05-04 2007-05-03 Methods and systems for bandwidth adaptive n-to-n communication in a distributed system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210350366.2A Division CN102882696B (zh) 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统

Publications (2)

Publication Number Publication Date
CN101449515A CN101449515A (zh) 2009-06-03
CN101449515B true CN101449515B (zh) 2012-11-14

Family

ID=38626561

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200780016149.7A Expired - Fee Related CN101449515B (zh) 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统
CN201210350366.2A Expired - Fee Related CN102882696B (zh) 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210350366.2A Expired - Fee Related CN102882696B (zh) 2006-05-04 2007-05-03 用于分布系统中带宽自适应n到n通信的方法和系统

Country Status (9)

Country Link
US (2) US8140618B2 (zh)
EP (1) EP2027669B1 (zh)
JP (1) JP2009535994A (zh)
CN (2) CN101449515B (zh)
AU (1) AU2007248550B2 (zh)
BR (1) BRPI0711565A8 (zh)
CA (1) CA2650927C (zh)
IL (1) IL195103A (zh)
WO (1) WO2007130511A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185150B2 (en) * 2012-05-06 2015-11-10 Citrix Systems, Inc. System and method for monitoring and selectively sharing an image in an image library
US9198010B2 (en) * 2012-05-08 2015-11-24 24/7 Customer, Inc. Data assistance application for mobile devices
US8971323B2 (en) * 2012-06-15 2015-03-03 Citrix Systems, Inc. Systems and methods for dynamic routing in a cluster
US9282285B2 (en) 2013-06-10 2016-03-08 Citrix Systems, Inc. Providing user video having a virtual curtain to an online conference
KR101781769B1 (ko) * 2013-11-27 2017-09-25 인텔 코포레이션 서비스가능한 비휘발성 메모리 모듈들을 인에이블시키는 서버 플랫폼 아키텍처들을 위한 방법 및 장치
JP6579916B2 (ja) * 2015-10-28 2019-09-25 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018766A (en) * 1996-02-01 2000-01-25 Mpath Interactive, Inc. Server-group messaging system for interactive applications
CN1285691A (zh) * 1999-08-20 2001-02-28 三星电子株式会社 根据网络带宽自适应地控制数据传输速率的装置
WO2007051343A1 (fr) * 2005-10-31 2007-05-10 Zte Corporation Système de transmission de support de flux à bande passante adaptative de système serveur de support de flux et méthode pour ceux-ci

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4013828A (en) 1976-02-20 1977-03-22 Bell Telephone Laboratories, Incorporated Method and arrangement for reducing the bandwidth and/or time required to transmit a dithered image
US4736369A (en) 1986-06-13 1988-04-05 International Business Machines Corp. Adaptive session-level pacing
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5210753A (en) 1991-10-31 1993-05-11 International Business Machines Corporation Robust scheduling mechanm for efficient band-width usage in muliticell wireless local networks
US7006881B1 (en) 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5564016A (en) 1993-12-17 1996-10-08 International Business Machines Corporation Method for controlling access to a computer resource based on a timing policy
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5812792A (en) * 1994-07-22 1998-09-22 Network Peripherals, Inc. Use of video DRAM for memory storage in a local area network port of a switching hub
US6175571B1 (en) * 1994-07-22 2001-01-16 Network Peripherals, Inc. Distributed memory switching hub
US5541927A (en) 1994-08-24 1996-07-30 At&T Corp. Method of multicasting
US5771383A (en) 1994-12-27 1998-06-23 International Business Machines Corp. Shared memory support method and apparatus for a microkernel data processing system
US5553083B1 (en) 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5845265A (en) 1995-04-26 1998-12-01 Mercexchange, L.L.C. Consignment nodes
US5751958A (en) * 1995-06-30 1998-05-12 Peoplesoft, Inc. Allowing inconsistency in a distributed client-server application
US5727003A (en) * 1995-07-03 1998-03-10 Cirrus Logic, Inc. Method and apparatus for flash burst error correction
US5826025A (en) 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
US6249291B1 (en) 1995-09-22 2001-06-19 Next Software, Inc. Method and apparatus for managing internet transactions
DE69635386T2 (de) 1995-12-11 2006-06-22 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Bereitstellen von Telekommunikationsdiensten
US5956027A (en) 1995-12-12 1999-09-21 At&T Corp Method and apparatus for sharing a web page
EP0867003A2 (en) 1995-12-12 1998-09-30 The Board of Trustees for the University of Illinois Method of and system for transmitting and/or retrieving real-time video and audio information over performance-limited transmission systems
US6226617B1 (en) 1995-12-12 2001-05-01 Hitachi, Ltd. Product disposal system
US6081829A (en) 1996-01-31 2000-06-27 Silicon Graphics, Inc. General purpose web annotations without modifying browser
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US7013327B1 (en) 1996-02-16 2006-03-14 G&H Nevada -Tek Method and apparatus for computing within a wide area network
US6167432A (en) 1996-02-29 2000-12-26 Webex Communications, Inc., Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
US5764235A (en) 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5892905A (en) * 1996-12-23 1999-04-06 International Business Machines Corporation Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web
US5918248A (en) * 1996-12-30 1999-06-29 Northern Telecom Limited Shared memory control algorithm for mutual exclusion and rollback
US5900018A (en) * 1997-06-24 1999-05-04 Sun Microsystems, Inc. Processor-implemented method of controlling data access to shared resource via exclusive access control write-cache
US6519686B2 (en) 1998-01-05 2003-02-11 Intel Corporation Information streaming in a multi-process system using shared memory
US6415329B1 (en) 1998-03-06 2002-07-02 Massachusetts Institute Of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US7200804B1 (en) 1998-12-08 2007-04-03 Yodlee.Com, Inc. Method and apparatus for providing automation to an internet navigation application
US6327276B1 (en) 1998-12-22 2001-12-04 Nortel Networks Limited Conferencing over LAN/WAN using a hybrid client/server configuration
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6438594B1 (en) 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6615199B1 (en) 1999-08-31 2003-09-02 Accenture, Llp Abstraction factory in a base services pattern environment
US6496850B1 (en) 1999-08-31 2002-12-17 Accenture Llp Clean-up of orphaned server contexts
US6339832B1 (en) 1999-08-31 2002-01-15 Accenture Llp Exception response table in environment services patterns
US6549949B1 (en) 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6550057B1 (en) 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval in an information services patterns environment
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6477665B1 (en) 1999-08-31 2002-11-05 Accenture Llp System, method, and article of manufacture for environment services patterns in a netcentic environment
US6442748B1 (en) 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US6434568B1 (en) 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6477580B1 (en) 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6606660B1 (en) 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6502213B1 (en) 1999-08-31 2002-12-31 Accenture Llp System, method, and article of manufacture for a polymorphic exception handler in environment services patterns
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6289382B1 (en) 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6529948B1 (en) 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6434628B1 (en) 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
WO2001061570A1 (en) 2000-02-14 2001-08-23 Lockheed Martin Corporation Information access, collaboration and integration system and method
US7437408B2 (en) 2000-02-14 2008-10-14 Lockheed Martin Corporation Information aggregation, processing and distribution system
US20020049608A1 (en) 2000-03-03 2002-04-25 Hartsell Neal D. Systems and methods for providing differentiated business services in information management environments
US20020065864A1 (en) 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US20020174227A1 (en) 2000-03-03 2002-11-21 Hartsell Neal D. Systems and methods for prioritization in information management environments
US20020049841A1 (en) 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
WO2001065330A2 (en) 2000-03-03 2001-09-07 Sanctum Ltd. System for determining web application vulnerabilities
US20020059274A1 (en) 2000-03-03 2002-05-16 Hartsell Neal D. Systems and methods for configuration of information management systems
US7113934B2 (en) 2000-05-25 2006-09-26 Fujitsu Limited Element management system with adaptive interfacing selected by last previous full-qualified managed level
US6778548B1 (en) * 2000-06-26 2004-08-17 Intel Corporation Device to receive, buffer, and transmit packets of data in a packet switching network
US20060064716A1 (en) 2000-07-24 2006-03-23 Vivcom, Inc. Techniques for navigating multiple video streams
US6959320B2 (en) 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US20020083183A1 (en) 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7043524B2 (en) 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US20020073238A1 (en) * 2000-11-28 2002-06-13 Eli Doron System and method for media stream adaptation
US7574481B2 (en) * 2000-12-20 2009-08-11 Microsoft Corporation Method and system for enabling offline detection of software updates
US20020120607A1 (en) * 2001-02-28 2002-08-29 Lumenati, Inc. File sharing system for serving content from a computer
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
JP3704573B2 (ja) * 2001-03-14 2005-10-12 東芝ソリューション株式会社 クラスタシステム
US20030041165A1 (en) 2001-08-24 2003-02-27 Spencer Percy L. System and method for group video teleconferencing using a bandwidth optimizer
US7111298B1 (en) * 2001-09-04 2006-09-19 Emc Corporation Inter-processor competition for a shared resource
US20040103147A1 (en) 2001-11-13 2004-05-27 Flesher Kevin E. System for enabling collaboration and protecting sensitive data
US7376944B2 (en) * 2001-12-18 2008-05-20 Hewlett-Packard Development Company, L.P. Hardware ROM upgrade through an internet or intranet service
US7023979B1 (en) 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
AU2003239385A1 (en) 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
SG111978A1 (en) * 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7043623B2 (en) * 2003-01-22 2006-05-09 Intelitrac, Inc. Distributed memory computing environment and implementation thereof
US7246207B2 (en) * 2003-04-03 2007-07-17 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US6865756B2 (en) * 2003-05-28 2005-03-15 Graco Children's Products Inc. Playard
JP2005062991A (ja) * 2003-08-08 2005-03-10 Komatsu Ltd Webページ閲覧装置
EP1548601A1 (fr) * 2003-12-23 2005-06-29 Stmicroelectronics SA Contrôle d'accès mémoire dans un appareil électronique
US7827139B2 (en) 2004-04-15 2010-11-02 Citrix Systems, Inc. Methods and apparatus for sharing graphical screen data in a bandwidth-adaptive manner
US7685128B2 (en) * 2004-06-10 2010-03-23 International Business Machines Corporation Remote access agent for caching in a SAN file system
JP2006172067A (ja) * 2004-12-15 2006-06-29 Hitachi Ltd データベース管理方法、システム及びプログラム
US7308539B2 (en) * 2004-12-17 2007-12-11 International Business Machines Corporation Concurrent read access and exclusive write access to data in shared memory architecture
US20060161671A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. Method and systems for capture and replay of remote presentation protocol data
US8024290B2 (en) * 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
KR100740635B1 (ko) * 2005-12-26 2007-07-18 엠텍비젼 주식회사 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
US20070233691A1 (en) * 2006-03-30 2007-10-04 Sap Ag System and method for implementing accumulative rows within master tables

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018766A (en) * 1996-02-01 2000-01-25 Mpath Interactive, Inc. Server-group messaging system for interactive applications
CN1285691A (zh) * 1999-08-20 2001-02-28 三星电子株式会社 根据网络带宽自适应地控制数据传输速率的装置
WO2007051343A1 (fr) * 2005-10-31 2007-05-10 Zte Corporation Système de transmission de support de flux à bande passante adaptative de système serveur de support de flux et méthode pour ceux-ci

Also Published As

Publication number Publication date
BRPI0711565A2 (pt) 2011-11-08
EP2027669A2 (en) 2009-02-25
US20120143955A1 (en) 2012-06-07
CN101449515A (zh) 2009-06-03
AU2007248550A1 (en) 2007-11-15
WO2007130511A2 (en) 2007-11-15
CN102882696B (zh) 2015-07-29
CA2650927C (en) 2016-03-22
CA2650927A1 (en) 2007-11-15
US8732242B2 (en) 2014-05-20
JP2009535994A (ja) 2009-10-01
US20070260715A1 (en) 2007-11-08
US8140618B2 (en) 2012-03-20
CN102882696A (zh) 2013-01-16
WO2007130511A3 (en) 2008-01-03
BRPI0711565A8 (pt) 2017-05-16
AU2007248550B2 (en) 2012-01-19
EP2027669B1 (en) 2012-08-01
IL195103A (en) 2013-04-30
IL195103A0 (en) 2009-09-22

Similar Documents

Publication Publication Date Title
CN101449515B (zh) 用于分布系统中带宽自适应n到n通信的方法和系统
CN103069755B (zh) 使用多个客户端实例的即时消息传送的方法和系统
CN101111833A (zh) 在多个设备上管理即时消息传递会话
CN111277483B (zh) 一种多端消息的同步方法、服务器及可存储介质
JP6335978B2 (ja) 通信セッション上の一部の参加者のための仮想の通信セッションを提供するシステムおよび方法
TWI612836B (zh) 雲端資料傳輸系統及其動態分流方法
US10097482B2 (en) Method, device, and system for network communication
CN100561961C (zh) 一种对等网络中设备间的连接方法
CN103841193A (zh) 一种信息推送方法及系统
KR101258990B1 (ko) 장치관리 클라이언트로부터 객체 회수방법 및 이와 관련된 장치관리 시스템
Herskovic et al. Understanding presence awareness information needs among engineering students
CN103685362B (zh) 信息共享处理装置及信息共享处理方法
Kamaludeen et al. Recommended broadband capacity estimation system for school boards
JP4959512B2 (ja) 優先制御システムおよび優先制御方法
Ramu Edge Computing Performance Amplification
JP2019174918A (ja) チャットシステム、チャットシステムのプログラム
Korzun et al. Performance evaluation of Smart-M3 applications: A SmartRoom case study
Kargl et al. Smart reminder-personal assistance in a mobile computing environment
CN106970932A (zh) 自适应查询处理
KR20030033516A (ko) 블루투스를 이용한 데이터 전송 시스템 및 이를 이용한정보 제공 방법
JP6817730B2 (ja) データ送信装置、メッセージ生成装置、データ送信システム、方法およびプログラム
CN115866050A (zh) 请求处理方法、装置、电子设备及计算机可读存储介质
JP6897040B2 (ja) プログラム、情報処理装置及び情報処理システム
KR101736385B1 (ko) 데이터의 공유 및 데이터의 공유에 따른 리워드를 제공하기 위한 장치, 방법 및 시스템
CN115243080A (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
ASS Succession or assignment of patent right

Owner name: CITRIX SYSTEM CO., LTD.

Free format text: FORMER OWNER: CITRIX ONLINE LLC

Effective date: 20140326

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140326

Address after: American Florida

Patentee after: Citrix System Co., Ltd.

Address before: American California

Patentee before: Citrix Online LLC

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170116

Address after: American Florida

Patentee after: Geithner purchase Co. Ltd.

Address before: American Florida

Patentee before: Citrix Systems, Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121114

Termination date: 20180503

CF01 Termination of patent right due to non-payment of annual fee