CN101426726B - 用于优化域间事件服务的系统和方法 - Google Patents

用于优化域间事件服务的系统和方法 Download PDF

Info

Publication number
CN101426726B
CN101426726B CN2005800192439A CN200580019243A CN101426726B CN 101426726 B CN101426726 B CN 101426726B CN 2005800192439 A CN2005800192439 A CN 2005800192439A CN 200580019243 A CN200580019243 A CN 200580019243A CN 101426726 B CN101426726 B CN 101426726B
Authority
CN
China
Prior art keywords
event
view
reservation request
consumer
state
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.)
Active
Application number
CN2005800192439A
Other languages
English (en)
Other versions
CN101426726A (zh
Inventor
史蒂文·罗伯特·多诺万
阿亚·P·迪欧
阿达姆·博伊德·浩士
本·阿伦·坎贝尔
罗伯特·詹姆斯·斯巴克思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101426726A publication Critical patent/CN101426726A/zh
Application granted granted Critical
Publication of CN101426726B publication Critical patent/CN101426726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Abstract

用于优化域间事件服务的系统和方法包括接收请求接收事件源的事件状态的第一预订请求。确定与第一预订请求相关联的视图。发送通知消息,该通知消息反映出与第一预订请求相对应的对事件源的事件状态的第一已定义视图。接收请求接收事件源的事件状态的第二预订请求。确定与第二预订请求相关联的视图。确定第一已定义视图是否对应于第二预订请求。

Description

用于优化域间事件服务的系统和方法
技术领域
本发明一般地涉及通信领域,更具体地说涉及用于优化域间事件服务的系统和方法。
背景技术
系统用户利用各种类型的设备进行交互和通信,例如,桌面计算机、膝上型计算机、个人数字助理、桌面电话、蜂窝电话和其他设备。已开发出系统和方法来确定某些系统用户是否被连接到网络,并且可用于通过那些网络设备中的一个或多个进行通信。一般而言,系统用户的网络状态和可用性的知识被称作“存在性(presence)”。
存在性信息可以在不同的系统或域中的用户之间被交换。当用户改变他们的状态时,一个通知被发送给期望接收存在性信息的用户。如果系统包括预订从单个用户接收存在性信息的多个用户,则相同的存在性信息通知被连续发送给管理期望接收到该存在性信息的用户的服务器。连续传递存在性信息导致极大的系统开销。
发明内容
本领域技术人员从前述内容可知,需要一种用于域间事件服务的改进的系统和方法。根据本发明,可以减少或消除与传统的域间事件服务相关联的缺点和问题。
根据本发明的一个实施例,优化域间事件服务包括接收请求接收事件源的事件状态的第一预订请求。确定与第一预订请求相关联的视图。发送通知消息,该通知消息反映出与第一预订请求相对应的对事件源的事件状态的第一已定义视图。接收请求接收事件源的事件状态的第二预订请求。确定与第二预订请求相关联的视图。确定第一已定义视图是否对应于第二预订请求。
本发明的一些实施例可以提供一个或多个技术优点。一个实施例的技术优点包括将多个并且冗余的预订汇聚到较少数目的预订。预订数目的减少降低了在所涉及的系统之间的预订和通知的负载。在使用服务器来帮助实现事件流量的系统中,负责事件空间的服务器之间的消息传输开销也被减少了。在存在从一个域到另一个域中的一个或多个用户的多个预订时,有效地消除了事件流量的重叠和/或冗余度。另一个实施例的另一个优点包括提供了对被分类成存在性数据的视图的诸如授权、过滤和附加限制的独立预订的完整表达性。该优化确保了用户的授权策略和看守者信息服务正确地工作。
本发明的某些实施例可以不包括上述技术优点,或者可以包括上述技术优点中的一些或者全部。本领域技术人员从其中包括的附图、说明书和权利要求书可以明了一个或多个其他技术优点。
附图说明
为了更全面地理解本发明及其特征和优点,现在结合附图参考下面的描述,在附图中相似的标号代表相似的部分,其中:
图1示出了在事件系统之间提供事件服务预订和通知的网络;
图2示出了网络中的事件系统;
图3是示出了如何提供事件服务预订和通知的示例的流程图;
图4是示出了在多个事件消费者之间共享预订的呼叫流图;
图5是示出了具有导致不同视图的预订的多个事件消费者的呼叫流图;以及
图6是示出了试图获得预订的未经授权的事件消费者的呼叫流图。
具体实施方式
图1示出了在事件系统100之间提供事件服务预订和通知的网络10。网络10包括事件系统100a和100b,它们帮助实现事件系统100a内和与另一个事件系统100b交互的事件服务预订和通知。事件系统100可以利用传输网络102通信。
事件系统100产生、维护和/或散发涉及网络10内的一个或多个用户的事件状态的信息。用户的事件状态信息包括从一个用户异步传输到另一个用户的信息,例如存在性信息。存在性信息可以包括描述相关用户的位置、用户可用性、用户的可达性和/或用于用户与其他用户通信的优选通信模式的任何适当信息。存在性信息的示例包括但不限于指示用户当前是否登录到特定网络或组件的信息,标识用户当前位于的无线网络的信息,指示用户在预定时间段内是否使用了网络10的特定组件的信息,标识针对用户现在安排的活动的信息,以及指定用户的物理位置的信息。
传输网络102允许事件系统100与其他事件系统通信。传输网络102可以包括公共交换电话网络(PSTN),局域网(LAN),广域网(WAN),任何其他公共或专用数据网络,本地、区域或者全球通信网络,例如因特网、企业内部网,其他适当的有线或无线通信链路,或者前述网络的任何组合。传输网络102可以包括网关、路由器、集线器、交换机、接入点、基站的任何组合,以及可以实现任何适当的协议或通信的任何其他硬件和/或软件。
在工作中,事件系统100a包括可能期望预订接收来自事件系统100b中的用户的事件状态信息(或者反之)的用户。传输网络102帮助实现在事件系统100b和事件系统100a之间传输事件状态信息。例如,事件系统100a中的多个用户可能期望接收来自事件系统100b中的用户的事件状态信息。在本示例中,网络10将事件系统100a中的多个用户的预订汇聚,以减少事件系统100之间的消息发送(messaging)开销。
在不脱离本发明的范围的情况下,可以对网络10作出修改、添加或省略。例如,网络10可以包括将用户的事件状态信息传输到其他用户的任意数目的事件系统100。作为另一个示例,提供事件状态信息的事件系统100可以包括企业、服务提供者、集群中的服务器、域中的集群、服务提供者的布署的域、任何适当的可用系统和/或前述系统的任意组合。如实施例所示,对事件状态信息的管理通常针对管理控制和范围而被分区。在分区网络10中,一个事件系统100中的用户可以预订另一个事件系统100中的用户的事件状态信息。对分区网络10中的预订的汇聚支持并行发生的多个冗余预订。
图2示出了网络10中的事件系统100。事件系统100包括作为事件消费者200和/或事件源204的用户。事件消费者200期望接收关于事件源204的事件状态信息。事件消费者服务器202和事件源服务器206在事件消费者200和事件源204之间帮助实现传输关于事件状态的预订和通知。事件消费者服务器202和事件源服务器206之间的流量通过链路208。在一个实施例中,事件系统100中的信息流是从事件源204到事件源服务器206到事件消费者服务器202再到事件消费者200。事件系统100可以支持允许在事件消费者200和事件源204之间交换事件状态信息的任何适当的协议。这种协议包括但不限于可扩展消息发送和存在性协议(XMPP)以及用于即时消息发送和存在性平衡扩展的会话发起协议(SIMPLE)。
事件消费者200发送预订请求,请求接收事件源204的事件状态信息。事件消费者200可以是期望追踪事件源204的事件状态的任何适当的实体、用户或应用,例如看守者(watcher)。在所示实施例中,事件消费者200委托事件消费者服务器202取得事件源204的事件状态信息。
事件消费者服务器202使得事件消费者200能够预订事件源204。在接收到来自事件消费者200的预订请求后,事件消费者服务器202将预订请求转发到事件源204或者处理事件源204的事件服务的事件源服务器206。事件消费者服务器202代表事件消费者200存储预订和/或通知,代表事件消费者200管理预订和/或通知,将预订请求传递给相应的事件源204或者事件源服务器206,以执行帮助实现事件系统100内的元件之间的通信的任何其他适当的动作和/或实现。
事件源204产生事件状态信息,例如存在性信息。事件源204将事件状态信息发布到事件源服务器206。事件源204包括控制哪些事件消费者200可以预订事件源204的事件状态的授权策略。事件源204的授权策略包括过滤器,该过滤器对允许事件消费者200看到事件状态信息的哪个部分进行控制。事件状态信息的交换允许将授权策略应用到请求访问事件状态信息的每个事件消费者200,即使服务器帮助实现通信也是如此。授权策略也以同样的方式用于基于服务器到服务器的预订,因为其是针对基于直接客户端-服务器的预订实现的。事件源204可以是具有事件消费者200可以预订的事件状态信息(例如存在性度(presentity))的任何合适的实体、用户、或应用。
事件源服务器206使得事件源204能够将事件状态信息提供给事件消费者200。事件源服务器206存储事件源204的事件状态信息,并且将通知发送给具有对已发布的事件状态的激活预订的任何事件消费者200。在一个实施例中,事件源服务器206能够访问事件源204的授权策略。
链路208提供事件消费者服务器202和事件源服务器206之间的连接,该连接允许事件消费者200和事件源204之间的流量通过。链路208是事件消费者服务器202和事件源服务器206之间、域之间、或者事件系统100或网络10中的任何适当元件之间的任何适当的公共链路。利用公共链路208允许降低通过链路208的消息的冗余度。
在工作中,事件消费者200a发送预订请求来预订事件源204a的事件状态。事件消费者200a可以预订基于事件源204a的授权策略和事件消费者200a的预订请求的特定视图(view)。事件消费者200b也可以预订事件源204a的事件状态。事件消费者200b可以预订基于事件源204a的授权策略和事件消费者200b的预订请求的特定视图。如果事件消费者200a和200b的视图匹配,则事件源服务器206向事件消费者服务器202发送反映事件源204a的视图的通知消息。匹配视图包括每个事件消费者200具有相同的事件通知流。例如,如果事件消费者200a具有提供关于事件源204a的登录状态的事件状态信息的视图,并且事件消费者200b也预订了事件源204a的登录状态的视图,则事件消费者200a的视图被重用于事件消费者200b。事件消费者服务器202将通知消息分发给具有对该视图的激活预订的事件消费者200。因此,事件源服务器206发送单个通知消息,而不是重发反映了相同视图的多个通知消息。
如果事件消费者200a和事件消费者200b不共享匹配视图,则事件源服务器206发送独立的通知消息到事件消费者服务器202,这些消息反映了事件消费者200a和事件消费者200b的不同视图。例如,如果事件消费者200a具有对事件源204a的登录状态的视图,而事件消费者200b具有对事件源204a的会议状态的视图,则这些视图不匹配。
可以对事件系统100作出修改、添加或省略。例如,事件系统100可以包括任何数目的事件消费者服务器202和事件源服务器206。在一个实施例中,事件源204的信息被分发到不同的事件源服务器206,而不是将所有的事件源204信息分发到每个事件源服务器206。作为另一个示例,每个事件消费者服务器202可以应对一个或多个事件消费者200,并且每个事件源服务器206可以应对一个或多个事件源204。作为又一个示例,事件消费者200可以预订单个事件源204或者预订一组事件源204。当事件消费者200预订一组事件源204时,事件消费者服务器202可以维护事件源204的集合,并且事件消费者服务器202发起对该集合中的每个事件源204的独立预订。另一个示例包括事件消费者200和事件消费者服务器202利用预订列表而不是对事件源204的个别预订。例如,事件消费者200a可以在预订列表中包括事件源204a和204b,而不是个别预订每个事件源204。预订列表包括统一资源标识符的列表,其指示事件消费者200可能预订或者表达出其他兴趣的事件源204。
图3是示出了提供事件服务预订和通知的事件系统100的流程图30。事件源服务器206在步骤300接收来自事件消费者200a的第一预订请求,该预订请求预订事件源204a的数据状态。在步骤302确定出与第一预订请求相关联的视图。事件源服务器206在步骤304发送通知消息,该通知消息反映对事件状态的已定义视图。通知消息可以是基于事件消费者200的预订请求的、基于事件源204的授权策略的,或者基于前述内容的组合的。事件消费者服务器202通过在步骤306发送第一视图预订到事件源服务器206来代表事件消费者200a预订第一已定义视图,然后接收事件状态信息。
事件源服务器206在步骤308接收来自事件消费者200b的第二预订请求,该预订请求预订事件源204a的事件状态。在步骤310,事件源服务器206确定出与第二预订请求相关联的视图。事件源服务器206在步骤312确定第一已定义视图是否对应于第二预订请求。如果第一已定义视图与第二预订请求不相对应,则事件源服务器206在步骤314将与第二预订请求相关联的第二已定义视图发送到事件消费者200b。事件源服务器206在步骤316接收对第二已定义视图的第二视图预订。
如果第一已定义视图与第二预订请求相对应,则事件源服务器206在步骤318将第一已定义视图重用于第二预订请求。事件源服务器206还在步骤320将第一视图预订重用到事件消费者200b的第一已定义视图。
在步骤322,事件源服务器206确定事件源204的事件状态是否改变了。如果事件状态改变了,则事件源服务器206在步骤324发送改变通知到事件消费者服务器202,事件消费者服务器202将该通知转发到具有受该改变通知影响的激活预订的事件消费者200。在替换实施例中,事件源服务器206可以被配置为在可配置事件间隔中收集事件状态改变,而不是每次事件状态改变时都发送改变通知。在这种实施例中,事件源服务器206汇聚改变通知,以包括视图标识符。事件源服务器206将汇聚的改变通知发送给事件消费者服务器202,以在具有对已定义视图的激活预订的事件消费者200之间分发。另外,事件源服务器206在将改变通知发送给事件消费者服务器202时可以使用压缩算法来减小汇聚通知有效载荷的大小。
图4是示出了多个事件消费者之间的共享预订的呼叫流图。该呼叫流可以使用任何信令协议来进行通信,例如,作为信令关系的预订对话。预订对话开始于SUBSCRIBE(预订)请求,并且在预订基于该SUBSCRIBE请求中包括的期满时间期满时终止。
在消息400中事件源204a将其事件状态信息发布到事件源服务器206。事件源服务器206通过在消息402中发送200OK到事件源204a来确认该发布。事件消费者200a期望接收关于事件源204a的事件状态信息,并且在消息404中发送预订请求到事件消费者服务器202。事件消费者服务器202在消息406中将预订请求转发到事件源服务器206。预订请求包括事件消费者200a和事件源204a的身份。在事件源服务器206在消息408中将200OK转发到事件消费者服务器202,然后事件消费者服务器202在消息410中发送200OK到事件消费者200a后,根据预订请求发生的预订得到了确认。如果事件消费者200a被授权查看事件源204a的事件状态,则事件源服务器206定义对事件源204a的事件状态的视图,并且在消息412中将反映事件源204a的视图的通知消息发送到事件消费者服务器202。该视图是将事件源204a的授权策略应用于预订而得到的事件状态通知的流。该视图包括事件源204a的特定视图的视图标识符,当事件状态改变时,该视图标识符被包括在事件源204a的所有后续通知中。视图标识符可以是统一资源标识符(URI)。事件消费者服务器202通过在消息413中发送200 OK来确认该通知消息,然后在消息414中发送视图预订请求。视图预订请求允许事件消费者200预订事件源204a的特定视图。事件源服务器206在消息415中确认视图预订,并且在消息416中将包括事件源204a的状态的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息417中将通知消息传输到事件消费者200a。事件消费者200a通过在消息418中发送200 OK到事件消费者服务器202来确认该通知消息。事件消费者服务器202在消息419中将200 OK发送到事件源服务器206。
事件消费者200b在消息420中发送预订请求到事件消费者服务器202,事件消费者服务器202在消息421中将预订请求转发到事件源服务器206。预订请求包括事件消费者200b的身份。事件源服务器206确定对于该服务事件消费者200b是否被授权,以及是否存在事件消费者200b期望查看的事件源204a的匹配视图。在所示实施例中,存在匹配视图,并且事件源服务器206通过在消息422中将200 OK发送到事件消费者服务器202来确认该预订,然后事件消费者服务器202在消息423中将200 OK转发到事件消费者200b。事件源服务器206还在消息424中发送包括视图标识符的通知消息到事件消费者服务器202,然后事件消费者服务器202在消息425中将反映事件源204a的事件状态的通知消息发送到事件消费者200b。在替换实施例中,事件消费者服务器202可以确定是否存在事件源204a的与事件消费者200b的预订请求匹配的视图。在本实施例中,可以不要消息421、422、424和427。事件消费者200b通过在消息426中发送200 OK到事件消费者服务器202来确认该通知消息,事件消费者服务器202在消息427中将200 OK转发到事件源服务器206。如果不存在匹配视图,则事件源服务器206创建新视图,并且返回应用于事件消费者200b的预订的视图标识符。
在实例428中,事件源204a的事件状态发生了改变。事件源204a在消息430中将事件状态改变发布到事件源服务器206。事件源服务器206在消息432中将包括改变的事件状态的标识符的通知消息发送到事件消费者服务器202。在接收到通知消息后,事件消费者服务器202确定哪些激活预订应当接收该通知消息。在所示实施例中,相同的视图应用于事件消费者200a和200b。当事件消费者服务器202接收到该视图的通知消息时,其针对预订了该视图的每个事件消费者200发起单独的通知消息。事件消费者服务器202在消息434中发送通知消息到事件消费者200a。事件消费者200a通过在消息436中发送200 OK到事件消费者服务器202来确认该通知消息。事件消费者服务器202在消息438中将200 OK转发到事件源服务器206。事件源服务器206在消息440中将200 OK发送到事件源204a。事件消费者服务器202还向事件消费者200b通知事件状态改变,因为事件消费者200b预订了相同的已定义视图。因此,事件消费者服务器202在消息442中发送通知消息到事件消费者200b。通过在消息444中发送200 OK到事件消费者服务器,该通知消息得到了确认。
即使当事件状态改变时,从事件消费者200a和200b到事件源204a的原始预订仍存在。如果事件源204a改变了其授权或过滤策略,则来自事件消费者200a和200b的原始预订被用来传输该改变。
图5是示出了具有导致不同视图的预订的多个事件消费者的呼叫流图。在消息500中事件源204a将其事件状态信息发布到事件源服务器206。事件源服务器206通过在消息502中发送200 OK到事件源204a来确认该发布。事件消费者200a期望接收关于事件源204a的事件状态信息,并且在消息504中发送预订请求到事件消费者服务器202。事件消费者服务器202在消息506中将预订请求转发到事件源服务器206。预订请求包括事件消费者200a和事件源204a的身份。在事件源服务器206在消息508中将200 OK发送到事件消费者服务器202,然后事件消费者服务器202在消息510中将200 OK转发到事件消费者200a后,预订得到了确认。如果事件消费者200a被授权查看事件源204a的事件状态,则事件源服务器206在消息512中将反映事件源204a的视图的通知消息发送到事件消费者服务器202。该视图包括事件源204a的特定视图的视图标识符,当事件状态改变时,该视图标识符被包括在事件源204a的所有后续通知中。视图标识符可以是统一资源标识符(URI)。事件消费者服务器202通过在消息514中发送200 OK来确认该通知消息,然后在消息515中发送视图预订请求。事件源服务器206在消息516中确认视图预订,并且在消息517中将包括事件源204a的状态的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息518中将通知消息传输到事件消费者200a。事件消费者200a通过在消息519中发送200 OK到事件消费者服务器202来确认该通知消息。事件消费者服务器202在消息520中将200OK发送到事件源服务器206。
事件消费者200b在消息521中发送预订请求到事件消费者服务器202,事件消费者服务器202在消息522中将预订请求发送到事件源服务器206。预订请求包括事件消费者200b的身份。事件源服务器206通过在消息523中将200 OK发送到事件消费者服务器202来确认该预订,然后事件消费者服务器202在消息524中将200 OK发送到事件消费者200b。事件源服务器206确定对于该服务事件消费者200b是否被授权,以及是否存在事件消费者200b期望查看的事件源204a的匹配视图。在所示实施例中,不存在匹配视图。如果不同的过滤器被应用到事件消费者200a和事件消费者200b,或者由于任何其他适当的原因,就可能发生这种情况。如果事件消费者200b被授权查看事件源204a的事件状态,则事件源服务器206创建新的视图,并且在消息525中返回应用于事件消费者200b的预订的视图标识符。当事件状态改变时,视图标识符被包括在事件源204a的所有后续通知中。视图标识符可以是统一资源标识符(URI)。事件消费者服务器202在消息526中发送请求事件消费者200b的视图预订请求。事件源服务器206在消息527中确认视图预订,并且在消息528中将包括事件源204a的状态的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息529中将通知消息传输到事件消费者200b。事件消费者200b通过在消息530中发送200 OK到事件消费者服务器202来确认该通知消息,事件消费者服务器202然后在消息531中将200 OK转发到事件源服务器206。
在实例532中,事件源204a的事件状态发生了改变。事件源204a在消息534中将事件状态改变发布到事件源服务器206。事件源服务器206在消息536中将改变了的事件状态的第一视图的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息538中将该通知消息转发到事件消费者200a。事件消费者200a具有对第一视图的授权。事件消费者200a通过在消息540中将200 OK发送到事件消费者服务器202来确认该通知消息。事件消费者服务器202在消息541中将200 OK发送到事件源服务器206。
事件源204a的事件状态改变还影响了事件消费者200b预订的第二视图。事件源服务器206在消息542中将第二视图的通知消息发送到事件消费者服务器202,然后事件消费者服务器202在消息543中将该通知消息发送到事件消费者200b。通过在消息544和消息545中发送200 OK,每个通知消息得到了确认。
图6是示出了试图获得预订的未经授权的事件消费者200的呼叫流图。在消息600中事件源204a将其事件状态信息发布到事件源服务器206。事件源服务器206通过在消息602中发送200 OK到事件源204a来确认该发布。事件消费者200a期望接收关于事件源204a的事件状态信息,并且在消息604中发送预订请求到事件消费者服务器202。事件消费者服务器202在消息606中将预订请求转发到事件源服务器206。预订请求包括事件消费者200a和事件源204a的身份。在事件源服务器206在消息608中将200 OK发送到事件消费者服务器202,然后事件消费者服务器202在消息610中将200 OK转发到事件消费者200a后,预订得到了确认。如果事件消费者200a被授权查看事件源204a的事件状态,则事件源服务器206在消息612中将反映事件源204a的视图的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息614中发送反映该视图的通知消息到事件消费者200a。在消息616和消息617中,利用从事件消费者200a发送到事件消费者服务器202的200 OK和从事件消费者服务器202发送到事件源服务器206的200 OK,这些通知消息得到了确认。
事件消费者200b在消息618中发送预订请求到事件消费者服务器202,事件消费者服务器202在消息619中将预订请求转发到事件源服务器206。预订请求包括事件消费者200b的身份。在所示实施例中,事件消费者200b不具有查看事件源204a的事件状态的授权。事件源服务器206在消息620中以403Forbidden响应作出响应,因为事件消费者200b未被授权查看该事件状态。该响应在消息621中被转发到事件消费者200b。因此,事件消费者200b未获得查看事件源204a的事件状态的访问。
在实例622中,事件源204a的事件状态发生了改变。事件源204a在消息624中将事件状态改变发布到事件源服务器206。事件源服务器206在消息626中将包括改变了的事件状态的视图标识符的通知消息发送到事件消费者服务器202。事件消费者服务器202在消息628中将该通知消息发送到事件消费者200a。发布和通知消息都由事件消费者200、202和事件源服务器206通过在消息630、631和632中发送200 OK得到确认。
该呼叫流图仅是试图获得预订的未经授权的事件消费者200的一个示例。例如,在事件消费者200a已接收到对事件源204a的事件状态的视图后,事件源204a可能改变授权策略。如果授权策略改变了,则事件源服务器206可能终止事件消费者200a的视图。作为另一个示例,事件源204a可能更新授权策略来向事件消费者200提供对事件状态的不同视图。向事件消费者200提供不同的视图可能导致正被传递的数据改变。授权策略改变可能在作为预订对话的一部分发送的事件状态中反映出来。另外,授权的改变可能导致预订对话终止。
流程图和每个呼叫流图仅是例示性的。可以对这些流程图和/或呼叫流图作出修改、添加或省略。另外,可以以任何适当的方式执行步骤和消息。
尽管已结合特定的实施例和一般关联的方法描述了这里的公开,但是本领域技术人员将清楚实施例和方法的的替换和置换。因此,上面对示例实施例的描述不限制该公开。在不脱离该公开的范围和精神的情况下,可以作出其他改变、替换和变更。

Claims (22)

1.一种用于优化域间事件服务的方法,包括:
在事件源服务器处接收请求接收事件源的事件状态的第一预订请求,所述事件状态包括作为所述事件源的用户的存在性信息;
确定与所述第一预订请求相关联的视图;
向事件消费者服务器发送通知消息,所述通知消息反映出与所述第一预订请求相对应的对所述事件源的事件状态的第一已定义视图;
接收预订所述事件源的第一已定义视图的第一视图预订;
在所述事件源服务器处接收请求接收所述事件源的事件状态的第二预订请求;
确定与所述第二预订请求相关联的视图;
确定所述第一已定义视图是否对应于所述第二预订请求;
如果所述第一已定义视图对应于所述第二预订请求,则重用与所述第一预订请求相对应的所述第一已定义视图;
重用所述第一视图预订来预订所述事件源的第一已定义视图。
2.如权利要求1所述的方法,还包括:
在接收到所述第一预订请求后由所述事件源服务器产生标识所述事件源的视图标识符,其中所述视图标识符是统一资源标识符;
在所述通知消息中将所述视图标识符发送到所述事件消费者服务器。
3.如权利要求1所述的方法,还包括:
如果所述第一已定义视图不对应于所述第二预订请求,则发送与所述第二预订请求相对应的第二已定义视图;
接收第二视图预订请求来预订所述事件源的第二已定义视图。
4.如权利要求1所述的方法,还包括:
确定所述事件源的事件状态是否改变;
如果确定所述事件状态改变则发送改变通知,其中所述改变通知包括所述事件源的视图标识符。
5.如权利要求1所述的方法,还包括:
确定所述事件源的事件状态是否改变;
如果确定所述事件状态改变则生成改变通知;
收集一个时间间隔中的一个或多个改变通知;
汇聚所述一个或多个改变通知,其中所汇聚的改变通知包括所述事件源的视图标识符;
发送所述一个或多个改变通知。
6.如权利要求5所述的方法,其中发送所述一个或多个改变通知包括应用压缩算法来减小所汇聚的改变通知的大小。
7.如权利要求1所述的方法,还包括利用由所述第一和第二预订请求建立的第一和第二预订来发送策略改变的通知。
8.一种用于优化域间事件服务的系统,包括:
一个或多个事件源,可操作来提供事件状态信息;
耦合到所述一个或多个事件源的事件源服务器,可操作来使得所述一个或多个事件源能够提供所述事件状态信息;
多个事件消费者;
耦合到所述事件源服务器和所述多个事件消费者的事件消费者服务器,可操作来使得所述多个事件消费者预订所述一个或多个事件源,其中所述事件源服务器还可操作来:
接收请求接收所述一个或多个事件源的事件状态的第一预订请求,所述事件状态包括作为所述一个或多个事件源的一个或多个用户的存在性信息;
确定与所述第一预订请求相关联的视图;
向所述事件消费者服务器发送通知消息,所述通知消息反映出与所述第一预订请求相对应的对所述一个或多个事件源的事件状态的第一已定义视图;
接收预订所述事件源的第一已定义视图的第一视图预订;
接收请求接收所述一个或多个事件源的事件状态的第二预订请求;
确定与所述第二预订请求相关联的视图;
确定所述第一已定义视图是否对应于所述第二预订请求;
如果所述第一已定义视图对应于所述第二预订请求,则重用与所述第一预订请求相对应的所述第一已定义视图;
重用所述第一视图预订来预订所述事件源的第一已定义视图。
9.如权利要求8所述的系统,其中所述事件源服务器可操作来:
在接收到所述第一预订请求后产生标识所述事件源的视图标识符,其中所述视图标识符是统一资源标识符;
在所述通知消息中将所述视图标识符发送到所述事件消费者服务器。
10.如权利要求8所述的系统,其中所述事件源服务器还可操作来:
如果所述第一已定义视图不对应于所述第二预订请求,则发送与所述第二预订请求相对应的第二已定义视图;
接收预订所述事件源的第二已定义视图的第二视图预订请求。
11.如权利要求8所述的系统,其中所述事件源服务器可操作来:
确定所述一个或多个事件源的事件状态是否改变;
如果确定所述事件状态改变则发送改变通知到所述事件消费者服务器,其中所述改变通知包括所述一个或多个事件源中已改变的每个的视图标识符。
12.如权利要求8所述的系统,其中所述事件源服务器可操作来:
确定所述一个或多个事件源的事件状态是否改变;
如果确定所述事件状态改变则生成改变通知;
收集一个时间间隔中的所述一个或多个事件源的一个或多个改变通知;
汇聚包括每个事件源的视图标识符的所述一个或多个改变通知;
发送所述一个或多个改变通知。
13.如权利要求12所述的系统,其中所述事件消费者服务器可操作来将每个事件源的改变通知发送到预订了所述事件状态的多个事件消费者。
14.如权利要求12所述的系统,其中所述事件源服务器可操作来应用压缩算法以减小所汇聚的改变通知的大小。
15.如权利要求8所述的系统,其中所述事件源服务器可操作来利用自所述多个事件消费者接收到的所述预订请求来发送策略改变的通知。
16.一种用于优化域间事件服务的系统,包括:
用于在事件源服务器处接收请求接收事件源的事件状态的第一预订请求的装置,所述事件状态包括作为所述事件源的用户的存在性信息;
用于确定与所述第一预订请求相关联的视图的装置;
用于向事件消费者服务器发送通知消息的装置,所述通知消息反映出与所述第一预订请求相对应的对所述事件源的事件状态的第一已定义视图;
用于接收预订所述事件源的第一已定义视图的第一视图预订的装置;
用于在所述事件源服务器处接收请求接收所述事件源的事件状态的第二预订请求的装置;
用于确定与所述第二预订请求相关联的视图的装置;
用于确定所述第一已定义视图是否对应于所述第二预订请求的装置;
用于在所述第一已定义视图对应于所述第二预订请求的情况下重用与所述第一预订请求相对应的所述第一已定义视图的装置;
用于重用所述第一视图预订来预订所述事件源的第一已定义视图的装置。
17.如权利要求16所述的系统,还包括:
用于在接收到所述第一预订请求后产生标识所述事件源的视图标识符的装置,其中所述视图标识符是统一资源标识符;
用于在所述通知消息中将所述视图标识符发送到所述事件消费者服务器的装置。
18.如权利要求16所述的系统,还包括:
用于在所述第一已定义视图不对应于所述第二预订请求的情况下发送与所述第二预订请求相对应的第二已定义视图的装置;
用于接收第二视图预订请求来预订所述事件源的第二已定义视图的装置。
19.如权利要求16所述的系统,还包括:
用于确定所述事件源的事件状态是否改变的装置;
用于在确定所述事件状态改变的情况下发送改变通知的装置,其中所述改变通知包括所述事件源的视图标识符。
20.如权利要求16所述的系统,还包括:
用于确定所述事件源的事件状态是否改变的装置;
用于在确定所述事件状态改变的情况下生成改变通知的装置;
用于收集一个时间间隔中的一个或多个改变通知的装置;
用于汇聚所述一个或多个改变通知的装置,其中所汇聚的改变通知包括视图标识符;
用于发送所述一个或多个改变通知的装置。
21.如权利要求20所述的系统,其中用于发送所述一个或多个改变通知的装置包括用于应用压缩算法来减小所汇聚的改变通知的大小的装置。
22.如权利要求16所述的系统,还包括用于利用由所述第一和第二预订请求建立的第一和第二预订来发送策略改变的通知的装置。
CN2005800192439A 2004-06-17 2005-06-16 用于优化域间事件服务的系统和方法 Active CN101426726B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US52169004P 2004-06-17 2004-06-17
US60/521,690 2004-06-17
US11/154,974 2005-06-15
US11/154,974 US7607138B2 (en) 2004-06-17 2005-06-15 System and method for optimizing inter-domain event services
PCT/US2005/021460 WO2006009842A2 (en) 2004-06-17 2005-06-16 System and method for optimizing inter-domain event services

Publications (2)

Publication Number Publication Date
CN101426726A CN101426726A (zh) 2009-05-06
CN101426726B true CN101426726B (zh) 2011-05-18

Family

ID=35481833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800192439A Active CN101426726B (zh) 2004-06-17 2005-06-16 用于优化域间事件服务的系统和方法

Country Status (5)

Country Link
US (1) US7607138B2 (zh)
EP (1) EP1784356A4 (zh)
CN (1) CN101426726B (zh)
CA (1) CA2570569C (zh)
WO (1) WO2006009842A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261290B2 (en) * 2005-12-30 2012-09-04 Microsoft Corporation Heartbeat subscriptions
DE102006010539B4 (de) * 2006-03-07 2008-01-31 Siemens Ag Verfahren zur Übertragung von Programmaktualisierungen für programmgesteuerte Einrichtungen in einem Kommunikationsnetz
US8046626B2 (en) * 2006-08-25 2011-10-25 Cisco Technology, Inc. System and method for maintaining resiliency of subscriptions to an event server
US8726293B2 (en) * 2007-01-25 2014-05-13 Cisco Technology, Inc. Dynamic application policy for service based interaction
CN101636999B (zh) * 2007-03-19 2012-11-07 Lm爱立信电话有限公司 在通信网络中通告客户端的方法及设备
US8402147B2 (en) * 2007-04-10 2013-03-19 Apertio Limited Nomadic subscriber data system
US9112873B2 (en) * 2007-04-10 2015-08-18 Apertio Limited Alias hiding in network data repositories
US8782085B2 (en) 2007-04-10 2014-07-15 Apertio Limited Variant entries in network data repositories
US20080253402A1 (en) * 2007-04-10 2008-10-16 Apertio Limited Timing device and method
KR100906109B1 (ko) * 2007-06-20 2009-07-07 엔에이치엔(주) 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템
US8321528B2 (en) * 2007-06-29 2012-11-27 Telefonaktiebolaget L M Ericsson (Publ) Method of processing event notifications and event subscriptions
TWI350089B (en) 2007-11-29 2011-10-01 Ind Tech Res Inst Apparatus and method for presence service on inter-domain
CN101583152B (zh) * 2008-05-15 2011-08-24 华为技术有限公司 一种信息传递方法、装置和系统
EP2583447B1 (en) * 2010-06-21 2018-11-28 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for notifications in a communication network
US20130179448A1 (en) * 2012-01-05 2013-07-11 International Business Machines Corporation Linking Single System Synchronous Inter-Domain Transaction Activity
US9509519B2 (en) 2013-09-09 2016-11-29 At&T Intellectual Property I, L.P. Method and system for managing user location information in a communication system
CN106484211A (zh) * 2015-08-28 2017-03-08 富泰华工业(深圳)有限公司 具有系统优化功能的电子装置及系统优化方法
US11307909B2 (en) * 2017-08-29 2022-04-19 SK Hynix Inc. System for slowdown status notification and operating method thereof

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704785B1 (en) * 1997-03-17 2004-03-09 Vitria Technology, Inc. Event driven communication system
US7143093B1 (en) * 1998-12-17 2006-11-28 Webmethods, Inc. Enterprise computer system
US6366926B1 (en) * 1998-12-31 2002-04-02 Computer Associates Think, Inc. Method and apparatus for the dynamic filtering and routing of events
US7373410B2 (en) * 2002-10-23 2008-05-13 Genesys Telecommunications Laboratories, Inc. Method and system for providing adaptive and proactive interaction management for multiple types of business interactions occurring in a multimedia communications environment
US6748455B1 (en) * 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6829770B1 (en) * 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6828770B1 (en) * 1999-04-12 2004-12-07 Chk Wireless Technologies Australia Pty Ltd. Apparatus and method for electrical measurements on conductors
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
ATE294480T1 (de) * 1999-06-11 2005-05-15 Microsoft Corp Allgemeines api zur gerätefernsteuerung
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US7120628B1 (en) * 1999-07-01 2006-10-10 International Business Machines Corporation System and method for enabling a user to subscribe to updates from information sources
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US6751657B1 (en) * 1999-12-21 2004-06-15 Worldcom, Inc. System and method for notification subscription filtering based on user role
JP2002074207A (ja) * 2000-09-04 2002-03-15 Fujitsu Ltd サーバー
AU2001280534A1 (en) * 2000-07-13 2002-01-30 Aprisma Management Technologies, Inc. Method and apparatus for a comprehensive network management system
US20030088620A1 (en) * 2001-11-05 2003-05-08 Microsoft Corporation Scaleable message dissemination system and method
US6931405B2 (en) * 2002-04-15 2005-08-16 Microsoft Corporation Flexible subscription-based event notification
US7177859B2 (en) * 2002-06-26 2007-02-13 Microsoft Corporation Programming model for subscription services
US7051105B2 (en) 2002-08-08 2006-05-23 International Business Machines Corporation System and method for distributing management events to external processes
US7254579B2 (en) * 2004-03-15 2007-08-07 Microsoft Corporation Using endpoint references in a pub-sub system

Also Published As

Publication number Publication date
WO2006009842A2 (en) 2006-01-26
US7607138B2 (en) 2009-10-20
EP1784356A4 (en) 2009-11-18
CA2570569C (en) 2012-08-28
EP1784356A2 (en) 2007-05-16
US20050283477A1 (en) 2005-12-22
WO2006009842A3 (en) 2009-03-26
CA2570569A1 (en) 2006-01-26
CN101426726A (zh) 2009-05-06

Similar Documents

Publication Publication Date Title
CN101426726B (zh) 用于优化域间事件服务的系统和方法
US20190109805A1 (en) Hierarchical publish and subscribe system
EP1177666B1 (en) A distributed system to intelligently establish sessions between anonymous users over various networks
US7882245B2 (en) Presence service access device, presence service system and method for publishing and acquiring presence information
US20030041101A1 (en) Presence watcher proxy
US7873696B2 (en) Scalable software blade architecture
CN102546773A (zh) 提供复原性服务
US20100069092A1 (en) Scalable Geo-location Event Processing
WO2017040997A1 (en) Multiplexed demand signaled distributed messaging
CN101365120B (zh) 网络视频监控系统的数据集中管理方法
US9269080B2 (en) Hierarchical publish/subscribe system
US9762405B2 (en) Hierarchical publish/subscribe system
US7933982B2 (en) Apparatus and method for presence service on inter-domain
US9569753B2 (en) Hierarchical publish/subscribe system performed by multiple central relays
CN101637033A (zh) 更新存在信息的系统和方法
CN103563314A (zh) 用于被动通信服务的系统和方法
CN111131443A (zh) 一种任务推送方法和系统
EP4085598B1 (en) System and method for supporting permanent http connections
CN101729585B (zh) 一种资源列表服务器及ims中状态呈现信息的订阅方法
CN112787906A (zh) 一种基于云桌面平台的消息推送系统
WO2010107540A1 (en) Presence network agent in ims networks
US7647379B2 (en) System and method for re-routing messaging traffic to external resources
JP2000200245A (ja) 情報利用システム及び情報利用方法
EP2680539B1 (en) Hierarchical publish/subscribe system
CN101877673B (zh) 阻止分离电话和网关登记的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant