CN102342138A - 用于提供上下文模型的事件方案的方法、装置和计算机程序产品 - Google Patents
用于提供上下文模型的事件方案的方法、装置和计算机程序产品 Download PDFInfo
- Publication number
- CN102342138A CN102342138A CN2010800106881A CN201080010688A CN102342138A CN 102342138 A CN102342138 A CN 102342138A CN 2010800106881 A CN2010800106881 A CN 2010800106881A CN 201080010688 A CN201080010688 A CN 201080010688A CN 102342138 A CN102342138 A CN 102342138A
- Authority
- CN
- China
- Prior art keywords
- event
- topology
- stage
- notice
- context model
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Abstract
一种用于提供上下文模型的事件方案的装置,其可以包括处理器和存储可执行指令的存储器,所述指令响应于由所述处理器的执行而使得所述装置至少执行包括以下的操作:定义包括至少两个阶段的事件方案以及提供所述事件方案以用于不依赖于拓扑的上下文模型。所定义的至少两个阶段中的一个可以使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个可以使得能够提供从所述数据提供者到所述消费者应用的通知。所述上下文模型可以被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
Description
技术领域
本发明的实施例一般性地涉及通信接口技术,并且更具体地涉及用于诸如递送上下文客户端接口(DCCI:Delivery Context ClientInterface)模型之类的上下文模型的事件方案的方法、装置和计算机程序产品。
背景技术
作为万维网联盟(W3C)规范的递送上下文客户端接口(DCCI)是一种应用可以通过其使用例如类似文档对象模型(DOM)的接口访问诸如递送上下文信息之类的设备数据的机制。这样,DCCI可以充当web应用(消费者)的消费者接口和向树状接口提供数据的提供者。由于上下文数据所呈现的固有关系,所以可以以树结构来表示上下文数据。树结构呈现不同的上下文属性之间的层级关系,其中每个属性可以形成树中的节点,并且DCCI是这样的结构的例子。然而,也可以对于消费者接口采用除了树状结构之外的其他拓扑结构。
虽然DCCI可能在向应用提供关于设备状态的信息方面是有用的,但DCCI当前可能被一些人视作有局限,这是由于其对DOM的依赖。对此,由W3C特别地对于上下文模型所采用的当前事件模型(例如DCCI)倾向于在处理(诸如支持用于同一目的的全部事件阶段)方面较繁重并且依赖于一些不需要的DOM特征(诸如冗余事件阶段、对文档事件的支持、用户接口(UI)事件、突发(mutation)以及不适合于上下文模型的其他特征)。进一步地,DOM事件可能对在一些情况下的使用来说太复杂并且可能缺少期望的功能,诸如对数据提供者和数据消费者之间的双向通信的支持以及不依赖于拓扑的事件传播。
据此,可能期望提供用于解决上面所讨论的问题中的至少一些问题的框架。
发明内容
因此,对于上下文模型的事件方案提供了方法、装置和计算机程序产品。此外,本发明的一些实施例可以包括向事件阶段提供新的语义和额外功能的模型。据此,例如,可以避免冗余的处理同时提供高效且影响小的解决方案来支持多个拓扑(例如不仅是树结构)以及提供直观且高效的事件处理。
在一个示例实施例中,提供了提供上下文模型的事件方案的方法。该方法可以包括:定义包括至少两个阶段的事件方案以及提供所述事件方案以用于不依赖于拓扑的上下文模型。所定义的至少两个阶段中的一个可以使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个可以使得能够提供从所述数据提供者到所述消费者应用的通知。所述上下文模型可以被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
在另一示例实施例中,提供了用于提供上下文模型的事件方案的计算机程序产品。该计算机程序产品包括其中存储有计算机可执行程序代码指令的至少一个计算机可读存储介质。所述计算机可执行程序代码指令可以包括用于以下操作的程序代码指令:定义包括至少两个阶段的事件方案以及提供所述事件方案以用于不依赖于拓扑的上下文模型。所定义的至少两个阶段中的一个可以使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个可以使得能够提供从所述数据提供者到所述消费者应用的通知。所述上下文模型可以被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
在另一示例实施例中,提供了用于提供上下文模型的事件方案的装置。该装置可以包括处理器和存储可执行指令的存储器,所述指令响应于由所述处理器的执行而使得所述装置至少执行包括以下的操作:定义包括至少两个阶段的事件方案以及提供所述事件方案以用于不依赖于拓扑的上下文模型。所定义的至少两个阶段中的一个可以使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个可以使得能够提供从所述数据提供者到所述消费者应用的通知。所述上下文模型可以被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
本发明的实施例可以提供用于在基于web的操作环境或基于其他网络的操作环境中采用的方法、装置和计算机程序产品。作为结果,例如,设备用户可以享受关于经由设备可访问的应用和服务的改进的能力。
附图说明
已经这样以一般性的术语描述了本发明的实施例,现在将参考附图,所述附图不一定按比例绘制,其中:
图1为根据本发明的示例实施例的通信系统的示意性框图;
图2为根据本发明的示例实施例的用于提供上下文模型的事件方案的装置的示意性框图;以及
图3为与根据本发明的示例实施例的用于提供上下文模型的事件方案的示例方法相应的框图。
具体实施方式
现在将参照附图在下文中更完整地描述本发明的实施例,在所述附图中示出本发明的一些但不是全部实施例。实际上,可以以许多不同的形式实施本发明的实施例,并且本发明不应被理解为限于这里所陈述的实施例,而是提供这些实施例以使得本公开满足适用的法律要求。贯穿全文,相似的参考标号指代相似的元件。如这里所使用的术语“数据”、“内容”、“信息”和类似的术语可以可交换地使用以指代根据本发明的实施例的能够被发送、接收和/或存储的数据。此外,如这里所使用的术语“示例”不被提供为传达任何定性评估,而是仅传达对例子的例示。从而,对任何这样的术语的使用不应被理解为限制本发明的实施例的精神和范围。
电子设备在它们的通信能力方面正快速地发展。随着这样的设备的能力增加,对设备的所述能力敏感的应用也得到发展。从而,例如,对设备的当前操作状态或上下文敏感的应用得到发展。设备经常能够确定、保持和传送关于它们自身的当前操作状态的信息。例如,电量等级、可用带宽,特定设备设置、硬件和软件能力、局部环境光等级和许多其他与状态相关的信息片段可以被确定和/或被传送至其他设备。为了向各种应用(诸如与访问web相关联的应用)传送关于设备操作状态的信息,可以提供接口。这样的接口的例子是作为万维网联盟(W3C)规范的递送上下文客户端接口(DCCI)。DCCI可以使得被称作上下文信息的上下文信息能够对设备上的浏览器内的web页面中所运行的脚本可用。
上下文一般地被定义为可以用于表征实体的状况的任何信息。上下文参数可以包括与例如环境上下文、社会上下文、时空上下文、任务上下文、个人上下文、终端上下文、服务上下文、访问上下文和/或类似上下文相关的参数。上下文可以用于描述设备、网络、用户偏好和可以应用于设备和应用(例如web应用)之间的交互的其他方面的特性的集合。上下文的各方面可以是静态的或动态的。静态方面可以包括颜色分辨率、显示尺寸、键盘布局或设备的其他固定属性。动态方面可以包括可以随时间改变的设备的属性,诸如当前电量等级、设备方向、设备位置、正在运行的其他应用以及许多其他相似的特性。
如上面所指示的那样,DCCI可以是一种应用可以通过其使用例如类似DOM的接口访问上下文信息的机制。据此,应用可以在属性节点上注册事件监听者,所述事件监听者基于属性或其他改变而启动事件。对此,DCCI提供对利用上下文信息的应用的接口。DCCI提供可以以符合一些标准本体论(例如递送上下文本体论(DCO))的层级方式表示的设备上的上下文数据的树状表示。
由于上下文信息可能呈现的固有关系,上下文信息可以被表示为树结构。树结构可以呈现不同上下文属性之间的层级关系,其中每个属性可以形成树结构中的节点。DCCI是这样的树结构的一个例子,但应当理解本发明的实施例延伸超越这一个例子,并且可以延伸至规定数据对象之间的关系和/或它们怎样可以被高效地分布和共享的许多其他数据结构,诸如单骨干结构和混合骨干-树结构。单骨干结构可以是其中存在单个消息总线并且上下文节点(例如提供者)直接与消息总线连接的结构的例子。在这样的结构中,业务流过消息总线和对总线进行监听的节点。在混合骨干-树结构中,例如可以存在远离中央总线定向的消息总线的分支。在可能存在对特定的属性集合的一些层级指示的情况下,可以采用混合骨干-树结构。利用骨干层级,可以在元数据内而不是通过它们的连接来包含属性之间的关系。同时,利用混合骨干-树结构,可以大部分地通过元数据来表达关系,但也可以存在特定类型的属性之间的连接。例如可以基于对各种上下文参数的确定来确定上下文。DCCI使用上下文信息来使得能够具有允许与各种应用交互同时考虑设备上下文的适应性。在一些情况下,当使设备在特定网络(诸如智能空间)中彼此邻近时,可以期望地在这样的设备之间共享上下文信息(例如关于设备能力的信息)以使得每个设备可以接收关于另一设备的能力的一些信息。本发明的一些实施例提供一种机制,通过其可以对所表示的每个对象提供多维数据空间。另外,一些实施例提供对应于所提供的多维空间的操纵功能。虽然以下将在与DCCI相关的环境的上下文中描述实施例,但应当理解,实施例也可以与其他基于对象的模型环境相关。
DOM事件意图与文档操纵相联系使用并且因此不是特别适合于与上下文模型相联系使用。据此,当当前DCCI采用DOM事件时,可能存在将期望减轻或消除的、对功能的不希望的限制和所引入的低效率。据此,本发明的实施例可以提供与和上下文模型一同采用的事件方案相关联的事件模型。本发明的示例实施例的事件模型可以提供更高效和动态的上下文模型。
图1图示了通用系统图,其中在示例通信环境中示出了诸如移动终端10之类的设备。如图1中所示,根据本发明的示例实施例的系统的实施例可以包括能够经由网络30彼此通信的第一通信设备(例如移动终端10)和第二通信设备20。在一些情况下,本发明的实施例可以进一步包括一个或多个额外的通信设备,其中一个在图1中作为第三通信设备25而描绘。在一些实施例中,不是采用本发明的实施例的全部系统都可能包括这里所图示和/或所描述的全部设备。虽然可以出于示例的目的图示并且在下文中描述移动终端10和/或第二通信设备20和第三通信设备25的若干实施例,但诸如便携数字助理(PDA)、传呼机、移动电视、移动电话、游戏设备、膝上型计算机、照相机、视频录像机、音频/视频播放器、收音机、全球定位系统(GPS)设备或前述的任何组合之类的其他类型的终端,以及其他类型的语音和文本通信系统可以容易地采用本发明的实施例。进一步地,诸如服务器或个人计算机之类的不是移动的设备也可以容易地采用本发明的实施例。
网络30可以包括可以经由对应的有线和/或无线接口彼此通信的各种不同节点(第二通信设备20和第三通信设备25可以是其例子)、设备或功能的总集。这样,图1的图示应当被理解为系统的特定元件的广义的视图的例子,而不是系统或网络30的所有包含性的或详细的视图。虽然不是必要的,但在一些实施例中,网络30可能能够支持根据大量的第一代(1G)、第二代(2G)、2.5G、第三代(3G)、3.5G、3.9G、第四代(4G)移动通信协议、长期演进(LTE)等中的一种或多种的通信。在一些实施例中,网络30可以是P2P网络。
诸如移动终端10以及第二通信设备20和第三通信设备25之类的一个或多个通信终端可以经由网络30彼此通信,并且其中每个可以包括用于向基站点发送信号和从基站点接收信号的一个或多个天线,所述基站点例如可以是作为一个或多个蜂窝或移动网络的一部分的基站或可以与数据网络(诸如局域网(LAN)、城域网(MAN)和/或诸如因特网之类的广域网(WAN))耦合的接入点。反过来,诸如处理元件之类的其他设备(例如个人计算机、服务器计算机等)可以经由网络30与移动终端10以及第二通信设备20和第三通信设备25耦合。通过将移动终端10以及第二通信设备20和第三通信设备25(和/或其他设备)直接或间接地与网络30连接,可以使得移动终端10以及第二通信设备20和第三通信设备25能够根据许多通信协议(包括超文本传输协议(HTTP)和/或类似的通信协议)而与其他设备通信或彼此通信,从而分别执行移动终端10以及第二通信设备20和第三通信设备25的各种通信或其他功能。
进一步地,虽然未在图1中示出,但移动终端10以及第二通信设备20和第三通信设备25可以根据例如射频(RF)、蓝牙(BT)、红外(IR)或大量不同的有线或无线通信技术(包括LAN、无线LAN(WLAN)、微波存取全球互通(WiMAX)、WiFi、超宽带(UWB)、Wibree技术和/或类似技术)中的任意一种或多种来通信。这样,可以使得移动终端10以及第二通信设备20和第三通信设备25能够通过许多不同的访问机制中的任意一种来与网络30通信以及彼此通信。例如,可以支持诸如宽带码分多址(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、通用分组无线服务(GPRS)和/或类似机制之类的移动接入机制,以及诸如WLAN、WiMAX和/或类似机制之类的无线接入机制和诸如数字用户线(DSL)、线缆调制解调器、以太网和/或类似机制之类的固定接入机制。
在示例实施例中,网络30可以是被布置为智能空间的自组织(adhoc)网络或分布式网络。从而,设备可以进入和/或离开网络30并且网络30的设备能够基于其他设备的进入和/或退出来调节操作以考虑相应设备或节点及其对应的能力的添加或减去。在示例实施例中,与网络30通信的设备中的一个或多个可以采用上下文模型来辅助提供应用(例如运行在移动终端10上并且充当消费者的web应用)和提供者(例如以网络节点的形式的数据提供者,诸如第二通信设备20和/或第三通信设备25)之间的接口。这样,例如,消费者应用可以从网络30内的提供者请求信息,并且移动终端10或第二通信设备20和第三通信设备25中的任意一个可以存放(host)消费者应用,而移动终端10或第二通信设备20和第三通信设备25中的任意其他的一个充当对于消费者应用的提供者,并且向相应的消费者应用提供诸如上下文信息之类的信息。上下文模型可以是基于对象的模型,其中每个提供者具有模型中的对象表示。从而,上下文模型可以向消费者应用提供对诸如动态数据之类的上下文数据的访问。
图2图示了根据本发明的示例实施例的用于使得能够提供上下文模型的事件方案的装置的示意框图。现在将参照图2描述本发明的示例实施例,在图2中显示了用于提供上下文模型的事件方案的装置50的特定元件。例如可以在移动终端10(和/或第二通信设备20或第三通信设备25)上采用图2的装置50。可替代地,可以在网络30的网络设备上实现装置50。然而,可以可替代地在移动和固定两者的多种其他设备(诸如上面所列出的设备中的任意一个)处实现装置50。在一些情况下,可以在设备的组合上采用实施例。据此,本发明的一些实施例可以完全在单个设备(例如移动终端10)处实施、由多个设备以分布式的方式(例如在P2P网络中的一个或多个设备上)实施、或由在处于客户端/服务器关系中的多个设备实施。进一步地,应当注意,下面所描述的设备或元件可能不是必不可少的,并且从而在特定实施例中可以省略其中一些。
现在参考图2,提供了用于提供上下文模型的事件方案的装置50。装置50可以包括处理器70、用户接口72、通信接口74和存储器设备76,或另外与处理器70、用户接口72、通信接口74和存储器设备76通信。存储器设备76例如可以包括易失性或非易失性存储器。存储器设备76可以被配置为存储信息、数据、应用、指令等以使得装置能够执行根据本发明的示例实施例的各种功能。例如,存储器设备76可以被配置为缓冲输入数据以供处理器70处理。附加地或可替代地,存储器设备76可以被配置为存储指令以供处理器70执行。作为又一替代,存储器设备76可以是存储信息和/或媒体内容的多个数据库中的一个。
可以以数种不同的方式实现处理器70。例如,可以作为诸如处理元件、协处理器、控制器或各种其他处理设备(包括诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)、硬件加速器等的集成电路)之类的各种处理装置来实现处理器70。在示例实施例中,处理器70可以被配置为执行存储在存储器设备76中或以其他方式对处理器70可访问的指令。这样,不管通过硬件或软件方法或通过其组合来配置,处理器70都可以表示能够执行根据本发明的实施例的操作同时由此配置的实体(例如在电路中物理地实现)。从而,例如,当作为ASIC、FPGA等来实现处理器70时,处理器70可以是用于进行这里所描述的操作的具体配置的硬件。可替代地,作为另一例子,当作为软件指令的执行者来实现处理器70时,指令可以具体地配置处理器70以执行这里所描述的算法和操作,如果处理器70不是用于由指令所提供的具体配置,则处理器70还可以是通用处理元件或其他功能可配置的电路。然而,在一些情况下,通过由用于执行这里所描述的算法和操作的指令进一步配置处理器70,处理器70可以是适合于采用本发明的实施例的具体设备(例如移动终端)的处理器。
同时,通信接口74可以是被配置为从网络和/或与装置50通信的任何其他设备或模块接收数据以及/或者向网络和/或与装置50通信的任何其他设备或模块发送数据的、诸如在硬件、软件或硬件和软件的组合中实现的设备或电路之类的任何装置。对此,通信接口74例如可以包括用于使得能够与无线通信网络(例如网络30)进行通信的天线(或多个天线)以及支持硬件和/或软件。在固定环境中,通信接口74可以可替代地支持有线通信或也支持有线通信。这样,通信接口74可以包括用于支持经由线缆、数字用户线(DSL)、通用串行总线(USB)、以太网或其他机制的通信的通信调制解调器和/或其他硬件/软件。
用户接口72可以与处理器70通信以接收用户接口72处的用户输入的指示和/或向用户提供听觉、视觉、机械或其他输出。这样,用户接口72例如可以包括键盘、鼠标、操纵杆、显示器、触摸屏、麦克风、扬声器或其他输入/输出机制。在作为服务器或一些其他网络设备来实现装置的示例实施例中,用户接口72可以是受限的、位于远端、或被消除。
在示例实施例中,处理器70可以被实现为包括或以其它方式控制上下文建模器80。上下文建模器80可以是诸如根据软件操作或以其它方式在硬件或硬件和软件的组合中实现的设备或电路之类的任何装置(例如在软件控制下操作的处理器70、作为被具体配置以执行这里所描述的操作的ASIC或FPGA来实现的处理器70、或其组合)从而配置设备或电路执行如下面所描述的上下文建模器80的对应功能。从而,在采用软件的例子中,执行软件的设备或电路(例如一个例子中的处理器70)形成与这样的装置相关联的结构。对此,例如,上下文建模器80可以被配置为提供上下文模型的生成(包括提供上下文模型的事件方案)以及其他功能。这样,上下文建模器80可以构建上下文模型84,所述上下文模型84可以用于提供对象的模型表示以使得可以向正在调用的应用提供关于各种对象的上下文的信息。此外,上下文建模器80可以定义由上下文模型84提供的事件方案的阶段,以使得所述阶段支持许多类型的拓扑,诸如基于树的层级拓扑、基于单个骨干的拓扑和/或基于混合骨干-树的拓扑。
在一些实施例中,上下文建模器80可以与充当消费者的一个或多个应用(例如应用82)关于所提供的设备上下文信息而进行通信。应用82可以是web应用或一些其他网络应用,对于该应用来说关于与图2的装置50相关联的属性的信息可能是有用的。这样,在一些情况下,应用82可以经由通信接口74(和/或经由处理器70)与上下文建模器80通信。在示例实施例中,上下文建模器84可以充当数据提供者(例如数据提供者85)和应用82之间的通信接口。数据提供者85可以是可以充当数据源的本地提供者或远程提供者(例如第二通信设备20和第三通信设备25中的一个)。像应用82那样,数据提供者85可以与上下文建模器80(和/或上下文模型84)直接通信,或可以建立经由通信接口74或处理器70的这样的通信。
在示例实施例中,可以在计算机程序产品中作为存储在通信设备(例如移动终端10和/或第二通信设备20和第三通信设备25)的存储器中并且由处理器70执行的指令来实现上下文建模器80。可替代地,可以作为形成中间件的一部分或安装在中间件上的软件来实现上下文建模器80,所述中间件例如为通信设备的中间件。作为另一替代,可以作为处理器70(例如作为FPGA、ASIC等)来实现上下文建模器80。上下文建模器80可以被配置为构建包括与通信设备(例如移动终端10和/或第二通信设备20和第三通信设备25)通信的多个(在一些情况下为全部)设备的模型表示的上下文模型(例如上下文模型84)。据此,当例如在移动终端10与第二通信设备20和/或第三通信设备25之间建立通信会话时,上下文建模器80可以被配置为确定针对每个对应的设备的内容和特性的第二通信设备20和/或第三通信设备25的模型表示。这样,例如,如果第二通信设备20是移动电话,则上下文模型可以包括移动电话的能力和其他特性。上下文模型可以包括对象注册表(例如对象模型),所述对象注册表包括在对应的设备中所存储的每个对应对象的对象表示。据此,对于在对应的设备处所创建的每个对象,可以由上下文建模器80确定关于特性、能力、数据结构、制造商、版本号和其他类似信息的信息。在示例实施例中,当应用(例如应用82)使用或请求上下文数据时,上下文建模器80被配置为能够利用上下文模型84来通过与上下文建模器80相关联的值接口提供上下文值。
然而,根据一些实施例的上下文建模器80进一步被配置为提供事件方案以支持上下文模型的拓扑(例如基于树、单个骨干、混合骨干-树等)。这样,根据本发明的一些实施例的上下文建模器80可以提供相对与典型的DCCI实施方式相关联的那些DOM事件阶段的修改的事件方案阶段。对此,根据示例实施例,上下文建模器80可以被配置为定义至少两个新的事件阶段中的一个或多个。在一些情况下,对于上下文模型84,由上下文建模器80定义的新的事件阶段可以替代与DOM相关联的事件阶段(例如捕捉阶段、目标阶段和冒泡阶段)。在DOM中,捕捉阶段、目标阶段和冒泡阶段可以全部用于至少一个共同的目的,即向节点(数据提供者)通知改变。然而,由根据示例实施例的上下文建模器80定义的阶段可以提供具有独特的目的的阶段,同时也简化上下文模型84并且使得能够进行相反方向的通知(例如从消费者到数据提供者)。
作为例子,上下文建模器80可以被配置为定义不严格地对应于DOM阶段的新的事件阶段。在示例实施例中,新的事件阶段可以被称作“SUB”阶段和“NOTIFY”阶段。然而,阶段的名称相对于相应阶段的功能来说不重要。这样,虽然在下文中将用它们相应的名称来指代每个阶段,但只出于用清晰的术语来简化对阶段的描述的目的而提供名称,而名称本身不是限制性的。
SUB阶段可以不严格地对应于DOM事件中的捕捉阶段,而NOTIFY阶段可以不严格地对应于冒泡阶段。然而,订户可以使用SUB阶段来向特定属性(或若干属性)的特定的数据提供者(或多个提供者)发送通知。在一些实施例中,SUB阶段可以仅由消费者属性使用并且在根节点被发射(fire)。SUB阶段可以被从根节点发送并且一直传播至底叶节点,除非识别了特定的属性节点。响应于对特定属性节点的识别,事件传播可以在所识别的特定属性节点处停止,但经过到特定属性节点的路径上的全部节点。路径自身和事件怎样传播的细节可以依赖于由上下文模型84所采用的拓扑。然而,对于SUB阶段和NOTIFY阶段,可以对于可能由其采用该阶段的每种拓扑来定义(例如在规范中)每个阶段的路径。从而,例如,对于基于单个骨干的模型,事件可以经过中央骨干,除非它首先遇到所识别的属性或到达在骨干的底端连接的最后节点。
属性的提供者可以使用NOTIFY阶段来向直到对应的上下文拓扑的根节点(例如消费者)的一个或多个事件监听者发送通知。对于NOTIFY阶段,全部事件起源于属性节点并且NOTIFY阶段被沿预定的路径发射直到阶段终结的根节点。沿路径附接的事件处理者(handler)可以检查事件,但事件处理者不能停止事件向根节点的传播。在一些情况下,依赖于实施方式,可以由辅助的安全组件通过将到根节点的路径上的特定节点指定为对于特定类型的事件或通过特定属性发射的辅助根节点,来停止事件的传播。在指定了辅助根节点的情形下,该指定可以被用作后门以改善效率。然而,为了保护应用,没有任何应用事件处理者可以被使得能够停止事件的传播。而是只有指定的节点可以被使得能够停止事件传播。据此,DOM事件的阶段仅可以用于向消费者通知,而本发明的一些实施例提供用于向提供者通知的一个特定阶段(例如SUB阶段)以及用于向消费者通知的另一单独的阶段(例如NOTIFY阶段)。本发明的一些实施例的另一技术特性是利用单个事件方案来支持多个拓扑类型。进一步地,本发明的实施例提供了传播路径的改进以及对从提供者到消费者的事件流的防止,这从而提供不被DOM支持的事件流方向。对此,在从消费者到提供者的通知(例如SUB阶段)中,传播可以从根通过到底叶节点。从而,在骨干风格拓扑中,不需要路径预计算,以使得减少处理功率、存储器资源和计算时间。另外,与从提供者到消费者的通知(例如NOTIFY阶段)相关,只有根节点或指定的辅助根节点可以停止传播,这从而可以防止一些恶意处理者停止事件传播。在一些实施例中,对于SUB阶段,只有向特定节点发射事件的消费者节点可以被使得能够通过在路径上注册的额外的事件处理者停止到特定节点的传播。对这样的修改的利用可以由所采用的实施方式机制决定。在示例实施例中,根据特定拓扑的事件流中所规定的信息,相同的应用可以被使得能够停止SUB阶段中的传播,但可替代地没有节点可以停止传播。
下面将通过例子而不是限制来描述可以由上下文建模器80定义的基本发送事件方法的示例格式。示例基本发送事件方法格式可以如下:
sendEvent(String eventName,可选的eventType,Node TargetNode,可选的PropertyType,可选的NameSpace,可选的TypeAnyeventParameters)
在一些实施例中,如果上下文模型支持,则可选的PropertyType(属性类型)可以允许事件发送者将一个事件发送至可以属于相同的属性类型的多个属性。NameSpace(名称空间)可选属性可以允许向满足该名称空间的全部属性发送相同的事件。三个属性TargetNode、PropertyType和Namespace可以彼此结合使用以识别特定的节点(例如充当属性的间接过滤器)。
在示例实施例中,sendEvent(发送事件)总在起源节点处被调用并且创建经过预定路径到目标节点的事件结构。这允许方法调用的简化以及提供模型的额外的安全级别。
根据示例实施例,事件本身可以包括结构,该结构包括以下参数:
如果eventPhase(事件阶段)是SUB阶段,则OriginNode(源节点)可以是可选的,但OriginNode总是ROOT(根)节点。对于SUB阶段如此:事件总在ROOT节点起源并且向下传播至TargetNode(目标节点)。SUB阶段中的TargetNode可以被赋予参数“*”,这表示广播模式。在广播模式中,向树的全部属性通知事件。在广播模式中,事件的传播将在全部叶节点处终结。传播的模式依赖于上下文模型的拓扑。同时,如果eventPhase是NOTIFY阶段,则TargetNode是可选的,但如果由发射该事件的属性节点设置则其值必须是ROOT节点。在NOTIFY阶段中,属性可以仅仅发射将在ROOT节点或辅助ROOT节点终结的事件。在一些情况下,也可以检查可选参数和ROOT节点以确定对应的事件的阶段。可选的eventType(事件类型)可以被保留以供将来使用(在诸如将事件类型分组之类的需要的情况下)。
与事件监听者注册相关,事件监听者的示例格式可以遵循以下格式:
addListener(functionCallback fnEventCallBack,String EventName,String EventPhase,可选的propertyName,可选的propertyNameSpace,可选的Boolean matchAll,可选的Boolean singleAttach)
Boolean matchAll指示是否向匹配name(名称)和namespace(名称空间)属性以及event name(事件名称)和phase(阶段)的全部属性应用准则。如果Boolean matchAll被设置为真,则这将在匹配的全部属性处附接处理者。如果Boolean matchAll不被设置为真,则这将向所找到的第一实例附接。对于所找到的第一实例的确定可以依赖于实施方式和拓扑。Boolean singleAttach是效率增加参数。如果matchAll被设置为真并且singleAttach也为真,则代替在每个属性处附接相同的eventHandler(事件处理者),实施方式可以确定通过其全部事件都符合所述准则的层级中最接近的节点,并且在所确定的最接近的节点处附接单个事件处理者。如果不能找到特定的节点,则实施方式可以使用满足上面规定的准则的节点集合的最小公共节点,而在其他节点处附接直接事件处理者,从而增加通知的效率。
图3为根据本发明的示例实施例的方法和程序产品的流程图。将理解,流程图的每个块或步骤以及流程图中的块的组合可以通过各种手段实施,所述各种手段诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他设备。例如,可以通过计算机程序指令来实现上面所描述的过程中的一个或多个。对此,实现上面所描述的过程的计算机程序指令可以由移动终端或网络设备的存储器设备存储,并且由移动终端或网络设备中的处理器执行。如将理解的那样,可以将任何这样的计算机程序指令加载在计算机或其他可编程装置(即硬件)上以产生机器,使得在计算机或其他可编程装置上执行的指令创建用于实施流程图块或步骤中所规定的功能的装置。这些计算机程序指令也可以被存储在计算机可读存储器中,所述计算机可读存储器可以引导计算机或其他可编程装置以特定的方式工作,以使得存储在计算机可读存储器中的指令产生包括实施在流程图块或步骤中所规定的功能的指令装置的产品。也可以将计算机程序指令加载至计算机或其他可编程装置中以使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实施的处理,使得在计算机或其他可编程装置上执行的指令提供用于实施流程图块或步骤中所规定的功能的步骤。
据此,流程图的块或步骤支持用于执行所规定的功能的装置的组合,用于执行所规定的功能的步骤的组合以及用于执行所规定的功能的程序指令装置。还将理解,可以由执行所规定的功能或步骤的专用的基于硬件的计算机系统或专用硬件和计算机指令的组合来实施流程图的一个或多个块或步骤以及流程图中的块或步骤的组合。
对此,如图3中所示的根据本发明的一个实施例的方法可以包括处理器和存储可执行指令的存储器,所述可执行指令响应于由处理器的执行而使得装置至少执行包括以下的操作:在操作100处定义包括至少两个阶段的事件方案以及在操作110处提供所述事件方案以用于不依赖于拓扑的上下文模型。所定义的至少两个阶段中的一个可以使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个可以使得能够提供从数据提供者到消费者应用的通知。上下文模型可以被配置为提供由消费者应用经由上下文模型对数据提供者的属性信息的访问。
在一些实施例中,可以如下所述修改或进一步扩增以上操作中的特定的一些操作。应当理解,可以单独地或与这里所描述的特征中的任何其他特征组合而与以上操作一同包括以下修改或扩增中的每一种。对此,例如,提供所述事件方案以用于不依赖于拓扑的上下文模型可以包括:提供所述事件方案以用于与基于树的拓扑、基于单个骨干的拓扑或基于混合骨干-树的拓扑中的任意一种相关联的递送上下文客户端接口上下文模型。在一些情况下,定义使得能够进行从消费者应用到数据提供者的通知的阶段的事件方案可以包括:定义除非识别了特定的属性节点否则使得能够提供从拓扑中的根节点传播至底叶节点的通知的阶段。响应于特定属性节点的识别,定义事件方案可以包括定义使得能够提供通知的阶段以包括定义对通过路径上的全部节点到所识别的特定属性节点的事件传播以及在所识别的特定属性节点处停止事件传播的使能。在一些实施例中,定义事件方案包括对于每个相应的阶段定义特定于拓扑的事件传播路径。在示例实施例中,定义使得能够进行从数据提供者到消费者应用的通知的阶段的事件方案可以包括:定义辅助根节点,所述辅助根节点响应于沿通知的传播的传播路径遇到辅助根节点而停止传播;和/或由属性的数据提供者利用阶段向直至对应的上下文拓扑的消费者应用的一个或多个事件监听者发送通知。
在示例实施例中,用于执行以上图3的方法的装置可以包括被配置为执行上面所描述的操作(100-110)中的一些或每个的处理器(例如处理器70)。处理器例如可以被配置为通过执行硬件实施的逻辑功能、执行所存储的指令、或执行用于执行每个操作的算法来执行操作(100-110)。可替代地,装置可以包括用于执行上面所描述的每个操作的装置。对此,根据示例实施例,用于执行操作100-110的装置的例子例如可以包括处理器70、上下文建模器80和/或用于执行指令或执行如上所述的用于处理信息的算法的设备或电路。
受益于以上描述和相关联的附图中所呈现的教导的本发明相关领域的技术人员将想到这里所陈述的本发明的许多修改和其他实施例。因此,应当理解,本发明不限于所公开的具体实施例,并且修改和其他实施例意图被包括在所附权利要求的范围内。此外,虽然以上描述和相关联的附图在元件和/或功能的特定示例组合的上下文中描述了示例实施例,但应当理解,可以由可替代的实施例提供元件和/或功能的不同的组合,而不偏离所附权利要求的范围。对此,例如,与在上面明确描述的元件和/或功能的组合不同的组合也被视作在所附权利要求中的一些中陈述。虽然这里采用具体的术语,但只在通用的和描述性的意义下而不出于限制的目的使用它们。
Claims (20)
1.一种装置,包括处理器和存储可执行指令的存储器,所述指令响应于由所述处理器的执行而使得所述装置至少执行以下操作:
定义包括至少两个阶段的事件方案,所述至少两个阶段中的一个阶段使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个阶段使得能够提供从数据提供者到消费者应用的通知;以及
提供所述事件方案以用于不依赖于拓扑的上下文模型,所述上下文模型被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
2.如权利要求1所述的装置,其中所述指令进一步使得所述装置提供所述事件方案以用于不依赖于拓扑的上下文模型包括:提供所述事件方案以用于在与基于树的拓扑、基于单个骨干的拓扑或基于混合骨干-树的拓扑中的任意一种拓扑相关联的递送上下文客户端接口上下文模型内使用。
3.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义使得能够进行从消费者应用到数据提供者的通知的阶段的事件方案包括:定义除非识别了特定属性节点否则使得能够提供从拓扑中的根节点传播至底叶节点的通知的阶段。
4.如权利要求3所述的装置,其中响应于所述特定属性节点的识别,所述指令进一步使得所述装置定义所述事件方案包括:定义使得能够提供通知的阶段以包括定义对通过路径上的全部节点到所识别的特定属性节点的事件传播以及在所识别的特定属性节点处停止事件传播的使能。
5.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义所述事件方案包括:对于每个相应的阶段定义特定于拓扑的事件传播路径。
6.如权利要求5所述的装置,其中所述指令进一步使得所述装置定义所述事件方案以使得仅有向特定节点发射事件的消费者应用能够通过在路径上注册的额外的事件处理者来停止到所述特定节点的传播。
7.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义使得能够进行从数据提供者到消费者应用的通知的阶段的事件方案包括:定义辅助根节点,所述辅助根节点响应于沿通知的传播的传播路径遇到所述辅助根节点而停止传播。
8.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义使得能够进行从数据提供者到消费者应用的通知的阶段的事件方案包括:由属性的数据提供者利用所述阶段向直至对应的上下文拓扑的消费者应用的一个或多个事件监听者发送通知。
9.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义所述事件方案以使得事件发送者能够向属于由所述上下文模型支持的同一属性类型的多个属性发送一个事件。
10.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义所述事件方案以使得事件发送者能够向满足特定的名称空间准则的多个属性发送一个事件。
11.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义所述事件方案以使得事件发送者能够向满足预定参数准则的组合的多个属性发送一个事件。
12.如权利要求1所述的装置,其中所述指令进一步使得所述装置定义所述事件方案以使得事件发送者能够通过采用广播模式来通知树结构中的全部属性。
13.一种方法,包括:
定义包括至少两个阶段的事件方案,所述至少两个阶段中的一个阶段使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个阶段使得能够提供从数据提供者到消费者应用的通知;以及
提供所述事件方案以用于不依赖于拓扑的上下文模型,所述上下文模型被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
14.如权利要求13所述的方法,其中提供所述事件方案以用于不依赖于拓扑的上下文模型包括:提供所述事件方案以用于在与基于树的拓扑、基于单个骨干的拓扑或基于混合骨干-树的拓扑中的任意一种拓扑相关联的递送上下文客户端接口上下文模型内使用。
15.如权利要求13所述的方法,其中定义使得能够进行从消费者应用到数据提供者的通知的阶段的事件方案包括:定义除非识别了特定属性节点否则使得能够提供从拓扑中的根节点传播至底叶节点的通知的阶段。
16.如权利要求13所述的方法,其中响应于所述特定属性节点的识别,定义所述事件方案包括:定义使得能够提供通知的阶段以包括定义对通过路径上的全部节点到所识别的特定属性节点的事件传播以及在所识别的特定属性节点处停止事件传播的使能。
17.如权利要求13所述的方法,其中定义使得能够进行从数据提供者到消费者应用的通知的阶段的事件方案包括:定义辅助根节点,响应于沿通知的传播的传播路径遇到所述辅助根节点而停止传播。
18.如权利要求13所述的方法,其中定义使得能够进行从数据提供者到消费者应用的通知的阶段的事件方案包括:由属性的数据提供者利用所述阶段向直至对应的上下文拓扑的消费者应用的一个或多个事件监听者发送通知。
19.一种计算机程序产品,包括其中存储有计算机可执行程序代码指令的至少一个计算机可读存储介质,所述计算机可执行程序代码指令包括:
用于定义包括至少两个阶段的事件方案的程序代码指令,所述至少两个阶段中的一个阶段使得能够提供从消费者应用到数据提供者的通知,而所述至少两个阶段中的另一个阶段使得能够提供从数据提供者到消费者应用的通知;以及
用于提供所述事件方案以用于不依赖于拓扑的上下文模型的程序代码指令,所述上下文模型被配置为提供由消费者应用经由所述上下文模型对数据提供者的属性信息的访问。
20.如权利要求19所述的计算机程序产品,其中用于提供所述事件方案以用于不依赖于拓扑的上下文模型的程序代码指令包括用于提供所述事件方案以用于在与基于树的拓扑、基于单个骨干的拓扑或基于混合骨干-树的拓扑中的任意一种拓扑相关联的递送上下文客户端接口上下文模型内使用的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/398,702 | 2009-03-05 | ||
US12/398,702 US8413168B2 (en) | 2009-03-05 | 2009-03-05 | Method, apparatus and computer program product for providing an event scheme for context models |
PCT/IB2010/000443 WO2010100553A1 (en) | 2009-03-05 | 2010-03-04 | Method, apparatus and computer program product for providing an event scheme for context models |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102342138A true CN102342138A (zh) | 2012-02-01 |
Family
ID=42679393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800106881A Pending CN102342138A (zh) | 2009-03-05 | 2010-03-04 | 用于提供上下文模型的事件方案的方法、装置和计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8413168B2 (zh) |
EP (1) | EP2404456A4 (zh) |
CN (1) | CN102342138A (zh) |
WO (1) | WO2010100553A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093818A1 (en) * | 2009-10-21 | 2011-04-21 | Nokia Corporation | Method and apparatus for providing a generic interface context model |
CN102771162A (zh) * | 2009-12-01 | 2012-11-07 | 诺基亚公司 | 提供用于有效扫描和会话建立的架构的方法和装置 |
US9501171B1 (en) | 2012-10-15 | 2016-11-22 | Famous Industries, Inc. | Gesture fingerprinting |
US10877780B2 (en) | 2012-10-15 | 2020-12-29 | Famous Industries, Inc. | Visibility detection using gesture fingerprinting |
US9772889B2 (en) * | 2012-10-15 | 2017-09-26 | Famous Industries, Inc. | Expedited processing and handling of events |
WO2014062730A1 (en) | 2012-10-15 | 2014-04-24 | Famous Industries, Inc. | Efficient manipulation of surfaces in multi-dimensional space using energy agents |
US10908929B2 (en) | 2012-10-15 | 2021-02-02 | Famous Industries, Inc. | Human versus bot detection using gesture fingerprinting |
CN113553126B (zh) * | 2021-07-06 | 2024-03-22 | 网易(杭州)网络有限公司 | 数据的处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1833423A (zh) * | 2003-06-04 | 2006-09-13 | 索尼电脑娱乐公司 | 对等网络中的应用运行 |
US20080016182A1 (en) * | 2006-07-11 | 2008-01-17 | Nokia Corporation | Dynamic device profile interfaces |
US20090006992A1 (en) * | 2002-11-14 | 2009-01-01 | Sap Ag | Modeling System for Graphic User Interface |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE519155T1 (de) * | 2006-12-21 | 2011-08-15 | Software Ag | Verfahren zur ausführung von in einer prozessbeschreibungssprache definierten aufgaben |
EP2015173A1 (en) * | 2007-07-05 | 2009-01-14 | Hewlett-Packard Development Company, L.P. | Method of maintaining software updates by means of dependency expressions |
-
2009
- 2009-03-05 US US12/398,702 patent/US8413168B2/en not_active Expired - Fee Related
-
2010
- 2010-03-04 WO PCT/IB2010/000443 patent/WO2010100553A1/en active Application Filing
- 2010-03-04 EP EP10748396A patent/EP2404456A4/en not_active Withdrawn
- 2010-03-04 CN CN2010800106881A patent/CN102342138A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006992A1 (en) * | 2002-11-14 | 2009-01-01 | Sap Ag | Modeling System for Graphic User Interface |
CN1833423A (zh) * | 2003-06-04 | 2006-09-13 | 索尼电脑娱乐公司 | 对等网络中的应用运行 |
US20080016182A1 (en) * | 2006-07-11 | 2008-01-17 | Nokia Corporation | Dynamic device profile interfaces |
Also Published As
Publication number | Publication date |
---|---|
US20100229186A1 (en) | 2010-09-09 |
EP2404456A1 (en) | 2012-01-11 |
WO2010100553A1 (en) | 2010-09-10 |
US8413168B2 (en) | 2013-04-02 |
EP2404456A4 (en) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102342138A (zh) | 用于提供上下文模型的事件方案的方法、装置和计算机程序产品 | |
US10558475B2 (en) | Apparatus and methods for widget intercommunication in a wireless communication environment | |
Longo et al. | Stack4Things: a sensing-and-actuation-as-a-service framework for IoT and cloud integration | |
US10075500B2 (en) | Service method and system using instance interface of virtualization object in internet of things environment | |
CN101405993B (zh) | 使用计算上下文的网络接口路由 | |
US8813167B2 (en) | Dynamic device configuration using predicates | |
CN109684036A (zh) | 一种容器集群管理方法、存储介质、电子设备及系统 | |
CN110399236A (zh) | 消息队列的适配方法、装置、介质及电子设备 | |
KR20110065448A (ko) | 메시지 처리 파이프라인 구성 | |
US20160103666A1 (en) | Performance improvement method in instance hosting environment and service system therefor | |
CN102804177B (zh) | 提供自适应上下文模型框架的方法、装置 | |
KR101573594B1 (ko) | 서비스 의도에 기반하여 동적 매쉬업 서비스를 제공하는 서비스 시스템 및 방법 | |
US8706804B2 (en) | Modeled chaining of service calls | |
Tazari | An open distributed framework for adaptive user interaction in ambient intelligence | |
CN110275701A (zh) | 数据处理方法、装置、介质和计算设备 | |
CN102707967A (zh) | 一种运行第三方应用程序的方法、设备及系统 | |
KR102506155B1 (ko) | 전자장치, 어플리케이션 실행 시스템 및 그 제어방법 | |
Lillo et al. | An ECA-based semantic architecture for IoT building automation systems | |
CN102684913A (zh) | 业务处理方法和相关装置及相关系统 | |
WO2018110735A1 (ko) | 복수의 오픈 api로부터 통합적인 데이터 수집방법 | |
US11429376B2 (en) | Run-time modification of an application definition schema that controls the behavior of a software application | |
CN102171693A (zh) | 用于向上下文模型提供多维处理的方法、装置和计算机程序产品 | |
Wang | Context-aware service discovery and service composition over smart phones | |
KR20230118329A (ko) | 규칙 기반의 멀티 서비스 데이터 변환 방법 및 시스템 | |
US8914465B2 (en) | Platform system with provider controlling mechanism and method of operation thereof |
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: 20120201 |