一种呈现信息的发布方法、设备及系统的制作方法

文档序号:7956999阅读:188来源:国知局
专利名称:一种呈现信息的发布方法、设备及系统的制作方法
技术领域
本发明属于通信领域,尤其涉及一种呈现信息的发布方法,呈现服务器及呈现信息的发布系统。
背景技术
开放移动联盟(Open Mobile Alliance,OMA)定义了呈现业务,用于收集、处理和分发用户或其他实体的呈现信息,包括用户是否在线、用户当前的位置以及用户的心情等。
呈现系统可分为呈现体、呈现服务器以及观察者三个元素。呈现体将其呈现信息发布到呈现服务器。呈现服务器接收呈现体发布的呈现信息,处理呈现信息,接收观察者的订阅请求并将包含呈现信息的通知消息发送给观察者。观察者向呈现服务器订阅呈现体的呈现信息,接收呈现服务器发送的通知消息。
目前,呈现体发布呈现信息一般是通过(Session Initiation Protocol,会话初始协议)SIP PUBLISH方式进行的,使用SIP PUBLISH有一定局限性且不能满足呈现信息的设置需要。最主要的问题是SIP PUBLISH创建的状态在一定时间后失效,必须进行刷新操作,呈现信息状态的持续依赖活动设备的刷新,不适合持久有效呈现信息的发布,例如以下两种情形1.设置用户的相关信息。当没有活动设备可以进行发布时,用户常希望设置其一段持续时间的呈现状态,例如旅行、假期等。
2.为一个开通的服务设置状态,即便用户当时没有正在运行的在线设备。例如E-mail、多媒体短信业务(Multimedia Message Service,MMS)或短消息业务(Short Message Service,SMS)。

发明内容
本发明的目的在于提供一种呈现信息的发布方法,旨在解决现有技术中存在的采用SIP PUBLISH发布呈现信息时,创建的状态在一定时间后失效,不适合发布持久有效呈现信息的问题。
本发明的另一目的在于提供一种与上述方法相应的呈现服务器。
本发明的另一目的在于提供一种与上述方法相应的呈现信息的发布系统。
本发明是这样实现的,一种呈现信息的发布方法,所述方法包括下述步骤1.1接收同一呈现体通过XCAP消息发布的第一呈现信息和通过SIP消息发布的第二呈现信息,所述第二呈现信息设置有有效期;1.2将所述第一呈现信息和第二呈现信息合成为呈现文档。
所述接收同一呈现体通过XCAP消息发布的第一呈现信息的步骤包括下述步骤2.1订阅呈现体的呈现文档变化信息;2.2接收订阅通知消息,提取消息体中包含的呈现体的呈现文档变化信息,所述呈现文档变化信息包括呈现体发布的呈现信息、修改的呈现信息或者删除的呈现信息。
在呈现文档的合成过程中,当标识为第一呈现信息的呈现信息片断的呈现信息值与标识为第二呈现信息的呈现信息片断的呈现信息值冲突时,选择标识为第二呈现信息的呈现信息片断的呈现信息值。
所述步骤1.2进一步包括下述步骤3.1记录呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息;3.2根据所述对应关系信息更新呈现文档。
所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点为对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
所述位置标识通过XPath表达式标识。
所述独立点的位置标识通过相对合成点的XPath表达式标识。
在对呈现文档进行更新时,如果呈现信息片断被修改,且只修改了独立点对应的呈现信息片断,则相应修改独立点对应的呈现文档中相应的呈现信息片断,否则将下列两个呈现信息片断合成后的结果替换合成点对应的呈现信息片断a.合成点对应的呈现信息片断中除所述独立点对应的呈现信息片断外的呈现信息片断,以及b.所述修改后的呈现信息片断。
所述步骤1.2进一步包括下述步骤9.1分别标识存储接收到的第一呈现信息和第二呈现信息。
所述分别标识存储为将第一呈现信息和第二呈现信息分别存储在不同的记录表内,或者将所述第一呈现信息和第二呈现信息通过来源标识字段标识存储在同一记录表内。
所述方法进一步包括在向观察者分发呈现文档时,如果呈现文档中的呈现信息片断既有第二呈现信息对应的呈现信息值,又存在第一呈现信息对应的呈现信息值时,则选择第二呈现信息对应的呈现信息值分发给观察者。
一种呈现服务器,所述呈现服务器包括呈现信息接收模块,用于接收同一呈现体通过XCAP消息发布的第一呈现信息和通过SIP消息发布的第二呈现信息,所述第二呈现信息设置有有效期;事件状态合成模块,用于将所述第一呈现信息和第二呈现信息合成为呈现文档;以及呈现信息数据库,用于存储接收到的第一、第二呈现信息、呈现文档以及呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息。
所述呈现服务器进一步包括
XCAP服务模块,用于接收呈现体发送的XCAP消息,提取消息中的呈现信息,并将所述呈现信息发送给呈现信息接收模块。
所述呈现服务器进一步包括呈现信息查询模块,用于接收客户端发送的呈现信息查询消息,将消息中的查询条件发送给XCAP服务模块,接收XCAP服务模块的查询结果,并将查询结果返回客户端。
所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
所述位置标识通过XPath表达式标识。
所述独立点的位置标识通过相对合成点的XPath表达式标识。
一种呈现信息的发布系统,所述系统包括XCAP服务器,用于接收呈现体通过XCAP消息发布的的第一呈现信息;以及呈现服务器,用于接收XCAP服务器发送的第一呈现信息,以及呈现体通过SIP消息发布的第二呈现信息,将第一呈现信息和第二呈现信息合成为呈现文档,所述第二呈现信息设置有有效期。
所述呈现服务器包括呈现信息接收模块,用于接收所述第一呈现信息和第二呈现信息;事件状态合成模块,用于将所述第一呈现信息和第二呈现信息合成为呈现文档;以及呈现信息数据库,用于存储接收到的第一、第二呈现信息、呈现文档以及呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息。
所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
所述位置标识通过XPath表达式标识。
所述独立点的位置标识通过相对合成点的XPath表达式标识。
通过本发明,呈现体可以通过XCAP消息发布呈现信息,使得呈现信息可以不依赖于设备刷新而持久有效。同时,可以将呈现体通过SIP消息和XCAP消息发布的呈现信息合成为一个呈现文档分发给观察者。


图1是本发明第一实施例中提供的呈现信息发布系统的结构图;图2是本发明中XCAP客户端向XCAP服务器发布呈现信息的信令流程图;图3是本发明中呈现服务器向XCAP服务器订阅呈现文档变化信息的信令流程图;图4是本发明中XCAP服务器向呈现服务器通知呈现信息变化的信令流程图;图5是本发明中呈现信息片断合成的实现流程图;图6是本发明中发布呈现信息的示例流程图;图7是本发明第二实施例中提供的呈现信息发布系统的结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中,同一呈现体可以通过XCAP(The Extensible Markup Language(XML)Configuration Access Protocol,XML配置访问协议)和SIP消息分别发布持久呈现信息和一般呈现信息,呈现服务器将呈现体发布的持久呈现信息和一般呈现信息合成为呈现文档,分发给观察者。
XCAP协议基于超文本传输协议(Hypertext Transfer Protocol,HTTP),提供了对可扩展标记语言(Extensible Markup Language,XML)文件的操作的额外支持。XCAP将XML文档树、元素和属性映射成HTTP通用资源标识符(Uniform Resource Identifier,URI),通过HTTP来访问文档。有关XCAP的更多内容请参见“The Extensible Markup Language(XML)Configuration AccessProtocol”,J.Rosenberg,April 22,2005,Internet-Draft,本发明在此引用,不再赘述。
图1示出了本发明第一实施例中提供的呈现信息发布系统的结构,呈现体一方面通过SIP客户端100,使用SIP协议与呈现服务器400通信,发布一般呈现信息,另一方面通过XCAP客户端200,使用XCAP协议与XCAP服务器300通信,发布持久呈现信息。SIP客户端100和XCAP客户端200可以是独立的客户端装置,例如个人电脑(Pesernal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA),也可以是一个客户端装置中两个功能独立的软件模块。XCAP服务器300为呈现体维护一个呈现文档,其中包含呈现体通过XCAP消息发布的持久呈现信息。
XCAP客户端200使用XCAP协议与XCAP服务器300通信,为呈现体发布呈现信息。当呈现体初始发布呈现信息时,XCAP客户端200向XCAP服务器300发送XCAP PUT消息,消息体中包含所要发布的呈现信息。以后每次修改呈现信息时,XCAP客户端200向XCAP服务器300发送XCAP PUT消息,消息体中包含要修改的呈现信息。当删除呈现信息时,XCAP客户端200向XCAP服务器300发送XCAP DELETE消息,请求删除消息中指定的呈现信息。
图2示出了XCAP客户端向XCAP服务器发布呈现信息的信令流程,详述如下1.XCAP客户端向XCAP服务器发送XCAP消息(XCAP PUT或者XCAPDELETE),消息体中包含要发布、修改或者删除的呈现信息;2.XCAP服务器向XCAP客户端返回认证挑战消息(401 Unauthorized);
3.XCAP客户端向XCAP服务器发送XCAP消息,携带认证信息(XCAP);4.XCAP服务器向XCAP客户端返回成功响应(200 OK),并将XCAP客户端发布的呈现信息写入该呈现体的呈现文档中。
呈现服务器400一方面从SIP客户端100接收一般呈现信息,另一方面从XCAP服务器300获取呈现体的持久呈现信息,并将一般呈现信息和持久呈现信息合成为呈现体的呈现文档。呈现服务器400可以通过多种方法从XCAP服务器300上获取呈现信息,例如呈现服务器400可以与XCAP服务器300建立订阅关系,从XCAP服务器300发送的通知消息中获取呈现体发布的呈现信息。
作为本发明的一个实施例,呈现服务器400使用SIP订阅相应呈现体的呈现文档变化信息,此时XCAP服务器300要支持SIP订阅功能,可以采用XML文档管理服务器实现。
当XCAP客户端200向XCAP服务器300发布呈现信息时,由于呈现服务器400订阅了XCAP服务器300中相应呈现体的呈现文档变化信息,XCAP服务器300向呈现服务器400发送通知消息,消息体中包含了与所发布的呈现信息相关的信息。例如当XCAP客户端200做初始发布操作时,消息体中包含所发布的呈现信息;当XCAP客户端200做修改操作时,消息体中包含所修改的呈现信息;当XCAP客户端200做删除操作时,消息体中包含所删除的呈现信息。
图3示出了呈现服务器向XCAP服务器订阅呈现文档变化信息的信令流程,详述如下1.呈现服务器向XCAP服务器发送订阅请求(SIP SUBSCRIBE),请求订阅呈现体的呈现文档变化信息;2.XCAP服务器向呈现服务器返回接受订阅请求的响应(202 Accepted);3.XCAP服务器向呈现服务器发送通知消息(Notify),消息体中包含呈现体的呈现文档变化信息;4.呈现服务器提取通知消息中的呈现文档变化信息,向XCAP服务器返回成功响应(200 OK)。
当呈现服务器400订阅成功后,在呈现信息变化时,XCAP服务器300可以直接向呈现服务器400发送通知消息,通知呈现信息的变化,不需要呈现服务器400重新发起订阅,如图4所示1.XCAP服务器向呈现服务器发送通知消息(Notify),消息体中包含呈现体的呈现文档变化信息;2.呈现服务器提取通知消息中的呈现文档变化信息,向XCAP服务器返回成功响应(200 OK)。
当呈现服务器400从XCAP服务器300的通知消息中获取到呈现体发布的呈现信息或修改的呈现信息后,将呈现信息合成到呈现文档中,并可以通知观察者。当呈现服务器400从XCAP服务器300的通知消息中获取要删除的呈现信息时,呈现服务器400删除呈现文档中相应的呈现信息,并可以通知观察者。
呈现服务器400接收到SIP客户端100和XCAP服务器300发送的通知消息时,呈现信息接收模块401提取消息中的呈现信息,并分别进行标识。作为本发明的一个实施例,呈现信息接收模块401将两种呈现信息都记录在呈现信息数据库403中同一个记录表中,通过来源标识字段对呈现信息进行标识,例如标识来源为XCAP客户端的为第一标识,标识来源为SIP客户端的为第二标识。作为本发明的另一个实施例,也可以将两种呈现信息分别记录在呈现信息数据库403中不同的记录表中,例如将来自SIP客户端的呈现信息记录到表1中,而将来自XCAP客户端的呈现信息记录在表2中。
对于来自SIP客户端100发布的呈现信息,存储上述呈现信息的记录表中还记录一个由呈现信息接收模块401分配的信息标识值,用来标识所发布的呈现信息。呈现信息接收模块401通过响应消息将该信息标识值返回给SIP客户端100。当SIP客户端100需要修改所发布的呈现信息时,在消息头中携带该信息标识值以指定所要修改的呈现信息。
SIP客户端100发布的呈现信息携带一个有效期,呈现信息接收模块401根据该有效期分配一个合适的实际有效期,一般为一个以秒为单位的整数。当相应的呈现信息过期时,呈现信息接收模块401使呈现信息数据库403中保存的相应呈现信息无效,并可以通知观察者。具体实现时,呈现信息接收模块401可以为每个来自SIP客户端100的呈现信息设置一个定时器,定时器的定时时间设置为该呈现信息的有效期,当定时器到达该有效期时,呈现信息接收模块401无效呈现信息数据库403中存储的该呈现信息,事件状态合成模块402使合成在呈现文档中的相应呈现信息无效,同时向观察者发送通知消息。对来自XCAP服务器300的呈现信息,呈现信息接收模块401不为其设置有效期,这样就不会引发呈现服务器400的过期处理行为,由此实现了呈现信息的持久有效性。
事件状态合成模块402将呈现体通过SIP消息和XCAP消息发布的呈现信息合成为呈现体的呈现文档,保存到呈现信息数据库403中,并记录合成后的呈现信息与合成前呈现信息间的对应关系信息,该对应关系信息可以记录到呈现信息数据库403中的记录表内。对于来自XCAP服务器300的呈现信息,呈现信息接收模块401将相应呈现信息存储呈现信息数据库403中,事件状态合成模块402将相应呈现信息合成到呈现文档中。
当呈现信息接收模块401收到SIP客户端100修改呈现信息的SIP消息时,提取消息中携带的信息标识值,并根据信息标识值在呈现信息数据库403中查找所要修改的呈现信息,对相应的呈现信息进行修改,重新分配一个新的信息标识值,替换原有的信息标识值,并将重新分配的信息标识值携带在向SIP客户端100返回的响应消息中。当呈现信息接收模块401接收到XCAP服务器300发送的呈现信息的修改消息时,提取相应的呈现信息,存储到呈现信息数据库403中。事件状态合成模块402根据呈现信息数据库403中的对应关系信息,对呈现文档中的对应呈现信息进行修改,将修改后的呈现信息重新合成到呈现文档中,并可以将修改的呈现信息通知给观察者。
当呈现信息接收模块401接收到XCAP服务器300的通知消息中包含删除呈现信息的操作时,删除记录表中记录的呈现信息的相应部分,事件状态合成模块402根据对应关系在呈现文档中删除相应的呈现信息。
SIP客户端100发送一个特殊的SIP消息给呈现信息接收模块401,该消息中包含所要删除的上次发布的呈现信息的信息标识值,并且消息中的有效期(Expires)参数为零。
当某些来自SIP客户端100的呈现信息过期时,呈现信息接收模块401会删除相应呈现信息,并通知订阅相应呈现信息的观察者。呈现信息接收模块401并不检查来自XCAP服务器300的呈现信息,只有事件状态合成模块402在XCAP服务器300发送的通知消息中获取删除的呈现信息时,才根据对应关系删除呈现文档中相应的呈现信息,并通知观察者。
由于SIP客户端100或XCAP客户端200发布的呈现信息是呈现体的完整呈现信息的一个视图,因此,事件状态合成模块402在将呈现体的呈现信息通知给观察者之前需要将这些呈现体发布的视图进行合并。事件状态合成模块402根据合并规则合并呈现信息。合并规则用来指定多个呈现信息在何种情况下需要合并。当前OMA的呈现业务中对合并规则的规定如下所述,有关合并规则的更多内容可参见OMA-TS-Presence_SIMPLE-V1_0-20060214-C“PresenceSIMPLE Specification”,本发明在此引用,不再赘述。
对于Service元素,呈现服务器400将合并来自不同呈现体的<tuple>元素,如果满足以下情形1.一个<tuple>元素包含一个<contact>元素,其他<tuple>元素包含同样的<contact>元素;2.一个<tuple>元素包含一个<service-description>元素,其他<tuple>元素包含同样的<service-description>元素。对于<service-description>元素如果其<service-id>元素和<version>元素相同,则认为<service-description>元素相同;3.<tuple>元素中没有冲突元素(同样的元素具有不同值),不能重复具有同样值的同样的元素。
其他情况下,呈现服务器400不合并<tuple>元素。合并后的<tuple>元素的<timestamp>值取合并前各<timestamp>值中最近的一个。
对于Device元素,如果不同呈现体发送的<device>元素的<deviceID>元素匹配,呈现服务器400应该合并<device>元素中的非冲突元素。合并后的<device>元素的<timestamp>值取最近的一个;且在冲突元素中取最近发布的一个。
对于<person>元素,对不同呈现体发送的<person>元素,如果它们没有互相冲突的元素,呈现服务器400应合并这些<person>元素,并且不能重复具有相同值的相同元素,<person>元素的<timestamp>值取最近的一个。如果这些<person>元素中存在冲突元素,呈现服务器400不合并这些有冲突元素的<person>元素。
作为本发明的一个实施例,事件状态合成模块402可以采取分别合成的方式,将来自SIP客户端100的呈现信息合并为一个单一呈现文档,将来自XCAP服务器300的呈现信息合并为另一个单一呈现文档。当需要为观察者提供呈现文档消息时,将两个呈现文档合成,并进行相应过滤后将呈现信息通知给观察者。
作为本发明另一个实施例,事件状态合成模块402也可以采取综合合成的方式,不区分呈现信息来自SIP客户端100还是来自XCAP客户端200,而是将其统一合成到一个单一的呈现文档中。
在本发明中,对由呈现体某一次发布的呈现信息,可以分为若干呈现信息片断。例如呈现体发布的一个呈现信息数据格式(Presence Information DataFormat,PIDF)文档中,一个<tuple>元素、一个<device>元素,或一个<person>元素即为一个片断。事件状态合成模块402在合成过程中可以把某个呈现信息片断与其他呈现信息片断进行合成后放在最终合成的呈现文档中,也可以独立地放在呈现文档中。
在本发明中,合成点记录对应的呈现信息片断在最终合成的呈现文档中的位置。独立点是呈现信息片断与其他呈现信息片断合成后的呈现信息片断中中没有发生变化的呈现信息片断在最终合成的呈现文档中的位置。这些位置信息都可以用XML路径语言(XML Path Language,XPath)表达式表示。独立点集中的独立点在合成点中,因此既可以通过指定在整个合成的呈现文档中的位置来指定独立点的位置,也可以通过相对合成点的XPath表达式标识独立点的位置。另外记录独立点集中的呈现信息片断数目,并记录某片断是否与其他呈现信息片断进行了合成操作,这些信息可用于对呈现信息的修改。
利用合成点和独立点集可以确定呈现信息片断的合成情况,另外当呈现体对上次发布的呈现信息做修改时,还可以用来有效地将修改应用到最终合成的呈现文档中。为此,事件状态合成模块402需要记录初始发布中各呈现信息片断的合成点和独立点集。
为了更好的说明本发明,下面以2个片断为例,对呈现文档的合成和相应记录表的生成进行详细说明假设呈现信息片断1为

呈现信息片断2为

合成后的呈现信息片断为


假设上面合成后的<pdm:device>元素在整个合成文档中的位置用XPath表达式表示为/presence/pdm:device[@id=”a1234”]那么,对于呈现信息片断1,其合成点可表示为/presence/pdm:device[@id=”a1234”]其独立点集(元素个数为1)表示为{/presence/pdm:device[@id=”a1234”]/op:network-availability};或者采用相对表达式表示为{op:network-availability}。
对于呈现信息片断2,其合成点为/presence/pdm:device[@id=”a1234”]其独立点集(元素个数为1)为{/presence/pdm:device[@id=”a1234”]/op:network-availability};或者采用相对表达式表示为{op:network-availability}。
事件状态合成模块402对以上两个呈现信息片断生成如下记录表

其中,合成标识是该呈现信息片断是否与其他呈现信息片断进行了合成的标志,1表示有合成,0表示没有合成。
在合并过程中,当来源标识为第一标识的呈现信息片断的呈现信息值与来源标识为第二标识的呈现信息片断的呈现信息值冲突时,选择来自第二标识的呈现信息片断的呈现信息值。因为从XCAP客户端200发送的呈现信息往往是一种持久性呈现信息,没有有效期,这种呈现信息需要直接删除操作才会失效,而从SIP客户端100发送的呈现信息往往是一种即时性的呈现信息,存在有效期,当过了有效期指定的时间后,相应呈现信息即失效。
若呈现信息片断过期,则事件状态合成模块402根据对应关系找到合成点与独立点,并删除独立点对应的呈现信息片断。
当呈现服务器400接收到修改呈现信息片断1的通知消息时,事件状态合成模块402查找记录每个呈现信息片断合成情况的记录表中有关呈现信息片断1的记录。事件状态合成模块402判断片断1是否与其他呈现信息片断合成,若没有则直接相应地修改合成点对应的呈现信息片断即可,若有则事件状态合成模块402进一步查看对该呈现信息片断的修改是否修改了独立点对应呈现信息片断以外的部分。若修改了独立点对应呈现信息片断以外的部分,则将合成点对应的呈现信息片断替换为以下两个呈现信息片断的合成结果1.合成点对应呈现信息片断中除独立点对应的呈现信息片断以外的呈现信息片断;2.修改后的呈现信息片断1。
图5示出了呈现服务器400接收到SIP客户端100或XCAP服务器300发送的修改片断1的消息后,事件状态合成模块402修改呈现文档的具体处理过程,详述如下在步骤S501中,找到记录每个呈现信息片断合成情况的记录表,查找呈现信息片断1的记录;在步骤S502中,判断呈现信息片断1的合成标识,为1则执行步骤S504,为0则执行步骤S503;
在步骤S503中,直接修改呈现文档中相应合成点对应的呈现信息片断;在步骤S504中,判断接收到的修改消息中是否要求修改独立点集对应呈现信息片断之外的部分,是则执行步骤S505,否则执行步骤S506;在步骤S505中,修改呈现信息片断1,重新合成呈现信息片断1与呈现信息片断2;在步骤S506中,直接修改呈现文档中相应独立点对应的呈现信息片断。
在向观察者分发呈现信息时,如果事件状态合成模块402检测到一个呈现信息片断没有第二标识对应的呈现信息值,存在第一标识对应的相应呈现信息值,则将第一标识对应的相应呈现信息值分发给观察者。如果检测到一个呈现信息片断既有第二标识对应的呈现信息值,又存在第一标识对应的相应呈现信息值,则将第二标识对应的相应呈现信息值分发给观察者。
图6示出了本发明中发布呈现信息的示例流程,详述如下1.用户B通过SIP SUBSCRIBE消息订阅用户A的呈现信息,订阅有相应有效期Es;2.呈现服务器接受用户B的订阅请求,返回响应消息(202 Accepted);3.呈现服务器订阅XCAP服务器中用户A的呈现文档;4.XCAP服务器接受呈现服务器的订阅请求(202 Accepted);5.用户A的SIP客户端通过SIP PUBLISH向呈现服务器发布具有有效期Ea的呈现信息Ia;6.呈现服务器向用户A的SIP客户端返回发布成功的响应消息(200 OK);7.用户A的XCAP客户端通过XCAP PUT消息向XCAP服务器发送呈现信息Ib。
8.XCAP服务器接收用户A的XCAP客户端发送的呈现信息Ib,查看是否有用户A对应的呈现文档。若没有,则为用户A创建一个呈现文档,否则XCAP服务器根据接收的呈现信息更新用户A的呈现文档,并向用户A的XCAP客户端返回发布成功的响应消息(200 OK);
9.XCAP服务器将呈现文档发生的变化信息,即Ib,通知给呈现服务器,呈现服务器接收到通知消息后修改其存储的相应呈现信息。
10.呈现服务器将从SIP PUBLISH消息中获取的呈现信息Ia和从XCAP服务器的通知中获取的的呈现信息Ib合成到用户A的呈现文档中,经过过滤等处理步骤后,将包含Ia和Ib的呈现信息通知给用户B的SIP客户端;11.用户B的SIP客户端接收到呈现服务器发送的通知消息,得到用户A的呈现信息,并返回响应消息(200 OK);12.经过时间Ea,呈现信息Ia过期,呈现服务器通知用户B的SIP客户端;13.用户B的SIP客户端向呈现服务器返回响应消息(200 OK);14.再经过时间Es,用户B的订阅关系过期,用户B重新订阅用户A的呈现信息;15.呈现服务器接受用户B的订阅请求,返回响应消息(202 Accepted);16.由于XCAP客户端没有发送删除呈现信息Ib的XCAP消息,因此呈现信息Ib一直有效,呈现服务器将呈现信息Ib包含在通知消息中通知给用户B的SIP客户端;17.用户B的SIP客户端接收到呈现服务器发送的通知消息,得到用户A的呈现信息,并返回响应消息(200 OK)。
图7示出了本发明提供的第二实施例中呈现信息发布系统的结构,XCAP客户端200直接与呈现服务器400通信,XCAP服务模块404位于呈现服务器400中,实现XCAP服务器300的功能,不同的是与呈现服务器400间不再是订阅关系,而是通信关系。XCAP服务模块404接收由XCAP客户端200发送的呈现信息,作为事件状态合成模块402的一个输入源。事件状态合成模块402接收SIP客户端100发送来的呈现信息,以及从XCAP服务模块404传来的呈现信息,合成为呈现文档存储到呈现信息数据库403中。
同时,XCAP服务模块404接收XCAP客户端200发送的查询消息,将查询消息中的查询条件信息发送给呈现信息查询模块405,呈现信息查询模块405根据查询条件做查询操作,获取符合条件的呈现信息返回给XCAP服务模块404,由XCAP服务模块404将查询结果发送回XCAP客户端200。
呈现服务器400其他模块的功能与第一实施例相同,不再赘述,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种呈现信息的发布方法,其特征在于,所述方法包括下述步骤1.1接收同一呈现体通过XCAP消息发布的第一呈现信息和通过SIP消息发布的第二呈现信息,所述第二呈现信息设置有有效期;1.2将所述第一呈现信息和第二呈现信息合成为呈现文档。
2.如权利要求1所述的呈现信息的发布方法,其特征在于,所述接收同一呈现体通过XCAP消息发布的第一呈现信息的步骤包括下述步骤2.1订阅呈现体的呈现文档变化信息;2.2接收订阅通知消息,提取消息体中包含的呈现体的呈现文档变化信息,所述呈现文档变化信息包括呈现体发布的呈现信息、修改的呈现信息或者删除的呈现信息。
3.如权利要求1所述的呈现信息的发布方法,其特征在于,在呈现文档的合成过程中,当标识为第一呈现信息的呈现信息片断的呈现信息值与标识为第二呈现信息的呈现信息片断的呈现信息值冲突时,选择标识为第二呈现信息的呈现信息片断的呈现信息值。
4.如权利要求1所述的呈现信息的发布方法,其特征在于,所述步骤1.2进一步包括下述步骤3.1记录呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息;3.2根据所述对应关系信息更新呈现文档。
5.如权利要求4所述的呈现信息的发布方法,其特征在于,所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点为对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
6.如权利要求5所述的呈现信息的发布方法,其特征在于,所述位置标识通过XPath表达式标识。
7.如权利要求6所述的呈现信息的发布方法,其特征在于,所述独立点的位置标识通过相对合成点的XPath表达式标识。
8.如权利要求5所述的呈现信息的发布方法,其特征在于,在对呈现文档进行更新时,如果呈现信息片断被修改,且只修改了独立点对应的呈现信息片断,则相应修改独立点对应的呈现文档中相应的呈现信息片断,否则将下列两个呈现信息片断合成后的结果替换合成点对应的呈现信息片断a.合成点对应的呈现信息片断中除所述独立点对应的呈现信息片断外的呈现信息片断,以及b.所述修改后的呈现信息片断。
9.如权利要求1所述的呈现信息的发布方法,其特征在于,所述步骤1.2进一步包括下述步骤9.1分别标识存储接收到的第一呈现信息和第二呈现信息。
10.如权利要求9所述的呈现信息的发布方法,其特征在于,所述分别标识存储为将第一呈现信息和第二呈现信息分别存储在不同的记录表内,或者将所述第一呈现信息和第二呈现信息通过来源标识字段标识存储在同一记录表内。
11.如权利要求1所述的呈现信息的发布方法,其特征在于,所述方法进一步包括在向观察者分发呈现文档时,如果呈现文档中的呈现信息片断既有第二呈现信息对应的呈现信息值,又存在第一呈现信息对应的呈现信息值时,则选择第二呈现信息对应的呈现信息值分发给观察者。
12.一种呈现服务器,其特征在于,所述呈现服务器包括呈现信息接收模块,用于接收同一呈现体通过XCAP消息发布的第一呈现信息和通过SIP消息发布的第二呈现信息,所述第二呈现信息设置有有效期;事件状态合成模块,用于将所述第一呈现信息和第二呈现信息合成为呈现文档;以及呈现信息数据库,用于存储接收到的第一、第二呈现信息、呈现文档以及呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息。
13.如权利要求12所述的呈现服务器,其特征在于,所述呈现服务器进一步包括XCAP服务模块,用于接收呈现体发送的XCAP消息,提取消息中的呈现信息,并将所述呈现信息发送给呈现信息接收模块。
14.如权利要求13所述的呈现服务器,其特征在于,所述呈现服务器进一步包括呈现信息查询模块,用于接收客户端发送的呈现信息查询消息,将消息中的查询条件发送给XCAP服务模块,接收XCAP服务模块的查询结果,并将查询结果返回客户端。
15.如权利要求12所述的呈现服务器,其特征在于,所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
16.如权利要求15所述的呈现服务器,其特征在于,所述位置标识通过XPath表达式标识。
17.如权利要求16所述的呈现服务器,其特征在于,所述独立点的位置标识通过相对合成点的XPath表达式标识。
18.一种呈现信息的发布系统,其特征在于,所述系统包括XCAP服务器,用于接收呈现体通过XCAP消息发布的的第一呈现信息;以及呈现服务器,用于接收XCAP服务器发送的第一呈现信息,以及呈现体通过SIP消息发布的第二呈现信息,将第一呈现信息和第二呈现信息合成为呈现文档,所述第二呈现信息设置有有效期。
19.如权利要求18所述的呈现信息的发布系统,其特征在于,所述呈现服务器包括呈现信息接收模块,用于接收所述第一呈现信息和第二呈现信息;事件状态合成模块,用于将所述第一呈现信息和第二呈现信息合成为呈现文档;以及呈现信息数据库,用于存储接收到的第一、第二呈现信息、呈现文档以及呈现信息与合成后的呈现文档中对应呈现信息片断之间的对应关系信息。
20.如权利要求19所述的呈现信息的发布系统,其特征在于,所述对应关系包括呈现信息片断的合成点和独立点,所述合成点为对应的呈现信息片断在呈现文档中的位置标识,所述独立点对应的呈现信息片断中未发生变化的部分在呈现文档中的位置标识。
21.如权利要求20所述的呈现信息的发布系统,其特征在于,所述位置标识通过XPath表达式标识。
22.如权利要求21所述的呈现信息的发布系统,其特征在于,所述独立点的位置标识通过相对合成点的XPath表达式标识。
全文摘要
本发明适用于通信领域,提供了一种呈现信息的发布方法、设备及系统,所述方法包括下述步骤接收同一呈现体通过XCAP消息发布的第一呈现信息和通过SIP消息发布的第二呈现信息,所述第二呈现信息设置有有效期;将所述第一呈现信息和第二呈现信息合成为呈现文档。通过本发明,呈现体可以通过XCAP消息发布呈现信息,使得呈现信息可以不依赖于设备刷新而持久有效。同时,可以将呈现体通过SIP消息和XCAP消息发布的呈现信息合成为同一个呈现文档分发给观察者。
文档编号H04L29/06GK101064692SQ200610060558
公开日2007年10月31日 申请日期2006年4月27日 优先权日2006年4月27日
发明者鲍洪庆, 孙谦, 招扬, 彭程晖, 田林一, 宋雪飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1