存在管理的实现
技术领域
本发明总的涉及通信系统。更具体地,本发明涉及作为独立业务的存在信息(presence information)的管理以及通信系统的即时消息传递业务的一部分。
背景技术
即时消息传递业务为最终用户提供用于快速的、互动的、主要基于文本的通信的手段。它包括具有短的文本消息的因特网或SMS式样的消息传递,和相关的增值业务,诸如存在管理和聊天室类型的情景。
通常,‘存在’可被认为包含通过不同的手段访问所述业务的用户的各种动态信息。这个信息的例子是用户对于通信的可达性和可用性,以及对于通信的其他的、更多的情感状态,诸如心情和意愿。
存在信息的检索和授权已经在基于因特网的即时消息传递解决方案中以专有的方式被解决,这通常依赖于整个业务情景,而不作为具有完全的双向获取和授权的独立的业务。对于具有完全的双向获取和授权的独立业务模型还没有任何存在的解决方案。
而且,需要规定一个使用开放结构的协议,这样,各个厂商可以开始提供这样的业务。
发明内容
本发明的目的是提供各种独立的存在业务模型,包括具有完全的双向获取和授权的存在业务模型。
揭示了用于获取存在信息的两个模型:
基于检索的存在获取;以及
基于预订的获取。
此外,揭示了用于授权存在信息的两个模型:
请求的授权;以及
主动的授权。
另外,获取和授权可被施加给部分的存在信息。
通过使用具有多个原语的数据结构可以在客户机和服务器之间实现这些各种模型。
按照本发明的第一方面,数据结构包括多个原语,在通过客户机与服务器之间的网络传送所述原语期间,每个原语至少临时存储到在客户机的计算机可读的媒体中和在服务器的计算机可读的媒体中,其特征在于:该数据结构包括从请求用户的客户机提供到服务器的取得存在原语,以便请求被请求用户的存在信息;该取得存在原语具有各种信息单元,包括请求用户的标识符、被请求用户的标识符以及所请求的存在值的列表;该数据结构包括从服务器提供到请求用户客户机的存在原语,以便提供存在信息;以及该存在原语具有各种信息单元,包括被请求用户的标识符和所提供的存在值的列表。
与本发明的第一方面有关的附加的细节可以在从属权利要求2到19中找到。
按照本发明的第二方面,一种设备具有用于至少临时存储用于发送或接收的数据结构的装置,其特征在于,该数据结构按照本发明的第一方面。
按照本发明的第三方面,一种系统具有至少一个能够与多个设备通信的服务器,一通信协议被通过按照本发明的第一方面的数据结构而使用在该至少一个服务器与多个设备之间。
而且,按照本发明的第三方面,存在值具有相关联的空间和时间信息,该信息可被至少一个服务器使用来修改各存在值或相关的存在值。
再者,按照本发明的第三方面,该系统的特征在于该存在值具有与空间和时间信息相关联的有效性属性。
按照本发明的第四方面,一种供服务器使用的存在信息业务管理方法,其特征在于,该服务器从用户接收存在授权消息的步骤,其中该存在授权消息由用户发起,以便授权对该用户的选择的存在信息的访问;服务器从更新的用户接收存在信息更新消息的步骤,其中该更新消息由更新用户发起;服务器从请求存在业务的用户接收存在信息请求消息的步骤,所述用户包括请求存在信息、要求对其响应的用户,以及包括初始地预订存在信息、要求对其有包括所请求存在信息的进行中响应的预订用户;服务器确定对于被请求的存在信息的访问是否已被授权的步骤,以及如果没有被授权,则从其存在信息已被请求的一被请求用户请求授权,以及如果已被授权,则服务器把期望对其响应的、被请求的存在信息提供到请求的用户,该请求的用户请求期望对其响应的存在信息,以及按照进行中的原则把被请求的存在信息提供到预订用户的步骤,该预订用户预订要求对其有进行中的响应的存在信息,特别是在从更新用户接收到存在信息更新消息以后。
与本发明的第四方面有关的进一步的细节可以在从属权利要求23到41中找到。
按照本发明的第五方面,一种执行用于客户机的存在信息业务管理方法的服务器,其特征在于以下装置:用于从用户接收存在授权消息的装置,其中存在授权消息由用户发起,以便授权对该用户的选择的存在信息的访问;用于从更新的用户接收存在信息更新消息的装置,其中该更新消息由该更新用户发起;用于从存在业务请求的用户接收存在信息请求消息的装置,所述用户包括请求存在信息、要求对其响应的用户,以及包括初始地预订存在信息、要求对其有包括所请求存在信息的进行中响应的预订用户;用于确定是否已授权对于该被请求的存在信息的访问的装置,并且如果没有被授权,则从其存在信息已被请求的一被请求用户请求授权;以及用于把期望对其响应的被请求的存在信息提供到期望对其响应的该请求存在信息的请求用户,以及按照进行中的原则把该被请求的存在信息提供给要求对其有进行中响应的预订存在信息的预订用户的装置,特别是在从更新用户接收到存在信息更新消息以后。
与本发明的第五方面有关的进一步的细节可以在从属权利要求43到61中找到。
按照本发明的第六方面,用于管理供在通信系统中使用的存在信息的系统包括IM客户机和该网络中的IM服务器,其中IM服务器可以被互相连接以便交换即时消息。
附图简述
图1A是显示按照本发明的实施例的、协议层栈的图。
图1B是按照本发明的实施例的、更详细的层的图。
图2A是显示按照本发明的实施例的、模型即时消息传递系统的图。
图2B显示按照本发明的、IM用户和IM客户机的标识。
图2C是显示按照本发明的、在向IM服务器鉴权IM用户和IM设备时遵循的询问-响应协议的方框图/流程图。
图2D显示按照本发明的、用于提供信息单元以便在IM业务能力层组装外出的原语或分解进入的原语的各种装置。
图3A是按照本发明的、对于非预订的‘存在’的流程图。
图3B显示按照本发明的、用于在客户机执行非预订的存在业务的、在IM客户机的IM业务能力层的细节。
图3C显示按照本发明的、用于在存在服务器执行非预订的存在业务的、在存在服务器的订户/互连管理层的细节。
图4A是显示按照本发明的、存在信息的预订递送的会话图。
图4B显示按照本发明的、用于在客户机执行预订的存在业务的、在IM客户机的IM业务能力层的细节。
图4C显示按照本发明的、用于在存在服务器执行预订的存在业务的、在存在服务器的订户/互连管理层的细节。
图4D显示按照本发明的、用于在存在服务器执行预订的存在业务和非预订的存在业务的功能块的细节。
图5A是显示用好友列表(buddy list)进行消息传递的会话图。
图5B显示按照本发明的、用于在IM客户机使用好友列表业务执行消息传递的、在IM客户机的IM业务能力层的细节。
图5C显示按照本发明的、用于使用好友列表执行消息传递的、在IM服务器的订户/互连管理层的细节。
图6A是显示按照本发明的、经过专用用户组的即时消息传递的会话图。
图6B显示按照本发明的、用于在IM客户机执行专用组消息传递管理的、在IM客户机的IM业务能力层的细节。
图6C显示按照本发明的、用于在IM服务器执行专用组消息传递的管理的、在IM服务器的订户/互连管理层的细节。
图7A是显示按照本发明的、经过公共用户组的即时消息传递的会话图。
图7B显示按照本发明的、用于在IM客户机执行公共组消息传递的、在IM客户机的IM业务能力层的细节。
图7C显示按照本发明的、用于在IM服务器执行公共组消息传递的、在IM服务器的订户/互连管理层的细节。
图8A是显示按照本发明的、用户组和好友列表的管理的会话图。
图8B显示按照本发明的、用于在IM客户机执行用户组管理业务的、在IM客户机的IM业务能力层的细节。
图8C显示按照本发明的、用于在IM服务器执行用户组的维护的、在IM服务器的订户/互连管理层的细节。
图9A是显示按照本发明的、搜索用户和用户组的会话图。
图9B显示按照本发明的、用于在IM客户机执行搜索用户和用户组业务的、在IM客户机的IM业务能力层的细节。
图9C显示按照本发明的、用于在IM服务器执行搜索用户和用户组业务的、在IM服务器的订户/互连管理层的细节。
图10A是显示按照本发明的、共享内容的管理的会话图。
图10B显示按照本发明的、用于在IM客户机执行共享内容管理业务的、在IM客户机的IM业务能力层的细节。
图10C显示按照本发明的、用于在IM服务器执行共享内容管理的、在IM服务器的订户/互连管理层的细节。
图11A是显示按照本发明的、在事务中一般错误处理的会话图。
图11B显示按照本发明的、用于在IM客户机执行异常管理的、在IM客户机的IM业务能力层的细节。
图11C显示按照本发明的、用于在IM服务器执行异常管理的、在IM服务器的订户/互连管理层的细节。
用于执行本发明的最好模式
图1A上给出用于即时消息传递的模型,它被划分成四层。这四层包括顶部的IM业务层10、下一个较低的IM业务能力层12、下一个较低的IM会话技术层14和底部的IM传输技术层16。顶部IM业务层10包括IM业务,诸如聊天、约会、聚会和会议。下一个较低的IM业务能力层12包括高级别协议说明,它包括具有信息单元和消息流的原语。即时消息传递业务能够将这些业务能力当作工具箱来使用以便创建各种业务。图1B上显示业务能力的示例性划分。下一个较低的IM会话层14包括通过诸如MMS(多媒体消息业务)、SIP(会话发起协议)、SMS(短消息业务)、USSD(非结构化的补充数据)这样的现有会话进行能力的映射。底部的IM传输层16包括如何使用各传输的规定:TCP/UDP/IP(传输控制协议/用户数据报协议/网际协议)、作为载体的SMS/USSD、WAP/WSP(无线应用协议/无线会话协议)。以下的公开内容将致力于在IM客户机的IM业务能力层和在IM服务器的相同的层。
正如提到的,IM业务能力层12包括消息流,被交换的原语(消息)的名称,并且它定义在该抽象消息中的信息单元。它也提出在这个级别上可被选择的技术(诸如,信息单元的编码)。
图2A显示IM系统17,包括物理设备18,19、IM客户机20,22、IM用户23,24,25,26和IM服务器27,28。IM用户是IM系统的顾客,通过使用物理设备18,19享用所提供的即时消息传递业务。IM客户机是IM业务的一个实施方案,它允许一个或多个IM用户访问该业务。IM客户机可以是硬件、软件、固件或它们的任何组合。IM客户机概念是与设备无关的,但为了实际的使用,它被安装在物理设备中。虽然图2A上未示出,但不止一个客户机可以驻留在给定的物理设备上,并且同一个用户可以访问同一个设备上不同的客户机。例如,未示出的IM客户机3可被安装在设备19上并可被IM用户3访问。IM服务器是提供IM业务和维护用户数据的网络单元。IM服务器可以被互连。
IM用户可以同时从几个IM客户机(使用单个设备或多个设备)访问IM服务器。同样地,IM客户机可以为几个IM用户提供同时的访问。同时访问同一个组的相同的IM用户通过一个参与会话的标识分离。
再说一下,物理设备,例如移动手机或PC机,可以具有一个IM客户机实例,或者在特别的情形下具有多个IM客户机实例。在这些特别的情形下,多个IM客户机实例可能需要相互独立地加以标识。但对于许多情形,设备标识和客户机标识可被视为相同。在那些情形下,实际上,物理设备因此与客户机是相同的。本发明描述用来将即时消息传递业务的用户的标识从该即时消息传递业务正供其使用的客户机分离的方法。然而,应当看到,按照本发明的教导,分开的标识的指配可被扩展,以覆盖设备本身以及可能驻留在给定的设备上的客户机。在消息传递方面,本发明可被扩展到的存在和聊天类型业务允许寻址用户、客户机(即,特定的运行的应用程序)以及客户机正在其上运行的设备。
参照图2B,到IM系统的访问被两个地址标识:IM用户地址,它包括IM用户地址和用于鉴权的可能的密码;以及IM客户机地址,它标识被使用来访问该IM系统的、特定的设备或IM客户机。如果在该系统中包括寻址同一个设备上的多个客户机的能力,并且设备标识是想要的,则图2A的概念可被扩展到覆盖多个客户机标识和设备标识。
当IM用户访问IM系统时,IM客户机需要提供IM用户标识(IM用户ID)和IM客户机标识(IM客户机ID)。IM用户标识被从IM用户得到,而IM客户机本身提供IM客户机标识。
IM系统使用IM用户标识来达到影响IM用户的所有目的:发送信息到IM用户、收费和计费目的等等。IM系统使用IM客户机标识来达到或者只影响IM客户机(把消息路由到IM客户机)或者影响IM用户和IM客户机两者(消息传递给通过特定的IM客户机访问的IM用户)的所有的目的。
IM用户标识还被分解成用户名和密码,在低级别的鉴权不可用时该密码被用于简单鉴权。
IM客户机标识还被分解成客户机名称和客户机地址。客户机名称是被使用来发送和接收到通过具体IM客户机访问的IM用户的消息和根据IM客户机而记录信息的名称。客户机地址可被使用来提供在运行IM应用的设备与该设备内的具体IM客户机之间的低级别的映射。
图2A的IM客户机与服务器将具有如图1A所示的、分层的途径,以便于提供本发明的即时消息传递和存在业务。但居于客户机之间的服务器通常并不利用最上层,即,IM业务层10。例如,如图1B所示,具有图1A所示的分层结构的IM客户机将通过通信链路与除了不具有最上层的IM业务层以外、具有类似分层结构的IM服务器通信。IM业务层进而又将最终直接地或通过其他服务器与其他客户机通信,并且那些客户机将以与图1B的IM客户机具有这种IM业务层的相同方式具有IM业务层。如上所述,IM业务层包括诸如聊天、约会、聚会和会议那样的业务。
这里特别揭示IM业务能力层12,它包括高级别的协议说明,带有规定的消息流、原语和信息单元。IM会话层包括各能力到现有的会话(诸如MMS,SIP,SMS,USSD等等)的映射。IM传输层规定如何使用传输:TCP/UDP/IP,作为载体的SMS/USSD、WAP/WSP等等。
把注意力集中在IM业务能力层12,这个层可包括各个组成部分,如图所示。其中之一例如可以是消息传递部分12c,其中它提供即时消息的交换,包括丰富的内容。存在组成部分可包含两个部分12a,12b,正如下面描述的,并且提供宽范围的用户状态的交换,诸如可达性、心情、位置等等。用户组管理12d涉及到聊天室和其他社区方面的管理。内容管理12e提供共享内容(诸如,图象和文件)的管理。还提供了订户管理12f。在IM服务一侧这些相同的组成部分被显示为“IM客户机技术”和订户/互连管理。
所以,根据上文,应当理解的是,如图2A所示的IM用户是IM系统的顾客。如图2A所示的IM客户机是在客户机设备(诸如移动手机或个人计算机)中的用于即时消息传递的实施方案实例。如上所述,如图2A所示的IM用户可以通过不同的IM客户机同时访问IM业务。IM服务器被互连,以便交换消息和其他信息。为此,IM用户寻址使用涉及到IM订户的用户名。还如上所述,对于IM客户机寻址,可以利用设备寻址加上客户机标识。
图2C显示其中用户与客户机标识的分离可被有用地利用的例子。图2C显示鉴权协议,被表示为在IM服务器27与由IM用户(未示出)操作的IM客户机20之间的各种消息L1与S、L2与D和结果的交换。鉴权协议为IM服务器27确认:IM客户机20和IM用户确实都有权利访问IM服务器的业务,即,这二者都是预订的实体。重要的是要看到,IM用户和IM服务器正在这里被该协议鉴权;换句话说,鉴权将阻塞不是预订的IM用户的某个人(用户)的访问,以及将不允许任何人(不管他们是否是一个预订的IM用户)使用不是预订的IM客户机的设备或软件来访问该IM服务器。
仍旧参照图2C,如图所示,IM服务器27包括客户机ID和用户密码(分别表示预订的设备和/或软件与用户)的数据存储27a;它还包括模式模块(schema module)27b,该模块能够按照一个或多个模式,诸如标准散列算法1(SHA1),如在RFC3174中提出的;或消息摘要5(MD5),如在RFC1321中提出的,(RFC3174和RFC1321都是由因特网工程任务组(IETF)公布的、所谓的“请求评论”文件),产生所谓的消息摘要(作为消息的被加密表示字符串)。
仍旧参照图2C,按照在优选实施例中使用的鉴权协议,IM客户机20首先把空登录消息L1,即既不包括用户密码也不包括客户机ID的登录,发送到IM服务器27,以及通过空登录L1发送消息S,表示在IM客户机20中在模式模块20b(典型地能够执行几个不同的模式)中实施的模式。由一个模式产生的摘要可被视为该消息的通常被压缩且总被加密的版本。
响应于空密码,IM服务器27把错误消息E连同所谓的现时(nonce)N(被理解为询问)一起发送到IM客户机20。‘现时’是由询问实体(这里是IM服务器27)按照预定的规定构建的字符串。建议的现时是一连串字符的摘要:
N=H(客户机ID|时间标记|私有密钥) (1)
其中a|b表示字符串a和b的级联,以及其中H(...)例如是SHA1(...)或MD5(...),并且这里被称为散列函数。如果散列函数的自变量是包括密钥的字符串的级联,则散列函数的输出可以使用适当的密钥被解锁或被解密。这样的输出被称为一个摘要。如果该自变量不包括密钥,则散列函数的输出决不可能(实际上说)被反演,并且该输出仅仅起到检验和(虽然仍旧是具有某个长度(通常远大于1)的字符串)的作用。
当IM客户机20接收该现时N时,它提供第二登录消息L2,该消息再次是空的,但这次它与由按照下式计算的摘要D相伴随:
D=H(N|用户密码|客户机ID) (2)
IM客户机20将装置20a,20b包括在内,或者可访问装置20a,20b,以便提供IM客户机ID和IM用户ID,该IM客户机ID和IM用户ID在访问由IM服务器27提供的业务时被该IM客户机20使用。用户密码由该用户(未示出)提供到IM客户机20。
响应于第二登录L2和伴随的摘要D,IM服务器27解密摘要D,提取用户密码和客户机ID,检验这二者是在它的预订客户机和用户的数据存储27a中,然后通过使用它提供到IM客户机20的现时N和使用它从摘要D所提取的用户密码为它自己计算摘要D’。如果D’匹配于D,则用户被鉴权,以及IM服务器27接受注册,否则不接受注册。鉴权过程的结果然后由IM服务器27作为结果消息‘结果’提供到IM客户机20。
图2D显示,对于客户机从IM业务能力层12提供的、给定的外出的原语,将有各种用于提供构成信息单元以组合成给定的外出原语的装置10a,10b,10c,10d,...,10e。这些装置10a,10b,10c,10d,...,10e可以是IM业务层10的一部分或与IM业务层10相关联,或是IM业务能力层12的一部分或与IM业务能力层12相关联。在服务器一侧对于从客户机接收原语的情形,情况类似,但是反过来,即,所显示的IM业务能力层被使用来接收进入的原语并且分拆该原语,以提供该构成信息单元在服务器中单独使用或组合使用,和/或在网络的其他地方重新包装和中继该信息单元。对于从服务器提供到客户机的原语的情形,应用以上的相反方式。换句话说,客户机从接收自该服务器且被该服务器组装的原语分解出信息单元。
现在参照图1B,图上显示诸如图2的IM客户机20那样的IM客户机和诸如图2的IM服务器27那样的IM服务器,对应的层由信号线29显示和互连,该信号线可包括无线链路。信号线30被显示成表示至诸如图2的IM服务器28那样的另一个IM服务器(图1B上未示出)的连接。应当指出,图1B的IM客户机20具有先前结合图1A讨论的、总共四个层10,12,14,16,而图1B的IM服务器27只有(在服务器的左端显示的)三个最低层12,14,16。这是因为IM服务器27只是在IM客户机20与通信端点处的一个或多个IM客户机之间的整个连接中的中间节点。只有它们才需要实现最顶部的IM业务层10。因此,将会看到,本发明并不牵涉到IM业务本身的细节,而是集中在IM业务能力层12(和在服务器处的相应的IM客户机技术层27a),它提供用于实现IM业务的基本能力但不直接涉及到IM业务本身。
在客户机的IM业务能力层和在服务器的IM客户机技术层提供在它们之间的通信协议,该协议使用包括多个原语的数据结构,每个原语至少临时存储在通信链路29的发送端的计算机可读的媒体中和至少临时存储在该链路的接收端的计算机可读的媒体中。每个原语在发送端被组装和被发送到接收端,在接收端它被分拆和被处理或被重新包装,以便进一步发送。
IM业务能力层12的各个组成部分被显示于图1B,以及通过本技术说明被更详细地讨论。例如,存在业务12a,12b将在下面被揭示为涉及广泛范围的用户状态的交换,诸如可达性、心情,和位置。在消息传递12c下,揭示了包括丰富内容的即时消息的交换。在用户组管理12d下,揭示了聊天室和其他社团方面的管理。在内容管理12e下,揭示了共享的内容(诸如,图象和文件)的管理。订户管理12f并不是本发明的课题,所以下面不作讨论。然而,因为订户管理以及互连管理27b也以相同的级别显示于图1B的IM服务器27的右端,所以为了完整起见,在IM业务能力层12处也显示了这一部分。这代表IM预订的管理,但超出了本发明的范围。同样地,互连管理涉及在用于IM用途的服务器之间的相互连接的管理,不是本发明的课题,所以下面不进一步讨论。在会话和传输层的管理和相互连接的细节也没有被揭示,因为它们并不形成本发明的任何部分。
存在
存在的概念是指特定的移动或固定的网络用户的所有种类的状态信息。当被组合到特别用于移动用户的即时消息传递业务时它具有很大的潜力,但独自作为业务也具有重要价值,诸如与电话本相组合等等。因此,在本揭示内容中,存在业务被单独地考虑,以及被联系到聊天型业务。
1.非预订的存在
用户的存在信息可以通过向存在服务器发出查询而从消息传递业务单独地获得,正如在图3A上给出的消息流中表示的。
存在业务的用户可以在任何适当的时间通过经IM客户机发送更新存在消息31(P=存在值;S=状态;T=事务标识符)而自主地更新其在存在服务器中的存在信息。同样地,用户可发出一个取得存在消息32,以请求某个其他用户的存在信息。存在信息33被传递回请求的用户。
状态消息可以在线34上被从存在服务器提供到IM客户机来表示更新存在消息或操作的成功或不成功。异常处理将在下面结合图11A详细地讨论,且除了在消息流程图中显示(带有“A”后缀的图3-10)以外将不结合图3A-10A作出进一步讨论。所以,将会看到,这些状态消息可按照下面结合图11A提供的讨论所显示的那样被发送。
应当看到,IM用户可以只部分地更新他的存在信息。同样地,IM用户可以只请求部分存在信息。
当存在服务器支持创建和删除新的存在值的功能性时,用户可创建和删除新的存在值。这种机制允许存在值的扩展超出最小集合的值。这在IM客户机中也需要一种通用的方法,把没有被客户机这样理解的值呈现给IM用户。新的存在值通过更新存在值消息35被创建。
取得存在机制32包括可任选的授权序列。当某人请求用户的存在信息时,授权请求36可被发送到该用户以授权该存在信息,正如在线37上的授权消息表示的。如果授权失败,具有空的内容的存在消息就被在线33上发送到请求的用户。存在信息的授权也可被预先授权,这样,用户可单独地表示:愿意把他的存在信息提供给某些其他指定的IM用户,而不用特定的请求,正如在线38上表示的。
即使请求的IM用户想要接收完全的存在信息,IM用户也可以只部分地授权他的存在信息。
图3B显示在IM客户机20的IM业务层10,它与IM业务能力层12的非预订的存在部分12a相接口。在线31上提供的、图3A的更新存在原语被显示为来自用于提供更新存在原语到服务器的装置42c。这个更新存在原语在表2上被更详细地显示为包括各种信息单元,这些信息单元可以在线44上被从客户机的IM业务层10提供到用于组装这些信息单元和把它们作为更新存在原语在线31上提供的装置42c。由此,它进到客户机的IM会话层14(参见图1A和1B),从而通过传输层16进到服务器。同样地,装置46c被提供,它响应于在线48上被从IM业务层10提供的多个信息单元,包括诸如在表3上列出的多个信息单元,而用于组装这些信息单元和把它们作为取得存在原语在线32上加以提供。作为响应,服务器将查询任何现有的预先授权,或者将通过目前正由该被请求用户使用的客户机、从其存在是所期望的用户得到这样的授权,并且一旦得到保证,该用户的被请求的存在信息将在线33上提供的存在原语内被提供给用于接收该存在原语的装置50c。这个存在原语将具有诸如表4上显示的信息单元,并且这些信息单元将由装置50在线52上提供到客户机的IM业务层10。
在一个客户机(未示出)被连接到例如图2的IM服务器28并想要IM客户机20的存在信息的情形下,请求的IM客户机将发出请求存在授权原语,这个原语将被在线30上传输到IM服务器27,IM服务器又通过线29把这个原语提供到客户机20,以及由此在线54上提供到用于接收对于存在授权的请求的装置56c。请求存在授权原语可包括诸如表5上显示的信息单元。这些信息单元然后可以在线58上被提供到在被请求的客户机的IM业务层10,如图3B所示。作为响应,在客户机的IM业务层可以在线60上把信息单元提供到用于在线64上把授权存在原语提供回服务器27的装置62c。客户机20的被授权的存在然后可以在线30上被从服务器27提供到请求的客户机(未示出)。诸如表6上显示的信息单元可被使用于授权存在原语。所以,虽然图3A以显示端到端情形的方式显示授权过程,但将会看到,给定的客户机的用户将有能力得到其他客户机的其他用户的存在信息,以及授权相对于给定客户机的用户的聚集的存在信息。这被显示在图3B中在单个客户机的IM业务能力层12中。所以,应当看到,在图3B的线54,64上显示的请求存在授权和授权存在原语实际上是与图3A的线36,37上显示的相同的原语,只是是相对于相同的客户机说明,而不是如图3A中是相对于不同的客户机说明。
现在参照图3C,与图3B上显示的相同的原语在服务器侧再次被显示。像在客户机的IM业务能力层一样,服务器具有IM客户机技术层65,装置42s,50s,62s,46s,56s相应于图3B的装置42c,50c,62c,46c,56c。这些装置提供信息单元到服务器的订户/互连管理层27b和从服务器的订户/互连管理层27b接收信息单元。这些装置相应于在与客户机的IM业务能力层12相同的级别上、在图1B的IM服务器中显示的顶部层的订户管理和互连管理部分27b。所以,将会看到,图3C所示的IM客户机技术层65相应于图1B所示的顶部层的IM客户机技术部分,以及在线29上交换的原语相应于图3B和3C上所示的原语31,33,64,32,54。在这些原语中包含的信息单元在IM客户机技术层65被处理和在线68,72,74上被提供到服务器的订户/互连管理层27b,或在线70,76上被从服务器的订户/互连管理层27b接收。这些信息单元被IM服务器27处理,以便完成相应于客户机的IM业务能力的IM客户机技术功能和跨越网络中的服务器的订户管理和互连管理。
对于在图4A,5A,6A,7A,8A,9A,10A,和11A的消息流程图上描述的所有的IM业务,类似的客户机/服务器表示将由IM客户机20和IM服务器27的IM业务能力层组成。显示IM业务能力层的客户机一侧的图被标记为图4B,5B,6B,7B,8B,9B,10B,和11B。IM业务能力层的IM服务器27一侧被相应地标记为图4C,5C,6C,7C,8C,9C,10C,和11C。所有这些图应当以与刚才结合图3A的非预订的存在业务描述的相同的意义来理解。换句话说,例如,给定的一组例如4A,4B和4C的图上所显示的内容是:在IM客户机与存在服务器之间的原语消息的流程,连同按照本发明的、用于在IM业务能力层12和IM客户机技术层27a处(它们分别位于IM客户机和IM服务器,如图1B所示)执行该消息流的设备或装置的说明。
这样,它们是能够存储在物理媒体上的独立的实体或数据结构,以及它们可以由驻留在一物理设备上的信号处理器来处理。
2.被预订的存在
用于接收存在信息的另一个机制是预订某个人的存在信息。在图4A上给出消息流。
请求的用户把预订存在消息80发送到存在服务器,以预订某个人的存在信息。可以包括类似于非预订的存在的授权序列的授权序列82,84。授权也可以在预订之前或之后自主地完成86。
当完成对于存在信息的预订时,请求的用户将初始地接收88新的存在信息,以及当该另一方更新它的存在信息时,总是接收90存在信息。
当请求的用户不想要再接收存在信息时,他可以解除预订92,不接收存在方的信息。
替换地,存在信息可以被预订一个时间周期,以及不需要解除预订消息92,因为在该时间周期过去后它在存在服务器中自动到期。
请求的用户可以仅仅预订存在信息的一部分,因此其存在信息被预订的用户可以允许只传递该存在信息的一部分。
图4A的预订存在消息80在图4B上也被显示为正由客户机的IM业务能力层12的存在部分12b提供。它是由装置94响应于被从客户机的IM业务层10在线96上被提供的多个信息单元而提供的。这些信息单元可以是如表7所示的,以及可以由装置94进行组装,并在线80上作为预订存在原语被提供,以便在客户机的IM会话层14和IM传输层16中处理,从而在线29上传输到IM服务器27,在图4C上被显示为在由IM服务器27的IM传输层和IM会话层处理后进入装置94。在线80上的原语‘预订存在’的、表7的信息单元在线98上被提供到IM服务器27的订户/互连管理层27b。
IM服务器27然后通过预先授权或者通过询问它的存在信息被请求的IM客户机而寻求授权。被请求的客户机将具有与图4B所示相同的或类似的IM业务能力层,以及将在线82上接收请求存在授权原语,该原语在被询问的客户机中被提供到用于接收对于存在授权的请求的装置100。这个原语的信息单元可以是如表5所示的,以及在线102上被提供到被请求的客户机的IM业务层。然后授权可以被许可,以及如表6所示的授权信息单元可在线104上被提供到装置106c,用于在线84上把该授权存在原语提供回服务器,该服务器在装置108s中接收同样的内容,以及在线110上把表5的信息单元提供到服务器27的订户/互连管理层27b。服务器然后在线112上把如表4所示的信息单元提供到装置114,用于在线88上把存在原语提供到图4B的请求的客户机,其中该原语由装置116接收。包括存在原语的信息单元在线118上被提供到在请求的客户机的IM业务层的IM业务层。
正如提到的,存在可以由IM客户机20自主地更新,以及这可以如图4A所示由原语装置120客户机在线86上所提供的更新存在原语而完成,装置120响应于在线120上被从客户机20的IM业务层10提供的、诸如表2上显示的信息单元而提供这样的原语。这个信息被存储在存在服务器,以及避免必须通过请求存在授权原语在线82上请求原语存在授权。
最后,解除预订存在原语由在客户机的IM业务能力层的该预订的存在部分的装置124在线92上提供。IM业务层10在线126上把诸如表8所示的信息单元这样的信息单元提供到装置124,用于在线92上提供解除预订存在原语。
再次参照图4C,由在线88上的更新存在原语所体现的自主存在更新被显示为由装置126接收,该装置126从客户机接收这样的用于更新存在的请求,以及把在线128上的、被包含在例如表2中的信息单元提供到服务器27的订户/互连管理层27b。
在图4C的IM客户机技术层27a处显示了装置129,用于接收在线92上的解除预订存在原语,以及在线130上把如表8上所示的信息单元提供到服务器27的订户/互连管理层27b。这个层也在线131上把来自表6的信息单元提供到装置132,用于在线82上提供对于授权原语的请求。
对于结合这里揭示的任何消息流程图(“A”后缀)或设备图(B和C后缀)(诸如图4A,4B和4C)在上面描述的各种原语,应当看到,每个显示的原语组成数据结构,用于在发送端组装和至少临时地存储在计算机可读的媒体中,以及用于在接收端至少临时地存储、分拆与处理。换句话说,例如参照图4B和4C,由装置120在线86上提供的更新存在原语是从表2上列出的信息单元组装的,以及被提供在例如线122上。这样,信息单元在信号线86上、在传输媒体上被提供到服务器之前,至少被临时存储在装置120中。同样地,参照图4C,更新存在原语在线86上被装置126接收,以及至少被临时存储在装置126内,用于分拆成单独的信息单元和/或用于在服务器中作为原语进行处理,以便进一步传输。这样,以上揭示的原语和下面更详细地揭示的其他原语组成在客户机与服务器之间交换的数据结构,一个在发送端,一个在接收端,用来以即时消息传递的形式传输信息和/或存在内容。原语具有包括消息标识符、事务标识符等的信息单元。在客户机之间共享的信息由这些数据结构或原语传送,服务器起到网络上的中间体的作用。原语和它们的组成的信息单元具有由服务器与客户机所识别的结构,这样,它们就可以在所提供的业务环境中被正确地解译。
虽然在图3B,3C和4B,4C上相对于存在业务,通过显示在与客户机的IM业务层协作的客户机的IM业务能力层内的各种装置以及通过显示在与服务器的订户/互连管理层协作的服务器的IM客户机技术层的各种装置,说明了按照本发明的、在客户机的IM业务能力层12或在服务器的IM客户机技术层处被使用的物理设备18,19的细节,但将会看到,在客户机的各个IM业务层和在服务器的客户机技术层执行的功能可以改而整体地或部分地在除了客户机的IM业务能力层和服务器的IM客户机技术层以外的其他层内执行。例如,参照图4D,其中没有标识特定的层,而是显示了功能块来说明按照本发明的、在存在服务器处执行的某些功能。存在服务器被显示为具有从图3A和4A组合的功能,包括装置133,它用于接收存在信息请求,而不管它们是在线32上的取得存在原语还是在线80上的预订存在原语,它处理这样的原语以及在线133a,133b上把表示这样的原语的输出信号提供到用于处理需要立即响应的请求的装置133c和用于处理预订请求的装置133d。在响应需要立即响应的请求的情形下,装置133c在线133e上把信号提供到用于确定被请求的存在信息的获取是否被预先授权的装置133f。对于装置133d也是如此,因为对于预订请求也必须作出这样的确定。所以,装置133d在线133g上把信号提供到装置133f,以便确定作为预订请求的主题的存在信息的获取是否被预先授权。任何这样的预先授权信息还将被存储在服务器27,以及如果确定这样的授权已存在,则在线133h上提供一个信号到装置133i,以便从存在服务器内自身的存储器中检索当前的存在信息或由在线31,86上的更新存在信息更新。装置133i在线133j上把检索的或更新的存在信息提供到装置133k,装置133k提供该存在信息作为在线33,88上的存在原语。
如果装置133f确定被请求的存在信息还未被授权,则它在线133m上提供一个信号到装置133n,用于从拥有被请求的存在信息的客户机请求授权。装置133n然后在线54,82上提供请求存在授权原语。作为响应,拥有被请求的存在信息的客户机将在线64,84上把授权存在原语发送到装置133p,装置133p用于接收这样的授权原语和在线133q上把信号提供到装置133f,用于确定由请求的客户机获取存在信息是否已由被请求的客户机授权。如果是的话,在线133h上提供一个信号到装置133i,以及所请求的信息被在服务器处、在线133s上从存储器133r检索,或者从用于接收来自客户机的当前更新的存在信息的更新的存储机构中检索,并且被在线133j上提供到装置133k,装置133k把该存在信息作为存在原语在线33,88上提供到请求的客户机。
所以,将会看到,按照本发明教导的各种功能可以由服务器或客户机的各个层来执行,而不需要限于这里为了教导而显示的确切的结构。
3.存在原语及其信息单元
原语 |
方向 |
更新存在 |
IM客户机→存在服务器 |
取得存在 |
IM客户机→存在服务器 |
存在 |
存在服务器→IM客户机 |
请求存在授权 |
存在服务器→IM客户机 |
授权存在 |
IM客户机→存在服务器 |
授权状态 |
存在服务器→IM客户机 |
预订存在 |
IM客户机→存在服务器 |
解除预订存在 |
存在服务器←IM客户机 |
表1存在原语
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
自己的客户机ID |
强制性的 |
IM客户机的标识 |
自己的用户ID |
强制性的 |
IM用户的标识 |
组ID |
任选的 |
标识IM组,如果涉及到的话 |
存在值列表 |
任选的 |
要被更新的存在值的列表 |
表2更新存在
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识存在请求事务 |
自己的客户机ID |
强制性的 |
请求的IM客户机的标识 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
被请求的客户机ID |
有条件的 |
如果请求客户机的特定的存在,被请求的IM客户机的标识 |
被请求的用户ID |
强制性的 |
被请求的IM用户的标识 |
存在值列表 |
可任选的 |
被请求的存在值的列表。空(或特殊的值)表示所有的存在值都是想要的。 |
表3取得存在
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
可任选的 |
标识存在请求事务,如果涉及到的话 |
被请求的用户ID |
强制性的 |
被请求的IM用户的标识 |
存在值列表 |
可任选的 |
提供的存在值的列表 |
表4存在
信息单元 |
请求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识授权请求事务 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
存在值列表 |
强制性的 |
被请求的存在值的列表 |
表5请求存在授权
信息单元 |
请求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识从IM服务器或IM客户机发起的授权请求事务 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
组ID |
可任选的 |
如果存在的授权涉及到组,则标识该组 |
存在值列表 |
强制性的 |
被请求的存在值的列表 |
表6授权存在
信息单元 |
请求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
被请求的客户机ID |
有条件的 |
在客户机特定的信息被请求的情形下,标识被请求的IM客户机 |
被请求的用户ID |
强制性的 |
标识被请求的IM用户 |
存在值列表 |
可任选的 |
被请求的存在值的列表。空值(或特殊的值)表示所有的存在值都是想要的。 |
表7预订存在
信息单元 |
请求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
被请求的用户ID |
强制性的 |
标识被请求的IM用户 |
表8解除预订存在
4.存在格式
除了以上揭示的和下面更详细地揭示的、用于获取存在信息的两个模型和用于即时消息传递的模型以外,本发明也包含允许将来扩展用于存在业务的存在值的措施。它提供最小集合的注册的存在属性和值以及未注册的存在值的正确的管理和表现的规定。
在当今的基于因特网的即时消息传递业务中,存在值是极其简单的,诸如用户是存在或不存在。这反映存在业务大多数限于台式PC机环境的事实。
今天的移动手机可被看作为比基于PC机的因特网环境准确得多地反映个人状态的个人工具。例如,确切的位置可以被直接获得,并且可以通过访问手机中的用户概况设置而容易地获得可用性状态(在开会中,在避暑别墅等等)。考虑到可以从用户和手机得到的大量信息,对该存在信息域发展的可能性进行预测是非常困难的。作为本发明的另一个方面,提供一种可扩展的机制,用于通过值的分类和分型而规定存在属性和值。
‘存在属性’标识一个存在变量。属性的例子例如是“心情”。存在数值标识属性的特定值。属性心情例如可以具有值“快乐”。
本发明提供存在属性的最小集合,并且它们的值被规定以便使得能够在该规定的最小集合内相互操作。然而,本发明提供各种实现,其不限于该属性的预定的组,而是可处理超出该最小集合的属性和值。这需要存在属性的分类和分型以及在诸如手机或PC机那样的终端设备中用于将这些值呈现给用户的通用方法。
按照本发明,存在属性定义(PAD)至少包括以下项目:
名称:存在属性的一致的标识;
组:存在属性属于的组的一致的标识;
说明:存在属性的语义的文本说明;
类别:存在属性的类别(下面更详细地解释);
类型:存在值的类型(文本,整数,浮点,枚举的,等等);
枚举:如果类型是枚举的,则带有说明的、可能的枚举值的列表。
存在属性的名称和组应当包含:
(1)注册实体的标识;以及
(2)在注册实体的范围内的一致的标识。
一个中央注册处被提供来管理一组PAD和和PAD组(PAG),它们形成用于厂商间相互操作目的的、所支持的PAD的最小集合。其他的注册实体可以是制造商和其他工业论坛。中央注册处管理注册实体的标识。
特定的存在的实现(例如,存在服务器或存在客户机)可被提供来支持一组PAD和PAG。根据厂商间的约定,为了确保互操作性,可能需要某些PAD和PAG。
如果IM实现支持被注册的PAD,则它可向用户表现该存在属性值,并且根据该PAD被注册的语义而内部地使用该值。例如,它可使用心情属性的值不快乐,以便在显示器上以不快乐的面部图标表现它。
如果IM实现不支持被注册的PAD,则它可根据值的类别和类型向用户表现该存在属性值,但它不能假设任何语义或者PAD。
为每个PAD选择一存在属性的类别。该类别可以被例如用在将值表现给用户的同时对该值排序,以及被用在存在服务器中的存在属性值的内部组织中。本发明至少提出以下的类别:
可达性(在网络覆盖、所附接的GPRS等等中)
可用性(对于IM可用的,在开会,繁忙中等等)
个人状态(心情等等)
联系信息(地址,电话号码等等)
位置(用户给定的位置,地理/网络位置)
客户机能力(图象能力,音频能力,等等)
未知的(未知的类别)
某些值是静态的,而某些值可以被动态更新。按照上述的内容,所以将会看到,存在格式的重要的方面是存在值可以被动态地创建。在这种情形下,格式本身和它向IM用户的呈现需要支持这一点。将被使用来表示这样的存在信息的最突出的技术之一是XML。采用XML的存在值格式的例子可以是如下:
<presvalue>
<operation>update</operation>
<name>profile</name>
<class>availability</class>
<scope>client</scope>
<format>text charset ISO-8859-1</format>
<value>silent</value>
<privacy>allowall</privacy>
<restrictedaddr>23456</restrictedaddr>
<allowedaddr>23456</allowedaddr>
<time>14112000165301</time>
</presvalue>
操作:创建,删除,更新
PAD类别被中央注册处注册。
5.具有有效性属性的存在值的通用空间-时间模型
目前,即时消息传递业务使用在存在服务器中现有的值,并且所有的更新都在它的外部被进行。需要一种通用空间-时间模型,该模型会允许存在服务器根据内部空间函数(例如,用户的位置可以由存在服务器根据最新已知的位置进行内插)和时间(例如,用户的可用性可以是时间的函数),进行值的更新
本发明允许规定存在值的空间时间模型,它把存在值标识为空间和时间的函数。空间域标识在该值与它的源之间的关系。另外,空间时间模型还用有效性属性来表征该存在值,该有效性属性也是空间与时间的函数。这个存在值的通用空间时间模型允许存在值被看作为存在服务器中的独立的实体,在存在服务器中,根据该值的源和时间而内部地或外部地更新和修改这些值。存在值的有效性可被存在服务器使用来相比于无效值而优化有效值的存储和高速缓存。本发明的这个方面允许存在服务器不仅仅用来自该源的值进行更新,而且允许将该值作为源值和时间与空间的函数而加以修改。此外,它允许管理有效的或无效的值和相关的存储最佳化。
存在值P(t,S)可被看作为空间(S)和时间(t)的二变量函数。同样地,存在值的有效性V(t,S)也可被看作为空间和时间的二变量函数。空间域规定该存在值与该值的源的关系。有效性可被看作为连续的概率值或看作为离散的值(例如,有效/无效)。
一个例子将具有在聊天室中“可用性”的空间时间定义的值。该值可被看作为时间和位置的函数。该值可以从日历(作为时间的函数)中获得,以及网络位置可被使用来指示可用性(在家中不可用,但在工作的地方可用)。
4.存在格式
存在内容可被分成以下类别:
可达性(在网络覆盖、所附接的GPRS等等中)
可用性(对于IM可用,在开会,繁忙中等等)
个人状态(心情等等)
位置(用户给定的位置,地理/网络位置)
客户机能力
某些值是静态的,以及某些值可以被动态更新。存在格式的重要的方面是存在值可以被动态地创建。在这种情形下,格式本身和它向IM用户的呈现需要支持这一点。被使用来表示这样的存在信息的最突出的技术之一是XML。具有XML的存在值格式的例子可以是如下:
<presvalue>
<operation>update</operation>
<name>profile</name>
<class>availability</class>
<scope>client</scope>
<format>text charset ISO-8859-1</fomat>
<value>silent</value>
<privacy>allowall</privacy>
<restrictedaddr>23456</restrictedaddr>
<allowedaddr>23456</allowedaddr>
<time>14112000165301</time>
</presvalue>
操作:创建,删除,更新
消息传递
1.使用好友列表进行消息传递
在图5A上呈现使用好友列表的即时消息传递(M=消息内容;G=组标识符)。在这个消息传递模型中,IM用户把一个或多个好友列表保持在服务器上。拥有好友列表的IM用户可通过IM服务器把消息140单独地发送到一个或多个接收者或发送给整个好友列表。被中继的消息142的接收者IM客户机不必要知道好友列表,以及不能通过它的应答来参考好友列表。
在好友列表中的用户的存在不是通过好友列表进行消息传递的主要部分;信息必须被分开地请求或被预订。
消息的发起者可任选地请求递送报告消息144,146。当消息到达接收者IM客户机时,此报告消息被IM服务器发送到发起者。
好友列表的管理是通过用户组管理而进行的,这将在标题订户与用户组功能下面的更详细的子标题用户组管理中被揭示。
图5B上显示IM客户机20的IM业务能力层12的消息传递部分的好友列表部分。它包括用于在线140上提供消息原语的装置150,该消息原语可包含在表10上详细地显示的信息单元,以及该消息原语可以在线154上被从客户机20的IM业务层10提供。在如图5A的被中继的消息142所示的、由服务器传递消息到预定的接收者后,服务器在线144上把递送原语提供回发送的客户机,该递送原语在装置156中被接收,装置156用于接收递送原语和在线158上把诸如表11上列出的信息单元提供到IM客户机20的IM业务层10。IM客户机也响应于来自其他客户机的消息,诸如在线142上的、被提供到装置160的消息原语,装置160用于接收消息原语和在线162上把诸如在表10上列出的信息单元提供到IM业务层10。
再次地,应当看到,图5B显示在单个客户机中消息140的发送,和由服务器中继的同一个消息的接收,尽管将涉及到两个实际的客户机,如图5A所示。在图5B上这样显示的原因是因为发送消息原语和接收消息原语的能力在大多数情形下应当在一个给定的设备中体现,以便完全以双向进行消息传递。所以,将会看到,在上述的情形下,在线140上的、由服务器从第一IM客户机中继的消息在线142上由另一个客户机接收。
图5C详细地显示在服务器的IM客户机技术层27a,因为它涉及到通过好友列表的消息传递。以上讨论的、在线140上的消息原语由装置164接收,装置164在线166上把表10的信息单元提供到IM服务器27的订户/互连管理层27b。在服务器把线142上的消息中继到接收者IM客户机后,它在线144上把如表11所示的递送原语的信息单元提供到装置170,装置170用于在线144上把递送原语提供到发送的客户机。同样地,服务器能够接收来自其他的客户机的消息,作为响应,在线172上把表10的信息单元提供到装置174,装置174用于提供消息原语到客户机,例如,如图5B的在线142上到客户机的消息原语所示的。
2.通过专用组的消息传递
在图6A上呈现通过专用用户组的即时消息传递。在这个消息传递模型中,IM用户在服务器上维护一个或多个专用用户组。IM用户可以通过使用邀请组消息180(见表12)邀请该组的一个或多个成员进行聊天会话。参照图6B,邀请组原语被显示为正被从装置181在线180上提供,装置181用于响应于正被从客户机20的IM业务层10在线181a上提供的、在表12中所示的信息单元而提供邀请组原语。这是由如表12所示的邀请用户列表信息单元提供的多用户邀请。组中的改变(新的用户加入和离开)被通过诸如表16上显示的、组信息消息表示给所有方。
所有的用户可以互相私下地发送按照表10的消息,或把该消息发送到用户组中的所有的接收者。
专用用户组的拥有者可以通过下面在另一节中要被揭示的组管理操作,而“踢出”,即,强制性地从聊天会话中去除用户。
表4的存在原语可以是业务的一个组成部分,这样,加入聊天会话的每个用户可以自动地接收其他用户的存在信息(通过自动预订),例如,如在线186上的存在原语所显示的。响应于在线180上的邀请组原语,如图6A所示,IM服务器在线188上把邀请用户原语提供到被邀请的IM客户机(以及其他IM客户机,如果可应用的话)。每个这样的被邀请的IM客户机将通过在线190上把包含如表15所示的信息单元的加入组原语返回到服务器来进行响应。该存在信息的授权是在加入会话时完成并且不分开地完成(见表15的最后的IE)。
这些用户中的每个可发送离开组消息,以便通过离开组原语消息192(见表17)和在线194上的相应的组已离开的确认(见表18)结束聊天会话。如果IM用户被迫离开组,则它只接收组已离开消息。
发起者可任选地请求传递报告(表11),该报告在消息到达接收者IM客户机时由IM服务器发送。如果消息被发送到多个接收者,则以与图5A所示的相同的方式独立地接收对于每个接收者的传递报告。
图6B显示通过客户机20的IM业务能力层12的专用用户组部分进行的即时消息传递。除了以上讨论的、提供邀请组原语的装置以外,也显示了用于提供图6A的其他原语的各种其他装置。在线188上的邀请用户原语被显示为正由装置200接收,装置200用于接收邀请用户原语和提供相应于表13所示的信息单元的、在线202上的信息单元,用于单个用户邀请。如果邀请被接受,则IM业务层在线204上把表15的信息单元提供到装置206,装置206用于在线190上把加入组原语提供到IM服务器。邀请信息原语被从IM服务器在线208上提供到装置210,装置210响应于这样的原语,而在线212上把表14所示的信息单元提供到客户机的IM业务层10。在线186上的存在原语可被提供到装置212,装置212在线214上把表4的信息单元提供到客户机的IM业务层。除了如前面在图6A上提到的、发送在线182上的消息以外,客户机也可接收在线162上的消息原语,如图6A和6B所示。如图6B所示,IM业务能力层12将具有装置218,装置218响应于在线220上的、表10中包含的信息单元,而提供在线182上的消息原语。同样地,装置222被提供来响应于在线216上的进入的消息原语,用于把在线224上的、表10所示的信息单元提供到客户机的IM业务层10。更新存在原语可以响应于诸如表2所示的和由IM业务层在线230上提供的信息单元,由装置228在线226上被自主地提供。在线192上的离开组原语可以响应于诸如表17所示的、由IM客户机20的IM业务层10在线234上提供的信息单元,而由装置232被提供。组已离开原语被提供到装置236,装置236用于把在线238上的、表18的信息单元提供到IM业务层10。最后,组改变原语可以由IM服务器在线240上提供到装置242,装置242用于在线244上把相应于表16的信息单元提供到IM业务层10。
图6B的各个原语,在图6C上被显示为在IM服务器27一侧。
图6C显示通过图1B的IM服务器27的IM客户机技术层27a的专用用户组部分的即时消息传递。图6B所示的所有的原语也显示于图6C。响应于在线180上的邀请组原语,装置250在线252上把表12的信息单元提供到服务器27处的订户/互连管理层27b。服务器又通过在线254上把表13的信息单元提供到装置256而邀请一个或多个用户,装置256用于在线188上提供邀请用户原语。一个或多个被邀请的用户在线190上把加入组原语提供回装置258,装置258用于接收这样的加入组原语和响应于此,在线260上把按照表15的、它们的信息单元提供到服务器27处的订户/互连管理层27b。在线208上的邀请信息原语响应于由服务器27处的订户/互连管理层27b在线264上提供的、表14中包含的信息单元,由装置262被提供。这包含由被邀请的用户给邀请的IM客户机的接受或拒绝的指示。正如结合图6A和6B提到的,根据加入的用户按照如表15上列出的加入组原语中的最后信息单元而想要授权给该组的存在值,在线186上的存在原语可以由该加入的用户提供。在线186上的这个存在原语可以由装置266提供,该装置266用于响应于在线268上提供的如在表4上列出以及如由服务器27处的订户/互连管理层27b提供的信息单元而从该服务器提供存在原语。然后可以发生从邀请的IM客户机到IM服务器的消息传递,例如,由在图6A的线182上的消息原语所显示的。这是在服务器中由装置270接收的,装置270用于接收这样的消息原语,以及在线272上把表10的信息单元提供到服务器27处的订户/互连管理层27b。然后,服务器把这个消息中继到作为被邀请的用户的IM客户机,在图6A中被显示为如由装置274提供的、在线216上的消息原语,该装置274用于响应于从服务器27处的订户/互连管理层27b在线276上提供的、具有表10上显示的信息单元内容的信息单元而提供这样的消息原语。同样地,图6A的被邀请的IM客户机可以在线184上把消息发送到IM服务器。这个消息原语被提供到用于接收这样的消息原语的装置270,然后,按照表10的信息单元在线272上被提供到服务器27处的订户/互连管理层27b,以及在线276上被中继回用于提供这样的消息原语的装置274,因此在线278上中继到邀请客户机。
关于由IM客户机进行的存在的更新,这样的原语在线226上被显示为由装置280接收,装置280用于接收更新存在原语和把如表2列出的信息单元在线282上提供到服务器27处的订户/互连管理层27b。这个被更新的存在然后可供专用用户组的成员使用。
在线192上的离开组原语被提供到装置284,装置284用于接收离开组原语以及在线186上把在表17上列出的信息单元提供到服务器27处的订户/互连管理层27b。在线194上的组已离开原语然后响应于从服务器27处的订户/互连管理层27b按照表18、在线290上提供的信息单元,由装置288被提供。最后,服务器27处的订户/互连管理层27b可以在线292上把表16的信息单元提供到装置294,装置294用于提供如图6B和6A所示的、在线240上的组改变原语,以提供最近加入的/离开的IM用户的列表。
3.通过公共用户组的消息传递
在图7A,7B和7C上给出通过公共用户组的消息传递。在公共的和专用的用户组之间的基本差别在于,IM业务提供者管理该用户组,以及所有的IM用户加入到该组,而不邀请其他的IM用户到该组。公共用户组常常在某个特定的话题下(聊天室)被创建。
公共用户组的消息传递和存在部分类似于专用用户组那样运行。
IM业务提供者可以对于各种讨论话题维护一组不同的用户组。
另外,由于在考虑到以上讨论的专用用户组的情况下图7A,7B和7C本身的属性显而易见,所以对于图7A,7B和7C的详细的说明被省略,以及将会看到,通过公共用户组和专用用户组的消息传递之间的主要差别在于,不存在邀请用户、邀请组、和邀请信息原语,这是因为公共用户组由IM业务提供者创建和管理。
4.原语和信息单元
原语 |
方向 |
消息 |
IM客户机IM服务器 |
传递 |
IM服务器→IM客户机 |
邀请组 |
IM客户机IM服务器 |
加入组 |
IM客户机→IM服务器 |
离开组 |
IM客户机→IM服务器 |
组已离开 |
IM服务器→IM客户机 |
表9用于通过用户组的消息传递的原语
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
自己的客户机ID |
强制性的 |
发送的IM客户机的标识 |
自己的用户ID |
强制性的 |
发送的IM用户的订户标识 |
请求的客户机ID |
有条件的 |
接收者IM客户机的标识,如果消息只瞄准单个IM客户机的话。 |
请求的用户ID |
有条件的 |
接收者IM用户的订户标识,如果请求单独的消息传递的话。 |
组ID |
有条件的 |
标识该组,如果消息传递是通过好友列表被请求的话。 |
加入ID |
有条件的 |
加入会话的动态标识。如果消息传递是通过公共或专用用户组被请求,则存在。 |
内容类型 |
强制性的 |
即时消息传递的内容类型 |
内容 |
可任选的 |
即时消息传递的内容 |
表10消息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
请求的用户ID |
强制性的 |
接收者IM用户的订户标识,如果请求单独的消息传递的话。 |
消息ID |
强制性的 |
标识该报告涉及到的消息。 |
组ID |
可任选的 |
如果消息传递是通过组请求的,则标识该组 |
递送状态 |
强制性的 |
标识递送的状态 |
表11递送
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
邀请事务的标识 |
自己的客户机ID |
强制性的 |
邀请的IM客户机的标识 |
自己的用户ID |
强制性的 |
邀请的IM用户的订户标识 |
邀请用户列表 |
强制性的 |
被邀请到该组的IM用户的列表 |
组ID |
强制性的 |
IM用户被邀请到的组的标识 |
表12邀请组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
邀请事务的标识 |
自己的客户机ID |
强制性的 |
邀请的IM客户机的标识 |
自己的用户ID |
强制性的 |
邀请的IM用户的订户标识 |
请求的客户机ID |
强制性的 |
被邀请的IM客户机的标识 |
请求的用户ID |
强制性的 |
被邀请的IM用户的标识 |
组ID |
强制性的 |
IM用户被邀请到的组的标识 |
表13邀请用户
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
自己的客户机ID |
强制性的 |
邀请的IM客户机的标识 |
自己的用户ID |
强制性的 |
邀请的IM用户的标识 |
请求的客户机ID |
强制性的 |
被邀请的IM用户的标识 |
邀请用户列表 |
强制性的 |
被邀请到该组的IM用户的列表 |
组ID |
强制性的 |
IM用户被邀请到的组的标识 |
加入-接受 |
强制性的 |
表示IM用户是否批准该邀请 |
拒绝-原因 |
可任选的 |
表示不可能加入的原因的文本评注 |
表14邀请信息
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
邀请事务的标识 |
组ID |
强制性的 |
标识IM用户被邀请到的组 |
加入-接受 |
强制性的 |
表示IM用户是否批准该邀请 |
拒绝-原因 |
可任选的 |
表示不可能加入的原因的文本评注 |
加入性质 |
强制性的 |
组的性质,诸如呢称,受阻塞的IM用户 |
存在值列表 |
可任选的 |
IM用户想要授权给该组的存在值。 |
表15加入组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识邀请或修改加入事务 |
组ID |
强制性的 |
标识IM组 |
加入的用户列表 |
可任选的 |
最近加入的IM用户的列表。 |
已离开的用户列表 |
可任选的 |
最近离开的IM用户的列表。 |
表16组改变
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识离开事务 |
自己的客户机ID |
强制性的 |
IM客户机的自己的标识 |
自己的用户ID |
强制性的 |
IM用户的自己的标识 |
组ID |
强制性的 |
正在离开的组的标识 |
加入ID |
强制性的 |
加入会话的动态标识 |
表17离开组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
可任选的 |
标识可能的离开事务 |
自己的客户机ID |
强制性的 |
从该组离开的客户机标识 |
自己的用户ID |
强制性的 |
从该组离开的用户标识 |
组ID |
强制性的 |
正在离开的组 |
加入ID |
强制性的 |
终结的加入会话的动态标识 |
离开原因 |
强制性的 |
离开该组的原因(自己的请求,被踢除等)。 |
表18组已离开
订户和用户组功能
1.IM用户概况的管理
来自客户机一侧的IM用户概况的规定或管理不在本发明的范围内。WAP浏览或任何其他可应用的浏览技术(诸如HTML)是相当有效的和可接受的方法。
2.用户组的管理
IM用户可以管理IM服务器中的用户组和好友列表。
专用用户组或好友列表是通过使用如图8A所示的创建组消息400被建立的。该消息包含有关该组的被请求的性质以及属于该组的初始的IM用户的信息(见表20上列出的信息单元)。IM服务器将以组信息消息402应答,表示该组的被接受的性质(见表21)。
IM用户可通过取得组信息消息404来请求组或好友列表信息(见表22)。组信息请求可限于组或好友列表的拥有者。作为响应,组信息原语由IM服务器在线406上提供(见表21)。
拥有用户组或好友列表的IM用户可通过使用在线408上的修改组原语(见表23)而改变它的性质,把新的IM用户加入组中或从组中删除等等。返回的组信息消息410确认该请求(见表21)。
专用组或好友列表的拥有者可以发送删除组消息412,以永久地去除用户组或好友列表(见表24)。
最后,修改加入原语可以由IM客户机在线414上提供(见表25)。
现在参照图8B,在图8A的线400上的创建组原语,在图8B上也被显示为由装置420提供,装置420用于响应于由IM客户机20处的IM业务层12的用户组管理部分在线422上提供的、按照表20的信息单元而提供创建组原语。类似地,在图8A的线402上的组信息原语,在图8B上也被显示为由装置424提供,装置424用于接收组信息原语以及响应于此,把按照表21的信息单元提供到IM业务层12。
在线404上的取得组信息原语由装置428提供,装置428用于响应于来自IM业务层12在线430上的、按照表22的信息单元而提供取得组信息原语。
在图8A的线408上的修改组原语,在图8B上也被显示为由装置432提供,装置432用于响应于来自IM客户机20的IM业务层12的用户组管理部分在线434上的、按照表23的信息单元而提供修改组原语。这个层也在线436上把按照表24的信息单元提供到装置438,装置438用于在线412上提供删除组原语。类似地,IM客户机20的IM业务层12的用户组管理部分在线440上把按照表25的信息单元提供到装置442,装置442用于在线414上提供修改加入原语。
现在参照图8C,如图8A所示的、由IM客户机提供的创建组原语,由IM服务器在IM客户机技术层27a的装置450接收,装置450用于在线452上把按照表20的信息单元提供到图1B上IM服务器27的订户/互连管理层27b。这个层在线454上把按照表21的信息单元提供到装置456,装置456用于通过在线402上组信息原语报告组信息。
在线404上的取得组信息原语被提供到装置458,装置458用于接收对于组信息的请求以及在线460上把按照表22的信息单元提供到IM服务器27的订户/互连管理层27b。
也在IM服务器27的IM客户机技术层27a提供装置462,用于接收在线408上的修改组原语,以便提供按照表23的、在线464上的信息单元。在线412上的删除组原语被提供到装置466,装置466接收用于删除一个组的请求,以及响应于此,在线468上把按照表24的信息单元提供到服务器27的订户/互连管理层27b。
最后,装置470响应于在线414上的、包括加入一个组的邀请的修改加入原语,而用于在线472上把按照表23的信息单元提供到服务器27的订户/互连管理层27b。
公共用户组的管理不在本发明的范围内。
3.搜索用户组
IM用户可根据各种信息(诸如组的主题,组的IM用户等等),通过使用如图9A所示的、在线500上的搜索组原语(I=错误信息)(见表26)来搜索用户组。该搜索主要限于公共用户组。IM服务器用线502上的组信息消息作为应答,表示与搜索准则相匹配的组(见表21)。
IM用户也可通过使用在线504上的搜索用户原语(见表27)来搜索包含具有某些存在能力的IM用户的组。在这种情形下,IM服务器用线506上的组信息消息作为应答,表示与搜索准则相匹配的组。IM用户也可通过使用在线508上的搜索用户原语直接搜索具有某些存在能力的IM用户,即使他们没有加入到任何组。在这种情形下,IM服务器用与搜索准则相匹配的、IM用户的存在信息应答,如由IM服务器作出的、在线510上把存在原语返回到IM客户机所显示的。
IM用户可以为了隐私的原因,限制它的存在和组信息不在搜索请求中被使用。
现在参照图9B,IM客户机20的IM业务能力层被部分地显示为用于结合图1B的IM业务层10执行图9A的搜索功能。这个IM业务层10可以在线512上把按照表26的信息单元提供到装置514,装置514用于在线500上提供搜索组原语。在图9A的线502上或线506上的组信息原语被从IM服务器提供到装置516,装置516用于接收组信息原语以及在线518上把按照表21的信息单元提供到客户机20的IM业务层10。IM业务层10也可在线520上把相应于表27上的信息单元的信息单元提供到装置522,装置522用于在线504上或在线508上提供搜索用户原语。图9A的线512上的存在原语被提供到装置524,装置524用于在线526上把相应于表4上的信息单元的信息单元提供到IM业务层10。
现在参照图9C,在线500上的搜索用户原语被提供到装置526,装置526用于接收搜索用户原语以及在线528上把相应于表26上的信息单元的信息单元提供到IM服务器27的订户/互连管理层27b。这个层27b在线530上把相应于表21上的信息单元的信息单元提供到装置532,装置532用于在线502上或在线506上提供组信息原语。
正如结合图9A提到的,搜索用户原语可以在线504上或在线508上提供到装置534,装置534用于接收搜索用户原语以及在线536上把按照表26的信息单元提供到服务器27的订户/互连管理层27b。作为响应,这个层27b把如前所述的组信息原语或如表4所示和如在线538上提供的存在信息单元提供到装置540,装置540用于在线510上提供存在原语。
原语 |
方向 |
创建组 |
IM客户机→IM服务器 |
取得组信息 |
IM客户机→IM服务器 |
组信息 |
IM服务器→IM客户机 |
修改组 |
IM客户机→IM服务器 |
修改加入 |
IM客户机→IM服务器 |
删除组 |
IM客户机→IM服务器 |
搜索组 |
IM客户机→IM服务器 |
搜索用户 |
IM客户机→IM服务器 |
表19用于用户组管理的原语
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
建立组事务的事务标识符 |
自己的客户机ID |
强制性的 |
IM客户机的标识 |
自己的用户ID |
强制性的 |
组的创建者的标识 |
组性质 |
可任选的 |
组的被请求的性质 |
全部用户列表 |
可任选的 |
作为组的成员的初始的IM用户的列表 |
表20创建组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识邀请或取得信息事务 |
组ID |
强制性的 |
标识IM组 |
组性质 |
可任选的 |
组性质列表 |
加入的用户列表 |
可任选的 |
全部加入的IM用户的列表 |
全部用户列表 |
可任选的 |
作为组的成员的初始的IM用户的列表 |
表21组信息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
取得信息事务的事务标识符 |
自己的客户机ID |
强制性的 |
请求的IM客户机的标识 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
组ID |
强制性的 |
组的标识符 |
表22取得组信息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
修改组事务的事务标识符 |
自己的客户机ID |
强制性的 |
请求的IM客户机的标识 |
自己的用户ID |
强制性的 |
请求的IM用户的订户标识 |
组ID |
强制性的 |
组的标识 |
组性质 |
可任选的 |
组的被请求的性质 |
新用户列表 |
可任选的 |
要被加到用户组的IM用户的列表 |
删除用户列表 |
可任选的 |
被从用户组删除的IM用户的列表 |
表23修改组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
删除组事务的事务标识符 |
自己的客户机ID |
强制性的 |
请求的IM客户机的标识 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
组ID |
强制性的 |
要被删除的组的标识 |
表24删除组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
修改事务的标识 |
自己的客户机ID |
强制性的 |
IM客户机的标识 |
自己的用户ID |
强制性的 |
IM用户的标识 |
组ID |
强制性的 |
标识用户组 |
加入ID |
强制性的 |
加入会话的动态标识 |
加入性质 |
强制性的 |
组的性质,诸如呢称,被阻塞的IM用户。 |
表25修改加入
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识搜索事务 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
组性质 |
强制性的 |
按照组性质搜索准则 |
表26搜索组
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识搜索事务 |
自己的客户机ID |
强制性的 |
请求的IM客户机的标识 |
自己的用户ID |
强制性的 |
请求的IM用户的标识 |
搜索用户列表 |
强制性的 |
要被搜索的IM用户的列表 |
表27搜索用户
共享内容管理
如图10A所示,IM用户能够通过在线550上在存储内容消息原语内发送内容而把任意内容存储到IM服务器。内容存储是在用户组的范围内进行的。IM服务器在线552上把内容信息消息(U=标题信息)发送到该组的所有IM用户以表示新的存储的内容,或只是发送到该发送者(状态)来表示内容不能被存储。IM用户可规定对该内容的有限的访问权。
在服务器中处理共享内容的另一个方法是新内容的内容信息并不每次都发送,而是IM用户可通过在线560上的取得内容信息消息来请求所有被存储的内容的信息。
对现有内容的存储请求将用新的内容信息消息代替现有的内容。
根据规定的访问权,IM用户可以在线562上发送用于检索内容的取得内容消息,以及在线564上发送用于永久去除该内容的删除内容消息。响应于在线562上的取得内容原语,如果适当的话,IM服务器在线565上的接收内容原语中提供该内容。
现在参照图10B,图1B的IM客户机20的IM业务能力层12的用户组管理部分12e的共享内容管理部分被显示为与用于和IM会话层14相接口的IM业务层10相结合,以及由此经过IM传输层16通过连接29到图1B的IM服务器27。图10A的存储内容原语550,在图10B上被显示为由装置600提供,装置600响应于来自IM业务层10在线602上提供的、按照表29的信息单元,而提供该原语。IM业务能力层12e的用户组管理部分的内容管理部分也具有装置604,装置604响应于在线552上的内容信息原语,而在线606上把按照表31的信息单元提供到IM业务层10。客户机也能够通过IM业务层10把相应于在表33上列出的信息单元的、在线608上的信息单元提供到装置610,装置610用于提供在线560上的取得内容信息原语。在线565上的接收内容原语被提供到装置612,装置612用于接收该原语,以及在线614上提供相应于在表30上列出的信息单元的信息单元。这将不只是响应于被从装置616在线562上提供的取得内容原语而被接收的,所述装置616进而又在线618上接收相应于表32上列出的信息单元的、来自IM业务层的信息单元。
最后,客户机能够通过装置620凭借在线564上的原语删除内容,装置620响应于相应于在表32上列出的信息单元的、在线622上提供的信息单元而提供该原语。
现在转到图10C,与内容管理有关的、在IM服务器27的IM技术层27a的一部分被结合订户/互连管理层27b加以显示,订户/互连管理层27b通过在图10A和10B所示的原语与用于和IM服务器27的较低层相接口。
装置650被显示为响应于在线550上的存储内容原语而接收存储内容原语,以及在线652上把相应于表29上列出的信息单元的信息单元提供到订户/互连管理层27b。
装置654被包括以便响应于在线560上的取得内容信息原语,而接收取得内容信息原语以及在线656上提供表示表33上列出的信息单元的信息单元。作为响应,在服务器27的订户/互连管理层27b可以在线658上把相应于表31上列出的信息单元的信息单元提供到装置660,装置660用于在线552上提供内容信息原语。
在线562上提供的取得内容原语被提供到装置662,装置662用于接收取得内容原语以及把相应于在表32上列出的信息单元的、在线664上的信息单元提供到订户/互连管理层27b。然后,内容以在表30上列出的信息单元的形式(如果适当的话)在线666上提供到装置668,装置668用于提供在线565上的接收内容原语。
最后,在线564上删除内容原语被提供到装置670,装置670用于接收删除内容原语以及在线672上把诸如在表34上列出的信息单元提供到服务器27的订户/互连管理层27b,后者然后采取适当的步骤删除由表34的最后一项表示的内容。
用于共享内容管理的原语和信息单元
原语 |
方向 |
存储内容 |
IM客户机→IM服务器 |
内容信息 |
IM服务器→IM客户机 |
取得内容 |
IM客户机→IM服务器 |
接收内容 |
IM服务器→IM客户机 |
取得内容信息 |
IM客户机→IM服务器 |
删除内容 |
IM客户机→IM服务器 |
表28共享内容管理原语
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识存储事务 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
组ID |
强制性的 |
组的标识 |
内容性质 |
强制性的 |
标识内容的性质,诸如标题,共享等等 |
内容标题 |
强制性的 |
内容的标题 |
内容类型 |
强制性的 |
所存储的内容的类型 |
内容 |
可任选的 |
所存储的内容 |
表29存储内容
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识检索事务 |
组ID |
强制性的 |
组的标识 |
内容ID |
强制性的 |
标识内容 |
内容标题 |
强制性的 |
标识内容性质的内容标题 |
内容类型 |
强制性的 |
所存储的内容的类型 |
内容 |
强制性的 |
所存储的内容 |
表30接收内容
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识存储或取得内容信息事务 |
内容标题列表 |
强制性的 |
内容标题的列表 |
内容状态 |
可任选的 |
存储或删除操作的状态 |
表31内容信息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识检索事务 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
内容ID |
强制性的 |
被请求的内容的标识符 |
表32取得内容
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识内容信息事务 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
组ID |
强制性的 |
标识用户组 |
表33取得内容信息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识删除事务 |
自己的客户机ID |
强制性的 |
标识请求的IM客户机 |
自己的用户ID |
强制性的 |
标识请求的IM用户 |
组ID |
强制性的 |
标识组 |
内容ID |
强制性的 |
标识要被删除的内容 |
表34删除内容
异常管理
1.IM应用异常管理
通常,有两种机制用于异常处理:事务可以具有它自己的错误处理,或者它可以依赖于通用机制。因为向后兼容性的原因,在事务中的自己的错误处理常常用通用错误处理代替。这节描述通用错误处理机制,如图11A给出的。
事务由在从客户机到服务器的线700上的或在从服务器到客户机的线702上的、请求原语(“请求”)中的事务标识符(T)标识。IM服务器或客户机用在线704或706上的状态消息进行应答,表示事务的成功或失败,以及进一步阐明信息。
即使事务规定它自己的错误处理,请求的IM客户机或IM服务器也必须改为准备好接收该状态消息。照这样,被请求的实体可以告知,它不能够处理该事务。
图11B显示在图1B的IM客户机20的IM业务能力层12的异常处理。它对于其任何子部分并不是特别的,因为状态消息通常在整个IM业务能力层中使用,正如以上在各种消息流程图上详细地显示的。响应于在线702上进入的原语(“请求”),用于响应由服务器作出的这样的请求的装置710在线712上把相应于此的信息单元提供到装置714,装置714用于确定在执行该请求中的成功或失败。成功由线716上的信号向装置720指示,而失败由线718上的信号向装置720指示,装置720用于提供在线706上的状态原语。这个原语具有诸如表36所示的信息单元,以及包括诸如表37上所示的状态代码。
同样地,在如图11C所示的服务器一侧上,诸如从IM客户机在线700上所提供的请求被提供到装置730,装置730用于在服务器处通过线732上的信号响应由客户机作出的这样的请求。装置734确定在执行请求中的成功或失败,以及在线736上将成功,或者在线738上将失败指示给装置740,装置740用于提供在线704上的状态原语,具有诸如表35所示的信息单元的结构,状态代码的说明诸如表37所示。
2.原语和信息单元
原语 |
方向 |
状态 |
IM客户机→IM服务器 |
状态 |
IM服务器→IM客户机 |
表35在通用错误处理中的消息
信息单元 |
要求 |
说明 |
消息类型 |
强制性的 |
消息标识符 |
版本 |
强制性的 |
IM规范的版本 |
事务ID |
强制性的 |
标识被请求的事务 |
状态 |
强制性的 |
状态值 |
消息ID |
条件性的 |
标识要被递送的消息,如果是消息递送事务 |
组ID |
条件性的 |
如果在事务中涉及到用户组,则标识该用户组 |
加入ID |
条件性的 |
加入会话的动态标识。如果加入是成功的,则存在。 |
表36状态
类别 |
代码 |
说明 |
无 |
0k |
消息标识符 |
业务供应 |
无预订 |
|
无信用 |
|
消息内容 |
无效域 |
|
网络 |
请求不被支持 |
|
授权 |
某些存在值被拒绝 |
|
所有的存在值被拒绝 |
|
表37状态代码的说明
信息单元的定义
信息单元 |
定义 |
全部用户列表 |
用户列表包含列表或零个或多个IM用户标识。对于进一步的信息,参阅自己的用户ID。 |
授权状态 |
授权状态包含表示授权请求的状态的枚举值。值是:不支持,成功,失败 |
内容 |
内容可以是任何MIME内容,诸如文本/明文。 |
内容标题 |
内容标题包含以下信息:内容的拥有者用户ID,内容类型,描述内容的文本标题,内容的尺寸和共享信息 |
内容标题列表 |
在IM用户组内的内容标题的列表。对于进一步的信息,参阅内容标题。 |
内容ID |
内容ID是基于RFC2557格式的、内容的文本标识。 |
内容状态 |
内容存储或删除请求的状态。值是:不支持,成功,失败。 |
内容类型 |
所存储的内容的MIME类型 |
删除用户列表 |
要被删除的IM用户的列表。对于进一步的信息,参阅自己的用户ID。 |
传递状态 |
表示消息的传递状态:被传递,到期,被拒绝,失败等等。 |
组ID |
IM用户组的标识。该标识是基于E.164编号方案或针对电子邮件地址。 |
组性质 |
组的性质:好友列表,专用的或公共的,组的拥有者,公开的或封闭的用户组,诸如内容存储这样的可用特征,IM用户的最大数目。 |
邀请用户列表 |
通过专用用户组被邀请到聊天会话的IM用户的列表 |
加入接受 |
关于用户是否接受加入到用户组的状态值 |
加入ID |
至专用或公共用户组的加入会话的动态标识 |
加入的用户列表 |
加入的用户的列表。对于进一步的信息,参 |
|
阅自己的用户ID。 |
加入性质 |
加入组的用户的性质:在组中的状态(活动的,静默的,等),被阻塞的IM用户,在组中被使用的可能的浑名等。 |
离开原因 |
从用户组离开的原因:由用户请求,被踢出等等。 |
离开的用户列表 |
离开的用户的列表。对于进一步的信息,参阅自己的用户ID。 |
消息类型 |
标识版本的消息的类型。 |
新用户列表 |
新的IM用户的列表。对于进一步的信息,参阅自己的用户ID。 |
自己的客户机ID |
自己的客户机ID标识请求操作的IM客户机。 |
自己的用户ID |
自己的用户ID标识请求操作的IM用户。ID由移动号码(E.164编号方案)或电子邮件地址(RFC-822)表示。另外,当IM用户被包括到一个组时,自己的用户ID可以是指在组[ml]中存储的地址的浑名。 |
存在值列表 |
存在值的列表,正如以上在存在一节中描述的。 |
拒绝原因 |
聊天邀请被拒绝的原因的文本说明 |
被请求的用户ID |
被请求的用户ID标识作为被请求的操作的目的地的IM用户。ID由移动号码(E.164编号方案)或电子邮件地址(RFC-822)表示。另外,当IM用户被包括到一个组时,被请求的用户ID可以是指在组中的存储的地址的浑名。 |
搜索用户列表 |
要被搜索的IM用户ID的列表。对于进一步的信息,参阅自己的用户ID。 |
状态 |
在一般的事务中的状态值。值被划分成几个类别和子代码,其中状态:事务成功,事务失败 |
|
类别:无,业务供应,消息内容,网络有关的,要呈现给最终用户的授权附加信息。 |
版本 |
IM规范的版本,以<major>.<minor>版本式样表示。 |
虽然在具体实施例的环境中进行了描述,但本领域技术人员将会看到,可以对这些教导进行多个修改。因此,虽然本发明是相对于本发明的一个或多个优选实施例具体地显示和描述的,但是本领域技术人员将会看到,可以在形式和形态上作出某些修改或改变,而不背离如上所述的、和此后请求保护的本发明的范围。