一种呈现业务系统及其提供应用程序信息的方法

文档序号:7629673阅读:210来源:国知局
专利名称:一种呈现业务系统及其提供应用程序信息的方法
技术领域
本发明涉及互联网领域和无线通信领域,特别是涉及一种呈现业务系统及其提供应用程序信息的方法。
背景技术
呈现业务(PRESENCE SERVICE)是一种用于搜集和分发呈现信息(PRESENCE INFORMATION)的通信业务,目前通常和即时消息业务(INSTANT MESSAGE SERVICE)一起提供,当然呈现业务也可以单独提供,或者和其他业务如网络游戏结合。因特网工程任务组IETF、开放移动联盟OMA等国际标准组织都已经初步制订了呈现业务的相应标准规范,正在不断完善之中。本发明中主要使用RFC 2778中的术语,将向呈现业务提供呈现信息的称为呈现体(PRESENTITY),向呈现业务请求呈现信息的称为观察体(WATCHER)。呈现业务的用户可以是自然人或非自然人,即呈现体和观察体都可以对应自然人或非自然人。
图1是现有技术中呈现业务系统的系统结构图,如图1所示。从图中可见现有系统包括呈现服务器,以及与其相连的呈现客户端,呈现客户端包括呈现体客户端和观察体客户端。所述呈现体客户端包括呈现体和呈现体用户代理(PRESENCE USER AGENT)。所述观察体客户端包括观察体和观察体用户代理(WATCHER USER AGENT)。
在呈现体或观察体所在呈现客户端和呈现服务器之间通过呈现协议(PRESENCE PROTOCOL)传送呈现信息。
所述呈现体用户代理作为呈现体用户与系统交互的装置,所述观察体用户代理作为观察体用户与系统交互的装置。
在现有技术中,呈现业务系统中的观察体用户端一般仅能通过呈现业务来获知对方的一些简单的基本呈现信息如在线或离线状态等,而无法确切了解对方当前正在运行的应用程序的信息。
然而,在实际应用中,观察体客户端往往还想获取呈现体用户正在运行的应用程序信息,或者呈现体客户端希望将自身的一些在客户机上运行的应用程序信息发布出去使其他人可以获知,以便更深层地了解对方的爱好和需求,从而便于寻找好友或合作伙伴。例如,对方处于在线状态,且正在客户机上打开电影播放程序观看一部电影,此时观察体客户端无法获知对方正在看电影的信息,仅仅根据对方在线状态而发送消息,得到的结果往往是观察体客户端得不到及时的回复或者打扰了对方;当观察体客户端需要即时了解对方正在运行的应用程序信息时,通过现有技术的呈现业务系统观察体客户端是不能获得的;呈现体用户端希望将一些自己客户机上运行的应用程序信息发布出去使其他人可以获知时,通过现有技术的呈现业务系统也是不能实现的。上面的这些需求在目前的呈现业务系统中得不到有效的技术支持,可见现有呈现业务系统提供的交流方式有必要通过技术手段来进一步得到丰富。
综上所述,现有的呈现业务系统中,由于呈现体客户端不能提供应用程序信息,给即时消息用户带来了许多不便,或者无法满足用户希望进一步了解对方正在做什么的需求。因此,解决上述需求是呈现业务中急待解决的问题之一。

发明内容
有鉴于此,本发明的主要目的在于提供一种呈现业务系统,能够提供呈现体用户的应用程序信息。
本发明的另一个目的是提供一种该呈现业务系统提供应用程序信息的方法,该方法包括搜集和发布应用程序信息,能够提供呈现体用户的应用程序信息。
为达到上述目的,本发明的技术方案具体是这样实现的一种呈现业务系统,该系统包括用于接收、存储和分发呈现信息的呈现服务器;用于收集呈现信息并发送给呈现服务器的呈现体客户端,包括呈现体用户代理;用于向呈现服务器请求并接收呈现服务器分发的呈现信息的观察体客户端,包括观察体用户代理和观察体;其中,所述呈现体客户端还包括呈现体,用于向呈现服务器发送呈现信息或接收由呈现服务器转发的来自观察体客户端请求应用程序信息的请求;应用程序信息获取模块,用于收集应用程序的信息,将收集到的应用程序信息作为呈现信息的一部分发送给呈现体。
所述呈现信息包括基本呈现信息和呈现体客户端所在客户机上的应用程序的信息。
所述呈现体客户端进一步包括信息转换模块,用于接收来自呈现体用户代理的预先设置的转换方式信息;接收来自应用程序信息获取模块的应用程序信息,按照所述转换方式信息对接收到的应用程序信息进行转换,并将转换后的应用程序信息发送给呈现体。
所述呈现体客户端进一步包括提示模块,用于接收来自应用程序信息获取模块的提示指令,向呈现体用户代理发送提示当前准备发送的应用程序的信息;接收到用户的确认操作指令后将当前应用程序信息发送给呈现体;接收到用户的取消操作指令后丢弃当前应用程序信息。
通过所述呈现体用户代理预先设置授权要求,所述呈现体客户端进一步包括授权模块,接收来自呈现体的呈现信息请求;判断所述呈现信息请求是否满足授权要求;经呈现服务器向所述满足授权要求的观察体客户端发送请求的应用程序信息。
通过所述呈现体用户代理预先设置授权要求,所述呈现体客户端进一步包括授权模块,接收来自呈现体的呈现信息请求;判断所述呈现信息请求是否满足授权要求;经呈现服务器向所述满足授权要求的观察体客户端发送请求的应用程序信息。
所述授权模块还包括将预设授权要求发送给所述呈现服务器。
所述观察体客户端进一步包括授权模块,用于按照预设过滤要求,过滤来自呈现服务器的应用程序信息。
一种呈现业务系统提供应用程序信息的方法,所述呈现业务系统包括呈现服务器、呈现体客户端和观察体客户端;其中,在呈现体客户端中设置用于收集应用程序信息的应用程序信息获取模块;该方法包括以下步骤A.所述应用程序信息获取模块将获得的应用程序信息发送给所述呈现服务器;所述呈现服务器存储接收到的应用程序信息;B.当所述观察体客户端请求应用程序信息时,所述呈现服务器将应用程序信息发送给所述观察体客户端。
步骤A中,所述向呈现服务器发送应用程序信息的方法为所述应用程序信息获取模块获得的应用程序信息发生变化时,所述应用程序信息获取模块向呈现服务器发送变化后的应用程序信息;所述呈现服务器利用接收到的新的应用程序信息更新自身存储的对应应用程序信息。
步骤B中,所述观察体客户端请求应用程序信息的方法为所述观察体客户端经所述呈现服务器向所述呈现体客户端请求,或直接向所述呈现服务器请求。
所述观察体客户端通过会话初始化协议SIP订阅请求消息请求应用程序信息;所述SIP请求消息中携带有观察体客户端的统一资源标识符URI、呈现体客户端的URI,及过期时间。
所述过期时间设置为零时,所述观察体客户端的用户为查询者;所述过期时间设置为不为零时,所述观察体客户端的用户为订阅者。
所述SIP订阅请求消息中还包括所述观察体客户端对接收到的应用程序信息进行过滤的过滤条件。
所述SIP订阅请求消息中还包括应用程序信息检索条件。
在呈现体客户端中设置对应用程序信息获取模块获得的应用程序信息进行转换的信息转换模块;步骤A之前,该方法还包括通过所述呈现客户端中的呈现体用户代理预设转换方式信息;步骤A中,所述应用程序信息获取模块向所述呈现服务器发送自身获得的应用程序信息之前,该方法还包括所述应用程序信息获取模块将获得的应用程序信息发送给所述信息转换模块,所述信息转换模块根据预设转换方式信息,对获得的应用程序信息进行转换后发送给所述呈现服务器。
所述转换方式信息为数值类型的应用程序信息的各数值区间对应的文本信息、或声音信息、或图片信息、或多媒体信息。
在呈现体客户端中设置用于提示当前准备发送的应用程序信息的提示模块;步骤A中,所述应用程序信息获取模块向所述呈现服务器发送自身获得的应用程序信息之前,该方法还包括根据应用程序信息获取模块的提示指令,提示模块通过所述呈现体客户端中的呈现体用户代理显示当前准备发送的应用程序信息,并等待用户选择确认或取消操作指令;当用户选择确认操作指令,则继续执行步骤A;若用户选择取消操作指令,则结束本方法流程。
在呈现体客户端中设置用于判断来自观察体客户端的请求是否满足授权要求的授权模块;步骤A之前,该方法还包括通过所述呈现体客户端中的呈现体用户代理预先设置授权要求;步骤B中,所述呈现服务器将应用程序信息发送给所述观察体客户端之前,该方法还包括呈现体客户端根据预设授权要求判断所述请求是否满足授权要求;若满足,则呈现体客户端将授权响应发送给呈现服务器,呈现服务器向所述观察体客户端发送请求的应用程序信息;否则,呈现体客户端经呈现服务器向所述观察体客户端发送拒绝响应,或者发送授权响应但不发送应用程序信息。
在呈现体客户端中设置用于判断来自观察体客户端的请求是否满足授权要求的授权模块;步骤A之前,该方法还包括通过所述呈现体客户端中的呈现体用户代理预先设置授权要求,并将所述授权要求存储到呈现服务器中;步骤B中,所述呈现服务器将应用程序信息发送给所述观察体客户端之前,该方法还包括呈现服务器根据预设授权要求判断所述请求是否满足授权要求;若满足,则呈现服务器向所述观察体客户端发送请求的应用程序信息;否则,呈现服务器向所述观察体客户端发送拒绝响应,或者发送授权响应但不发送应用程序信息。
步骤B还包括呈现服务器存储判断结果。
所述授权要求包括用于限制应用程序信息模块监测应用程序信息范围的监测范围,和/或允许指定观察体客户端接收应用程序信息的授权用户信息,和/或用于限制观察体客户端接收的应用程序信息的范围的授权范围。
所述授权用户信息存储在授权列表中。
所述授权列表中还包括授权范围。
该方法还包括当呈现体客户端的应用程序信息获取模块监测到授权范围内的应用程序发生变化时,将变化后的应用程序信息发送给呈现服务器,并通过呈现服务器转送给观察体客户端。
该方法还包括所述呈现体客户端将获得的基本呈现信息发送给呈现服务器;所述观察体客户端向呈现服务器请求基本呈现信息。
所述基本呈现信息为呈现体用户的状态信息;所述状态信息包括在线状态、离线状态。
步骤A中所述应用程序信息获取模块获得应用程序信息的方法为通过操作系统提供的获取进程信息函数接口/工具程序来获取正在运行的应用程序信息;或者通过访问注册表获取应用程序信息;或者通过进程间通信IPC从应用程序获取应用程序信息。
由上述技术方案可见,根据本发明,可发布呈现体用户在呈现体客户机上的应用程序信息到呈现业务中,观察体客户端可获得呈现体用户的应用程序信息,拓展了呈现信息的提供源以及提供方式。所述应用程序信息不仅包括正在运行的应用程序的信息,还可以包括安装在客户机上但当前没有运行的应用程序的信息。


图1是现有技术呈现业务系统的系统结构图;图2是本发明呈现业务系统的系统结构图;图3是本发明呈现业务系统中呈现体客户端的组成结构图;图4是本发明呈现业务中呈现服务器搜集应用程序信息的示意图;图5是本发明呈现业务中呈现服务器发布应用程序信息实施例一的流程图;图6是本发明呈现业务中呈现服务器发布应用程序信息实施例二的流程图;图7是本发明呈现业务中呈现服务器发布应用程序信息实施例三的流程图;具体实施方式
本发明的核心思想是呈现业务系统包括呈现服务器、呈现体客户端和观察体客户端;其中,在呈现体客户端中设置用于收集应用程序的信息的应用程序信息获取模块;呈现体客户端将获得的客户机上的应用程序信息作为呈现信息的一部分发送给呈现服务器;呈现服务器存储来自呈现体客户端的呈现信息,并在观察体客户端请求时分发呈现信息给观察体客户端。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图2是本发明呈现业务系统的系统结构图,呈现业务系统包括呈现服务器、呈现客户端即呈现体客户端和观察体客户端。
其中,呈现服务器,用于接收、存储和分发呈现信息,呈现信息包括呈现体的基本呈现信息如在线或离线状态等和呈现体客户端中的应用程序信息获取模块提供的应用程序信息;或者向请求呈现信息的观察体客户端分发存储的呈现信息;呈现体客户端,用于收集呈现信息,并向所述呈现服务器提供呈现体客户端收集到的基本呈现信息和应用程序信息;观察体客户端,用于向呈现服务器请求并接收所述呈现服务器分发的呈现信息。呈现体客户端通过呈现协议将呈现信息传送至呈现服务器,呈现服务器将呈现信息通过呈现协议发送给观察体客户端。
呈现体客户端,用于收集呈现信息并提供给呈现服务器。呈现体客户端主要包括呈现体用户代理、应用程序信息获取模块和呈现体,呈现体用户代理为呈现体用户和呈现业务系统交互提供交互平台;呈现体用于向呈现服务器发送基本呈现信息和应用程序信息或接收来自观察体客户端请求应用程序信息的请求;应用程序信息获取模块用于从应用程序信息源如应用程序或注册表等收集应用程序的信息,应用程序信息获取模块收集到的应用程序信息通过呈现体提供给呈现服务器;呈现体客户端运行在客户机上,所述的客户机可以是移动终端如手机、计算机等。
观察体客户端,用于向呈现服务器请求并接收呈现服务器发送的呈现体的呈现信息。观察体客户端主要包括观察体用户代理和观察体,观察体用户代理为观察体用户和呈现业务系统交互提供交互平台;观察体用于请求并接收呈现服务器发送的呈现体的呈现信息。观察体客户端的观察体可分为查询体和订阅体查询体仅简单的请求查询呈现体用户当前的应用程序信息,比如在会话初始化协议(SIP)订阅消息中设置该消息中携带的过期时间为0即为一次性订阅,此时观察体客户端的观察体为查询体;而订阅体则订阅当呈现体用户的应用程序信息(未来)变化时,能及时接收到更新的呈现信息,比如设置订阅消息中携带的过期时间不为0,并设置在该过期时间即将过期之前刷新该订阅,保持该订阅有效。
呈现体客户端还可以包括信息转换模块、授权模块和提示模块,如图3所示,图3是本发明呈现业务系统中呈现体客户端的组成结构图。
其中,信息转换模块用于根据来自呈现体用户代理的转换方式信息,将来自应用程序信息获取模块的应用程序信息进行转换后,再经呈现体提供给呈现服务器(假设此时不存在授权模块);进一步地,对不同的观察体用户可以预设不同的转换方式,这样,呈现体客户端可以给不同观察体客户端提供不同的应用程序信息。比如转换模块将数值类型转换为容易理解的文本信息、声音、图片或多媒体信息。可预先设置转换方式,根据预设的转换方式进行转换,比如设置某个数值类型的应用程序信息的各数值区间对应的文本信息等等。
提示模块用于在应用程序信息获取模块将应用程序信息提交给呈现服务器之前发送的提示指令,在呈现体客户端中呈现体用户代理提供的交互平台上提示当前准备提交的应用程序信息,并在接收到用户的确认操作指令后再将当前应用程序信息经呈现体提交给呈现服务器;如果接收到用户的取消操作指令,则丢弃当前应用程序信息。比如提示模块用一函数来描述,则可以通过应用程序信息获取模块调用该函数显示一个提示对话框,用户根据提示对话框选择确认或取消。这里采用函数来显示一个提示对话框属于本领域技术人员惯用技术手段,这里不再赘述。
另外,由于应用程序信息涉及个人隐私问题,可以进一步在呈现体客户端中设置授权模块来确定是否为观察体客户端发布该观察体客户端请求的应用程序信息及分发何种程度的应用程序信息,使得应用程序信息可以处于保密、完全公开、部分公开等状态。因此,首先通过所述呈现体客户端的交互平台预先设置授权要求,呈现体客户端还可以包括授权模块,用于通过呈现体接收来自观察体的呈现信息请求;判断所述呈现信息请求是否满足授权要求,若满足,则经呈现服务器向该观察体客户端发送请求的应用程序信息;否则经呈现服务器向该观察体客户端发送拒绝响应。授权要求可以包括监测范围,即应用程序信息获取模块监测应用程序信息的范围、授权用户信息,即允许接收应用程序信息的观察体客户端,以及授权范围,即被允许的观察体客户端接收的应用程序信息的范围等。监测范围的设置使得处于保密状态的应用程序信息不被外界所获取,上述呈现体客户端中对各模块的操作都可以通过呈现体用户代理提供的界面来实现。
授权模块的授权机制的具体实现为呈现体客户端可以通过授权模块在向呈现服务器提供应用程序信息时,同时指定可获取该应用程序信息的观察体用户标识即授权用户信息,同时,呈现体客户端通过授权模块,预先设置提供哪些应用程序信息给呈现服务器即设置应用程序信息的监测范围,如仅提供工作程序信息,不提供娱乐程序信息,或者提供正在运行媒体播放程序的信息,但不提供播放媒体文件名称,或者提供正在运行浏览器程序即正在上网的信息,但不提供具体网页标题的信息等;进一步地,呈现服务器可以保存接收到的授权用户信息,这样,在后续呈现体客户端提供更新的应用程序信息到呈现服务器时,呈现服务器将新的应用程序信息发送给授权的观察体客户端;呈现体客户端也可以通过授权模块预先设置授权列表并发送到呈现服务器中,授权列表中包括观察体用户标识,此时,在呈现体客户端仅通过授权模块限定应用程序信息获取模块的监视范围。这样,当观察体客户端请求获取某呈现体客户端的应用程序信息时,由呈现服务器根据该呈现体客户端预设的授权列表进行判断是否允许所述观察体用户获取该呈现体的应用程序信息,然后再发送应用程序信息给观察体客户端。进一步地,呈现服务器还可以保存判断结果,以便下次该观察体用户再次请求获取所述呈现体客户端的应用程序信息时,可以直接按照保存的判断结果来发送相应的应用程序信息即可。
进一步地,在授权列表中还可以包括与观察体用户标识对应的该观察体用户能接收的应用程序信息即授权范围。这样,呈现服务器可以按照预设的观察体用户标识对应的应用程序信息,向该观察体用户发送相应的应用程序信息,而不是所有的应用程序信息。
除此之外,还可以在观察体客户端中设置授权装置,可由观察体客户端设置接收呈现体客户端的应用程序信息的授权范围、授权用户信息等,此时的授权模块实际上就是观察体客户端的过滤模块,其作用就是按照预设过滤要求即授权用户信息、授权范围等,过滤来自呈现服务器的应用程序信息。
基于上述呈现业务系统,本发明实现呈现业务的方法为呈现体客户端将获得的包括基本呈现信息和客户机上的应用程序信息的呈现信息发送给呈现服务器;呈现服务器存储接收到的呈现信息,并在观察体客户端请求时分发呈现信息给观察体客户端。
下面具体描述本发明实现呈现业务的方法。
应用程序信息获取模块获取客户机上的应用程序信息可以包括应用程序的名称、运行时间、访问文件的名称、内存变量等。比如应用程序信息获取模块监测到呈现体用户正在客户机上观看电影,即启动了电影播放程序,则应用程序信息获取模块获取该电影播放程序的信息,比如当前播放电影的名称、片长等信息并保存获得的应用程序信息。
应用程序信息获取模块获取应用程序信息的方法很多,这里列举三种方法一、应用程序信息获取模块通过操作系统提供的获取进程信息函数接口、或工具程序如UNIX系统中的进程状态ps程序等来获取正在运行的应用程序信息。
比如,在Windows操作系统下,应用程序进程的当前状态信息不能直接从进程本身获取,系统已为所有保存在系统内存中的进程、线程以及模块等的当前状态的信息制作了一个只读副本即系统快照,应用程序信息获取模块可以通过对系统快照的访问完成对进程当前状态的监测。通过监测,除了可以获得进程的名称外,还可以获得进程标识符、用户信息、CPU使用时间和存储器的使用情况,还有该进程的优先权等信息。
应用程序信息获取模块根据预先设定的时间间隔周期性监测内存中的进程信息,首先枚举系统中的所有进程,然后对每个进程获取预先设定的需要监测的应用程序的进程信息并保存。
另外应用程序信息获取模块也可以枚举桌面上打开的所有窗口,由回调函数实现,然后获得窗口的标题、相关进程、线程信息。
方法一中使用到的Windows操作系统的应用程序接口(API),可以参考微软公司出版的相关资料如32位视窗系统应用程序接口(WIN32 API)函数帮助,具体函数接口名称如枚举桌面窗口接口函数EnumDesktopWindows(),获取窗口标题接口函数GetWindowText(),获取窗口进程标识接口函数GetWindowThreadProcessId(),打开进程接口函数OpenProcess(),获取进程时间接口函数GetProcessTimes()等,此处不再详述。
特别地,通过获取桌面上打开的窗口的标题可以了解到客户机上用户的很多信息,如编辑软件如Microsoft Word中正在编辑的文件名,浏览器中正在访问的网页标题等等。
方法二、应用程序信息获取模块通过访问注册表获取应用程序信息。
注册表是系统存储关于计算机配置信息的数据库,其中也包含了客户机所安装的应用程序的相关信息。可以通过调用操作系统的API函数接口如RegOpen()在注册表中查询应用程序信息,而应用程序信息主要存在于当前用户HKEY_CURRENT_USER项和本地机器HKEY_LOCAL_MACHINE项内,更进一步主要在软件SOFTWARE子项。从注册表中可以获取如安装的游戏程序的信息,比如游戏名称、以及更详细的游戏信息如版本号、游戏积分等。方法二的好处是,即使呈现体客户端的客户机上没有运行应用程序,也能获取该应用程序的信息如应用程序名称、版本号等。
方法三、应用程序信息获取模块通过进程间通信(IPC)从应用程序获取应用程序信息。
方法三需要应用程序本身能够向应用程序信息获取模块发送信息,比如在客户机设置已应用程序共享内存,应用程序将自身信息写入应用程序共享内存,然后由应用程序信息获取模块从该应用程序共享模块中读取,比如应用程序信息获取模块定时访问应用程序共享内存读取应用程序信息。
应用程序信息获取模块获取应用程序信息的时机为呈现体客户端预先设置要监测的应用程序信息即应用程序信息的监测范围,呈现体客户端中的应用程序信息获取模块监测内存或注册表中应用程序是否发生变化,如果监测到预先设置要监测的应用程序信息出现在内存或注册表中,或者发生了变化,则获取所述应用程序信息;或者在客户机上的应用程序启动或运行时将应用程序信息主动发送给呈现体客户端中的应用程序信息获取模块。另外,如果呈现体客户端无法识别应用程序发送的应用程序信息,则直接抛弃不进行处理,或者放入呈现信息现有的注释<note>元素中进行发布;如果观察体客户端不能识别来自呈现服务器的应用程序信息,则同样可以在呈现信息现有的注释<note>元素中进行显示;进一步地,呈现体客户端中应用程序信息获取模块获取到客户机上原始的应用程序信息后,经转换模块将该原始的应用程序信息进行转换,得到要提交给呈现服务器的应用程序信息。比如原始的应用程序信息为数值类型的,呈现体客户端中的转换模块将数值类型转换为容易理解的文本信息、声音、图片或多媒体信息。可通过呈现体用户代理预先设置转换方式,根据预设的转换方式进行转换,比如设置某个数值类型的应用程序信息的各数值区间对应的文本信息等等。呈现服务器搜集到来自呈现客户端的应用程序信息后,会检查该应用程序信息是否符合预定的信息格式,并保存符合预定转换格式的应用程序信息,丢弃不符合预定转换格式的应用程序信息。
应用程序信息获取模块获得应用程序信息后,会将发生变化的应用程序信息发送给呈现服务器,以更新呈现服务器中存储的相应应用程序信息,保证提供给观察体客户端的应用程序信息的实时性。一般,呈现服务器就是通过该更新过程来实现呈现信息的搜集的。
图4是本发明呈现业务中呈现服务器搜集应用程序信息的示意图,如图4所示,起初,呈现体客户端(应用程序信息获取模块),呈现服务器和观察体客户端上的呈现体用户的应用程序信息为P1;当呈现体客户端所在客户机上的应用程序发生变化时,假设应用程序信息获取模块的应用程序信息从P1变为P2,呈现体客户端向呈现服务器发送最新的应用程序信息P2,呈现服务器将自身存储的呈现体客户端的应用程序信息从P1更新为P2,并将更新后的应用程序信息P2发送给订阅了P1的订阅体客户端;最后,呈现体客户端(应用程序信息获取模块),呈现服务器和观察体客户端上的应用程序信息均变为P2。
例如,呈现体用户正在运行网络游戏,其刚登录时,应用程序信息获取模块获得的初始应用程序信息为P1;经过一段时间后,应用程序信息获取模块收集到呈现体用户的应用程序信息变成P2,于是呈现体客户端将该应用程序信息P2提供给呈现服务器,呈现服务器搜集并更新,再将更新后的应用程序信息P2发送给已请求应用程序信息P1的观察体客户端。表1为应用程序信息变化表,该表1示出了由应用程序信息P1变化为应用程序信息P2。
表1呈现服务器搜集到包含应用程序信息的呈现信息之后,在观察体用户请求时,分发给该观察体客户端,下面具体描述呈现服务器分发应用程序信息的方法。需要说明的是,观察体客户端可以单独申请应用程序信息、也可以申请包含应用程序信息的呈现信息、还可以单独申请基本呈现信息,可以通过在申请中设置不同的申请标识来表示申请的是应用程序信息、基本程序信息、还是呈现信息。
图5是本发明呈现业务中呈现服务器发布应用程序信息实施例一的流程图,如图5所示为订阅体请求订阅呈现体客户端所在客户机上的应用程序信息,假设在呈现体客户端中设有授权模块,且呈现体客户端通过授权模块已设置监测范围即用于限制应用程序信息模块监测应用程序信息范围、授权用户信息即允许哪些观察体客户端接收应用程序信息、授权范围即用于限制观察体客户端接收的应用程序信息的范围等,应用程序信息获取模块在监测范围内对应用程序进行监测,并把获得的应用程序信息发送给呈现服务器,呈现服务器发布呈现信息具体包括以下步骤步骤500~步骤501订阅体客户端的订阅者向呈现服务器发送应用程序信息订阅请求以订阅应用程序信息,呈现服务器将接收到的应用程序信息订阅请求转发给呈现体客户端。
通常,应用程序信息订阅请求可采用会话初始协议SIP订阅请求消息来实现,应用程序信息订阅请求中主要携带有订阅者的统一资源标识符(URI)和被订阅的呈现体的URI,以及过期时间等信息;另外,还可以携带用户观察体客户端对接收到的应用程序信息进行过滤的过滤条件,比如订阅哪些应用程序信息,或者应用程序信息发生哪些变化时才通知订阅者等。
本实施例中,假设过期时间设置为不为零。
步骤502呈现体客户端通过授权装置决定是否允许该订阅请求,并确定订阅者订阅的范围;如果呈现体客户端拒绝该订阅请求,则执行步骤503a;如果呈现体客户端授权该订阅请求,则执行步骤503b。
步骤503a呈现体客户端经呈现服务器将拒绝订阅通知发送给订阅体客户端,之后结束本流程。
另外,呈现体客户端拒绝某些订阅者还可采用礼貌封禁方式,即表面上接收订阅而不提供内容,即呈现体客户端通过呈现服务器返回订阅成功的消息,而实际上并不向其提供应用程序信息。
步骤503b呈现体客户端经呈现服务器将授权订阅通知发送给订阅体客户端,同时呈现服务器将此时的呈现体客户端的应用程序信息发送给订阅体客户端。
步骤504b~步骤505b呈现体客户端的应用程序信息获取模块监视应用程序,且在监测到授权范围内的应用程序发生变化时,则将变化后的应用程序信息发送给呈现服务器,并通过呈现服务器再转送到订阅体客户端。
需要说明的是,转送给订阅体客户端的发生变化的应用程序信息是允许该订阅者接收的应用程序中发生变化的应用程序信息。
呈现体客户端和订阅体客户端均可取消订阅,订阅取消一般需通知订阅体客户端。
进一步地,观察体客户端向呈现服务器发送的应用程序信息订阅请求中还包括指定检索条件,比如检索条件为游戏名称为传奇,呈现服务器检索满足上述检索条件的自身连接的呈现体客户端后,将这些呈现体客户端的应用程序信息发送给观察体客户端。
图6是本发明呈现业务中呈现服务器发布应用程序信息实施例二的流程图,如图6所示为查询体请求查询呈现体客户端所在客户机上的应用程序信息,假设在呈现体客户端中设有授权模块,且呈现体客户端通过授权模块已设置监测范围、授权用户信息和授权范围,应用程序信息获取模块在监测范围内对应用程序进行监测,并把获得的应用程序信息发送给呈现服务器,呈现服务器发布呈现信息具体包括以下步骤步骤600~步骤601查询体客户端的查询者向呈现服务器发送应用程序信息查询请求以查询应用程序信息,呈现服务器将接收到的应用程序信息查询请求转发给呈现体客户端。
同样,应用程序信息查询请求可采用SIP订阅请求消息来实现,应用程序信息查询请求中主要携带有查询者的URI和被查询的呈现体的URI,以及过期时间等信息;另外,还可以携带过滤条件如订阅哪些应用程序信息,或者应用程序信息发生哪些变化时才通知订阅者等。
与实施例一不同的是,本实施例中,过期时间被设置为零。
步骤602呈现体客户端通过授权装置决定是否允许该查询请求,并确定订阅者查询的范围;如果呈现体客户端拒绝该查询请求,则执行步骤603a;如果呈现体客户端授权该查询请求,则执行步骤603b。
步骤603a呈现体客户端经呈现服务器将拒绝查询通知发送给查询体客户端,之后结束本流程。
步骤603b呈现体客户端经呈现服务器将授权查询通知发送给查询体客户端,同时呈现服务器将此时的呈现体客户端的应用程序信息发送给查询体客户端。
作为查询体用户,仅简单的请求查询呈现体用户的应用程序信息,而当呈现体用户的应用程序信息(未来)变化时,是不能及时接收到更新的呈现信息的。
图7是本发明呈现业务中呈现服务器发布应用程序信息实施例三的流程图,如图7所示为订阅体请求订阅呈现体客户端所在客户机上的应用程序信息,假设在呈现体客户端中设有授权模块,且呈现体客户端通过授权模块已设置监测范围,已设置包含订阅体用户标识和授权范围的授权列表并发送给呈现服务器,呈现服务器存储该授权列表;应用程序信息获取模块对应用程序进行监测,并把获得的应用程序信息发送给呈现服务器,呈现服务器发布呈现信息具体包括以下步骤步骤700订阅体客户端的订阅者向呈现服务器发送应用程序信息订阅请求以订阅应用程序信息。
步骤701呈现服务器根据自身已存储的授权列表,判断该订阅体用户的订阅体用户标识是否存在所述授权列表中,如果是,则授权该应用程序信息订阅请求,执行步骤702b;如果不是,则拒绝该应用程序信息订阅请求,执行步骤702a。
本实施例中,假设授权列表中包括观察体用户标识,本实施例中观察体用户为订阅体用户。
进一步地,呈现服务器保存判断结果,当该订阅体客户端下次再请求时,应用保存的判断结果给该订阅体客户端发送相应的应用程序信息。另外,如果呈现体客户端修改了授权列表,比如从该授权列表中删除了所述订阅体用户标识,则呈现服务器清除该保存的判断结果,以更新后的授权列表中的记录为准进行判断。
步骤702a呈现服务器将拒绝订阅通知发送给订阅体客户端,之后结束本流程。
另外,呈现体客户端拒绝某些订阅者还可采用礼貌封禁方式,即表面上接收订阅而不提供内容,即呈现体客户端通过呈现服务器返回订阅成功的消息,而实际上并不向其提供真实的应用程序信息。
步骤702b呈现服务器将授权订阅通知发送给订阅体客户端,同时呈现服务器将此时的呈现体客户端的应用程序信息发送给订阅体客户端。
步骤703b~步骤704b呈现体客户端的应用程序信息获取模块监视应用程序,且在监测到授权范围内的应用程序发生变化,则将变化后的应用程序信息发送给呈现服务器,并通过呈现服务器再转送到订阅体客户端。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种呈现业务系统,其特征在于,该系统包括用于接收、存储和分发呈现信息的呈现服务器;用于收集呈现信息并发送给呈现服务器的呈现体客户端,包括呈现体用户代理;用于向呈现服务器请求并接收呈现服务器分发的呈现信息的观察体客户端,包括观察体用户代理和观察体;其中,所述呈现体客户端还包括呈现体,用于向呈现服务器发送呈现信息或接收由呈现服务器转发的来自观察体客户端请求应用程序信息的请求;应用程序信息获取模块,用于收集应用程序的信息,将收集到的应用程序信息作为呈现信息的一部分发送给呈现体。
2.根据权利要求1所述的系统,其特征在于所述呈现信息包括基本呈现信息和呈现体客户端所在客户机上的应用程序的信息。
3.根据权利要求1所述的系统,其特征在于,所述呈现体客户端进一步包括信息转换模块,用于接收来自呈现体用户代理的预先设置的转换方式信息;接收来自应用程序信息获取模块的应用程序信息,按照所述转换方式信息对接收到的应用程序信息进行转换,并将转换后的应用程序信息发送给呈现体。
4.根据权利要求1或3所述的系统,其特征在于,所述呈现体客户端进一步包括提示模块,用于接收来自应用程序信息获取模块的提示指令,向呈现体用户代理发送提示当前准备发送的应用程序的信息;接收到用户的确认操作指令后将当前应用程序信息发送给呈现体;接收到用户的取消操作指令后丢弃当前应用程序信息。
5.根据权利要求1或3所述的系统,其特征在于,通过所述呈现体用户代理预先设置授权要求,所述呈现体客户端进一步包括授权模块,接收来自呈现体的呈现信息请求;判断所述呈现信息请求是否满足授权要求;经呈现服务器向所述满足授权要求的观察体客户端发送请求的应用程序信息。
6.根据权利要求4所述系统,其特征在于,通过所述呈现体用户代理预先设置授权要求,所述呈现体客户端进一步包括授权模块,接收来自呈现体的呈现信息请求;判断所述呈现信息请求是否满足授权要求;经呈现服务器向所述满足授权要求的观察体客户端发送请求的应用程序信息。
7.根据权利要求6所述的系统,其特征在于,所述授权模块还包括将预设授权要求发送给所述呈现服务器。
8.根据权利要求1所述的系统,其特征在于,所述观察体客户端进一步包括授权模块,用于按照预设过滤要求,过滤来自呈现服务器的应用程序信息。
9.一种呈现业务系统提供应用程序信息的方法,其特征在于,所述呈现业务系统包括呈现服务器、呈现体客户端和观察体客户端;其中,在呈现体客户端中设置用于收集应用程序信息的应用程序信息获取模块;该方法包括以下步骤A.所述应用程序信息获取模块将获得的应用程序信息发送给所述呈现服务器;所述呈现服务器存储接收到的应用程序信息;B.当所述观察体客户端请求应用程序信息时,所述呈现服务器将应用程序信息发送给所述观察体客户端。
10.根据权利要求9所述的方法,其特征在于,步骤A中,所述向呈现服务器发送应用程序信息的方法为所述应用程序信息获取模块获得的应用程序信息发生变化时,所述应用程序信息获取模块向呈现服务器发送变化后的应用程序信息;所述呈现服务器利用接收到的新的应用程序信息更新自身存储的对应应用程序信息。
11.根据权利要求9所述的方法,其特征在于,步骤B中,所述观察体客户端请求应用程序信息的方法为所述观察体客户端经所述呈现服务器向所述呈现体客户端请求,或直接向所述呈现服务器请求。
12.根据权利要求11所述的方法,其特征在于,所述观察体客户端通过会话初始化协议SIP订阅请求消息请求应用程序信息;所述SIP请求消息中携带有观察体客户端的统一资源标识符URI、呈现体客户端的URI,及过期时间。
13.根据权利要求12所述的方法,其特征在于所述过期时间设置为零时,所述观察体客户端的用户为查询者;所述过期时间设置为不为零时,所述观察体客户端的用户为订阅者。
14.根据权利要求12所述的方法,其特征在于,所述SIP订阅请求消息中还包括所述观察体客户端对接收到的应用程序信息进行过滤的过滤条件。
15.根据权利要求12或14所述的方法,其特征在于,所述SIP订阅请求消息中还包括应用程序信息检索条件。
16.根据权利要求9所述的方法,其特征在于,在呈现体客户端中设置对应用程序信息获取模块获得的应用程序信息进行转换的信息转换模块;步骤A之前,该方法还包括通过所述呈现客户端中的呈现体用户代理预设转换方式信息;步骤A中,所述应用程序信息获取模块向所述呈现服务器发送自身获得的应用程序信息之前,该方法还包括所述应用程序信息获取模块将获得的应用程序信息发送给所述信息转换模块,所述信息转换模块根据预设转换方式信息,对获得的应用程序信息进行转换后发送给所述呈现服务器。
17.根据权利要求16所述的方法,其特征在于,所述转换方式信息为数值类型的应用程序信息的各数值区间对应的文本信息、或声音信息、或图片信息、或多媒体信息。
18.根据权利要求9所述的方法,其特征在于,在呈现体客户端中设置用于提示当前准备发送的应用程序信息的提示模块;步骤A中,所述应用程序信息获取模块向所述呈现服务器发送自身获得的应用程序信息之前,该方法还包括根据应用程序信息获取模块的提示指令,提示模块通过所述呈现体客户端中的呈现体用户代理显示当前准备发送的应用程序信息,并等待用户选择确认或取消操作指令;当用户选择确认操作指令,则继续执行步骤A;若用户选择取消操作指令,则结束本方法流程。
19.根据权利要求9所述的方法,其特征在于,在呈现体客户端中设置用于判断来自观察体客户端的请求是否满足授权要求的授权模块;步骤A之前,该方法还包括通过所述呈现体客户端中的呈现体用户代理预先设置授权要求;步骤B中,所述呈现服务器将应用程序信息发送给所述观察体客户端之前,该方法还包括呈现体客户端根据预设授权要求判断所述请求是否满足授权要求;若满足,则呈现体客户端将授权响应发送给呈现服务器,呈现服务器向所述观察体客户端发送请求的应用程序信息;否则,呈现体客户端经呈现服务器向所述观察体客户端发送拒绝响应,或者发送授权响应但不发送应用程序信息。
20.根据权利要求9所述的方法,其特征在于,在呈现体客户端中设置用于判断来自观察体客户端的请求是否满足授权要求的授权模块;步骤A之前,该方法还包括通过所述呈现体客户端中的呈现体用户代理预先设置授权要求,并将所述授权要求存储到呈现服务器中;步骤B中,所述呈现服务器将应用程序信息发送给所述观察体客户端之前,该方法还包括呈现服务器根据预设授权要求判断所述请求是否满足授权要求;若满足,则呈现服务器向所述观察体客户端发送请求的应用程序信息;否则,呈现服务器向所述观察体客户端发送拒绝响应,或者发送授权响应但不发送应用程序信息。
21.根据权利要求20所述的方法,其特征在于,步骤B还包括呈现服务器存储判断结果。
22.根据权利要求19或20所述的方法,其特征在于,所述授权要求包括用于限制应用程序信息模块监测应用程序信息范围的监测范围,和/或允许指定观察体客户端接收应用程序信息的授权用户信息,和/或用于限制观察体客户端接收的应用程序信息的范围的授权范围。
23.根据权利要求22所述的方法,其特征在于所述授权用户信息存储在授权列表中。
24.根据权利要求23所述的方法,其特征在于所述授权列表中还包括授权范围。
25.根据权利要求22所述的方法,其特征在于,该方法还包括当呈现体客户端的应用程序信息获取模块监测到授权范围内的应用程序发生变化时,将变化后的应用程序信息发送给呈现服务器,并通过呈现服务器转送给观察体客户端。
26.根据权利9所述的方法,其特征在于,该方法还包括所述呈现体客户端将获得的基本呈现信息发送给呈现服务器;所述观察体客户端向呈现服务器请求基本呈现信息。
27.根据权利要求26所述的方法,其特征在于,所述基本呈现信息为呈现体用户的状态信息;所述状态信息包括在线状态、离线状态。
28.根据权利要求9所述的方法,其特征在于,步骤A中所述应用程序信息获取模块获得应用程序信息的方法为通过操作系统提供的获取进程信息函数接口/工具程序来获取正在运行的应用程序信息;或者通过访问注册表获取应用程序信息;或者通过进程间通信IPC从应用程序获取应用程序信息。
全文摘要
本发明公开了一种呈现业务系统,包括呈现服务器,用于接收、存储和分发呈现信息,呈现信息包括呈现体客户端提供的基本呈现信息和呈现体客户端中的应用程序信息获取模块提供的应用程序信息;呈现体客户端,用于向所述呈现服务器提供呈现体客户端的基本呈现信息和应用程序信息;观察体客户端,用于接收所述呈现服务器分发的呈现信息。本发明还公开了一种利用上述呈现业务系统提供应用程序信息的方法。根据本发明,可发布呈现体用户的各种应用程序信息到呈现业务中,观察体客户端可获得呈现体用户的各种应用程序信息,拓展了呈现信息的提供源。
文档编号H04L12/58GK1852314SQ20051013464
公开日2006年10月25日 申请日期2005年12月13日 优先权日2005年12月13日
发明者孙谦, 刘健 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1