用于虚拟环境的控制反转组件服务模型系统技术方案

技术编号:12033915 阅读:88 留言:0更新日期:2015-09-10 22:42
在计算领域中,许多场景涉及在设备的虚拟环境内的应用的执行(例如在web浏览器内的web应用执行)。应用与设备组件之间的交互通常通过硬件抽象或组件应用编程接口(API)来实现,但所述交互对于虚拟执行的应用可以提供比对于原生应用更有限和/或不一致的对组件功能的访问。作为代替,所述设备可以利用回调模型作为服务向所述虚拟环境提供硬件交互,其中,所述虚拟环境内的应用启动指定回调的组件请求,以及,所述设备使用所述组件启动所述组件请求,并且当组件请求完成时调用关联的回调。该模型可以使所述应用能与所述组件的完全功能集合进行交互,并且可以减少所述应用在所述虚拟应用内的被阻塞执行以提升应用性能。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
在计算领域内,许多场景涉及在设备的虚拟环境内的应用的执行,例如:执行在web浏览器内的web应用;针对计算环境开发的而非由设备提供的代码(例如针对Java虚拟机设计的Java代码);以及隔离虚拟机内的不受信任代码执行。虚拟机内的应用执行而非设备的原生进程可以改进应用在执行期间的兼容性和安全性。所述应用通常调用指向设备的硬件或软件组件的请求。例如,图形硬件组件可以提供渲染功能(例如渲染三维场景的图像),该功能可以被设备上的各种应用执行进行调用。所述硬件组件可以对于使用设备的计算环境执行的原生应用可便利地访问,并且可以在更受限的基础上被暴露给在设备的虚拟环境内执行的应用。例如,图形渲染组件可以提供相对低级和广泛的由应用进行的访问,并且可以提供更受限的代表在web浏览器内执行的web应用的渲染功能。所述限制可以被实现为鉴于由虚拟环境提供的较不受信任的代码环境(例如通常认为在web浏览器中运行的代码具有比已被安装在设备上的原生代码更低级别的信任)和/或基于虚拟环境内的组件的抽象(例如,并非提供硬件组件的设备专用功能,虚拟环境可以呈现广泛集合的被许多硬件组件和设备支持的功能)而选择的和/或合适的。最后,许多虚拟环境可以使应用能够调用设备的功能,但可以在直到所述对设备功能的调用完成之前都阻塞应用的执行。
技术实现思路
提供本
技术实现思路
来以简化形式介绍下面在【具体实施方式】中进一步描述的概念的选集。本
技术实现思路
不旨在标识所要求权利的主题的关键因素或必要特征,其也不旨在用于限制所要求权利的主题的范围。虚拟环境内的应用与设备组件进行交互的典型模型可能存在某些缺陷。作为第一示例,所述应用可能不能访问广泛范围的所述组件的功能。作为第二示例,该模型中的组件调用效率可以经由所述设备不能利用组件专用特征或优化技术而降低。作为第三示例,直到所述组件请求完成之前都阻塞所述web应用可以显著损害所述web应用的性能。在本文中呈现了这样的技术,所述技术用于以可以解决这些缺陷中的一些和/或实现另外优点的方式完成应用的组件请求。根据这些技术,所述设备可以经由回调机制通过控制反转机制便利对来自虚拟环境内的应用的组件请求进行的处理。在所述虚拟环境内执行的应用可以启动组件请求,所述组件请求涉及所述计算环境的一个或多个组件和/或组件功能,并且指定当所述组件请求完成时被调用的对所述应用的回调。所述设备可以这样来完成该组件请求,其通过存储所述应用、所识别的组件和/或组件功能的关联,并且然后将所述组件请求发送给所述关联的组件。所述设备可以然后恢复所述应用在所述虚拟环境内的执行。当所述设备随后检测到所述组件请求被所述组件完成时,所述设备可以识别关联于所述组件请求的一个或多个回调,并且可以调用所述回调以便对所述组件请求的结果执行处理,和/或向所述应用通知所述组件请求的完成。该模型可以加速对由虚拟环境内的应用发出的组件请求的完成。为达到前述和相关目的,下面的说明书和附图阐述了特定示例性方面和实现。这些指示了一个或多个方面可以被使用所采用的各种方式中的仅一些。当结合附图考虑时,本公开的其它方面、优点和新颖特征从下面的详细说明书中将变得显而易见。【附图说明】图1是一种不例性场景的图不,所述场景表现用于完成在虚拟环境内执行的应用的组件请求的第一模型的特征。图2是一种不例性场景的图不,所述场景表现用于完成在虚拟环境内执行的应用的组件请求的第二模型的特征。图3是一种示例性场景的图示,所述场景表现根据在本文中呈现的技术的、用于完成在虚拟环境内执行的应用的组件请求的模型的特征。图4是一种根据在本文中呈现的技术的、完成在虚拟环境内执行的应用的组件请求的示例性方法的流程图。图5是一种根据在本文中呈现的技术的、被配置为完成在虚拟环境内执行的应用的组件请求的示例性系统的组件框图。图6是一种示例性计算机可读介质的图示,所述计算机可读介质包括被配置为体现在本文中阐述的条款中的一个或多个的处理器可执行指令。图7是一种示例性场景的图示,所述场景表现根据在本文中呈现的技术的、计算环境内的组件服务的第一实现的特征。图8是一种示例性场景的图示,所述场景表现根据在本文中呈现的技术的、计算环境内的组件服务的第二实现的特征。图9是一种示例性场景的图示,所述场景表现两种根据在本文中呈现的技术的、用于完成组件请求产生组件结果的技术的特征。图10示出了一种示例性计算环境,其中,在本文中阐述的条款中的一个或多个可以在所述计算环境中实现。【具体实施方式】现在参考附图描述所要求权利的主题,其中,自始至终,相同标号用于指示相同单元。在下面的描述中,为进行解释,阐述了大量特定细节以便提供对所要求权利的主题的彻底理解,然而明显的是,所要求权利的主题可以在没有这些特定细节的情况下实现。在其它情况下,以框图形式示出结构和设备以便帮助描述所要求权利的主题。A.引言 在计算领域内,许多场景涉及应用在设备上在虚拟环境内而非在该设备的原生计算环境内执行。作为第一示例,web浏览器可以为执行例如JavaScript和超文本标记语言(HTML)内容的不依赖设备的代码提供标准化平台。作为第二示例,Java虚拟机(JVM)可以在一般化计算设备与代表Java应用的设备原生功能之间提供桥梁(例如,将一般化存储器分配请求翻译为设备的存储器模型)。作为第三示例,针对第一设备的原生环境设计的代码可以通过仿真器在完全第二设备上执行,其中,所述仿真器在第二设备内提供对第一设备的模拟。作为第四示例,不受信任的代码可以在“沙盒”或虚假机器内执行,从而可以将恶意操作隔离到该虚假机器,并且,可以在没有破坏设备的风险的情况下由设备对不受信任代码在虚假设备上的效果进行评估。这些和其它场景呈现应用在虚拟环境内的执行。在许多所述场景中,除利用虚拟环境的资源外,应用可以涉及与设备的组件进行交互。作为第一示例,应用可以与设备的相机进行交互,例如以由相机捕获的相片图片开始的相片编辑应用。作为第二示例,位置感知应用可以请求根据设备的全球定位系统(GPS)接收器被通知设备当前位置或设备到达特定位置。作为第三示例,增强现实应用可以利用相机来捕获世界的当前景观以及利用GPS接收器来检测设备的当前位置和观察角度,以便在设备的显示器上叠加与在由相机捕获的图片中成像的物体相关的信息。应当认识到,所述场景涉及可能默认不被包括在虚拟环境中的设备功能。例如,web浏览器的典型配置不包括任何用于应用请求来自相机的相片或由GPS接收器检测的位置的功能,即使设备包括表现所述功能的特征的相机和/或GPS接收器。在所述动作超过虚拟环境的默认和标准化功能的情况下,设备可以提供各种机制来使所述应用能够代表设备的组件启动所述请求。图1呈现了表现设备102的特征的示例性场景100的图示,其中,设备102由用户104操作,并且被配置为在例如操作系统的计算环境106内执行一个或多个应用。在设备102上执行的应用可以包括直接利用计算环境106的资源的原生应用120和与虚拟环境的资源进行交互的在虚拟环境内执行的应用这两者,并且其中,所述虚拟环境通过代表所驻留的应用利用计算环境106的资源来完成这些请求。在该示例性场景100中,虚拟环境包括驻留web应用110的web浏览器108。本文档来自技高网...

【技术保护点】
一种系统,其被配置为,完成从设备上的虚拟环境内的应用接收的、在具有处理器和至少一个组件的设备上执行的组件请求,所述系统包括:组件请求启动组件,其被配置为,当从在所述虚拟环境内执行的应用接收到指定组件和对所述应用的回调的组件请求时:  存储关联于所述组件请求和所述应用的所述回调,以及  将所述组件请求发送给所述组件,以及  恢复所述应用在所述虚拟环境内的执行;以及回调调用组件,其被配置为,当检测到所述组件请求被所述组件完成时:  检索关联于所述组件请求的所述回调,以及  代表所述应用调用所述回调。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:B阿盖拉伊阿卡斯H费托西JD赫伯特B施勒辛格E亚里夫
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1