事件管理系统及方法以及计算机可读取储存介质的制作方法

文档序号:7623017阅读:80来源:国知局
专利名称:事件管理系统及方法以及计算机可读取储存介质的制作方法
技术领域
此发明是一种事件管理技术,特别是一种事件管理系统及方法以及计算机可读取储存介质。
背景技术
同用随插即用论坛(UPnP Forum)定义了两种类型的装置控制端点(control points,CPs);与受控制装置(controlled devices,或简称为装置),以及六个功能阶层网络寻址(network addressing)、装置发现(discovery)、描述、控制、事件运作(eventing)与表现。这些阶层定义了所有UPnP装置在网络上如何运作。某些装置提供如服务器的功能,用以提供可被控制端点监督与控制的服务。这些装置首先取得一个地址,接着提供自身提供服务的描述给搜寻到的控制端点。当一个控制端点发现此类装置,并且接收到装置以及服务的描述后,便可控制这些装置,或从其所提供的服务上接收通知事件(notification events)。每一个UPnP功能阶层定义所有装置所须支持的相关网络通讯协议。
事件运作阶层的功能简单描述如下。事件运作允许控制端点监督装置的状态改变情况。UPnP结构运用一种发布者/订阅者模式(publisher/subscriber model),使得控制端点可向一个装置所提供的服务进行订阅。一旦状态变量改变时,此装置的服务会通知所有注册的控制端点。使用此方法来反映状态改变,可让UPnP网络中的装置成为一个动态(dynamic)、可响应(responsive)以及以事件进行驱动(event-driven)的系统。
事件运作功能是由订阅者与发布者使用一般性事件通知结构(GeneralEvent Notification Architecture,GENA)来传递订阅(subscription)以及事件通知(event notification)消息。事件(event)为从一个服务传递给一个已登录(registered)的控制端点的通知(notification)的一个实体(instance),并且用以告知控制端点,此服务发生状态改变。订阅是代表一种建立关系,代表一个订阅者有意从一个已登录的发布者接收特定通知。而事件消息的传送时机,并不仅限于状态变量改变时,例如,亦可用于响应一个动作请求(action request)或者于内部状态改变(internal state change)时。
然而,传统的UPnP事件运作并非具有良好的效率,特别是,当多个控制端点订阅相同的服务时,它们会被给予不同且独一无二的订阅识别码(session/subscription identifiers,SIDs)。而服务则必须自己维护一个订阅清单(subscriber list)。详而言之,当服务由订阅者接收到订阅、更新或取消消息时,需要更新此订阅清单,并据以传递事件给订阅者。当多个控制端点订阅相同的服务时,它们会分别接收到不同的订阅识别码与事件键值,但其中却包含相同的状态改变消息,此亦即为,此服务藉由单点传送的方式(unicasting)来通知其订阅者。而使用单点传送的方式来进行事件运作,则需要耗费资源来维护订阅清单与订阅识别码。因此,当多个控制端点订阅相同的服务时,需要一种不需要耗费资源来维护订阅清单与订阅识别码的事件管理系统及方法,用以提升事件运作的效率。

发明内容
有鉴于此,本发明的目的为提供一种不需要耗费资源来维护订阅清单与订阅识别码的事件管理系统及方法,用以提升事件运作的效率。
依据上述目的,本发明实施例揭露一种事件管理方法,被发布端设备中的服务使用。此方法包括接收由第一订阅端设备所传来的第一订阅请求;响应第一服务初始化消息;以及反复传送多个事件消息。第一订阅请求中包含订阅此服务所发布的事件的信息。第一服务初始化消息中包含相应于服务的群体服务识别码、第一初始化事件序号、事件名称与事件名称的目前值。每一个事件消息中包含相应于服务的群体服务识别码、代表消息顺序的事件序号、事件名称与事件名称的目前值。
于一些情况下,此方法还可于传送每一个事件消息前,增加事件序号。
于一些情况下,此方法还可判断第一请求是否为第一个订阅上述服务的请求;当第一订阅请求为第一个订阅服务的请求时,将第一初始化事件序号设为0;以及当第一订阅请求并非第一个订阅服务的请求时,将第一初始化事件序号设为最新的事件序号。此方法还可于接收第一订阅请求后,接收由第二订阅端设备所传来的第二订阅请求,此请求中包含订阅服务所发布的事件的信息;将第二初始化事件序号设为最新的事件序号;以及响应第二服务初始化消息,此初始化消息中包含群体服务识别码、第二初始化事件序号、事件名称与事件名称的目前值。
于一些情况下,此方法还可储存相应于第一订阅请求的记录,此记录中包含群体服务识别码、第一初始化事件序号与相应于第一订阅端设备的回拨统一资源寻址。
于一些情况下,第一订阅端装置中的客户端应用程序可取得事件订阅信息,此订阅信息包含相应于服务的事件订阅统一资源寻址,并且,客户端应用程序还可藉由事件订阅统一资源寻址传送第一订阅请求。
于一些情况下,第一订阅端装置中的客户端应用程序可接收第一服务初始化消息,以及依据事件名称的目前值进行初始化作业。第一订阅端装置中的客户端应用程序可反复取得由网络上传来的事件消息,逐一判断事件消息中是否包含群体服务识别码,以及当检测到事件消息中包含群体服务识别码时,依据事件消息中的内容进行后续处理。
本发明实施例另揭露一种计算机可读取储存介质,用以储存计算机程序。此计算机程序用以加载至一部发布端设备中并且使得该发布端设备执行上述的事件管理方法。
本发明实施例还揭露一种事件管理系统,包含第一订阅端设备与发布端设备。发布端设备通过网络耦接于第一订阅端设备。发布端设备用以接收由第一订阅端设备所传来的第一订阅请求,响应第一服务初始化消息,以及反复传送多个事件消息。第一订阅请求中包含订阅此服务所发布的事件的信息。第一服务初始化消息中包含相应于服务的群体服务识别码、第一初始化事件序号、事件名称与事件名称的目前值。每一个事件消息中包含相应于服务的群体服务识别码、代表消息顺序的事件序号、事件名称与事件名称的目前值。
于一些情况下,发布端设备还可于传送每一个事件消息前,增加事件序号。
于一些情况下,发布端设备还可判断第一订阅请求是否为第一个订阅服务的请求,当第一订阅请求为第一个订阅服务的请求时,将第一初始化事件序号设为0,以及当第一订阅请求并非第一个订阅服务的请求时,将第一初始化事件序号设为最新的事件序号。事件管理系统还可包括第二订阅端设备,通过网络耦接于发布端设备。发布端设备更可于接收第一订阅请求后,接收由第二订阅端设备所传来的第二订阅请求,其中的第二订阅请求中包含订阅服务所发布的事件的信息,将第二初始化事件序号设为最新的事件序号,以及响应第二服务初始化消息,其中的服务初始化消息中包含群体服务识别码、第二初始化事件序号、事件名称与事件名称的目前值。
于一些情况下,发布端设备还可储存相应于第一订阅请求的记录,记录中包含群体服务识别码、第一初始化事件序号与相应于第一订阅端设备的回拨统一资源寻址。
于一些情况下,第一订阅端装置还可取得事件订阅信息,其中的事件订阅信息包含相应于服务的事件订阅统一资源寻址,藉由事件订阅统一资源寻址传送第一订阅请求。
于一些情况下,第一订阅端装置还可接收第一服务初始化消息,以及依据事件名称的目前值进行初始化作业。第一订阅端装置还可反复取得通过网络所传来的事件消息,逐一判断事件消息中是否包含群体服务识别码,以及当检测到事件消息中包含群体服务识别码时,依据事件消息中的内容进行后续处理。


第1图是表示依据本发明实施例的事件管理系统的网络结构示意图;第2图是表示依据本发明实施例的个人计算机的硬件结构图;第3图是表示依据本发明实施例的事件管理方法的方法流程图;第4图是表示依据本发明实施例的事件管理的计算机可读取储存介质示意图;第5图是表示依据本发明实施例的事件管理时序图。
标号说明10~事件管理系统;11、13、15、17~个人计算机;21~处理单元;22~存储器;23~储存装置;24~输出装置;25~输入装置;26~通讯装置;27~总线;S311、S313、...、S421、S423~操作步骤;40~储存介质;420~事件管理计算机程序;421~接收订阅请求逻辑;422~取得目前的事件序号逻辑;423~储存相应于订阅请求的记录逻辑;424~维护事件序号逻辑;425~广播事件消息逻辑。
具体实施例方式
第1图是表示依据本发明实施例的事件管理系统10的网络结构示意图。于较佳的情况下,此网络结构包括个人计算机11、13、15、17。其中,个人计算机11、13、15、17可以实体联机(wired-connection)、无线或混合实体联机与无线的方式彼此连接。而本领域技术人员皆了解个人计算机11、13、15、17间的连接也许须通过多个中介节点,例如,无线接取点(access point)、基地台(base station)、集线器(hub)、桥接器(bridge)、路由器(router)或其它用以处理网络通讯的中介节点。
第2图是表示依据本发明实施例的个人计算机11、13、15、17的硬件结构图。个人计算机11、13、15、17中之一者,包括处理单元21、存储器22、储存装置23、输出装置24、输入装置25、通讯装置26,并使用总线27将其连接在一起。除此之外,本领域技术人员也可将个人计算机11、13、15、17中之一者实施于其它计算机系统配置(configuration)上,例如,多处理器系统、以微处理器为基础或可程序化的消费性电子产品(microprocessor-basedor programmable consumer electronics)、网络计算机、迷你计算机、大型主机、笔记型计算机以及类似的设备。其中,以微处理器为基础或可程序化的消费性电子产品可包括手机、投影机、显示屏幕、个人数字助理(personaldigital assistant,PDA)、数字录像设备、数字音乐播放器等。处理单元21可包含单一中央处理单元(central-processing unit;CPU)或者是关连于平行运算环境(parallel processing environment)的多个平行处理单元。存储器22包含只读存储器(read only memory;ROM)、闪存(flash ROM)以及/或动态存取存储器(random access memory;RAM),用以储存可供处理单元21执行的程序模块以及数据。一般而言,程序模块包含例行程序(routines)、程序(program)、对象(object)、元件(component)等,用以执行网址转换功能。本发明亦可以实施于分布式运算环境,其运算工作被一连接于通讯网路的远程处理设备所执行。在分布式环境中,个人计算机11、13、15、17中之一者的功能执行,也许由本地以及多部远程计算机系统共同完成。在分布式环境中,程序模块可同时存在于本地以及远程存储储存装置中,而远程访问结构包含分布式元件对象模型(DCOM)、通用对象请求中介结构(CORBA)、网页元件(Web objects)、网络服务(Web Services)或其它类似结构。
第3图是表示依据本发明实施例的事件管理方法的方法流程图。第3图所显示的方法被切分为两个区域,左边的区域代表由个人计算机13、15、17所执行的方法,右边的区域代表由个人计算机11所执行的方法。两个区域由一条虚线隔开,以增加其可读性。个人计算机11为一个发布端设备,用以提供服务,而个人计算机13、15、17为订阅端设备,用以订阅个人计算机11中所提供的服务。
于步骤S311,个人计算机13、15或17中的客户端应用程序(clientapplication)取得事件订阅信息(service subscription information),其中包含每一个服务的服务识别码(service identifier)<SID>以及相应于服务的事件订阅统一资源寻址(event subscription uniform resource locator,URL)<eventSubURL>。客户端应用程序,举例来说,可为网络广播收音机、网络聊天室、网络视讯接收器、实时联机游戏仿真器等。此步骤可由个人计算机11、本机的储存装置或其它连接于网络的计算机取得。于步骤S313,依据服务订阅信息中的内容,选择一个服务。于步骤S315,藉由相应于选择服务的事件订阅统一资源寻址,传送一个订阅请求(subscription request)给个人计算机11中的特定服务。
于步骤S411,个人计算机11中的服务接收订阅请求。于步骤S413,取得相应于此服务的事件序号(event sequence number)。此事件序号由服务来维护,从0开始,并且于发出每一个事件消息前增加,之后,包含于发出的事件消息中,用以对事件消息进行编号。于此须注意的是,只有第一个订阅此服务的订阅者会收到事件序号为0的事件消息,之后的订阅者则会收到相应于订阅时间点的事件序号的事件消息。步骤S413,响应服务初始化消息,其中,包含群体服务识别码(group SID)、目前的事件序号、所有状态变量的名称与目前的值。于此须注意的是,当数个不同的订阅者订阅此服务时,都只会响应相同的群体服务识别码,而不会因为不同的订阅者给予不同的订阅识别码。此步骤另会储存一笔相应于订阅请求的记录,此记录包含群体服务识别码、回拨统一资源寻址(callback URL)与目前的事件序号,其中,回拨统一资源寻址是相应于订阅者的地址。
于步骤S321,个人计算机13、15或17中的客户端应用程序接收服务初始化消息。于步骤S331中,依据服务初始化消息中所包含的群体服务识别码、目前的事件序号、所有状态变量的名称与目前的值等内容,进行初始化作业。
于步骤S421与步骤S423,个人计算机11中的服务会在服务未结束前,反复不断地广播事件消息,每一个事件消息中包含相同的群体服务识别码、目前的事件序号、所有状态变量的名称与目前的值等内容。于此须注意的是,目前的事件序号会于发出每一个事件消息前增加,以确保事件的顺序性。
于步骤S341,个人计算机13、15或17中的客户端应用程序会不断接收广播于网络的事件消息。于步骤S343,判断接收的事件消息是否相应于先前接收的服务识别码,是则进行步骤S351的处理,否则进行步骤S341的处理。于步骤S351,依据接收到事件消息中的内容进行后续处理。本领域技术人员皆了解此后续处理会因客户单应用程序不同而拥有不同的处理逻辑,故不在此另行说明。
再者,本发明实施例更提出一种计算机可读取储存介质,用以储存计算机程序,上述计算机程序用以实现事件管理方法,这些方法会执行如上所述的步骤。第4图是表示依据本发明实施例的事件管理的计算机可读取储存介质示意图。此储存介质40,用以储存事件管理计算机程序420,其计算机程序包含五个逻辑,分别为接收订阅请求逻辑421、取得目前的事件序号逻辑422、储存相应于订阅请求的记录逻辑423、维护事件序号逻辑424与广播事件消息逻辑425。
以下还举出一个实例来说明事件管理方法的详细运作情形。第5图是表示依据本发明实施例的事件管理时序图。个人计算机11为一个发布端设备,包含两个服务,其服务识别码分别为SID=1与SID=2。个人计算机13、15与17为服务的订阅端设备。
于时间t=0时,个人计算机13中的客户端应用程序向个人计算机11提出服务(SID=1)提出订阅请求。由于个人计算机13中的客户端应用程序是第一个订阅服务(SID=1)的订阅者,因此,服务(SID=1)回复一个包含群体服务识别码(SSID=1)与初始事件序号(Event#=0)的服务初始化消息。于此须注意的是,服务(SID=1)会由此开始维护相应于服务(SID=1)的事件序号。接着,服务(SID=1)会不断于事件变量产生改变时,传送事件消息给个人计算机13中的客户端应用程序。
于时间t=100时,个人计算机15中的客户端应用程序向个人计算机11提出服务(SID=1)提出订阅请求。由于个人计算机15中的客户端应用程序并非是第一个订阅服务(SID=1)的订阅者,因此,服务(SID=1)回复一个包含群体服务识别码(SSID=1)与目前事件序号(Event#=100)的服务初始化消息。接着,服务(SID=1)会不断于事件变量产生改变时,传送事件消息给个人计算机15中的客户端应用程序。
于时间t=201时,个人计算机17中的客户端应用程序向个人计算机11提出服务(SID=2)提出订阅请求。由于个人计算机13中的客户端应用程序是第一个订阅服务(SID=2)的订阅者,因此,服务(SID=2)回复一个包含群体服务识别码(SSID=2)与初始事件序号(Event#=0)的服务初始化消息。于此须注意的是,由于个人计算机1 7中的客户端应用程序所订阅的服务与个人计算机13中的客户端应用程序不同,因此会接收到不同于个人计算机13中的客户端应用程序所接收到的群体服务识别码(SSID=2)。
虽然本发明的实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
权利要求
1.一种事件管理方法,被发布端设备中的服务使用,其方法包括接收由第一订阅端设备所传来的第一订阅请求,上述第一订阅请求中包含订阅上述服务所发布的事件的信息;响应第一服务初始化消息,上述第一服务初始化消息中包含相应于上述服务的群体服务识别码、第一初始化事件序号、事件名称与上述事件名称的目前值;以及反复传送多个事件消息,每一上述事件消息中包含相应于上述服务的上述群体服务识别码、代表消息顺序的事件序号、上述事件名称与上述事件名称的目前值。
2.根据权利要求1所述的事件管理方法,还包括于传送每一上述事件消息前,增加上述事件序号。
3.根据权利要求1所述的事件管理方法,还包括判断上述第一订阅请求是否为第一个订阅上述服务的请求;当上述第一订阅请求为第一个订阅上述服务的请求时,将上述第一初始化事件序号设为0;以及当上述第一订阅请求并非第一个订阅上述服务的请求时,将上述第一初始化事件序号设为最新的上述事件序号。
4.根据权利要求1所述的事件管理方法,还包括于接收上述第一订阅请求后,接收由第二订阅端设备所传来的第二订阅请求,上述第二订阅请求中包含订阅上述服务所发布的事件的信息;将第二初始化事件序号设为最新的上述事件序号;以及响应第二服务初始化消息,上述第二服务初始化消息中包含上述群体服务识别码、上述第二初始化事件序号、上述事件名称与上述事件名称的目前值。
5.根据权利要求1所述的事件管理方法,还包括储存相应于上述第一订阅请求的记录,上述记录中包含上述群体服务识别码、上述第一初始化事件序号与相应于上述第一订阅端设备的回拨统一资源寻址。
6.根据权利要求1所述的事件管理方法,其中上述第一订阅端装置中的客户端应用程序取得事件订阅信息,上述事件订阅信息包含相应于上述服务的事件订阅统一资源寻址,上述客户端应用程序藉由上述事件订阅统一资源寻址传送上述第一订阅请求。
7.根据权利要求1所述的事件管理方法,其中上述第一订阅端装置中的客户端应用程序接收上述第一服务初始化消息,以及依据上述事件名称的目前值进行初始化作业。
8.根据权利要求7所述的事件管理方法,其中上述第一订阅端装置中的上述客户端应用程序反复取得由网络上传来的上述事件消息,逐一判断上述事件消息中是否包含上述群体服务识别码,以及当检测到上述事件消息中包含上述群体服务识别码时,依据上述事件消息中的内容进行后续处理。
9.一种计算机可读取储存介质,用以储存计算机程序,上述计算机程序用以载入至发布端设备中,并且使得上述发布端设备执行事件管理方法,其方法包括接收由第一订阅端设备所传来的第一订阅请求,上述第一订阅请求中包含订阅上述服务所发布的事件的信息;响应第一服务初始化消息,上述第一服务初始化消息中包含相应于上述服务的群体服务识别码、第一初始化事件序号、事件名称与上述事件名称的目前值;以及反复传送多个事件消息,每一上述事件消息中包含相应于上述服务的上述群体服务识别码、代表消息顺序的事件序号、上述事件名称与上述事件名称的目前值。
10.一种事件管理系统,包括第一订阅端设备;发布端设备,通过网络耦接于上述第一订阅端设备,用以接收由第一订阅端设备所传来的第一订阅请求,其中的上述第一订阅请求中包含订阅上述服务所发布的事件的信息,响应第一服务初始化消息,其中的上述第一服务初始化消息中包含相应于上述服务的群体服务识别码、第一初始化事件序号、事件名称与上述事件名称的目前值,以及反复传送多个事件消息,其中的每一上述事件消息中包含相应于上述服务的上述群体服务识别码、代表消息顺序的事件序号、上述事件名称与上述事件名称的目前值。
11.根据权利要求10所述的事件管理系统,其中上述发布端设备还于传送每一上述事件消息前,增加上述事件序号。
12.根据权利要求10所述的事件管理系统,其中上述发布端设备还判断上述第一订阅请求是否为第一个订阅上述服务的请求,当上述第一订阅请求为第一个订阅上述服务的请求时,将上述第一初始化事件序号设为0,以及当上述第一订阅请求并非第一个订阅上述服务的请求时,将上述第一初始化事件序号设为最新的上述事件序号。
13.根据权利要求12所述的事件管理系统,还包括第二订阅端设备,通过上述网络耦接于上述发布端设备,其中上述发布端设备还于接收上述第一订阅请求后,接收由第二订阅端设备所传来的第二订阅请求,其中的上述第二订阅请求中包含订阅上述服务所发布的事件的信息,将第二初始化事件序号设为最新的上述事件序号,以及响应第二服务初始化消息,其中的上述第二服务初始化消息中包含上述群体服务识别码、上述第二初始化事件序号、上述事件名称与上述事件名称的目前值。
14.根据权利要求10所述的事件管理系统,其中上述发布端设备还储存相应于上述第一订阅请求的记录,其中的上述记录中包含上述群体服务识别码、上述第一初始化事件序号与相应于上述第一订阅端设备的回拨统一资源寻址。
15.根据权利要求10所述的事件管理系统,其中上述第一订阅端装置还取得事件订阅信息,其中的上述事件订阅信息包含相应于上述服务之一事件订阅统一资源寻址,藉由上述事件订阅统一资源寻址传送上述第一订阅请求。
16.根据权利要求10所述的事件管理系统,其中上述第一订阅端装置更接收上述第一服务初始化消息,以及依据上述事件名称的目前值进行初始化作业。
17.根据权利要求16所述的事件管理系统,其中上述第一订阅端装置还反复取得通过上述网络所传来的上述事件消息,逐一判断上述事件消息中是否包含上述群体服务识别码,以及当检测到上述事件消息中包含上述群体服务识别码时,依据上述事件消息中的内容进行后续处理。
全文摘要
一种事件管理方法,包括下列步骤。接收由订阅端设备所传来的订阅请求,此订阅请求中包含订阅服务所发布的事件的信息。响应服务初始化消息,此服务初始化消息中包含相应于服务的群体服务识别码、初始化事件序号、事件名称与事件名称的目前值。反复传送多个事件消息,每一个事件消息中包含相应于服务的群体服务识别码、代表消息顺序的事件序号、事件名称与事件名称的目前值。
文档编号H04L29/02GK1925478SQ20051009769
公开日2007年3月7日 申请日期2005年8月31日 优先权日2005年8月31日
发明者胡志麟 申请人:明基电通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1