CN101771549A - 一种发送通知消息的方法及装置 - Google Patents
一种发送通知消息的方法及装置 Download PDFInfo
- Publication number
- CN101771549A CN101771549A CN200810242217A CN200810242217A CN101771549A CN 101771549 A CN101771549 A CN 101771549A CN 200810242217 A CN200810242217 A CN 200810242217A CN 200810242217 A CN200810242217 A CN 200810242217A CN 101771549 A CN101771549 A CN 101771549A
- Authority
- CN
- China
- Prior art keywords
- definition
- condition
- information
- notification
- relevant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
Abstract
本发明公开了一种发送通知消息的方法及装置,一种发送通知消息的方法包括:PAL服务器接收请求消息,所述请求消息中包括通知抑制条件;PAL服务器获取业务请求者与所述通知抑制条件相关的信息;PAL服务器判断所述业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件;当不满足所述通知抑制条件时,所述PAL服务器根据所述请求消息发送通知消息。本发明通过PAL服务器判断业务请求者的信息是否满足通知抑制条件,减轻了业务请求者的客户端的负担,降低了业务请求者的客户端与PAL服务器的交互流量,从而更加有效的利用网络资源。
Description
技术领域
本发明涉及通信领域,特别涉及一种发送通知消息的方法及装置。
背景技术
呈现业务(Presence Service)是用来收集和散布呈现信息的通信业务。它的基本业务流程包括:观察体向呈现服务器订阅呈现体的呈现信息,呈现体客户端或者应用向呈现服务器发布呈现信息,呈现服务器将呈现体变化的呈现信息通知给观察体。呈现业务中的呈现信息包括在线信息、参与业务的意愿信息、心情、活动、网络状态、设备能力等等,并且呈现信息文档以呈现信息数据格式(Presence Information DataFormat,PIDF)的形式表示,并将呈现信息分为业务相关、呈现体相关、设备相关的三类信息。
现有技术中为了减少呈现业务的复杂性,引入了呈现业务接入层(Presence Access Layer,PAL)服务器来接收呈现服务器发送的呈现信息,并在进行整合计算后转发给观察体(即业务请求者)客户端。发明人在发明过程中发现,在此方案中,存在业务请求者客户端与呈现接入层服务器交互频繁,业务请求者客户端负担大的问题。
发明内容
本发明实施例提供一种发送通知消息的方法及装置其目的在于减轻业务请求者客户端的负担,降低业务请求者客户端与服务器之间的交互流量,从而更加有效的利用网络资源。
本发明实施例一方面提供了一种发送通知消息的方法,包括:
呈现接入层服务器接收请求消息,所述请求消息中包括通知抑制条件;
所述呈现接入层服务器获取业务请求者与所述通知抑制条件相关的信息;
所述呈现接入层服务器判断所述业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件;
当不满足所述通知抑制条件时,所述呈现接入层服务器根据所述请求消息发送通知消息。
本发明实施例一方面提供了一种发送通知消息的方法,包括:
接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
获取所述业务接收者与所述aspect相关的信息;
判断所述相关的信息的aspect值是否满足所述预设取值;
当满足所述预设取值时,发送所述通知消息。
本发明实施例一方面提供了一种呈现接入层服务器,包括:
业务请求接收单元,用于接收请求消息,所述请求消息中包括通知抑制条件;
获取单元,用于获取业务请求者与所述通知抑制条件相关的信息;
判断单元,用于判断所述相关的信息是否满足所述通知抑制条件;
发送单元,用于当所述相关的信息不满足所述通知抑制条件时,根据所述请求消息发送通知消息。
本发明实施例一方面提供了一种发送通知消息的装置,包括:
请求接收单元,用于接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
获取单元,用于获取所述业务接收者与所述aspect相关的信息;
判断单元,用于判断所述相关的信息的aspect值是否满足所述预设取值;
通知单元,用于当满足所述预设取值时,发送所述通知消息。
本发明实施例提供的一种发送通知消息的方法及装置,通过PAL服务器判断业务相关者的信息是否满足通知抑制条件或通知触发条件,并将通知触发条件以aspect方式来表示,减轻了业务请求者的客户端的负担,降低了业务请求者的客户端与PAL服务器的交互流量,从而更加有效的利用网络资源。
附图说明
图1为本发明实施例一种发送通知消息的方法的流程图;
图2为本发明实施例另一种发送通知消息的方法的流程图;
图3为本发明实施例又一种发送通知消息的方法的流程图;
图4为本发明实施例一种PAL服务器的结构示意图;
图5为本发明实施例另一种PAL服务器的结构示意图;
图6为本发明实施例一种发送通知消息的方法的流程图;
图7为本发明实施例另一种发送通知消息的方法的流程图;
图8为本发明实施例又一种发送通知消息的方法的流程图;
图9为本发明实施例一种发送通知消息的装置的结构示意图;
图10为本发明实施例另一种发送通知消息的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为本发明实施例一种发送通知消息的方法的流程图,包括:
S11,PAL服务器接收请求消息,所述请求消息中包括通知抑制条件。
请求消息由业务请求者的客户端发送。可以是业务触发请求,也可以是订阅请求,请求的业务的接收方可以是一方或多方,如业务请求者可以同时请求PAL服务器向多人发送会话邀请。
通知抑制条件,表示当业务请求者的相关信息满足抑制条件时,PAL服务器不执行某个动作。
S12,PAL服务器获取业务请求者与所述通知抑制条件相关的信息。
PAL服务器解析该通知抑制条件,得知该通知抑制条件涉及到业务请求者的哪些信息,然后去相应的服务器获取业务请求者的与该通知抑制条件相关的信息。响应的服务器可以是呈现服务器,也可以是位置服务器等。如:通知抑制条件为业务请求者不在线时不向其发送通知,那么与该通知抑制条件相关的信息为该业务请求者的呈现状态,呈现接入层服务器则向呈现服务器去获取该业务请求者的在线状态。
S13,PAL服务器判断所述相关的信息是否满足所述通知抑制条件。
接S12中的例子,如果该业务请求者此时不在线,那么即为满足该通知抑制条件,如果该业务请求者此时在线,那么即为不满足该通知抑制条件。
S14,当不满足所述通知抑制条件时,PAL服务器根据所述请求消息发送通知消息。
通知消息的接收方可以是业务请求的发送方,也可以是业务请求的被请求方,还可以是应用服务器。
如,当该请求消息为一个业务触发请求时,PAL服务器可以向对应的应用服务器或被请求方客户端发送业务触发通知。当该请求消息为订阅请求时,PAL服务器向业务请求者发送变化后的被订阅信息通知。
本实施例中,通过PAL服务器在执行请求消息要求的对应的操作前,判断业务请求者的信息是否满足通知抑制条件,减轻了业务请求者的客户端的负担,降低了业务请求者的客户端与PAL服务器的交互流量,从而更加有效的利用网络资源。减少了对业务请求者的干扰,提升了用户体验。
进一步的,通知抑制条件可以以业务请求者的特定视图aspect满足预设取值时来表示,aspect是对一个或多个信息元素的概括。
特定aspect可以是一个特定的aspect或多个特定的aspect,如通知抑制条件中同时要求标识为“name1”的aspect和标识为“name1”的aspect分别满足相应的预设取值。
预设取值可以是一个值,如以“true”,“false″表示的取值,也可以是一定的取值范围,取值范围可以是以列举的多个值的形式,也可以以取值区间的形式来表示,如预定一个范围,要求大于某个值,小于某个值。
本发明实施例中提到的aspect是对单个或多个呈现信息元素,或者呈现信息元素与其他类型信息元素组合(包括位置信息,个人基本信息等)的逻辑抽象,即aspect是与该aspect相关的信息按照一定规则的整合结果。PAL中的aspect包括系统定义的aspect,如:“availability”(可提供,表示在线信息),“willingness”(意愿,表示参与业务的意愿),除此之外,PAL支持aspect的定制和扩展,即不同用户,业务以及群组可自定义所需的aspect。
具体地,aspect的定义应当包括:aspect与哪些信息相关,当各信息元素满足什么条件时时aspect取什么值,即aspect的计算规则。若aspect的定义采用xml格式表示,举例来说,可为如下形式:
<aspect name=“convenience”>
<result id=“a”>
<prs-elements>
<status>open</status>
<session-participation>closed</session-participation>
</prs-elements>
<loc-elements>
<in value=“false”>
<gs:Circle srsName=″urn:ogc:def:crs:EPSG::4326″
xmlns:gs=″http://www.opengis.net/pidflo/1.0″
xmlns:gml=″http://www.opengis.net/gml″>
<gml:pos>42.5463-73.2512</gml:pos>
<gs:radius uom=″urn:ogc:def:uom:EPSG::9001″>
850.24
</gs:radius>
</gs:Circle>
<in>
</loc-elements>
<value>true</value>
</result>
<result id=“b”>
<prs-elements>
<status>others</status>
<session-participation>others</session-participation>
</prs-elements>
<loc-elements>
<in value=“true”>
......
</in>
</loc-elements>
<value>false</value>
</result>
</aspect>
其中,元素<aspect>表示aspect的定义;其属性name表示该aspect的标识,此例中aspect标识为“convenience”;当然aspect除了运用名称来作为标识外,还可通过序列号,链接等方式作为标识进行区分。它的子元素<result>表示aspect的取值,它具有属性id,用以区分不同的<result>元素,即aspect的不同取值。<result>元素包括子元素<prs-elements>,<loc-elements>及<value>,分别表示呈现信息元素,位置信息元素与aspect值,<result>元素还可以扩展更多子元素,以支持更多类型的信息元素。其中,<prs-elements>元素包含子元素<status>和<session-participation>,取值分别为“open”与“closed”,分别表示在线与正参加会话,<loc-elements>元素具有子元素<in>,表示是否在此区域内,它的属性value取值为“false”表示不在此区域内。<in>的子元素<Circle>表示区域信息,它的子元素<pos>和<radius>分别表示圆点与半径。<value>取值为“true”表示在上述呈现信息元素与位置信息元素取上述值时,aspect取值为“true”,id为“b”的<result>元素中的各子元素含义与上述id为“a”的<result>元素中的各子元素相同,只是取值不同,“others”表示当这些呈现信息元素与位置信息元素取其他值时,aspect取值为“false”。
另外,aspect还支持嵌套,即aspect可由其他多个aspect组成,具体地,该aspect的取值取决于其他相关aspect的取值,如:“reachability”aspect可由“availability”aspect与“willingness”aspect组成,其定义若采用xml格式,则可表示为:
<aspect name=“reachability”>
<result id=”a”>
<sub_aspect name=”availability”>
true
</sub_aspect>
<sub_aspect name=”willingness”>
true
</sub_aspect>
<value>true</value>
</result>
<result id=”a”>
<sub_aspect name=”availability”>
false
</sub_aspect>
<sub_aspect name=”willingness”>
false
</sub_aspect>
<value>false</value>
</result>
</aspect>
其中,<sub_aspect>表示构成该aspect定义的相关aspect,本发明中称其为子aspect,其属性name表示该子aspect的标识。
通知抑制条件以业务请求者的特定aspect满足预设取值来表示如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-suppnot-filter xmlns=″urn:oma:xml:prs:pidf:oma-palsuppnotfilter“>
<suppnot-filter id=″a″>
<aspect>
<name>convenience</name>
<value>false</value>
</aspect>
<inexecution>
<service>IM-session</service>
</inexecution>
</suppnot-filter>
</pal-suppnot-filter>
即当标识为convenience的aspect取值为false时,不发送进行即时消息会话的业务触发通知。上述例子中的aspect还可以表示为:
</aspect>
<name>convenience</name>
<value id=”a”>session-inconvenience</value>
<value id=”b”>location-inconvenience</value>
</aspect>
即当标识为convenience的aspect取值满足多个取值中的任意一个时,不发送进行即时消息会话的业务触发通知。
当通知抑制条件以业务请求者的特定视图aspect满足预设取值时来表示时,S12具体包括:
PAL服务器根据通知抑制条件获取该aspect的定义,并根据该aspect的定义获取业务请求者与该aspect相关的信息;
通知抑制条件中可以携带如下信息:1、aspect的标识,如上述通知抑制条件的例子,2、aspect的定义,即通知抑制条件中直接包括了该aspect的定义。
当通知抑制条件中只包括aspect的标识时,PAL服务器需要去查找该aspect标识对应的aspect定义,aspect可以预先定义好并保存在特定存储装置中,PAL服务器可以通过XCAP(Xml configuration access protocol,xml配置访问协议)协议中的GET方法从特定存储装置中获取aspect定义,并根据aspect定义去保存与该定义相关的信息的服务器中获取需要的业务请求者的信息。
当通知抑制条件中携带了aspect的定义时,PAL服务器直接根据该定义去保存与该定义相关的信息的服务器中获取需要的业务请求者的信息。
并且,呈现接入层服务器可以保存所述aspect的定义,并向所述业务请求者返回所述aspect的定义的存储路径。
具体是将所述aspect的定义保存到特定存储装置,如XDMS(XMLDocument Management Server,xml文档管理服务器)中,可以是根据客户端的指示保存到特定存储装置中,也可以是PAL服务器发现通知抑制条件中携带的aspect的定义没有保存,主动将其保存到特定存储装置中。
S13中PAL服务器判断所述相关的是否满足所述通知抑制条件包括:
PAL服务器根据aspect的定义计算所述业务请求者与所该aspect相关的信息的aspect值;
如上面所述,aspect定义中包括aspect值的计算规则,PAL服务器需要计算所述业务请求者与该aspect相关的信息的aspect值,以便与通知抑制条件中要求的aspect的预设取值做比较。如根据上面aspect的定义举例,如果业务请求者此时在线,并且没有参加会话,则PAL服务器计算标识为“convenience”的aspect取值为“true”。
计算出aspect取值后,PAL服务器还需要判断该aspec值是否满足所述预设取值,当不满足所述预设取值时,判断为不满足所述通知抑制条件。
接上例,PAL服务器计算标识为“convenience”的aspect取值为“true”。此时不满足通知抑制条件中的标识为“convenience”的aspect取值“false”,即不满足通知抑制条件。
在本实施例中,通过以业务请求者的特定视图aspect满足预设取值来表示通知抑制条件,使得业务请求者在请求消息中只需要携带较少信息即可,减轻了业务请求者客户端的负担。
本发明实施例中,具体的,S11中的请求消息可以是业务触发请求或订阅请求。
业务触发请求是指根据预设取值触发或者不触发某种业务的请求,这时候,业务触发请求中通常会携带通知触发条件,要求PAL服务器判断业务接收者的相关信息是否满足通知触发条件,当然,PAL服务器也可以仅根据业务请求者的相关信息来决定是否进行业务触发,如上述通知抑制条件的例子。
当所述请求消息为订阅请求时,PAL服务器收到该订阅请求后,根据所述订阅请求订阅被订阅者的相关信息,以下将订阅的被订阅者的相关信息称为被订阅信息。需要发送的通知消息即变化后的被订阅信息通知,即将变化后的被订阅信息通知给业务请求者,该被订阅信息可以是以aspect方式来表示,可以是计算出变化后的被订阅信息的aspect值,将该aspect值通知给业务请求者。
此时PAL服务器判断业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件具体为:当被订阅信息发生变化时,判断所述业务请求者的所述相关的信息是否满足所述通知抑制条件。
当判断为不满足所述通知抑制条件时,PAL服务器变化后的被订阅信息通知给业务请求者。
本发明另一实施例中,S11中的请求消息中还可以包括通知触发条件,PAL服务器还需要获取业务接收者与通知触发条件相关的信息;并判断业务接收者与通知触发条件相关的信息是否满足所述通知触发条件,当业务接收者与通知触发条件相关的信息满足所述业务触发条件,并且业务请求者与通知抑制条件相关的信息不满足所述通知抑制条件时,PAL服务器才发送通知消息。
通知触发条件可以以业务接收者的特定aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括。
PAL服务器还判断业务接收者的与所述aspect的相关信息的aspect值是否满足该预设取值,当满足时,判断为满足所述通知触发条件。
本实施例中,PAL服务器在发送通知消息之前,通过判断业务接收者和业务请求者双方的相关信息是否满足对应的条件来决定是否发送通知消息,并将通知触发条件以特定aspect满足预设取值时来表示,减轻了客户端的负担,以及与服务器之间的交互流量,提高了网络资源的利用效率,并为请求者带来操作上的简便。
另外,本发明实施例中,当业务请求者与所述通知抑制条件相关的信息满足所述通知抑制条件时,PAL服务器监控业务请求者与所述通知抑制条件相关的信息。此时,PAL服务器不发送通知消息,但是PAL服务器会监控业务请求者的相关信息,并在业务请求者的相关信息变化后,判断其变化后的相关信息是否满足所述通知抑制条件,直到通知抑制条件不再满足,PAL服务器才发送通知消息。
图2为本发明实施例另一种发送通知消息的方法的流程图,其中请求消息为业务触发请求,并且包括通知抑制条件和通知触发条件。通知抑制条件以所述业务请求者的特定视图aspect满足预设取值时来表示,通知触发条件以业务接收者的特定aspect满足预设取值时触发某种业务来表示。
本实施例中,用户A希望当他的同事中有5个人的标识为“PoC-willingness”aspect值为“true”时和他们进行群组会话,即由PAL服务器触发PoC(Push-to-talk Over Cellular,无线一键通)服务器发起群组会话,但是若此时他自身参与到其他会话中,即其标识为“session-convenience”aspect值为”false”时,则PAL服务器暂不触发业务。
S21,用户A通过PAL客户端发送业务触发请求至PAL服务器,该请求中除包括通知触发条件外,还包括通知抑制条件,若该请求消息采用SIP SUBSCRIBE实现,则该消息如下所示:
SUBSCRIBE sip:workmates@example.com SIP/2.0
Via:SIP/2.0/TCP terminal.example.com;
branch=z9hG4bKwYb6QREiCL
Max-Forwards:70
To:<sip:workmates@example.com>
From:<sip:a@example.com>;tag=ie4hbb8t
Call-ID:cdB34qLToC@terminal.example.com
CSeq:322723822 SUBSCRIBE
Contact:<sip:terminal.example.com>
Event:pal
Expires:600
Accept:application/resource-lists+xml
Content-Length:......
Content-Type:multipart/mixed;boundary=example-1
--example-1
Content-Type:application/pal-trigger+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-trigger xmlns=″urn:oma:xml:pal-trigger″>
<trigger>
<condition>
<changed to=“true”>
<aspect>PoC-willingness</aspect>
</changed>
<number flag=”min”>5</number>
</condition>
<action id=”a”>
<service>PoC-groupsession</service>
</action>
</trigger>
</pal-trigger>
--example-1
Content-Type:application/pal-suppnot-filter+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-suppnot-filter xmlns=″urn:oma:xml:prs:pidf:oma-palsuppnotfilter“>
<suppnot-filter id=“a″>
<aspect>
<name>session-convenience</name>
<value>false</value>
</aspect>
</suppnot-filter>
</pal-suppnot-filter>
--example-1-
其中,<pal-trigger>元素表示PAL中的视图触发aspect trigger,aspecttrigger用于监控aspect值的变化,当aspect值满足aspect trigger时,PAL服务器进行相应操作。其子元素<trigger>表示一个具体的触发设置,其包括子元素<condition>和<action>,分别表示触发条件和触发条件满足时的触发动作。<condition>元素的子元素<changed>表示值的改变,其属性to取值为“true”表示值变为“true”,其子元素<aspect>取值为“PoC-willingness”表示该条件是监控“PoC-willingness”aspect的值的改变。另一元素<action>具有子元素<service>,表示当触发条件满足时触发的业务类型,本实施例中为PoC-groupsession,即无线一键通群组会话。<number>元素作为<condition>元素的子元素,表示满足<changed>元素表示的条件的人数应当满足的条件,其属性flag取值为“min”,表示最少人数。另外,消息体的第二部分中的<pal-suppnot-filter>元素表示业务触发抑制条件,其子元素<suppnot-filter>表示一个具体的抑制条件,它的子元素<aspect>表示该抑制条件基于的aspect,<name>元素和<value>元素为<aspect>元素的两个子元素,分别表示aspect的标识以及取值。
其中,通知抑制条件基于用户A的“session-convenience”aspect值。<pal-suppnot-filter>元素表示抑制条件,即当A的标识为“session-convenience”的<aspect>值为false时,PAL服务器不触发无线一键通群组会话。
S22,PAL服务器对接收到的请求进行解析后,根据向RLS(ResourceList Server,资源列表服务器)获取用户A的同事与“PoC-willingness”aspect相关的信息。
具体是,PAL服务器首先去保存aspect定义的服务器中获取标识为“PoC-willingness”的定义,看该定义涉及哪些信息元素,然后向RLS(Resource List Server,资源列表服务器)获取用户A的同事与“PoC-willingness”aspect相关的信息。
S23,RLS返回用户A的同事的相关信息。
S24,PAL服务器根据“PoC-willingness”aspect中定义的计算规则计算用户A的各同事的“PoC-willingness”aspect值,并判断是否满足群组会话触发条件,即是否有至少五人的该aspect值为“true”,此时,该aspect值为“true”的少于五人,PAL服务器判断得出当前触发条件不满足。PAL服务器继续监控列表的各同事的与“PoC-willingness”aspect相关的信息。
S25,PAL服务器将当前满足条件的同事的URI通知给业务请求者PAL客户端。该通知消息也采用SIP NOTIFY实现,如下所示:
NOTIFY sip:a@example.com SIP/2.0
Via:SIP/2.0/TCP pal-server.example.com;branch=z9hG4bK4EPlfSFQK1
Max-Forwards:70
From:<sip:pal-server.example.com>;tag=zpNctbZq
To:<sip:a@example.com>;tag=ie4hbb8
Call-ID:cdB34qLToC@terminal.example.com
CSeq:997935769NOTIFY
Contact:<sip:pal-server.example.com>
Event:pal
Subscription-State:active;expires=600
Content-Type:application/resource-lists+xml
Content-Length:...
<?xml version=″1.0″encoding=″UTF-8″?>
<resource-lists xmlns=″urn:ietf:params:xml:ns:resource-lists″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″>
<list>
<entry uri=″sip:workmate1@example.com″/>
<entry uri=″sip:workmate5@example.com″/>
</list>
</resource-lists>
其中,<resource-lists>元素表示满足条件的同事,其子元素<list>表示同事的列表,它具有子元素<entry>表示单个满足条件的同事的信息,其属性uri表示该同事的身份标识。
S26,RLS将用户A同事发生变化的呈现信息通知给PAL服务器。
S27,PAL服务器再次计算用户A各同事的“PoC-willingness”aspect值,得出通知触发条件已经满足。
S28,PAL服务器向呈现服务器获取用户A的与“session-convenience”aspect相关的信息。
具体是先向保存aspect定义的服务器获取标识为“session-convenience”的aspect的定义,然后根据该定义向呈现服务器获取用户A的与“session-convenience”aspect相关的信息。
S29,呈现服务器返回用户A的呈现信息至PAL服务器。
S210,PAL服务器计算用户A的“session-convenience”aspect值,得出该值为true,不满足用户A设置的业务触发抑制条件的指定的值false,因此可以触发群组会话。
如果PAL服务器计算得出用户A的“session-convenience”aspect值为false,即满足所述业务触发抑制条件,则PAL服务器不发送触发群组会话的通知,而是继续监控用户A与session-convenience”aspect相关的信息。
S211,PAL服务器向PoC服务器发送群组会话触发通知,通知中包括参与群组会话的人员标识,触发的业务为群组会话等。若该通知消息采用SIP MESSAGE实现,则消息如下所示:
MESSAGE sip:PoC-server.example.com SIP/2.0
From:sip:pal-server.example.com;tag=49513
To:sip:PoC-server.example.com
Content-Type:application/pal-sernot+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-semot xmlns=″urn:oma:xml:pal-sernot″
xmlns:l=″urn:ietf:params:xml:ns:resource-lists″>
<l:list>
<l:entry uri=″sip:a@example.com″/>
<l:entry uri=″sip:workmate1@example.com″/>
<l:entry uri=″sip:workmate7@example.com″/>
<l:entry uri=″sip:workmate14@example.com″/>
<l:entry uri=″sip:workmate15@example.com″/>
<l:entry uri=″sip:workmate21@example.com″/>
</l:list>
<service>
PoC-groupsession
</service>
</pal-sernot>
本发明实施例中,通过在业务触发请求中携带通知触发条件和通知抑制条件,并用aspect满足预设取值来表示这些条件,PAL服务器结合业务接收者和业务请求者的相关信息来判断是否进行业务触发,减少了业务请求者客户端的负担,及其与PAL服务器之间的交互流量,提高了网络资源利用效率,并为请求者带来操作上的简便。
图3为本发明实施例又一种发送通知消息的方法的流程图。其中,请求消息为订阅请求,用户A希望与用户B进行CPM(Converged IPMessaging,融合IP消息)会话,因此关注用户B是否能通过CPM联系上,于是用户A向PAL服务器订阅用户B的“CPM-reachability”aspect,并且希望当自己不方便进行通话(与其他人正在进行通话或者在会议室)时(即用户A的“convenience”aspect为false时),服务器不发送用户B的标识为“CPM-reachability”的aspect改变通知给自己。
S31,用户A通过PAL客户端向PAL服务器发送请求,请求订阅用户B的“CPM-reachability”aspect值,该订阅请求携带了用户A设置的通知抑制条件,即若自身的“convenience”aspect值为“false”时,服务器不发送通知给自己。若该订阅请求采用SIP SUBSCRIBE,则消息如下所示:
SUBSCRIBE sip:b@example.com SIP/2.0
Via:SIP/2.0/TCP terminal.example.com;
braneh=z9hG4bKwYb6QREiCL
Max-Forwards:70
To:<sip:b@example.com
From:<sip:a@example.com>;tag=ie4hbb8t
Call-ID:cdB34qLToC@terminal.example.com
CSeq:322723822SUBSCRIBE
Contact:<sip:terminal.example.com>
Event:pal
Expires:600
Accept:application/aspect-result+xml
Content-Length:......
Content-Type:multipart/mixed;boundary=example-1
--example-1
Content-Type:application/pal-aspect+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-aspect xmlns=″urn:oma:xml:pal-aspect″>
<aspect id=“a”>
CPM-reachability
</aspect>
</pal-aspect>
--example-1
Content-Type:application/pal-suppnot-filter+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-suppnot-filter xmlns=″urn:oma:xml:prs:pidf:oma-palsuppnotfilter“>
<suppnot-filter id=“a″>
<aspect>
<name>convenience</name>
<value>false</value>
</aspect>
</suppnot-filter>
</pal-suppnot-filter>
--example-1--
其中,消息体第一部分中的元素<pal-aspect>表示订阅的aspect信息,其子元素<aspect>表示单个被订阅的aspect信息,本实施例中为“CPM-reachability”。另外,消息体的第二部分中的各元素的含义与图2所述的实施例中相应元素相同,在此不再赘述。
S32,PAL服务器解析接收到的订阅请求,并根据“CPM-reachability”aspect的定义向呈现服务器获取用户B的相关呈现信息。
具体是先向保存aspect的定义的服务器获取“CPM-reachability”aspect的定义,再向呈现服务器获取用户B的与该aspect定义相关的呈现信息。S33,呈现服务器返回用户B的相关呈现信息。
S34,PAL服务器根据“CPM-reachability”aspect定义中规定的计算规则,对接收到的用户B的相关呈现信息进行计算,得出用户B的该aspect的当前取值。
S35,PAL服务器通知用户A的PAL客户端用户B的当前“CPM-reachability”aspect取值。若该通知消息采用SIP NOTIFY,则消息如下所示:
NOTIFY sip:a@example.com SIP/2.0
Via:SIP/2.0/TCP pal-server.example.com;branch=z9hG4bK4EPlfSFQK1
Max-Forwards:70
From:<sip:pal-server.example.com>;tag=zpNctbZq
To:<sip:a@example.com>;tag=ie4hbb8
Call-ID:cdB34qLToC@terminal.example.com
CSeq:997935769NOTIFY
Contact:<sip:pal-server.example.com>
Event:pal
Subscription-State:active;expires=600
Content-Type:application/aspect-result+xml
Content-Length:...
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-result xmlns=″urn:oma:xml:pal-result″>
<entry uri=“sip:b@example.com”>
<aspect name=“CPM-reachability”>true</aspect>
</entry>
</pal-result>
其中,各元素的含义与图2所示实施例中相应元素的含义相同,在此不再赘述。
S36,呈现服务器通知PAL服务器用户B的变化后的呈现信息。
S37,PAL服务器再次计算用户B的“CPM-reachability”aspect值。
S38,PAL服务器向呈现服务器获取用户A的与“convenience”aspect相关的呈现信息。
具体是先向保存aspect定义的服务器获取标识为“convenience”的aspect的定义,再向呈现服务器获取用户A的与该aspect定义相关的呈现信息。
S39,呈现服务器返回用户A的呈现信息至PAL服务器。
S310,PAL服务器向位置服务器Location Server获取用户A的“convenience”aspect相关的位置信息。
由于“convenience”aspect的定义中还涉及到用户A的位置信息,所以PAL服务器还需要向Location Server获取用户A的“convenience”aspect相关的位置信息。
S311、Location Server返回用户A的位置信息至PAL服务器。
S312、PAL服务器根据“convenience”aspect的定义中以及接收到的用户A的呈现信息与位置信息,计算用户A的当前“convenience”aspect值为“true”,因此不满足通知抑制条件。
S313、PAL服务器向用户A的PAL客户端通知用户B变化后的呈现信息,此呈现信息可以用用户B的变化后的“CPM-reachability”aspect值来表示。
本实施例中,通过在订阅请求中包括请求者基于自身状态信息的设置的通知抑制条件,PAL服务器在发送通知之前依据请求者的当前状态是否满足通知抑制条件来决定是否发送该通知,从而避免了发送请求者不希望接收的通知,减弱了对请求者的干扰,并且降低了请求者客户端与服务器之间的交互流量,更加有效地利用了网络资源。
进一步的,在图3所述的实施例中,还可以在订阅请求中增加通知触发条件,即表示当被订阅信息满足预定条件时才判断请求者的状态信息是否满足通知抑制条件。
具体,通知触发条件可以表示为:
<pal-trigger xmlns=″urn:oma:xml:pal-trigger″>
<changed to=“available”>
<aspect id=″a″>IM-availability</aspect>
</changed>
</pal-trigger>
即当被订阅者的“IM-availability”aspect值变为available时,才考虑向请求者客户端发送变化后的被订阅信息,具体是发送被订阅信息的aspect值。这样,可以进一步减少请求者客户端和PAL服务器的负担,以及请求者客户端与PAL服务器的交互。
图4为本发明实施例一种PAL服务器的结构示意图,包括:
业务请求接收单元401,用于接收请求消息,所述请求消息中包括通知抑制条件。
业务请求接收单元401实现上述功能的具体过程可参见S11的说明。
获取单元402,用于获取业务请求者与所述通知抑制条件相关的信息。
具体的获取过程可以参见S12的说明。
判断单元403,用于判断所述相关的信息是否满足所述通知抑制条件。
具体的判断过程可以参见S13的说明。
通知单元404,用于当所述相关的信息不满足所述通知抑制条件时,根据所述请求消息发送通知消息。
具体实现过程可参见S14的说明。
本实施例提供的PAL服务器,可以根据判断业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件;减轻了业务请求者的客户端的负担,降低了业务请求者的客户端与PAL服务器的交互流量,从而更加有效的利用网络资源。减少了对业务请求者的干扰,提升了用户体验。
进一步的,如图5所示,在本实施例中通知抑制条件可以所述通知抑制条件以所述业务请求者的特定视图aspect满足预设取值来表示,所述aspect是对一个或多个信息元素的概括。
获取单元402可以包括:
第一获取模块402a,用于根据所述通知抑制条件获取所述aspect的定义;
具体是根据通知抑制条件中携带的aspect标识去保存aspect定义的服务器中获取aspect的定义,或直接获取通知抑制条件中携带的aspect的定义。
第二获取模块402b,用于根据所述aspect的定义获取业务请求者与所述aspect相关的信息;
具体是向保存相关信息的服务器中获取业务请求者与aspect相关的信息;如向位置服务器获取位置信息,向呈现服务器获取状态信息。
判断单元403具体用于根据根据所述aspect的定义计算所述业务请求者与所述aspect相关的信息的aspect值;并判断所述aspect值是否满足所述预设取值。
具体实现可参见图2和图3所示实施例中的说明,在此不赘述。
可选的,该PAL服务器还可以包括保存单元405,用于当所述通知抑制条件中携带所述aspect的定义时,保存所述aspect的定义。
具体可是根据客户端的指示将所述aspect的定义保存到特定的存储装置中,也可以是发现所述aspect的定义没有保存时,将其保存到特定的存储装置中。
返回单元406,用于向所述业务请求者返回所述aspect和/或aspecttrigger的定义的存储路径。
监控单元407,用于当判断为满足所述通知抑制条件时,监控所述业务请求者与所述通知抑制条件相关的信息。
当请求消息中还包括通知触发条件;并且通知触发条件以业务接收者的特定aspect满足预设取值时触发某种业务来表示时,判断单元403还用于判断业务接收者的与所述aspect的相关信息的aspect值是否满足所述预设取值当满足时,判断为满足所述通知触发条件;通知单元404具体用于当满足所述通知触发条件时并且不满足所述通知抑制条件时,所述发送通知消息。
图6为本发明实施例一种发送通知消息的方法的流程图,包括:S61,接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括。
aspect的概念和定义可以参见图1所示的实施例中的说明,在此不赘述。
S62,获取所述业务接收者与所述aspect相关的信息。
PAL服务器根据通知触发条件获取所述aspect的定义;并根据所述aspect的定义获取所述业务接收者与所述aspect相关的信息。
通知触发条件中可以携带如下信息:1、视图触发aspect trigger的标识,2、aspect trigger的定义,3、aspect trigger的标识及aspect的定义,4、aspect trigger的定义及aspect的定义。
aspect trigger用于监控aspect值的变化,表示aspect值满足预设取值时指示PAL服务器进行相应操作。其定义示例如下:
<trigger name=″IM-session on IM-availability″>
<condition id=″a″>
<changed to=“available”>
<aspect id=″a″>IM-availability</aspect>
</changed>
......
</condition>
<action>
<service>IM-session</service>
......
</action>
</trigger>
其中,trigger表示trigger的定义,其属性name表示其标识,本例中为“IM-session on IM-availability”,它的子元素<condition>以及<action>分别表示触发条件以及触发动作,<action>的子元素<changed>表示基于aspcet值改变的条件,其属性to表示变化为特定值,其子元素<aspect>指出该变化条件是针对哪个或哪些aspect的,<changed>为可选元素,即除了基于aspect值改变的条件,trigger还可以基于其他类型的条件,如满足条件的人数等等,具体地可根据实际的特定需求进行相关设置,<action>元素中的<service>表示触发的业务类型,它也为可选元素,即触发动作不限于此,还可包括业务终止等其他类型的动作。
通知触发条件可以只携带发aspect trigger的标识,如通知触发条件表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-trigger xmlns=″urn:oma:xml:pal-trigger″>
<trigger id=″a″>
<reference form=″name″>IM-session on IM-availability</reference>
</trigger>
</pal-trigger>
其中<pal-trigger>表示pal的aspect trigger,其子元素<trigger>表示具体的一个trigger,其属性id用于标识该trigger,它具有子元素<reference>表示通过引用的方式来使用trigger,其属性form表示通过方式来引用trigger,其取值可为″name″,″sequence″,″url″分别表示名称,序列号,引用路径的方式。
因为aspect trigger中已经包含aspect的标识,如果通知触发条件已经包含aspect trigger,就不必再携带aspect的标识,但其可以直接携带涉及到的aspect trigger的定义或者aspect的定义。aspect的定义可以参见图1所示的实施例中的说明,在此不赘述。
PAL服务器根据通知触发条件获取所述aspect的定义包括:
根据所述通知触发条件中携带的aspect trigger的标识获取所述aspecttrigger的定义,再根据所述aspect trigger的定义获取所述aspect的标识,并根据所述aspect的标识获取所述aspect的定义;
或,根据通知触发条件中携带的aspect trigger的定义获取所述aspect的标识,根据所述aspect的标识获取所述aspect的定义;
具体是向保存aspect trigger的定义和aspect的定义的服务器获取其定义,aspect trigger的定义和aspect的定义的定义可以保存在一个服务器中。
另外,PAL服务器还可以获取通知触发条件中携带的aspect的定义。
S63,判断所述相关的信息的aspect值是否满足所述预设取值。
具体包括:
PAL服务器根据所述aspect的定义计算所述所述业务接收者与所述aspect相关的信息的aspect值。
可以参见S12b中的说明,此时S12b中的业务请求者为业务接收者。
PAL服务器判断所述aspect值是否满足所述预设取值。
S64,当满足所述预设取值时,发送所述通知消息。
通知消息的接收方可以是请求消息的发送方,即业务请求方,也可以是业务接收方,还可以是应用服务器,业务接收方可以是一个或两个以上。
本实施例中,通过采用aspect来设置通知触发条件的方式,可以减少请求消息消息的字节大小,使业务请求者无需针对条件中的每个信息元素赋值,可以减轻客户端的负担,节省客户端与服务器之间的交互流量,为请求者带来操作上的简便。
另外,在本实施例的基础上,如果通知触发条件中直接携带了aspecttrigger和/或aspect的定义,PAL服务器发现该aspect trigger和/或aspect的定义没有保存时,可以保存aspect trigger和/或aspect的定义,并向业务请求者返回该aspect trigger和/或aspect的定义的存储路径。具体是将aspecttrigger和/或aspect的定义保存到特定的存储装置中,可以是根据终端指示保存,也可以是自己主动保存。以便用户下次使用同样的aspect trigger和/或aspect是可以直接提供标识即可,为用户带来操作上的简便。
并且,上述实施例中,S63中PAL服务器判断业务接收者与aspect的相关信息的aspect值不满足预设取值时,PAL服务器监控业务接收者与aspect的相关信息,当业务接收者与aspect的相关信息发生变化时,再进行判断其变化后的相关信息的aspect值是否满足所述预设取值,以便及时发送通知消息。
在本发明实施例中,S61中的请求消息可以是业务触发请求或订阅请求;
当请求消息为业务触发请求时,S64中的通知消息为业务触发通知。
当所述请求消息为订阅请求时,S64中的通知消息为变化后的被订阅信息通知,S61中的通知触发条件以变化后的被订阅信息aspect值满足预设取值时发送变化后的被订阅信息通知来表示。S62具体为判断变化后的被订阅信息aspect值是否满足预设取值,S64为当满足所述预设取值时,发送变化后的被订阅信息通知给业务请求者(即订阅者)。
图7为本发明实施例另一种发送通知消息的方法的流程图,其中,请求消息为业务触发请求。本实施例中,用户A希望当好友B即时消息在线时与其进行会话,并且希望当PAL服务器检测到好友B的标识为“IM-availability”的aspect的值为“available”时触发即时消息服务器为他与好友建立会话通道。
S71,用户A通过其终端上的PAL客户端向PAL服务器发起业务触发请求,请求中携带了通知触发条件,即当好友B的“IM-availability”aspect为“available”时触发即时消息服务器为他与好友建立会话通道。若该请求消息采用SIP(Session Initiation Protocol,会话初始协议)SUBSCRIBE实现,则该消息如下所示:
SUBSCRIBE sip:friend@example.com SIP/2.0
Via:SIP/2.0/TCP terminal.example.com;
branch=z9hG4bKwYb6QREiCL
Max-Forwards:70
To:<sip:friend@example.com
From:<sip:a@example.com>;tag=ie4hbb8t
Call-ID:cdB34qLToC@terminal.example.com
CSeq:322723822SUBSCRIBE
Contact:<sip:terminal.example.com>
Event:pal
Expires:600
Accept:application/aspect-result+xml
Content-Length:......
Content-Type:application/pal-trigger+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-trigger xmlns=″urn:oma:xml:pal-trigger″>
xmlns:sf=″urn:ietf:params:xml:ns:simple-filter″>
<sf:trigger>
<condition>
<sf:changed to=“available”>
<aspect>IM-availability</aspect>
</sf:changed>
</condition>
<action id=”a”>
<service>IM-session</service>
</action>
</sf:trigger>
</pal-trigger>
其中,<pal-trigger>元素表示PAL中的视图触发aspect trigger。其子元素<trigger>表示一个具体的触发设置,其包括子元素<condition>和<action>,分别表示触发条件和触发条件满足时的触发动作。<condition>元素的子元素<changed>表示值的改变,其属性to取值为“available”表示值变为“available”,其子元素<aspect>取值为“IM-availability”表示该条件是监控“IM-availability”aspect的值的改变。另一元素<action>具有子元素<service>,表示当触发条件满足时触发的业务类型,本实施例中为即时消息会话。
S72,PAL服务器接收到请求后,对其进行解析,根据“IM-availability”aspect的定义,向呈现服务器获取B的相关呈现信息。
S73,呈现服务器对用户A鉴权成功后,返回B的相关呈现信息至PAL服务器。
S74,PAL服务器根据“IM-availability”aspect的计算规则对接收到的B的呈现信息进行计算,得出B的当前“IM-availability”aspect值为unavailable,因此不满足通知触发条件,PAL服务器将持续监控B的相关呈现信息。
S75,PAL服务器发送B的当前“IM-availability”aspect值至用户A,若该通知消息采用SIP NOTIFY,则消息如下所示:
NOTIFY sip:a@example.com SIP/2.0
Via:SIP/2.0/TCP pal-server.example.com;branch=z9hG4bK4EPlfSFQK1
Max-Forwards:70
From:<sip:pal-server.example.com>;tag=zpNctbZq
To:<sip:a@example.com>;tag=ie4hbb8
Call-ID:cdB34qLToC@terminal.example.com
CSeq:997935769NOTIFY
Contact:<sip:pal-server.example.com>
Event:pal
Subscription-State:active;expires=600
Content-Type:application/aspect-result+xml
Content-Length:...
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-result xmlns=″urn:oma:xml:pal-result″>
<entry uri=“sip:friend@example.com”>
<aspect name=“IM-availability”>unavailable</aspect>
</entry>
</pal-result>
其中,元素<pal-result>表示服务器返回至客户端的结果,其子元素<entry>表示某个被订阅者的信息,其属性uri表示该被订阅者的身份标识,此处为好友B的SIP URI(Uniform Resource Identifier,统一资源标识符),其子元素<aspect>表示某个aspect的取值,其属性name表示该aspect的名称。
S76,呈现服务器通知PAL服务器好友B的变化的呈现信息。
S77,PAL服务器根据“IM-availability”aspect的计算规则再一次对接收到的B的呈现信息进行计算,得出B的当前“IM-availability”aspect值为available,因此满足通知触发条件。
S78,PAL服务器向即时消息服务器发送业务触发通知,即通知IMServer为用户A与其好友B建立会话。若该业务触发通知采用SIPMESSAGE实现,则该消息如下所示:
MESSAGE sip:IM-server.example.com SIP/2.0
From:sip:pal-server.example.com;tag=49513
To:sip:IM-server.example.com
Content-Type:application/pal-sernot+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-sernot xmlns=″urn:oma:xml:pal-sernot″
xmlns:l=″urn:ietf:params:xml:ns:resource-lists″>
<l:list>
<l:entry uri=″sip:a@example.com″/>
<l:entry uri=″sip:friend@example.com″/>
</l:list>
<service>
IM-session
</service>
</pal-sernot>
其中,<pal-sernot>表示PAL服务器发送至应用服务器的业务触发通知,其子元素<list>表示参与业务者,它的子元素<entry>用来表示单个参与者,其属性uri表示参与者的身份标识,<pal-sernot>的另一个子元素<service>表示触发的业务类型。
本实施例中,通过采用aspect来设置触发条件的方式,可以减少业务触发请求消息的字节大小,使业务请求者无需针对条件中的每个信息元素赋值,可以减轻客户端的负担,节省客户端与服务器之间的交互流量,为请求者带来操作上的简便。并且可以在触发条件不被满足时,PAL服务器监控业务接收者相关信息,以便在触发条件被满足时,PAL服务器及时进行业务触发。
图8为本发明实施例又一种发送通知消息的方法的流程图,其中,请求消息为订阅请求。本实施例中,用户A希望与用户B进行CPM(Converged IP Messaging,融合IP消息)会话,因此关注用户B是否能通过CPM联系上,于是用户A向PAL Server订阅用户B的“CPM-reachability”aspect,并且希望用户B的“CPM-reachability”aspect值为“true”时,服务器才发送用户B的“CPM-reachability”aspect通知给自己。
具体的,本实施例对应的业务流程如下:
S81,用户A通过PAL客户端向PAL服务器发送请求用来订阅用户B的“CPM-reachability”aspect值,该订阅请求携带了用户A设置的通知触发条件,即若用户B的“CPM-reachability”aspect值为“true”时,服务器才发送通知给自己。若该订阅请求采用SIP SUBSCRIBE,则消息如下所示:
SUBSCRIBE sip:b@example.com SIP/2.0
Via:SIP/2.0/TCP terminal.example.com;
branch=z9hG4bKwYb6QREiCL
Max-Forwards:70
To:<sip:b@example.com
From:<sip:a@example.com>;tag=ie4hbb8t
Call-ID:cdB34qLToC@terminal.example.com
CSeq:322723822 SUBSCRIBE
Contact:<sip:terminal.example.com>
Event:pal
Expires:600
Accept:application/aspect-result+xml
Content-Length:......
Content-Type:multipart/mixed;boundary=example-1
--example-1
Content-Type:application/pal-trigger+xml
<?xml version=″1.0″encoding=″UTF-8″?>
<pal-trigger xmlns=″urn:oma:xml:pal-trigger″>
<changed to=“available”>
<aspect id=“a”>
CPM-reachability
</aspect>
</changed>
</pal-trigger>
消息体的各元素的含义与图3所述的实施例中相应元素相同,在此不再赘述。
S82,PAL服务器解析接收到的订阅请求,并根据“CPM-reachability”aspect的定义向呈现服务器获取用户B的相关呈现信息。
具体是先向保存aspect的定义的服务器获取“CPM-reachability”aspect的定义,再向呈现服务器获取用户B的与该aspect定义相关的信息。
S83,呈现服务器返回用户B的相关呈现信息。
S84,PAL服务器向用户A返回用户B的相关呈现信息。
可以是计算用户B的相关呈现信息的aspect值,将这个值返回给用户A。
S85,PAL服务器订阅用户B的相关呈现信息。
可以是PAL服务器主动向呈现服务器获取用户B的相关呈现信息,也可以是用户B的相关呈现信息发生变化后,呈现服务器将变化后的B的相关呈现信息通知给A。
S86,PAL服务器根据“CPM-reachability”aspect定义中规定的计算规则,对接收到的变化后的用户B的相关呈现信息进行计算,得出用户B变化后的相关呈现信息的该aspect的当前取值。
S87,PAL服务器判断用户B的该aspect的当前取值是否满足通知触发条件。
如果用户B的该aspect的当前取值为“available”,则执行S85。
如果用户B的该aspect的当前取值不为“available”,PAL服务器继续监控用户B与该aspect相关的信息。
S88,PAL服务器通知用户A的PAL客户端用户B的当前“CPM-reachability”aspect取值。
可参见S35中的说明。
本实施例中,通过采用aspect在订阅请求中设置触发条件的方式,可以减少订阅请求消息的字节大小,使订阅者无需针对条件中的每个信息元素赋值,可以减轻客户端的负担,节省客户端与服务器之间的交互流量,为订阅者带来操作上的简便。并且可以在触发条件不被满足时,PAL服务器监控被订阅者相关信息,以便在触发条件被满足时,PAL服务器及时将被订阅者相关信息通知给订阅者。
图9为本发明实施例一种发送通知消息的装置的结构示意图,包括:
请求接收单元901,用于接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
具体实现过程可参见S61的说明。
获取单元902,用于获取业务请求者与所述aspect相关的信息;包括:
第三获取模块902a,用于根据所述通知触发条件获取所述aspect的定义;
第四获取模块902b,用于根据所述aspect的定义获取所述业务接收者与所述aspect相关的信息。
判断单元903,用于判断所述相关的信息的aspect值是否满足所述预设取值;具体用于根据所述aspect的定义计算所述相关的信息的aspect值,并判断所述aspect值是否满足所述预设取值。判断单元903具体实现细节可参见S63的说明,在此不再赘述。
通知单元904,用于当满足所述预设取值时,发送通知消息。
本实施例提供的通知消息装置,可以解析以aspect方式表示的通知触发条件,并根据所述条件进行判断和相应操作,以便使业务请求者无需针对条件中的每个信息元素赋值,可以减轻客户端的负担,节省客户端与服务器之间的交互流量,为请求者带来操作上的简便。
如图10所示,可选的,该通知消息装置还可以包括保存单元905,用于当所述通知触发条件中携带aspect trigger和/或aspect的定义时,保存所述aspect trigger和/或aspect的定义;
具体是将aspect trigger和/或aspect的定义保存到特定的存储装置中,可以是根据终端指示保存,也可以是自己主动保存。以便用户下次使用同样的aspect trigger和/或aspect是可以直接提供标识即可,为用户带来操作上的简便。
返回单元906,用于向所述业务请求者返回所述aspect trigger和/或aspect的定义的存储路径。
监控单元907,用于根据当所述业务请求者与所述aspect相关的信息的aspect值不满足所述预设取值时,监控所述相关的信息。
以便当业务接收者与aspect的相关信息发生变化时,再进行判断其变化后的相关信息的aspect值是否满足所述预设取值,有利于及时发送通知消息。
需要说明的是,本发明实施例不需要引入独立的功能部件,可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以执行本发明各个实施例所述的方法。这里所称的存储介质,如:ROM/RAM、磁盘、光盘等。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (25)
1.一种发送通知消息的方法,其特征在于,包括:
呈现接入层服务器接收请求消息,所述请求消息中包括通知抑制条件;
所述呈现接入层服务器获取业务请求者与所述通知抑制条件相关的信息;
所述呈现接入层服务器判断所述业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件;
当不满足所述通知抑制条件时,所述呈现接入层服务器根据所述请求消息发送通知消息。
2.如权利要求1所述的方法,其特征在于,所述通知抑制条件以所述业务请求者的特定视图aspect满足预设取值来表示,所述aspect是对一个或多个信息元素的概括。
3.如权利要求2所述的方法,其特征在于,所述呈现接入层服务器获取业务请求者与所述通知抑制条件相关的信息包括:
所述呈现接入层服务器根据所述通知抑制条件获取所述aspect的定义,并根据所述aspect的定义获取业务请求者与所述aspect相关的信息。
4.如权利要求3所述的方法,其特征在于,所述呈现接入层服务器判断所述获取的业务请求者信息是否满足所述通知抑制条件包括:
根据所述aspect的定义计算所述业务请求者与所述aspect相关的信息的aspect值;
判断所述aspec值是否满足所述预设取值。
5.如权利要求3所述的方法,其特征在于,所述呈现接入层服务器根据所述通知抑制条件获取所述aspect的定义包括:
当所述通知抑制条件携带aspect的标识时,根据所述aspect的标识获取所述aspect的定义;
或,当所述通知抑制条件携带aspect的定义时,获取所述aspect的定义。
6.如权利要求5所述的方法,其特征在于,还包括:
当所述通知抑制条件中携带所述aspect的定义时,所述呈现接入层服务器保存所述aspect的定义,并向所述业务请求者返回所述aspect的定义的存储路径。
7.如权利要求1至6任一项所述的方法,其特征在于,
所述请求消息为业务触发请求或订阅请求;
当所述请求消息为业务触发请求时,所述通知消息为业务触发通知;
当所述请求消息为订阅请求时,所述通知消息为变化后的被订阅信息通知,所述呈现接入层服务器判断所述获取的业务请求者信息是否满足所述通知抑制条件具体为:
当被订阅信息发生变化时,判断所述业务请求者与所述通知抑制条件相关的信息是否满足所述通知抑制条件。
8.如权利要求1所述的方法,其特征在于,所述请求消息中还包括通知触发条件,所述方法还包括:
获取业务接收者与所述通知触发条件相关的信息;
所述呈现接入层服务器判断所述业务接收者与所述通知触发条件相关的信息是否满足所述通知触发条件;
当所述业务接收者与所述通知触发条件相关的信息满足所述通知触发条件,并且所述业务请求者与所述通知抑制条件相关的信息不满足所述通知抑制条件时,所述呈现接入层服务器执行所述发送通知消息。
9.如权利要求8所述的方法,其特征在于,
所述通知触发条件以业务接收者的特定aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
所述呈现接入层服务器判断所述业务接收者与所述通知触发条件相关的信息是否满足所述通知触发条件具体为:判断业务接收者与所述aspect相关的信息的aspect值是否满足所述通知触发条件中的预设取值。
10.如权利要求1所述的方法,其特征在于,当所述业务请求者与所述通知抑制条件相关的信息满足所述通知抑制条件时,所述呈现接入层服务器监控所述相关的信息。
11.一种发送通知消息的方法,其特征在于,包括:
接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
获取所述业务接收者与所述aspect相关的信息;
判断所述相关的信息的aspect值是否满足所述预设取值;
当满足所述预设取值时,发送所述通知消息。
12.如权利要求11所述的方法,其特征在于,
所述获取所述业务接收者与所述aspect相关的信息包括:
根据所述通知触发条件获取所述aspect的定义,根据所述aspect的定义获取所述业务接收者与所述aspect相关的信息;
所述判断所述相关的信息的aspect值是否满足所述预设取值具体为:根据所述aspect的定义计算所述相关的信息的aspect值,判断所述aspect值是否满足所述预设取值。
13.如权利要求11所述的方法,其特征在于,
所述根据所述通知触发条件获取所述aspect的定义包括:
当所述通知触发条件中携带视图触发aspect trigger的标识时,根据所述aspect trigger的标识获取所述aspect trigger的定义,再根据所述aspecttrigger的定义获取所述aspect的标识,并根据所述aspect的标识获取所述aspect的定义;或,
当所述通知触发条件中携带aspect trigger的定义时,根据所述aspecttrigger的定义获取所述aspect的标识,并根据所述aspect的标识获取所述aspect的定义;或,
当所述通知触发条件中携带所述aspect的定义时,获取所述aspect的定义。
14.如权利要求11所述的方法,其特征在于,
当所述通知触发条件中携带aspect trigger和/或aspect的定义时,保存所述aspect trigger和/或aspect的定义,并向业务请求者返回所述aspecttrigger和/或aspect的定义的存储路径。
15.如权利要求11所述的方法,其特征在于,所述请求消息为业务触发请求或订阅请求;
所述请求消息为业务触发请求时,所述通知消息为业务触发通知;
当所述请求消息为订阅请求时,所述通知消息为变化后的被订阅信息通知,所述通知触发条件以业务接收者的特定视图aspect满足预设取值时发送通知消息来表示具体为:以变化后的被订阅信息aspect值满足预设取值时发送变化后的被订阅信息通知来表示。
16.如权利要求11所述的方法,其特征在于,当所述业务接收者与所述aspect相关的信息的aspect值不满足所述预设取值时,监控所述相关的信息。
17.一种呈现接入层服务器,其特征在于,包括:
业务请求接收单元,用于接收请求消息,所述请求消息中包括通知抑制条件;
获取单元,用于获取业务请求者与所述通知抑制条件相关的信息;
判断单元,用于判断所述相关的信息是否满足所述通知抑制条件;
发送单元,用于当所述相关的信息不满足所述通知抑制条件时,根据所述请求消息发送通知消息。
18.如权利要求17所述的呈现接入层服务器,其特征在于,所述通知抑制条件以所述业务请求者的特定视图aspect满足预设取值来表示,所述aspect是对一个或多个信息元素的概括;
所述获取单元包括:
第一获取模块,用于根据所述通知抑制条件获取所述aspect的定义;
第二获取模块,用于根据所述aspect的定义获取业务请求者与所述aspect相关的信息;
所述判断单元具体用于根据所述aspect的定义计算所述业务请求者与所述aspect相关的信息的aspect值,并判断所述aspect值是否满足所述预设取值。
19.如权利要求17所述的呈现接入层服务器,其特征在于,还包括:
保存单元,用于当所述通知抑制条件中携带所述aspect的定义时,保存所述aspect的定义;
返回单元,用于向所述业务请求者返回所述aspect和/或aspect trigger的定义的存储路径。
20.如权利要求17所述的呈现接入层服务器,其特征在于,所述请求消息中还包括通知触发条件;
所述判断单元还用于判断所述业务接收者与所述通知触发条件相关的信息是否满足所述通知触发条件;
所述发送单元具体用于当所述业务接收者与所述通知触发条件相关的信息满足所述通知触发条件,并且所述业务请求者与所述通知抑制条件相关的信息不满足所述通知抑制条件时,发送所述通知消息。
21.如权利要求17所述的呈现接入层服务器,其特征在于,还包括:监控单元,用于当所述业务接收者与所述通知触发条件相关的信息满足所述通知抑制条件时,监控所述相关的信息。
22.一种发送通知消息的装置,其特征在于,包括:
请求接收单元,用于接收请求消息,所述请求消息包括通知触发条件,所述通知触发条件以业务接收者的特定视图aspect满足预设取值时发送通知消息来表示,所述aspect是对一个或多个信息元素的概括;
获取单元,用于获取所述业务接收者与所述aspect相关的信息;
判断单元,用于判断所述相关的信息的aspect值是否满足所述预设取值;
通知单元,用于当满足所述预设取值时,发送所述通知消息。
23.如权利要求22所述的装置,其特征在于,
所述获取单元包括:
第三获取模块,用于根据所述通知触发条件获取所述aspect的定义;
第四获取模块,用于根据所述aspect的定义获取所述业务接收者与所述aspect相关的信息;
所述判断单元具体用于根据所述aspect的定义计算所述相关的信息的aspect值,并判断所述aspect值是否满足所述预设取值。
24.如权利要求22所述的装置,其特征在于,还包括:
保存单元,用于当所述通知触发条件中携带aspect trigger和/或aspect的定义时,保存所述aspect trigger和/或aspect的定义;
返回单元,用于向所述业务请求者返回所述aspect trigger和/或aspect的定义的存储路径。
25.如权利要求22所述的装置,其特征在于,还包括:
监控单元,用于当所述业务接收者与所述aspect相关的信息的aspect值不满足所述预设取值时,监控所述相关的信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810242217A CN101771549A (zh) | 2008-12-31 | 2008-12-31 | 一种发送通知消息的方法及装置 |
PCT/CN2009/076330 WO2010075802A1 (zh) | 2008-12-31 | 2009-12-31 | 一种发送通知消息的方法及装置 |
EP09836089A EP2381629A4 (en) | 2008-12-31 | 2009-12-31 | METHOD AND DEVICE FOR SENDING NOTIFICATION MESSAGE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810242217A CN101771549A (zh) | 2008-12-31 | 2008-12-31 | 一种发送通知消息的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101771549A true CN101771549A (zh) | 2010-07-07 |
Family
ID=42309833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810242217A Pending CN101771549A (zh) | 2008-12-31 | 2008-12-31 | 一种发送通知消息的方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2381629A4 (zh) |
CN (1) | CN101771549A (zh) |
WO (1) | WO2010075802A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139087A (zh) * | 2011-11-23 | 2013-06-05 | 中国科学院声学研究所 | 一种针对xmpp域内文件传输的出席信息负载优化方法及系统 |
CN108141390A (zh) * | 2015-10-08 | 2018-06-08 | 弗兰克公司 | 用于管理关于电缆测试设备操作的消息的基于云的系统和方法 |
CN109218509A (zh) * | 2017-07-04 | 2019-01-15 | 北京小米移动软件有限公司 | 息屏显示方法、装置及计算机可读存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3015984A1 (en) | 2014-10-29 | 2016-05-04 | Hewlett-Packard Development Company, L.P. | Providing data from data sources |
US20180146013A1 (en) * | 2016-11-21 | 2018-05-24 | Hewlett Packard Enterprise Development Lp | Providing notifications via a platform |
US11726995B2 (en) | 2019-12-17 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | System and method for value pack generation using generic SQL plugin for unified console |
CN113283622B (zh) * | 2021-04-30 | 2024-01-12 | 完美世界控股集团有限公司 | 一种在线选座方法及装置、存储介质、计算机设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8335860B2 (en) * | 2002-12-19 | 2012-12-18 | Nokia Corporation | Filtering application services |
CN101115094B (zh) * | 2006-07-29 | 2013-04-24 | 华为技术有限公司 | 提供通信业务的方法和系统及触发器装置 |
CN101119325B (zh) * | 2006-08-04 | 2012-08-22 | 华为技术有限公司 | 一种提供观察者信息的方法和呈现服务器 |
EP2858307B1 (en) * | 2006-08-14 | 2019-05-08 | Samsung Electronics Co., Ltd | System and method for presence notification based on presence attribute |
US9203918B2 (en) * | 2007-03-15 | 2015-12-01 | Nokia Technologies Oy | Pulling information from information sources via refer requests |
-
2008
- 2008-12-31 CN CN200810242217A patent/CN101771549A/zh active Pending
-
2009
- 2009-12-31 EP EP09836089A patent/EP2381629A4/en not_active Withdrawn
- 2009-12-31 WO PCT/CN2009/076330 patent/WO2010075802A1/zh active Application Filing
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139087A (zh) * | 2011-11-23 | 2013-06-05 | 中国科学院声学研究所 | 一种针对xmpp域内文件传输的出席信息负载优化方法及系统 |
CN103139087B (zh) * | 2011-11-23 | 2016-09-28 | 中国科学院声学研究所 | 一种针对xmpp域内文件传输的出席信息负载优化方法及系统 |
CN108141390A (zh) * | 2015-10-08 | 2018-06-08 | 弗兰克公司 | 用于管理关于电缆测试设备操作的消息的基于云的系统和方法 |
CN108141390B (zh) * | 2015-10-08 | 2022-03-29 | 弗兰克公司 | 用于管理关于电缆测试设备操作的消息的基于云的系统和方法 |
CN109218509A (zh) * | 2017-07-04 | 2019-01-15 | 北京小米移动软件有限公司 | 息屏显示方法、装置及计算机可读存储介质 |
US10698442B2 (en) | 2017-07-04 | 2020-06-30 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for always-on display applied in a display driver integrated circuit |
CN109218509B (zh) * | 2017-07-04 | 2021-03-02 | 北京小米移动软件有限公司 | 息屏显示方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2381629A4 (en) | 2011-11-23 |
WO2010075802A1 (zh) | 2010-07-08 |
EP2381629A1 (en) | 2011-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100681285B1 (ko) | 동적 그룹 어드레스 생성 방법 및 장치 | |
CN101088304B (zh) | 用于向客户端提供通信组信息的方法和设备 | |
EP1741262B1 (en) | Method for a session initiation protocol push-to-talk terminal to indicate answer operating mode to an internet protocol push-to-talk network server | |
CN101453483B (zh) | 会话历史记录的存储处理和查询方法、系统和装置 | |
CN101212719B (zh) | 一种无线通信网络中实现融合消息业务的方法及系统 | |
KR100951017B1 (ko) | 통신 유닛의 통신정보를 제공하기 위한 방법 및 이 방법을실행하기 위한 장치 | |
CN101558601B (zh) | 用于处理客户端数据的方法和设备 | |
CN101771549A (zh) | 一种发送通知消息的方法及装置 | |
CN101098267A (zh) | 一种建立群组会话的方法和系统 | |
US9357026B2 (en) | Presentity authorization of buddy subscription in a communication system | |
KR20100057096A (ko) | 액티브 프로파일 선택 | |
EP2741541B1 (en) | Capability inquiry method, communication terminal and application server | |
JP5735497B2 (ja) | ネットワーク内でプレゼンス・イベントの数を減らすための方法およびシステム | |
US20120096114A1 (en) | Method and system for the transport of asynchronous aspects using a context aware mechanism | |
WO2008135871A2 (en) | System and method for establishing conference events | |
Salinas | Advantages and disadvantages of using presence service | |
US9571563B2 (en) | Handling a shared data object in a communication network | |
US7796739B2 (en) | Presence management system, presence notification method, server unit, and terminal device | |
CN101809605A (zh) | 用于出席信息的基于会话发起协议的动态广告的方法和系统 | |
US20110153765A1 (en) | Method for determining active communication sessions, communication session information servers, method for providing information about active communication sessions and document management servers | |
Žarko et al. | Presence@ FER: An ecosystem for rich presence | |
CN1878171B (zh) | 一种聊天室中阻塞信息通知的方法 | |
Hsu et al. | A Context-Aware Push-to-Talk Service | |
CN101540702B (zh) | 评估结果获取方法和条件评估服务器 | |
Belinsky et al. | Pasta: Deriving rich presence for converged telecommunications network applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100707 |