CN102047239B - 定义、分发以及呈现设备体验 - Google Patents

定义、分发以及呈现设备体验 Download PDF

Info

Publication number
CN102047239B
CN102047239B CN200980120968.5A CN200980120968A CN102047239B CN 102047239 B CN102047239 B CN 102047239B CN 200980120968 A CN200980120968 A CN 200980120968A CN 102047239 B CN102047239 B CN 102047239B
Authority
CN
China
Prior art keywords
electronic equipment
data
equipment
experience
project
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
CN200980120968.5A
Other languages
English (en)
Other versions
CN102047239A (zh
Inventor
M·G·莫里斯
M·波蒂尔
G·S·德巴克
M·K·朗德尔
D·E·弗兰根
R·L·戈尔茨坦
S·J·鲍尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102047239A publication Critical patent/CN102047239A/zh
Application granted granted Critical
Publication of CN102047239B publication Critical patent/CN102047239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

提供了用于使用诸如可扩展标记语言(“XML”)元素或属性之类的多个在分层结构中相关的声明性语言数据结构来定义、授权/认证、分发,以及呈现动态设备体验的平台和技术。当两个电子设备经由通信介质进行通信时,呈现动态设备体验。处理数据结构以向用户呈现图形用户界面-该图形用户界面实现与另一电子设备相关联的动态设备体验。在一种示例性情形中,独立硬件厂商(“IHV”)创作包括存储在数据结构中的数据项形式的设备体验信息(如品牌或广告信息、对web服务或应用程序的访问,以及对设备功能的访问)的XML文档。XML文档对照预定架构来验证,使用诸如数字签名之类的密码技术来保护,并以灵活的、防篡改的方式发现/分发。

Description

定义、分发以及呈现设备体验
背景
许多类型的电子设备都配备有允许设备与其他电子设备和/或网络进行通信的连接特征。例如,诸如个人计算机(“PC”)之类的多用途电子设备常常时不时与各种其他电子设备进行通信,包括但不限于,其他PC、服务器、个人数字助理、移动电话、导航设备、媒体播放器和/或媒体捕捉设备、家庭娱乐设备、打印机,以及传真机,以执行各种用户指示的任务。
例如,PC常常呈现用户界面,经由该用户界面用户可以指示执行涉及其他连接的电子设备的各种任务。特定设备类型的用户界面通常是由PC呈现的普通界面(例如,用于与特定操作系统一起使用的界面),尽管众多独立硬件厂商(“IHV”)可以制造和/或分发特定类型的设备。IHV一般必须花费大量的软件设计、开发,以及分发精力和成本,以便为特定电子设备或其类型提供定制的安全用户界面。
概述
此处讨论了用于定义、分发、授权/认证、以及呈现动态设备体验的平台和技术。当两个电子设备(出于示例目的而被称为第一或主要,以及第二或辅助电子设备)经由通信介质进行通信时,呈现动态设备体验。诸如设备类型标识符、硬件标识符、软件标识符之类的辅助电子设备的特性(被主要电子设备、辅助电子设备,或联网的服务器/服务)用来标识多个在分层结构中相关的声明性语言数据结构。在主要电子设备运行时,处理声明性语言数据结构,以向用户呈现图形用户界面。图形用户界面实现与辅助电子设备相关联的动态设备体验。可以理解,经由相同或不同的通信介质或时间帧,特定主要电子设备也可以充当辅助电子设备,反之亦然。还可以理解,主要和辅助电子设备两者都可以是多用途或专用的。
第一声明性语言数据结构(例如,标记元素或属性)存储表示可经由图形用户界面呈现的可见对象的第一数据的项目。可任选地由用户选择的可见对象本身被配置成提供与特定辅助电子设备相关联的用户体验。用户体验的示例包括但不限于:呈现辅助电子设备的物理体验的一方面;标识辅助电子设备的状态;标识辅助电子设备的源(例如,制造商或经销商的商标、服务标记,或徽标);呈现广告;控制由辅助电子设备提供的用户可选功能;以及,控制经由基于网络的服务提供的与辅助电子设备和/或其源相关联的用户可选功能。第二声明性语言数据结构存储可被用来间接访问特定资源(诸如文件、目录、设备、元数据,以及计算机程序)以便提供特定用户体验的第二数据的项目。一个或多个附加声明性语言数据结构可以存储可被用来间接访问配置数据的附加数据项,该配置数据是用来呈现或访问可见对象和/或资源的信息(如选择状态、大小、形状、位置、颜色、存储器/存储使用状况、图像/相关联的元数据等等)。
在一个示例性实现中,声明性语言数据结构位于一个或多个设备体验文档内。设备体验文档存储被统称为“设备体验信息”的信息。在一种示例性情形中,设备体验文档和/或设备体验信息是由一个或多个创作实体为特定电子设备创作的,以符合为特定声明性编程语言(例如,可扩展标记语言(“XML”)架构)发布的预定句法规则。创作实体可以是与架构发布实体相同的或不同的实体。可以使用诸如数字签名方案之类的密码方案或技术来保护和/或验证设备体验文档和/或设备体验信息项。
分发实体将特定辅助电子设备的设备体验文档分发到主要电子设备和/或基于网络的服务。在主要电子设备运行时,当与辅助电子设备建立通信时,标识(并在必要时获取并认证)并处理设备体验文档,以呈现为第二电子设备实现动态设备体验的图形用户界面。
以此方式,使用分层的声明性语言数据结构来为各个IHV/电子设备创建安全的,改变灵活的用户界面,而无需通常与自定义用户界面相关联的大量编程、开发或分发工作或成本。用户界面表征对动态目标的运行时间接性,这提高效率和灵活性。当设备体验信息引用诸如web服务或软件应用程序之类的外部功能时,中介辅助电子设备和这样的外部功能之间的程序性交互,该交互被特定IHV(或其他IHV)用来与辅助设备进行交互,并提供设备体验的运行时可扩展性。
提供本发明内容是为了以简化的形式介绍一些概念。这些概念将在具体实施方式一节中进一步描述。除本发明内容中所描述的以外的元素或步骤是可能的,且没有元素或步骤是必需的。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来协助确定所要求保护的主题的范围。所要求保护的主题不限于解决在本公开的任意部分中提及的任何或所有缺点的实现。
附图简述
图1是通信体系结构的简化功能框图。
图2是图1所示出的设备体验平台的简化功能框图。
图3是示出用于创作、授权/认证、分发,以及呈现动态设备体验的示例性分布式系统的简化功能框图,其各方面可以通过图1所示出的通信体系结构的组件和/或图2所示出的设备体验平台来实现,或与它们一起使用。
图4是用于提供与诸如图1所示出的辅助电子设备之类的电子设备相关联的动态设备体验的方法的流程图。
图5是用于呈现实现与诸如图1所示出的辅助电子设备之类的电子设备相关联的动态设备体验的图形用户界面的方法的流程图。
图6是示例性操作环境的简化功能框图,图2所示出的设备体验平台、图3所示出的分布式系统,和/或图4和5所示出的方法的各方面可以与该操作环境一起实现或使用。
具体实施方式
此处所讨论的用于定义、授权/认证、分发,以及呈现动态设备体验的平台和技术基于使用多个在分层结构中相关的声明性语言数据结构。在一个可能的实现中,数据结构是位于一个或多个XML文档内的可扩展标记语言(“XML”)元素或属性。在主要电子设备运行时,当两个设备经由通信介质进行通信时,处理文档和数据结构,以呈现实现与辅助电子设备相关联的动态设备体验。在一种示例性情形中,支持独立硬件厂商(“IHV”),以创建描述捕捉消费者兴趣的动态设备体验的XML文档。XML文档对照预定架构来验证,使用诸如数字签名之类的密码技术来保护,并以灵活的,防篡改的方式发现/分发。
出于示例、实例或说明,而非限制的目的,此处讨论了特定示例性情形。然而,可以理解,涉及不同电子设备、用户界面设计、创作实体、架构发布实体、验证实体、声明性编程语言、密码技术,和/或分发实体、信道或技术等等的其他情形也是可能的,而不背离所附权利要求书的精神或范围。
现在转向图形,其中相同的标号表示相同的组件,图1是示例性通信体系结构100的简化功能框图,在该通信体系结构100内,可以实现或使用设备体验平台(“DEP”)105(结合图2更详细地示出和描述)。如图所示,DEP 105的各方面在网络110内的一个或多个服务器/服务160内和/或在主要电子设备102内实现。
服务器/服务160和150表示此处所描述的系统或技术的任何网络侧的实现。例如,某些基于网络的服务器可以主存与DEP 105相关联的各种服务(使用任何所需的基础结构或技术,例如web服务,来实现),包括但不限于:数据存储服务;内容创作服务;内容验证服务;内容保护服务;内容分发服务;和/或通用服务,诸如电子商务服务、对基于web的应用程序的访问、客户服务服务等等。
DEP 105的各方面尤其方便:由诸如独立硬件厂商(“IHV”)或其代理(示出了IHV服务器/服务150)之类的创作实体对设备体验信息152的创作(结合图2详细地讨论的);对设备体验信息152的验证和/或密码保护以形成设备体验文档(“DED”)107(结合图2和3更详细地描述);DED 107到主要电子设备102和/或基于网络的服务器/服务的分发;以及诸如主要电子设备102和/或基于网络的服务器/服务之类的电子设备对DED 107的使用,以经由图形用户界面(“GUI”)103向用户111呈现动态设备体验120(也结合图2更详细地描述)。
诸如主要电子设备102和辅助电子设备104之类的两个或更多电子设备时常经由通信介质170进行通信。通信介质170可以是任何有线或无线,广域或局域、分组交换或电路交换,单向或双向数据传输基础结构、信号或技术(包括整个或部分存在于网络110内的通信介质)。在一种可能的情形中,电子设备102和104由同一个用户(如图所示,用户111)来操作。在另一可能的情形中,电子设备102和104由不同用户来操作。
电子设备102和104表示任何已知的或以后开发的便携式或非便携式消费设备,包括但不限于:个人计算机;电信设备;个人数字助理;媒体播放器;家庭娱乐设备(如机顶盒、游戏控制台、电视机、媒体网关等等);车载设备;照相机;录像机;以及家庭服务器。特定电子设备可以被或不被配置成经由网络110进行通信,但出于示例性目的假设这样的通信是可能的。
网络110表示任何现有的或未来的,公共或专有,有线或无线,广域或局域、分组交换或电路交换,单向或双向数据传输基础结构、技术,或信号。示例性网络110包括:因特网;托管WAN(例如,蜂窝网络、卫星网络、光纤网络、同轴电缆网络、混合网络、铜线网络,以及诸如电视、无线电,以及数据广播网络之类的空中广播网);无线局域网;以及个人区域网。
当两个电子设备经由通信介质170进行通信时,一个设备(出于讨论的目的,此处被称为主要电子设备即如图所示的电子设备102)呈现实现与另一设备(此处被称为辅助电子设备,即如图所示的电子设备104)相关联的动态设备体验120的图形用户界面103。动态地处理一个或多个DED 107(由诸如主要电子设备、辅助电子设备或基于网络的服务器之类的电子设备),以呈现动态设备体验。可以理解,经由相同或不同的通信介质或时间帧,特定主要电子设备也可以充当辅助电子设备,反之亦然,并且主要和辅助电子设备两者可以是多用途或专用的。
连续参考图1后,图2是图1所示出的DEP 105的简化功能框图。DEP 105的各方面可以在网络110内,例如由一个或多个服务器/服务160和/或150来实现,和/或在诸如电子设备102和/或104之类的电子设备内实现。基于网络的DEP 105的一方面可被实现为,例如,诸如web服务之类的网络侧计算机程序。然而,由于DEP 105的体系结构是灵活的,因此可以使用网络侧处理、客户机侧处理或其组合来执行各个功能。一般而言,设计选择和/或操作环境规定如何以及是否实现DEP 105的特定功能。可以使用硬件、软件、固件或其组合来实现这样的功能。DEP 105的特定配置可包括比所描述的那些组件更少、更多或不同的组件。还可以理解,实现DEP 105的通信相关的功能的计算机程序可以在通信协议栈的任一层操作。
如图所示,DEP 105包括:文档授权/认证引擎202;文档分发引擎204;用于生成动态设备体验120的文档处理引擎206;以及信息储存库208,其特别存储设备体验信息152(包括但不限于可见对象/用户体验212、资源214,以及配置数据216)、设备体验文档107、设备特性252、架构260、文档处理规则262,以及授权/认证信息270。
信息储存库208表示对于涉及DEP 105的信息的一般数据存储能力。可以使用各种类型和安排的计算机可读介质604(下面将结合图6进一步地讨论)来实现信息储存库208。
架构260表示方便对设备体验信息152的组织和解释的框架。示例性架构是XML架构,特定XML文档的数据结构(例如,元素和属性)的句法符合该架构。在高层次,XML架构包括:(1)全局元素声明,该声明将元素名称与元素类型相关联,以及(2)类型定义,其定义了该类型的元素的属性、子元素,以及字符数据。元素的属性使用名/值对来指定该元素的特定特性,一个属性一般指定单个元素特性。有各种架构260对XML可用和/或可定义,并且任何所需架构发布实体都可以定义和/或提供架构。
DED 107表示声明性语言指令集,该指令集定义符合为特定声明性编程语言定义的架构260的多个数据结构。如上文所指出的,一个示例性声明性编程语言是可扩展标记语言(“XML”),但任何已知的或以后开发的声明性编程语言也是可能的。结合图3示出并讨论了示例性数据结构303、313,以及323。
设备体验信息152表示通过使用与DED 107相关联的声明性语言数据结构来指定源资料中的数据之间关系的信息。一般而言,设备体验信息152由创作实体来提供,并对照一个或多个架构260来确认合法句法。与特定电子设备相关联的源资料一般(但不一定)与制造和/或分发这样的设备的独立硬件厂商(“IHV”)驻留在一起,并且包括但不限于计算机程序、界面等等。设备体验信息152可以存储在一个或多个计算系统或操作环境的临时或持久存储器位置中。
在一种示例性情形中,设备体验信息的创作实体是IHV。在该示例性情形中,IHV用被用来定义特定可见对象/用户体验212,资源214的数据以及被用来呈现与特定辅助电子装置或其类型相关联的图形用户界面的配置数据216的项目来填充诸如XML元素或其属性之类的多个声明性语言数据结构。由主要电子设备呈现图形用户界面,以提供与辅助电子设备相关联的动态设备体验。IHV可以引用第三方资料(包括其他设备体验文档或其各部分),和/或第三方可以是创作实体。例如,可以经由其各自的唯一标识符(例如任务组标识符和/或组内的特定任务)来引用其他设备体验文档或其各部分。在运行时,主要电子设备将来自所引用的动态体验文档的信息结合到正在被呈现的特定动态设备体验中。结合图3示出并讨论了示例性数据结构303、313,以及323,以及分别存储在其中的数据项305、315,以及325。
可见对象/用户体验212表示可经由图形用户界面103呈现的项目的形式的物理或逻辑呈现工具或控件(如图形、图像、文本、音频剪辑、视频剪辑、等等)。可见对象/用户体验212提供与特定辅助电子设备相关联的体验。体验的示例包括但不限于:呈现辅助电子设备的物理外观的一方面;标识辅助电子设备的状态(如接收到的消息数量,通信状态,任务执行状态、空闲状态,开/关状态、电池寿命状态等等);标识辅助电子设备的源(例如,辅助电子设备的制造商或经销商的商标、服务标记,或徽标);呈现广告;控制由辅助电子设备提供的用户可选功能(例如,壁纸编辑器、铃声编辑器、调用调制解调器功能、媒体发现/管理、媒体同步等等);或控制经由基于网络的服务(如基于因特网的服务、基于因特网的软件应用程序,或网页)提供的,与辅助电子设备和/或其源相关联的用户可选功能。某些可见对象/用户体验212可由主要电子设备的用户选择,以导航到其他可见对象/用户体验或访问资源214(下面将进一步地讨论)。如结合图3所示出和讨论的,对可见对象/用户体验212的引用作为第一数据的项目305存储在第一声明性语言数据结构303中。
资源214表示诸如文件、目录、元数据或计算机程序之类的实现(或被安排成实现)内部或外部功能的资源,可访问这些资源以提供与特定辅助电子设备相关联的可见对象/用户体验212。资源214可以是或可以引用特殊指令,以准许在运行时主要或辅助电子设备和诸如web服务之类的基于网络的服务之间的程序性交互。这准许诸如IHV之类的实体经由web应用程序直接与电子设备进行交互,并提供用于动态设备体验的通过认证和授权的运行时可扩展性的手段。资源214(或诸如URL、指针或向量之类的对它的引用)可以被认为是存储在DED 107内的设备体验信息152。或者,资源214可以与DED 107分开存储,但在其中被引用。如结合图3示出和讨论的,对资源214的引用(如URL、指针、或向量)作为第二数据的项目315存储在第二声明性语言数据结构313中。
配置数据216表示用于呈现或访问可见对象/用户体验212和/或资源214的信息,如选择状态、大小、形状、颜色、存储器/存储使用状况、图像/相关联的元数据等等。如结合图3示出和讨论的,对配置数据216的引用可以作为第三数据的项目325存储在第三声明性语言数据结构323中。
再次参考图2所示出的信息储存库208,授权/认证信息270表示由文档授权/认证引擎202(下面将讨论)用来执行下列操作的信息:(1)验证基于特定设备体验信息152的DED 107被批准用于分发和/或符合诸如架构260之类的预定句法规则;以及,(2)在由特定主要电子设备使用之前,验证设备体验文档107和/或设备体验信息152的真实性。对于用途(1)和(2)的验证可以涉及使用诸如数字签名方案等一个或多个密码方案或技术,并可以由一个或多个验证实体一次或多次执行。授权/认证信息270包括但不限于算法、架构、数字证书、密钥等等。
设备特性252表示有关设备体验文档107所关联的特定辅助电子设备104的信息。设备特性252被用来标识要分发的适当的DED 107和/或被用来呈现与特定辅助电子设备相关联的动态设备体验120。设备特性252的示例包括但不限于有关特定电子设备或其类别的信息,诸如设备类型标识符、型号标识符、唯一设备标识号、硬件标识符(诸如处理能力标识符、显示能力、存储器/存储能力等等)、网络连接能力,或软件标识符(诸如软件版本标识符、与特定DED 107相关联的标识符等等)。
文档处理规则262表示由用于在特定主要电子设备运行时处理DED 107的网络侧或客户机侧文档处理引擎206(下面将讨论)用来呈现与特定辅助电子设备相关联的动态设备体验120的指令。
再次参考图2中所描绘的DEP 105,文档授权/认证引擎202负责使用授权/认证信息270来:(1)验证DED 107被批准用于分发和/或符合诸如架构260之类的预定句法规则;和/或(2)在被主要电子设备使用之前验证DED 107的真实性。如此,文档授权/认证引擎202的各方面可以由一个或多个基于网络或基于客户机的DEP 105来主存,并可以在DED 107的分发链和/或DED 107的运行时处理中的各个点处操作。在一示例性情形中,在分发和/或使用DED 107之前,DED 107被呈现给验证实体(注意,取决于分发的阶段,验证实体可以不同-示例性验证实体包括但不限于可信的基于网络的服务器或服务,以及主要电子设备本身。)验证实体验证DED 107符合一个或多个已建立的架构260和/或源自可信源。
对DED 107的验证可以涉及使用诸如应用或验证数字签名之类的密码保护技术。数字签名密码方案一般涉及三种算法-产生“密钥对”的密钥生成算法(由第三方密钥生成服务或证书授权机构实现),该“密钥对”包括验证密钥(一般是公钥)和签名密钥(一般是私钥);将经签名的信息和签名密钥作为输入并输出数字签名(如结合图3示出和讨论的数字签名370)的签名算法,该数字签名是可以嵌入诸如DED 107或其各部分之类的数据结构内部的对象;以及获取经签名的信息、验证密钥,以及数字签名,并验证或者拒绝数字签名的签名验证算法(由联网的服务器/服务或电子设备来实现)。可以通过由证书授权机构发放的数字身份证书来将实体的公钥(可以用于除数字签名之外的用途,如公钥加密)绑定到该实体。实体的标识信息(例如,名称、地址、电话号码等等)绑定到公钥,并且该公钥作为一种形式的标识来使用。
再次参考图2中所描绘的DEP 105,文档分发引擎204负责标识要分发和/或使用的特定DED 107。可以标识特定辅助电子设备的DED 107,并将其分发到主要电子设备和/或基于网络的服务器/服务,主要电子设备和/或基于网络的服务器/服务被配置成处理DED 107并经由实现特定辅助电子设备的动态设备体验的图形用户界面呈现它们。分发可以在这样的使用之前或在使用时进行。可以使用任何所需的通信网络、协议或技术来在推或拉的基础上分发DED107。在一示例性情形中,通过分发实体来分发可被用来呈现对应于特定辅助电子设备或其类型的特定动态设备体验的DED 107(一般是已经通过验证实体验证并可任选地使用诸如数字签名之类的密码技术来保护的DED 107),分发实体负责使DED对主要电子设备和/或基于网络的服务器/服务的用户可用。分发实体可以是任何所需实体,包括但不限于各个IHV、用户或主要或辅助电子设备(例如,在对等内容共享的情况下),或诸如可信的基于网络的服务的操作者之类的一个或多个其他可信实体。在示例性情形中,使用web服务来将特定DED 107绑定到特定辅助电子设备,并自动地将DED 107预先分发到主要电子设备。
再次参考图2中所描绘的DEP 105,文档处理引擎206通过在特定主要电子设备的运行时(一般当与DED 107所关联的特定辅助电子设备建立了通信时)使用文档处理规则262来处理DED 107来方便呈现与特定辅助电子设备相关联的动态设备体验120,以呈现图形用户界面。可以使用用于处理声明性语言文档的任何已知的或以后开发的技术,并且这样的处理可以是网络侧或客户机侧处理。
连续参考图1和2后,图3是示出示例性分布式系统的各方面的简化功能框图,该系统用于创作、授权/认证、分发和呈现(经由主要电子设备102)与辅助电子设备104相关联的动态设备体验。分布式系统的各方面可以实现通信体系结构100和/或DEP 105的各方面,或通过这些方面实现,或使用这些方面。
如图所示,创作工具箱302被诸如IHV之类的创作实体(未示出)用来分别用数据项305、315,以及325填充符合一个或多个架构260的多个声明性语言数据结构303、313,以及323,如XML元素或其属性,以形成设备体验信息152。设备体验信息152一般绑定到各种类型或类别的辅助电子设备。
第一声明性语言数据结构303存储表示可经由图形用户界面103呈现的可见对象/用户体验212的诸如字符串或数值之类的第一数据的项目305。示出了两个可见对象,即可见1号对象351和2号可见对象353。
可任选地是用户可选的可见对象本身是诸如图形、图像、文本、音频剪辑、视频剪辑等呈现工具或控件,它们被配置成提供与辅助电子设备104相关联的动态设备体验120。用户体验的示例包括但不限于:呈现辅助电子设备的物理外观的一方面;标识辅助电子设备的状态;标识辅助电子设备的源(例如,辅助电子设备的制造商或经销商的商标、服务标记,或徽标);呈现广告;控制由辅助电子设备提供的用户可选功能;以及控制经由基于网络的服务提供的,与辅助电子设备和/或其源相关联的用户可选功能。
在示例性情形中,1号可见对象351标识辅助电子设备的源,而用户可选择的2号可见对象353提供对辅助电子设备104的功能的控制,如获得消息,同步或发现内容,访问基于网络的服务或应用程序等等。1号可见对象351通过第一数据的特定项目305来表示。2号可见对象353通过第一数据的不同项目305来表示。
第二声明性语言数据结构313存储可被用来间接地访问特定资源214以便提供与辅助电子设备104相关联的用户体验的第二数据的项目315(例如,指针、向量或URL)。如上所述,资源214包括但不限于,文件、目录、设备、元数据,以及实现(或被安排成实现)电子设备的功能或诸如基于因特网的服务或软件应用程序之类的外部功能的计算机程序。
在示例性情形中,在分层结构中与第一数据的相应项目305相关联的第二数据的不同项目315引用一个或多个资源214(例如,图像、图形、文本、视频或音频),以用于实现1号可见对象351和2号可见对象353。另外,第二数据的特定项目315引用(该第二数据的项目可以是例如,URL、向量,或指针)负责执行或安排执行辅助电子设备的功能(用户可经由2号可见对象353进行选择)的一个或多个资源214(例如,计算机程序)。当用户选择2号可见对象353时,间接地经由第二数据的项目315访问资源,并且该资源访问导致辅助电子设备执行该功能。也可以与主要电子设备102和/或基于网络的服务器/服务进行关于该功能执行的通信。
可以存储配置数据216,并使用一个或多个附加声明性语言数据结构和存储的数据项,如第三数据结构323和第三数据的项目325,间接地访问该配置数据216。
再次参考图3,在示例性情形中,将辅助电子设备104的设备体验信息提交到验证实体(未示出),如文档授权/认证引擎202的基于网络的操作者-例如,实现授权/认证引擎202的功能的各方面的web服务的操作者。文档授权/认证引擎202验证设备体验信息152符合已建立的架构260和/或标识与辅助电子设备104相关联的特定认证信息270和/或设备特性252,以确保设备体验信息152源自可信源,并且与设备类别内的正确设备匹配。一旦通过验证,出于讨论的目的,设备体验信息152被称为(一个或多个)DED 107。
可以使用密码方案或技术来保护DED 107和/或设备体验信息152的项目。在示例性情形中,使用数字签名方案来保护DED 107和其中的设备体验信息152,以降低被篡改的可能性,并使得DED 107的撤消和替换更容易。根据示例性数字签名方案,在创作之后,由签名实体(未示出)(可以是验证实体或不同的可信实体)利用数字签名370来对设备体验文档和其各部分进行签名。经签名的DED 107可以存储在一个或多个信息储存库中,包括但不限于,便携式计算机可读存储介质,如CD、闪存或DVD,以及与电子设备或服务器相关联的临时或持久存储器。
分发实体(未示出)分发DED 107。可以将DED 107分发到主要电子设备102和/或网络110内的服务。建立辅助电子设备104和呈现图形用户界面103的主要电子设备102之间的通信之前或之后,DED分发可以在推或拉的基础上进行。分发实体可以是任何所需实体,包括但不限于单个IHV、可信的基于网络的服务、辅助设备的用户,或一个或多个其他可信实体。同样,分发介质可以是任何已知的或以后开发的通信网络或技术和/或计算机可读存储介质。在示例性情形中,使用web服务来自动地将DED 107预先分发到主要电子设备。
在使用之前,可以认证经签名的DED 107(和/或主要或辅助电子设备)。在示例性情形中,认证可以特别包括使用签名验证算法来验证或者拒绝数字签名370。一般而言,签名验证算法接受公钥-以及数字签名和据称经签名的信息-并验证或者拒绝数字签名。可以向或由主要电子设备102或单独的基于网络的验证服务器或服务(如文档授权/认证引擎202的基于网络的操作者)提供密钥和/或签名验证算法形式的认证信息270。也可以使用设备特性252来确保已经标识适当的辅助电子设备的DED 107。
在运行时,当经由通信介质170在主要电子设备102和辅助电子设备104之间建立通信时,通过使用设备特性252(在必要时,获取并认证DED 170)标识适当的DED 107,并且处理分别存储在第一、第二,以及第三声明性语言数据结构303,313,以及323内的数据项305、315,以及325,以呈现实现辅助电子设备104的动态设备体验120的图形用户界面103。
根据一个示例性实现,特定IHV的品牌图像可以与熟悉并且相干的体验集成。图形用户界面103可以不同地实现动态设备体验120,这分别取决于主要和辅助电子设备102和104的连接状态,或其他动态或用户可选条件。例如,当辅助电子设备104最初通过通信介质170与主要电子设备102进行通信时(例如,在两个设备之间的初始通信之后,或在特定通信时间间隔之后),可以提供直观的界面。在示例性情形中,直观的界面显示可见对象/用户体验212的特定集合,包括但不限于:辅助电子设备104的图像;与制造和/或分发辅助电子设备104的IHV相关联的品牌信息;辅助电子设备104的状态(例如,空闲、正在获取消息等);辅助电子设备104的用户可选功能的列表;以及可访问的基于网络的服务和/或应用程序的列表。当随后在辅助电子设备104和主要电子设备102之间进行通信时(如例如在日常使用期间的情况),可以由主要电子设备102显示可见对象/用户体验212的不同集合。在示例性情形中,该集合通过可包括辅助电子设备104的用户可选功能以及品牌元素的可容易地看见的设备工具栏来实现,,并可以按与显示主要电子设备102的功能的方式类似的方式(如经由任务栏)来显示。
连续参考图1-3后,图4是用于提供与诸如辅助电子设备104之类的电子设备相关联的动态设备体验的示例性方法的流程图。图4中所示出的方法可以由计算机可执行指令(如与文档授权/认证引擎202和/或文档分发引擎204相关联的计算机可执行指令)来实现,计算机可执行指令存储在计算机可读介质604中,并由一个或多个通用、多用途或专用处理器(如处理器602)执行。除非特别指明,否则该方法不限于特定次序或顺序。另外,其一些方法或步骤可以同时和/或反复执行。
描述了图4中所示出的方法用先前结合图1-3详细描述的通用术语、特定术语和技术来描述。该方法从框400开始并在框402继续,在那里,接收电子设备的声明性语言设备体验信息(“DEI”),如辅助电子设备104的设备体验信息152。DEI包括第一数据结构(如第一数据结构303),该第一数据结构存储对诸如1号可见对象351和2号可见对象353等可见对象的引用(如第一数据的项目305),这些可见对象提供了电子设备的用户体验212。DEI还包括第二数据结构(如第二数据结构313),该第二数据结构存储了对资源(如资源214)的引用(如第二数据的项目315),可以间接地被访问资源以实现用户体验。在该示例性情形中,第一和第二数据结构是XML元素或属性。
在框404,验证和/或认证框402中涉及的DEI,并在验证/认证后,创建诸如DED 107之类的声明性语言文档(“DED”),如在框406所示出的。如在框408所示出的,用密码保护DED和/或其各部分(例如,使用数字签名来进行签名)。在框410,对受保护的DED向其他电子设备(如主要电子设备和/或基于的网络的服务器或服务)的分发进行授权。这样的其他电子设备在运行时处理DED,以向用户呈现动态设备体验。在建立DED所关联的电子设备和基于DED来呈现动态设备体验的其他电子设备之间建立通信之前或之后,DED分发可以在推或拉的基础上进行。在一个可能的情形中,可以向电子设备的用户提供到特定DED或DED分发服务的、可以用来检索通过授权和/或认证的DED的URL。可任选地,如在框412所示出的,可以创建盖写先前DED的新DED并对其进行签名,并在它们可用时分发。
连续参考图1-4后,图5是用于呈现诸如图形用户界面103之类的图形用户界面的方法的流程图,该图形用户界面实现与电子设备相关联的动态设备体验,如与辅助电子设备104相关联的动态设备体验120。图5中所示出的方法可以由计算机可执行指令(如与文档处理引擎206相关联的计算机可执行指令)来实现,计算机可执行指令存储在计算机可读介质604中,并由诸如处理器602等一个或多个通用、多用途或专用处理器(处理器又可以是诸如主要电子设备102或联网的服务器之类的电子设备的组件)执行。除非特别指明,否则该方法不限于特定次序或顺序。另外,其一些方法或步骤可以同时和/或反复执行。
图5中所示出的方法用先前结合图1-3详细描述的通用术语、特定术语和技术来描述。该方法从框500开始,并在框502继续,在那里标识何时在主要电子设备和辅助电子设备之间建立通信。一般而言,当主要电子设备经由诸如通信介质170之类的通信介质与辅助电子设备进行通信时,主要电子设备呈现与辅助电子设备相关联的动态设备体验。
在框504,标识辅助电子设备的特性,并定位适当的DED。一般而言,主要和/或辅助电子设备标识并使用辅助电子设备的诸如设备类型标识符、硬件标识符、软件标识符、DED标识符,或其他信息之类的特性来标识适当的DED107。DED 107或对其的引用可以位于各种位置,如本地计算机可读介质和基于网络的计算机可读介质。如在框506所示出的,在框508进行处理之前,可以认证与辅助电子设备相关联的DED,以向用户呈现辅助电子设备的动态设备体验。在该示例性情形中,由第一数据的项目305表示的至少两个可见对象被呈现给用户。诸如指针、URL或向量之类的第二数据的项目315可被用来间接地访问与可见对象相关联的资源214。
以此方式,使用分层声明性语言数据结构来为各个电子设备创建安全的,改变灵活的用户界面,而无需通常与自定义用户界面相关联的大量的编程、开发或分发工作或成本。用户界面表征对动态目标的运行时间接性,这提高效率和灵活性。当设备体验信息(例如,资源214或对其引用)引用诸如web服务或软件应用程序之类的外部功能时,中介辅助电子设备和这样的外部功能之间的程序性交互,该交互被特定IHV(或其他)用来与电子设备进行交互,并提供设备体验的运行时可扩展性。
连续参考图1-5,图6是操作环境600的简化功能框图,此处所讨论的用于定义、授权/认证、分发,以及呈现动态设备体验的平台和技术可与该操作环境一起实现或使用。操作环境600指示各种各样的通用、专用、基于客户机或服务器、独立或联网计算环境。
图6所示的一个或多个组件可被封装在一起或分开封装以按照各种方式来实现操作环境600的功能(整体或部分)。如图所示,总线621携带来自计算环境600或其组件或其中的数据、地址、控制信号和其他信息,或者将这些信息携带至计算环境600或其组件。
网络接口610是增强操作环境600经由诸如通信介质170等通信介质对另一操作环境(未示出)收发信息的能力的一个或多个物理或逻辑元件。通信介质的示例包括但不限于:无线或有线信号;计算机可读介质(如计算机可读介质604,下面将进一步地讨论);计算机可执行指令(如计算机可执行指令606,下面将进一步地讨论);通信硬件或固件;以及通信协议或技术。
专用硬件/固件642表示实现操作环境600的功能的任何硬件或固件。专用硬件/固件142的示例包括编码器/解码器(“CODEC”)、解密器、专用集成电路、安全时钟等。
可以是一个或多个真实或虚拟处理器的处理器602通过执行计算机可执行指令606来控制操作环境600的功能(以下进一步讨论)。
计算机可读介质604表示任何数量和组合的本地或远程组件,任何形式的,现在已知的或以后开发的,能够记录、存储或传输诸如可由处理器602执行的指令606(下面将进一步地讨论)之类的计算机可读数据,以及诸如设备特性252、设备体验信息152、架构260、文档处理规则262、设备体验文档107,以及授权/认证信息270之类的数据。具体地,计算机可读介质604可以是或可包括半导体存储器(例如,诸如只读存储器(“ROM”)、任何类型的可编程ROM(“PROM”)、随机存取存储器(“RAM”)、或闪存);磁存储设备(诸如软盘驱动器、硬盘驱动器、磁鼓、磁带、或磁光盘);光学存储设备(诸如任何类型的紧致盘或数字多功能盘);磁泡存储器、高速缓冲存储器、磁心存储器、全息存储器;记忆棒、纸带;穿孔卡、或其任何组合。计算机可读介质604还可包括传输介质和与其相关联的数据。传输介质/数据的示例包括但不限于具体化成任何形式的有线或无线传输的数据,诸如由已调制载波信号携带的分组化或非分组化数据。
计算机可执行指令606表示电子地控制对数据的预定操作的任何信号处理方法或存储的指令。一般而言,计算机可执行指令606根据用于基于组件的软件开发的公知惯例来被实现为软件程序,并且在计算机可读介质(诸如一种或多种类型的计算机可读存储介质604)中编码。软件程序可按照各种方式组合或分发。
设备体验平台105的组件引擎是软件程序的示例。软件程序的其他示例包括但不限于操作系统(未示出)和终端用户软件程序(未示出),诸如媒体组织应用程序、媒体播放应用程序、电子邮件应用程序、反恶意软件应用程序等。在一个可能的实现中,操作系统支持设备体验平台105的各个组件。
用户界面616表示定义用户与特定应用程序或设备交互的方式的呈现工具和控件的组合。一种类型的用户界面616是图形用户界面103,但任何已知或将来开发的类型的用户界面是可能的。呈现工具用于从用户接收输入或向用户提供输出。物理呈现工具的示例是诸如监视器设备等显示器。逻辑呈现工具的示例是数据组织技术(例如,窗口、菜单、或其布局)。控件方便从用户接收输入。物理控件的示例是诸如遥控器、显示器、鼠标、笔、指示笔、跟踪球、键盘、话筒、或扫描设备等输入设备。逻辑控件的示例是用户可以通过其发出命令的数据组织技术(例如,窗口、菜单、或其布局)。可以理解,同一物理设备或逻辑构造可以用作用于向用户的输入和自用户的输出两者的接口。
已经描述了用于定义、授权/认证、分发和呈现动态设备体验的平台和技术的各方面。然而,将会理解,不一定使用所有所述组件,这些组件在被使用时也不必同时存在。被描述为计算机程序的元素/组件不限于计算机程序的任何特定实施例的实现,而是传送或变换数据的过程,并且通常可由硬件、软件、固件或其任何组合实现或在其中实现。
尽管以针对结构特征和/或方法动作专用的语言描述了此处的主题,但也可以理解,权利要求书中确定的主题不必限于上述的具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
还可以理解,当一个元素被指出为对另一个元素作出响应时,这些元素可直接或间接耦合。此处所描述的连接在实践中可以是逻辑或物理的,以实现元素之间的耦合或通信接口。连接可被实现为软件进程之间的进程间通信,或联网计算机之间的机器间通信等。
在本文中使用的词语“示例性”意味着用作示例、范例或说明。此处被描述为“示例性”的任何实现或其各方面不必被解释为对于其它实现或其方面是优选的或更有利的。
如可以理解的,可设计除上述具体实施例之外的实施例而不背离所附权利要求书的精神和范围,本文主题的范围旨在由所附权利要求书限定。

Claims (20)

1.一种用于呈现图形用户界面的方法(500),所述方法包括:
标识(502)何时经由通信介质(170)在第一电子设备(102)和第二电子设备(104)之间建立通信;
标识(504)所述第二电子设备的一个或多个特性;
基于所标识的一个或多个特性,标识(504)符合为声明性编程语言定义的句法规则的多个数据结构,所述多个数据结构包括
存储第一数据的项目(305)的第一数据结构(303),第一数据的特定项目表示可经由所述第一电子设备的图形用户界面(130)呈现的可见对象(351、353),所述可见对象被配置成提供与所述第二电子设备相关联的用户体验,以及
在分层结构中与所述第一数据结构相关联的第二数据结构(313),所述第二数据结构存储第二数据的项目(315),第二数据的特定项目可用于间接地访问特定资源(214)以便经由所述第二数据的特定项目来提供与所述第二电子设备相关联的特定用户体验;以及
在建立所述第一电子设备和所述第二电子设备之间的通信后,安排所述第一电子设备使用所标识的多个数据结构来向用户显示(508)图形用户界面;
其中,所述多个数据结构在处理之前被认证,以向用户呈现与所述第二电子设备相关联的体验。
2.如权利要求1所述的方法,其特征在于,用户体验选自包括下列各项的组:呈现所述第二电子设备的物理外观的一方面;标识所述第二电子设备的状态;标识所述第二电子设备的源;呈现广告;控制经由所述第二电子设备提供的用户可选功能;以及控制经由基于网络的服务提供的用户可选功能。
3.如权利要求2所述的方法,其特征在于,所述安排所述第一电子设备使用所标识的多个数据结构来向用户显示图形用户界面的步骤包括
标识第一数据中表示可用来提供所述第二电子设备的源的标识的第一可见对象(351)的第一项目;
标识第一数据中表示可用来提供对所述第二电子设备的功能的控制的用户可选择的第二可见对象(353)的第二项目;
基于所述第一数据的第二项目,标识第二数据中可用于间接地访问特定资源以便控制所述第二电子设备的功能的特定项目;
基于所述第一数据的第一和第二项目,安排所述第一电子设备经由所述图形用户界面显示所述第一可见对象和所述第二可见对象;
在用户经由所述图形用户界面选择所述第二可见对象时,使用所述第二数据的特定项目来间接地访问所述特定资源;以及
基于所述资源访问,经由所述第一电子设备,安排所述第二电子设备执行所述功能。
4.如权利要求3所述的方法,其特征在于,所述方法还包括在安排所述第二电子设备执行所述功能之后:
安排所述第一电子设备经由所述图形用户界面显示所述功能的执行状态。
5.如权利要求1所述的方法,其特征在于
特定资源选自包括下列各项的组:文件;目录;设备;元数据;以及计算机可执行指令集,并且
当所述特定资源包括所述计算机可执行指令集时,所述计算机可执行指令集选自包括下列各项的组:在被执行时执行所述第二电子设备的功能的计算机程序;在被执行时执行所述第一电子设备的功能的计算机程序;以及基于网络的计算机程序。
6.如权利要求1所述的方法,其特征在于,第二数据的特定项目包括对特定资源的位置的引用,并且其中所述引用选自包括下列各项的组:指针;统一资源定位符;以及向量。
7.如权利要求1所述的方法,其特征在于,所述多个数据结构还包括
在分层结构中与所述第一数据结构或所述第二数据结构或两者相关联的第三数据结构(323),所述第三数据结构存储可被用来间接地访问配置数据(216)的一个或多个项目的第三数据的项目(325),所述配置数据的一个或多个项目与特定可见对象或用于实现特定用户体验的特定资源或两者相关联。
8.如权利要求1所述的方法,其特征在于,所标识的多个数据结构中的一个或多个被包括在一个或多个设备体验文档(107)中,并且其中所述一个或多个设备体验文档包括一个或多个可扩展标记语言(“XML”)文档。
9.如权利要求1所述的方法,其特征在于,所述通信介质选自包括下列各项的组:有线通信介质和无线通信介质。
10.如权利要求1所述的方法,其特征在于,所述第二电子设备的一个或多个特性选自包括下列各项的组:设备类型标识符;型号标识符;硬件标识符;软件标识符;以及声明性语言文档标识符。
11.一种用于提供与电子设备相关联的设备体验的方法(400),所述方法包括:
标识第一电子设备的一个或多个特性;
基于所标识的一个或多个特性,标识(402)与所述第一电子设备(104)相关联的设备体验信息(152),所述设备体验信息包括多个声明性语言数据结构,包括
存储第一数据的项目(305)的第一数据结构(303),第一数据的特定项目表示可经由图形用户界面(130)呈现的可见对象(351、353),所述可见对象被配置成提供与所述第一电子设备相关联的用户体验;以及
在分层结构中与所述第一数据结构相关联的第二数据结构(313),所述第二数据结构存储第二数据的项目(315),第二数据的特定项目可被用来间接地访问特定资源(214)以便经由所述第二数据的特定项目来提供与所述第一电子设备相关联的特定用户体验;以及
安排经由分发介质将所述设备体验信息分发(410)到第二电子设备(102),由所述第二电子设备执行以下步骤,包括
标识何时经由通信介质(170)在所述第一电子设备和所述第二电子设备之间建立通信;以及
在建立所述第一电子设备和所述第二电子设备之间的通信之后,使用所述设备体验信息来向用户显示图形用户界面,所述图形用户界面具有可用来基于第一数据的第一项目来提供所述第一电子设备的源的标识的第一可见对象(351),以及可用来基于第一数据的第二项目来提供对所述第一电子设备的功能的控制的用户可选择的第二可见对象;
其中,所述设备体验信息在处理之前被认证,以向用户呈现与所述第一电子设备相关联的体验。
12.如权利要求11所述的方法(400),其特征在于,所述安排经由分发介质将所述设备体验信息分发到第二电子设备具体为:
标识为声明性编程语言定义的句法规则;
查明(404)所述设备体验信息是否符合所述句法规则;
当所述设备体验信息符合所述句法规则时,经由数字签名(370)对所述设备体验信息进行签名(408);以及
安排经由所述分发介质将所述经签名的设备体验信息分发(410)到所述第二电子设备。
13.如权利要求11所述的方法(400),其特征在于,所述分发是由包括下列实体的实体执行的:分发所述第二电子设备的实体;以及第三方实体。
14.如权利要求11所述的方法(400),其特征在于,所述分发介质选自包括下列各项的组:基于网络的服务;以及计算机可读存储介质。
15.如权利要求11所述的方法(400),其特征在于,所述设备体验信息是由所述第一电子设备的源提供的。
16.一种用于经由用户界面呈现与另一电子设备相关联的设备体验(120)的方法,所述方法包括:
标识何时与另一电子设备建立通信;
标识所述另一电子设备的一个或多个特性;
基于所标识的一个或多个特性,标识符合为声明性编程语言定义的句法规则的多个数据结构,所述多个数据结构包括
存储第一数据的项目(305)的第一数据结构(303),第一数据的特定项目表示可经由所述用户界面呈现的可见对象(351、353),所述可见对象被配置成提供与所述另一电子设备相关联的用户体验;以及
在分层结构中与所述第一数据结构相关联的第二数据结构(313),所述第二数据结构存储第二数据的项目(315),第二数据的特定项目可被用来间接地访问特定资源(214)以便经由所述第二数据的特定项目来提供与所述另一电子设备相关联的特定用户体验;
在与所述另一电子设备建立通信之后,标识第一数据中表示可用来提供所述另一电子设备的源的标识的第一可见对象(351)的第一项目;
标识第一数据中表示可用来提供对所述另一电子设备的功能的控制的用户可选择的第二可见对象(353)的第二项目;
基于所述第一数据的第一和第二项目,经由所述用户界面呈现所述第一可见对象和所述第二可见对象;
其中,所述多个数据结构在处理之前被认证,以向用户呈现与所述另一电子设备相关联的体验。
17.如权利要求16所述的方法还包括,在基于所述第一数据的第一和第二项目、经由所述用户界面呈现所述第一可见对象和所述第二可见对象之后:
经由所述用户界面接收用户对所述第二可见对象的选择;
使用第二数据的特定项目来间接地访问与所述第二可见对象相关联的特定资源;
基于所述资源访问,安排所述另一电子设备执行所述功能;以及
经由所述用户界面显示所述功能的执行状态。
18.如权利要求16所述的方法,其特征在于,所述标识多个数据结构的方法步骤选自包括下列各项的组:搜索本地计算机可读存储介质以标识与所述另一电子设备相关联的设备体验信息;以及查询基于网络的服务以标识与所述另一电子设备相关联的设备体验信息。
19.如权利要求16所述的方法,其特征在于,所述另一电子设备选自包括下列各项的组:个人计算机;电信设备;个人数字助理;媒体播放器;家用娱乐设备;照相机;录像机;以及车载设备。
20.一种用于经由用户界面呈现与另一电子设备相关联的设备体验的系统,所述系统包括:
用于标识何时与另一电子设备建立通信的装置;
用于标识所述另一电子设备的一个或多个特性的装置;
用于基于所标识的一个或多个特性、标识符合为声明性编程语言定义的句法规则的多个数据结构的装置,所述多个数据结构包括
存储第一数据的项目的第一数据结构,第一数据的特定项目表示可经由所述用户界面呈现的可见对象,所述可见对象被配置成提供与所述另一电子设备相关联的用户体验;以及
在分层结构中与所述第一数据结构相关联的第二数据结构,所述第二数据结构存储第二数据的项目,第二数据的特定项目可被用来间接地访问特定资源以便经由所述第二数据的特定项目来提供与所述另一电子设备相关联的特定用户体验;
用于在与所述另一电子设备建立通信之后、标识第一数据中表示可用来提供所述另一电子设备的源的标识的第一可见对象的第一项目的装置;
用于标识第一数据中表示可用来提供对所述另一电子设备的功能的控制的用户可选择的第二可见对象(353)的第二项目的装置;
用于基于所述第一数据的第一和第二项目、经由所述用户界面呈现所述第一可见对象和所述第二可见对象的装置;
其中,所述多个数据结构在处理之前被认证,以向用户呈现与所述另一电子设备相关联的体验。
CN200980120968.5A 2008-05-30 2009-05-01 定义、分发以及呈现设备体验 Active CN102047239B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/130,328 2008-05-30
US12/130,328 US8176499B2 (en) 2008-05-30 2008-05-30 Defining, distributing and presenting device experiences
PCT/US2009/042630 WO2009148742A2 (en) 2008-05-30 2009-05-01 Defining, distributing and presenting device experiences

Publications (2)

Publication Number Publication Date
CN102047239A CN102047239A (zh) 2011-05-04
CN102047239B true CN102047239B (zh) 2015-04-01

Family

ID=41381497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980120968.5A Active CN102047239B (zh) 2008-05-30 2009-05-01 定义、分发以及呈现设备体验

Country Status (4)

Country Link
US (1) US8176499B2 (zh)
EP (1) EP2281243A4 (zh)
CN (1) CN102047239B (zh)
WO (1) WO2009148742A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196307B (zh) * 2010-03-18 2013-01-23 北京国微集成技术有限公司 对象传递装置和对象传递方法
CN102141785A (zh) * 2010-12-30 2011-08-03 美的集团有限公司 基于微控制器的电子产品的制作方法及其控制方法
US20120284702A1 (en) * 2011-05-02 2012-11-08 Microsoft Corporation Binding applications to device capabilities
US8966635B2 (en) * 2012-02-24 2015-02-24 Hewlett-Packard Development Company, L.P. Software module object analysis
CN102831167B (zh) * 2012-07-24 2015-01-07 东软集团股份有限公司 图结构的xml处理方法及装置
CN103713958B (zh) * 2012-09-28 2016-12-21 国际商业机器公司 在不同语言的机器间同步图形用户界面操作的方法和设备
CA2966930C (en) 2014-11-07 2021-05-11 Counterpath Technologies Inc. Method and system for dynamically configuring a client installed and running on a communication device
US10120735B2 (en) * 2015-03-30 2018-11-06 Microsoft Technology Licensing, Llc Touch application programming interfaces
CN107481491B (zh) * 2016-07-20 2019-09-20 宝沃汽车(中国)有限公司 电器的控制系统及移动终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1197859A1 (en) * 2000-10-10 2002-04-17 Canon Kabushiki Kaisha Method and device for remotely using a data-processing object in a communications network

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148346A (en) * 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
US6192415B1 (en) * 1997-06-19 2001-02-20 International Business Machines Corporation Web server with ability to process URL requests for non-markup language objects and perform actions on the objects using executable instructions contained in the URL
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US6505243B1 (en) * 1999-06-02 2003-01-07 Intel Corporation Automatic web-based detection and display of product installation help information
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
US6477580B1 (en) * 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US6766361B1 (en) * 2000-02-24 2004-07-20 Cephire Technologies, Inc. Machine-to-machine e-commerce interface using extensible markup language
US20020062287A1 (en) * 2000-09-26 2002-05-23 Katz James S. Peripheral device detection and notification
CN1156751C (zh) * 2001-02-02 2004-07-07 国际商业机器公司 用于自动生成语音xml文件的方法和系统
US6768994B1 (en) * 2001-02-23 2004-07-27 Trimble Navigation Limited Web based data mining and location data reporting and system
US20030061333A1 (en) * 2001-05-04 2003-03-27 Stephen Dean System and method for universal networked device management
US6957347B2 (en) * 2001-05-25 2005-10-18 International Business Machines Corporation Physical device placement assistant
US7600222B2 (en) * 2002-01-04 2009-10-06 Microsoft Corporation Systems and methods for managing drivers in a computing system
US7389516B2 (en) * 2003-06-19 2008-06-17 Microsoft Corporation System and method for facilitating interaction between a computer and a network scanner
US20050257218A1 (en) * 2004-05-11 2005-11-17 Hong-Jih Lin Method for automatically downloading and installing driver of peripheral
US20050257226A1 (en) * 2004-05-14 2005-11-17 Microsoft Corporation PnP functionality for unsupported devices
JP4334426B2 (ja) * 2004-07-09 2009-09-30 シャープ株式会社 Uiコンテンツ生成方法、uiコンテンツ生成装置及びuiコンテンツ生成システム
US20060130151A1 (en) * 2004-12-14 2006-06-15 Chao-Hung Wu Web camera identification system and method
US20070150816A1 (en) * 2005-12-22 2007-06-28 Innopath Software, Inc. User interface authoring utility for changing user interface elements on wireless devices
US20070180445A1 (en) * 2006-01-30 2007-08-02 Microsoft Corporation Download Service For Device Drivers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1197859A1 (en) * 2000-10-10 2002-04-17 Canon Kabushiki Kaisha Method and device for remotely using a data-processing object in a communications network

Also Published As

Publication number Publication date
WO2009148742A3 (en) 2010-02-04
CN102047239A (zh) 2011-05-04
EP2281243A4 (en) 2012-10-10
US20090300658A1 (en) 2009-12-03
EP2281243A2 (en) 2011-02-09
US8176499B2 (en) 2012-05-08
WO2009148742A8 (en) 2010-09-30
WO2009148742A2 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
CN102047239B (zh) 定义、分发以及呈现设备体验
CN108595970A (zh) 处理组件的配置方法、装置、终端及存储介质
JP5756567B2 (ja) ハードウェアベースの信頼のルート内でメタデータに基づき動的且つリアルタイムに広告を挿入する方法および装置
US8417640B2 (en) Secure license key method and system
CN105745660B (zh) 用于在客户机设备上支持多个数字权利管理协议的技术
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
CN101771541B (zh) 一种用于家庭网关的密钥证书生成方法和系统
CN108475319A (zh) 装置出生凭证
JP2004517377A (ja) デジタル資産の制御及び管理
CN105101147B (zh) 一种实现移动app的定向流量的方法和系统
CN111241559A (zh) 训练模型保护方法、装置、系统、设备和计算机存储介质
CN107545188B (zh) 应用的管理方法、装置及系统
CN107342966B (zh) 权限凭证发放方法和装置
CA2565508C (en) Secure license key method and system
CN109547198A (zh) 网络传输视频文件的方法与系统
CN102694795B (zh) 一种在离线情况下使用应用服务的方法
CN111934873A (zh) 一种投标文件加解密方法及装置
CN112199622A (zh) 页面跳转方法、系统及存储介质
CN116781292A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN116980179B (zh) 数据资产数据的安全应用方法、装置、数据资产管理系统及计算机可读存储介质
CN106130951B (zh) 一种应用商店服务管理方法和装置
KR100784300B1 (ko) 통합 디지털 콘텐츠 권한 관리 시스템 및 그 방법
CN114266060A (zh) 一种模型容器加密与部署方法
CN106156625A (zh) 一种插件签名的方法及电子设备
CN113468584A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.