CN101553812A - 动态设备简档接口 - Google Patents
动态设备简档接口 Download PDFInfo
- Publication number
- CN101553812A CN101553812A CN200780026382.3A CN200780026382A CN101553812A CN 101553812 A CN101553812 A CN 101553812A CN 200780026382 A CN200780026382 A CN 200780026382A CN 101553812 A CN101553812 A CN 101553812A
- Authority
- CN
- China
- Prior art keywords
- device profile
- dynamic device
- context
- equipment
- interface
- 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/30—Profiles
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
一种用于上下文提供的架构,特别适合于使用由W3C发布的递送上下文接口(DCI)规范的web应用。客户端侧应用编程接口(API)使用DCI树来生成动态设备简档,该动态设备简档在浏览器应用会话期间动态地提供递送上下文信息(DCI)的快照。客户端侧API提供支持应用作者定于DCI树中表示的各种设备特性,以及根据特性变化来生成动态设备简档。
Description
技术领域
本发明总体上涉及递送上下文接口的使用。具体地,本发明涉及一种应用编程接口(API),其允许通过创建可以在会话期间的任何点被发送到服务器的动态设备简档(profile)来允许从递送上下文接口访问动态设备信息。
背景技术
本节意在提供权利要求书中所引证的发明的背景或者上下文。这里的描述可能包括可以实行的概念,但是未必是先前已经设想或者实行的概念。因此,除非在此特别指明,否则本小节中所描述的内容不是相对于本申请的说明书和权利要求书的现有技术,并且包含在本小节中并不意味着其是现有技术。
随着改进的连接速度和访问技术,移动信息访问正在变得日益重要,这导致了内容丰富的应用的激增以及增强的用户体验。移动性方面也已经为应用开发开启了崭新的前景,因为移动设备被认为始终跟随用户,提供关于用户意图和用户环境的可靠线索。为了被证明为有用的,下一代移动应用必须利用设备的该移动方面并将其与上下文感知相结合,以提供定制的服务和用户接口。因此,在应用开发中包含上下文必然成为规范。此外,对上下文的这种利用必须符合递送上下文访问的统一模式。
大多数的现有网页和基于web的应用是针对标准的桌面浏览器开发的。因此,在将内容提供和呈现给桌面个人计算机(PC)或者机器时,其需要很小的适应性(如果有的话)。然而,当通过资源有限的设备(诸如移动电话)来访问相同的内容和应用时,该内容的呈现以及与该内容的交互出现了问题。而且,这些设备的特性可能在不同设备制造商之间、甚至是在同一制造商所制造的不同设备模型之间变化很大,诸如屏幕大小、小键盘类型、屏幕朝向以及处理速度和能力。因此,利用现有技术,创建对于每个设备配置而言都是最优的网页是不现实的,甚至几乎是不可能的。
除了特定于设备的内容自适应性之外,运行时期间的应用同样应当能够访问系统和环境数据。这种数据包括位置信息、电池寿命、网络信号强度、传感器数据等。这适用于移动应用和非移动应用二者,因为即使是非移动应用,也期望其在不同的环境中发挥作用。例如,设备配置、用户偏好和环境条件可能改变,而应用应当适应这些改变。
自适应的多模态(multimodal)界面构成了使用设备上下文信息将是有益的另一领域。多模态浏览使用户能够使用诸如图形用户界面(GUI)、语音、触摸、视觉或者其他交互模式的不同模态来浏览多模态网页。用于每个模态的处理器可以驻留于客户端终端(也即,设备)或者网络。例如,设备可以建立与诸如基于网络的自动语音识别器(ASR)的远程服务的web会话,并且需要将该信息递送给设备上运行的应用,其中基于网络的ASR具有比驻留于设备的ASR更好的能力。用户和模态处理器之间的交互是由称为交互管理器(IM)的组件来协调的。应当注意,除了模态处理器之外,对话流也可以通过如上所述的诸如设备状态、网络状态、用户偏好等的次要资源来实现。
为了解决设备上下文信息的动态发现以及消费者访问,万维网联盟(W3C)已经开展了对被称为递送上下文接口(DCI)的机制进行标准化的工作。DCI允许应用使用文档对象模型(DOM)之类的接口来访问递送上下文信息。应用可以在特性节点上注册事件监听器,节点根据特性改变或者其他改变来广播事件。然而,除了DCI之外,需要一种用于将设备中动态发生的任何改变通知服务器的机制。
目前,上下文访问和自适应性技术已经得到了工业界和学术界进行的平台和服务开发的关注。某些较早的工作已经示范了移动平台上的上下文感知计算应用的使用。一种方法描述了用于上下文感知应用的框架,其基于无所不在的环境中有感知能力的对象而开发。在上下文表示形式方面已经进行了大量工作,这些工作描述了执行基于上下文的推理和行为的智能代理所使用的上下文表示框架。此外,已经提出,可以实现基于资源描述框架(RDF)/可扩展标记语言(XML)的动态设备简档。智能环境中基于本体的上下文模型也已被提出。工业界也已经大力投入到产生上下文表示模型和模式,以及将设备数据用于应用自适应性。
诸如开放移动联盟(OMA)和W3C的标准机构正在致力于自适应性和上下文访问的独立于设备的技术和方法。一种呈现自适应性的方法是通过使用层级样式表单(CSS)媒介查询,其根据访问网页的媒介类型(例如,桌面计算机、PDA等)来选择特定的样式表单。媒介查询通常在客户端设备进行处理,但是服务器或者响应路径上的中间媒介也可以使用基于媒介查询的呈现自适应性。另一标准,即同步多媒体整合语言(SMIL),也提供了用于检查系统特性的有限支持,其中动态值由运行时环境来提供。这种基于客户端的运行时检查有助于自适应的呈现,但是由于所支持的有限特性集以及数据发现机制,其无法利用更多的动态设备特性。OMA的用户代理简档(UAProf)使用RDF之上的UAProf词汇来描述设备特性。
无线通用资源文件(WURFL)是另一种资源描述机制,其列出所有已知的设备能力作为单个配置文件。这需要开发者自己来更新配置信息,并且没有通过任何单一实体来管理这些更新。所有这些机制的基础原理在于:自适应性实体查询客户端的能力简档,并且相应地对内容进行自适应调整。然而,这些简档所描述的特性不一定是静态的。用户可能决定在设备中安装浏览器的新版本或者全新的浏览器。可以有附加设备,诸如提高网络互连能力的蓝牙连接器或者用于位置信息的全球定位系统(GPS)设备。这种改变没有反应在这些静态简档中,其在多数情况下趋向于过时。客户端设备总是保持最新的信息,并且需要一种通过自适应性实体来请求这种信息的机制。
除了服务器侧的内容自适应性之外,在客户端设备上运行的浏览器应用可以使用上下文信息来增强用户体验以及驱动新型的依赖于上下文的应用。目前,浏览器应用依赖于提供设备上下文信息(诸如,位置、存在等)的外部服务。应用通过使用HTTP请求、Web服务(如果设备支持的话)以及其他订制机制来与这些服务建立独立的会话。应用还必须依赖于用于设备特性的所有权访问方法(通常是通过JavaScript扩展),其必须得到浏览器以及设备制造商的支持。为了使用这种能力,应用必须经过定制以便在这种平台上运行。上下文访问方法也是特定于特性的,并且没有一种用于在将内容自适应性扩展给上下文消费者的同时动态添加新特性的机制。
除了上述提议甚至是上文所讨论的简档扩展之外,使用DCI树来生成动态设备简档的客户端侧API仍将是有益的。
发明内容
本发明的各种实施方式提供了使用DCI树来生成动态设备简档的客户端侧API。DCI树表示节点的层级,每个层级表示设备特性。上下文提供者可以经由DCI树来将上下文数据提供给设备简档生成器组件。设备简档生成器组件继而创建动态设备简档,诸如web浏览器应用的应用使用该动态设备简档来生成设备递送上下文(也即,完全的DCI树或者部分DCI树)的串行化。将该设备递送上下文发送到执行上下文特定的内容自适应的自适应服务器或者代理,这允许浏览器应用的用户体验适合于一个或多个用户设备的特定特性、偏好等的应用会话。
本发明的各种实施方式允许应用作者控制何时以及在何处具有内容自适应。此外,可以定义所有权串行化协议,使得仅有相关的应用服务器需要理解该协议。这是有益的,因为目前未定义动态的简档词汇。因为多数web浏览器已经提供了基于DOM的脚本支持,因此集成DCI机制是易于实现的。DCI还可以作为独立于web浏览器的单独应用来提供,并且可以与其他交互式组件进行集成,例如与具有多模态交互框架的交互管理器(IM)组件集成。此外,本发明的各种实施方式实现了现有的静态设备简档内容自适应调整,诸如UAProf和WURFL。
在结合附图阅读下文的详细描述时,本发明的这些和其他优点和特征及其操作的组织和方式将变得易见,其中贯穿下文描述的多个附图,类似的元素具有类似的标号。
附图说明
图1是可在其中实现本发明的系统的总体框图;
图2是可以在本发明的实现中使用的移动电话的透视图;
图3是图2的移动电话的电话电路的示意性表示;
图4是可以通过其来实现本发明各种实施方式的设备上下文访问和内容自适应架构的表示;
图5是示出了可以在本发明的各种实施方式内使用的概念性DCI结构的树形框图;以及
图6是使用本发明实施方式的应用的截屏。
具体实施方式
本发明提供了一种解决客户端侧动态简档创建问题的API。该API使应用作者能够订制于设备特性并且根据系统改变来生成设备简档。
图1示出了本发明的各种实施方式可以在其中使用的系统10,包括可以通过网络进行通信的多个电子设备。系统10可以包括有线或无线网络的任意组合,其中这些网络包括但不限于移动电话网络、无线局域网(LAN)、蓝牙个人局域网、以太网LAN、令牌环LAN、广域网、互联网等。系统10可以包括有线电子设备和无线电子设备两者,设备的特性用于通过本发明的各种实施方式产生相应的动态设备简档。
例如,图1中所示系统10包括移动电话网络11和互联网28。通往互联网28的连接可以包括但不限于远程无线连接、短程无线连接、以及各种有线连接,有线连接包括但不限于电话线、电缆线路、电力线等。
系统10的示例性电子设备可以包括但不限于移动电话12、组合式PDA和移动电话14、PDA 16、集成消息传递设备(IMD)18、台式计算机20,以及笔记本计算机22。电子设备可以是固定的或者在由行进中的人携带时是移动的。电子设备还可以处于交通模式中,包括但不限于汽车、卡车、出租车、公共汽车、船、飞机、自行车、摩托车等。电子设备的一些或全部可以通过通往基站24的无线连接25发送和接收呼叫和消息,并且通过通往基站24的无线连接25与服务提供商进行通信。基站24可以连接至网络服务器26,该服务器26允许移动电话网络11和互联网28之间的通信。系统10可以包括附加的电子设备和不同类型的电子设备。
电子设备可以使用各种传输技术进行通信,包括但不限于,码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/互联网协议(TCP/IP)、短消息传递服务(SMS)、多媒体消息传递服务(MMS)、电子邮件、即时消息传递服务(IMS)、蓝牙、IEEE 802.11等。通信设备可以使用各种介质进行通信,包括但不限于无线电、红外、激光、线缆连接等。
图2和图3示出了一个代表性电子设备12,通过本发明的各种实施方式其静态和动态特性可以用于创建动态设备简档。然而,应当理解,本发明不旨在限于一种特定类型的电子设备。图2和图3的电子设备12包括外壳30、液晶显示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天线44、根据本发明一个实施方式的UICC形式的智能卡46、读卡器48、无线接口电路52、编解码器电路54、控制器56以及存储器58。单独的电路和元件可以是本领域公知的所有类型,例如Nokia的移动电话系列。
图4中示出了用于设备上下文访问和内容自适应的架构。如上所述,图5中用于上下文访问的DCI树内的根节点(下文描述)是DCI组件400。DCI提供者接口410提供API集,用于上下文提供者将数据提供给DCI树。浏览器应用460使用动态设备简档组件420来生成客户端设备递送上下文的XML/RDF串行化,客户端设备递送上下文被发送到执行设备特定内容自适应的自适应服务器或者代理。当浏览器应用460接收到来自自适应服务器或者代理的响应时,按照适合于设备递送上下文的方式将内容呈现给浏览器应用460的用户。应当理解,任何应用都可以使用DCI上下文提供系统来访问设备数据。一个示例是在多模态会话中使用DCI服务的IM。
DCI会话管理器430负责管理DCI组件400与外部设备或者特性之间的访问机制。DCI会话管理器430使用用于提供访问的不同机制,这些机制是依赖于平台的。备选地,DCI会话管理器430可以使用协议栈440来与上下文提供者(例如,为Linux、Windows等)或者适于与Symbian平台结合使用的服务器/客户端机制进行通信。访问控制模块450确定在DCI树内的何处以及是否提供针对外部特性的访问控制,这将在下文结合图5更详细地讨论。动态设备简档420提供任意时间点的DCI树快照,并且被用于服务器侧的内容自适应。下面将详细描述图4中所示的各个组件。
如上所述,DCI是W3C(具体地,设备独立性工作组(DIWG))采取的新方法,其被作为用于设备静态特性和动态特性的访问机制。由于所提供的通用性和可扩展性,这是一种非常适合web应用、而且还可以适于与其他框架结合工作的机制。DIWG提倡将该方法作为对其用于服务器侧内容自适应的合成能力/偏好简档(CC/PP)模型以及用于对作为递送上下文(DCO)一部分的特性进行查询和更新的递送上下文方法的补充机制。
作为基于客户端的机制,DCI可以安置在内容自适应框架内,在该框架内可以根据设备的能力对web内容进行自适应调整。但是,除了内容自适应之外,应用本身也可以使用DCI来收集上下文数据并且通过简单的访问方法来提供应用自适应性,由此降低了对提供相同信息的外部服务的依赖。DCI平台的广泛使用支持执行智能的、基于客户端的自适应服务的新一代类型的应用,这将带来下一代的用户体验,尤其是对于移动设备而言。
W3C的文档对象模型(DOM)是一种平台和语言无关的API,其允许程序(脚本)动态地访问和更新文档的内容、结构和样式。在此使用的术语“文档”是指在表示可以存储在各种系统中的不同类型信息的、基于XML的方法中所使用的表示对象。DOM模型是这样的机制,通过该机制,文档(HTML/xHTML)作为对象模型外露给应用程序。通过DOM模型,脚本将文档视为层级或者视为与格式良好的XML文档内的每个元素相对应的DOM节点。DOM API用来遍历和操作文档对象。DOM还支持事件系统,该事件系统包括事件传播机制以及用于监听和捕获所广播事件的处理机。DCI采用类似的方法来按照层级化的方式表示设备特性。使用该方法主要是因为DOM机制在应用开发者之中的普及性和熟悉程度,以及其与支持DOM的当前浏览器的兼容性。DCI通过扩展标准DOM接口以及使用与DOM相同的事件机制来提供用于特性访问的API。应当理解,DCI需要最新推荐的DOM级别和DOM事件规范,其分别可以在www.w3.org/DOM/DOMTR和www.w3.org/TR/2000/REC-DOM-Level-2-Events-2000113/处找到,在此通过引用并入二者。
参考图5,将所有特性(静态的和动态的)表示为树层级中的DCIProperty(DCI特性)节点,其中DCIComponent 500构成了根节点。特性(例如,软件510、硬件520和位置530)在逻辑类别下聚合,以行程层级模式。新特性根据特性类型添加到树内的特定类别下。DCI通过用于搜索和检查特性的方法对DOM节点接口进行了扩展。为接口定义了附加属性,包括指明与特性相关的元数据,其中脚本可以使用该元数据来确定要查找的特性值的类型。
属性“特性类型”是DOMString属性,其可以用来定义新的特性类型,从而可以(基于特性类型)对标准的DCI接口集进行扩展,以添加特定于特性的方法。示例包括但不限于用于初始化特性和值变化更新率的方法。DCI还提供对特性名称命名空间的支持。这允许在DCI树上主控(host)来自多个供应商的相同特性。具有相同名称的节点可以通过其命名空间属性以及元数据信息加以区分,例如XYZ:GPS节点540和ABC:GPS节点550。
DCI还使用DOM事件模型来通知动态值和结构性改变。其跟随DOM捕获、起泡(bubble)和目标事件阶段。实现DOM EventListener接口的模块(诸如浏览器或者IM)可以注册为DCI/DOM树上的监听器,并且在目标特性的事件路径中的任意点监听事件。在广播事件时,调用针对特定事件和传播阶段而注册的所有事件处理机。
参考图4,想要向DCI树提供数据的任何上下文提供者联系DCI会话管理器430。可以通过诸如会话发起协议(SIP)或者其他过程调用的服务发现机制来发现DCI会话管理器430。DCI会话管理器430提供转换和会话管理,并且一旦上下文提供者能够联系DCI会话管理器430,DCI会话管理器430便向DCI提供者接口410查询会话ID。如果上下文提供者经过了访问控制模块450的授权,则生成会话ID。访问控制模块450处理访问控制策略,并且被消费者API(DCI 400)和提供者API(DCI提供者接口410)二者使用。策略可以指明哪些消费者和提供者具有对DCI树的访问权以及具有修改权。一旦生成了会话ID,由DCI会话管理器430来管理与上下文提供者的会话。上下文提供者继而将在与DCI会话管理器430的所有后续通信中使用所生成的唯一会话ID。
DCI提供者接口410提供了一组方法,用于:
●搜索DCI树内特性的位置;
●检查特性;
●添加新特性;
●移除已有特性;
●设置特性值;
●得到和设置特性的元数据;以及
●设置针对XPath使用的命名空间前缀。
此外,DCI提供者接口410支持XML路径语言(XPath)表达式的使用,以便寻址DCI树中的节点。XPath是简要的非XML语法,用于寻址XML文档的部分。使用XPath表达式的需要在于:该表达式在DCI上下文内应当是可解析的。DCI提供者接口410支持对用于命名空间统一资源标识符(URI)的前缀的初始设置,从而使得前缀可以与提供者使用的相同XPath表达式结合使用。这消除了对命名空间解析机制的需要。如上所述,命名空间前缀仅对特定的提供者有效,并且是根据在会话建立期间所生成的唯一会话ID而被标识的。应当注意,必须在调用使用命名空间前缀的任何方法之前设置前缀。
DCI会话管理器430还意在支持上下文订制机制。使用上下文订制机制,消费者可以根据其使用的平台所支持的协议栈来订制远程特性。订制模型可以通过扩展DCI接口发生。
自适应机制(位于代理、自适应服务器或者内容服务器本身)使用设备简档来根据设备的能力及其所在的操作环境来对内容进行自适应调整。目前最普及的简档机制是OMA开发的用户代理简档(UAProf)。下面描述使用DCI架构的web应用可以生成的动态简档的创建。该机制突出示出了使用DCI作为上下文提供机制以及以内容自适应为目标的动态简档的来源。
参考图4,动态设备简档模块420支持客户端侧的DCI 400 API在会话期间的任意点创建可以发送给服务器(例如,服务器主控的浏览器应用460)的简档。客户端侧DCI 400 API的关键特征是:
●应用/服务器可以定义其自己的串行化协议,因此其无需等待动态设备简档被标准化;
●客户端可以具有多个可用的串行器,并且应用可以选择使用哪个串行器;
●应用作者可以根据脚本控制来确定何时将动态设备简档发送给服务器;
●支持用于动态通知的事件机制;
●尽可能地保持与标准DOM机制的一致;以及
●提供了筛选器机制,用于仅得到那些需要的节点。
上述特征是通过一系列接口来实现的。串行器接口提供了串行化方法,其输入是一组DCIProperty节点,并且提供DOMString输出。这需要通过先前的方法调用来设置活跃串行器。应用提供筛选器接口,其确定需要将DCI树内的哪些节点添加到将要串行化的列表。由此,用于筛选特性的逻辑是由应用来处理的。响应处理机接口也是应用提供的处理机。只要简档已经发送,该接口负责处理来自服务器的响应。如果应用不支持该接口,则可以有用于处理响应的默认实现行为。串行化列表接口提供用于创建节点列表以便串行化的方法。该接口扩展了DCIPropertyList接口,并且添加了用于向列表附加特性节点和从列表移除特性节点的附加方法。主接口是动态设备简档接口,其提供了对添加、移除、激活串行器的支持,并且提供了用于设置响应处理机以及使用基于DOMString的方法标识符来将简档提交给服务器的方法。还定义了与串行器的移除相关的附加的异常。
实际DCI API的一个实施方式实现如下:
#include dom.idl
#include dci.idl
Module DDP{
//串行化接口用来对列表参数中存在的特性进行串行化。串行化方法使用的
//串行器将是活跃串行器。这返回经过串行化的简档
Interface serializer{
DOMString serialize(DCIPropertyList list);//如果出错,则返回空
};
//该筛选器在DCI树中迭代,并且确定需要添加哪些节点进行串行化。筛选
//器实现由应用提供
Interface DDpFilter{
Boolean includeProperty(in DCIProperty property);
};
//串行化列表接口。该接口用来向串行化列表添加特性节点或者从串行化列表
//移除特性节点
Interface DDpSerializationList extends DCIPropertyList{
appendProperty(in DCIProperty);
removeProperty(in DCIProperty);
}
//响应处理机:只要动态简档已经发送,则该接口负责处理来自服务器的响应。
//其由应用来提供。如果接口不是由应用提供,可以有独立于实现的默认行为
lnterface DDPResponseHandler{
Void handleServerResponse(in DOMStringURI uriResponse);
};
//动态设备简档接口
Interface DDp{
//可用串行器的列表
Readonly attribute DOMStringList serializers;
//激活用于该会话的特定串行器
activateDDpSerializer(DOMString slString);
//得到活跃串行器-返回活跃串行器的标识符
DOMString getActiveSerializer();
//调用该方法以设置应用定义的串行器。需要提供标识串行器的标识符
setDDpSerializer(in DOMString identifier,in Seria1izer NewSerializer);
//该方法在传递标识符字符串的同时返回串行器对象
serializer getDDpSerializer(DOMString identifier);
//该方法用来从串行器列表移除串行器。如果调用应用无权移除串行器,则该
//方法抛出异常
removeDDpSerializer(in DOMString identifier)
raises DDpException;
//将应用定义的筛选器附加至当前串行器
DOMString serializeWithFilter(in DDpFilter filter);
//创建空的串行化列表
DDpSerializationList createSerializationList();
//调用该方法以通过调用当前活跃串行器来串行化该列表
DOMString serializePropertyList(in DDpSerializationList list);
//调用该方法以将设备简档提交给由URI标识的服务器。方法参数确定用于
//提交的协议类型。返回值的行为将取决于该协议。这是立即返回的异步方法。
//来自服务器的响应将由应用所设置的响应处理机来处理,参见
//“setResponseHandler”方法。
submitDDp(in DOMString method,in DOMString uri,in DOMString ddpString);
//响应处理机由当服务器发回响应时将被调用的应用来设置。处理机继而将根
//据响应来确定将做什么,例如重载页面。
//如果没有指定,则将是一些独立实现的默认行为,或者可以默认假设为HTTP
setResponseHandler(DDPResponseHandler handler);
};
//动态设备简档异常
DDPExceptions{
DEFAULT_SERIALIZER-REMOVE_EXCEPTION=1;
}
}
W3C DCI规范没有提及应用如何获取DCI对象,将这个决定留给了DCI API的具体实现。参考回图5,DCI对象是DCIComponent500。获取DCIComponent 500的一种方法是通过DOM文档接口“getFeature”方法调用。在本发明的一个实施方式中,将该方法调用实现为JavaScript调用:
var DCI=document.getFeature(“org.w3c.dci”,”1.0”);
在另一实施方式中,可以在允许直接访问实际DCIComponent 500的浏览器应用内提供DCI对象。应当注意,可以按照相同的方式来获得动态设备简档对象。
图6中示出了实现基于DCI的上下文感知逻辑的一个示例,其中在Firefox浏览器上运行的Google Map应用配备有DCI扩展。GoogleMap应用使用基于JavaScript的DCI上下文访问来获取GPS坐标,以便将用户的行动路径绘制在地图上。参考图5,在从DCIComponent/根节点500遍历之后,首先获取DCI树中ABC:GPS节点550的句柄。继而将事件处理机附加至该节点,其监听表示特性值改变的“dci_prop_change”事件。只要GPS值改变就调用该事件处理机,并且处理机读取新值。继而使用该新值作为当前坐标,并使用GoogleMap应用提供的多叉线(polyline)功能对其进行绘制。
第二个示例是这样的应用,其中使用JavaScript实现了简单的基于浏览器的动态设备配置查看器。脚本在DCI树中迭代,根据DCI树中存在的节点以层级化方式在使用浏览器查看的网页上创建文本框。如果存在值属性,应用将添加处理机,其中值变化将反应在相应的文本框中。如果创建并添加了新节点,同样将在应用中动态地反应该变化。
在方法步骤的一般背景下对本发明进行了描述,在一个实施方式中,这些方法步骤可以通过程序产品来实现,该程序产品包括在网络互连环境中由计算机执行的计算机可执行指令,诸如程序代码。通常,程序模块包括例程、程序、对象、组件、数据结构等,用于执行具体任务或者实现特定的抽象数据类型。计算机可执行指令、相关数据结构和程序模块代表了用于执行此处公开的方法的步骤的程序代码的示例。这种可执行指令或者相关数据结构的特定序列代表了用于实现在这种步骤中描述的功能的对应动作的示例。
本发明的软件和web实现能够利用标准编程技术来完成,利用基于规则的逻辑以及其他逻辑来实现各种数据库搜索步骤、相关步骤、比较步骤和决策步骤。还应当注意的是,此处以及权利要求书中使用的词语“组件”和“模块”意在包括使用一行或者更多行软件代码的实现和/或硬件实现和/或用于接收手动输入的设备。
出于示例和描述的目的,已经给出了本发明实施方式的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施方式是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。
Claims (29)
1.一种通过应用编程接口来访问设备的上下文并对用于所述设备的内容进行自适应调整的方法,所述方法包括:
生成所述设备的动态设备简档的串行化;
将所述设备的动态设备简档的串行化发送给自适应服务器;
从所述自适应服务器接收响应,所述响应反应了由所述自适应服务器执行的特定于上下文的内容自适应调整,以及
在从所述自适应服务器接收到响应之后,使用来自所述响应的信息,按照适于所述设备的上下文的方式来呈现所述内容。
2.根据权利要求1所述的方法,其中,使用用于对事件进行广播的文档对象模型事件来实时更新所述设备的动态设备简档,以指明所述设备的动态设备简档的实时改变。
3.根据权利要求1所述的方法,其中,所述动态设备简档的串行化的生成是由浏览器应用执行的。
4.根据权利要求3所述的方法,其中,所述动态设备简档的串行化是可扩展标记语言串行化。
5.根据权利要求3所述的方法,其中,所述动态设备简档的串行化是资源描述框架串行化。
6.根据权利要求3所述的方法,还包括:将递送上下文接口树与驻留在所述浏览器应用内的设备简档生成器组件相关联,所述动态设备简档反应由递送上下文接口组件表示的所述设备的上下文。
7.根据权利要求1所述的方法,还包括将递送上下文接口树与递送上下文接口组件相关联,所述动态设备简档反应由所述递送上下文接口组件表示的所述上下文。
8.根据权利要求7所述的方法,还包括通过会话管理器来提供至少一个上下文提供者与所述递送上下文接口组件之间的通信。
9.根据权利要求8所述的方法,其中,访问控制模块控制对所述递送上下文接口组件的访问,以由所述设备的用户以及所述至少一个上下文提供者修改所述递送上下文接口树。
10.根据权利要求8所述的方法,其中,所述会话管理器使用独立于平台的访问机制在所述至少一个上下文提供者与所述递送上下文接口之间进行通信。
11.根据权利要求8所述的方法,其中,所述会话管理器使用协议栈在所述至少一个上下文提供者与所述递送上下文接口之间进行通信。
12.根据权利要求8所述的方法,其中,所述会话管理器使用客户端服务器访问机制在所述至少一个上下文提供者与所述递送上下文接口之间进行通信。
13.一种包含在计算机可读介质中的应用编程接口,用于使用应用在会话期间访问设备的设备上下文以及对用于所述设备的内容进行自适应调整,所述应用编程接口包括:
多个接口,用于对所述设备的动态设备简档进行串行化;
可用串行器的列表;
激活命令,用于在所述会话期间从可用串行器的所述列表中激活所述可用串行器之一;
多个命令,被配置用于设置应用定义的串行器,返回串行器对象,从可用串行器的所述列表中移除串行器,附加应用定义的筛选器,创建空的串行器列表,通过调用当前活跃串行器来对空串行化列表进行串行化,以及提交所述动态设备简档;
响应处理机;以及
至少一个动态设备简档异常。
14.根据权利要求13所述的应用编程接口,其中所述多个接口包括:
串行化列表接口,用于将至少一个特性节点添加至串行化列表以及将至少一个特性节点从串行化列表移除,其中所述至少一个特性节点表示设备上下文接口树中的所述设备的特性;
串行化接口,用于对由所述串行化列表中的至少一个特性节点表示的所述设备的特性进行串行化,并返回经过串行化的简档,其中,选择活跃串行器来执行所述串行化;
筛选器接口,用于在所述设备上下文接口树中进行迭代,已确定将要串行化哪些特性节点;以及
动态设备简档接口,用于允许对所述设备的动态设备简档的访问。
15.根据权利要求13所述的应用编程接口,其中,所述激活命令获得所述活跃串行器,并且返回所述活跃串行器的标识符。
16.根据权利要求15所述的应用编程接口,其中,用于设置应用定义的串行器的多个命令之一在所述活跃串行器的标识符被返回之后设置所述应用定义的串行器。
17.根据权利要求15所述的应用编程接口,其中,用于返回串行器对象的多个命令之一在传递所述活跃串行器的标识符时返回所述串行器对象,所述标识符由标识符字符串表示。
18.根据权利要求13所述的应用编程接口,其中,用于从可用串行器的所述列表中移除串行器的多个命令之一在所述应用无权移除至少一个所述可用串行器的情况下抛出异常。
19.根据权利要求13所述的应用编程接口,其中,用于提交所述动态设备简档的多个命令之一将所述动态设备简档提交给由统一资源标识符标识的自适应服务器,所述自适应服务器执行特定于上下文的内容自适应调整,并且其中,方法参数确定用于提交的协议类型。
20.根据权利要求19所述的应用编程接口,其中,所述响应处理机由所述自适应服务器在所述动态设备协议的提交后向所述应用发送响应时将要调用的应用来设置,所述响应处理机根据对所述应用的响应来确定要采取的动作。
21.一种包含在计算机可读介质中的计算机程序产品,用于通过应用编程接口来访问设备的设备上下文以及对用于所述设备的内容进行自适应调整,所述计算机程序产品包括:
计算机代码,用于生成所述设备的动态设备简档的串行化;
计算机代码,用于将所述设备的动态设备简档的串行化发送给自适应服务器;其中,所述自适应服务器执行特定于上下文的内容自适应调整;以及
计算机代码,用于在从所述自适应服务器接收到响应之后,按照适于所述设备的上下文的方式来呈现所述内容。
22.根据权利要求21所述的计算机程序产品,其中,使用用于对事件进行广播的文档对象模型事件来实时更新所述设备的动态设备简档,以指明所述设备的动态设备简档的实时改变。
23.根据权利要求21所述的计算机程序产品,其中,所述动态设备简档的串行化的生成是由浏览器应用执行的。
24.根据权利要求23所述的计算机程序产品,还包括:计算机代码,用于将递送上下文接口树与驻留在所述浏览器应用内的设备简档生成器组件相关联,所述动态设备简档反应由递送上下文接口组件表示的所述设备的上下文。
25.根据权利要求21所述的计算机程序产品,还包括:计算机代码,用于将递送上下文接口树与递送上下文接口组件相关联,所述动态设备简档反应由所述递送上下文接口组件表示的所述上下文。
26.根据权利要求25所述的计算机程序产品,还包括:计算机代码,用于通过会话管理器来提供至少一个上下文提供者与所述递送上下文接口组件之间的通信。
27.根据权利要求26所述的计算机程序产品,其中,访问控制模块控制对所述递送上下文接口组件的访问,以由所述设备的用户以及所述至少一个上下文提供者修改所述递送上下文接口树。
28.一种电子设备,包括:
处理器;以及
存储器单元,其可操作地与所述处理器连接,并且包括:
计算机代码,用于生成所述设备的动态设备简档的串行化;
计算机代码,用于将所述设备的动态设备简档的串行化发送到自适应服务器;其中,所述自适应服务器执行特定于上下文的内容自适应调整;以及
计算机代码,用于在从所述自适应服务器接收到响应之后,按照适于所述设备的上下文的方式来呈现所述内容。
29.一种架构,允许通过应用编程接口来访问设备的设备上下文以及对用于所述设备的内容进行自适应调整,所述架构包括:
浏览器应用,其被配置用于:
生成所述设备的动态设备简档的串行化,其中所述设备的动态设备简档可以通过动态设备简档组件来访问;
将所述设备的动态设备简档的串行化发送到自适应服务器;
从所述自适应服务器接收响应,所述响应反应了由所述自适应服务器执行的特定于设备的内容自适应调整;以及
使用来自所述响应的信息,按照适于所述设备的上下文的方式来呈现所述内容;
与递送上下文接口树相关联的递送上下文接口组件,其中,所述动态设备简档反应由所述递送上下文接口组件表示的所述设备的上下文;
会话管理器,其被配置用于通过协议栈、独立于平台的访问机制和客户端服务器访问机制中的至少一个来提供至少一个上下文提供者与所述递送上下文接口组件之间的通信;以及
访问控制模块,其被配置用于控制对所述递送上下文接口组件的访问,以由所述设备的用户使用所述递送上下文接口组件以及由所述至少一个上下文提供者使用提供者递送上下文接口来修改所述递送上下文接口树。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/484,401 US20080016182A1 (en) | 2006-07-11 | 2006-07-11 | Dynamic device profile interfaces |
US11/484,401 | 2006-07-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101553812A true CN101553812A (zh) | 2009-10-07 |
Family
ID=38923654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780026382.3A Pending CN101553812A (zh) | 2006-07-11 | 2007-07-10 | 动态设备简档接口 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20080016182A1 (zh) |
EP (1) | EP2041677A4 (zh) |
CN (1) | CN101553812A (zh) |
WO (1) | WO2008007338A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105474163A (zh) * | 2013-06-14 | 2016-04-06 | 微软技术许可有限责任公司 | 自然快速功能手势 |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US10732825B2 (en) | 2011-01-07 | 2020-08-04 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004063688A1 (de) * | 2004-12-28 | 2006-07-13 | Vodafone Holding Gmbh | System und Verfahren zur Vermittlung von Daten zwischen einem Datenanbieter und einem Mobilfunkteilnehmer |
US20080059300A1 (en) * | 2006-09-01 | 2008-03-06 | Admob, Inc. | Targeting an ad to a mobile device |
US20080059285A1 (en) * | 2006-09-01 | 2008-03-06 | Admob, Inc. | Assessing a fee for an ad |
US8230081B2 (en) * | 2007-10-31 | 2012-07-24 | Verizon Patent And Licensing Inc. | Feature set based content communications systems and methods |
US8131875B1 (en) * | 2007-11-26 | 2012-03-06 | Adobe Systems Incorporated | Device profile assignment based on device capabilities |
US8745228B2 (en) | 2007-11-26 | 2014-06-03 | Adobe Systems Incorporated | Matching device capabilities and content characteristics |
US8849870B2 (en) * | 2008-06-26 | 2014-09-30 | Nokia Corporation | Method, apparatus and computer program product for providing context triggered distribution of context models |
US8010669B2 (en) * | 2008-10-15 | 2011-08-30 | Nokia Corporation | Method, apparatus and computer program product for enabling dual mode communication |
CN102171693B (zh) * | 2008-12-16 | 2015-05-20 | 诺基亚公司 | 用于向上下文模型提供多维处理的方法、装置和计算机程序产品 |
US8413168B2 (en) * | 2009-03-05 | 2013-04-02 | Nokia Corporation | Method, apparatus and computer program product for providing an event scheme for context models |
US8353009B2 (en) * | 2009-10-01 | 2013-01-08 | Nokia Corporation | Method and apparatus for providing context access with property and interface obfuscation |
US8266551B2 (en) * | 2010-06-10 | 2012-09-11 | Nokia Corporation | Method and apparatus for binding user interface elements and granular reflective processing |
US8881057B2 (en) | 2010-11-09 | 2014-11-04 | Blackberry Limited | Methods and apparatus to display mobile device contexts |
US9026905B2 (en) * | 2010-12-17 | 2015-05-05 | Facebook, Inc. | Customization of mobile applications using web-based technology |
US8813167B2 (en) | 2010-12-30 | 2014-08-19 | Apple Inc. | Dynamic device configuration using predicates |
US9706006B2 (en) * | 2011-07-19 | 2017-07-11 | Infosys Limited | System and method of context aware adaption of content for a mobile device |
EP2771862A4 (en) * | 2011-10-26 | 2015-07-29 | Mastercard International Inc | METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA FOR PROVIDING A DOWNLOADABLE SERVICE TO ACCESS COMPONENTS IN A MOBILE DEVICE |
US8996729B2 (en) | 2012-04-12 | 2015-03-31 | Nokia Corporation | Method and apparatus for synchronizing tasks performed by multiple devices |
EP2798483A1 (en) | 2011-12-28 | 2014-11-05 | Nokia Corporation | Application switcher |
CN103365859B (zh) * | 2012-03-28 | 2017-03-08 | 上海商派网络科技有限公司 | 处理网页鼠标点击事件的方法 |
SG194245A1 (en) * | 2012-04-17 | 2013-11-29 | ZingMobile Pte Ltd | A method for real-time synchronization between a device and host servers |
US20150234798A1 (en) * | 2012-06-01 | 2015-08-20 | Google Inc. | System and method for changing a web ui application appearance based on state through css selector cascading |
US9430548B1 (en) * | 2012-09-25 | 2016-08-30 | Emc Corporation | Generating context tree data based on a tailored data model |
US9639263B2 (en) | 2014-08-05 | 2017-05-02 | Weebly, Inc. | Native overlay for rapid editing of web content |
US10139998B2 (en) * | 2014-10-08 | 2018-11-27 | Weebly, Inc. | User interface for editing web content |
US9830307B1 (en) * | 2014-12-11 | 2017-11-28 | Amazon Technologies, Inc. | Ahead of time compilation of content pages |
US11409948B2 (en) | 2018-12-10 | 2022-08-09 | Block, Inc. | Centralized brand asset management |
US11470162B2 (en) * | 2021-01-30 | 2022-10-11 | Zoom Video Communications, Inc. | Intelligent configuration of personal endpoint devices |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332464B2 (en) * | 2002-12-13 | 2012-12-11 | Anxebusiness Corp. | System and method for remote network access |
US7536673B2 (en) * | 2003-07-22 | 2009-05-19 | Sap Ag | Application business object processing |
US7360097B2 (en) * | 2003-09-30 | 2008-04-15 | Check Point Software Technologies, Inc. | System providing methodology for securing interfaces of executable files |
US7409693B2 (en) * | 2003-10-30 | 2008-08-05 | International Business Machines Corporation | Method and system for providing version control of parameters in a command-based API using Java serialization |
US7478146B2 (en) * | 2003-11-03 | 2009-01-13 | Nokia Corporation | System, apparatus, and method for communicating capabilities of a mobile device |
US7640429B2 (en) * | 2004-02-26 | 2009-12-29 | The Boeing Company | Cryptographically enforced, multiple-role, policy-enabled object dissemination control mechanism |
US7761863B2 (en) * | 2004-06-08 | 2010-07-20 | Covia Labs, Inc. | Method system and data structure for content renditioning adaptation and interoperability segmentation model |
US8170901B2 (en) * | 2004-10-01 | 2012-05-01 | Microsoft Corporation | Extensible framework for designing workflows |
US7559020B2 (en) * | 2004-12-30 | 2009-07-07 | Microsoft Corporation | Methods and systems for preserving unknown markup in a strongly typed environment |
US7698684B2 (en) * | 2005-09-28 | 2010-04-13 | Sap Ag | Method and system for generating schema to Java mapping descriptors and direct mapping of XML schema and Java interfaces |
US8700681B2 (en) * | 2005-09-28 | 2014-04-15 | Sap Ag | Method and system for generating schema to java mapping descriptors |
US20070199049A1 (en) * | 2005-09-28 | 2007-08-23 | Ubiquitynet, Inc. | Broadband network security and authorization method, system and architecture |
US20060047780A1 (en) * | 2005-11-08 | 2006-03-02 | Gregory Patnude | Method and apparatus for web-based, schema-driven application-server and client-interface package using a generalized, data-object format and asynchronous communication methods without the use of a markup language. |
US20070162560A1 (en) * | 2006-01-11 | 2007-07-12 | Bea Systems, Inc. | System and method for asynchronous request response |
-
2006
- 2006-07-11 US US11/484,401 patent/US20080016182A1/en not_active Abandoned
-
2007
- 2007-07-10 EP EP07805105A patent/EP2041677A4/en not_active Withdrawn
- 2007-07-10 WO PCT/IB2007/052753 patent/WO2008007338A2/en active Application Filing
- 2007-07-10 CN CN200780026382.3A patent/CN101553812A/zh active Pending
-
2009
- 2009-08-20 US US12/545,009 patent/US20090313645A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732825B2 (en) | 2011-01-07 | 2020-08-04 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
CN105474163A (zh) * | 2013-06-14 | 2016-04-06 | 微软技术许可有限责任公司 | 自然快速功能手势 |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
Also Published As
Publication number | Publication date |
---|---|
WO2008007338A3 (en) | 2008-04-17 |
US20090313645A1 (en) | 2009-12-17 |
EP2041677A2 (en) | 2009-04-01 |
WO2008007338A2 (en) | 2008-01-17 |
US20080016182A1 (en) | 2008-01-17 |
EP2041677A4 (en) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101553812A (zh) | 动态设备简档接口 | |
EP1566943B1 (en) | System and method for provisioning presence application services | |
US7546298B2 (en) | Software, devices and methods facilitating execution of server-side applications at mobile devices | |
US7865528B2 (en) | Software, devices and methods facilitating execution of server-side applications at mobile devices | |
JP2002215486A (ja) | Wsdlに基づいたコントローラ装置用通信システム | |
US20050193380A1 (en) | System and method for executing wireless applications using common UI components from a UI repository | |
Malandrino et al. | MIMOSA: context-aware adaptation for ubiquitous web access | |
EP2131548A1 (en) | System and Method of Creating and Communicating with Component Based Wireless Applications | |
CN100444108C (zh) | 使用ui储存库的公共ui组件执行无线应用程序的系统和方法 | |
CN101554028A (zh) | 用于移动设备的接口和方法 | |
CA2511912A1 (en) | System and method for building and execution of platform-neutral generic services' client applications | |
WO2006089390A1 (en) | Facilitating mobile device awareness of the availability of new or updated server-side applications | |
KR20050043989A (ko) | 웹포털의 포트랫 선택을 위해 비지니스룰 또는 사용자롤을사용하는 방법 및 장치 | |
KR20060042393A (ko) | 사용자 인터페이스와 데이터 컴포넌트 간의 지능형 맵핑을이용한 무선 애플리케이션 구축 시스템 및 방법 | |
US20040267900A1 (en) | Dynamic mobile device characterization | |
CN102171690A (zh) | 用于在基于网络的地址簿中实现个性化和映射的系统与方法 | |
CA2511916A1 (en) | System and method of building wireless component applications | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
CN103561113A (zh) | Web Service接口的生成方法及装置 | |
JP2011514578A (ja) | Ruiプロファイリングのためのネットワークシステムおよび方法 | |
Sutterer et al. | User profile management on service platforms for ubiquitous computing environments | |
Al-Masri et al. | Device-aware discovery and ranking of mobile services | |
CN102821116B (zh) | 一种在线服务提供方法、装置及信息系统 | |
Sathish et al. | Context service framework for the mobile Internet | |
CN102171693B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091007 |