首页> 中国专利> 用于向上下文模型提供多维处理的方法、装置和计算机程序产品

用于向上下文模型提供多维处理的方法、装置和计算机程序产品

摘要

一种用于向上下文模型提供多维处理的装置,可以包括一个处理器。该处理器可以被配置成用于生成上下文模型,该上下文模型包括针对一个或多个设备(100)中存储的对象的对象表示;实现经由值接口(110)向调用应用提供上下文值;以及向所述值接口提供扩展以实现多个上下文值与每个对象(120)相关联。还提供了一种相应的方法和计算机程序产品。

著录项

  • 公开/公告号CN102171693A

    专利类型发明专利

  • 公开/公告日2011-08-31

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN200980139695.9

  • 发明设计人 S·萨希施;

    申请日2009-11-09

  • 分类号G06F17/30(20060101);H04L29/08(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;罗世娜

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-18 03:17:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-22

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20150520 终止日期:20161109 申请日:20091109

    专利权的终止

  • 2016-03-02

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20160215 变更前: 变更后: 申请日:20091109

    专利申请权、专利权的转移

  • 2015-05-20

    授权

    授权

  • 2011-10-12

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20091109

    实质审查的生效

  • 2011-08-31

    公开

    公开

说明书

相关申请的交叉参考

本发明要求于2008年12月16日提交的美国临时专利申请第61/122,918号的优先权,其内容在此通过参考被并入。

技术领域

本发明的实施例总体上涉及通信接口技术,更具体地,涉及用于向上下文模型提供多维处理的方法、装置和计算机程序产品。

背景技术

现代通信时代已经带来了有线和无线网络的极大发展。计算机网络、电视网络和电话网络正在经历由消费者需求驱动的前所未有的技术发展。无线和移动网络技术已经解决有关的消费者需求,同时提供了信息传送的更多灵活性和即时性。

目前的和将来的网络技术持续促进信息传送的简易性和对用户的便捷性。存在提高信息传送简易性这一需求的一个领域涉及向移动终端的用户递送服务。服务的形式可以是用户所期望的特定媒体或者通信应用,诸如音乐播放器、游戏机、电子书、短消息、电子邮件、内容共享等。服务的形式还可以是交互式应用,其中用户可以对网络设备做出响应以便执行任务或者实现目标。服务可以从网络服务器或者其他网络设备来提供,或者甚至可以从诸如移动电话、移动电视、移动游戏系统等移动终端来提供。

在某些情况中,对于应用(例如,基于web的应用)来说可能所期望的是具有从一个向该应用提供信息的设备访问信息或对象的能力。例如,上下文数据可以是应用访问的有用信息,该上下文数据包括与性能、当前操作状态和/或其他设备数据相关的静态和/或动态的设备数据。就此而论,上下文数据可以与存储在设备上的内容相关联以便提供可能协助识别感兴趣数据的信息。上下文数据是描绘任意时间点处的具体情形的特征的数据,并且可以是静态或动态的。因此,上下文数据例如可以代表设备、系统和环境数据。上下文数据可以被若干应用用于不同目的,比如基于上下文执行适配或生成元数据。上下文模型是这样一种机制,有组织或无组织形式的上下文数据可以通过这种机制而暴露给调用应用。与此同时,提供者一般向上下文模型提供数据。通常,上下文模型向反映上下文模型自身的基础性质的应用暴露一组固定的应用程序接口(API)。

存在几种可用来提供上下文数据的上下文模型。可用的上下文模型可以有不同的架构,并且各种应用可以被开发来与这些不同架构中的具体架构一起使用。应用能够基于改变上下文数据来改变其行为(例如,经由动态适配)。通常,上下文模型可以被认为是基于数据的模型或是基于对象的模型。在基于数据的模型中,数据是可用的,无需考虑是谁提供了这些数据。调用应用可以向系统查询特定类型的数据以确定这类数据是否可用。然而,在基于对象的模型中,每个数据提供者都有一种对象表示,并且该对象可以被询问以便得到当前更新的数据。API向基于对象的模型提供访问,由此可以查询到对象(例如,上下文数据)的当前状态。与基于对象的模型相关的系统被认为是更有组织的,并且由于较低成本的基础设施、维护、可管理性和效率而更可能在移动环境中部署。

递送上下文客户端接口(DCCI)是一种机制,应用通过该机制能够例如使用文档对象模型(DOM)类接口来访问诸如递送上下文信息之类的设备数据。这样,DCCI可以充当用于网络应用(消费者)的消费者接口和到树类接口的数据提供者。数据提供者可以是任何提供诸如设备位置、设备方向、屏幕亮度、电池强度和许多其他信息之类的信息的静态或动态源。

对基于对象的模型的一个当前限制是在这类模型中,每个对象表示都只表示一个数据项。因此,基于对象的模型可能趋向于相对地以数据为中心,因为只可以存在一个被暴露的动态数据项。因此,如果数据提供者提供了多种类型的数据(相关或不相关),那么该提供者可以具有针对被暴露的每一类数据的对象表示,这可能通过适合于每个提供者的多个对象的表示而增加了模型的复杂性。

因此,所期望的是提供一种用于克服上述不足中的至少一些的构架。

发明内容

因此,提供一种针对上下文模型的方法、装置和计算机程序产品,用于提供用于对象的多维数据空间以及处理功能。特别地,提供一种方法、装置和计算机程序产品,其创建了一种向诸如智能环境之类的环境中的上下文模型提供多维处理的机制。

本发明的实施例可以提供一种用于基于web或基于其他网络的操作环境中的部署的方法、装置和计算机程序产品。作为结果,例如,设备用户可以享受关于经由该设备可访问的应用和服务的改进性能。

在一个实施例中,提供了一种方法,包括生成上下文模型,该上下文模型包括针对一个或多个设备中存储的对象的对象表现。该方法还可以包括实现经由值接口向调用应用提供上下文值。此外,本实施例的方法可以包括向该值接口提供扩展以便实现多个上下文值能够与每个对象相关联。

在另一个实施例中,提供了一种计算机程序产品,包括至少一个计算机可读的存储介质,该存储介质中存储了计算机可执行的程序代码指令。本实施例的该计算机可执行的程序代码指令包括用于生成上下文模型的程序代码指令,该上下文模型包括针对一个或多个设备中存储的对象的对象表示。该程序代码指令还包括用于实现经由值接口向调用应用提供上下文值的程序代码指令。此外,该程序代码指令包括用于向该值接口提供扩展以便实现多个上下文值与每个对象相关联的程序代码指令。

在又一个实施例中,提供了一种装置,包括至少一个处理器和包括计算机程序代码的至少一个存储器。该至少一个存储器和计算机程序代码被配置成与该至少一个处理器使该装置生成上下文模型,该上下文模型包括针对一个或多个设备中存储的对象的对象表示。该装置还被配置成实现经由值接口向调用应用提供上下文值以及向该值接口提供扩展以实现多个上下文值与每个对象相关联。

在还一个实施例中,提供了一种装置,包括用于生成上下文模型的装置,该上下文模型包括针对一个或多个设备中存储的对象的对象表示。本实施例的装置还包括用于实现经由值接口向调用应用提供上下文值的装置和用于向该值接口提供扩展以实现多个上下文值与每个对象相关联的装置。

附图说明

已经在总体上描述了本发明的实施例,现在将参考附图,其中附图未必是按照比例绘制的,并且其中:

图1是示出了根据本发明示例性实施例的通信环境示例的一个系统的示意性框图;

图2是根据本发明示例性实施例的用于向上下文模型提供多维处理的装置的示意性框图;以及

图3是根据本发明示例性实施例的用于向上下文模型提供多维处理的示例性方法的框图。

具体实施方式

现在将参考附图在下文中更全面地描述本发明的实施例,附图中示出了本发明的一部分而不是所有的实施例。实际上,本发明的实施例可以用多种不同的形式来实现,并且不应该认为是被限制于此记载的实施例;相反,提供这些实施例是为了使本公开内容满足适用的法律要求。贯穿附图,相同的标号表示相同的元件。此处使用的术语“数据”、“内容”、“信息”和类似的术语可以互换使用,以指出能够根据本发明的实施例被传输、接收和/或存储的数据。而且,此处使用的术语“示例性的”不是提供来传达任何定性的评价,而是仅仅是传达对示例的说明。因此,任何这类术语的使用不应该用来限制本发明实施例的精神和范围。

电子设备在其通信性能方面正在迅速发展。随着这类设备的性能的提高,对这些设备的性能敏感的应用也已经在发展。因此,例如对这些设备的当前操作状态或上下文敏感的应用已经得到发展。这些设备通常能够确定、保持和传递与其自身的当前操作状态有关的信息。例如,与电池电压、可用带宽、某些设备设置、硬件和软件性能、本地周围光线水平和许多其他状态相关的信息片可以被确定和/或传递给其他设备。为了向例如与访问web相关联的应用的各种应用传递关于设备操作状态的信息,可以提供一个接口。这类接口的一个例子是递送上下文客户端接口(DCCI),这是万维网联合会(W3C)规范。DCCI可以使得上下文信息能够对在设备上的浏览器中的网页中运行的脚本而言可用,该上下文信息可以指的是递送上下文信息。

上下文通常被定义为可以用来表征实体的情况的特征的任何信息。上下文参数可以包括例如与环境上下文、社会上下文、时空上下文、任务上下文、个人上下文、终端上下文、服务上下文、访问上下文和/或等等上下文相关的参数。递送上下文可以被用来描述设备、网络、用户偏好和可以应用到设备和应用(例如,web应用)之间的交互的其他方面的一组特征。递送上下文的各方面可能是静态或动态的。静态方面可以包括色彩分辨率、显示器尺寸、键盘布局或设备的其他固定属性。动态方面可以包括可以随时间改变的设备属性,比如当前电池电压、设备方向、设备位置、其他运行的应用和许多其他类似特征。

DCCI可以是一种机制,应用可以通过该机制使用例如文档对象模型(DOM)(也是一种W3C规范)类接口来访问递送上下文信息。因此,应用能够将事件侦听器登记在属性节点上,该属性节点基于属性或其他变化来发起事件。就此而论,DCCI为利用递送上下文信息的应用提供接口。DCCI在设备上提供上下文数据的树类表示,其可以以符合某些标准本体(例如递送上下文本体(DCO))的分层方式来表示。

由于上下文信息可以表现的内在关系,所以上下文信息可以表现为一个树结构。该树结构可以表现不同上下文属性之间的分层关系,其中,每一属性可形成该树结构中的一个节点。DCCI是这类树结构的一个示例,但是应当理解本发明的实施例扩展超出这一个示例,并且可以扩展到许多指定了数据对象之间的关系和/或它们可以如何有效分布和分享的其他数据结构。

可以例如基于各种上下文参数的确定而确定上下文。DCCI使用上下文信息来实现在考虑设备上下文时允许与各种应用进行交互的适配。在某些情况下,当设备在诸如智能空间的某些网络中被放置得彼此接近时,可以令人期望地在这类设备之间共享例如有关设备性能的信息的上下文信息以使得每个设备都可以接收关于其他设备性能的一些信息。本发明的某些实施例提供一种机制,凭借该机制可以为所表示的每个对象提供多维数据空间。另外,一些实施例提供对应于所提供的多维空间的处理功能。尽管在下文中将在DCCI相关环境的上下文中描述实施例,然而应当理解这些实施例也可以与基于其他对象的模型环境相关。

图1图解了一个通用系统图,其中,诸如移动终端10之类的设备在示例性的通信环境中被示出。如图1所示,根据本发明示例性实施例的一个系统实施例可以包括能够经由网络30相互通信的第一通信设备(例如,移动终端10)和第二通信设备20。在一些情况中,本发明的实施例还可以包括一个或多个附加的通信设备,其中一个在图1中被描述为第三通信设备25。在某些实施例中,不是使用本发明实施例的所有系统都可以包括在此图解和/或描述的所有设备。虽然为了示例的目的,移动终端10和/或第二和第三通信设备20和25的几个实施例可以被图解并且在下文中被描述,但是诸如便携式数字助理(PDA)、寻呼机、移动电视、移动电话、游戏设备、膝上型计算机、相机、录像机、音频/视频播放器、收音机、全球定位系统(GPS)设备或前述设备的任意组合之类的其他类型终端,以及其他类型的语音和文本通信系统可以容易地使用本发明的实施例。而且,诸如服务器和个人计算机之类的非移动设备也可以容易地使用本发明的实施例。

网络30可以包括可以经由相应的有线和/或无线接口相互通信的各种不同节点、设备或功能的聚集。同样,图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,例如根据包括超文本传输协议(HTTP)等等的多种通信协议,可以使得移动终端10和第二和第三通信设备20和25能够与其他设备通信或相互通信,从而分别执行移动终端10和第二和第三通信设备20和25的各种通信或其他功能。

而且,尽管没有在图1中示出,然而例如根据射频(RF)、蓝牙(BT)、红外线(IR)或许多不同的有线或无线通信技术中的任意一种,包括LAN、无线LAN(WLAN)、全球微波接入互操作性(WiMAX)、WiFi、超宽带(UWB)、Wibree技术等等,移动终端10和第二和第三通信设备20和25可以通信。这样,可以使得移动终端10和第二和第三通信设备20和25能够可以借助多种不同接入机制中的任意一种与网络30进行通信以及相互通信。例如,可以支持诸如宽带码分多址(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、通用分组无线业务(GPRS)等等之类的移动接入机制,还有诸如WLAN、WiMAX等等之类的无线接入机制,以及诸如数字用户线路(DSL)、光缆调制解调器、以太网等等之类的固定接入机制。

在一个示例性的实施例中,网络30可以是布置成智能空间的自组织或分布式网络。因此,设备可以进入和/或离开网络30,并且网络30的设备能够基于其他设备的进入和/或退出来调整操作以便说明相应设备或节点及其相应的性能的添加或减少。在一个示例性的实施例中,与网络30通信的一个或多个设备可以使用上下文模型来协助提供应用和提供者之间的接口。这样,例如消费者应用可以从网络30内的提供者请求信息,并且移动终端10或第二和第三通信设备20和25中的任意一个可以主控该消费者应用,而移动终端10或第二和第三通信设备20和25中的任意其他一个充当相对于消费者应用的提供者以向相应的消费者应用提供诸如递送上下文信息之类的信息。上下文模型可以是基于对象的模型,其中,每个提供者在该模型中有一个对象表示。因此,该上下文模型可以向消费者应用提供对诸如动态数据之类的上下文数据的访问。

图2图解了根据本发明示例性实施例的用于能够向上下文模型提供多维处理的装置的示意框图。现在将参考图2来描述本发明示例性实施例,其中显示了用于向上下文模型提供多维处理的装置50的某些元件。图2的装置50例如可以被使用在移动终端10(和/或第二通信设备20或第三通信设备25)上。作为替换,装置50可以具体化在网络30的网络设备上。然而,装置50可以替换地具体化在各种各样的其他设备处,包括移动和固定设备(比如,上面列出的任何设备)。在某些情况下,实施例可以使用在设备的组合上。因此,通过以分布方式的多个设备(例如,在P2P网络中的一个或多个设备上)或者通过客户端/服务器关系中的设备,本发明的一些实施例可以完全具体化在单个设备(例如,移动终端10)处。而且,应当指出:下面描述的设备或元件可以不是强制性的,并且因此可以在某些实施例中省略掉一些设备或元件。

现在参考图2,提供了用于向上下文模型提供多维处理的装置50。装置50可以包括或者与处理器70、用户接口72、通信接口74和存储器设备76通信。存储器设备76例如可以包括易失性或非易失性存储器。存储器设备76可以被配置用于存储信息、数据、应用、指令等等,以用于使设备能够根据本发明的示例性实施例来执行各种功能。例如,存储器设备76能够被配置成缓存用于由处理器70来处理的输入数据。另外或者作为替换,存储器设备76能够被配置用于存储用于由处理器70来执行的指令。作为另一个替换,存储器设备76可以是存储信息和/或媒体内容的多个数据库之一。

处理器70可以用多种不同方法来具体实现。例如,处理器70可以被实现为各种处理装置,比如处理元件、协处理器、控制器或包括集成电路的各种其他处理设备,集成电路比如有ASIC(专用集成电路)、FPGA(现场可编程门阵列)、硬件加速器等等。在一个示例性的实施例中,处理器70可以被配置用于执行存储在存储器设备76中或者处理器70可访问的指令。因此,无论由硬件或软件方法或其组合来配置,处理器70都可以代表能够执行根据本发明实施例的操作同时被相应地配置的实体。

同时,通信接口74可以是任何装置,比如以硬件、软件或软件和硬件的组合实现的设备或电路,其被配置用于从/向网络和/或与装置50通信的任何其他设备或模块接收和/或发射数据。就这一点而言,通信接口74例如可以包括一个天线(或多个天线)和用于实现与无线通信网络(例如,网络30)通信的支持硬件和/或软件。在固定环境中,通信接口74可以替换地或者还支持有线通信。这样,通信接口74可以包括通信调制解调器和/或其他硬件/软件,用于经由电缆、数字用户线路(DSL)、通用串行总线(USB)、以太网或其他机制来支持通信。

用户接口72可以与处理器70通信以接收在用户接口72处的用户输入的指示,和/或向用户提供音频的、视频的、机械的或其他输出。就此而论,用户接口72例如可以包括键盘、鼠标、游戏杆、显示器、触摸屏、麦克风、扬声器或其他输入/输出机制。在一个示例性的实施例中,其中装置被具体化为服务器或一些其他网络设备,用户接口72可能被限制,位于远程位置,或者被去掉。

在一个示例性实施例中,处理器70可以被具体化为包括或控制上下文建模器80。上下文建模器80可以是任何装置,比如以硬件、软件或者硬件和软件结合(例如,在软件控制下运行的处理器70、具体化为特别配置成执行此处所述操作的ASIC或FPGA的处理器70,或其组合)来具体化的设备或电路,其被配置用于执行如下所述的上下文建模器80的对应功能。在这一点上,例如,上下文建模器80可以被配置成除了其他之外还提供用于生成上下文模型和向上下文模型提供多维处理。就此而论,上下文建模器80可以开发上下文模型84,其可以被用来提供对象的模型表示以使得与各种对象的上下文有关的信息可以被提供给调用应用。

在一些实施例中,上下文建模器80可以与一个或多个应用(例如,应用82)通信,所述应用可以充当相对于(例如,经由DCCI)所提供的设备上下文信息的消费者。应用82可以是web应用或一些其他网络应用,与图2的装置50相关联的属性有关的信息可能对所述应用有用。就此而论,在某些情况下,应用82可以经由通信接口74(和/或经由处理器70)与上下文建模器80通信。在示例性实施例中,上下文模型84可以充当数据提供者(例如,数据提供者85)与应用82之间的通信接口。数据提供者85可以是本地提供者或远程提供者,其可以充当数据源。如应用82的数据提供者82可以与上下文建模器80(和/或上下文模型84)直接通信,或者可以经由通信接口74或处理器70建立这样的通信。

在一个示例性的实施例中,上下文建模器80可以以软件的形式具体化为指令,该指令被存储在通信设备(例如,移动终端10和/或第二和第三通信设备20和25)的存储器中并且由处理器70来执行。作为替换,上下文建模器80可以被具体化为软件,该软件形成例如通信设备的中间件的一部分或者安装在其上。作为另一个替换,上下文建模器80可以具体化为处理器70(例如,具体化为FPGA、ASIC等等)。上下文建模器80可以被配置成开发包括与通信设备(例如,移动终端10和/或第二和第三通信设备20和25)通信的多个(在某些情况下是所有)设备的模型表示的上下文模型(例如,上下文模型84)。因此,当例如在移动终端10和第二通信设备20和/或第三通信设备25之间建立通信会话时,上下文建模器80可以被配置成确定第二和/或第三通信设备20和25相对于每个对应设备的上下文和特征的模型表示。就此而论,例如,如果第二通信设备20是移动电话,上下文模型可以包括移动电话的性能和其他特性。上下文模型可以包括对象注册(例如,对象模型),该对象注册包括相应设备中存储的每个相应对象的对象表示。因此,对于在相应设备处创建的每个对象,关于特性、性能、数据结构、制造商、版本号等等信息的信息可以由上下文建模器80确定。在示例性实施例中,当应用(例如,应用82)使用或者请求上下文数据时,上下文建模器80被配置成能够使用上下文建模器84通过与上下文建模器80相关联的值接口来提供上下文值。

然而,根据某些实施例的上下文建模器80还被配置成提供针对每个对象的多维数据空间以及如下更详细描述的处理功能。就此而论,根据本发明的某些实施例的上下文建模器80可以提供对象以通过接口暴露值。而且,所述接口可以被扩展以提供多于仅仅一个的值。然而在某些实施例中,可以由字段而不是接口来呈现这类值。

上下文模型84中的接口(或字段)可以被定义成是“任何”类型,比如串、整数型、双精度、XML、文本等等。因此,上下文建模器80可以被配置成提供扩展每个对象表示以表示相应的提供者能暴露的多个(和/或所有)值的能力。就这一点而言,上下文建模器80可以被配置成将单个名空间用于一个跨越对应该对象的所有值(即使每个值类型都可以有其自己的名空间)的对象。在示例性实施例中,接口可以如下所示:

接口通过valueNos属性列出了对应于该接口中的特定对象的多个值。

在示例性实施例中,每个值可以是其自身调用的indValue的结构(个体接口)。属性valueName指出了这个值的名称。“值”属性是当前值。valueType串指出特定值的值类型,以便调用应用可以准确地解释与该特定值有关联的类型。namespaceURI列出了可以适用于相应值类型的任何名空间。在某些实施例中,一个可选的元数据接口提供特定值类型的所有元数据特征。relationExpression属性提供特定值与同一对象暴露的其他值可能具有的关系。许多不同的表达是可能的。每个接口会有“n”个值。因此,让一个对象暴露多个可能相互排斥或不相互排斥的值是可能的。而且,应当指出,只要提供相应的功能,该接口无需具有在上面定义的具体结构。

假定上下文建模器80提供了多个值与单个对象相关联的可能性,那么上下文建模器80还可以实现沿多个维度的搜索操作。就此而论,由本发明的实施例的上下文建模器80生成的上下文模型84的一个示例性益处不仅来自上下文模型84容纳一系列性质值的能力,而且还在于由上下文建模器80提供的强大搜索机制中。例如,上下文建模器80可以实现沿多个维度的搜索,同时将一个或多个值保持恒定或者保持在某个范围内。

在某些实施例中,上下文建模器80可以提供其他附加接口以扩展上下文模型(例如,DCCI)接口以支持多维模型。例如,上下文建模器80可以提供’get’值沿多个维度的使用。就此而论,例如,整数型getValue(以Struct valueStruct、out Struct value的形式、以Boolean持续的形式)可以扩展上下文模型接口。getValue调用可以返回一个指出getValue调用是否成功的值,如果没有成功则提供失败的原因。根据一些实施例,getValue调用采用结构valueStruct,其列出了一组满足成功选择值和列出所选值及其元数据关联的out参数值的标准的参数。然后,在该值在结构值中被返回之前,valueStruct可以使一个应用能够列出某个将被满足的标准。持续布尔值确定是等待该标准被满足还是立即返回响应。

结构valueStruct列出值的名称和标准列表,该标准可以是与同一对象中的其他值的名称结合的逻辑或数学表达式。如果适合于值名称的当前值(或适合一个对象或多个对象的一组值)满足列出的表达式,那么当前值与其关联的元数据可以被放入out Struct“值”。在对象的集合上执行的表达式评价(搜索标准)可返回一个布尔值,该布尔值确定一个值和关联的元数据是否能包含在out struct内。如果持续布尔值被设置为“真”,则getValue调用可能变成一个阻塞调用,该阻塞调用在进行返回前一直等待该标准被满足。这可能是有用的,例如,与“While”表达式相连接。

上下文建模器80的另一个接口扩展可以提供包括沿多个维度添加一个事件侦听器(例如,被配置成响应于特定事件的发生而执行特定功能的设备)。就此而论,上下文建模器80可以提供一个机制,用于评价表达式以确定是否将事件侦听器添加到节点。该表达式可以针对具有多个值的所有节点来评价,以确定是否可以添加相同的事件侦听器。因此,在多个节点处添加相同的事件侦听器是可能的。

作为一个示例,可以用一个调用来扩展接口EventTarget(或重写addEventListener):避免addEventListener(DOMString类型,Eventlisterner侦听器,Boolean useCapture、以Boolean持续、以StructlistenerCriterion的形式)。侦听器标准结构例如经由Xpath表达式提供可跨越一个对象内的一个或多个值或者跨越编址的多个对象来评价的表达式。布尔持续提供addEventListener的非阻塞,因此addEventListener的第一次成功的评价可以在响应于调用而提供返回之前执行。在某些情况下,addEventListener调用可以在树顶处或树顶附近执行。换言之,addEventListener调用可以是根节点。

在某些实施例中,上下文建模器80还可以提供支持以用于沿多个维度的支持(例如,对于受到影响的所有值)。搜索特征可以通过提供用于搜索沿系统内的所有对象跨越值的强大处理来扩展当前的搜索机制。除了行为可能不同之外,用于搜索的接口可以类似于getValue。在一个示例性的实施例中,在搜索支持中提供的扩展例如可以包括IntsearchValue(以struct valueStruct、out Struct value的形式、以Boolean持续的形式)。就此而论,valueStruct可以包括其中调用应用感兴趣的(可选的)值名称和/或其中调用应用感兴趣的(可选的)对象或数据源的名称。如果值名称和对象或数据源的名称都没有指定,满足在随后的valueStruct字段中提到的标准的所有当前值名称都可以经由Struct值返回。

沿多个维度搜索和getValue之间的区别在于,在getValue中只询问了一个具体对象。同时,在searchValue中,整个树结构都与所有对象一起被询问。相对于搜索,结构值也与get操作不同,其中,结构除了值名称之外还可以主控对象名称,其中,已经找到了相应的值。与getValue中相同的对象表达式相比,Struct valueStruct字段中提到的标准可以跨越多个对象内的值表达式。在某些情况下,用于搜索的解决方案可能依赖模型。在DCCI的一个示例情况下,该解决方案可以使用修改的Xpath表达式。如果使用布尔持续,功能可以一直等待,直到获得满足该标准的第一对象/值为止。返回值可以用与getValue中的方式相类似的方式起作用。

因此,在某些方案中,本发明的一些实施例提供一个机制,借助此机制可以在提高效率并且降低上下文模型复杂度的同时维持一个相对较低的足印。而且,由于未来的扩展和需求的成熟,相对于提供了关于动态数据源的信息也提供了灵活性。由某些示例性实施例提供的构架也提供了一个更直觉且更强大的搜索机制,以及沿一个或多个数据维度的援助的直接搜索和通知。

图3是根据本发明的示例性实施例的系统、方法和计算机程序的流程图。将会理解,流程图中的每个框以及流程图中框的组合可以通过各种手段来实现,诸如硬件、固件和/或包括一个或多个计算机程序指令的软件。例如,上述一个或多个过程可以由计算机程序指令来具体化。在此方面,具体化上述过程的计算机程序指令可以由移动终端或网络设备的存储设备来存储,并且由移动终端或网络设备的内置处理器来执行。将会理解,任何这种计算机程序指令可以加载到计算机或其他可编程器件(例如,硬件)中以产生一种机器,使得在计算机或其他可编程器件上执行的指令创建用于实现流程块中所指定的功能。这些计算机程序指令还可以存储在计算机可读存储器中,其可以引导计算机或其他可编程器件以特定方式工作,使得存储在计算机可读存储器中的指令产生包括实现流程块所指定的功能的指令装置的制品。计算机程序指令还可以加载到计算机或其他可编程器件上以引起将要在计算机或其他可编程器件上执行的一系列操作来产生计算机实现的过程,从而使在计算机或其他可编程器件上执行的指令提供用于实现在流程框或步骤中指定的功能。

由此,流程图的框支持用于执行所指定功能的装置和用于执行所指定功能的程序指令装置的组合。还将理解,流程图的一个或多个框或步骤,以及流程图的框或步骤的组合可以通过基于专用硬件的、执行指定功能或步骤的计算机系统来实现,或者通过专用硬件和计算机指令的组合来实现。

在此方面,例如如图3中所示的用于提供上下文模型的预测器节点的方法的一个实施例包括:在操作100处生成包括针对一个或多个设备中存储的对象的对象表示的上下文模型(例如,DCCI模型),在操作110处实现经由值接口向调用应用提供上下文值,以及在操作120处向值接口提供扩展以便实现多个上下文值与每个对象相关联。

在某些实施例中,该方法还可以包括可选操作,其示例在图3中以虚线示出。在各种替换实施例中,可选操作能以任何顺序和/或彼此结合来执行。就此而论,该方法还可以包括在操作130处实现跨越与上下文模型中的所有对象相关联的值的搜索的操作。在某些实施例中,该方法可以包括在操作140处实现跨越与上下文模型中的对象中的一个特定对象相关联的多个值的搜索的操作。另外地或作为替换,该方法可以包括在操作150处实现将单个事件侦听器向多个对象添加。

在某些实施例中,上述操作的某些操作可以如下所述地修改或进一步放大。应当理解,下面的修改和放大中的每一个可以单独地或者与在此所述的特征中的任何其他特征相结合地而与上述操作一起被包括。就这一点而言,例如,实现将单个事件侦听器向上下文模型添加的多个对象可以包括提供将单个事件侦听器分配给满足所提供标准的对象。在某些情况中,提供扩展可以包括,对于特定对象,针对特定对象使用单个名空间,其中单个名空间跨越多个性质值。

在一个示例性的实施例中,用于执行上面图3的方法的装置可以包括处理器(例如,处理器70),该处理器被配置用于执行上述操作(100-150)中的一些或每一个。例如,该处理器可以被配置用于通过执行硬件实施的逻辑功能、执行存储的指令、或执行用于执行每个操作的算法来执行操作(100-150)。作为替换,该装置可以包括用于执行上述每个操作的装置。就这一点而言,根据一个示例实施例,用于执行操作100-150的装置的示例例如可以包括处理器70、上下文建模器80、和/或由如上所述用于处理上述信息的处理器70执行的算法。

受益于上述描述以及关联附图中给出的教导,这些实施例所属领域的技术人员将会想到在此记载的本发明的多种变形以及其他实施例。因此,应当理解,本发明的实施例不限于所公开的具体实施例,各种变形以及其他实施例旨在包括在所附权利要求的范围内。而且,尽管前述描述和关联附图在元件和/或功能的特定示例性组合的上下文中描述了若干示例性的实施例,然而应当理解在不脱离所附权利要求的范围的前提下,替换实施例可以提供元件和/或功能的不同组合。关于这点,例如,与上文明确所述那些不同的元件和/或功能的组合可以被想到,其可以在所附权利要求书中的一部分中阐述到。尽管此处使用了特定术语,但是它们仅是一般描述性的使用而不是出于限制目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号