CN101978369A - 计算环境表示 - Google Patents
计算环境表示 Download PDFInfo
- Publication number
- CN101978369A CN101978369A CN2009801106763A CN200980110676A CN101978369A CN 101978369 A CN101978369 A CN 101978369A CN 2009801106763 A CN2009801106763 A CN 2009801106763A CN 200980110676 A CN200980110676 A CN 200980110676A CN 101978369 A CN101978369 A CN 101978369A
- Authority
- CN
- China
- Prior art keywords
- computing environment
- resource
- equipment
- hierarchies
- user
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
计算环境可被表示为可部署对象分层结构,该可部署对象分层结构可根据通常在计算环境主机和被配置成呈现该计算环境的设备之间共享的对象分层架构来组织。详细地呈现了用于表示计算环境的特定对象分层架构,其中该计算环境中的许多对象被建模为可区别定址的资源(例如,在具有REST特性(RESTful)的对象分层结构中)。呈现许多类型的对象及其属性以阐明示例性对象分层架构并示出示例性对象和根据该架构来组织的对象分层结构。各种对象分层架构的其他特性包括可扩展性、可部署性以及具有各种优点的对象定址模型。
Description
背景
许多计算环境都包括由一组对象系统管理的大型且不同的对象集合。例如,计算环境可包括由文件系统管理的文件集合、由数据库系统管理的一个或多个数据库、表示应用程序并由汇编高速缓存管理的可执行二进制代码集合、由操作系统的用户简档组件管理的用户简档集合、以及由数据高速缓存组件管理的各种数据高速缓存,如由操作系统的复制缓冲器管理的复制项的集合、由操作系统的撤消组件管理的撤消动作的集合、以及由操作系统的项使用跟踪组件管理的“最近使用”项的集合。此外,可以在由一个或多个用户操作的多个设备之间并且根据一个或多个操作(例如,归并两个对象集的对象同步操作以及调整目标对象集以与源对象集相匹配的对象镜像操作)来交换这些对象。以此方式,这些对象通过一组对象系统来松组织并聚集以表示计算环境。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。
将计算系统内的对象组织成一组脱节的、松聚集的对象系统可以造成若干问题。例如,可能难以通过各种设备向用户呈现一致的计算环境,尤其是在这些设备能力不同的情况下(例如,高性能个人工作站、基于浏览器的公共终端、以及低性能蜂窝电话设备)。作为另一示例,将诸如同步和备份等服务应用于对象可涉及与每一对象系统进行接口以影响由此管理的对象,并且这样的接口可以随对象系统而变化。作为第三示例,使一组不同的对象相关(诸如所有对象构成一应用程序)可能由于管理对象系统的不完全协作而是困难的。
用于表示构成计算环境的对象的一种替换技术涉及在可由计算环境主机来主存的对象分层结构中组织这些对象。如果对象是由对象系统以统一的方式表示并以一致的方式来管理的,则可以设计一组服务以应用于计算环境的所有对象。此外,对象分层结构可被传递到各个设备以表示同一计算环境(包括相同的用户简档、应用程序、数据文件等),并且每一设备可以用一致的方式来呈现该计算环境,但基于该设备的能力(例如,用于从附连到工作站的键盘设备接收数据输入的硬键盘接口,以及用于从蜂窝电话设备接收数据输入的触摸屏软键盘接口)来定制该计算环境。
此处所呈现的是一种这样的表示,其中对象分层结构根据对象分层架构来结构化,该对象分层架构定义一组各种类型的资源,诸如应用程序、包括一组活动的活动集合、以及包括一组用户简档的用户简档集合。根据此处所指定的对象分层架构的对象组织可提供胜于这些对象的其他表示和组织的某些优点。例如,此处所呈现的对象表示服从用特定种类的元数据来标记,并且这些元数据可以类似地与不同种类的对象(诸如应用程序、数据文件和设备)相关联以启用域专用元数据。如此处所描述的那样安排的对象还可方便各种对象集在各种设备上的映射,这可准许计算环境相对于不同用户和设备的合乎需要的适应。这些和其他好处可通过此处所指定的对象分层架构来实现,这些好处可通过由对象分层结构来表示并由具有不同能力的设备来呈现的计算环境来展示。
为实现上述和相关目的,以下描述和附图阐述了各个说明性方面和实现。这些方面和实现仅指示可使用一个或多个方面的各种方式中的一些。结合附图阅读以下详细描述,则本发明的其他方面、优点、以及新颖特征将变得显而易见。
附图描述
图1是计算环境主机与各计算环境呈现设备的示例性交互的图示。
图2是示例性对象分层架构对象集的图示。
图3是示例性对象分层架构的图示。
图4是示出表示计算环境的示例性方法的流程图。
图5是示例性对象分层结构的图示。
图6是用于存储对象分层结构的对象的三种示例性存储技术的图示。
图7是可以与对象分层架构的对象类型相关联的一组附加对象属性的图示。
图8是包括被配置成实现此处所阐述的装置中的一个或多个的处理器可执行指令的示例性计算机可读介质的图示。
图9示出了其中可实现此处所阐述的装置中的一个或多个的示例性计算环境。
详细描述
现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了公知的结构和设备以便于描述所要求保护的主题。
现代计算机系统包括大量且各种对象。许多计算机系统表征文件存储,该文件存储包含用于配置该计算机系统的文件(包括可执行文件、类库、配置信息集和资源)以及由一个或多个用户生成或接收的用户文件。许多计算机系统还包括包含计算机系统硬件和软件的各种各样的配置信息,包括计算机系统的硬件和设备、操作系统、外壳用户界面、以及该外壳用户界面中可用的应用程序的配置。还可存储各种用户简档和帐户,前者包括描述特定用户或用户类的信息(姓名、外壳用户界面偏好、主目录等),而后者包括描述用户或类的特权(文件所有权、读/写特权、对各种设备的访问权等)的信息。诸如口令、证书、公钥/私钥对、以及访问控制列表等受保护的安全信息可被存储在安全对象中,操作系统可对该安全对象施加管制访问。可以存在一个或多个数据高速缓存,诸如浏览器高速缓存和历史、应用程序或浏览器文本框中的最近输入、以及最近使用的文件和对象列表。各种应用程序可创建应用程序或任务专用档案,诸如包含各种文件夹和消息的电子邮件档案以及包含由各个系统用户从各个源接收到的并在用户定义的组中组织的联系人信息的共享地址簿。最后,计算机系统可被配置成与其他计算机、用户和设备交换特定信息集,诸如要同步的对象以及可以在各种条件下授予对其的访问权(读/写特权、所有权、定额等)的对象集。这些对象类型通常由各种管理系统(例如,文件系统、系统注册表存储、用户帐户管理系统、以及电子邮件系统)在计算机系统中以特别方式来管理,但访问方法或对象组织的一致性或标准化极少。
将计算系统内的对象组织成一组脱节的、松聚集的对象系统可以造成若干问题。作为第一示例,呈现并维护包括一组一致的对象(诸如文件、应用程序、用户简档、应用程序配置、数据高速缓存等)的一致的计算环境可能是非常困难的,尤其是在诸如个人工作站、公共终端和蜂窝设备等具有不同能力的设备之间。作为第二示例,将服务应用于对象可能由于将不同的对象存储在多个对象系统中而复杂化。例如,定位匹配特定描述的对象(诸如在特定时间跨度内最后一次修改的对象)可涉及通过一个或多个文件系统来查询匹配的文件、通过数据库系统来与数据库记录进行匹配、通过系统注册表来与注册表键进行匹配、通过汇编高速缓存来与应用程序进行匹配、通过各种数据高速缓存来与数据高速缓存项进行匹配等。因为这些对象系统通常以非标准方式存储相关联的对象,诸如按照特定于对象性质的参数(例如,通过文件系统日志来检查文件记录,以及通过数据专用时间戳来检查数据库记录),所以对各种对象中的每一个应用操作可能是困难的。作为第三示例,因为每一个对象系统都被配置成管理特定种类的对象,所以混合各种类型的对象并使其相关可能困难的。例如,应用程序可包括存储在汇编高速缓存中的可执行二进制代码、存储在系统注册表中的某些配置信息、存储在文件系统中的补充文件(诸如各种语言的字典)、以及存储在数据高速缓存中的事件(诸如最近编辑的文档)。可能难以表示各种系统中的这些对象类型的关联,并且一起操纵所有这些对象(例如,删除所有这些对象以卸载应用程序)。作为第四示例,计算机系统的对象集可以分布在若干设备上,并且提供对这些对象集的一致访问可能由于设备的各种配置、每一个设备的物理能力、以及每一个设备用来交换数据的线格式的不兼容性(例如,第一设备可被配置成根据XML架构来交换数据,而第二设备可被配置成根据JSON来交换数据)而复杂化。
可设计一种替换方法,其中计算环境以可被传递至设备的方式来表示以便根据设备的能力来呈现。该表示包括根据对象分层结构来组织并根据共同语法来表示的一组对象。这些对象包括计算机系统的数据对象,诸如用户文件和用户创建的数据。这些对象还包括构成操作系统组件的可执行二进制代码和类库,诸如外壳以及其中提供的应用程序。该对象还包括指定计算环境的用户界面的信息,包括外壳偏好(例如,视觉主题、应用程序启动菜单、以及双击阈值)、用户帐户及特权、安全信息(例如,口令、安全令牌、以及证书)、应用程序二进制代码和配置信息、用户数据和元数据(例如,文件共享信息)、以及数据高速缓存(例如,最近使用的文件列表和浏览器历史)。尽管这些对象具有各种性质和用途,但这些对象在对象分层结构中是以共同的方式来表示的,并且可在该分层结构中任意组织。因此,与包括各自包含一种类型的对象的一组隔离数据存储(例如,包含文件的文件系统、包含配置信息的注册表、以及包含浏览器历史的数据高速缓存)的先前的系统相反,该方法中的对象分层结构在对象分层结构中以共同的方式组织所有这些对象。
以此方式表示的计算环境可被传递到任何设备并以适于该设备的能力的方式来呈现。例如,工作站可作为稳健且通用的计算环境来呈现信息,而公共工作站可以通过web浏览器呈现不同的计算环境体验(例如,作为可在用户的会话结束时丢弃的虚拟机),并且蜂窝电话可提供具有对蜂窝电话相关信息(例如,联系人、日历、以及导航数据)的更快访问的更瘦的界面。此外,对该信息集的更新(例如,偏好改变和对其中包含的数据文件的更新)可被应用于该信息集的规范源,并且因此被传播到该信息集被传递到的所有其他设备。同样,共享该计算环境的设备可以通过该共享信息集来集成,使得一个设备可以与在该信息集中标识的其他设备进行交互;例如,存储在第一设备上的数据可由第二设备访问,并且第一设备可由第二设备通过通信管道来控制。该信息集因此可以标识共享该计算环境的设备的集合,以及每一设备的角色、能力、以及资源,以便跨可能大量且各种设备来提供集成计算体验。
图1示出一个这样的场景10,其中计算环境可由计算环境主机12主存,计算环境主机42可以存储并管理对象分层结构14。计算环境主机12还可以代表各种设备(如蜂窝电话设备16、个人笔记本计算机20、以及公共工作站24)并且还代表具有不同访问特权的不同类型的用户,以不同的方式呈现对象分层结构14。该计算环境的呈现因此反映了跨展示相同的应用程序、用户简档、外壳配置、用户数据对象等的所有设备的一致计算环境。因此,用户可以通过高性能笔记本计算机访问该计算环境的全特征版本22、在低功率蜂窝电话设备16上访问该计算环境的精简版本18、以及通过公共终端24的web浏览器146访问该计算环境的可兼容浏览器并且面向隐私的版本28。在每一这样的设备的能力支持该计算环境的呈现的程度上,由于根据每一设备的能力调整了对象分层结构14的呈现,所以可以呈现一致的用户界面和数据集。对计算环境的更新可以传播回计算环境主机12,并且可以与其他设备自动进行同步。各设备还可以通过与其他设备共享存储在本地的数据并且通过控制其他设备或由其他设备控制来进行协作。因此,可将该计算环境设计并呈现为云计算体系结构,包括表达为跨形成同一计算环境的各协作门户(具有设备专用属性)的网格的所有设备(“客户机”)的一致呈现的设备无关表示(“云”)。此外,计算环境主机12可以将服务应用于构成对象分层结构14的各个对象,并且将对象存储在该对象分层结构中的共同格式可以便于这些服务的一致可用性和应用,而不论向其应用这些服务的对象的性质如何。
除这些目的之外,对象分层架构可被设计成以特定方式来组织该对象分层结构的各个对象。例如,可以设计并结构化各个对象以表示数据对象(如,文件)、用户和用户帐户、设备和该计算环境中发生的事件、以及来历、所有权、以及它们之间的相互关系。相对于对象的其他组织而言,组织对象的这一方式可以产生特定优点和/或减少缺点。因此,根据其来组织对象的该对象分层架构是鉴于这些对象和计算环境的使用来设计的。例如,可以通过将各个对象与具有各种许可集合的一个或多个用户帐户(例如,第一用户帐户具有对一对象的读/写许可,第二用户帐户具有对该对象的只读许可,并且第三用户帐户没有对该对象的许可)相关联来对安全许可建模。计算环境可被配置成根据对象分层架构的结构和语义来利用该对象分层结构的对象,从而允许以适用于每一设备的配置和能力但以其他方式在所有这样的设备之间一致的方式来跨多个设备呈现可部署计算环境。
可以理解,对象分层架构的制定可以显著地影响设备和主存计算环境的服务器的配置。作为一个示例,设备可以只请求计算环境的一部分(例如,蜂窝电话设备可以请求对象分层架构中包含诸如电话号码和电子邮件地址等一组联系人信息的部分),并且服务器可以只提供该部分;然而,如果该设备和服务器按不同的对象分层架构来操作,则请求可能失败。例如,设备可能根据第一对象分层架构来请求对象分层结构的特定部分(例如,/联系人),但服务器可根据第二对象分层架构来将这一信息存储在该对象分层结构的不同部分(例如,/地址簿/联系人)中,并且因此可能无法提供所请求的信息,即使在该服务器主存的对象分层结构中存在联系人信息。作为第二示例,服务器能够根据任何对象分层架构来存储对象分层结构,但可被更有利地配置成利用对象分层结构的一部分,同时向其提供服务,并且因此可以期望找出在对象分层结构中根据特定对象分层架构来定义和组织的对象。例如,响应于设备接收对象分层结构的请求,服务器可尝试使用存储在对象分层结构中的认证信息来认证该设备。由此,该服务器可被更容易地配置成根据特定对象分层架构来主存对象分层结构,以使其还可访问和利用存储在该对象分层架构中的信息,同时提供与该分层架构相关的服务。
鉴于上述原理,此处所呈现的是一种这样的对象分层架构,其中对象以方便服务器对计算环境应用服务以及计算环境到可以按一致但设备专用的方式呈现该计算环境的设备的可部署性的特定方式来定义和互相关。此处所描述的对象分层架构被呈现为一组已定义的对象,每一个定义都表示计算环境中的特定类型的数据对象(例如,用户简档、应用程序和设备)并且具有与其相关的特定属性。某些对象被定义为专门类型的其他对象,例如,通用“个人”对象类型可被扩展为表示“用户”对象类型,该对象类型可以是具有表示这个人在计算环境中的特权的附加信息的一个人。另外,某些对象被定义为用于一个或多个其他对象的容器,诸如包含一个或多个“人”对象类型的“人集合”对象类型。此外,此处所呈现的对象分层架构定义了此处在对象分层结构中定义的对象的分层组织;即,特定对象类型将被存储在对象分层结构中的特定位置,以使得在该对象分层结构中搜索这些对象的任何设备或计算机系统都将在该对象分层结构中的已知、所确定的位置找到存在于该计算环境中的任何事物。
图2示出了对象分层架构的对象类型以及这些对象类型之间的扩展相互关系。在该附图中,对象关系示出了对象之间的专门化,例如,“动物”对象类型可能被专门化为“哺乳动物”对象类型,该“哺乳动物”对象类型可被进一步专门化为“猫”对象类型。此处讨论关于对象分层架构中的每一个对象的属性的细节,但该附图是作为对此处所呈现的对象分层架构中所包含的数据对象的类型的概览来呈现的。
图2的对象分层架构对象集30包括资源对象类型32,该资源对象类型表示存储在该对象分层结构中的基本数据对象。资源对象类型32表示对象分层架构中用于提供对象分层结构中的可区别定址的位置的可定址对象;即,对于对象分层结构中的特定地址,在该对象分层结构中只有一个对象对应于该位置。在对象分层架构的某些实施例中,资源只可由一个地址来标识,而在对象分层架构的其他实施例中,资源可以在多个地址处标识。然而,在任一这样的实施例中,对象分层结构中的单个地址可以与最多一个对象相关联。
图2的对象分层架构对象集30中的资源对象类型32用作对于许多其他对象类型的基础对象类型。这些对象类型中的若干对象类型对应于有时被设计为常规计算环境中的一个或多个文件的对象。作为第一示例,对象分层架构对象集30包括核心对象对象类型34、该对象类型是包括位于对象分层结构的根处的一组对象的专门类型的资源。对象分层架构对象集30还包括应用程序对象类型36,该对象类型是表示代表安装在计算环境中的应用程序的对象的专门类型的资源。许多其他对象可以与应用程序对象类型相关联,诸如标题、应用程序图标、以及一个或多个可执行二进制代码。对象分层架构对象集30还包括数据条目对象类型38,该对象类型是表示诸如应用程序二进制代码、文档、一组应用程序配置信息、图像等原子数据单元的容器的专门类型的资源。对象分层架构对象集30还包括新闻项对象类型40,该对象类型是表示计算环境中的值得注意的事件的专门类型的数据条目对象。
资源对象类型还可用作对于其他对象类型的基础对象类型。作为一个示例,对象分层架构对象集30还包括数据订阅源对象类型43,该对象类型是表示诸如构成专辑的一组歌曲(例如,MP3对象)或构成照片相册的一组照片图像等相关数据条目的集合的专门类型的资源。对象分层架构对象集30还包括活动对象类型44,该对象类型是表示诸如对象创建、用户登录、以及计算环境中的设备添加等最近发生在计算环境中的事件的专门类型的资源。(可以理解,活动表示诸如复制文本的一部分等在计算环境的普通过程中发生的、用户可能只是短暂地感兴趣的较不重要的事件,而新闻项表示诸如创建照片相册等用户可能长期感兴趣的较重要的事件。)对象分层架构对象集30还包括成员对象类型46,该对象类型是表示核心对象和与该核心对象相关的用户之间的关系(例如,通过所有权或许可集)的专门类型的资源。对象分层架构对象集30还包括设备对象类型48,该对象类型是表示授权向其传送对象分层结构的至少一部分,并且授权在其上呈现所表示的计算环境的至少一部分的设备的专门类型的资源。对象分层架构对象集30还包括映射对象类型50,该对象类型是表示设备(即,设备对象)和可被传递至该设备的核心对象之间的关系的专门类型的资源。对象分层架构对象集30还包括简档对象类型52,该对象类型是表示计算环境的至少一部分中的授权用户的用户简档的专门类型的资源。这些对象类型基于资源对象类型32,并且这些对象类型的对象以与诸如文档和图像等更常规的对象类型相似的可定址且可访问的方式被包括在对象分层结构中。
对象分层架构对象集30还包括未从资源对象类型32中专门化的对象类型。这些对象被包括在对象分层架构中,但可以不作为可根据对象分层架构30的定址模型来定址的条目来包括。相反,这些对象可包括其他对象的可访问成员,或者对象分层架构的被封装在对象分层架构30的定址模型之外的对象中的专门特征。作为一个示例,对象分层架构对象集30包括网格对象类型54,该对象类型包括关于整个对象分层结构的信息。通常,单个网格对象可以与特定对象分层结构相关联,但该关联的变体可被包括在对象分层架构的其他实施例中。对象分层架构对象集30还包括存储服务对象类型56,该对象类型表示对象分层结构的一部分(例如,一个或多个核心对象)位于其上的存储设备。对象分层架构20还包括资源集合对象类型58,该对象类型表示特定对象类型的资源的集合。例如,设备对象可通过一个或多个相应的映射对象来与一个或多个核心对象相关联,该映射对象可包括与该设备相关联的映射对象的资源集合。类似地,计算环境的用户简档可被表示为与对象分层结构的网格单元素对象相关联的简档对象的资源集合。对象分层架构20还包括描述特定用户的身份对象类型60,例如,给予计算环境中的用户的许可。对象分层架构20还包括角色对象类型62,该对象类型根据特定类型的角色(例如,所有者、读者和贡献者)来将成员对象与核心对象相关。
总而言之,图2所示的对象类型构成对象分层架构的重要部分,并且计算环境中的许多对象可根据这些互相关的对象类型来表示。鉴于这些对象类型和包括这些对象类型的对象的对象分层结构,图3示出了对象分层架构70的结构,其中从第一对象到第二对象的单箭头指示该第一对象与该第二对象的关系。同样,在图3中,从第一对象到第二对象的双箭头指示该第一对象是该第二对象所指示的类型的一个或多个对象的集合。例如,网格对象72与设备集合78相关(如单箭头所示),该设备集合78包含设备对象80的集合(如双箭头所示)。可以理解,图2的对象分层架构对象集30示出了对象类型的专门化(例如,第一对象是第二对象的专门类型),而图3的对象分层架构70示出了这些对象类型的对象在对象分层结构中的组织(例如,第一对象与一个或多个第二对象相关)。
图3呈现了此处所描述的包括网格对象72的示例性对象分层架构70,在该示例性对象分层架构70中,该网格对象包括描述计算环境的单元素对象。网格对象72与六种类型的对象和对象集合相关。首先,网格对象72与简档对象74相关,在该示例性对象分层架构70中,简档对象74包括表示当前用户的简档的单元素对象。网格对象72还与存储服务集合76相关,该存储服务集合76包含表示可以存储对象分层结构的各部分的不同位置的零个或更多存储服务对象78。(可以注意到,存储服务集合76和存储服务78两者都不被称为“资源”,因为这些对象不基于资源对象类型32。)网格对象72还与应用程序资源集合80相关,该应用程序资源集合80包含表示在对象分层结构所表示的计算环境中可用的应用程序的零个或更多应用程序资源对象82。网格对象72还与设备资源集合76相关,该设备资源集合76包含表示其上可呈现计算环境的至少一部分的设备的零个或更多设备资源对象84。最后,网格72还与核心对象资源集合92相关,该核心对象资源集合92包含包括位于对象分层结构的根处的一组对象的零个或更多核心资源对象94。
如在图3的示例性对象分层架构70中进一步示出的,核心资源对象94与四个对象集合相关。首先,核心资源对象94与包含至少零个映射资源对象98的映射资源集合96相关。映射资源对象98表示核心资源对象94与其上可呈现核心资源对象98的设备的关系;因此,各个映射资源对象98与至少一个设备资源对象86相关。核心资源对象94还与活动资源集合100相关,该活动资源集合100包含表示诸如各种更改等相对于核心资源对象94发生的较不重要的事件的零个或更多活动资源对象102。核心资源对象94还与成员资源集合106相关,该成员资源集合106包含表示被给予对核心资源对象94的各种访问级别的用户的一个或多个成员资源对象106。各个成员资源对象106与一个或多个身份对象108相关,该身份对象108提供关于成员资源对象106所表示的成员的附加信息。最后,核心资源对象94还与数据订阅源资源集合110相关,该数据订阅源资源集合110包含表示各种相关数据条目的集合(例如,相关用户对象的集合,诸如音乐专辑中的歌曲)的零个或更多数据订阅源资源对象112。数据订阅源资源对象112分别与数据条目资源对象116的数据条目资源集合114相关。数据订阅源资源对象112还与角色对象120的角色集合118相关,角色对象120表示扩展到各个用户的相对于数据订阅源资源对象112的访问特权;因此,角色对象120与表示拥有这些角色的用户的一个或多个成员资源对象106相关。
图3的示例性对象分层架构70因此以表示构成典型的计算机系统的各种且各式各样的数据对象的方式呈现了图2所示的对象类型的示例性组织。对象分层结构(诸如图1的场景10中的示例性对象分层结构14)可以依照示例性对象分层架构70来建模,并且可由服务器(诸如计算环境主机12)来主存,该服务器可对对象分层结构14中的对象应用一组服务以更改和维护计算环境。对象分层结构14还可被部署到被配置成接收依照图3的示例性对象分层架构70来建模的对象分层结构的一个或多个设备(诸如蜂窝电话设备16、个人笔记本计算机20、以及公共工作站24),并且因此可呈现由此以一致的方式表示的计算环境。
可以理解,对象分层架构的制定可用于创建表示计算环境的对象分层结构的实例。因此,图4示出了表示计算环境的示例性方法130,其中该示例性方法130涉及将计算环境表示为根据诸如图3的示例性对象分层架构70等对象分层架构来组织的对象分层结构。图4的示例性方法130在132处开始并涉及将计算环境表示134为包括描述计算环境的网格对象的对象分层结构。该网格对象进而包括至少一个简档资源对象;存储服务对象的存储服务集合;应用程序资源对象的应用程序资源集合;设备资源对象的设备资源集合;新闻项资源对象的新闻项资源集合;以及核心资源对象的核心对象资源集合。各个核心资源对象进而包括将核心对象相关到至少一个设备对象的映射资源对象的映射资源集合;活动资源对象的活动资源集合;将核心对象相关到至少一个身份对象的成员资源对象的成员资源集合;以及数据订阅源资源对象的数据订阅源资源集合。最后,各个数据订阅源资源对象包括数据条目资源对象的数据条目资源集合,以及将数据订阅源资源对象相关到核心资源对象的成员资源对象的角色资源对象的角色资源集合。通过以此方式组织对象分层结构中的对象并使其相关,该示例性方法以可部署的方式获取计算环境的表示,并由此在136处结束。
图5示出了基于图3的示例性分层架构70并利用图2的对象分层架构对象集30中所示的对象类型的示例性对象分层结构140。示例性对象分层结构140包括包含表示当前用户的简档资源对象144的网格对象142;表示用于存储示例性对象分层结构140的存储服务(诸如计算环境主机和蜂窝电话设备)的存储服务集合146;表示计算环境中可用的应用程序集(诸如日历应用程序和计算器应用程序)的应用程序资源集合148;表示一起构成计算环境的设备(诸如工作站计算机系统和蜂窝电话设备)的设备资源集合150;以及描述发生在计算环境中的值得注意的事件(诸如新照片相册的创建和音乐专辑的添加)的新闻项资源集合152。网格对象142还包含核心资源对象集合154,该核心资源对象集合包含表示一组照片相册的第一核心资源对象156以及表示一组音乐专辑的第二核心资源对象166。第一核心资源对象156包含表示相对于第一核心资源对象156发生的较不重要的事件的活动资源集合、表示被给予对第一核心资源对象156的各种访问级别的成员的成员资源集合、以及将第一核心资源对象156相关到可通过其访问第一核心资源对象156的设备的映射集合。第一核心资源对象156还包含数据订阅源资源集合,该集合包括表示照片相册集合中的照片相册的数据订阅源资源对象158。数据订阅源资源对象158进而包含包括照片相册中的照片的数据条目资源集合162、以及表示成员相对于照片相册的各种角色(第一成员所拥有的“所有者”角色以及第二成员所拥有的“贡献者”角色)的角色资源集合164。类似地,第二核心资源对象166包含活动、成员、映射和数据订阅源的集合,包括表示具有表示音乐专辑中的各首歌曲的数据订阅源资源对象170的音乐专辑的数据订阅源资源集合172,以及表示可访问音乐专辑的成员的角色资源集合174(包括第一成员所拥有的“所有者”角色以及第二成员所拥有的“收听者”角色)。
如此处所讨论的那样设计的对象分层架构(诸如图3的示例性对象分层架构70)可以用许多方面的变体来实现。某些变体可呈现增加的优点和/或相对于这些和其他技术的其他变体减少缺点。在这些技术(诸如图4的示例性方法130)的各实施例中,这些变体可单独地或结合其他变体来包括以促进这些增加的优点和/或减少的缺点。
可随这些技术的实现而变化的第二方面涉及存储根据对象分层架构来组织的对象分层结构中的对象的方式。此处所描述的对象分层架构可以在对象分层结构的许多模型中实现。某些示例性实施例在图6中示出,这些实施例各自示出了表示人(具有属性“名”和“姓”)、设备(具有属性“设备ID”)和应用程序(具有属性“标题”和“二进制代码”,后者包括可执行二进制代码的内容)的对象的存储。作为第一示例180,对象分层架构可以用诸如C#等面向对象语言来表现为对象集,其中对象通过又被定义为已命名属性和方法的明确类型的集合的类来实例化。在该模型中,可定义一组类,并且可从每一个类实例化对象以表示由该类建模的对象类型的实例。例如,类类型可被定义为表示人,并且该类可被实例化为表示第一人(“David Smith”)的第一类实例(“人1”)以及表示第二人(“John Lee”)的第二类实例(“人2”)。作为第二示例190,对象分层架构可被表现为存储在诸如关系型数据库等数据存储中的一组对象。每一种类型的对象都可被存储在根据对象的属性来结构化的特定关系型表中。例如,表可被结构化为存储各个人的表示,并且可包含表示第一人(“David Smith”)的第一记录(“人1”)以及表示第二人(“JohnLee”)的第二记录(“人2”)。作为第三示例200,对象分层结构中的对象可依照对象分层架构中的对象来建模,但可以按提供属性名称和值的字典的结构不可知方式来存储。可利用元组系统,其中任何名称的对象都可被声明为任意一组键/值元组。例如,人的表示可作为表示第一人(“David Smith”)的第一二元组(“人1”)以及表示第二人(“John Lee”)的第二二元组(“人2”)来存储。对象分层架构的这些和其他实施例可由本领域普通技术人员设计,同时实现此处所讨论的技术。
可随这些技术的实现而变化的第二方面涉及以促进这些对象类型的可扩展性和/或新对象类型的添加的方式来制定对象分层架构。图2所示的对象类型可以完全足以表示计算环境中的许多或所有对象。然而,图2所示的示例性对象分层架构对象集30并非作为可以定义并结合在对象分层架构中的对象类型的穷尽列表来呈现。对象分层架构的各实施例可包括和定义从图2所示的对象类型中专门化的、作为对图2所示的对象类型的补充和/或次要更改的其他对象类型。此外,对象分层架构的某些实施例可准许将其他类型的对象存储在由此组织的对象分层结构中。对象分层架构因此可被设计成可扩展对象系统,其中对象可以在对象分层结构中根据新对象类型来创建,并且对象类型可被扩展成具有新属性。作为第一示例,全新类型的对象可由各个用户设计并被插入到对象分层结构中。作为第二示例,用户可能希望将元数据与对象相关联以指示对象具有语义关系。该元数据可以用对用户有价值的信息来补充对象分层结构中的对象,并且对象分层架构可以按元数据不干扰对象分层结构中的对象的表示的方式来设计。
为了促进对象分层架构的可扩展性,对象分层结构中的各个对象可根据可递归基本表示格式来指定和存储,其中对象的分量可以按基本方式表示。例如,可以认识到,对象通常包含三种类型的数据元素:原子(单个数据单元,诸如数字或字符)、记录(一起操作的单个数据单元的集合)以及序列(元素的聚集)。记录一般表示不可分割地一起用作表示的一组元素,诸如数字7、4和1776一起表示日期1776年7月4日;而序列表示一组可分割项目,诸如2、3、5和7构成质数的子集。此外,可以递归地设计语法,这可准许嵌套特定种类的元素(例如,序列的序列、或包含作为记录的一个元素的序列的记录)。通过以此方式组织对象,对象分层架构可准许表示已知对象类型(诸如图2所示的那些对象类型)的对象以及表示未知对象类型的对象,以及用诸如用户定义的元数据等新信息来扩展已知对象类型。本领域的普通技术人员能够设计许多可扩展对象分层架构及其格式,同时实现此处所讨论的技术。
可随这些技术的实现而变化的第三方面涉及可用于标识对象分层结构中的对象的定址模型。可以有利地选择该定址模型以反映构成对象分层结构的对象的分层安排(即,如果第一对象在分层结构上从属于第二对象,则第一对象的地址在分层结构上从属于第二对象的地址)。还可以有利地选择定址模型以便为每一个地址指定最多一个对象,并且使得对象保持可以在特定地址处定址直到且除非对象改变在对象分层结构中的位置或被移除。在对象分层架构的某些实施例中,可设计定址模型以使得各个对象在单个地址可用,以使得在第一地址可用的第一对象与在第二地址可用的第二对象相比是事实上的不同对象。在对象分层架构的其他实施例中,对象可以在两个或更多地址处访问。作为一个示例,对象可以具有对象分层结构中的分层地址,也可具有可用于区别地标识对象而不管其在对象分层结构中的位置的全局区别地址。例如,对象分层结构中的对象可被分配全局唯一标识符(GUID),并且可根据对象分层结构中的一个或多个分层地址来访问或者根据其GUID不通过分层结构来访问。由此,表示关于John Lee的联系人信息的对象可以在创建时被指定GUID0xF451D3E0,并且可通过分层结构位置和名称(例如,/联系人/JohnLee)或通过其GUID(例如,/GUID/F451D3E0)来访问。本领域的普通技术人员可设计用于对象分层架构的许多定制模型,同时实现此处所讨论的技术。
可以是有利的一种这样的定址模型涉及为对象分层结构的各个地址定义资源对象类型的最多一个对象的分层定址模型。该定址模型可以适用于包括诸如图2的示例性对象分层架构对象集30所示的对象类型的对象分层架构,其中许多对象类型从基础资源对象类型32导出。从中导出的任何这样的对象可被授予对象分层结构中的单个、分层定向的地址;相反,并非从资源对象类型32导出的对象可能无法通过该定址模型获得。更具体而言,该分层定址模型可根据统一资源标识符(URI)分层定址模型来定义。URI通常根据以下句法来定义:
方案://授权机构/路径/资源名称
其中方案表示通信协议(HTTP、FTP、telnet等),授权机构表示服务器或数据源,而路径表示到分层结构中存在已命名资源的节点的斜杠分隔的路径。基于对象分层架构(诸如图3的示例性对象分层架构70)的对象分层结构的对象能够以此方式定址,诸如:
http://mycomputer.com/Contacts/JohnLee
该定址模型在若干方面可以是有利的。第一,可以此方式定址的对象分层结构可由公共web服务器来主存,即使该web服务器未被专门被配置成存储表示计算环境的对象分层结构中的对象。第二,以方式指定的对象访问可由主要被配置成处理基于URI的请求的联网硬件(例如,防火墙和路由器)来更容易地处理。第三,可以此方式定址的对象分层结构可根据代表性状态传输(“REST”)接口来表示,其中对象分层结构中的对象可通过一组受约束的明确定义的操作来操作;例如,常见HTTP方法(PUT、GET、POST和DELETE)可以完全足以启用用于访问表示计算环境的对象分层结构中的对象的常见动词(创建、读取、更新和删除)。与用于各种对象分层架构的其他定址模型相比,可提供其他优点和/或减少其他缺点。
可随这些技术的实现而变化的第四方面涉及对象分层架构中所定义的已知对象类型的分量。图2所示的示例性对象分层架构对象集30并非作为可以定义并结合在对象分层架构中的对象类型的穷尽列表,也不是作为包括这些对象类型的完整属性集来呈现。图7示出了示例性附加对象属性集210,包括可以与对象分层架构的对象类型相关联的附加对象属性。可以选择(单独地或结合其他附加对象属性)这些附加对象属性以便进一步定义根据对象分层架构来组织的对象分层结构中的对象,这可对于对象分层架构定义具有不同对象属性集的对象类型呈现附加优点和/或减少缺点。
如示例性附加对象属性集210所示,网格对象类型54可以与包括自链接对象和/或标题对象的附加属性相关联,该自链接对象指定网格中的地址(例如,定义网格的服务器或源的部分URI,诸如http://mycomputer.com),标题对象指定对象分层结构和由此表示的计算环境的名称。资源对象类型32和资源集合对象类型58两者都可以与较大范围的属性相关联,包括:标识资源或资源集合的作者的作者集合;指定资源或资源集合中所包含的项目的基地址(例如,基础URI)的基地址对象;指定描述资源或资源集合的某些用户定义的类别的类别集合;指定资源或资源集合的贡献者的贡献者集合;标识对于资源或资源集合的版权声明的版权对象;诸如全局唯一标识符(GUID)等标识对象;标识与资源或资源集合相关的链接(例如,URL)的链接集合;指定资源或资源对象的区别地址(例如,URI)的自链接对象;包含资源或资源集合的文本概述的概述对象;和/或指定资源或资源集合的名称的标题对象。
如在示例性附加对象属性集210中进一步示出的,核心对象类型34可以与包含与该核心对象相关联的一组任意分配的用户数据(例如,域专用元数据)的用户数据对象相关联。应用程序对象类型36可以与以下对象相关联:区别标识应用程序的应用程序标识对象(例如,应用程序名称);标识应用程序的主页的主页位置对象(例如,网站URL);标识对象分层结构中的应用程序的当前版本的安装版本位置(例如,计算器版本1.2.1.1600);标识应用程序清单的位置的清单位置对象(例如,标识对象分层结构中的资源对象的URI,或者标识web可访问应用程序清单的URL);和/或标识在清单位置可用的应用程序清单的版本的清单版本对象。数据条目对象类型38可以与以下对象相关联:指示数据条目对象的分层父对象的父对象标识对象、包含对象同步信息(例如,最新对象同步指示符、该数据条目最后一次与计算环境主机同步的日期和时间等)的同步对象、和/或包含与数据条目相关联的一组任意分配的用户数据的用户数据对象。数据订阅源对象类型42可以与包括一组同步相关活动或新闻项的同步条目集合和/或指示数据订阅源的类型(例如,图像或声音的集合、多媒体文档的组件等)的数据订阅源类型对象相关联。
如在示例性附加对象属性集210中进一步示出的,活动对象类型44可以与描述活动类型(例如,数据条目创建、读取、更新或删除)的活动类型对象、和/或定义活动的最大有用生存期的最大年龄对象相关联,超过该生存期活动可表示不再有用地存储并呈现给用户的过时事件。成员对象类型46可以与以下对象相关联:指示被邀请成为资源或资源集合的成员的一个人是否已接受该邀请的邀请接受指示符对象;指示成为资源或资源集合的成员的邀请是否已期满的邀请期满指示符;指示成员是否是资源或资源集合的所有者的所有者指示符;和/或指示成员相对于资源或资源集合所拥有的角色类型(例如,作者、读者等)的角色类型对象。设备对象类型48可以与描述所表示的设备所属的一般设备类别的设备类型对象和/或指示当前表示计算环境的设备当前是否可访问该设备的设备在线指示符对象相关联。映射对象类型50可以与标识核心资源对象中的映射到设备的特定数据订阅源的数据订阅源映射集合相关联。例如,设备可以通过映射对象类型50的对象来映射到核心对象的子集,但该映射可被限于映射对象的数据订阅源映射集合中所标识的特定数据订阅源。简档对象类型52可以与表示用户姓名的姓名对象和/或表示用户的电子邮件地址联系方式的电子邮件地址对象相关联。最后,角色对象类型62可以与以下对象相关联:标识与角色相关联的许可的创建许可指示符对象、删除许可指示符对象、读取许可指示符对象、和/或更新许可指示符对象、和/或标识该角色的用户所拥有的角色类型的角色类型对象。
图7的示例性附加对象属性210由此示出了可以进一步与对象分层架构中的各种对象类型相关联(单独或组合)的某些对象属性。然而,可以理解,附加对象属性集210并非作为可以与这样的对象分层架构中的各种对象类型相关联的对象属性的穷尽列表来呈现,并且许多其他对象属性可另选地或另外地与各种对象类型相关联。本领域的普通技术人员能够在对象分层架构的各种已知对象类型的定义中包括附加或替换对象属性,同时实现此处所讨论的技术。
此处所讨论的技术的另一实施例涉及包括处理器可执行指令的计算机可读介质,这些指令被配置成执行一种根据对分层结构来表示计算环境的方法。可以用这些方式设计的一种示例性计算机可读介质在图8中示出,其中实现220包括其上编码有计算机可读数据224的计算机可读介质222(例如,CD-R、DVD-R、或硬盘驱动器的盘片)。该计算机可读数据224又包括被配置成根据此次阐述的原理来操作的一组计算机指令226。在一个这样的实施例220中,处理器可执行指令226可被配置成执行一种根据对象分层结构来表示计算环境的方法,诸如图4的示例性方法130。本领域普通技术人员可以设计可被配置成根据此处描述的技术操作的许多这样的计算机可读介质。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等一般旨在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。
图9和以下讨论提供了对用于实现此处所阐述的原理中的一个或多个实施例的合适计算环境的简要、概括描述。图9的操作环境只是合适的操作环境的一个示例,并不旨在对该操作环境的使用范围或功能提出任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
各实施例可以在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述。计算机可读指令可通过计算机可读介质来分发(在以下讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,如函数、对象、应用程序编程接口(API)、数据结构等等。通常,计算机可读指令的功能可按需在各个环境中组合或分布。
图9示出了包括被配置成实现此处所提供的一个或多个实施例的计算设备232的系统230的示例。在一种配置中,计算设备232包括至少一个处理单元236和存储器238。取决于计算设备的确切配置和类型,存储器238可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该配置在图9中由虚线234来示出。
在其他实施例中,设备232可以包括附加特征和/或功能。例如,设备232还可以包括附加存储(例如,可移动和/或不可移动),其中包括但不限于磁存储、光存储等等。这样的附加存储在图9中由存储240示出。在一个实施例中,用于实现此处所提供的一个或多个实施例的计算机可读指令可以在存储240中。存储240还可以储存实现操作系统、应用程序等的其他计算机可读指令。可以在存储器238中加载计算机可读指令以便由例如处理单元236来执行。
此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器238和存储240都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息并且可由设备232访问的任何其他介质。任何这样的计算机存储介质都可以是设备232的一部分。
设备232还可包括允许该设备232与其他设备进行通信的通信连接246。通信连接246可包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外线端口、USB连接、或用于将计算设备232连接到其他计算设备的其他接口。通信连接246可以包括有线连接或无线连接。通信连接246可以发送和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波或其他传输机制等“已调制数据信号”来体现计算机可读指令或其他数据,并包括任何信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
设备232可包括输入设备244,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其他输入设备。设备232中还可包括输出设备242,诸如一个或多个显示器、扬声器、打印机和/或任何其他输出设备。输入设备244和输出设备242可以通过有线连接、无线连接或其任何组合来连接到设备232。在一个实施例中,来自另一计算设备的输入设备或输出设备可用作计算设备232的输入设备244或输出设备242。
计算设备232的组件可以通过诸如总线等各种互连来连接。这些互连可包括诸如PCI Express等外围部件互连(PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等。在另一实施例中,计算设备232的组件可以通过网络互连。例如,存储器238可由位于通过网络互连的不同物理位置的多个物理存储器单元组成。
本领域技术人员会认识到,用于存储计算机可读指令的存储设备可分布在网络上。例如,可以通过网络248访问的计算设备250可以存储实现此处所提供的一个或多个实施例的计算机可读指令。计算设备232可以访问计算设备250并下载部分或全部计算机可读指令来执行。或者,计算设备232可以按需下载计算机可读指令的片断,或者某些指令可以在计算设备232处执行而某些则在计算设备250处执行。
此处提供了各实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以组成储存在一个或多个计算机可读介质上的计算机可读指令,这些指令如果被计算设备执行则使得计算设备执行所描述的操作。描述一些或全部操作的顺序不被解释为暗示了这些操作必须要依赖于顺序。从本说明书获益的本领域技术人员应理解替换的排序。此外,应该理解并非所有的操作都必须存在于此处所提供的每一实施例中。
此外,在此使用词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定被解释为比其他方面或设计有利。相反,使用词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或”意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文可以清楚,否则“X使用A或B”意指任何自然的包括性排列。即,如果X使用A;X使用B;或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。另外,本申请中和所附权利要求书中所使用的冠词“一”和“一个”一般可被解释为是指“一个或多个”,除非另有指定或从上下文可以清楚指的是单数形式。
同样,虽然参考一个或多个实现示出并描述了本发明,但本领域技术人员基于对本说明书和附图的阅读和理解可以想到各种等效替换和修改。本发明包括所有这些修改和替换并且只由所附权利要求书来限定。特别地,对于由上述组件(例如,元素、资源等)执行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。另外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但是这一特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。此外,就在说明书或权利要求书中使用术语“包含”、“具有”、“含有”和“带有”及其变体而言,这些术语旨在以与术语“包括”相似的方式为包含性的。
Claims (15)
1.一种表示计算环境的方法(50),所述方法(50)包括:
在对象分层结构(10)中表示(54)所述计算环境中的对象,各个对象根据可递归基本表示格式来表示。
2.如权利要求1所述的方法,其特征在于,所述可递归基本表示格式包括原子记录的可递归序列。
3.如权利要求1所述的方法,其特征在于,所述对象分层结构被表示为XML。
4.如权利要求1所述的方法,其特征在于,至少一个对象被表示为未扩展节点。
5.如权利要求4所述的方法,其特征在于,所述方法包括:
在接收到扩展未扩展节点的请求时,提供所述未扩展节点的对象。
6.如权利要求1所述的方法,其特征在于:
所述未扩展节点引用包含所述未扩展节点的对象的对象存储,并且
所述方法包括:在接收到扩展引用对象存储的未扩展节点的请求时:
向所述对象存储请求所述对象;以及
在接收到来自所述对象存储的对象时,响应于所述请求来提供所述对象。
7.如权利要求1所述的方法,其特征在于:
所述计算环境被表示到设备,并且
所述表示根据所述设备的能力来调整。
8.如权利要求7所述的方法,其特征在于:
所述设备的能力包括设备存储能力,并且
所述调整包括:用至少一个未扩展节点来表示所述计算环境以将所表示的计算环境的大小限于不超过所述设备存储容量。
9.如权利要求1所述的方法,其特征在于:
所述计算环境被表示给用户,并且
所述表示根据所述用户来调整。
10.如权利要求9所述的方法,其特征在于:
所述计算环境指定所述用户的用户帐户,
所述计算环境指定所述用户帐户对于所述计算环境的对象的访问特权,并且
所述调整包括:用至少一个未扩展节点来表示所述计算环境,所述至少一个未扩展节点表示所述对象分层结构中根据所述用户帐户的访问特权来对所述用户限制的一部分。
11.如权利要求1所述的方法,其特征在于,包括:
将所述计算环境从所述可递归基本表示格式变换成数据交换格式。
12.如权利要求1所述的方法,其特征在于,包括:
将所述计算环境中的对象编组为平台表示格式的至少一个类的实例。
13.如权利要求1所述的方法,其特征在于,包括:
计算环境表示组件,所述计算环境表示组件被配置成:
接收对指定数据交换格式的计算环境的请求;以及
将所述计算环境从所述可递归基本表示格式变换成所述数据交换格式。
14.如权利要求1所述的方法,其特征在于,包括:
查询对象服务;
同步对象服务;以及
报告对象事件服务。
15.如权利要求14所述的方法,其特征在于,包括:
被配置成存储构成所述计算环境的对象的计算环境对象存储(62);
计算环境表示组件(64),所述计算环境表示组件被配置成在对象分层结构(10)中表示所述计算环境的对象,各个对象根据可递归基本表示格式来表示;以及
计算环境服务集(66),所述计算环境服务集包括被配置成操作所述计算环境的对象的至少一个计算环境服务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/052,554 US8484174B2 (en) | 2008-03-20 | 2008-03-20 | Computing environment representation |
US12/052,554 | 2008-03-20 | ||
PCT/US2009/034442 WO2009117201A2 (en) | 2008-03-20 | 2009-02-19 | Computing environment representation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101978369A true CN101978369A (zh) | 2011-02-16 |
Family
ID=41089915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801106763A Pending CN101978369A (zh) | 2008-03-20 | 2009-02-19 | 计算环境表示 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8484174B2 (zh) |
EP (1) | EP2289004A4 (zh) |
JP (1) | JP5559140B2 (zh) |
KR (1) | KR101627873B1 (zh) |
CN (1) | CN101978369A (zh) |
TW (1) | TWI498751B (zh) |
WO (1) | WO2009117201A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018995A (zh) * | 2017-07-18 | 2019-07-16 | 通用汽车环球科技运作有限责任公司 | 使用枚举实用程序的数据处理 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US8566362B2 (en) * | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US9037711B2 (en) * | 2009-12-02 | 2015-05-19 | Metasecure Corporation | Policy directed security-centric model driven architecture to secure client and cloud hosted web service enabled processes |
US8473595B2 (en) * | 2009-12-30 | 2013-06-25 | Bmc Software, Inc. | Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom |
US9904733B2 (en) * | 2010-01-15 | 2018-02-27 | Microsoft Technology Licensing, Llc | Name hierarchies for mapping public names to resources |
US8600803B1 (en) | 2010-05-18 | 2013-12-03 | Google Inc. | Incentivizing behavior to address pricing, tax, and currency issues in an online marketplace for digital goods |
US10715457B2 (en) | 2010-06-15 | 2020-07-14 | Oracle International Corporation | Coordination of processes in cloud computing environments |
EP2583211B1 (en) | 2010-06-15 | 2020-04-15 | Oracle International Corporation | Virtual computing infrastructure |
US9021093B2 (en) | 2010-08-17 | 2015-04-28 | International Business Machines Corporation | Managing and securing manageable resources in stateless web server architecture using servlet filters |
US8856260B2 (en) * | 2011-06-14 | 2014-10-07 | Microsoft Corporation | Providing access to shared state data |
US9152783B2 (en) | 2011-09-29 | 2015-10-06 | Oracle International Corporation | Privileged account manager, application account management |
WO2013119841A1 (en) | 2012-02-10 | 2013-08-15 | Nimbula, Inc. | Cloud computing services framework |
CN104335179B (zh) * | 2012-02-13 | 2018-01-23 | 甲骨文国际公司 | 云计算环境中的过程的协调 |
US9058471B2 (en) | 2012-06-08 | 2015-06-16 | Oracle International Corporation | Authorization system for heterogeneous enterprise environments |
US9467355B2 (en) | 2012-09-07 | 2016-10-11 | Oracle International Corporation | Service association model |
US9838370B2 (en) | 2012-09-07 | 2017-12-05 | Oracle International Corporation | Business attribute driven sizing algorithms |
US9219749B2 (en) | 2012-09-07 | 2015-12-22 | Oracle International Corporation | Role-driven notification system including support for collapsing combinations |
US9069979B2 (en) | 2012-09-07 | 2015-06-30 | Oracle International Corporation | LDAP-based multi-tenant in-cloud identity management system |
US9619545B2 (en) | 2013-06-28 | 2017-04-11 | Oracle International Corporation | Naïve, client-side sharding with online addition of shards |
US9667610B2 (en) | 2013-09-19 | 2017-05-30 | Oracle International Corporation | Privileged account plug-in framework—network—connected objects |
US9602545B2 (en) | 2014-01-13 | 2017-03-21 | Oracle International Corporation | Access policy management using identified roles |
US10574745B2 (en) * | 2015-03-31 | 2020-02-25 | Western Digital Technologies, Inc. | Syncing with a local paired device to obtain data from a remote server using point-to-point communication |
EP3387550B1 (en) * | 2015-12-10 | 2020-12-02 | Microsoft Technology Licensing, LLC | Data driven automated provisioning of telecommunication applications |
EP3328016A1 (de) * | 2016-11-29 | 2018-05-30 | Siemens Aktiengesellschaft | Verfahren zum verbinden von geräten mit der sogenannten cloud, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens |
US10479356B1 (en) | 2018-08-17 | 2019-11-19 | Lyft, Inc. | Road segment similarity determination |
US11928557B2 (en) | 2019-06-13 | 2024-03-12 | Lyft, Inc. | Systems and methods for routing vehicles to capture and evaluate targeted scenarios |
US11449475B2 (en) | 2019-06-28 | 2022-09-20 | Lyft, Inc. | Approaches for encoding environmental information |
US10625748B1 (en) | 2019-06-28 | 2020-04-21 | Lyft, Inc. | Approaches for encoding environmental information |
US11157007B2 (en) * | 2019-06-28 | 2021-10-26 | Lyft, Inc. | Approaches for encoding environmental information |
US11788846B2 (en) | 2019-09-30 | 2023-10-17 | Lyft, Inc. | Mapping and determining scenarios for geographic regions |
US11816900B2 (en) | 2019-10-23 | 2023-11-14 | Lyft, Inc. | Approaches for encoding environmental information |
US12039785B2 (en) | 2019-10-23 | 2024-07-16 | Lyft, Inc. | Approaches for encoding environmental information |
Family Cites Families (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5504852A (en) * | 1991-09-09 | 1996-04-02 | Apple Computer, Inc. | Method for creating a collection of aliases representing computer system files |
US5437025A (en) * | 1993-01-26 | 1995-07-25 | International Business Machines Corporation | System and method for run time configuration of objects in an object oriented computing environment |
US5548726A (en) * | 1993-12-17 | 1996-08-20 | Taligeni, Inc. | System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node |
EP0823092A1 (en) | 1995-04-24 | 1998-02-11 | Aspect Development, Inc. | Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon |
US5850090A (en) * | 1995-05-24 | 1998-12-15 | Mitsubishi Denki Kabushiki Kaisha | Dynamic semiconductor memory device on SOI substrate |
US5764543A (en) * | 1995-06-16 | 1998-06-09 | I2 Technologies, Inc. | Extensible model network representation system for process planning |
JP3598183B2 (ja) * | 1996-10-16 | 2004-12-08 | 株式会社東芝 | 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体 |
US6678724B2 (en) * | 1997-03-12 | 2004-01-13 | Microsoft Corporation | Common namespace for internet and local filesystem objects |
US6573907B1 (en) | 1997-07-03 | 2003-06-03 | Obvious Technology | Network distribution and management of interactive video and multi-media containers |
US6105062A (en) * | 1998-02-26 | 2000-08-15 | Novell, Inc. | Method and system for pruning and grafting trees in a directory service |
US6330717B1 (en) * | 1998-03-27 | 2001-12-11 | Sony Corporation Of Japan | Process and system for developing an application program for a distributed adaptive run-time platform |
US6209029B1 (en) * | 1998-05-12 | 2001-03-27 | Silverstream Software, Inc. | Method and apparatus for accessing data sources in a three tier environment |
US6243746B1 (en) * | 1998-12-04 | 2001-06-05 | Sun Microsystems, Inc. | Method and implementation for using computer network topology objects |
JP2000242541A (ja) | 1999-02-24 | 2000-09-08 | Pfu Ltd | オブジェクト処理装置及びそのプログラム記憶媒体 |
US7062532B1 (en) | 1999-03-25 | 2006-06-13 | Autodesk, Inc. | Method and apparatus for drawing collaboration on a network |
US6519679B2 (en) * | 1999-06-11 | 2003-02-11 | Dell Usa, L.P. | Policy based storage configuration |
US6826760B1 (en) * | 1999-06-16 | 2004-11-30 | Microsoft Corporation | Methods of factoring operating system functions, methods of converting operating systems, and related apparatus |
US6594664B1 (en) * | 2000-01-04 | 2003-07-15 | International Business Machines Corporation | System and method for online/offline uninterrupted updating of rooms in collaboration space |
US6732172B1 (en) * | 2000-01-04 | 2004-05-04 | International Business Machines Corporation | Method and system for providing cross-platform access to an internet user in a heterogeneous network environment |
US6546554B1 (en) * | 2000-01-21 | 2003-04-08 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
US6694336B1 (en) * | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
US6934532B2 (en) * | 2000-02-09 | 2005-08-23 | Apriva, Inc. | Communication systems, components, and methods operative with programmable wireless devices |
US6662192B1 (en) * | 2000-03-29 | 2003-12-09 | Bizrate.Com | System and method for data collection, evaluation, information generation, and presentation |
EP1148322A1 (de) * | 2000-04-18 | 2001-10-24 | Gretag-Macbeth AG | Verfahren zur Erzeugung einer elektronischen Farbinformationsdatei und Verfahren zur Farbkommunikation |
US7013340B1 (en) * | 2000-05-18 | 2006-03-14 | Microsoft Corporation | Postback input handling by server-side control objects |
US6685090B2 (en) * | 2000-05-24 | 2004-02-03 | Fujitsu Limited | Apparatus and method for multi-profile managing and recording medium storing multi-profile managing program |
US6611837B2 (en) * | 2000-06-05 | 2003-08-26 | International Business Machines Corporation | System and method for managing hierarchical objects |
US7219304B1 (en) * | 2000-06-19 | 2007-05-15 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US20020138617A1 (en) * | 2000-09-06 | 2002-09-26 | Jacob Christfort | Providing content from multiple services |
US7089295B2 (en) * | 2000-09-06 | 2006-08-08 | Oracle International Corporation | Customizing content provided by a service |
US7836458B1 (en) * | 2000-11-02 | 2010-11-16 | Microsoft Corporation | Configuration system |
US20040006566A1 (en) * | 2000-11-07 | 2004-01-08 | Matt Taylor | System and method for augmenting knowledge commerce |
US6961909B2 (en) | 2001-01-05 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | System for displaying a hierarchical directory |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US20020103811A1 (en) | 2001-01-26 | 2002-08-01 | Fankhauser Karl Erich | Method and apparatus for locating and exchanging clinical information |
US7054927B2 (en) | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
JP2002229902A (ja) | 2001-01-31 | 2002-08-16 | Justec:Kk | 情報提供方法、情報提供システム、地理情報提供方法、地図情報提供システム、及びコンピュータ読み取り可能なプログラム |
US7031962B2 (en) * | 2001-03-27 | 2006-04-18 | Bea Systems, Inc. | System and method for managing objects and resources with access rights embedded in nodes within a hierarchical tree structure |
US20030004746A1 (en) * | 2001-04-24 | 2003-01-02 | Ali Kheirolomoom | Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US8290762B2 (en) * | 2001-08-14 | 2012-10-16 | National Instruments Corporation | Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram |
US6907451B1 (en) | 2001-09-29 | 2005-06-14 | Siebel Systems, Inc. | Method, apparatus, and system for immediate posting of changes in a client server environment |
JP2005505051A (ja) | 2001-10-02 | 2005-02-17 | サイトリックス システムズ,インコーポレイテッド | クライアント−サーバネットワークにおいてファイルタイプの関連性により分散型のプログラムの実行方法 |
US7117243B2 (en) | 2001-10-02 | 2006-10-03 | Citrix Systems, Inc. | Methods for distributed program execution with file-type association in a client-server network |
US7330872B2 (en) | 2001-10-02 | 2008-02-12 | Citrix Systems, Inc. | Method for distributed program execution with web-based file-type association |
US6952714B2 (en) | 2001-10-02 | 2005-10-04 | Citrix Systems, Inc. | Method for distributed program execution with server-based file type association |
WO2003032188A1 (en) | 2001-10-05 | 2003-04-17 | Vitria Technology, Inc. | System and method for vocabulary-based data transformation |
JP3857571B2 (ja) * | 2001-11-15 | 2006-12-13 | タイコ エレクトロニクス レイケム株式会社 | ポリマーptcサーミスタおよび温度センサ |
KR100426307B1 (ko) * | 2001-12-12 | 2004-04-08 | 한국전자통신연구원 | 에스오에이피-엑스엠엘을 이용한 데이터 액세스 장치 및방법 |
US7088995B2 (en) * | 2001-12-13 | 2006-08-08 | Far Eastone Telecommunications Co., Ltd. | Common service platform and software |
US7266563B2 (en) | 2001-12-28 | 2007-09-04 | Fotomedia Technologies, Llc | Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system |
AU2003216472A1 (en) * | 2002-03-01 | 2003-09-16 | Green Border Technologies | Method and system for assured denotation of application semantics |
US7552481B2 (en) * | 2002-03-18 | 2009-06-23 | Sun Microsystems, Inc. | Method of assessing an organization's network identity capability |
US6968535B2 (en) * | 2002-03-21 | 2005-11-22 | Sun Microsystems, Inc. | Service mapping method of enterprise application modeling and development for multi-tier service environments |
US7219351B2 (en) * | 2002-05-30 | 2007-05-15 | Oracle International Corporation | Multi-view conversion system and method for exchanging communications between heterogeneous applications |
US20040031029A1 (en) * | 2002-08-06 | 2004-02-12 | Kyu-Woong Lee | Methods and systems for automatically updating software components in a network |
US6909721B2 (en) * | 2002-10-31 | 2005-06-21 | Nokia Corporation | Device detection and service discovery system and method for a mobile ad hoc communications network |
JP2004171107A (ja) * | 2002-11-18 | 2004-06-17 | Sony Corp | ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム |
CA2412383A1 (en) * | 2002-11-22 | 2004-05-22 | Ibm Canada Limited-Ibm Canada Limitee | Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications |
US7613812B2 (en) * | 2002-12-04 | 2009-11-03 | Microsoft Corporation | Peer-to-peer identity management interfaces and methods |
US7386530B2 (en) | 2002-12-19 | 2008-06-10 | Mathon Systems, Inc. | System and method for managing content including addressability features |
US7512703B2 (en) * | 2003-01-31 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Method of storing data concerning a computer network |
US7890543B2 (en) * | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7099888B2 (en) * | 2003-03-26 | 2006-08-29 | Oracle International Corporation | Accessing a remotely located nested object |
US7203711B2 (en) | 2003-05-22 | 2007-04-10 | Einstein's Elephant, Inc. | Systems and methods for distributed content storage and management |
US7240327B2 (en) * | 2003-06-04 | 2007-07-03 | Sap Ag | Cross-platform development for devices with heterogeneous capabilities |
US20050015430A1 (en) * | 2003-06-25 | 2005-01-20 | Rothman Michael A. | OS agnostic resource sharing across multiple computing platforms |
US8001187B2 (en) * | 2003-07-01 | 2011-08-16 | Apple Inc. | Peer-to-peer active content sharing |
US7594015B2 (en) * | 2003-07-28 | 2009-09-22 | Sap Ag | Grid organization |
US20050060315A1 (en) | 2003-09-16 | 2005-03-17 | Aleksey Sanin | Metadata database lookup system |
US20050065935A1 (en) | 2003-09-16 | 2005-03-24 | Chebolu Anil Kumar | Client comparison of network content with server-based categorization |
CA2539474C (en) * | 2003-09-17 | 2012-04-03 | Research In Motion Limited | System and method for dynamic generation and customization of web service client applications for terminals |
US7721254B2 (en) * | 2003-10-24 | 2010-05-18 | Microsoft Corporation | Programming interface for a computer platform |
US20050138156A1 (en) * | 2003-12-19 | 2005-06-23 | Alexander Gebhart | Grid application customization |
WO2005072114A2 (en) | 2004-01-19 | 2005-08-11 | Pantero Corporation | Enterprise interoperability using shared data services |
US20050177600A1 (en) * | 2004-02-11 | 2005-08-11 | International Business Machines Corporation | Provisioning of services based on declarative descriptions of a resource structure of a service |
US20050192962A1 (en) * | 2004-02-26 | 2005-09-01 | Patricia Furrer | Apparatus, system, method for enabling web-applications to access enterprise managed data |
US20050203931A1 (en) * | 2004-03-13 | 2005-09-15 | Robert Pingree | Metadata management convergence platforms, systems and methods |
US20050251812A1 (en) * | 2004-04-27 | 2005-11-10 | Convertabase, Inc. | Data conversion system, method, and apparatus |
US20050251786A1 (en) * | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | System and method for dynamic software installation instructions |
US7650432B2 (en) * | 2004-05-20 | 2010-01-19 | Bea Systems, Inc. | Occasionally-connected application server |
US7761863B2 (en) * | 2004-06-08 | 2010-07-20 | Covia Labs, Inc. | Method system and data structure for content renditioning adaptation and interoperability segmentation model |
US20050289454A1 (en) * | 2004-06-28 | 2005-12-29 | D & Wayne & Co. | Interactive website configuration, display and management application |
US7882147B2 (en) * | 2004-06-30 | 2011-02-01 | Robert T. and Virginia T. Jenkins | File location naming hierarchy |
US8069436B2 (en) * | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US20060036602A1 (en) | 2004-08-13 | 2006-02-16 | Unangst Marc J | Distributed object-based storage system that stores virtualization maps in object attributes |
EP1812848A4 (en) | 2004-09-15 | 2009-04-29 | Adesso Systems Inc | SYSTEM AND METHOD FOR DATA MANAGEMENT IN A DISTRIBUTED COMPUTER SYSTEM |
US20070038642A1 (en) * | 2004-09-15 | 2007-02-15 | Scott Durgin | Method for providing extensible software components within a distributed synchronization system |
US7266370B2 (en) * | 2004-09-20 | 2007-09-04 | Trilibis Inc. | System and method for developing and deploying device independent applications |
US7760746B2 (en) * | 2004-11-30 | 2010-07-20 | Computer Associates Think, Inc. | Cascading configuration using one or more configuration trees |
US20060129972A1 (en) * | 2004-11-30 | 2006-06-15 | Tyburski John C | Application developer and method for generating platform independent code |
KR100714683B1 (ko) * | 2004-12-24 | 2007-05-04 | 삼성전자주식회사 | 디지털 컨텐츠를 글로벌로 공유하고 거래하는 방법 및시스템 |
US9535679B2 (en) * | 2004-12-28 | 2017-01-03 | International Business Machines Corporation | Dynamically optimizing applications within a deployment server |
US20070050446A1 (en) * | 2005-02-01 | 2007-03-01 | Moore James F | Managing network-accessible resources |
US20060190608A1 (en) * | 2005-02-18 | 2006-08-24 | Nokia Corporation | Method for the obtaining of deployment components to electronic devices |
WO2006089392A1 (en) * | 2005-02-22 | 2006-08-31 | Nextair Corporation | Determining operational status of a mobile device capable of executing server-side applications |
US7680835B2 (en) * | 2005-02-28 | 2010-03-16 | Microsoft Corporation | Online storage with metadata-based retrieval |
US8554916B2 (en) * | 2005-04-11 | 2013-10-08 | Accenture Global Services Gmbh | Service delivery platform and development of new client business models |
US7743373B2 (en) * | 2005-05-06 | 2010-06-22 | International Business Machines Corporation | Method and apparatus for managing software catalog and providing configuration for installation |
US7577681B1 (en) * | 2005-06-29 | 2009-08-18 | Emc Corporation | Methods and apparatus for managing contents of a database |
US7694287B2 (en) * | 2005-06-29 | 2010-04-06 | Visa U.S.A. | Schema-based dynamic parse/build engine for parsing multi-format messages |
US7702686B2 (en) * | 2005-07-29 | 2010-04-20 | Microsoft Corporation | Retrieving and persisting objects from/to relational databases |
US20070028175A1 (en) * | 2005-07-29 | 2007-02-01 | Moore Dennis B | Grid processing user tools |
US20070061349A1 (en) * | 2005-09-15 | 2007-03-15 | Microsoft Corporation | Hierarchically describing shapes |
US20070073770A1 (en) | 2005-09-29 | 2007-03-29 | Morris Robert P | Methods, systems, and computer program products for resource-to-resource metadata association |
US8005879B2 (en) * | 2005-11-21 | 2011-08-23 | Sap Ag | Service-to-device re-mapping for smart items |
US8140624B2 (en) * | 2005-12-01 | 2012-03-20 | Computer Associates Think, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US8306990B2 (en) | 2006-01-10 | 2012-11-06 | Unz.Org Llc | Transferring and displaying hierarchical data between databases and electronic documents |
ES2659651T3 (es) | 2006-01-17 | 2018-03-16 | Microsoft Technology Licensing, Llc | Integración ininterrumpida de múltiples entornos informáticos |
CN1801086A (zh) | 2006-01-17 | 2006-07-12 | 浙江大学 | 应用于Java操作系统中设备支持的实现方法 |
US8424020B2 (en) | 2006-01-31 | 2013-04-16 | Microsoft Corporation | Annotating portions of a message with state properties |
US7793343B2 (en) * | 2006-03-03 | 2010-09-07 | Oracle America, Inc. | Method and system for identity management integration |
US7483978B2 (en) * | 2006-05-15 | 2009-01-27 | Computer Associates Think, Inc. | Providing a unified user interface for managing a plurality of heterogeneous computing environments |
US7508787B2 (en) * | 2006-05-31 | 2009-03-24 | Cisco Technology, Inc. | Graphical selection of information display for wireless mesh hierarchies |
US8370423B2 (en) | 2006-06-16 | 2013-02-05 | Microsoft Corporation | Data synchronization and sharing relationships |
US7814460B2 (en) * | 2006-07-13 | 2010-10-12 | Scriptlogic Corporation | Hierarchical modular software packages and associated development tool |
US8122111B2 (en) * | 2006-07-25 | 2012-02-21 | Network Appliance, Inc. | System and method for server configuration control and management |
US7822594B2 (en) | 2006-08-07 | 2010-10-26 | Voltaire Ltd. | Service-oriented infrastructure management |
US7739411B2 (en) * | 2006-08-11 | 2010-06-15 | Samsung Electronics Co., Ltd. | Method and system for content synchronization and detecting synchronization recursion in networks |
US7606588B2 (en) * | 2006-08-31 | 2009-10-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Hierarchical point-to-multipoint group communications between multiple active communication groups |
US8683352B2 (en) * | 2006-09-05 | 2014-03-25 | International Business Machines Corporation | Selectable flattening hierarchical file browser |
US7934194B2 (en) * | 2006-10-17 | 2011-04-26 | The Mathworks, Inc. | User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment |
US20080249994A1 (en) * | 2006-11-28 | 2008-10-09 | Calder Group, Inc. | System and process for server side stateless data interchange |
US7734717B2 (en) * | 2006-12-05 | 2010-06-08 | Nokia Corporation | Software distribution via peer-to-peer networks |
US7844912B2 (en) * | 2006-12-22 | 2010-11-30 | Sap Ag | System and method using transformation nodes with enhancement layers |
US9451009B2 (en) * | 2007-02-19 | 2016-09-20 | Appcentral, Inc. | Methods and system to create applications and distribute applications to a remote device |
US7853669B2 (en) * | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US8132166B2 (en) * | 2007-05-14 | 2012-03-06 | Red Hat, Inc. | Methods and systems for provisioning software |
US9280402B2 (en) * | 2007-12-20 | 2016-03-08 | Sap Se | System and method for updating a dual layer browser |
US9298747B2 (en) * | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US8572033B2 (en) * | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
-
2008
- 2008-03-20 US US12/052,554 patent/US8484174B2/en not_active Expired - Fee Related
-
2009
- 2009-02-17 TW TW098105024A patent/TWI498751B/zh active
- 2009-02-19 KR KR1020107020487A patent/KR101627873B1/ko not_active Application Discontinuation
- 2009-02-19 WO PCT/US2009/034442 patent/WO2009117201A2/en active Application Filing
- 2009-02-19 EP EP09721256.7A patent/EP2289004A4/en not_active Ceased
- 2009-02-19 CN CN2009801106763A patent/CN101978369A/zh active Pending
- 2009-02-19 JP JP2011500832A patent/JP5559140B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018995A (zh) * | 2017-07-18 | 2019-07-16 | 通用汽车环球科技运作有限责任公司 | 使用枚举实用程序的数据处理 |
Also Published As
Publication number | Publication date |
---|---|
WO2009117201A3 (en) | 2009-11-19 |
WO2009117201A2 (en) | 2009-09-24 |
JP2011515761A (ja) | 2011-05-19 |
KR20100133380A (ko) | 2010-12-21 |
US20090240728A1 (en) | 2009-09-24 |
JP5559140B2 (ja) | 2014-07-23 |
EP2289004A4 (en) | 2015-12-09 |
US8484174B2 (en) | 2013-07-09 |
TWI498751B (zh) | 2015-09-01 |
KR101627873B1 (ko) | 2016-06-13 |
EP2289004A2 (en) | 2011-03-02 |
TW200941240A (en) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101978369A (zh) | 计算环境表示 | |
CN101981557B (zh) | 计算环境表示 | |
CN101490680B (zh) | 全局资产管理 | |
TWI405091B (zh) | 用於跨不同應用程式架構之資料服務的電腦系統及電腦可實施方法 | |
US9009108B2 (en) | Minimal extensions required for multi-master offline and collaboration for devices and web services | |
US8548992B2 (en) | User interface for a digital content management system | |
CN112654973A (zh) | 跨平台集成云内容项的技术 | |
US10931748B2 (en) | Optimistic concurrency utilizing distributed constraint enforcement | |
EP0986011A2 (en) | Active properties for dynamic system configuration | |
US20080201234A1 (en) | Live entities internet store service | |
US20080141136A1 (en) | Clipping Synchronization and Sharing | |
US20020032775A1 (en) | System and method for transmitting and retrieving data via a distributed persistence framework | |
CN101978366A (zh) | 可部署对象分层结构内的应用程序管理 | |
US20070219976A1 (en) | Extensible query language with support for rich data types | |
US7523141B2 (en) | Synchronization operations involving entity identifiers | |
CN102378975A (zh) | 将协作功能扩展到外部数据 | |
CN101093497A (zh) | 文档管理服务器、方法、计算机可读介质及系统 | |
CN101095161A (zh) | 联系人管理 | |
CA2406565A1 (en) | Method and apparatus for using business rules or user roles for selecting portlets in a web portal | |
TW200842627A (en) | Techniques to cross-synchronize data | |
CN101802808A (zh) | 从脚本和其他编程环境访问设备主存的服务 | |
JP2022549983A (ja) | コンテキスト付きのコンテンツ・アイテム共有 | |
Bartlang | Architecture and methods for flexible content management in peer-to-peer systems | |
JP2002251311A (ja) | コンテキストデータ生成・利用方法、プログラム及び記録媒体 | |
Khungar et al. | Context Based Storage: System for Managing Data in Ubiquitous Computing Environment |
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: 20110216 |