本申请公开了在分布式网络中定位并执行对象。本发明专利技术涉及分布式网络中或云中的对象的交互和执行。每一个对象包括统一资源标识符(URI)路径,该URI路径通过分布式对象目录来命名云中的对象。客户机设备能够基于URI路径来直接与对象的实况实例对接。对象对于远程过程调用语义可以是不可知的。在某些方面,对象能够被远程地或本地地连接和交互。此外,对象的单个实例或多个实例能够基本上同时存在。
【技术实现步骤摘要】
本专利技术一般涉及与实况对象交互,尤其涉及在分布式网络中定位并执行对象。
技术介绍
随着计算技术的发展以及计算设备变得越来越普遍,计算机编程技术可适合用于所使用中的广泛的各种计算设备。这些计算设备可以在分布式网络中利用,其中计算机编程和数据是分布(或分散)在不止一个计算设备上的。此外,计算设备可用于通过分布式网络与其他设备和/或系统交互。作为一种经济的机制,可利用客户机/服务器计算,其中客户机设备具有第一组能力,而服务器(或分布式网络中的其他设备)提供第二组能力。 就此,软件对象能够运行分布式协议的实例。软件对象(或简称为“对象”)包括属性和方法或行为,这些属性和方法或行为是一组可能的外部交互模式,通过它们,对象的代理能够参与在本地运行时环境中。常规上,对象被存储在诸如数据库等数据存储中,并且对象的数据或代码被存储于在其中编译该对象的共享库中。当要利用对象时,本地地(例如,在客户机设备上)加载并执行对象。然而,有了这样的常规系统,对象知道并理解远程过程,这可使得对这些对象的编程变得不仅费时,而且非常面向细节。因此,常规系统无法适当地支持不知道远程过程的软件对象。此外,当今不存在允许软件对象驻留在分布式网络中以实现对这些对象的分布式支持的系统。当今的计算系统和对象执行系统技术的上述缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。传统系统的其他问题以及此处所描述的各非限制性实施例的对应的益处可以在审阅以下描述后变得更显而易见。
技术实现思路
此处提供了简化的
技术实现思路
以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本
技术实现思路
并不旨在作为详尽的或穷尽的概览。相反,本
技术实现思路
的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的一些概念,作为以下各实施例的更详细的描述的序言。在一个或多个实施例中,提供了供开发者持久存储对象和读回(或执行)对象的简单机制。此外,对象能够本地地和/或远程地访问。例如,所公开的实施例允许在分布式目录中对对象进行读写。由此,对象能够被远程地和/或本地地连接和交互。另外,这些方法能够在网络或云中的正在运行的实例上执行。对象实现可以不知道主存环境的细节。此外,对象实现可以不知道远程过程调用和/或远程过程调用(RPC)语义。可以有基本上同时存在的同一对象的单个实例或多个实例。此外,无论是正在运行或不是正在运行,每一个对象包括统一资源标识符(URI)路径,该URI路径通过分布式对象目录来命名云中的对象。这些和其他实施例在下文中更详细地描述。附图说明参考附图进一步描述各非限制性实施例,在附图中图I示出了根据一方面的示例性计算系统的框图;图2是示出根据一方面的包含开发组件、存储组件和执行组件的对象管理器组件的框图;图3示出了根据一方面的对象管理器组件的另一方面;图4示出了根据一方面的包含监视器组件和卸载组件的对象处理组件;图5示出了根据一方面的本地绑定过程的非限制性流程图; 图6示出了根据一方面的远程绑定过程的非限制性流程图;图7示出了根据一方面的激活过程的非限制性流程图;图8是示出根据一方面的与实况对象进行交互的示例性、非限制性过程的流程图;图9是示出根据一方面的允许多个设备(或单个设备)与对象的实况版本进行交互的示例性、非限制性过程的流程图;图10是示出根据一方面的与实况对象进行交互的示例性、非限制性过程的流程图;图11是表示其中可实现在本文中所述的各实施例的示例性、非限制性联网环境的框图;以及图12是表示其中可实现在本文中所述的各实施例的一个或多个方面的示例性非限制性计算系统或操作环境的框图。具体实施例概览存在可被配置成用作远程对象的各种类型的对象。这些对象包括例如.NET远程对象,其可包括单调用对象、单元素对象和激活客户机的对象。单调用对象只服务一个传入请求并且不保留状态信息。单元素对象服务多个客户机并且可通过存储客户机调用之间的状态信息来共享数据。激活客户机的对象是能够应客户机请求被激活的服务器侧对象。如在此处所用的,用户、终端用户、客户机设备、实体等等可以是指人类、行动者、计算机、因特网、系统(或另一系统)、商业企业、机器、机械等等,并且在后文中将取决于上下文而通常被称为用户、客户机或客户机设备。常规上,当要利用对象时,用户通常本地地安装对象(例如,在客户机设备上)。因此,对象以对象知道并理解复杂的远程过程的方式开发或创建。这一远程过程知晓对象的开发可以是费时的,并且通常利用高度熟练的开发者,这些开发者具备创建具有执行复杂远程过程的能力的对象的技术技能。对这些高度熟练的开发者的利用增加成本以及对象本身的复杂性。由此,开发能够如所预期的那样操作而不知道复杂的远程调用的对象将会是有益的。此外,开发能够在分布式网络中应用的对象将会是有益的,这能够提高这些对象的可用性。在一实施例中,所公开的各方面涉及存在于网络中并且可通过网络直接访问的软件对象。能够对与对象相关联的数据进行读写,并且可执行对象的方法。这些读取、写入和执行能够在不将对象加载到本地主机的地址空间中的情况下执行。在一些实施例中,各方法能够在位于分布式连接的网络中或“云中”的对象上执行。不像其他形式的远程方法调用和/或对象激活,所公开的各方面允许开发者在不关心远程过程调用语义、实现具体接口或甚至在云中运行和/或主存对象的位置的情况下创建对象。所公开的各方面允许对象按使用相对或绝对统一资源标识符(URI)的路径位于网络中。该路径允许调用者(例如,客户机设备)远程地访问对象并且以统一且一致的方式与对象的属性(例如,数据)交互或调用对象的方法(例如,代码)。因此,所公开的各方面允许开发者创建对象并将对象置于网络中。开发者(或另一用户)能够本地地(在客户机的地址空间中)或远程地(在服务器的地址空间中)与对象进行交互。在一个实施例中,一种系统包括对象管理器组件,该组件被配置成基于从客户机设备接收到的对统一资源标识符(URI)的请求来访问对象。该URI是相对URI或绝对URI。该系统还包括被配置成远程地与对象交互的对象处理组件。对象对远程过程是不可知的。 在一些实现中,对象管理器组件被配置成连接到对象的实况实例。在其他实现中,对象处理组件被配置成接收对象情况的实时反馈。根据一些实现,对象处理组件被配置成间接地与代表对象执行至少一个功能的至少第二对象交互。在一实现中,对象被配置成将其功能的至少一部分卸载到分布式对象。对象处理组件不知道分布式对象的存在。在其他实现中,对象处理组件被配置成匿名地与对象进行交互。在一些实现中,该系统还包括抽象层,该抽象层被配置成代表对象与客户机设备通信并且代表客户机设备与对象通信。在另一实施例中,一种方法包括将对象写入到web服务并且将该对象保存在与该web服务相关联的数据库中。该方法还包括基于接收到针对统一资源标识符(URI)的请求来执行对象。在一实现中,保存对象包括将URI分配给对象,其中该URI是通用的。在一些实现中,执行基于来自第一设备的请求。在该实现中,该方法还包括查明第一设备已经与对象连接并且保存该对象的第一版本。该方法还包括从第一设备和第二设备接收请求并且根据第二请求来执行对象的第一版本。在另一实现中,该方法包括处理对对象的至少本文档来自技高网...
【技术保护点】
一种系统,包括:对象管理器组件(120),被配置成基于从客户机设备接收到的对统一资源标识符URI的请求来访问对象;以及对象处理组件(140),被配置成远程地与所述对象交互。
【技术特征摘要】
2011.03.29 US 13/074,2601.一种系统,包括 对象管理器组件(120),被配置成基于从客户机设备接收到的对统一资源标识符URI的请求来访问对象;以及 对象处理组件(140),被配置成远程地与所述对象交互。2.如权利要求I所述的系统,其特征在于,所述对象对于远程过程是不可知的。3.如权利要求I所述的系统,其特征在于,所述对象管理器组件(120)被配置成连接到所述对象的实况实例。4.如权利要求I所述的系统,其特征在于,所述对象处理组件(140)被配置成接收所述对象的情况的实时反馈。5.如权利要求I所述的系统,其特征在于,所述对象处理组件(140)被配置成间接地与代表所述对象执行至少一个功能的至少第二对象交互。6.如权利要求I所述的系统,其特征在于,所述对象被配置成将其功能的至少一部分卸载到分布式对象,其中所述对象处理组件(140)不知道所述分布式对象的存在。7.如权利要求I所述的系统,其特征在于,所述对象处理组件(140)被配置成匿名地与所述对象进行交互。8.如权利要求I所述的系统,其特征在于,所述URI是相对URI或绝对URI。9.如权利要求I所述的系统,其特征在于,还包括抽象层,所述抽象层被配置...
【专利技术属性】
技术研发人员:R·帕奇,L·齐格努什,R·乔汉,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。