虚拟化嵌入式设备的制作方法

文档序号:6443608阅读:408来源:国知局
专利名称:虚拟化嵌入式设备的制作方法
技术领域
本发明涉及虚拟化嵌入式设备。
背景技术
当今在家庭、工作场所、商场等到处都有嵌入式设备。嵌入式设备包括从有线电视的机顶盒、到游戏控制台、冰箱、医疗设备、电源监视设备、自动售货机、问讯台等等。嵌入式设备通常包括与台式计算机相似的组件中央处理单元(CPU)、存储器、存储设备、有时的图形处理单元(GPU)、以及设备专用的外围设备。例如,数字视频记录(DVR)机顶盒可包括调谐器外围设备,而医用X光机可包括X射线捕捉外围设备。嵌入式设备是功能强大的,但在用途上常常受限制。嵌入式设备制造商常常为降低商品成本(COG)和减少用来构建设备的材料单(BOM)作出多种折衷。更新嵌入式设备可涉及刷新固件,这是许多用户感到不舒服的任务。因而,嵌入式设备常常以一次用于单一用途的方式销售,并且如果制造商想要实现新功能或更快的处理,则制造商常常尝试向用户销售更新版本的替换嵌入式设备。嵌入式设备产生大量浪费,因为用户常常在其不再适合其特定用途时丢弃该设备。例如,DVR可用具有更大存储容量的新DVR替换,或者医院可用包括彩色打印机或三维成像的超声波机器替换超声波机器。如果在嵌入式设备中发现差错,则标识有问题的所有实例并提供固件更新来修理该差错是耗时并困难的。因而,嵌入式设备的管理和控制常常是一个问题。此外,一些设备的配置和安装可超过普通用户的技术水平,使得在设备的初始设立中涉及昂贵的技术人员耗时。

发明内容
本文中描述了一种设备虚拟化系统,该设备虚拟化系统将嵌入式设备的普通计算机处理任务与嵌入式设备的专用外围设备分离开以允许设备的至少某些功能能被卸载到服务器或其他计算设备。一个极端是,使用该系统的虚拟嵌入式设备仅仅是在用户的场所上运行的一组远程外围设备,这些远程外围设备提供向在另一场所上运行的虚拟服务器传达的输入和输出。设备虚拟化系统大大简化虚拟嵌入式设备的管理、配置和控制。因为许多设备的软件在虚拟化服务器上运行,所以可指派信息技术(IT)人员管理虚拟化服务器并应用任何更新并诊断发生的任何问题。此外,单个服务器或服务器群组可用来向各种各样的用户提供各种各样虚拟化嵌入式设备的虚拟化服务。IT人员可应用更新、诊断配置问题、帮助设立设备以在用户环境中工作等等。此外,当标识出问题时,设备制造商可通过监视对使设备虚拟化的数据中心的输入和输出,具有对数量大得多的设备的访问权。这大大简化了问题的测试和诊断。此外,制造商可将便宜得多的设备运送到用户的场所,并可基于预订模型针对虚拟化服务器提供的给予虚拟化嵌入式设备其核心功能的服务向用户收取费用。这使得用户受益于定期更新, 而没有刷新固件更新的维护和技术困难。通过在多个场所安装更便宜、更紧凑的设备,多个用户还可共享单个虚拟化设备的处理能力以节约成本。因而,系统增强嵌入式设备的有用性,并且允许比当今的嵌入式设备更长的寿命和更宽泛的用途。提供本发明内容以便以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。


图I是示出一个实施例中的设备虚拟化系统的各组件的框图。图2是示出一个实施例中的设备虚拟化系统的用于在虚拟嵌入式设备处捕捉信息以供远程处理的处理的流程图。图3是示出一个实施例中的设备虚拟化系统的用于在普通虚拟化设施处处理虚拟设备信息的处理的流程图。图4是示出一个实施例中的设备虚拟化系统的示例性操作环境的框图。
具体实施例方式本文中描述了一种设备虚拟化系统,该设备虚拟化系统将嵌入式设备的普通计算机处理任务与嵌入式设备的专用外围设备分离开以允许设备的至少某些功能能被卸载到服务器或其他计算设备(即虚拟设备)。一个极端是,使用该系统的虚拟嵌入式设备仅仅是在用户的场所上运行的一组远程外围设备,这些远程外围设备提供向在另一场所上运行的虚拟服务器传达的输入和输出。例如,数据中心可向多个虚拟嵌入式设备提供处理和存储能力。作为一个实例,考虑具有DVR功能的机顶盒。当今,DVR基于安装在设备中的本地硬盘具有固定量的存储。如果硬盘将要填满,则DVR被编程为开始删除旧的记录节目和/或避免记录新的节目。当今的DVR是具有单一用途的独立设备。通过使DVR虚拟化,一些组件和功能可被移动到数据中心或其他场所。例如,设备的存储和处理能力可被卸载到数据中心,而保留调谐器和至家中视听设备的连接。用户可为数据中心中的实质上不受限制的存储支付,以使虚拟化DVR不会用完存储空间。此外,设备虚拟化系统大大简化虚拟嵌入式设备的管理、配置和控制。因为许多设备的软件在虚拟化服务器上运行,所以可指派信息技术(IT)人员管理虚拟化服务器并应用任何更新并诊断发生的任何问题。此外,单个服务器或服务器群组可用来向各种各样的用户提供各种各样虚拟化嵌入式设备的虚拟化服务。IT人员可应用更新、诊断配置问题、帮助设立设备以在用户环境中工作等等。此外,当标识出问题时,设备制造商可通过监视对使设备虚拟化的数据中心的输入和输出,具有对数量大得多的设备的访问权。这大大简化了问题的测试和诊断。此外,制造商可将便宜得多的设备运送到用户的场所,并可基于预订模型针对虚拟化服务器提供的给予虚拟化嵌入式设备其核心功能的服务向用户收取费用。这使得用户受益于定期更新,而没有刷新固件更新的维护和技术困难。通过在多个场所安装更便宜、更紧凑的设备,多个用户还可共享单个虚拟化设备的处理能力以节约成本。例如, 医院可在各个场所给予医生显示设备,该显示设备提供来自位于一家医院的单个共享的磁共振成像(MRI)或其他诊断机器的输出。因而,系统增强嵌入式设备的有用性,并且允许比当今的嵌入式设备更长的寿命和更宽泛的用途。
设备虚拟化系统充分利用服务器的能力、多功能性、场所和费用结构来传递各个嵌入式设备的功能性。目前许多公司正在构建很好地适于执行当今嵌入式设备的一些任务的数据中心。在一些实施例中,虚拟嵌入式设备包括手持式屏幕或监视器,而整个处理能力驻留于位于远程某处的虚拟化服务器中。用户无缝地感受到他们就像在使用真正的嵌入式设备或虚拟设备。考虑例如MRI、超声波、或其他医疗诊断机器坐落于远程某处,而医生/护士仅带有可轻松携带的手持式扫描仪的情况。此诊断机器是足够强大、从而能够同时处理多个请求的。以此方式,维护成本下降,因为仅有在一个场所的由多家医院共用的单个团队所维护的一台功能强大的机器,因此维护费用也被分摊。设备的虚拟化通过在就像桌面客户机和服务器的操作系统级别的虚拟化来实现。与多个分布式设备相反,任何更新都被推送至中央设备。与使用虚拟机器相反,这真正虚拟化了嵌入式设备本身以能够获得虚拟化的所有益处。与重复销售经改进的物理设备相反,这允许设备的基于服务模型。如果例如任一医院仅仅需要使用来自该设备的一项特定服务,则他们可只支付该一项服务。在一些实施例中,每个嵌入式设备像哑终端,而所有处理能力被推送至远程虚拟机器。这意味着,与当今嵌入式设备相比,这些嵌入式设备可显现为处理多得多的信息,并且设备制造商不必担心处理能力以及覆盖范围,因为虚拟机器可与台式机、服务器或大型机一样功能强大。该系统使得设备能更像桌面客户机和服务器地得到管理。与当今为嵌入式设备构建专用知识相反,该系统为所有设备实现途径的通用化和标准化。这有助于构建更为一致的设备体验,并且使得跨设备地编写应用程序、且只对在哑终端级别可控制的分辨率/显示器和特定外围设备有改变更为容易。此时,嵌入式设备与桌面客户机和服务器更为无缝地相像。为一个设备编写的应用程序可被许多嵌入式设备无缝且互换地利用。位于这些嵌入式设备之后的虚拟机器可标识任何应用程序、操作系统、或安全补丁更新,并且能够基于所设立的策略在有/无用户许可的情况下下载和/或调度它们。这使得设备体验跨设备地简单、无缝、集成、功能强大、以及标准,而不管正在使用来自制造商的哪个设备。 不同制造商仍可基于他们所创建的体验以及他们能够以虚拟机器的支持和服务提供的处理能力来控制其市场。这通过使用设备的基于服务模型来允许更大的灵活性,其中各个设备大都驻留在云中。虚拟设备可为各种各样的用途提供服务。例如,实现系统的电视可将视频数据的处理卸载到数据中心。视频回放通常涉及使用一个或多个编解码器来解压缩视频和音频数据,并将其从存储格式解释成回放格式。编解码器随着时间改变以添加更多压缩、附加特征 (例如更多的扬声器声道、三维数据等等)等等。通常嵌入式设备难以跟上编解码器更新, 这可导致不能回放特定类型的内容。当今,如果制造商使得一个固件更新可用,则这通过固件更新来处理,或者在制造商没有固件更新的情况下通过购买新设备来处理。设备虚拟化系统可在远程数据中心或用新的编解码器和/或其他改进频繁和自动更新的其他场所执行处理。此外,设备虚拟化系统允许一个嵌入式设备有可能通过预订附加远程服务来用于多个功能。例如,游戏控制台可包括光驱和至用户家中的视听设备的连接,以供玩游戏之用。用户可在后来为附加服务支付,诸如使用游戏控制台的光驱播放电影的能力、浏览因特网的能力等等。该设备包括用于这些服务的硬件,并可充分利用用以添加附加功能的处理和远程存储逻辑。用户甚至可停止将设备用作游戏控制台的支付,以使设备对用户的用途随时间而改变。图I是示出一个实施例中的设备虚拟化系统的各组件的框图。系统100包括远程输入组件110、远程输出组件120、设备标识组件130、通信组件140、虚拟设备处理组件150、 虚拟设备存储组件160、以及专用软件组件170。此处进一步详细地描述这些组件中的每一个。远程输入组件110从安装在嵌入式设备中的一个或多个输入设备中捕捉嵌入式设备处的输入。输入的类型取决于嵌入式设备的用途而改变。对于DVR,输入可包括表示电视节目的压缩视听数据形式的调谐器输入、或来自用户通过其请求录制节目或改变频道的遥控器的输入。对于医用X射线机器,输入可包括X射线成像数据。嵌入式设备的数量和变体是相当多的,并且本领域普通技术人员将理解,有能够向远程输入组件110提供输入的许多类设备。然而,与先前的系统不同,远程输入组件110封装输入以供经由通信组件 140传输给远程虚拟化设备。远程输出组件120接收嵌入式设备上的输出,并向用户或其他组件提供输出。该输出可包括诸如向屏幕或监视器的显示的视觉输出、诸如通过扬声器播放声音的音频输出、诸如用机械臂或其他外围设备移动物体的机械输出、等等。输出的类型取决于嵌入式设备的用途而改变。远程输出组件120通过通信组件140接收经由远程虚拟化设备处理后的输出。与传统嵌入式设备不同,对输入的部分或全部的处理在远程虚拟化设备上进行,并且本地嵌入式设备主要负责捕捉输入并提供输出。设备标识组件130标识特定嵌入式设备并通知虚拟设备处理组件150,以使虚拟设备能提供任何专用处理。虚拟化设备可针对各种嵌入式设备执行处理和/或存储,并且设备标识组件130使得虚拟化设备能够理解虚拟化设备对其执行处理的嵌入式设备的类型和实例两者。设备的类型将帮助虚拟化设备经由专用软件组件170加载任何专用软件代码,并执行任何专用处理。设备的实例可帮助虚拟设备监视预订或支付的状态,以确定特定嵌入式设备是否获得授权来请求虚拟化设备的服务。通信组件140提供嵌入式设备与虚拟化设备之间的通信信道。该信道可包括诸如因特网的公共网络,以及诸如企业局域网(LAN)的专用网络。该信道可使用各种公知协议来传输数据,诸如传输控制协议(TCP)或用户数据报协议(UDP)。通信组件140可包括安装在嵌入式设备中用于创建与设备的连接的硬件、以及用于监视连接并处理任何所接收到的输出的少量不频繁改变的软件。虚拟设备处理组件150提供虚拟设备上的处理资源,用于执行与嵌入式设备的用途相关的动作。例如,如果嵌入式设备是冰箱,则处理组件150可监视温度并指示压缩机运行、直到达到指定温度。虚拟设备处理组件150从设备标识组件130接收设备标识信息,并调用专用软件组件170以加载所标识嵌入式设备的操作专用的任何应用软件代码。如果应用软件代码已被经更新版本所取代,则虚拟设备处理组件150可在执行任何处理之前透明地更新应用软件代码,或者执行自动地或由管理虚拟化设备的IT人员确定的任何其他维护任务。虚拟设备处理组件150还可将处理任务输出给云计算服务,诸如在预订或其他基础上提供灵活的处理资源的MICROSOFT TM AZURE TM或Amazon EC2。整个系统100可在云平台上安装,以使用户位置处的本地嵌入式设备捕捉输入并提供输出,同时云平台提供处理、存储和其他资源。这产生了可极度缩放的模型,并降低制造商发行新嵌入式设备的价格。有了既使嵌入式设备本身更便宜、又避免在线服务的昂贵扩建成本的能力,制造商可集中解决特定问题。随着设备/解决方案的流行度增加,制造商可快速地制造更多的嵌入式设备,并利用更多的云平台资源来平滑地缩放。虚拟设备存储组件160在虚拟化设备上提供存储资源,以供代表嵌入式设备持久地存储数据。存储资源可包括一个或多个存储器内的数据结构、文件、文件系统、硬盘驱动器、外部存储设备、数据库、存储区域网络(SAN)、基于云的存储服务、或用于在与嵌入式设备的通信之间持久地存储数据的其他设施。例如,如果嵌入式设备提供对诸如DVR或备用设备的内容的访问权,则虚拟设备存储组件160可代表嵌入式设备存储视听文件或备份数据。替代购买具有固定大小的传统备用设备,用户可购买与虚拟设备通信以向用户提供用户需要或想要支付的那么多的存储的备用设备。随着时间的流逝用户的需要可改变,从而所需要的存储可以更多或者更少,但是用户能继续从同一嵌入式设备中取得价值、并基于改变的需要来调节用户的预订计划。专用软件组件170管理为之设计嵌入式设备的应用专用的任何进程。组件170可包括在虚拟化设备的场所并远离嵌入式设备地集中安装并使用的软件代码和硬件组件。在专用软件组件170表示软件代码时,软件代码可通过在虚拟化设备上更新软件而无需访问甚至知道在各个场所存在的各个嵌入式设备来集中地更新和管理。在更新之后用户下一次使用嵌入式设备时,用户可简单地发现,已基于在虚拟化设备上进行的更新用新功能或经纠正差错更新了设备。特定虚拟化服务器通过按需存储并加载多个专用软件组件170,可向各种类型的嵌入式设备和用途提供处理和存储服务。其上实现设备虚拟化系统的计算设备可包括中央处理单元、存储器、输入设备 (例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器或其他非易失性存储介质)。存储器和存储设备是可用实现或启用该系统的计算机可执行指令 (例如,软件)来编码的计算机可读存储介质。另外,数据结构和消息结构可被存储或经由数据传送介质传送,诸如通信链路上的信号。可使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。该系统的实施例可在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括以上系统或设备中的任一种的分布式计算环境、机顶盒、片上系统(SOC)等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。该系统可在由一个或多个计算机或其他设备执行的计算机可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图2是示出一个实施例中的设备虚拟化系统的用于在虚拟嵌入式设备处捕捉信息以供远程处理的处理的流程图。从框210开始,系统在嵌入式设备上接收来自附连至嵌入式设备的一个或多个传感器或外围设备的输入。嵌入式设备向位于数据中心、其他集中场所、或与嵌入式设备共位的计算系统的虚拟设备提供感觉输入,以向嵌入式设备和可能的一个或多个其他嵌入式设备提供处理、存储或其他资源。该嵌入式设备可经由因特网或专用网络连接至虚拟设备,以提供对虚拟设备的输入并接收来自该虚拟设备的输出。安装在嵌入式设备内的传感器或外围设备捕捉来自嵌入式设备周围的环境的一种或多种类型的输入数据,并向虚拟设备提供输入。例如,该数据可包括调谐器输入、温度输入、音频输入、视频输入、机械输入等等。在框220继续,系统标识接收到其输入的嵌入式设备。该嵌入式设备可包括存储在只读存储器(ROM)或其他本地存储内的标识设备的类型和/或实例的设备标识符。该类型可指定嵌入式设备的用途,而实例可指定用于区分相同类型设备的序列号或其他基本上唯一的标识符。嵌入式设备向虚拟设备提供设备标识符,以使虚拟设备知道如何处理接收到的输入。在框230继续,系统向虚拟设备发送设备标识以供处理。嵌入式设备经由所连接的网络发送设备标识符并可执行设立阶段,在该设立阶段期间嵌入式设备打开与虚拟设备通信的信道并标识自己一次,以供在一个或多个后续通信中用来向虚拟设备提供输入并接收来自该虚拟设备的输出。基于接收到的设备标识,虚拟设备加载任何专用指令以供处理来自嵌入式设备的输入。在框240继续,系统向虚拟设备发送接收到的输入以供处理。虚拟设备对接收到的输入执行任何专用处理并产生结果或其他输出。该处理的类型可随着可用嵌入式设备的类型而宽泛地改变。对于捕捉记录的DVR,虚拟设备可接收来自嵌入式设备的调谐器输入、压缩/编码该输入、并将输入存储在与虚拟设备相关联的存储中。对于执行回放的DVR, 虚拟设备可接收诸如播放、暂停、和快进的控制请求,并提供经编码的视听数据作为可在嵌入式设备的显示器上回放的输出。其他类型的设备可向虚拟设备请求不同类型的处理,其最终结果是与当今的以显著硬件成本在嵌入式设备本身上执行基本上所有功能的设备相比,嵌入式设备将相当量的处理和其他资源消耗卸载到虚拟设备。在框250继续,系统在嵌入式设备上接收来自虚拟设备的远程处理结果。该远程处理结果可包括指示处理所发送输入是失败还是成功的结果代码、以及由虚拟设备提供的任何输出,作为由虚拟设备执行的处理的结果。在一些情形中,虚拟设备仅仅代表嵌入式设备存储数据,并且处理结果可包括嵌入式设备从虚拟设备请求的数据。在其他情形中,处理结果可包括由虚拟设备代表嵌入式设备执行的实质计算的结果。在框260继续,系统在嵌入式设备上提供从虚拟设备接收的输出。该输出可包括在屏幕或扬声器组合上回放的视听数据、提供给诸如机械臂的机械外围设备的机械数据、 诸如存储至虚拟设备的先前备份数据的二进制数据、或任何其他类型的数据。在框260之后,这些步骤结束。图3是示出一个实施例中的设备虚拟化系统的用于在普通虚拟化设施处处理虚拟设备信息的处理的流程图。从框310开始,系统在虚拟设备上接收标识嵌入式设备的信息,该嵌入式设备依赖于用于处理的虚拟设备或其他资源以执行嵌入式设备的功能。嵌入式设备可发送标识设备的类型和/或实例的设备标识符、以及接收到的输入。该类型可指定嵌入式设备的用途,而实例可指定用于区分相同类型设备的序列号或其他基本上唯一的标识符。虚拟设备确定嵌入式设备的设备类型,并从与虚拟设备相关联的数据存储加载任何专用处理信息。嵌入式设备的制造商可向虚拟设备的操作者提供初始的专用软件代码或用于管理嵌入式设备的其他信息,以及用于随着时间的流逝修复差错或升级功能的周期性更新。在框230继续,系统基于接收到的设备信息加载与嵌入式设备相关的专用信息。 虚拟设备可包括具有存储量的数据存储,其包含供虚拟设备代表各种嵌入式设备动作的各种专用处理指令。虚拟设备可向嵌入式设备提供处理、存储或其他资源,从而使嵌入式设备能减少或消除某些组件和成本。在框330继续,系统在虚拟设备上接收来自安装在嵌入式设备中的一个或多个外围设备的嵌入式输入。所接收到的输入形成先前在嵌入式设备上处理但现在改为在虚拟设备上进行处理的输入。该输入可包括调谐器输入、温度输入、音频输入、视频输入、机械输入等等。嵌入式设备经由将嵌入式设备连接至虚拟设备的网络发送一个或多个输入消息,并且虚拟设备接收输入并执行指定处理。在框340继续,系统基于专用信息在虚拟设备上处理接收到的嵌入式输入。该处理可包括代表虚拟设备存储数据、对该输入执行计算、采集来自其他源(例如公共数据库) 的附加数据等等。虚拟设备提供处理器、存储和其他资源来对嵌入式设备所提供的输入动作。这使得嵌入式设备能忽略这些资源或者使用更简单版本的资源来减少嵌入式设备成本并简化嵌入式设备配置和维护。在框350继续,系统标识处理嵌入式输入的一个或多个结果。结果可包括错码、成功码、输出数据、导出信息等等。虚拟设备的处理产生先前在过去系统中的嵌入式设备上生成的输出。虚拟设备然后向嵌入式设备提供所产生的输出,以使嵌入式设备的用户可能不知道嵌入式设备本身不执行所有操作。使得设备虚拟化系统成为可能,其部分是通过各种计算设备之间的快速联网连接的近乎无所不在的可用性。在框360继续,系统将来自虚拟设备的所标识结果发送至嵌入式设备作为输出, 以提供给嵌入式设备的用户。结果可包括用于在监视器上回放的嵌入式设备的视频数据、 供在扬声器上回放的声音数据、用于控制嵌入式设备的机械外围设备的机械数据等等。在框360之后,这些步骤结束。图4是示出一个实施例中的设备虚拟化系统的示例性操作环境的框图。该框图包括通过网络440连接的嵌入式设备410和虚拟设备450。嵌入式设备410可安装在家里、小型办公室内或包括本地信息且用户已购买嵌入式设备410以实现某用途的其他环境中。嵌入式设备包括从嵌入式设备410的本地环境采集数据并提供反馈的一个或多个嵌入式输入外围设备420和一个或多个嵌入式输出外围设备430。连接嵌入式设备410和虚拟设备 450的网络440可包括足够快以使虚拟设备450能够代表嵌入式设备410执行一个或多个功能并没有过度延迟地将数据返回给用户的因特网或任何其他网络。虚拟设备450可远程地位于数据中心或其他处理设施,或者可以是在嵌入式设备 410所处场所中的服务器或其他可用资源。虚拟设备450包括由嵌入式设备410用来执行通常由嵌入式设备410执行的一个或多个功能的至少一个虚拟资源460。虚拟资源460可包括处理器、存储设备、联网设备、或代表嵌入式设备410动作的其他资源、以及可能的其他嵌入式设备(未示出)。虚拟设备450实现与嵌入式设备410相关联的应用程序代码的集中管理,以及实现虚拟资源460的共享和更便宜的嵌入式设备410的组件成本。在一些实施例中,设备虚拟化系统使用虚拟设备模拟一个或多个嵌入式设备,以帮助嵌入式设备制造商测试与嵌入式设备相关的软件代码或其他信息。替代设立硬件的复杂测试阶段,制造商可测试许多情形,包括通过模拟嵌入式设备的输入和输出、并对虚拟设备监视差错和性能问题来测试系统向许多设备的可缩放性。该系统大大地简化了原先用物理设备将难以重现的实际情形的测试和重建。在一些实施例中,设备虚拟化系统基于一个或多个虚拟设备可用的共享数据向设备制造商提供报告。因为嵌入式设备的存储大多集中在虚拟设备,所以设备制造商可挖掘用先前的嵌入式设备难以获得的数据财富。例如,通过访问与虚拟设备相关联的中央数据存储,每个用户已配置设备的方式、最常使用的功能、以及其他有价值的信息都可能是可获得的。此外,制造商可通过在嵌入式设备请求出现时对其记流水账和记日志,请求收集附加数据。这样,制造商可确定关于最常用特征、典型配置、共同问题等等的信息。在一些实施例中,设备虚拟化系统向嵌入式设备的用户提供预订模型,用于针对虚拟设备的使用补偿设备制造商。例如,虚拟设备可基于用户购买的预订等级提供可缩放的处理或存储量。用户可通过移动至更为特征丰富的预订计划来从嵌入式设备获取更多功能,从而使得制造商在虚拟设备上实现不同特征。在一些实施例中,设备虚拟化系统在虚拟设备上执行自动更新,这将嵌入式设备的用户从嵌入式设备的维护和更新中解放出来。通过更新在虚拟设备上使用的软件和其他信息,嵌入式设备行为改变,并且用户从所提供的任何更新获益。从前面的描述中可以看出,可以理解,此处描述的虚拟化系统的特定实施例只是为了说明,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。
权利要求
1.一种用于在嵌入式设备上捕捉信息以供在代表所述嵌入式设备动作的虚拟设备上远程处理的计算机实现的方法,所述方法包括在嵌入式设备上接收(210)来自附连至所述嵌入式设备的一个或多个传感器或外围设备的输入;标识(220)接收到其输入的所述嵌入式设备;将所述设备标识发送(230)给所述虚拟设备以供处理;将所接收到的输入发送(240)给所述虚拟设备以供处理;在所述嵌入式设备上接收(250)来自所述虚拟设备的远程处理结果;以及在所述嵌入式设备上提供(260)从所述虚拟设备接收的输出,其中先前步骤由至少一个处理器执行。
2.如权利要求I所述的方法,其特征在于,接收嵌入式设备输入包括捕捉来自所述嵌入式设备周围的环境的一种或多种类型的输入数据,并向所述虚拟设备提供输入。
3.如权利要求I所述的方法,其特征在于,标识所述嵌入式设备包括确定所述嵌入式设备的类型和实例标识符,其中所述实例标识符区分相同类型设备的不同实例。
4.如权利要求I所述的方法,其特征在于,向所述虚拟设备发送所述设备标识包括经由将所述嵌入式设备连接至所述虚拟设备的网络发送所述标识,以使所述虚拟设备能远程地处理来自所述嵌入式设备的输入。
5.如权利要求I所述的方法,其特征在于,向所述虚拟设备发送所述设备标识包括执行打开与所述虚拟设备的通信信道的设立阶段,以供在一个或多个后续通信中用来向所述虚拟设备提供输入并接收来自所述虚拟设备的输出。
6.如权利要求I所述的方法,其特征在于,发送所接收到的输入包括请求所述虚拟设备对所接收到的输入执行专用处理,并产生结果以提供给所述嵌入式设备。
7.如权利要求I所述的方法,其特征在于,接收远程处理结果包括接收指示处理所发送的输入是失败还是成功的结果代码。
8.如权利要求I所述的方法,其特征在于,接收远程处理结果包括接收输出以供向所述嵌入式设备的用户显示。
9.如权利要求I所述的方法,其特征在于,提供输出包括向所述嵌入式设备的一个或多个输出外围设备提供所述输出以在所述嵌入式设备周围的环境中执行动作。
10.一种用于通过将嵌入式设备的至少一些功能卸载到虚拟设备来虚拟化所述嵌入式设备的计算机系统,所述系统包括被配置成执行包含在以下组件内的软件指令的处理器和存储器;远程输入组件(110),从安装在所述嵌入式设备中的一个或多个输入设备中捕捉所述嵌入式设备处的输入;远程输出组件(120),接收所述嵌入式设备上的输出,并向用户或其他组件提供所述输出;设备标识组件(130),标识特定嵌入设备并通知所述虚拟设备处理组件,以使所述虚拟设备能提供任何专用处理;通信组件(140),提供所述嵌入式设备与所述虚拟设备之间的通信信道;虚拟设备处理组件(150),提供所述虚拟设备上的处理资源,用于执行与所述嵌入式设备的用途相关的动作;虚拟设备存储组件(160),在所述虚拟设备上提供存储资源,以供代表所述嵌入式设备持久地存储数据;以及专用软件组件(170),管理为之设计所述嵌入式设备的应用所专用的一个或多个进程。
11.如权利要求10所述的系统,其特征在于,所述远程输入组件封装所接收到的输入以供经由所述通信组件传输至处理所述输入的远程虚拟设备。
12.如权利要求10所述的系统,其特征在于,所述设备标识组件使所述虚拟设备能监视预订或支付的状态以确定所述嵌入式设备是否获得授权以从所述虚拟设备请求一个或多个所标识的服务。
13.如权利要求10所述的系统,其特征在于,所述通信组件包括安装在所述嵌入式设备中用于创建与所述设备的连接的硬件、以及用于监视所述连接并处理任何从所述虚拟设备接收到的输出的少量不频繁改变的软件。
14.如权利要求10所述的系统,其特征在于,所述虚拟设备处理组件从所述设备标识组件接收设备标识信息,并调用所述专用软件组件以加载所标识嵌入设备的操作专用的任何应用软件代码。
15.如权利要求10所述的系统,其特征在于,所述专用软件组件包括在所述虚拟设备的场所并远离所述嵌入式设备地集中安装并使用的软件代码,以使所述软件代码能通过在所述虚拟设备上更新所述软件而无需涉及所述嵌入式设备来集中地更新和管理。
全文摘要
本发明涉及虚拟化嵌入式设备。本文中描述了一种设备虚拟化系统,该设备虚拟化系统将嵌入式设备的普通计算机处理任务与嵌入式设备的专用外围设备分离开以使设备的至少某些功能能被卸载到服务器或其他计算设备。设备虚拟化系统大大简化虚拟嵌入式设备的管理、配置和控制。因为许多设备的软件在虚拟化服务器上,所以可指派信息技术(IT)人员管理虚拟化服务器并应用任何更新并诊断发生的任何问题。此外,单个服务器或服务器群组可用来向各种各样的用户提供各种各样虚拟化嵌入式设备的虚拟化服务。因而,系统增强嵌入式设备的有用性,并且允许比当今的嵌入式设备更长的寿命和更宽泛的用途。
文档编号G06F9/455GK102609297SQ20111044602
公开日2012年7月25日 申请日期2011年12月27日 优先权日2010年12月28日
发明者D·福蒂尔, P·西格罗哈 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1