用于协调联网组成员的方法和设备的制作方法

文档序号:6375140阅读:150来源:国知局
专利名称:用于协调联网组成员的方法和设备的制作方法
技术领域
本发明涉及对通过网络进行通信的一组用户、应用或者设备的动作进行协调的方法,并涉及能够执行这种方法的设备。
背景技术
对于本发明,设法解决的总问题是,在不同数目的接收者之间进行协调,或者另选地,如果将该问题描述为时间处理模型,则问题变为参与实现最终目的的不同动作的协调。
通常,现有技术中存在的技术文献明显缺少针对大量联网设备的控制和协调的解决方案。发送者可以使用单个通信信道与大量接收者进行联系的网络场景是公知的,尽管近些年来也开发出了其它引起关注的应用层解决方案,但是通常用来实现该目的的协议为IP组播。使用IP组播或者其它组通信技术的传输协议提供了以下非常重要的优点使得发送者可以利用单个本地发送操作向多个接收者发送消息。这些技术的另一重要方面是,没有从接受者向服务器送回任何消息,所以服务器不会超负荷,并且通常在发送者侧没有保存有关接收者的任何信息。这些特征的优点在于,无需对发送者和接收者进行协调,但是一旦需要进行这种协调,则现有的组通信技术将面临许多问题。
在现有技术范围内,将这种问题称作会话通告(announcement)问题,并且会话通告协议(Session Announcement Protocol SAP)提出了解决方法。SAP(在Mark Handley等人的SAPSession Announcement Protocol,IETF work in progress,June 1999中进行了描述)是直通(straightforward)协议,其中会话创建者周期性地将承载有该会话的SDP(会话描述协议)描述的数据包组播到公知的组播组。随后,想知道哪个会话将激活的接收者监听公知的组播信道并接收数据包。
作为SAP的另选,BT Exact Technologies已开发出通用通告协议(Generic Announcement Protocol),其较之SAP具有更好的规模性且更加强大,并且由于其采用的数据结构,能够同时通告不同的会话。在读者参照的国际专利申请No PCT/GB01/02681中详细说明了GAP。然而这些协议都不能保证不同用户之间的协调,因为它们没有提供任何反馈信道。与此相关地,将从接收者到发送者的信息称为反馈。本领域中已知有几种现有技术,下面将进行说明。
在本领域内可以找到反馈在组通信中的几种实现,其中大多数存在于可靠组播的情况下,以提高组通信方案的可靠性。例如,参见J.Nonnenmacher and E.W.Biersack.Scalable feedback for large groups.IEEE/ACM Transactions on Networking 1999;FUHRMANN,T.,ANDWIDMER,J.On the scaling of feedback algorithms for very large multicastgroups.Computer Communications 24,5-6(Mar.2001),539547;和WIDMER,J.,AND FUHRMANN,T.Extremum feedback for very largemulticast groups.Tech.Rep.TR 12-2001,Prakfische Informatik IV,University of Mannhelm,Germany,May 2001。这些机制的主要问题是要处理大量且可变的用户,以缓解接口上或者请求反馈的服务器上的内爆(implosion)问题。反馈方法通常具有两种形式端到端反馈方法和集中反馈。
端到端反馈协议通过估计用户量的大小来避免反馈内爆。现有技术的一个重要方面是提供了概率模型并表现出可以使用正确的概率函数来减轻反馈内爆。
集中反馈机制是针对更具体反馈的方法。在这种情况下,安排在分层结构中的中间接收者创建反馈。该方案的复杂性较高,但是抽样值可以更加精确。
此外,采用组通信协议的大量组的协调也可以利用集中反馈机制来进行,更具体地,可以通过能够避免无用信息使发送者超负荷的极值反馈算法来进行。上面提到的Widmer等人对这种算法进行了描述。然而,利用这种算法,启动程序可能必须在带宽和CPU处理器时间方面花费大量的资源。此外,由于该技术的统计特性及网络可靠性问题,其仅能给出用户量的总体抽样。
因此还需要通过并非资源密集型的网络来提供经协调的组通信或动作,并提供积极的组协调。

发明内容
为了解决以上问题,本发明提出了用作等待信道的网络信道的概念,其中除第一成员以外的组成员加入等待信道,同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道。一旦所有的成员都已离开等待信道,该组的第一成员就执行动作或处理。
鉴于以上情况,本发明的第一方面提供了一种用于协调一组成员的方法,所述组包括第一成员以及一个或更多个其它成员,每个成员都被设置为通过网络与该组的其它成员进行通信,在所述组成员的第一个成员处,该方法包括以下步骤监测等待信道,检测是否出现了表示所述一个或更多个其它成员中的至少一个加入了该等待信道的消息;以及当有消息表示所有其它成员都离开了该等待信道时,执行动作或处理。
本发明的第一方面提供了以下显著优点可以实现该组的成员之间,尤其是第一成员与其它成员之间的同步,从而直到所有其它成员都离开等待信道,第一成员才执行其动作或处理。然而,应当注意的是,在其它成员加入等待信道的同时,它们自己可以执行各自的动作或处理,因此,使用等待信道的累积效果是,使不同成员所执行的各自的动作或处理同步,从而这些动作或处理在正确的时刻以正确的顺序发生。预计这种同步和控制将在包括多媒体会议、供应链管理、项目管理,以及分布式处理在内的多种场景中得到广泛使用。
在优选实施例中,要执行的动作或处理优选地包括将数据发送到一个或更多个其它信道上,并且优选地,所述一个或更多个其它信道中的至少一个是组播信道。这些特性使得本发明适于提供同步会议服务。
此外,在该优选实施例中,数据优选地为音频和/或视频数据。因此,可以使用本发明来对多媒体会议进行同步和控制。
在其它实施例中,所述动作或处理是执行预定的任务,该任务可以是依赖于本发明的特定应用的任何任务。例如,当用于分布式计算应用时,所述预定任务可以是执行特定程序以处理特定的数据片,该处理依赖于其它组成员所执行的其它处理的完成。另选地,当用于项目管理应用时,所述预定任务可以是设计或制造该项目所需的任何特定的组件。
在存在多个其它成员的情况下,等待信道优选地是组播信道。这使得大量其它成员可以加入该等待信道,而不会给网络施加繁重的传输信号的开销。
此外,在优选实施例中,通过网络路由器来生成消息。因此,该网络承担了生成向第一成员表示等待信道上的成员的消息的任务。这提供了以下优点第一成员无需存储该组的每一个其它成员的状态,因此使得可以将规模提高至大量的组成员。
此外,在优选实施例中,所述消息优选地是组播发送源兴趣通知协议(Multicast Source Notification of Interest ProtocolMSNIP)消息。该协议提供了以下优点执行简单,实现其的网络开销低,该协议需要相对较少的消息。
此外,该方法优选地还包括以下步骤向所述一个或更多个其它成员通告哪个信道是等待信道。这使得第一成员能够选择一网络信道作为指定的等待信道。在其它实施例中,可以提供专用的等待信道通告器应用来向组成员通告等待信道。
本发明的第二方面提供了用于协调一组成员的方法,所述组包括第一成员以及一个或更多个其它成员,每个成员都被设置为通过网络与该组的其它成员进行通信,在该一个或更多个所述其它成员处,该方法包括以下步骤加入等待信道,该等待信道与第一成员待执行的动作或处理相关;在一个或更多个所述其它成员处执行动作或处理;然后离开所述等待信道。
如同第一方面中已经说明地,在第二方面中可以获得各种进一步的特征和优点。
本发明的第三方面也提供了一种被设置为与一个或更多个其它设备协调的设备,各个设备被设置为通过网络进行通信,所述设备包括信道监测装置,被设置为用于监测等待信道,确定是否出现了表示一个或更多个所述其它设备中的至少一个加入了该等待信道的消息;以及用于执行动作或处理的装置,被设置为使得当所述消息表示所有其它设备都离开了该等待信道时,该装置执行所述动作或处理。
此外,第四方面提供了一种被设置为与另一设备协调的设备,各个设备被设置为通过网络进行通信,所述设备包括信道加入装置,被设置为用于加入等待信道,该等待信道与第一成员待执行的动作或处理有关;用于执行动作或处理的装置;以及信道离开装置,被设置为在离开所述等待信道时使用。
在第三和第四方面的范围内,还可以进一步提供与相对于第一和第二方面所描述的特征相应的进一步特征。
本发明的第五方面进一步提供了一种计算机程序或程序组,其被设置为使得当计算机系统执行所述程序或程序组时,所述程序或程序组使得该计算机系统按照第一或第二方面中任何一个的方法进行工作。
另外,第六方面提供了一种计算机可读存储介质,其存储有根据第五方面的计算机程序或程序组。该存储介质可以是本领域公知的任意计算机存储介质,包括但不限于磁存储介质、光学存储介质、磁光存储介质,以及固态存储介质。
本发明的第七方面提供了一种用作等待信道的网络信道,其中除一组的第一成员以外的成员在加入等待信道的同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道,其中该组的第一成员随后执行动作或处理。这种网络信道便于执行前述的本发明的前几个方面。
此外,本发明的第八方面提供了使用网络进行组协调的方法,其中除一组的第一成员以外的成员加入被指定为等待信道的网络信道,同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道,其中该组的第一成员随后执行动作或处理。在第八方面中,如先前针对第一方面所述,可以获得相同的优点和其它优点。


通过以下参照附图,仅以示例的方式对本发明的优选实施例所作的说明,其它特征和优点将变得明了,其中类似标号表示类似的部分,附图中图1的状态机图用于表示执行MSNIP的路由器中的状态机;图2是可以形成本发明一实施例的计算机系统的图片;图3是计算机系统的系统构架框图;图4的框图示出了本发明的实施例中所使用的示例性组播信道;图5的流程图示出了本发明实施例中的由接收者和发送源执行的动作;图6的时序图示出了本发明实施例中的等待信道的成员;图7的任务流程图示出了本发明另一实施例中的要执行的任务;以及图8的流程图示出了本发明再一实施例中的由接收者和发送源执行的动作。
具体实施例方式
下面将说明本发明的几个实施例,但是它们每一个都利用了共用要素。具体地,待说明的各个实施例都利用网络内的组播数据信道,都可以在通用计算机系统上实现,每一个都优选地但不排外地利用已知的信令协议,即所谓的组播发送源兴趣通知协议(MSNIP)。下面对这三个公共要素进行详细说明。
首先讨论MSNIP,说明MSNIP的互联网标准草案于2002年3月提交至Internet工程任务组(IETF)。描述MSNIP的文献有B.Fenner,H.Holbrook,and I.Kouvelas,“Multicast source notification of interestprotocol(msnip)”,Internet Engineering Tast Force(IETF),draft-ietf-idmr-msnip-*.txt,February 2001;以及Haixiang He,INTERNET-DRAFT,Nortel Networks,MSNIP Extension for IGMPProxying,此处通过引用并入对于理解本发明所需的细节。然而下面将参照图1给出MSNIP的操作的简要描述。
MSNIP是Internet组成员协议IGMPv3协议(如B.Cain,S Deering,W.Fenner,I Kouvelas,A.Thyagarajan in“Internet Group Management Protocol,Version 3”,Internet Engineering Tast Force(IETF),draft-ietf-idmr-igmp-v3-*.txt所述)的扩展,提供组成员通知服务。MSNIP在组播发送源和其第一跳路由器之间运行,以提供与所述发送源提供的组播信道上是否存在接收者有关的信息。具体地,该路由器将消息发送给发送源,以表示没有接收者加入该组播信道,或者有一个或更多个接收者加入了该组播信道。于是预期使用是所述组播发送源停止在信道上的任意传输,直到第一路由器发出存在多于或等于1个接收者的信号为止,因此节省了该发送源与第一跳路由器之间的网络带宽。在没有该信令的情况下,所述发送源将无法获知信道成员,因此会将数据包发送至第一跳路由器,则在那里会因为不感兴趣而丢弃该数据包。
MSNIP已被提交至Multicast & Anycast Group Membership(magma)中的IETF,以通过可以经由第一跳发送大量数据包的诸如视频和无线服务器的应用来使用。因此,如果接收者没有兴趣,则这些服务器将浪费大量网络资源。MSNIP具有以下能力当没有接收者时,就阻止组播发送源将数据包发送到其第一跳链路上。
MSNIP与诸如SSM(单发送源组播Signal Source Multicast)的协议兼容,并且还支持稀疏模式组播路由协议,该协议建立针对发送源的组播树。利用MSNIP,第一路由器保持了有关接收者状态的信息。另外,该协议仅使用三个信令消息(1)组映射(group map),(2)兴趣请求(solicitation)以及(3)接收者成员报告。下面将讨论这些消息的使用。
首先,当应用(发送源)想要使用MSNIP管理的组信道时,该应用必需首先监听组映射消息,该组映射消息包含了MSNIP所管理的组播信道。因此,组映射消息包含了与发送源应用可以在其上发送数据包的可用组播信道有关的信息。
接下来,为了确定是否有接收者加入了信道(即,是否有接收者在监听该信道),将要向MSNIP所管理的组发送数据的发送源应用首先周期性地向所有IGMP路由器(224.0.0.2)组播一兴趣请求消息。因此该兴趣请求消息向IGMP路由器指示,发送源有兴趣获悉是否存在对特定信道感兴趣的接收者。
最后,IGMP路由器对带有接收者成员报告(RM)的兴趣请求消息进行响应。该消息包含与数据的发送有关的信息,并指示发送源开始或停止向指定的组地址发送业务量。具体地,RM向发送源应用表示,存在至少一个加入该组播信道的接收者,因此该发送源可以开始发送。
图1示出了路由器处的用于控制该路由器来执行MSNIP的状态机,并进一步示出了,路由器的第一功能是在“未跟踪”状态下监听组播信道,以检测是否存在来自服务器的表示接收者已经加入组播信道的“接收主机兴趣”消息。一旦接收到该消息,该组播路由器就进入“跟踪组播组”的状态,并且会根据组兴趣级别,向特定组的发送源发送包含有“停止”或“发送”指令的RM报告消息。具体地,当存在一个或更多个加入该组信道的接收者时,就向预先向与该信道相关的路由器发送过兴趣请求消息的发送源应用发出“发送”消息。然而,如果所有接收者都离开了该组播信道,则该路由器就向该发送源应用发送“停止”消息,以停止在第一跳上进行发送。最终,如果一旦不存在加入该组播信道的接收者,并且在给定的超时时间段内在服务器处未接收到任何接收主机兴趣消息,则该路由器离开跟踪状态并返回第一“未跟踪”状态。
如前所述,MSNIP是非常重要却简单的协议,并且IETF已于2002年3月提交了MSNIP IPv4规范作为提议标准。然而,尽管MSNIP提供了通过本发明所使用的便捷的信令协议,但是应该理解的是,本发明并不限于排外地使用MSNIP,如果需要,还可以使用提供相似功能的应用层信令协议。这对于漫长并且不确定的标准化进程是非常重要的。
现在转到本发明所需的硬件,如前所述,包含或利用本发明的发送源应用可以在通用计算机系统上运行,这类似于以下参照图2和图3所进行的说明。
图2示出了通用计算机系统,其为本发明的实施例中所使用的发送源应用提供了一个可能的运行环境。下面将在计算机所执行的诸如程序模块的计算机可执行指令的通常情况下来说明本发明的操作。这种程序模块可以包括执行任务或实现特定摘要数据类型的进程、程序、对象、成员、数据结构、数据变量等。此外,有意的读者应该注意,本发明可以在除图2所示的计算机系统以外的其它计算机系统内实施,具体地,手提设备、笔记本电脑、大型计算机、微型计算机、多处理器系统、分布式系统等。在分布式计算环境中,多个计算机系统可以与通信网络相连,并且本发明的各个程序模块可以分布于这些计算机系统中。具体地,还可以设想在安装在传感器设备中的计算机内实施本发明。
参照图2,本领域公知的通用计算机系统1包括桌面底座单元100,其中包含了计算机电源单元、母板、一个或多个硬盘驱动器、系统存储器、显卡和声卡,以及多种输入和输出接口。此外,底座还提供了用于光盘驱动器110的外壳,该光盘驱动器110可以在诸如CD、CDR、CDRW、DVD等的可拆除光盘上读取和/或写入信息。此外,底座单元100还容纳有能够在软磁盘上接受信息以及读取和/或写入信息的软磁盘驱动器112。底座单元100还在具有设置在其背后的用于外围设备的多个输入和输出端口,这些外围设备为例如用来向用户提供可视显示的监视器102、可以用来提供计算机输出的纸件副本的打印机108、以及用于产生音频输出的扬声器114。用户可以通过键盘104或者诸如鼠标106的点击设备来向计算机系统输入数据和命令。
应该理解,图2仅示出了示范性实施例,可以通过本发明使用的其它结构的计算机系统也是可以的。具体地,底座单元100可以为塔结构,或者另选地,计算机系统1可以嵌入膝上型电脑或笔记本电脑中而成为便携式的。诸如个人数字助理或者甚至移动电话的其它结构也是可以的。
图3示出了计算机系统1的系统部件的系统框图。虚线内的那些系统部件通常会在底座单元100中找到。
参照图3,计算机系统1的内部部件包括安装有系统存储器118的母板,系统存储器118本身包括随机存取存储器120,以及只读存储器130。另外,提供了系统总线140,其将包括系统存储器118的各种系统部件与处理单元152相连。另外连接到系统总线140的还有显卡150,用于在监视器102上提供视频输出;并行端口接口154,提供与系统的输入和输出接口,并且在本实施例中,其向打印机108提供控制输出;以及软盘驱动器接口156,其对软盘驱动器112进行控制,以便从所插入的任意软盘读取数据,或者向其写入数据。另外,与系统总线140相连的还有声卡158,其向扬声器114提供音频输出信号;光盘驱动器接口160,对光盘驱动器110进行控制,以便从所插入的可拆卸光盘读取数据或向其写入数据;以及串行端口接口164,类似于并行端口接口154,其提供与系统之间的输入和输出接口。这种情况下,串行端口接口为键盘104和点击设备106(可以是跟踪球、鼠标等)提供输入端口。
另外,与系统总线140相连的是网卡等形式的被设置为使得计算机系统1能够通过网络190与其它计算机系统通信的网络接口162。网络190可以是局域网、广域网、局域无线网络等。具体地,可以特别使用IEEE802.11无线LAN网络以实现计算机系统的移动性。网络接口162使得计算机系统1能够通过网络190形成与诸如服务器、路由器或者对等级计算机的其它计算机系统的逻辑连接,以交换程序或数据。在这些实施例中优选地使用IP组播连接。
另外,还提供了硬盘驱动器接口166,其连接到系统总线140,并对在硬盘驱动器168上进行的数据或程序的读取或写入进行控制。硬盘驱动器168、通过光盘驱动器110使用的光盘,或者通过软盘112使用的软盘都提供了对于计算机可读指令、数据结构、程序模块,以及用于计算机系统的其它数据的非易失性存储。尽管此处说明了这三种特定类型的计算机可读存储介质,但是有意的读者应该明白,也可以使用能够存储数据的其它类型的计算机可读存储介质,具体地为磁带、闪存卡、带存储驱动器、数字多功能盘等。
诸如硬盘驱动器168或者任意软盘或光盘的各种计算机可读存储介质都可以存储各种程序、程序模块或数据。具体地,实施例中的硬盘驱动器168存储了大量应用程序175、应用程序数据174、计算机系统1或者用户所需的其它程序173、诸如MicrosoftWindows、LinuxTM、UnixTM等的计算机系统操作系统172、以及文件格式的用户数据、数据结构,或者其它数据171。硬盘驱动器168提供了对前述程序和数据的非易失性存储,从而可以在无电的情况下永久存储这些程序和数据。
为了使计算机系统1使用存储在硬盘驱动器168或其它计算机可读存储介质上的应用程序或数据,系统存储器118提供了随机存取存储器120,当计算机系统1需要时,该随机存取存储器120提供对于应用程序、程序数据、其它程序、操作系统以及用户数据的存储器存储。当将这些程序和数据载入随机存储存储器120中时,存储器的特定部分125将保存应用程序、另一部分124可以保存程序数据、第三部分123保存其它程序,第四部分122保存操作系统,第五部分121可以保存用户数据。有意的读者应该明白,如果需要,可以由计算机系统将各种程序和数据移入和移出所述随机存取存储器120。更具体地,如果程序或数据没有被该计算机系统使用,则可能不将其存储在随机存取存储器120中,而是可以返回到硬盘168的非易失性存储器中。
系统存储器118还提供了只读存储器130,其提供了基本输入和输出系统(BIOS)的存储器存储,该BIOS包含了在该计算机系统1内的系统要素之间传输信息的基本信息以及命令。为了提供与各种系统要素如何彼此通信相关的基本信息并使系统能够启动,BIOS在系统启动时非常重要。
而图3示出了本发明的一个实施例,本领域的技术人员应当理解,可以将其它外围设备,例如麦克风、操纵杆、游戏键盘、扫描仪等连接至该计算机系统。另外,对于网络接口162,我们已经预先说明过如何优选地为网卡,但是同时还应当明白,计算机系统1可以配有与串行端口接口164或者并行端口接口154相连的调制解调器,该调制解调器被设置为经由公共交换电话网(PSTN)形成从计算机系统1到其它计算机的逻辑连接。
如果将计算机系统1用于网络环境,则还应当理解,另选地或另外地,还可以将那些可以本地存储在计算机系统中的应用程序、其它程序,以及其它数据存储在远程计算机中,并由计算机系统1通过形成在网络190上的逻辑连接来进行访问。
图4示出了如何可以通过一个或更多个IGMP路由器来连接分别适当地运行发送源应用和接收者应用的多个通用计算机,以形成组播信道。具体地,在计算机40上运行发送源应用,该计算机40通常与前述的通用计算机系统一致并配有硬盘168,该硬盘168上存储有操作系统软件175、应用程序172,以及用户数据171。另外,该硬盘还存储了协调程序1731,执行该程序可以控制计算机以根据本发明来运转,并且具体地,使计算机40可以与待说明的其它计算机进行协调。
计算机40可以通过网络上的逻辑连接与第一IGMP路由器42相连,该第一IGMP路由器42是计算机40的第一跳路由器。例如,还将附加的IGMP路由器44和46提供为该网络的一部分,其中路由器44与路由器42相连,而路由器46连接至路由器44。当然,在实际的实施例中,可以设置所需数量的互连的路由器。
可以将其它通用计算机系统48、50、52、54和56连接至IGMP路由器,其中每一个通用计算机系统都可以具有此前参照图2和图3所述的架构。更具体地,计算机48可以连接至路由器48,计算机50也一样。路由器44可以连接有计算机52和54,而路由器42可以连接有计算机56。所有的计算机48至56都配有至少各自的硬盘驱动器168,作为计算机可读存储介质,该硬盘驱动器168上存储有操作系统软件175、应用程序172,以及用户数据171。另外,各个硬盘还存储有各自的协调程序1731,执行这些程序可以控制各个计算机以根据本发明来运转,具体地,使得计算机48至56可以与计算机40进行协调,如下面将要说明的。在此方面,各个计算机48至56都存储有接收者应用程序,执行该接收者应用程序以通过由IGMP路由器形成的组播信道从计算机40上的发送源应用来接收数据。
对于本发明中使用的组播信道,假定在该示例中,网络包括为计算机40和48至56提供服务的三个路由器42、44和46,则可以如下来形成从计算机40上的发送源应用到其它计算机上运行的接收者应用的组播信道。
首先,运行发送源应用的计算机40连接至第一跳路由器42,并向其发送数据包。连接至第一跳路由器42的还有运行接收者应用的一个其它计算机56,并且当该计算机加入组播信道时,路由器42对从发送源计算机40接收来的数据包的副本进行路由。另外,当其它计算机48、50、52和54中的任意一个加入该组播信道时,第一跳路由器42还将数据包的副本路由到第二跳路由器44。与第二跳路由器44相连的是计算机54和52,它们中的每一个都运行着接收者应用。当这些计算机加入所讨论的组播信道时,第二跳路由器44将从第一路由器接收来的数据包的副本路由到计算机52和54。另外,当计算机48或50中的每一个分别通过第三跳路由器46加入该信道时,第二跳路由器还将该数据包的副本路由到第三跳路由器46。随后,在第三跳路由器46处,从第二跳路由器接收来的数据包被分别路由到计算机48和50。
在实施例中,本发明提供了使几个独立用户同步的方法和设备。该方法和设备在大量用户需要协调的大网络场景中尤其有效。这些实施例要求,作为组成员的用户能够利用网络上的一个或更多个组通信信道相互通信,该通信信道包括但不限于组播信道。
要说明的本发明实施例的总体操作为,使用类似于MSNIP的协议或者实际上就使用MSNIP来管理至少一个可用信道,并将其指定为用于对发送源与一个或更多个接收者之间的动作进行同步和协调的“等待信道”。更具体地,通过对根据MSNIP(或类似的兴趣通知协议)生成的RM报告进行监测,发送源能够区分是否至少一个接收者与指定为等待信道的特定信道相连,并且随后可以响应于来自IGMP路由器的根据兴趣协议的通知而进行的表示来执行处理或采取动作,所述通知为,至少有一个接收者加入了该信道,或者所有接收者都离开了该信道。出于协调的目的,后一条件是优选的,即表示所有接收者都已离开该信道,并且其可以被预先设置为,使得离开该信道具有一定重要性,即,离开的动作将一些信息传达到发送源。
在以下将要说明的具体实施例中,我们使用MSNIP作为兴趣通知协议。然而,从以上讨论中显见,本发明并不限于单独使用MSNIP,提供类似功能的其它兴趣通知协议也可以被代入本实施例中,因此本发明旨在包含这些情况。
作为上述操作的示例,下面将参照图5和图6来说明第一实施例。
在第一实施例中,实际上将可用通信信道分为了两组等待信道和主信道。此处,接收者加入等待信道同时等待启动动作信道的动作,然后,当该接收者准备好启动动作时,其离开该信道并加入该动作信道;换句话说,离开等待信道触发了动作信道上的动作。结果,等待和动作状态仅动态相关,并且随后一经触发的动作信道可以反过来用作另一动作信道的等待信道。注意到以下条件是重要的,动作信道并不与通信信道直接相关联,它甚至可以是采用该机制而执行的简单动作。
作为以上的示例,作为第一实施例,我们考虑要从发送源发送的组播视频传输。此处,发送源预先通告将在其上传输视频数据的组播信道,以及与该传输相关的MSNIP所管理的组播等待信道。当监听到该通告后,感兴趣的接收者加入等待信道,然后准备接收该视频传输,同时仍然加入等待信道。一旦各个接收者都准备好了,就加入将在其上传输视频数据的组播信道,并离开等待信道。一旦所有接收者都离开了该等待信道,就向所述发送源发送MSNIP“停止”消息,该消息向所述发送源表示所有感兴趣的接收者都已离开等待信道,因此应该加入并准备在所述组播视频信道上接收数据。因此该发送源可以在确认得知了接收者和该发送源之间已经实现了协调的情况下进行传输。
图5和图6示出了如何才能实现该操作。在此方面,图6示出了图5所示的步骤的操作的示例时序图。
首先,在步骤5.1,发送源或者管理员进行如下通告,分配了特定的组播组信道来控制特定的动作(在第一实施例的情况下,该动作为视频传输),并为该动作指定等待信道。在步骤5.2,还分配了用于该动作的动作信道。例如,动作可以是通过几个组播信道传递的通信会话。使用MSNIP或类似协议来管理至少该等待信道,但是也可以相同地管理动作信道。此时,由于没有接收者加入任意一个信道,发送源将会为MSNIP管理的每一个信道“停止”来自IGMP路由器的消息。
指定了等待和动作信道后,在步骤5.3中,对特定动作感兴趣的任意接收者可以加入等待信道。一旦信号接收者加入了该等待信道,第一跳IGMP路由器就按照MSNIP向该发送源发送“发送”消息。接收者在加入该等待信道的同时,执行动作或处理,在本示例中,例如准备在动作信道上接收数据。在步骤5.4,一旦单个接收者准备好了在动作信道上进行动作,它就离开等待信道并加入动作信道。一旦单个接收者离开了等待信道并加入了动作信道,所述发送源就会从动作信道上的第一跳IGMP路由器接收“发送”消息。
同时,在步骤5.5,所述发送源监测等待信道,确定是否有来自与该信道有关的第一跳IGMP路由器的MSNIP消息。然而,直到在步骤5.6中所有接收者都准备好了数据接收并已经离开了等待信道,才会收到进一步的消息。此时,第一跳IGMP路由器向与等待信道有关的发送源发送MSNIP“停止”消息,该消息向所述发送源表示,所有接收者都已经离开该等待信道,因此必须准备在动作信道上进行接收。通过这种方式可以获得该发送源与潜在的大量接收者之间的协调,而不会产生大量的信息传输负荷,并且所述发送源无需存储每个接收者的状态。由于可以在不同发送源之间实现同步而无需交换任何识别信息,所以提供了规模性和保密性。
一旦在等待信道中接收到了“停止”消息,该发送源就不在动作信道中执行动作或处理。在第一实施例中,该动作或处理为在动作信道上发送视频数据,但是当然本发明不限于这种动作,而是可以执行所需的任意其它动作或处理。此外,在其它实施例中,采用本发明所提供的协调处理的发送源侧处的实体不必是所述动作或处理的发送源;它可以仅仅是当应该开始处理时,在该处理中向一个或更多个发送源发送信号的独立部分。即,所执行的动作或处理可以仅是向另一处理、实体或者人类用户表示已经实现了协调。
下面将参照图7说明第二实施例,该实施例示出了如何将本发明用于供应链管理或项目管理。
图7示出了需要在给定的项目中完成的多个任务,并且以及各个任务之间的相互关系,该相互关系管理完成这些任务所需的顺序。作为示例,考虑任务E。此处,可以看到任务E需要在完成了所有任务A、B和C后来相继完成,但是任务A、B和C本身可以并行地(另外,与任务D)执行。另一示例是任务I,必须在任务G和H完成后来相继完成,但是可以与任务L和M并行地完成。
应该注意,图7所示的任务几乎可以是任何任务。例如,图7所示的整个过程可以涉及新建筑物或航空器的设计,或者新汽车的制造。另选地,这些任务可以涉及需要由分布式计算机在运行给定程序的过程中执行的各种计算和处理。还可以包括许多其它动作或处理。
可以将本发明应用于以上场景以如下所述实现各种任务之间的协调。作为示例我们考虑任务E。此处,任务E的任务管理器使用能够使设备访问网络并能为任务E分配组播等待信道的网络。由MSNIP或相似类型的协议来管理等待信道。针对需要在任务E之前完成的各个任务A、B和C的各个任务管理器随后也分别使用如下网络,其能够使设备加入针对各个持续时间(执行各个任务A、B和C所花费的时间)而为任务E分配的等待信道。任务E管理器随后监测等待信道,确定是否出现MSNIP“停止”消息,该消息表示所有任务管理器A、B和C都已经离开了等待信道。一旦完成了任务A、B和C中特定的一个,所完成任务的任务管理器控制网络,使设备能够离开任务E的等待信道。一旦完成了最后一个任务,并且所有任务管理器都离开了等待信道,就生成MSNIP“停止”消息并将其发送给任务E管理器,该管理器随后获悉任务A、B和C已经完成,即可启动任务E。由此利用任务A、B和C与任务E之间的最小通信量来实现它们之间的协调。
可以通过由每一个其任务需要更早任务的执行的任务管理器创建由MSNIP(或类似协议)管理的等待信道,将以上思路扩展至整个项目。然后,各个更早任务的任务管理器在执行它们的任务之前和期间加入适当的等待信道,然后,一旦完成了它们的任务,就离开该等待信道。通过这种方式,可以在极低的信息传输负荷下保持整个项目中的多个任务之间的协调,实质上,在每个等待信道上仅会发送一次MSNIP“发送”和“停止”消息。
当然,可以将任务管理器实现为计算机上运行的软件代理,或者可以是对使设备能够加入适当等待信道的网络进行控制的人类用户。更具体地,我们使用“任务管理器”一词想要包括人类,和作为任务管理器的软件应用或其它设备。例如,可以容易地想到能够用作给定任务的任务管理器的软件代理程序。此外,根据本发明的应用的技术领域,任务管理器可以是专用软件,例如如果任务是要在分布式计算环境中执行的进行,则任务管理器将总是软件近程。
上述实施例在网络使用和时间同步方面非常有效,但是如果参与者不遵守协议的规范,则可能导致问题操作。例如,如果所有接收者都离开了等待信道,但是并没有向该等待信道发送“停止”通知消息,那么该方法失效。
另外,存在一种简单的业务拒绝问题,即用户可能促使加入MSNIP所管理的随机信道,然后并不离开等待组信道。针对该问题的解决方案在于,当等待信道尚未空闲太久时,通过例如使用异常终止消息来迫使用户离开该信道。如果考虑在诸如因特网的开放域中使用组播信道来实现我们的机制,则该问题会变得更加严重。在这种情况下,需要针对组播通信的访问控制协议。实际的组播网络不提供任何方法来确保防止不期望的或者恶意的用户获得对特定组播树的访问。
为了解决该问题,在第三实施例中,通过执行在访问路由器中实现的IGMP协议的安全版本,提供了该问题的解决方案。此处,需要在路由器触发组播路由协议之前对主机的IGMP请求进行验证。这使边缘路由器对于它们所接受的各个主机具有责任。为了将这种机制扩展到本发明的协调技术,我们将密钥消息与希望参与到组通信中的各个接收者应用相关联。只有接收者应用能够通过向IGMP路由器发送正确信息来验证自己,才允许接收者应用加入等待信道。通过采用这种机制,可以防止恶意加入事件(恶意加入事件由不想离开等待信道的恶意用户执行,从而对其它接收者有效地进行服务拒绝攻击),然而,如果能够进行自身验证的接收者应用仍未离开等待信道,则该技术还可能易于发生DOS攻击,也就是,即使接收者的身份已知,该接收者仍未离开该等待信道,从而没有在等待信道上发送“停止”消息来对所述发送源表示所有接收者已经离开等待信道。
为了解决第三实施例中的该问题,进一步对各个密钥关联超时,从而加入IGMP路由器的用户将能够可以保持连接,直到该密钥的有效性过期。密钥过期后,路由器自动使用户从该组断开。该机制还可以用于在动作信道上强制开始一动作,即使该成员还没有准备好,这类似于在等待信道上安装超时。图8中表示考虑到恶意用户可能连接至等待信道并且此后不离开,而必须对整个近程进行的修改。
可以看出,发送源侧执行的步骤与之前读者参照的第一实施例中所述的相同。然而,在接收者侧的步骤8.2中,接收者必须首先接收密钥,利用它可以对于IGMP边缘路由器进行自身验证,其中在该IGMP边缘路由器处,接收者试图接入等待信道。然后,为了在步骤8.4中接入等待信道,接收者必须发送验证信息(安全密钥)以接入该等待信道。各个接收者都加入等待信道后,在用户接入的IGMP边缘路由器处启动定时器,这可以如本发明的协议所述,为各个接收者提供加入动作信道以及离开等待信道的时间。接收者随后可以在步骤8.6中在定时器时间段内离开等待信道并加入动作信道,但是,如果接收者在该时间段之后没有离开等待信道,则IGMP路由器在步骤8.8中使该接收者与该信道断开。一旦所有接收者或者自愿离开该信道或者自动断开,就可以在等待信道上发送“停止”消息,表示现在是空的。然后,发送源应用可以采取任何动作或者执行任何处理,为这些动作或处理而设置了等待信道。
在上述实施例中,大体上说明了对于每一个要执行的动作或处理都有一个等待信道的情况,然而当然不必一定如此,在本发明的其它实施例中,可以为特定动作提供多个等待信道。通过提供多个等待信道,通过加入了多个等待信道的接收者选择离开某个等待信道,而不是其它信道,可以由IGMP路由器向发送源提供额外的信息“比特”。例如,在视频会议的情况下,发送源可以指定两个或更多个等待信息,其中一个信道向所述发送源表示,所有接收者都准备好了接收视频数据,而第二信道向所述发送源表示,所有接收者都准备好了发送数据。对于本领域的技术人员,多个等待信道的其它使用用途是显而易见的。
除非文中明确需要,否则在整个说明书和权利要求中,“包括”等词应当理解为与排外或穷尽意义相反的包含意思;也就是说,意思为“包含,当不限于”。
此外,为了避免疑惑,在参照现有技术文献或公开时,如果其内容(无论全体或部分的)对于那些作为本领域技术人员的有意读者理解本发明的任意实施例的操作或实施是必须的,则应该通过引用并入所述内容。
权利要求
1.一种用于协调一组成员的方法,该组包括第一成员以及一个或更多个其它成员,每个成员都被设置为通过网络与该组的其它成员进行通信,在所述一组成员的第一成员处,所述方法包括以下步骤监测至少一个等待信道,以监测是否出现了表示所述一个或更多个其它成员中的至少一个加入了该等待信道的消息;以及当所述消息表示所有所述其它成员都离开了所述等待信道时,执行动作或处理。
2.根据权利要求1所述的方法,其中要执行的动作或处理包括将数据传送到一个或更多个其它信道上。
3.根据权利要求2所述的方法,其中所述一个或更多个其它信道中的至少一个是组播信道。
4.根据权利要求2或3所述的方法,其中所述数据为音频和/或视频数据。
5.根据权利要求1所述的方法,其中所述动作或处理是执行预定任务。
6.根据以上任意一项权利要求所述的方法,其中在存在多个其它成员的情况下,所述等待信道为组播信道。
7.根据以上任意一项权利要求所述的方法,其中所述消息由网络路由器生成。
8.根据以上任意一项权利要求所述的方法,其中所述消息为组播发送源兴趣通知协议(MSNIP)消息。
9.根据以上任意一项权利要求所述的方法,还包括以下步骤向所述一个或更多个其它成员通告哪个信道是所述等待信道。
10.一种用于协调一组成员的方法,该组包括第一成员以及一个或更多个其它成员,每个成员都被设置为通过网络与该组的其它成员进行通信,在一个或更多个所述其它成员处,所述方法包括以下步骤加入至少一个等待信道,该等待信道与所述第一成员要执行的动作或处理相关;在一个或更多个所述其它成员处执行动作或处理;然后离开所述等待信道。
11.根据权利要求10所述的方法,其中要执行的动作或处理包括准备在一个或更多个其它信道上接收数据。
12.根据权利要求11所述的方法,其中所述一个或更多个其它信道中的至少一个是组播信道。
13.根据权利要求10或11所述的方法,其中所述数据为音频和/或视频数据。
14.根据权利要求10所述的方法,其中所述动作或处理是执行预定任务。
15.根据权利要求10到14中任意一项所述的方法,其中在存在多个其它成员的情况下,所述等待信道为组播信道。
16.根据权利要求10到15中任意一项所述的方法,还包括以下步骤从所述第一成员接收表示哪个信道是所述等待信道的通告。
17.一种计算机程序或程序组,被设置为使得当由计算机系统执行时,所述程序或程序组使得该计算机系统按照前述权利要求中任意一个的方法进行工作。
18.一种计算机可读存储介质,存储有权利要求17中所述的计算机程序或程序组。
19.一种被设置为与一个或更多个其它设备进行协调的设备,各个设备被设置为通过网络进行通信,所述设备包括信道监测装置,被设置为用于监测至少一个等待信道,以确定是否出现了表示一个或更多个所述其它设备中的至少一个加入了该等待信道的消息;以及用于执行动作或处理的装置,被设置为使得当所述消息表示所有所述其它设备都离开了所述等待信道时,该装置执行所述动作或处理。
20.根据权利要求19所述的设备,其中所述用于执行动作或处理的装置包括被设置为用于将数据发送到一个或更多个其它信道上的数据发送装置。
21.根据权利要求20所述的设备,其中所述一个或更多个其它信道中的至少一个是组播信道。
22.根据权利要求20或21所述的设备,其中所述数据为音频和/或视频数据。
23.根据权利要求19所述的设备,其中所述用于执行动作或处理的装置还被设置为用于执行预定任务。
24.根据权利要求19到23中任意一项所述的设备,其中在存在多个其它设备的情况下,所述等待信道为组播信道。
25.根据权利要求19到24中任意一项所述的设备,其中所述消息由网络路由器生成。
26.根据权利要求19到25中任意一项所述的设备,其中所述消息为组播发送源兴趣通知协议(MSNIP)消息。
27.一种被设置为与另一设备进行协调的设备,各个设备被设置为通过网络进行通信,所述设备包括信道加入装置,被设置为用于加入至少一个等待信道,该至少一个等待信道与第一设备要执行的动作或处理相关;用于执行动作或处理的装置;以及信道离开装置,被设置为用于离开所述等待信道。
28.根据权利要求27所述的设备,其中所述用于执行动作或处理的装置包括被设置为用于从一个或多个其它信道接收数据的数据接收装置。
29.根据权利要求28所述的设备,其中所述一个或更多个其它信道中的至少一个是组播信道。
30.根据权利要求28或29所述的设备,其中所述数据为音频和/或视频数据。
31.根据权利要求27所述的设备,其中所述用于执行动作或处理的装置还被设置为用于执行预定任务。
32.根据权利要求27到31中任意一项所述的设备,其中所述等待信道是组播信道。
33.根据权利要求27到32中任意一项所述的设备,还包括通告接收装置,其被设置为用于从所述其它设备接收通告,该通告表示哪一个信道是所述等待信道。
34.一种用作等待信道的网络信道,其中除一组的第一成员以外的成员加入等待信道,同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道,其中该组的第一成员随后执行动作或处理。
35.一种使用网络进行组协调的方法,其中除一组的第一成员以外的成员加入被指定为等待信道的至少一个网络信道,同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道,其中该组的第一成员随后执行动作或处理。
36.根据权利要求34或35所述的方法,其中在所述等待信道上向所述第一成员发送消息,所述消息表示所述其它成员中的任意一个是否加入了所述等待信道。
全文摘要
本发明提出了作为等待信道的网络信道的概念,其中除一组的第一成员以外的成员加入被指定为等待信道的网络信道,同时执行动作或处理,然后,一旦执行了该动作或处理,就离开该等待信道。一旦所有成员都离开了该等待信道,该组的第一成员就执行动作或处理。为了对第一成员表示所有其它成员都已离开该等待信道,可以使用诸如组播发送源兴趣通知协议(MSNIP)的协议。
文档编号G06Q10/00GK1732647SQ200380107595
公开日2006年2月8日 申请日期2003年12月11日 优先权日2002年12月24日
发明者特雷弗·伯布里奇, 安德列·亚索伯拉, 罗伯特·约翰·布里斯科, 阿诺·雅凯 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1