用于多用户的通信基础结构方案的制作方法

文档序号:7666605阅读:202来源:国知局
专利名称:用于多用户的通信基础结构方案的制作方法
技术领域
用于本发明的应用程序是被广泛分布的联网的虚拟环境,多用户实时地相互作用。在此,一个应用程序被定义为处理联网的虚拟环境的分布是计算机处理。这种应用程序针对于在虚拟世界中的真实和强化(投入)体验。它们被用于军事和工业团队训练、协作设计和工程、多用户游戏、虚拟购物、虚拟会议、远程客户支持和远程学习。应用程序会话在预定的条件下结束。
一种处理联网的虚拟环境的分布式计算机处理在如下被调用的应用程序中。
一种应用程序会话是在给定时间点开始的应用程序的一个实例,客户加入和离开该虚拟世界,并且该应用程序会话最终在一些预定的条件下结束。
有一些与本申请相关的共同未决申请。其中一个申请为PCT/SE00/00932“Application Access Server(应用程序访问服务器)”其优先权日为1999年5月10日,要求SE 9901694-1和US 09/307712的优先权。
与该申请同时的共同未决申请SE..Profiles)“Automaticconfiguration of a flexible communication infrastructure forMULTI-USER(用于多用户的灵活通信基础结构的自动配置)”和SE-....Name Server(名称服务程序)“ Name service for networkedMULTI-USER applications(用于联网的多用户应用程序的名称服务)”。
在本申请中所示和讨论的一些元件在该共同未决申请中更加详细地讨论。在本申请中所示和讨论的一些元件在该共同未决申请中更加详细地讨论,该共同未决申请的全文通过引用的方式被包含于此,用于所有和任何目的。
对于术语“IP多点传送”,请参见本说明书末尾的附录。
背景技术
PCT/SE00/00932为一个共同未决申请,其描述在大量参加者之间在通信网络中的实时性能。一个服务器单元包括用于从客户机单元接收信息的接收装置。该服务器单元存储从每个客户机单元接收的状态信息,并且把该信息转发到网络中的节点。并且还把至少一部分所存储的信息发送到该客户机。按照这种方式,一个应用程序的整体状态可以在该网络的一个或多个单元中保持。这消除了每个客户机存储整个状态的需要,从而减少每个客户机的存储和带宽需求。
来自微软公司的DirectPlay应用程序编程接口采用层级游戏者组(player group)的概念。在该提案中的一些概念在文章DirectPlay)B.Bargen和P.Donnelly在微软出版社于1998年所发表的“InsideDirectX”中公布。但是,该参考文献仅仅描述在所调用的API之下的应用程序接口,而不是一个完整的应用网络。
http//www.gamasutra.com/features/20000621/aronson01.htm是由Jesse Aronson在2000年6月21日在互联网上所发表的“Using Groupingfor Network Gaming”,关于在多游戏者的游戏中对客户机组的使用。
发明目的客户机组是在应用网络中被登记为一个组的一组客户机。
本发明的一个目的是提供一种通信基础结构,用于有效地进行应用程序数据的多点传送,包括把相同数据同时发布到一个确定的客户机组。
本发明的另一个目的是提供一种通信基础结构,其可以容易地授权客户机组以及在客户机组中的各个客户机。
本发明的另一个目的是提供一种用于安全的通信基础结构,即,通过客户机组专用的通信控制对应用程序数据的访问。
本发明的再一个目的是提供一种通信基础结构,用于在拥有应用程序数据和拥有应用程序数据流的应用程序中创建和管理持续的逻辑对象。一个客户机组可以是拥有和控制游戏数据但是不对应于实际客户机和游戏者的伪客户机。
本发明的另一个目的是提供一种通信基础结构,用于通过受控制的集体拥有关系创建和管理共享应用程序数据和应用程序数据流。
本发明的另一个目的是提供一种通信基础结构,用于发布关于客户机组的成员的状态的信息。
发明概述本发明用于在具有用于处理客户机组的节点和数据库的应用程序通信网络上在分布式多用户应用程序中使用客户机组。
客户机组属性一个客户机组(CG)可以具有一组属性,其确定客户机组的功能和使用。该属性被列在该部分中。每个属性可以被独立于其它属性而设置。属性的选择适合客户机组CG的所需功能以及应用网络的容量。该属性为接收者、来源、成员保护模式、事件分布模式、名称和别名、发布模式、结束条件;客户机概况、父、前辈、子、后辈。
接收者一个接收者客户机组被用于把相同的数据发布到该客户机组的所有成员。一个接收者客户机组具有相关的网络地址(例如,IP多点传送)或者应用程序地址。一个客户机组或者客户机地址为网络地址或者应用程序地址。知道该地址的发送者可以把数据传送到该组中的所有成员。
来源一个来源客户机组是应用程序数据单元的拥有者或来源。客户机组作为数据单元的发送者。一个伪客户机是具有一个或多个主动成员的来源客户机组,该成员使用该客户机组作为一个别名,例如用于对该会话提供持续服务。一个伪客户机还具有被动成员,其不分享二次数据。例如当一个主动客户机离开时,被动成员可以变为主动。
成员保护模式变为一个成员和/或一个客户机组的离开的权利可以由一个安全系统所保护,该系统仅仅把被授权的客户机接受为成员。然后,该成员保护模式被关闭。另外,所有客户机可以根据它们的志愿自由地加入和离开。然后开启成员保护模式。在此可以有除了两个模式之外的其他模式。
事件发布模式客户机组的成员可以获得关于所有组事件的信息,例如客户机加入、客户机离开、数据单元被创建和删除、数据订购等等。则事件发布模式是冗长的(Verbose)。另外,成员可以不获取这种信息。则该事件发布模式是无记录的(Silent)。
名称和别名网络地址或应用程序地址可以识别一个客户机组。客户机组还可以具有应用程序所知的名称,并且可选地存储在一个应用程序会话名称服务器或者在如下文所述的CGH中。一个客户机组还可以具有一个或几个称为别名的替换名称。用于识别在此所述的客户机组的任何装置被称为客户机组识别器。
发布模式考虑一个发送者,其把数据单元发送到一个使用客户机组标识符用于寻址的客户机组。用于把数据单元发送到客户机组的成员的方法被称为客户机组发布模式。可能的发布模式为1)单点传送其中发送者提取该组成员的各个地址的列表,并且把数据单元的一个副本发送到每个成员。
2)广播其中发送者利用表示数据单元仅仅用于客户机组的成员的标签在该会话中把数据单元发送到所有参加者。客户机组的所有成员接收该数据单元。IP和LAN广播属于这一种。
3)IP多点传送其中客户机组与一个IP多点传送地址相关。IP多点传送在本说明书末尾的附录中描述。
4)应用程序多点传送其中在下文中所述的应用网络提供在应用程序级别上的多点传送功能。发送客户机把该数据单元的一个副本发送到应用程序路由器。该数据单元具有一个标签,其识别该客户机组。该标签为对于该客户机组的一个应用程序地址。应用程序路由器的系统把该数据单元通过应用网络发送,并且根据需要制作副本。该客户机组的所有成员接收该数据单元。
5)中央服务器多点传送其中应用程序内容服务器从发送客户机接收该数据单元的一个副本,并且把该数据单元的一个副本发送到该客户机组的所有成员。
客户机概况在创建该客户机组之前,制备和存储由一组应用网络参数所构成的客户机概况。该客户机概况不是本发明的一部分并且在共同未决专利申请SE-....{Profiles}中更加详细地描述。该客户机概况被用于在给定客户机组加入多用户应用程序会话之前初始化和制备可编程应用网络和客户计算机。要创建一个客户机组的用户与服务提供者协商对特定客户机概况的使用。
子节点一个客户机组可以是其它客户机组的成员。作为客户机组的成员的客户机和客户机组的集合被称为客户机组的子节点C。
后辈节点客户机组的子节点还具有作为成员的其它客户机组。这以C作为顶节点创建一个客户机组的层级。作为C的成员或者在该层级中在C之下出现的一个成员的成员的所有客户机组的集合被称为C的后辈节点。
父节点一个客户机组可以是其它客户机组的一个成员。具有给定客户机组C作为一个成员的客户机组的集合被称为客户机组C的父节点。
前辈节点具有给定客户机组C作为后辈节点的所有客户机组的集合被称为C的前辈节点。


为了对本发明以及其它目的和优点具有更加完整的理解,下面描述它的一个实施例,如附图中所示图1示出适用于支持本发明的联网虚拟环境的可编程应用网络(PAN);图2A至2C为示出本发明的操作的流程图;图3示出客户机组处理程序(CGH)的一种可能的应用;以及图4示出IP多点传送,其中箭头示出数据路径并且与附录相关。
具体实施例方式
应用网络(AN)1参见图1,应用网络1适用于支持联网的虚拟环境。应用网络1包括通信网络2,其包括通信链路和用于通用通信协议的路由器,例如网际协议。应用网络1还包括几个节点,例如AC、ASNS、ACG、AR、AS、APDB、ALS、ANMS、CAS、CGH,专用于支持应用程序会话13。并非所有这些节点都必须出现在一个给定的应用程序会话13中。可以显示给定节点类型的几个例子。
通过设置应用网络参数,应用网络1可以被编程或配置为支持一个给定的应用程序会话13和给定的客户机集合,从而充足的带宽、网络地址、服务器存储器、服务器计算能力、应用程序内容产生器容量、应用程序会话名称服务器容量等等被分配。
下面描述可编程应用网络1的节点。
客户机组处理程序(CGH)在此可以有至少一个最好是几个客户机组处理程序CGH),即是用于本发明的一个特殊装置。该客户机组处理程序CGH包括包含关于客户机组的数据的数据库DB1。该数据包括用于每个客户机组的成员列表,以及客户机组的属性列表。数据库DB1还可以包括一个被访问成员的列表(参见下文)、一个客户机组拥有者的列表(参见下文)以及可能还包含其它数据。
客户机组处理程序CGH支持对客户机组的操作,如下文所述。操作的例子为客户机加入对象组创建。客户机组处理程序CGH的详细描述在下文给出,并且在图2A至2D以及图3中示出。每个客户机组处理程序CGH可以处理几个应用程序会话13。一个给定的应用程序会话13可以使用几个客户机组处理程序CGH。在该会话中的每个客户机组处理程序CGH可选地管理该客户机组数据库的一个分离部分。几个客户机组处理程序CGH还可以根据任何用于处理分布式数据库的已知方法来管理相同数据库DB1。
客户机组处理程序(CGH)具有至少两个用于客户机组的发布模式,至少一个模式被称为Verbose,其中该成员获得它们的信息,并且另一个模式为Silent,其中在该客户机组中的至少一些成员不获得这种信息。因此,存在几个Verbose模式,其中成员可以被提供在各个Verbose模式中规定的不同的信息量和/或种类。其中一种Verbose模式可以把所有可能信息给予该客户机组,而另一种Verbose模式可以具有该Verbose模式的客户机组可能仅仅获得客户机加入和离开的信息,因为这些特征是特别感兴趣的。客户机组处理程序CGH存储该客户机组的一个名称或别名,使得一个网络地址或应用程序地址可以识别一个客户机组,以支持对客户机组的操作。
应用程序前厅服务器(ALS)(可选)应用程序前厅服务器ALS(application lobby server)是可选的,并且用于设置应用程序会话。所有可选节点用虚线示出。设置应用程序会话还可以在应用程序路由器AR或者在客户机认证服务器CAS中完成。应用程序前厅服务器可以被提供作为一个外部节点,因此不需要连接到可编程应用网络1,如虚线连接所示。
参加者5可以在应用程序前厅服务器ALS处登记,并且协议开始一个应用程序会话。应用程序服务提供者6可以使用应用程序前厅服务器ALS来认证参加者并且处理帐目管理。应用程序前厅服务器ALS可以设置客户机组作为例如用于会话概况7的应用程序会话13的初始化的一部分,参见SE-..{Profiles}。应用程序前厅服务器ALS可以可选地为每个初始的客户机组指定一个客户机概况8,参见SE-..{Profiles}。
会话概况7包括对应用程序会话13有效的一组应用网络参数。该会话概况被用于在开始应用程序会话之前初始化和准备该可编程应用网络。
客户机概况8包括对在应用程序会话13中的参加者有效的一组应用网络参数。该客户机概况被用于在给定客户机加入该应用程序会话之前初始化和准备可编程应用网络和客户计算机。
一组客户机概况可能与一个会话概况相关。每个应用程序可选地与一个或几个客户机概况和应用程序会话概况相关联。
在会话13开始之前,由一组网络参数所构成的会话概况7被准备和存储。在多用户应用程序启动之前,该会话概况7被用于初始化和准备可编程应用网络1。要初始化应用程序会话13的用户与应用程序服务提供者6协议使用特定的会话概况7。会话概况7可以包括当会话13被初始化时应当被创建的客户机组的定义。
应用网络管理系统(ANMS)应用网络管理系统ANMS被用于对已经在应用程序前厅服务器ALS协议的应用程序会话进行初始化。应用网络管理系统ANMS被用于可选地在通信网络1中以及在AS、AR、ACG和ASNS节点处接收资源(如下文所述)。应用网络管理系统ANMS还可以用于处理错误情况。应用网络管理系统ANMS使用会话概况7和客户机概况8来配置可编程应用网络1。
应用程序客户机(AC)一个应用程序客户机AC是模拟联网虚拟环境的计算机过程的一个局部实例。应用程序客户机AC例如可以是一个Windows/UNIX过程或线程。一个计算机过程可以在一个或几个应用程序客户机AC中运行。因此,一个应用程序客户机AC是一种游戏或模拟的逻辑实例,并且不总是与任何特定的计算机过程、线程、程序或机器相同。运行该应用程序客户机的客户计算机或者例如一个游戏控制台具有用于从用户接收输入并且显示应用程序的输出作为图像、视频、音频或者触觉(实际感觉和指示)输出的装置。应用程序客户机AC可以订购、接收和处理被标记的应用程序数据单元9,并且发送被标记的应用程序数据单元9。
会话概况7和客户机概况8被用于配置应用程序客户机AC,从而它根据会话和客户机概况7、8而通信。应用程序客户机AC可以是一个或几个客户机组CG的一个成员。应用程序客户机AC可以动态地创建和删除客户机组。它还可以管理客户机组的成员关系和属性。
应用程序路由器(AR)应用程序路由器AR路由应用程序数据单元9。该路由决定于由每个应用程序数据单元9所携带的应用程序标签(如下文所述)。然后,参加者CG通过应用程序客户机AC连接到应用程序路由器,并且从此处到达可编程应用网络1。由于客户机组可以可选地连接到其它节点,例如ALS和CAS,因此它们已经获得相同的参考CG。该应用程序路由器AR从通信网络2接收包含应用程序数据单元9的数据包10。应用程序路由器AR读取应用程序数据单元9的应用程序标签,并且通过通信网络2利用取决于该应用程序标签并且还可能取决于客户机和客户机组订购的网络地址,重新发送应用程序数据单元9。
用于路由表格以及用于客户机和客户机组订购和处理资源的计算机存储器3被根据会话概况7而保留用于应用程序会话9,并且根据客户机概况8而保留用于应用程序客户机或者客户机组。一个应用程序路由器AR可以可选地使用该客户机组的应用程序地址作为多点传送地址多点传送到客户机组4。
应用程序路由器AR还可选地支持客户机组操作,例如“客户机加入客户机组”。该应用程序路由器AR可以保持每个客户机的客户机组成员关系的记录,如果应用程序路由器AR接收被寻址到客户机组4的数据单元,则它可以被路由到客户机组的所有成员。应用程序路由器AR还可以把关于客户机组操作的消息路由到已经被分配为管理该客户机组的客户机组处理程序CGH。
应用程序服务器(AS)应用程序服务器AS存储所接收的应用程序数据并且存储应用程序数据。应用程序服务器AS根据查询、请求或订购,把应用程序数据发送到应用程序客户机和客户机组CG。这种查询、请求或订购可以用对携带应用程序标签的应用程序数据单元9的订购来表达(如下文所述)。用于应用程序数据和用于订购和处理资源的计算机存储器11被根据会话概况7而保留用于应用程序会话13,并且根据客户机概况8而保留用于客户机组。
应用程序内容产生器(ACG)一种应用程序内容产生器ACG是产生用于应用程序会话13的内容的服务器。它例如可以是在多人游戏中的一个游戏服务器,其对杀伤、碰撞和破坏做出判断。它还可以负责运行由人所控制但是由人工智能所管理的化身(avatars)。该应用程序内容产生器ACG接收和处理应用程序数据单元9,并且发送携带应用程序标签的应用程序数据单元9。用于应用程序数据和处理资源的计算机存储器11被根据会话概况而保留用于应用程序会话,并且被根据客户机概况而保留用于应用程序客户机。应用程序内容产生器ACG可以动态地创建和删除客户机组。它还可以管理客户机组的成员关系和属性。
应用程序会话名称服务器(ASNS)(可选)应用程序会话名称服务器ASNS把应用程序会话名称映射到应用程序标签,反之亦然,并且响应例如设置名称、除去名称以及查询名称这样的操作。这在共同未决专利申请SE(Fredriks)中详细描述。用于应用程序数据库和处理资源的计算机存储器被根据会话概况7而保留用于应用程序会话13,并且根据客户机概况8而保留用于应用程序客户机。应用程序会话名称服务器ASNS可以保存一个数据库,其把客户机组标识符相互关联。该应用程序会话名称服务器ASNS例如具有用于每个客户机组的记录,其存储客户机组名称和应用程序地址。
帐目管理系统(AccS)(可选)帐目管理系统AccS可以测量应用程序会话13的属性,包括会话13的开始和结束时间以及每个客户机的加入和离开时间。会话概况7和客户机概况8由帐目管理系统AccS已知,并且给出已经由该会话和由每个客户机所使用的网络资源的描述。帐目管理系统AccS根据服务的商业模式为客户机、应用程序服务提供者和操作员计算费用。
客户机组成员关系可以用于帐目管理。作为客户机组B的一个成员的客户机A可能表明A正在使用资源。作为客户机组C的一个成员的客户机A可能表明A把一种服务提供给应用程序会话13。因此A作为B的成员而被收费,并且作为C的成员而受到奖励。帐目管理系统AS可以从客户机组处理程序CGH中提取关于客户机组成员关系的数据。
客户机认证服务器(CAS)(可选)在加入一个应用程序会话13之前,客户机可以在该可选的客户机认证服务器CAS处登录。客户机认证服务器CAS可以连接到一个用户数据库,并且可选地报告给帐目管理系统AccS。客户机认证服务器CAS被用于保证该客户机对应于具有客户帐户的用户。
应用程序概况数据库(APDB)默认的会话概况和客户机概况被存储在应用程序概况数据库APDB中。每种应用程序(例如,计算机游戏Quake III Arena)可以具有在数据库APDB中的一个或几个相关的会话概况和客户机概况。每个会话13或客户机概况7可以具有一个名称,从而可以通过参照该名称来提取该概况。
通信协议网络协议通信网络一般使用几种基于分组的通信协议,例如IP协议10。通信网络2在通信协议10中携带从发送者到接收者的数据包(data-gram)。数据包一般包括一个标头和一个有效负荷。一个标头可以包括由通信网络2中的路由器所使用的一个或几个网络地址,用于把数据包发送到接收者。协议通常被分层,从而一个协议层的有效负荷可以包括下一个协议层的一个或几个数据包。应用程序数据单元9可以被作为有效负荷在网络协议数据包中携带。通信网络2可以具有多点传送功能,例如IP多点传送。客户机组可以对应于在通信网络中的多点传送地址。
应用程序传输协议应用程序可以包括其自身的通信协议。该应用程序的数据包在此将被称为应用程序数据单元9。应用程序数据单元9包括包含几个应用程序标签和有效负荷的标头。该有效负荷包括例如位置、化身(avatars)属性、编码的语音数据等等这样的应用程序特定的数据。应用程序传输协议可以具有多点传送功能客户机组可以对应于在应用网络中的应用程序地址。
应用程序标签应用程序标签是在数据包标头中或者在一个应用程序数据单元9标头中的一个字段。因此它包括一组数位。一个应用程序标签具有由协议中的相应字段位置或者在表示标签的类型的协议中由标志所标记的类型。如果一个应用程序标签是在一种通用通信协议中的一个字段,则它可以是一个网络地址、一个多点传送地址或者一个端口号。在共同未决申请PCT/SE00/00932中,它是一个对象标识符、客户机标识符、组标识符、或者数据流对象密钥。应用程序标签应当尽可能地短,以节约网络带宽。一个应用程序地址是一个应用程序标签,其可以被用于把数据传送到参加到该应用程序中的客户机或者客户机组。
应用程序会话13一般是虚拟世界的模拟。该世界包括对用户有意义的应用程序项目,例如参加者、由人所控制的化身、由AI所控制的化身可以在用户(主角、裁判员...)之间切换的在游戏中的固定角色、在虚拟世界中的对象、对象和化身的属性、化身的组、对象组、组的集合、在虚拟世界中的位置、媒体流(声音、视频)以及媒体流的收集。所有这种项目可以由应用程序标签的集合所表示。
在应用网络1中工作的通用客户机组客户机组在此用一个伪函数调用来描述。该描述没有提到任何计算机编程语言、库或者应用程序接口API。它被用作为一种常用的简写,用于参照在该提案中对客户机组的操作。在该操作中的创建者、发送者、目标和接收者参数为客户机或者客户机组。包括名称、别名和地址的任何客户机或客户机组标识符可以被用于表示客户机或客户机组。
创建一个客户机组(图2A)OperationCreate_Clierlt_Group(Creator,Identifiers,Attributes,Profile,Owners,Masters)例如当使用会话概况7对会话13进行初始化时,一个客户机组例如由该可选的应用程序前厅服务器ALS所创建。在会话过程中,客户机组5还可以由一个客户机或应用程序内容产生器ACG所创建。客户机组的创建者可以任意指定一个名称、别名以及客户机组的地址。根据关于“客户机组属性”部分的属性可以被任意地定义。一个客户机概况可以被任意设置。
一个拥有者的集合可以被任意地定义。一个主群(Masters)的集合可以被任意地定义。通常,该创建者可以是客户机组的拥有者。拥有者是客户机,其具有对该组执行特定客户机组操作的权力,例如Delete_Client_Group(删除客户机组)。主群是客户机,其具有执行与Join_Client_Group(加入客户机组)操作相关的特定客户机组操作。
S1创建客户机组意味着创建者发送一个或几个应用程序控制消息,以配置在该系统中的各个节点.
S2,S3如果发送者没有权力执行操作,或者如果系统资源缺乏,则该客户机组处理程序CGH可以拒绝操作。
S3该客户机组处理程序CGH接收一个消息,其配置该客户机组处理程序CGH,从而为该客户机组设置一个新的数据库记录,并且Create_Client_Group(创建客户机组)操作的参数(Identifiers(标识符),Attributes(属性),Profile(概况),Owners(拥有者),Masters(主群))被存储。
S5由创建者或者客户机组处理程序CGH通过用于该客户机组的路由表直接配置应用程序路由器。
S6由该创建者或者客户机组处理程序CGH通过用于客户机组的存储器分配和数据库项目直接配置应用程序服务器。
S7由该创建者或者客户机组处理程序CGH通过用于客户机组的项目和标识符而直接配置用于在ASNS中的客户机组的名称数据库。
S8应用程序客户机可以直接被该创建者或者客户机组处理程序CGH通知关于客户机组的创建情况。
结束条件结束条件确定什么情况下将删除一个客户机组。可能的结束条件如下1)在固定时间之后结束2)仅仅当应用程序会话结束时才结束3)由于特定的一组被授权客户机的作用的结果而结束4)当成员数目小于N时结束,其中N为一个自然数(1、2、3...)这几个结束条件可以被组合。
下面示出该结束条件的一个例子。
删除客户机组(图2B)操作Delete_Client_Group(Sender(发送者),Target(目标))S10发送者为一个客户机或客户机组。该目标为应当被删除的客户机组。一个客户机组可以在会话过程中由一个客户机或应用程序内容产生器ACG通过使用API而删除。
S11客户机组的删除意味着发送一个或几个应用程序控制消息,以在该系统中配置几个节点。
S12如果发送者没有权力执行该操作,则该客户机组处理程序CGH可以拒绝该操作。
S13该客户机组处理程序CGH接收一个消息,其使得用于目标客户机组的数据库项目被除去。
S14该客户机组处理程序CGH把该组已经被删除的情况通知给该组的成员和拥有者。
S15 AR、AS、ASNS被通知该客户机组已经由发送者或者由客户机组处理程序CGH直接删除。
加入(图2C)操作Join_Client_Group(Sender(发送者),Target(目标),Group(组),optional parameters(可选参数))S20作为客户机或客户机组的一个发送者执行Join_Client_Group(加入客户机组)操作。该目标是应当成为该组的一个成员的一个客户机或者客户机组。该发送者可以与该目标相同。
S21 Join_Client_Group意味着发送者正在发送一个或几个应用程序控制消息,以配置在该系统中的几个节点。
S22如果发送者没有权力执行该操作或者系统资源缺乏,则客户机组处理程序CGH被拒绝该操作。
S23该客户机组处理程序CGH接收配置该客户机组处理程序CGH的消息,从而数据库随着该组的新成员而更新。该组的属性可以根据可选参数而修改。
S24直接由该创建者或者由客户机组处理程序CGH利用对该客户机组所更新的路由表配置该应用程序路由器AR。
S25直接由该创建者或者由客户机组处理程序CGH利用对该客户机组所更新的存储器分配和数据库项目配置该应用程序服务器AS。
S26直接由该创建者或者由客户机组处理程序CGH把客户机组的新成员通知给应用程序客户机。应当特别通知该目标客户机,它们已经变为该组的成员。发送者应当从客户机组处理程序CGH接收一个消息,其表示该操作成功或失败。
Join_Client_Group被根据客户机组保护模式而不同地进行处理。
打开保护模式如上文所述,立即接受加入请求。
关闭保护模式客户机组处理程序CGH将确认该加入请求被授权。存在有几种用于确认的方法。
1)邀请方法一个被授权的客户机A对客户机B发出邀请以加入该客户机组C。客户机组处理程序CGH数据库DB1明确或暗示地列出被授权的客户机。被授权的客户机组被称为主群组。被授权的客户机例如可以是客户机组的拥有者或者客户机组的任何成员。客户机组处理程序CGH获得一个消息,其表明该客户机B已经被邀请。该消息可以包括一个超时时间T,其表明客户机组处理程序CGH应当在时间T内使客户机B保持在被邀请的客户机的列表中。该客户机B从客户机A或者从客户机组处理程序CGH获得一个消息,其表示客户机B被邀请加入该客户机组。现在,客户机B可以通过使用Join_Client_Group操作而加入该客户机组。如果客户机B在对于该客户机组的被邀请客户机的列表中,则客户机组处理程序CGH将接受该加入操作。该邀请方法需要一个新的操作操作Invite_To_Client_Group(Sender(发送者),Target(目标),Group(组),optional parameters(可选参数))其中目标是发出邀请的客户机或客户机组,并且该目标是被邀请加入该组的客户机或客户机组。
该邀请方法的一个特殊情况是当客户机希望加入一个被保护的客户机组时要求来自该主群组的一个成员的邀请。该请求的接收者决定是否发出一个邀请。
2)请求方法希望加入客户机组C的客户机B对客户机组C的主群组发出一个要加入该组的请求。该请求可以直接由B发送到该主群组的一个或几个成员。该请求还可以被发送到客户机组处理程序CGH。客户机组处理程序CGH把该请求转发到该主群组的一个或几个成员。该主群组的一个成员通过拒绝或同意该请求而作出响应。该同意或拒绝被作为一个消息发送到客户机组处理程序CGH。如果该请求被同意,则客户机组处理程序CGH将对一个成功的Join_Client_Group操作执行相同的操作。客户机A将被通知该请求已经被同意或拒绝。该请求方法需要三个新的操作操作Request_Join_Client_Group(Sender,optional Target,Group,optional parameters)操作Approve_Join_Client_Group(Sender,Target,Group,optional parameters)操作Reject_Join_Client_Group(Sender,Target,Group,optionalparameters)3)强制方法一个被授权客户机A调用Join_Client_Group操作,使得客户机B加入客户机组C。客户机组处理程序CGH数据库DB1明确或暗示地列出被授权的客户机。被授权的客户机例如可以是在应用程序会话13中的内容服务器。Join_Client_Group被如上文所述那样处理。没有被授权客户机的许可,根据强制方法而加入的客户机不允许任意离开。
离开(图2D)操作Leave_Client_Group(SendeRr,Target,Group,optionalparameters)S30作为一个客户机或者客户机组的发送者执行Leave_Client_Group操作。该目标是应当结束作为该组的一个成员的客户机或客户机组。发送者应当与目标相同。
S31 Leave_CHent_Group意味着发送者发送一个或几个应用程序控制消息,以配置在该系统中的各个节点。
S32如果发送者没有权力执行该操作,则该客户机组处理程序CGH可以拒绝该操作。
S33该客户机组处理程序CGH接收一个消息,其配置客户机组处理程序CGH,从而该数据库被更新。该组的属性可以根据可选参数而更改。
S34直接由创建者或者由客户机组处理程序CGH通过用于该客户机组的更新的路由表来配置应用程序路由器。
S35直接由创建者或者由客户机组处理程序CGH通过用于该客户机组的更新的存储器分配和数据库项目来配置应用程序服务器。
S36直接由创建者或者由客户机组处理程序CGH通知该应用程序客户机关于离开成员的情况。目标客户机应当被特别通知,它们已经被停止作为该组的成员。发送者应当接收来自客户机组处理程序CGH的一个消息,其表明该操作成功或失败。
如果发送者被授权使该目标离开该组,则客户机组处理程序CGH可以可选地检查。客户机组处理程序CGH拒绝未被授权的离开操作。
订购操作Subscribe_To_Data(Subscriber,Receiver,Data descriptors,parameters)订购者是一个发出订购的客客户机组处理程序CGH户机或客户机组。接收者是一个客户机或客户机组。该客户机组的成员接收订购的结果。数据描述符指定将被传送到客户机组的应用程序数据。数据描述符一般是例如使用应用程序会话名称服务器ASNS转换为应用程序标签的数据单元的应用程序标签或名称。该参数进一步详细描述订购的优先级、更新频率或超时。
该操作意味着订购者发送一个或几个应用程序控制消息,以配置在该系统中的各个节点。
该客户机组处理程序CGH接收一个可选消息,其包括在CGH数据库中的订购。
用路由表可选地配置应用程序路由器AR,该路由表表明客户机组的成员应当根据该订购的参数接收在该订购中所表明的数据单元。
在通信网络中的路由器(例如,IP路由器)可以用路由数据来配置,其表明该客户机组的成员是IP多点传送组的成员,寻址到特定的客户机组的数据单元被分配到该成员。
应用程序服务器AS可选定用订购表来配置,该订购表表示客户机组的成员应当根据订购参数接收在订购中表示的数据单元。
客户机和应用程序内容产生器ACG可选地用订购表来配置,该订购表表示客户机组的成员应当根据订购的参数接收在该订购中所表示的数据单元。
创建属于一个客户机组的数据单元操作Create_Data_Unit(Creator(创建者),Data unit identifier(数据单元标识符),parameters(参数))创建者是将作为数据单元的来源的客户机或客户机组。例如AS、AR以及ASNS这样的应用网络单元可以把该客户机组登记为数据单元的拥有者。数据单元标识符通常是表示该数据单元的一个名称或别名。该参数进一步详细描述优先级、安全级别、网络服务等等。
该操作意味着该创建者发送一个或几个应用程序控制消息来配置在该系统中的各个节点。
客户机组处理程序CGH接收一个可选消息。该客户机组可以被登记为在CGH数据库DB1中的数据单元的拥有者。该客户机组处理程序CGH可以返回一个数据单元标识符或者应当被用于表示该对象的标签值。
应用程序路由器AR可选地由表示客户机组的成员有权根据该参数发送数据单元的表格来配置。创建者或者客户机组处理程序CGH可以发送该消息。
在通信网络中的路由器(例如,IP路由器)可以由表示该客户机组的成员为IP多点传送组的来源的路由数据来配置。
应用程序路由器AS可选地由表示客户机组的成员有权根据该参数发送数据单元的表格来配置。创建者或客户机组处理程序CGH可以发送该消息。
客户机和应用程序内容产生器ACG可选地由表示该客户机组为数据单元的来源的表格所配置。
发送数据单元操作Send_Data(Sender,Receiver,Data unit descriptors,payload,parameters)发送者是作为数据单元的来源的客户机或客户机组。发送者可能已经使用Create_Data_Unit操作来创建数据单元。可选的接收者为一个客户机、客户机组或者应用网络节点,例如应用程序路由器AR或应用程序服务器AS。接收者获得数据单元的一个副本。该数据单元描述符指定包括该标签的数据单元标头。有效负荷是将被传送的应用程序数据。该参数进一步详细规定优先级、安全级别、网络服务等等。
操作意味着发送者把一个或几个数据单元发送到在该系统中的各个节点。
应用程序路由器AR根据接收者地址和任何订购来路由该数据单元。
在通信网络中的路由器(例如,IP路由器)被根据该IP寻址而可选地路由该数据单元。
应用程序服务器AS可选地根据参数存储数据单元,从而根据订购而转发该数据单元。
客户机和应用程序内容产生ACG根据接收者地址和它们的订购而接收数据单元。
断开会员操作Disconnect_Members(Sender,Target,parameters)发送者是一个客户机或客户机组。该目标是一个客户机组。该参数进一步详细规定操作条件。
该操作意味着该发送者发送一个或几个应用程序控制消息,以在该系统中配置各个节点。
应用网络管理系统ANMS从该会话接收用于断开客户机组的会员的请求。它检查如果该操作和发送者被授权,则断开客户机组的会员,并且把一个错误消息发送回发送者。断开可能涉及在应用程序前厅服务器ALS和应用网络管理系统ANMS之间的协议。
断开通常意味着把一个客户机被断开的情况通知给该应用网络中的所有相关节点。
把消息发送到成员操作Send_Message(Sender,Receiver,parameters)发送者是作为消息的来源的客户机或客户机组。接收者是客户机或客户机组。接收者的所有成员获得该消息的一个副本。发送者不需要得知该客户机组的成员列表。该参数进一步详细规定优先级、安全级别、网络服务等等。
该操作意味着发送者把一个或几个数据单元发送到该系统中的各个节点。
应用程序路由器AR根据接收者地址路由该数据单元。
在通信网络2中的路由器(例如,IP路由器)根据IP寻址可选地路由数据单元。
客户机和应用程序内容产生器ACG可选地根据接收者地址而接收数据单元。
获得关于客户机组的信息操作Get_Client__Group_Information(Sender,Target,parameters)发送者是请求关于目标的消息的客户机或客户机组。该目标是一个客户机组。该参数进一步详细规定所要求的信息。
该操作意味着发送者把一个或几个数据单元发送到在该系统中的各个节点。
A)客户机组处理程序CGH通过把来自客户机组数据库DB1的适当项目发送到发送者,而可选地响应该查询。
应用程序会话名称服务器ASNS根据参考文献SE-...{Name Server}响应关于客户机组标识符的问题。
B)客户机组的成员例如通过确认它们的成员关系而可选地作出响应。
在应用网络1中的特定客户机组操作设置成员关系保护模式操作Membership_protection_mode(Sender,Target,Master,parameters)发送者为一个客户机或客户机组。目标为一个客户机组。该参数详细规定保护模式的选择。通常,有一个描述被选择模式的参数,例如打开或关闭。
该操作意味着该发送者把一个或几个数据单元发送到在该系统中的各个节点。
客户机组处理程序CGH通过把适当的属性设置在该客户机组数据库中而响应该操作。该主群被添加到该客户机组的主群组中。
设置事件发布模式操作Event distribution mode(Sender,Target,parameters)发送者为一个客户机或客户机组。目标为一个客户机组。该参数详细规定事件发布模式的选择。通常,有一个描述被选择模式的参数,例如verbose或silent。
该操作意味着把一个或几个数据单元发送到在该系统中的各个节点。
客户机组处理程序CGH通过在客户机组数据库中设置适当的属性而响应该操作。关于在客户机组状态中的改变的消息,例如成员加入或离开,被根据事件发布模式而发送。
名称和别名操作应用程序会话名称服务器ASNS响应用于客户机组的名称操作,如参考文献SE-...{Name Server}中所述。用于客户机组的名称服务器可选地与客户机组处理程序CGH相结合。
设置结束条件操作Termination_conditions(Sender,Target,parameters)发送者为一个客户机或客户机组。目标是一个客户机组。该参数详细规定结束条件的选择。
用于客户机组的结束条件可选地被设置在客户机概况8中。结束条件还可以通过把一个消息发送到请求设置新的结束条件的客户机组处理程序CGH的操作耐动态地设置。客户机组处理程序CGH通过根据请求客户机是否被授权而接收或拒绝该请求来作出响应。该操作意味着发送者正在把一个或几个数据单元发送到该系统中的各个节点。
客户机组处理程序CGH现在将监控该结束条件是否满足。如果该结束条件被满足,则客户机组将根据Delete_Client_Group操作被除去。
成员关系操作GetParents(Target)操作GetChildren(Group)客户机或客户机组可以使用该操作来从客户机组处理程序CGH请求关于一个客户机组的消息。CGH通过发送该目标是其中一个成员的所有客户机组的列表和该组的所有成员的列表而做出响应。
与层级客户机组相关的操作Join_Client_Group和Leave_Client_Group操作可以支持构造客户机组层级。客户机组处理程序CGH可以可选地接收加入一个客户机组的客户机组。作为一个特殊情况,它可以仅仅允许客户机加入客户机组。如果层级客户机组被允许,则客户机组处理程序CGH可以响应如下查询操作GetAncestors(Target)客户机组处理程序CGH返回该目标的所有前辈的列表操作GetDescendants(Target)客户机组处理程序CGH返回该目标的所有后辈的列表超级客户机用于处理执行客户机组操作的授权的一种特殊解释方案是指定特定的客户机作为超级客户机。这可以通过在客户机概况中的“客户机状态”参数或者另外通过一个API命令而完成。
客户机组处理程序CGH可以可选地保持关于该客户机状态的状态的一个记录。应用程序路由器AR可以可选地保持关于该客户机状态的一个记录,并且确保该客户机状态被在客户机组操作消息中正确地标记。
超级客户机有权对任何组执行所有客户机组操作。因此,它们可以被保证为所有客户机组的拥有者和主群。
客户机组全部一个应用网络可以可选地具有一个默认客户机组,其包括在该会话中的所有客户机。
客户机组处理程序CGH的具体细节在该会话过程中,客户机组处理程序CGH与客户机、ACG、AR、AS进行通信。应用网络管理系统ANMS和可选的应用程序前厅服务器ALS可以在一个会话被初始化时配置客户机组处理程序CGH。ANMS例如可以处理该会话概况和适当的客户机概况,并且使用上述客户机组操作把初始客户机组设置在客户机组处理程序CGH中。
构架实施例图3示出客户机组处理程序CGH的一个实施例。包含根据应用程序传输协议(例如,在参考文献PCT/SE00/00932中的GTP)的操作和请求编码并且可以由一种通信协议(例如,TCP/IP)所承载的数据包由网络接口和协议处理程序20所接收。该单元20把客户机组处理程序CGH操作(如上文所述)发送到授权处理程序21。授权处理程序使用来自客户机组数据库CGDB22的信息检查该操作是否被允许。被拒绝的操作被发送到错误处理程序23。错误处理程序23把关于该错误的通知发送到适当的客户机和客户机组,如上文所述。被授权的操作被从授权处理程序21发送到操作处理程序24。该单元24处理客户机组操作,如在本文中所述。关于成员的数据和客户机组的属性被根据需要从客户机组数据库22中恢复。作为在本文中所述的操作的结果,客户机组数据库22的内容可以被更改。
客户机组数据库(CGDB)22客户机组数据库CGDB包含用于每个会话13的一个会话数据库。在该会化数据库中存在用于每个客户机组的一个客户机组项目。该客户机组项目可以包括如下字段,1)客户机组标识符2)一个成员列表3)父节点的可选列表4)前辈节点的可选列表5)后辈节点的可选列表6)拥有者的可选列表7)主群的可选列表
8)根据“客户机组属性”部分的可选属性列表在客户机组项目中的客户机和客户机组列表可以具有表示一个所列的项目是否为一个客户机或一个客户机组。该列表可以使用任何客户机和客户机组标识符格式。
本发明的优选使用实例应用程序数据的有效多点传送考虑一种语音聊天应用程序,其中该虚拟世界包括许多会议室。用户控制化身并且选择该化身所在的一个会议室。用户对着话筒说话,使得相应的应用程序客户机通过应用网络发送语音。
进入会议室的所有客户机加入对应于该会议室的一个客户机组。该客户机组标识符是在应用程序传输协议中的一个多点传送地址。客户机用作为客户机组标识符的应用程序标签来发送每个语音数据包。应用程序路由器被配置为把携带一个客户机组标识符的所有数据单元多点传送到该客户机组的成员,这意味着语音被有效地多点传送到在同一虚拟会议室中的客户机。
允许保密通信的安全性一组用户希望使用在该虚拟世界中的一个会议室来进行保密会议。任何新加入的人不能够在没有获得邀请的情况下听到在该会议室中的谈话。该应用程序提供一组保密会议室,其可以在请求保密会议时获得。一个客户机是聊天管理器,并且对该请求分配保密会议室。
一个保密会议室对应于保护模式被关闭的一个客户机组。一个空的房间使该聊天管理器作为客户机组的主群组的唯一成员。一组客户机判断该主成员要使用一个保密房间。他们选择一个主席。该主席向聊天管理器请求一个保密房间。该聊天管理器选择一个空的保密房间,并且邀请该主席进入该主群组。该主席加入并邀请该组的其他成员。所有成员加入。他们现在都在该保密房间中,并且进行保密交谈。一个新的客户机进入该房间。他可以看到其它客户机,但是他不能够听到该交谈,因为他不是对应于该保密会议室的客户机组的一个成员。新的客户机不能够直接加入该封闭的客户机组。新的客户机可以要求主席邀请他加入。如果主席决定邀请,则新的客户机可以加入该组。
在持续多人游戏中管理持续角色在一个大的多人游戏中的虚拟世界包括几个国家。每个国家具有一个掌握军队的将军。该军队由当前玩游戏的作为士兵玩家所构成。该将军总是需要做出军事决定,并且管理在虚拟世界中的一组关键目标,包括藏宝箱、魔剑以及通向恶龙巢穴的线索。该游戏不分昼夜地进行,但是没有一个人可以总是一直在玩该游戏。将军的角色可以在几个玩家之间切换。
该将军由一个特定的客户机组(伪客户机)所表示,其实游戏数据的来源(拥有者),并且在任何给定的时间仅仅具有一个成员。该中央内容服务器总是被包括该“将军”的主群组中,并且扮演将军角色的客户机是该主群组的一个成员,并且是客户机组的唯一成员。作为客户机组的唯一成员,它可以管理由该“将军”所拥有的目标。它可以从宝藏中取出钱,挥舞魔剑甚至打开通往恶龙巢穴的大门。当玩家离开该游戏时,它离开客户机组“将军”。内容服务或该离开的玩家可以邀请一个新的玩家来接替将军的角色。
管理共享的应用程序数据四个玩家在模拟空战中驾驶战斗机。它们都在同一个团队中。该模拟包括第二次世界大战的无线通信系统,其中所有玩家使用相同的模拟信道喊话,例如“敌机在4点钟的位置”。
四个玩家形成一个客户机组,其拥有一个多点传送“信道”,例如根据参考文献PCT/SE00/00932的数据流对象。共同拥有的信道包括具有表示该信道的特定标签的数据单元。任何客户机组的成员可以在任何时间在该信道上发信,并且他们都订购该信道。在每个游戏机上本地地执行混音。
发布关于客户机组的成员的状态的信息虚拟博览会包括模拟展厅,其中公司在展台上展示他们的产品。参观者在周围走动并且进入他们感兴趣的展台。只要有人进入他们的展台,为不同公司工作的人将在其移动电话上收到一个铃声。公司的代表将作为一个化身出现在展台上并且会见该客户。
每个展台为一个客户机组。进入该展台的一个参观变为该客户机组的一个成员。在移动电话中的计算机应用程序加入该客户机组的状态。在每次成员数目从零变为正数时,客户机组处理程序CGH把一个消息发送到该移动电话。该消息在移动电话中触发一个铃声。
本领域的普通技术人员将认识到本发明不限于在附图中所公开的实施例以及上文的详细描述,其仅仅是用于说明的目的,并且可以用多种方式来实现,它由下文的权利要求所定义。
附录多点传送的简单描述IP多点传送是用于把数据发送到网络上的多个用户的一种方法。数据仅仅被传送到被称为主群组的一个所选择的用户组。该组如多点传送地址所确定。该来源把该数据的一个副本发送到多点传送地址。网络负责根据需要而复制该数据,并且把它传送到主群组中的所有用户。由于数据仅仅在非常必要的分支点处被复制,因此节约网络资源。从而多点传送是经济的和可缩放的。
来源仅仅把数据的一个副本发送到每个用户的单点传送浪费网络带宽和服务器资源。即使仅仅用于小组,广播使得每个主群接收该数据。IP多点传送的概念在图4中示出。
因为网络资源使用的控制和计费方面的困难,ISP不愿意使用多点传送。由于数据包被在下游分支复制,则从一个ISP领域进入另一个ISP领域的一个多点传送数据包可能导致通信量的爆炸。由于没有跟踪主群组的中央节点,因此这种爆炸是不可预测的。被征收统一费用的终端用户不对接收多点传送业务而支付额外的费用。如果每个用户的网络使用可以被监测,则使用IP多点传送将变得更加容易。
权利要求
1.一种在用于多用户应用程序的数据处理系统中的通信基础结构方案,该多用户应用程序即用于多个客户机的应用程序,其使得加入至少一个客户机组(CG)中的几个客户机之间通过一个应用通信网络(1)同时进行通信,其特征在于a)在该应用通信网络(1)上的至少一个被发布的多用户应用程序,每个多用户应用程序具有节点(AC、ASNS、ACG、AR、AS、APDB、ALS、ANMS、CAS、CGH)和用于处理每个客户机组(CG)的数据库(11、DB1、APDB);b)用于每个客户机组(CG),决定该客户机组的功能和用途的一组属性(7、8、CGDB);c)至少一个会话(13),其中列出该属性;d)使得属性的选择适合于该客户机组(CG)的所需功能和该应用通信网络(1)的容量。
2.根据权利要求1所述的通信基础结构方案,其特征在于,每个属性被独立于其他属性而设置。
3.根据权利要求1所述的通信基础结构方案,其特征在于,该属性为如下属性中的至少一些属性接收者、来源、成员关系保护模式、事件发布模式、名称和别名、发布模式、结束条件、客户机概况、父节点、前辈节点、子节点、后辈节点。
4.根据权利要求3所述的通信基础结构方案,其特征在于一个用于把相同数据发布到该客户机组的所有成员的接收者客户机组,该接收者客户机组具有一个相关的网络地址(例如,一个IP多点传送)或者一个应用程序地址;以及一个应用程序服务器(AS),用于根据查询、请求或者订购把该应用程序数据发布到应用程序客户机和客户机组(CG),这种查询、请求或者订购可以用对携带应用程序标签的应用程序数据单元(9)的订购来表达。
5.根据权利要求4所述的通信基础结构方案,其特征在于该客户机组地址是一个网络地址或者一个应用程序地址,并且一个得知该客户机组地址的发送者把数据传送到该组的所有成员。
6.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于一个来源客户机组是该应用程序数据单元的拥有者或来源,该来源客户机组作为该数据单元的一个发送者。
7.根据权利要求6所述的通信基础结构方案,其特征在于一个伪客户机,其为具有至少一个使用该客户机组作为一个别名的有效成员的来源客户机组,例如用于对该会话提供持续服务。
8.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,一些客户机为被授权的客户机,并且具有特殊的权利,该被授权的客户机组被称为主群组,未被授权的客户机对于要执行的操作具有规定的限制。
9.根据权利要求8所述的通信基础结构方案,其特征在于,一个安全系统,其中仅仅被授权的客户机被接受为保护其成为一个成员和/或离开一个客户机组的权利的成员。
10.根据权利要求8或9所述的通信基础结构方案,其特征在于,该被授权的客户机是该客户机组的拥有者或者该客户机组的任何成员。
11.根据权利要求8至10中的任何一项所述的通信基础结构方案,其特征在于该安全系统具有至少两个成员关系保护模式,其中一个模式为保密,对未授权客户机关闭并且仅仅对被授权客户机打开,并且另一个模式为对所有客户机根据其意愿自由加入和离开。
12.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,一个客户机组处理程序(CGH)把关于组事件的消息提供给该客户机组(CG)的成员,该组事件例如为客户机加入、客户机离开、数据单元被创建和删除、数据订购等等。
13.根据权利要求12所述的通信基础结构方案,其特征在于,该客户机组处理程序(CGH)具有至少两个分布模式,其中一个模式被称为Verbose,其中该成员可以获得它们的消息;另一个模式被称为Silent,其中成员不能够获得这种消息。
14.根据权利要求13所述的通信基础结构方案,其特征在于,在此有几种Verbose模式,其中成员可以被提供在各个Verbose模式中规定的不同信息量和/或种类。
15.根据权利要求12至14之一所述的通信基础结构方案,其特征在于,客户机组处理程序(CGH)存储该客户机组的名称或替代名称,使得网络地址或者应用程序地址可以识别一个客户机组,以支持对客户机组的操作。
16.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,应用程序标签作为用于识别该客户机组的客户机组识别装置。
17.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,应用程序服务器(AS)根据查询、请求或者订购把应用程序数据单元发布到应用程序客户机和客户机组(CG)。
18.根据权利要求16或17所述的通信基础结构方案,其特征在于,通过对携带应用程序标签的应用程序数据单元(9)的订购来表达查询、请求或者订购。
19.根据权利要求12至18中的任何一项所述的通信基础结构方案,其特征在于,该客户机组处理程序(CGH)包括一个包含关于客户机组的数据的数据库(DB1),该数据包括对于每个客户机组的成员列表以及该客户机组的属性列表。
20.根据权利要求19所述的通信基础结构方案,其特征在于,该数据库(DB1)还包括一个被邀请成员的列表以及客户机组拥有者的列表。
21.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,一个网络地址或者一个应用程序地址表示一个客户机组,一个客户机组还具有该应用程序所知并且被存储在一个应用程序会话名称服务器(ASNS)或在客户机组处理程序(CGH)中的名称。
22.根据上述任何一项权利要求所述的通信基础结构方案,其特征在于,至少一个客户机组还具有一个或几个被称为别名的替代名称。
23.一种计算机可读程序产品,其中包括一个计算机可用介质,其具有计算机可读代码,用于使计算机在执行应用程序的计算机操作系统的文件系统中存储不可预测的时间变量或者登录数据,所述计算机可读代码包括计算机可读程序和代码设备,其被配置为使得具有计算能力的设备安装一个软件环境和用户接口,用于软件组件管理,以在用于多用户应用程序的数据处理系统中提供通信基础结构,该多用户应用程序即用于多个客户机的应用程序,其使得加入至少一个客户机组(CG)中的几个客户机之间通过一个应用通信网络(1)同时进行通信,其特征在于a)该计算机可读程序和代码设备被配置为产生在该应用通信网络(1)上的至少一个被发布的多用户应用程序,每个多用户应用程序具有节点(AC、ASNS、ACG、AR、AS、APDB、ALS、ANMS、CAS、CGH)和用于处理每个客户机组(CG)的数据库(11、DB1、APDB);b)该计算机可读程序和代码设备被配置为产生用于每个客户机组(CG)决定该客户机组的功能和用途的一组属性(7、8、CGDB);c)该计算机可读程序和代码设备被配置为产生至少一个会话(13),其中列出该属性;d)使得属性的选择适合于该客户机组(CG)的所需功能和该应用通信网络(1)的容量。
24.根据权利要求23所述的计算机可读程序产品,其特征在于,每个属性被独立于其他属性而设置。
25.根据权利要求23或24所述的计算机可读程序产品,其特征在于,该属性为如下属性中的至少一些属性接收者、来源、成员关系保护模式、事件发布模式、名称和别名、发布模式、结束条件、客户机概况、父节点、前辈节点、子节点、后辈节点。
26.根据权利要求25所述的计算机可读程序产品,其特征在于该计算机可读程序和代码设备被配置为产生一个用于把相同数据发布到该客户机组的所有成员的接收者客户机组,该接收者客户机组具有一个相关的网络地址(例如,一个IP多点传送)或者一个应用程序地址;以及该计算机可读程序和代码设备被配置为产生一个应用程序服务器(AS),用于根据查询、请求或者订购把该应用程序数据发布到应用程序客户机和客户机组(CG),这种查询、请求或者订购可以用对携带应用程序标签的应用程序数据单元(9)的订购来表达。
27.根据权利要求26所述的计算机可读程序产品,其特征在于该客户机组地址是一个网络地址或者一个应用程序地址,并且一个得知该客户机组地址的发送者把数据传送到该组的所有成员。
28.根据权利要求23至27中的任何一项所述的计算机可读程序产品,其特征在于该计算机可读程序和代码设备被配置为使得一个来源客户机组是该应用程序数据单元的拥有者或来源,该来源客户机组作为该数据单元的一个发送者。
29.根据权利要求28所述的计算机可读程序产品,其特征在于该计算机可读程序和代码设备被配置为产生一个伪客户机,其为具有至少一个使用该客户机组作为一个别名的有效成员的来源客户机组,例如用于对该会话提供持续服务。
30.根据权利要求23至29中的任何一项所述的计算机可读程序产品,其特征在于,一些客户机为被授权的客户机,并且具有特殊的权利,该被授权的客户机组被称为主群组,未被授权的客户机对于要执行的操作具有规定的限制。
31.根据权利要求30所述的计算机可读程序产品,其特征在于,该计算机可读程序和代码设备被配置为产生一个安全系统,其中仅仅被授权的客户机被接受为保护其成为一个成员和/或离开一个客户机组的权利的成员。
32.根据权利要求30或31所述的计算机可读程序产品,其特征在于,该被授权的客户机是该客户机组的拥有者或者该客户机组的任何成员。
33.根据权利要求30至32中的任何一项所述的计算机可读程序产品,其特征在于该安全系统具有至少两个成员关系保护模式,其中一个模式为保密,对未授权客户机关闭并且仅仅对被授权客户机打开,并且另一个模式为对所有客户机根据其意愿自由加入和离开。
34.根据权利要求23至33中的任何一项所述的计算机可读程序产品,其特征在于,该计算机可读程序和代码设备被配置为产生一个客户机组处理程序(CGH),其把关于组事件的消息提供给该客户机组(CG)的成员,该组事件例如为客户机加入、客户机离开、数据单元被创建和删除、数据订购等等。
35.根据权利要求34所述的计算机可读程序产品,其特征在于,该客户机组处理程序(CGH)具有至少两个分布模式,其中一个模式被称为Verbose,其中该成员可以获得它们的消息;另一个模式被称为Silent,其中成员不能够获得这种消息。
36.根据权利要求35所述的计算机可读程序产品,其特征在于,在此有几种Verbose模式,其中成员可以被提供在各个Verbose模式中规定的不同信息量和/或种类。
37.根据权利要求33至36之一所述的计算机可读程序产品,其特征在于,客户机组处理程序(CGH)存储该客户机组的名称或替代名称,使得网络地址或者应用程序地址可以识别一个客户机组,以支持对客户机组的操作。
38.根据权利要求23至37中的任何一项所述的计算机可读程序产品,其特征在于,该计算机可读程序和代码设备被配置为使得应用程序标签作为用于识别该客户机组的客户机组识别装置。
39.根据权利要求23至38中的任何一项所述的计算机可读程序产品,其特征在于,该计算机可读程序和代码设备被配置为使得应用程序服务器(AS)根据查询、请求或者订购把应用程序数据单元发布到应用程序客户机和客户机组(CG)。
40.根据权利要求37或39所述的计算机可读程序产品,其特征在于,通过对携带应用程序标签的应用程序数据单元(9)的订购来表达查询、请求或者订购。
41.根据权利要求34至46中的任何一项所述的计算机可读程序产品,其特征在于,该客户机组处理程序(CGH)包括一个包含关于客户机组的数据的数据库(DB1),该数据包括对于每个客户机组的成员列表以及该客户机组的属性列表。
42.根据权利要求41所述的计算机可读程序产品,其特征在于,该数据库(DB1)还包括一个被邀请成员的列表以及客户机组拥有者的列表。
43.根据权利要求23至42中的任何一项所述的计算机可读程序产品,其特征在于,一个网络地址或者一个应用程序地址表示一个客户机组,一个客户机组还具有该应用程序所知并且被存储在一个应用程序会话名称服务器(ASNS)或在客户机组处理程序(CGH)中的名称。
44.根据权利要求23至43中的任何一项所述的计算机可读程序产品,其特征在于,至少一个客户机组还具有一个或几个被称为别名的替代名称。
全文摘要
本发明涉及一种在用于多用户应用程序的数据处理系统中的通信基础结构方案,该多用户应用程序即用于多个客户机的应用程序,其使得加入至少一个客户机组(CG)中的几个客户机之间通过一个应用通信网络(1)同时进行通信,其特征在于a)在该应用通信网络(1)上的至少一个被发布的多用户应用程序,每个多用户应用程序具有节点(AC、ASNS、ACG、AR、AS、APDB、ALS、ANMS、CAS、CGH)和用于处理每个客户机组(CG)的数据库(11、DB1、APDB);b)用于每个客户机组(CG),决定该客户机组的功能和用途的一组属性(7、8、CGDB);c)至少一个会话(13),其中列出该属性;d)使得属性的选择适合于该客户机组(CG)的所需功能和该应用通信网络(1)的容量。
文档编号H04L12/18GK1471774SQ0181818
公开日2004年1月28日 申请日期2001年10月22日 优先权日2000年10月27日
发明者马格努斯·扬德尔, 马丁·斯坦霍夫, 罗兰德·卡尔森, 卡尔森, 斯坦霍夫, 马格努斯 扬德尔 申请人:泰拉普雷系统股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1