专利名称:通信设备与方法
技术领域:
本发明涉及用来向和从通信设备传送消息的通信设备与方法。本发明还 涉及用来传送消息的消息管理器与计算机程序。
背景技术:
诸如移动通信装备与便携式个人计算机等通信设备正在变得越来越完 善。如此一来,可以设想可能会要求诸如智能电话、个人数字助理、以及笔 记本个人计算机等通信设备执行多个应用程序。这些应用程序有时会依赖于 从来自通信网络的信令消息,诸如会话发起协议(SIP)消息,通信设备在该 通信网络注册,以向用户提供移动服务。通信网络可以是根据移动互连网协 议运行的分组移动无线网络。 一般地,不同的应用希望接收不同的信令消息, 但是存在多个应用可能希望相同的信令消息的情况。可以理解,此类通信设 备可使用有限的能力(电气与计算两方面)与通信带宽。相应地,希望尽可 能高效地使用可用的带宽与能力。发明内容根据本发明,提供了一种通信设备,其被安排来执行多个应用程序。该应用程序用来通过通信网络通信。该通信设备包括消息管理器,用来控制 通信设备上的应用程序与通信网络之间的订阅消息事件的订阅消息的传送。 该消息事件提供响应于通过通信网络内的实体确定发生的预定条件的消息信 息。该消息管理器包括订阅表,用来存储消息事件与订阅了消息事件的应 用程序之间的关联关系。该消息管理器用来从应用程序之一接收订阅消息 事件的指令;以及根据订阅表,确定其他应用程序中的一或多个是否当前订 阅了该消息事件。如果订阅表不包括该一或多个其他应用程序与该消息事件 之间的关联关系,则消息管理器根据所述订阅指令,向通信网络传送消息来 订阅该消息事件,并且存储应用程序对其发送了订阅指令的消息事件与发送 了该订阅指令的应用程序的标识符之间的关联关系。消息管理器用来当收
到根据消息事件生成的输入消息时,向已经订阅了该消息事件的 一或多个应 用程序传送在收到的输入消息中包含的消息信息。消息管理器根据订阅表中 标识的该消息事件与 一或多个应用程序之间的关联关系,确定已经订阅了该 消息事件的 一或多个应用程序。相应地,通过在应用程序之外管理消息,并且相对于通信设备作为整体 只订阅一次消息事件,而不是相对于每个应用程序订阅消息事件,需要发送 较少的输出消息,接收较少的输入消息,这是因为在应用程序之间没有重复 的订阅。作为结果,可以减少通信设备的带宽使用量。另外,应用程序可以 动态地控制其所订阅的消息事件,而不需要通信设备一定要连续地向网络发 送订阅与解除订阅消息。消息管理器提供了向同 一移动设备上的多个应用分 发相同消息的功能。通过在通信设备上提供一种能够在对网络服务器与应用透明的情况下分 发与复制相同的消息到多个应用的本地机制,本发明的实施例可以被安排来 增强现有的技术。另外,除对服务器与客户端应用两者透明之外,还可以在 通信设备上实现新的功能,以允许更高效地利用网络资源,从而使之能够在 相同设备上提供大量的应用程序,而不用在物理上分离的设备上提供这些应 用程序。优选地,当消息管理器从应用程序之一接收解除订阅消息事件的指令时, 消息管理器从订阅表中去除该消息事件与从其收到解除订阅请求的应用程序 之间的关联关系。具体地,在这种情况下,消息管理器根据订阅表,确定在 订阅表中是否有不同于从其收到解除订阅请求的应用程序的应用程序与该消 息事件相关联,并且如果没有其他应用程序与该消息事件相关联,则向网络 实体传送为通信设备解除订阅该消息事件的消息。在一个例子中,所述消息事件可以为SIP订阅消息,并且所述输入消息 可以为SIP NOTIFY消息。例如,可以有多个知道存在感知的应用程序,例如 地址本,即时消息客户端以及按键讲话客户端,其中每个应用程序希望从网 络接收相同的存在状态通知(其可以在SIP NOTIFY信令消息中运载)。消息事件可以为网络中实体的存在状态的变化。在这种情况下,网络中 实体存在状态的变化会导致向通信设备发送SIP NOTIFY消息,并且该消息当被消息处理器接收时会导致将关于该实体存在状态的变化的通知传递给订阅 该消息事件的通信设备上的每个应用程序。 在权利要求中限定了本发明的各个方面与特征,其包括通信系统、通信 方法、消息处理器、消息过滤器、以及消息存储器。
从以下结合附图描述本发明的示范性实施例,其中相同的部件以相应的附图标记表示,其中图1示意性地显示输入SIP消息到多个应用程序的路由;图2示意性地显示根据本发明实施例的用来通过网络通信的移动通信设备;图3为显示根据本发明实施例的、用来为移动通信设备的应用程序订阅 消息事件的订阅程序的示意性流程图;图4为显示根据本发明实施例的、用来就消息事件通知移动通信设备的 应用程序的通知程序的示意性流程图;以及图5为显示根据本发明实施例的、用来为移动通信设备的应用程序解除 订阅消息事件的解除订阅程序的示意性流程图。
具体实施方式
图1示意性地显示输入会话发起协议(SIP)消息到多个应用程序的路由, 具体为应用2、 4、 6、 8。当将多个应用程序2、 4、 6、 8部署到移动通信设 备时,它们可以登记其对从网络接收特定消息的兴趣。该兴趣可以通过列出 应用程序所感兴趣的消息类型、该消息中的变量、以及这些变量的值来指定。 然后,移动通信设备对照应用程序登记感兴趣的消息列表可以检查所有输入 SIP消息,然后转发给适当的应用程序。但是,在SIP消息的情况下,存在几种限制。首先,两个或更多个应用 程序无法登记对相同消息的兴趣。第二,只有在移动通信设备处收到的消息 的单个实例被转发给单个应用。第三,应用程序只能在其被部署时登记对特定消息的兴趣,而不是任何其他时间。换言之,应用程序的过滤规则是静态 的,而不是动态的。为了使两个或更多个应用程序能够接收相同消息的拷贝,网络服务器必 须向移动通信设备发送消息的多个拷贝,每个消息相互都有些许不同,从而 它们可以不同应用为目标。这导致了浪费网络带宽资源的情况,同时还要求 改变网络服务器。图2示意性地显示用来通过网络50与网络实体60通信的移动通信设备 10。在一种实施例中,网络实体60可以为互连网协议多媒体子系统(IMS) 网络中的頂S服务器,该IMS服务器被安排了发送与接收会话发起协议(SIP ) 消息。在当前例子中,网络50为移动通信设备10登记的运营商网络。移动 通信设备10提供多个(在当前例子中为3个)应用程序。在当前例子中,应 用程序为即时消息(IM) 22、地址本24、以及应用n 26。移动通信设备10 包括收发器40,用来提供与网络50的通信信道。应用程序22、 24、 26不直接使用收发器40生成与传送去向与来自网络 50的信令消息,而是通过消息管理器30传送去向与来自网络50的消息。具 体地,不同于在每个应用程序内提供消息生成与处理,例如通过在应用程序 代码中提供会话发起协议(SIP)实时协议(RTP)层,这些功能可以通过单 独的消息管理器30来提供,消息管理器30代表所有的应用程序执行消息生 成以及通过网络的传送。在一个例子中,该功能可以通过在消息管理器30 中配备SIPRTP层来提供。通过从每个应用程序22、 24、 26中拿出公共消息 处理功能,可以减少移动通信设备中的代码与处理冗余。但是,虽然消息管 理器公用于每个应用程序22、 24、 26,应用程序自身却不需要相互交互。消息管理器30包括订阅表35,其存储在导致消息被从网络50传送给通 信设备10的所订阅消息事件与在通信设备10上配备的应用程序"、24、 26 中的一或多个之间的对应信息。在SIP的例子中,SIP环境内的订阅具有一 定的公共特性,诸如用户或者所订阅的服务,订阅所属的事件分组、来自网 络的订阅信息的提供者的身份,以及提供关于该订阅的信息的SIP消息主体 内容。这些参数可以在订阅表内与单个订阅所属的每个应用的唯一标识符一 道使用。消息管理器可以禁止向与从网络复制相同的SIP消息,从而为通信设备 的用户与网络运营商两者节省带宽。图3示意性显示订阅程序,用来为移动通信设备的应用程序订阅消息事 件。在步骤Sl,移动通信设备的应用程序生成订阅请求,以指定该应用希望 接收关于特定消息事件的消息。订阅请求被传递给消息管理器30,并且在步 骤S2,与消息管理器30的订阅表35相比较,以确定对于所请求的订阅是否 存在已有的订阅。在步骤S3,如果确定移动通信设备10当前具有此类订阅,
则在步骤S4,就该订阅向对应消息添加应用程序标识符。然后,在步骤S5, 传送关于该消息事件的、最近收到的所订阅消息信息给请求的应用程序。可替换地,如果在步骤S3确定移动通信设备10当前没有对于所请求的消息事 件的有效订阅,则在步骤S6,向订阅表35添加新订阅,其中将进行请求的 应用程序与所订阅消息事件相关联,然后在步骤S7,消息管理器30生成订 阅消息,并且将其传送给网络50,以设置对该消息事件的新订阅。然后在步骤S8,消息管理器等待关于要从网络接收的消息事件的消息, 然后在步骤S5,根据最近收到的消息,向请求的应用程序返回消息信息。此 后,与消息事件相关地收到的消息将被继续传送到订阅表35中与消息事件关 联存储的应用。图4示意性显示通知程序,用来就其订阅的消息事件通知一或多个应用 程序。在步骤SIO,消息管理器30从网络50接收关于通信设备10订阅的事 件的消息。在步骤Sll,消息处理器检查订阅表,以确定是否存在对于收到 的消息所涉及的事件的有效订阅。如果在步骤S12确定不存在此类订阅,则 这表明没有一个应用程序22、 24、 26对收到的消息感兴趣,因此不向任何一 个应用程序传送关于收到的消息的消息信息。但是,如果确定存在对消息事 件的有效订阅,则在步骤S13,向订阅表中与收到的消息涉及的消息事件关 联记录的每个应用,传送关于收到的消息的消息信息。图5示意性显示解除订阅程序,用来为移动通信设备的应用程序解除订 阅消息事件。在步骤S20,应用22、 24、 26中的一个生成解除订阅消息事件 的请求。解除订阅请求被传送给消息管理器30,在步骤S21,消息管理器30 参照订阅表,以确定哪些应用程序当前共享该订阅。如果在步骤S22确定多 个应用程序当前订阅了解除订阅请求所涉及的消息事件,则在步骤S23,从 订阅表中去除发送了解除订阅请求的应用程序的应用标识符,并且不再向解 除订阅的应用程序传送关于该消息事件的消息。不从消息管理器30向网络 5 0发送解除订阅消息,这是因为移动通信设备上还有其他应用程序要求所订 阅的消息。可替换地,如果在步骤S22确定消息事件的唯一的应用程序为希 望解除订阅消息事件的应用程序,则在步骤S24,从订阅表35去除订阅,并 且在步骤S25,向网络50发送解除订阅消息,以为移动通信设备10解除订 阅消息事件。在会话发起协议的情况下,通信设备订阅的消息事件可以为当通信设备
首次登录网络时发生的登记事件。在这种情况下,送往网络实体以为通信设备订阅该事件的消息可以为SIP REGISTER消息,并且作为登记事件的结果而 被生成以及被传送到通信设备的示例输入消息可以为200 0K消息,其确认发 生了登记。可替换地,通信设备订阅的消息事件可以为以下消息事件,其通知通信 设备网络组件的状态变化,例如网络用户的存在从离线到在线或者相反的变 化。在这种情况下,送往网络实体以为通信设备订阅事件的消息为SIP SUBSCRIBE消息,并且作为网络组件的状态变化的结果而被生成以及被传送 到通信设备的示例输入消息可以为NOTIFY消息,其提供关于消息事件的信 自、在不脱离本发明的范围的前提下,可以对先前描述的实施例进行各种变 化。例如,虽然以上实施例涉及移动通信设备,但是本发明也可用于永久附 接于网络的静态通信设备。
权利要求
1.一种通信设备,其被安排来执行多个应用程序,该应用程序用来通过通信网络通信,该通信设备包括消息管理器,用来控制通信设备上的应用程序与通信网络之间的订阅消息事件的订阅消息的传送,该消息事件提供响应于通过通信网络内的实体确定发生的预定条件的消息信息,该消息管理器包括订阅表,用来存储消息事件与订阅了消息事件的应用程序之间的关联关系,该消息管理器用来从应用程序之一接收订阅消息事件的指令;根据订阅表,确定其他应用程序中的一或多个是否当前订阅了该消息事件;并且如果订阅表不包括该一或多个其他应用程序与该消息事件之间的关联关系,则根据所述订阅指令,向通信网络传送消息来订阅该消息事件,并且存储应用程序对其发送了订阅指令的消息事件与发送了该订阅指令的应用程序的标识符之间的关联关系;其中消息管理器用来当收到根据消息事件生成的输入消息时,向一或多个应用程序传送在收到的输入消息中包含的消息信息,其中该应用程序已经根据在订阅表中标识的该消息事件与一或多个应用程序之间的关联关系订阅了该消息事件。
2. 如权利要求1所述的通信设备,其中消息管理器用来 从应用程序之一接收解除订阅消息事件的指令;响应于收到的解除订阅指令,从订阅表中去除该消息事件与从其收到解 除订阅请求的应用程序之间的关联关系。
3. 如权利要求2所述的通信设备,其中消息管理器用来根据订阅表,确定在订阅表中是否有不同于从其收到解除订阅指令的应 用程序的应用程序与该消息事件相关联,并且如果没有其他应用程序与该消 息事件相关联,则向通信网络传送为通信设备解除订阅该消息事件的消息。
4. 如上述权利要求任何一项所述的通信设备,其中所述消息为会话发起 协议(SIP)消息。
5. 如上述权利要求任何一项所述的通信设备,其中从应用程序向消息管 理器发送的订阅指令为会话发起协议(SIP)消息。
6. —种消息管理器,用来在多个应用程序与通信网络之间传送消息,该 消息表示订阅消息事件的请求,该消息事件提供响应于通过通信网络内的实体确定发生的预定条件的消息信息,该消息管理器包括订阅表,用来存储消息事件与订阅了消息事件的应用程序之间的关联关 系,该消息管理器用来从应用程序之一接收订阅消息事件的指令;根据订阅表,确定其他应用程序中的一或多个是否当前订阅了该消息事 件;并且如果订阅表不包括该一或多个其他应用程序与该消息事件之间的关 联关系,则根据所述订阅指令,向通信网络传送消息来订阅该消息事件,并 且存储应用程序对其发送了订阅指令的消息事件与发送了该订阅指令的应用 程序的标识符之间的关联关系;其中消息管理器用来当收到根据消息事件 生成的输入消息时,向一或多个应用程序传送在收到的输入消息中包含的消 息信息,其中该应用程序已经根据在订阅表中标识的该消息事件与 一或多个应用程序之间的关联关系订阅了该消息事件。
7. —种在多个应用程序与通信网络之间传送消息的方法,该消息表示订 阅消息事件的请求,该消息事件提供与通信网络内的实体所监控的预定条件 相关联的消息信息,该方法包括在订阅表中存储消息事件与订阅了消息事件的应用程序之间的关联关系,从应用程序之一接收订阅消息事件的指令;根据订阅表,确定其他应用程序中的 一或多个是否当前订阅了该消息事 件;并且如果订阅表不包括该一或多个其他应用程序与该消息事件之间的关 联关系,则根据所述订阅指令,向通信网络传送消息来订阅该消息事件,并 且存储应用程序对其发送了订阅指令的消息事件与发送了该订阅指令的应用 程序的标识符之间的关联关系;当收到根据消息事件生成的输入消息时,向 一或多个应用程序传送在收 到的输入消息中包含的消息信息,其中该应用程序已经根据在订阅表中标识 的该消息事件与一或多个应用程序之间的关联关系订阅了该消息事件。
8. —种提供计算机可执行指令的计算机程序,当被载入数据处理器时该 计算机程序使该数据处理器执行如权利要求7所述的方法。
9. 一种承载表示如权利要求8所述的计算机程序的信息的介质。
全文摘要
一种通信设备,其被安排来执行多个应用程序,该应用程序用来通过通信网络通信。该通信设备包括消息管理器,用来控制通信设备上的应用程序与通信网络之间的订阅消息事件的订阅消息的传送。该消息事件提供响应于通过通信网络内的实体确定发生的预定条件的消息信息。该消息管理器包括订阅表,用来存储消息事件与订阅了消息事件的应用程序之间的关联关系,该消息管理器用来从应用程序之一接收订阅消息事件的指令;以及根据订阅表,确定其他应用程序中的一或多个是否当前订阅了该消息事件。如果订阅表不包括该一或多个其他应用程序与该消息事件之间的关联关系,则消息管理器根据所述订阅指令,向通信网络传送消息来订阅该消息事件,并且存储应用程序对其发送了订阅指令的消息事件与发送了该订阅指令的应用程序的标识符之间的关联关系。消息管理器用来当收到根据消息事件生成的输入消息时,向已经订阅了该消息事件的一或多个应用程序传送在收到的输入消息中包含的消息信息。消息管理器根据订阅表中指定的该消息事件与一或多个应用程序之间的关联关系,确定已经订阅了该消息事件的一或多个应用程序。
文档编号H04L12/58GK101160880SQ200680012545
公开日2008年4月9日 申请日期2006年4月7日 优先权日2005年4月15日
发明者尤萨马·曼索尔, 理查德·蒂贝特 申请人:法国电信公司