CN101490645A - 用以设备虚拟化的方法及设备 - Google Patents

用以设备虚拟化的方法及设备 Download PDF

Info

Publication number
CN101490645A
CN101490645A CNA2007800262229A CN200780026222A CN101490645A CN 101490645 A CN101490645 A CN 101490645A CN A2007800262229 A CNA2007800262229 A CN A2007800262229A CN 200780026222 A CN200780026222 A CN 200780026222A CN 101490645 A CN101490645 A CN 101490645A
Authority
CN
China
Prior art keywords
equipment
application program
user
server
personal computer
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
Application number
CNA2007800262229A
Other languages
English (en)
Inventor
贝内迪克特·T·钟
马克·M·李
菲利普·许
罗伯特·P·何
托马斯·邓
方文琦
方迅
路玉忠
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.)
DEVICE VM Inc
Original Assignee
DEVICE VM Inc
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 DEVICE VM Inc filed Critical DEVICE VM Inc
Publication of CN101490645A publication Critical patent/CN101490645A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用以设备(appliance)虚拟化的方法及设备可提供一嵌入式操作系统(OS),其被包含在一个人计算机的系统开机加载(boot)ROM内。当该系统开机加载时,即启动该OS,并从例如下列位置寻找所有的可用虚拟设备:本地USB、闪存,例如SD、xD、CF、CDROM/DVD,或其它储存介质:本地硬盘储存装置;以及因特网,即如一设备服务器。使用者从该OS选择一设备以供使用,而此时即加载该设备并启动。若该所选定设备并非位于一本地储存装置上,则会下载该所选定设备,即如从一设备服务器并通过因特网进行下载。可于本地储存介质中高速缓冲存储该经下载的设备,使得下一次需要时,即无须从该设备服务器下载。若已安装了一操作系统及硬盘,或者是将该系统关机的情况下,则该使用者亦可选择从该硬盘开机加载一操作系统。

Description

用以设备虚拟化的方法及设备
相关申请的交叉引用
本申请要求2006年7月10日提交的美国临时专利申请序列号60/806,915和2007年2月15日提交的60/890,121的优先权,在此引入其每个的全部内容作为参考。
发明背景
技术领域
本发明是有关于虚拟化。更特别地,本发明是有关于一种用以设备虚拟化的方法及设备。
现有技术的描述
在计算领域里,虚拟化一广泛词汇,这是指计算机资源的抽象化。一适用定义是一用以将计算资源的实体特征隐藏于其它与该等资源进行互动的系统、应用程序或末端使用者的方式的技术。这包含令一单一实体资源,像是一服务器、一操作系统、一应用程序或储存装置,以运作如多个逻辑资源;或者可包含使多个实体资源,像是储存装置或服务器,看似一单一逻辑资源。请参见Wikipedia。
然而,此词汇是一旧有词汇:自从60年代或更早即已广泛使用,并且已被应用于众多不同方面及范围的计算产业,从整台计算机系统至个别功能或组件。所有虚拟化技术的共同主题透过封装处理以隐藏技术细节。虚拟化可产生一外部界面,而这可即如通过多任务存取、通过合并位于不同实体位置处的资源,或是通过简化一控制系统,以隐藏一底层的实作项目。而新式虚拟化平台及技术的近来发展既已重新聚焦于这一成熟概念。
存在有多种平台虚拟化的方式,可依据如何实施完成一硬件仿真而如后文所列。下列词汇并非经普遍认可,然而确可在文献中寻得所有底层概念。
模拟:虚拟机器仿真整个硬件,这可让一全然不同的CPU的未经修改子OS(guest OS)能够运行。而在实体地可用之前,此方式长久以来即运用以产生用于新处理器的软件。范例包含Bochs、PearPC、Virtual PV的PowerPC版本、QEMU,而无须加速作业,和Hercules仿真器。可利用各种技术以实作仿真作业,从状态机至一完全虚拟化平台上的动态再编译应用。
原生虚拟及完整虚拟:虚拟机器仿真足够的硬件以让一未经修改子OS,亦即为相同CPU所设计的,能够隔离运行。通常,可同时运行多个实例。这种方式首先是于1966年在CP-40及CP[-67]*CMS上开发,为IBM的VM家族的先驱。范例包含VirtualBox、Virtual Iron、Virtual PC、VMware Workstation、VMware Server(前称为GSX Server)、VMware ESX Server、QEMU、ParallelsDesktop、Adeos、Mac-on-Linux、Win4BSD、Win4Lin Pro及z/VM。
部分虚拟化,包含地址空间虚拟化:虚拟机器仿真一底层硬件环境的多项,尤其是地址空间的多个实例,然非所有实例。此一环境支持资源共享及处理程序隔离,然并不准允个别子操作系统实例。在本质上,一般虽并不将此视为虚拟机器范畴,然在历史上此曾为一重要方式,并且在像是CTSS的系统,此为实验性IBM M44/44X,以及像是OS/VS1、OS/VS2及MVS的系统中所运用。而许多新近系统,像是Microsoft Windows和Linux以及下列的其它领域,亦皆采用中一基本方式。
准虚拟化:虚拟机器并不必然地仿真硬件,而是可另替或另增地提供一特殊API,其可仅通过修改该子OS所使用。此一系统对该超管理器的呼叫在Xen、Parallels Workstation及Enomalism里是称为一超呼叫;这在IBM的CMS是在VM下通过一DIAG(“诊断”)硬件指令所实施,这是该“超管理器”的词汇的起源。范例包含Win4Lin 9x、Sun的Logical Domains,以及z/VM。
操作系统层级虚拟化:在操作系统层级处将一实体服务器虚拟化,可让多个经隔离且可靠虚拟化的服务器能够运行于一单一实体服务器上。子OS环境共享与该主置系统相同的OS,亦即利用相同的OS核心以实现该等子环境。在一给定子环境内运行的应用程序视其为一单立式系统。范例为LinuxVServer、Virtuozzo(用于Windows或Linux)、OpenVZ、Solaris Containers以及FreeBSD Jails.
应用程序虚拟化:在一适当的虚拟机器里,利用本地资源而按本地方式运行一桌上型计算机或服务器应用程序。这是相对于按如传统的本地软件方式,亦即软件已经安装于该系统上,以运行应用程序。此一虚拟化应用程序运行于一小型虚拟环境下,此环境含有为执行所需要的元件,像是注册项目/档案、环境变量、用户界面构件以及整体对象。此虚拟环境可作为一在该应用程序与该操作系统之间的叠层,并且消除应用程序冲突及应用程序-OS冲突。范例包含Sun Java Virtual Machine、Softricity、Thinstall、Altiris以及Trigence.
而有鉴于对虚拟化的兴趣,提供一种用于设备虚拟化的方法及设备会为有利。
发明内容
本发明是有关于一种用以设备虚拟化的方法及设备。在一现有较佳具体实施例里,将一嵌入式操作系统(OS)包含在一个人计算机的系统开机加载ROM内。该嵌入式OS快速地开机加载并且安装对于网络存取及潜在的图形显示来说必要的驱动程序。该开机加载程序耗时~3秒以具备一实时开动外观。然后该嵌入式OS立即地存取该网络,以撷取一虚拟设备并予执行,或是可从自该BIOS ROM或其它储存媒体撷取一虚拟设备。正常情况下,该BIOS ROM虚拟设备是一电子程序导引(EPG)。该EPG系类似于与一机顶盒一起设置的那些EPG,原因在于使用上具有简易性及直观性。当该系统开机加载时,该EPG是一使用者所见到的第一个图像。该EPG可显示例如来自于下列位置的所有可用虚拟设备:本地USB、闪存卡,即如SD、xD、CF、CDROM/DVD,或其它储存介质;本地硬盘储存装置;以及因特网,即如一设备服务器。在此公开的嵌入式OS的情况下,该使用者从该EPG以选择一设备以供使用,而此时即加载该设备并予启动。若该所选定设备并非位于一本地储存装置上,则会即如从一设备服务器并通过因特网进行下载。经下载的设备可高速缓冲存储于本地储存介质,使得下一次需要时,即无须从该设备服务器下载。该使用者亦可选择从该硬盘开机加载一操作系统,若已安装有一操作系统及硬盘,或者将该系统关机。
附图说明
图1是一流程图,此图显示根据本发明,可按片段方式下载并执行一虚拟设备以缩短使用者等待时间的处理流程;
第2图是一区块略图,此图显示一根据本发明,用以储存并高速缓冲存储数据/应用程序片段的模型;
第3图是一区块略图,此图显示一根据本发明的系统服务器后端;
第4图是一区块略图,此图显示一根据本发明的较佳系统架构;
第5图是一区块略图,此图显示一根据本发明,VM软件堆栈以及该堆栈片段的常驻之处;
第6图是一略图表示,此图显示一根据本发明,VM开机加载器及相关模块;
第7图是一根据本发明,具有一仿真盘片而用于真实模式操作的内存堆栈的略图表示;
第8图是一根据本发明,具有一固定内存地址而用于真实模式操作的内存堆栈的略图表示;
第9图是一根据本发明,具有一仿真磁盘及一大型后开机加载酬载而用于真实模式操作之内存堆栈的略图表示;
第10图是一根据本发明,具有一固定内存地址及一大型后开机加载有效负载(payload)而用于真实模式操作的内存堆栈的略图表示;
第11图是一流程图,此图显示在BIOS POST之后的处理程序,包含根据本发明在客户端与服务器之间为以下载虚拟设备的握手处理。
本发明的详细描述
术语
下列词汇在本文中按如下定义所使用:
BIOS:一个人计算机上的初始开机启动程序代码
VA:虚拟设备或应用程序
ROM:一个人计算机主机板上的装置,其中含有该BIOS
VoIP:IP上语音
P2P:端对端
EPG:电子程序导引,亦即一图形用户界面,其显示出一虚拟设备列表
NTFS:由例如Windows XP所使用的档案系统格式
MBR:主开机加载记录,一硬盘驱动器的第一,例如63个区段。该第一区段含有初始开机加载程序代码及一分割表。
讨论
本发明的一具体实施例允许按一类似于一设备的方式使用一个人计算机。通过下载并运行一虚拟设备,可提供该个人计算机一设备状功能与界面。该个人计算机可成为一具有一便捷且易于使用的用户界面的专属功能装置。一本发明的该具体实施例对一个人计算机提供一设备组态,而能够进行例如下列项目:
-下载一电视设备以播放串流视频、电影及TV内容;
-下载一音频播放器设备以播放串流音频内容;
-下载一CD/VCD/DVD播放器设备以播放本地音频/视频内容;以及
-下载运用于下列应用程序的广泛各种个人计算设备:
-VOIP,即如Skype等等
-网页浏览
-一般办公室工作,即如文书处理、电子表格
-一般生产工作,即如日历、工作记录
-电子通讯,即如即时消息、电子邮件等等
-一般个人计算机维护工作,即如BIIOS更新、诊断、系统备份及复原
-复杂计算机服务,即如远程复杂诊断、连接至一支持中心,以及系统的技术支持控制
-一般产品支持工作,即如更新、除错
-电子娱乐,即如在线游戏
-全展式OS,像是Windows,而经包装于一虚拟化分层内,因此该OS可按与DVM嵌入式OS平行的方式运行
-当主OS在背景下开机加载时,可供使用瞬时启动环境
-一旦经完全开机载入并且使用者切换至主OS之后,主OS即能专属地存取至硬件
从而,此一本发明具体实施例提供一种对于数字家庭而言真正的媒体、娱乐及生产力中心。因此,任何例如在该开机加载ROM里经预载有在此公开的本发明技术的个人计算机,无论是否安装有硬盘或操作系统都能够运作为一设备。
实现/安装
可将一电子程序导引(EPG)纳入在系统开机加载ROM之内。该EPG是类似于设置于一机顶盒之内的那些EPG,原因在于这对使用者而言具有简易性及直观性。在一具体实施例,该EPG包含一切换机制,像是一坞站面板、应用程序启动棒、卷转棒、软式点键或实体按键,此者让使用者能够建立出对于EPG的单按式个人设定(personality)。
当系统开机加载或者在一倒数逾时并且其它使用者选择瞬时启动之前,即启动该嵌入式OS。其从例如下列位置寻找所有的可用虚拟设备并在该EPG中加以显示:
-本地USB、闪存卡,例如SD、xD、CF、CDROM/DVD,或其它储存介质
-本地硬盘储存装置
-因特网,例如一设备服务器
在一典型机顶盒内的OS里,使用者选择TV或电影内容以进行播放。在本文的EPG情况下,使用者选择一欲使用的设备,而此刻即加载且启动该设备。若所选定设备并不在一本地储存装置上,则将例如通过因特网从一设备服务器下载。所下载的设备可高速缓冲存储于本地储存媒体内,使得下一次需要时,即无须从该设备服务器下载。该使用者亦可选择从该硬盘开机加载一操作系统,若已安装有一操作系统及硬盘,或者是将该系统关机。
何为“设备”?
一设备,或虚拟设备,是一自含式(self-contained)二进位套件(package),其包含所有为执行一特定工作所必要的项目。例如,一VoIP设备包含所有让一使用者连接至因特网,然后与另一方交谈所需要的软件。此设备可包含一操作系统、网络堆栈、装置驱动程序、用户界面及一VoIP应用程序。
硬件相关性
此项讨论针对于支持不同硬件平台的需要。目前可有两种解决方案,而它们并不具互斥性。
第一种解决方案是将必要的装置驱动程序储存在该开机加载ROM里。例如,多数的典型主机板含有视频、音频及网络装置。用于这些装置的装置驱动程序可被储存在该开机加载ROM里。当启动一设备并且其底层操作系统需要装置驱动程序时,该设备即可通过该开机加载ROM来加载这些驱动程序。
第二种解决方案是在一虚拟机器内运行该设备。所有的虚拟机设备有正好相同的虚拟硬件,并因此所有设备都被开发为使用相同的虚拟硬件。然而,该超管理器,亦即该虚拟机器操作系统,仍需要与实际的硬件交谈。在此情况下,该超管理器可回复至前述的第一解决方案,其中是通过该开机加载ROM来加载装置驱动程序。
个人化体验
该EPG可包含一个人化器(personalizer)。这可让使用者能够选择其偏好设备,或另外改善对于常用设备的存取简便性。例如,最常用的设备出现在第一屏幕上,或是在一可用设备列表的顶端处。这可避免不必要的使用者巡览以启动这些设备。该个人化器亦可对使用者智能地建议设备。这类似于提议类似书籍或产品的Amazon.com系统。
为将设备个人化,会将组态数据发送至DVM服务器。该服务器利用该项信息以仅选择与该使用者的系统兼容的VA。另外,该服务器利用此项信息以将VA最佳化,或者在诊断作业的情况下,设定正确的组态。
在一具体实施例里,亦对于该个人计算机的多个使用者提供多种个人设定。这可通过在软件容器内运行以提供更佳的隔离结果,而该软件容器从底层平台所抽象化。这些容器具有降低病毒/邮件滥发交叉污染,在各种应用程序、驱动程序及OS版本中于DLL与其它链接库间的冲突的效果。个人设定的安装及卸载作业经设计为更加利落(减少档案拷贝/删除操作)。
可通过让每当消费者存取至一PC时获用相同的体验以进一步强化使用该个人设定的使用者体验。利用虚拟化技术在容器里提供个人设定可有助于将容器放置在诸如USB驱动程序的移动设备上,然后在任何具有一USB连接端口与适当的虚拟化支持的PC上打开该容器。例如,该系统可含有一个人设定,主要是用以在线下载媒体内容,并且通过各式界面对该使用者回放那些媒体内容。该媒体内容可具有国家或文化特定性。
另一具体实施例提供有保留插槽及资源以供替换个人设定。此具体实施例自动地编译使用者基本数据及使用者兴趣。而依据该使用者的个人设定选择,可建立一基本数据而可用于向消费者推荐其它的增值服务,即如额外个人设定、内容、产品等等。该系统可自动地搜寻、上载信息,并且根据一使用者基本数据及用途而提议相关的个人设定。对消费者的折扣;对OEM的补助;由内容、服务或软件提供商基于使用情况,即如依据量值,对一应用程序提供商服务所支付的收益,亦可并入在此系统内。
另一具体实施例为含有基本数据式组态、个人设定及个人设定套件,亦即经预组态设定的套件。在此具体实施例里,对于某一基本数据的所推荐的定制可以是简单如在一浏览器内、一个人设定,例如一应用程序集合、或是一个人设定群组内的偏好集合的组态设定。使用者基本资料可为基于来自其它在线公司/社群的人口统计数据、兴趣或数据,例如像是:
-人口统计数据:年龄、性别、种族背景、职业,即如学生、家庭主妇等等
-兴趣基础:使用者特定或是连结于其它兴趣基础
-连结于Netflix、Google、A9、Amazon、Yahoo、MSN、mySpace、del.icio.us、RSS/blog(部落格)订阅
-个人设定群组或单一个人设定
-基于使用者基本数据、数据或行为以提供购物个人设定。若一使用者选择一个人设定束集,此者含有一购物个人设定,则可依据基本数据将该购物个人设定进一步定制,从而对该顾客增加价值,即如链接至Pottery Bam/Crate &Barrell而不是Home Depot/Lowe’s
亦提供有多项工具以运用于使用者偏好、组态、底图及爱好,即如依照基本数据而预组态设定且个人化。对于不同基本数据的个人设定可具有相同的应用程序集合,但具有例如对于爱好、底图、使用者偏好及组态的不同设定。一范例即为浏览器个人设定,对于一青少年,相对于一大学学生的背景资料,其具有连接至不同网站的预组态设定链接。工具可有助于建立设定值档案,并且将不同的设定值布署至个人设定。
本发明亦考虑到一驱动程序及外围装置整合工具包。可将一些个人设定束集于一外围装置,即如一绑定有一VoIP个人设定的蓝芽头戴式耳机。该驱动程序及外围装置整合工具包提供必要工具以供一外围装置及一装置驱动程序能够在一虚拟机器内适当地且最佳地运作。这些工具可服务一虚拟机器以在多个虚拟机器之间适当地加以协调,例如,使游戏杆仅可由一游戏个人设定使用,但对一生产力个人设定则否。
多层EPG
在一极度微少的BIOS ROM容量的情况下,并不会将一EPG纳入在嵌入式OS内。或者,若储存空间不是问题,则可运用一单一完整EPG。
一般说来,该开机加载ROM具有极微少的容量。因此,可采用多阶段EPG。若该系统离线,则初始EPG可对接并显示储存在该系统上的所有可用VA。否则,对于一在线系统,在启动该初始EPG之后,该嵌入式OS即撷取一具有更多选项及较佳图形的第二层EPG。
为利用一多层EPG以建立一更佳地瞬时启动外观,一旦该初始EPG上线并且既已接触到该设备服务器之后,该者可下载更完整的EPG。然而,在此一程序过程中该EPG的外观与感受可能并不会无法改变。因此,该使用者并不会注意到已将该EPG升级。
虚拟设备下载
简介
该EPG对该使用者呈现出一份可用虚拟设备(VA)列表。该使用者选择一虚拟设备以供使用。如果该VA被高速缓冲存储于例如硬盘或USB闪存装置的本地储存装置内,则将其加载至内存内并予以执行。否则,即从一设备服务器(DAS)下载该VA。
最佳化
一种缩短开机启动时间的方式是将虚拟机器及其应用程序分割成多个可按片段方式加载的区块。最初仅从硬盘加载必要区块,而非整个虚拟机器及应用程序代码。
亦可对于特定的个人设定要求运用驱动程序最佳化作业。例如,一具体实施例考虑到驱动程序重新使用性,例如,对于现有驱动程序的包装器。特定个人设定可能会比起可通过标准虚拟化I/O装置而获用者而要求更高的I/O吞吐量。其一范例为游戏个人设定,这需要较高的图形芯片往返I/O吞吐量。该游戏个人设定可利用一特殊图形驱动程序,而非一般虚拟图形驱动程序,以供直接地或优先地存取至该I/O子系统及图形芯片。
另一最佳化作业则可通过共享核心程序代码以减少各个人设定的磁盘空间要求。例如,利用相同子OS的个人设定可仅含有共同子OS以外的额外应用程序及驱动程序。可按只读方式储存仅单一份子OS拷贝,并且由多个个人设定共享。
亦可运用经最佳化的OS图像,例如并无内存管理、单一工作、无POST等等。
此具体实施例是将一子OS剥分,以仅含有对于该个人设定的应用程序运作所必需的服务。这可使得该个人设定较微小并且较快速。一个人设定开发工具包可含有协助个人设定开发者产生或剥分一OS的工具。
网络最佳化
本发明人所面临的另一项挑战为下载一虚拟设备所需要的时间。显然地,使用者期望能够立即地使用一VA。下载时间依据网络速度及该VA的大小所决定。下列的讨论针对于各种下载情境及最佳化作业。现有各种具体实施例针对于网络最佳化:
第一种方式是该DVM设备服务器(DAS)为本地。例如,若该使用者位于台湾而该DAS位于美国,则下载将极为缓慢。因此,总是会将该EPG重新导引至一位于本地或该国之内的服务器。该EPG存取主DAS,而该主DAS又会查看其上运行该EPG的个人计算机的IP地址,然后决定起源国家或地区。可在各个本地服务器上支持所有的语言。如此,该服务器可利用使用者/登入信息以显示出所需语言,而不管一使用者所获重新导引至的本地服务器。接着,将一含有该国内或本地服务器的IP地址的重新导引封包发送至该EPG,其再利用包含在该重新导引封包之内的信息以连接至该本地服务器。
第二种方式是通过一台以上的服务器下载该VA。
另一种方式则是利用端对端(P2P)下载处理。这假定所下载的VA被高速缓冲存储至本地,例如位于一硬盘机或USB闪存装置上。一常用VA高速缓冲存储至多台个人计算机上。因此,当在一给定个人计算机上的EPG需要一常用VA时,其可从所有已具有一该VA的经高速缓冲存储拷贝的个人计算机处获得该VA。而通过从不同个人计算机处共时地攫取该VA的不同部分,该EPG即可缩短下载时间。该EPG亦可通过查核至该个人计算机的跳跃数目等等,智能地选择应从其下载的个人计算机。
此外,该初始EPG屏幕虽等待来自该使用者的输入,但该嵌入式OS会将VA预先取得并预先下载至RAM内。因此,在该使用者作出选择之后,该数据应已位于RAM内并可瞬时启动。
虚拟设备下载
共时性
在多数的基本情境里是会下载VA。然后再予以解压且执行。
一种最佳化方式是牵涉到通过在当下载该VA时,执行解压及执行的操作以改善共时性。为此,可采用一种对于串流传送媒体所最佳化的压缩算法。在最顶层级处,该VA被串流传送至该个人计算机。该串流是由经压缩团块所组成。各个团块可按独立于其它团块的方式所解压。这种方式可良好运作于先前讨论的P2P方式,因为各个团块可来自不同的端处个人计算机。
模块化
可通过确认该VA被高度模块化,使得能够独立于其它模块以下载、解压并执行/初始化各个模块,藉此进一步强化该共时性方式。例如,若一VA是由一操作系统加上一应用程序所组成,则该操作系统(OS)可为一模块,并且该应用程序可为其它模块。一种智能型下载机制可确定会先下载、解压并执行该OS模块。可同时地下载并解压该应用程序模块,然稍后再予执行。一较复杂范例牵涉到一网页浏览器VA,这包含一操作系统、GUI、一基本HTML网页浏览器、一JavaScript引擎、一Macromedia Flash播放器加上字型。这些构件的每个可组成一个别模块。为改善使用者体验,OS、GUI及基本浏览设备有较高的下载优先权。按此方式,该使用者可极为快速地看到该网页浏览器及用户界面。其它模块则按一较低优先权而下载,或者完全不下载,例如,若该使用者从未前往一要求Macromedia Flash的网站。字型可位于仅当需要时方予下载的另外模块内,例如若该使用者仅需要简体中文字型,则不会下载繁体中文字型。
Linux最佳化
本节讨论关于若在一VA之内的OS是以Linux为基础的最佳化课题。
Linux模块化
一基本的Linux式下载作业包含一核心档案及一RAM磁盘图像,诸如initrd或initramfs。应用程序则是包含在该RAM磁盘图像内。将整个应用程序放置在该initrd之内的一项问题是在于稍后其会变得非常庞大,亦即达数十个兆字节(Megabyte)的量级。利用一模块化方式,该initrd档案可仅含有一基本RAM磁盘档案系统,而具一些开机启动脚本及工具程序,然仅为如此。应用程序及任何其它的必要档案,例如X-Windows、C链接库、工具程序、字型等等,作为分别模块而下载。按此方式,核心及initrd档案两者可为很小,例如,各不到2MB,并因此可较快速地下载。
下载及执行处理程序最好是按下列的优先次序进行:
-Linux核心及基本initrd
-将GUI下载至该RAM磁盘档案系统内
-将基本应用程序下载至该RAM磁盘档案系统内
图1是一流程图,此图显示一根据本发明的下载及执行处理流程。在步骤1(100),启动一下载核心10及一下载initrd 11。在步骤2(102),启动开机加载Linux12。熟知本领域的技术人员将能了解本发明在此适用于除Linux以外的操作系统。在步骤3(104),启动下载GUI 13、下载链接库14及下载基本应用程序档案15。而在步骤4(106),该下载基本应用程序档案继续为待被启动,而该GUI 13被启动。最后,当应用程序17启动并且高级应用程序档案18既经下载时,即在步骤5(108)完成该init处理程序。
Linux下载管理器
一智能型Linux下载管理器需实施前文所述的优先权下载及执行机制。对此的一项理由是该EPG仅下载核心及initrd档案。一旦Linux已开始启动之后,就必须要下载其余的模块。下载管理器亦必须能够:
-恢复先前中断的下载
-在本地储存装置里寻找模块,例如高速缓冲存储的模块,并且将它们从本地储存装置直接地加载而非进行下载
-在本地储存装置里管理已下载的模块,以供稍后会话简易地加以识别及撷取
模块重新使用
模块化及分离化各式应用程序模块的一项优点在于可对不同VA重新使用相同模块的能力。例如,一网页浏览器VA需要该操作系统核心及GUI。一VoIP虚拟设备亦需要一操作系统核心及GUI。该网页浏览器VA及该VoIP VA两者可共享部分的相同模块。若该使用者已使用一网页浏览器VA,则已下载过操作系统核心、initrd及GUI。因此,若该使用者接着选择使用一VoIP VA,则仅需下载VoIP应用程序。这可缩短开机启动时间,并因此改善使用者体验。
Linux装置驱动程序
Linux核心可含有一基本的装置驱动程序集合。不过,用于特定于主机板的硬件的驱动程序则必须与核心分离。这是为避免两项问题:
-对每一需予支持的主机板具备一核心的需求
-含有对于每一需予支持的主机板的驱动程序的庞大核心
该核心可从两项来源获得驱动程序。第一,可藉由嵌入式OS下载驱动程序。第二,可将驱动程序纳入在该开机加载ROM之内。至少,必须由该嵌入式OS下载网络装置驱动程序。而其它的驱动程序,即如特殊硬盘机控制器、音频等等,则可由操作系统通过该下载管理器下载。一旦下载过驱动程序之后,该Linux开机加载文稿档即利用命令,像是insmod,以将驱动程序加载到该核心内。然而,由于是由嵌入式OS将驱动程序加载至一另外的空间里,例如RAM磁盘,因此在该insmod命令可工作之前,必须先执行部分的额外步骤,例如架置该RAM磁盘。而这会减缓该开机载入序列。然而接着当Linux已成功地加载且启动该应用程序之后,一背景处理程序即可将该initrd重新装封,并且将装置驱动程序包含在该initrd档案之内。此经重新装封的initrd按本地方式储存在该高速缓冲存储器里。而当下一次该使用者选择一Linux式VA时,即可利用该经重新装封的initrd。此initrd仍可导致较快速的开机加载时间,这是因为装置驱动程序已位于该档案系统内。亦可能重新建构该Linux核心以纳入新的装置驱动程序。
高速缓冲存储
在本发明的高速缓冲存储处理里具有多项特点。一第一特点是使用者想要使用的档案、模块及VA的高速缓冲存储。一第二特点使用者可能想要使用的VA的预取得及预先高速缓冲存储。例如,若需实施下列特性:
-所推荐的VA:根据使用者到目前为止所下载以供使用者以推荐VA。
-所建议的VA:根据其它类似使用者所已下载的以建议VA。
-所赞助的VA。
藉由预取得至RAM内以及将VA预先高速缓冲存储至本地储存装置内,即可保证一较佳的使用者体验。可由嵌入式OS或在该VA内完成预取得及预先高速缓冲存储处理。
组态设定器
若假定存在有一用于下载模块的高速缓冲存储器,则会有必要决定该高速缓冲存储器位于何处。在目前的较佳具体实施例里,该高速缓冲存储器可位于:
-硬盘上的一特殊分割里
-档案系统上的一档案里,即如NTFS上的档案
-一USB闪存装置上
-一个人计算机主机板上的其它闪存储存装置里
-硬盘MBR,例如用于驱动程序档案
若欲将该高速缓冲存储器放置在硬盘的一分割上,则会需要自动地且无忧地建立起此分割。此即为该EPG最好是含有一组态设定器(configurator)功能的原因。例如,当该EPG首次开机启动并且检测到运用所有的附接硬盘时,亦即未经分割及/或未经格式化,则其将询问使用者是否应在该硬盘上建立一高速缓冲存储器分割。若该使用者回复为肯定,则该EPG在该第一硬盘上建立一微小分割。
更新/维护/安全
本发明考虑到更新、维护及安全特性,例如:
-自动更新内容,即如刷新前100项列表等等:媒体相关的个人设定可含有可获益于常规性更新的内容。例如,一电子伴唱个人设定可每周下载新的歌曲及MTV。一电影个人设定可自Netflix下载符合消费者兴趣的新电影。
-自动个人设定更新,即如补丁等等:个人设定可在其一般说来发布之后进行特性改良或错误修正。该服务VM可自动地更新在消费者的PC上的现有个人设定,而同时保持所有的消费者数据及设定不动。
-用于内容及个人设定的P2P/BitTorrent:对于将大型内容及补丁下载至消费者PC来说,此具体实施例可充分发挥P2P/BitTorrent以改善下载速度并且降低服务器基础建设要求。内容及更新可片段地来自于其它的使用者。更新器可常驻于一个别的虚拟机器内,因而不致影响到该个人设定。
-用于新近及/或替换个人设定的P2P/BitTorrent:即如前述,但用于下载新近或替换个人设定。或可设有不同的前端以区分维护及新进特性。
-中央下载管理器,即如用于媒体、新个人设定、安全更新等等的BitTorrent等等:用以将大型内容及补丁下载至消费者的PC处,可充分发挥P2P/BitTorrent以改善下载速度,并且降低服务器基础建设要求。内容及更新可片段地来自于其它的使用者。一更新器可常驻于一个别的虚拟机器内,因而不致影响到该个人设定。
-中央病毒扫描及复原:提供一开放原始码解决方案,或是由例如Symantec/McAfee所提供的解决方案。
在一具体实施例里,一服务虚拟机器可提供基于开放原始码而运用于防毒、间谍软件、防火墙等等的默认安全模块。使用者可拥有升级至由例如Symantec、McAfee、Trend Micro等等所提供的启动式商业解决方案的选项。
系统内存使用模型
一具体实施例是尽可能有效率地运用系统非永久性内存,以透过瞬时启动体验来改善使用者体验。图2是一区块略图,此图显示一根据本发明,用以储存并高速缓冲存储数据/应用程序片段的模型。在图2里,一BIOS闪存ROM20,一CMOS区域19,含有一“延伸系统组态数据(ESCD)”21、一开机加载器23及该BIOS25;内建储存装置22含有一或更多虚拟设备27、内容28及驱动程序与常用的虚拟设备元件29;可移除储存装置24含有一或更多虚拟设备27和内容28;并且在线储存装置26含有像是使用者历史、小型文字档案(cookies)与基本数据的信息30。
DVM后端
图3是一区块略图,此图显示一根据本发明的系统服务器后端。在图3里,一位于一个人计算机31处的使用者寻求存取至该设备服务器33。本发明所提供的供以瞬时启动体验的一项特点会需要正确的后端模型,藉以支持必要的带宽及速度。一项具体实施例是令所有具备DVM功能的系族首先都初始地存取一单一服务器簇集。此服务器基本上是一重新导引服务器32,其处置验证及防钓鱼安全协定。在此之后,该重新导引服务器将该DVM使用者重新导引至一本地服务器簇集38,以减少通过不同地理跳跃的延迟。此外,不以一本地簇集,该重新导引服务器可重新导引至一伙伴服务器37,藉以供应伙伴特定应用程序。
在该本地/伙伴服务器簇集处有必要进行验证作业。另一具体实施例提供一从该重新导引服务器传输验证信息,或是仅由该本地/伙伴服务器处置该验证作业的方法。这些服务器经设定以支持高带宽交易。其主要工作为处置系统信息上载、EPG应用程序下载、VA应用程序下载、使用者登入以及断接。
各个本地/伙伴服务器簇集37、38、39含有一些档案服务器35及内容服务器36。该档案服务器含有全部的VA,而该内容服务器含有用以更新BIOS、具BIOS及主机板特定性的手册等等的支持数据。此内容可为一来自主机板OEM的经重新格式化版本的OEM支持数据,或者可为实际的OEM服务器。这是依据支持模型而定,亦即是将规格文件提供予该OEM,使得它们能够撰写其应用程序以符合这些规格,或者是需要向它们供应某数量的原始码以供进行作业。一具体实施例是维持一经重新格式化版本的OEM服务器,藉以在跨于所有的OEM上提供标准的使用者体验。另一选项为令该支持模型即为一VA应用程序。
该使用者及硬件(H/W)数据库更为集中,而这与复制档案服务器及内容服务器相反。其原因在于为获更佳的一致性与安全性。该使用者数据库的目的是为储存信息以供更佳的使用者体验。该数据库含有诸如偏好/最爱的信息,即如最近使用过的VA等等、页面组态、所欲语言等等。
开机载入器
一具有一VM开机加载器的个人计算机包含末端使用者的个人计算机31。一第二个人计算机33则作为一DVM服务器。图4是一区块略图,此图说一根据本发明的较佳系统架构,其中是通过一以太网络连接42进行网络通讯。熟知本领域的技术人员将能了解本发明亦涵盖其它通讯架构。
该开机加载器从一ROM/闪存磁盘开机加载。包含一网络堆栈,并且最好是支持DHCP。提供有一简单的电子程序指南应用程序,以显示出一份可用以供下载的VM应用程序的列表。在本具体实施例中该应用程序行表为固定。
该EPG应用程序可提供使用者多项选择:
-选择运行VM应用程序的其中之一
-开机加载至硬盘上的默认OS
-系统关闭,假设在硬件里可支持APM/ACPI
当该使用者选择DVM应用程序的其中之一时,该EPG即下载该应用程序并予执行。
VM应用程序
BIOS升级工具程序
该系统下载该BIOS二进制程序代码及升级工具程序,并将它们写入至一仿真软盘。然后系统运行该升级工具程序。
诊断工具程序
该系统将诊断工具程序至一仿真软盘或仿真硬盘。
以闪存9开机载入Linux
此具体实施例利用一linux开机加载器以启动Linux。
VM执行环境
简介
本发明的此一特点可建立一可ROM化执行环境,此环境可供在一个人计算机下载及执行广泛各种应用程序。
-网络传送速度足够地快速,因而可从一服务器快速地下载应用程序以供本地执行。
-当下载应用程序时,会有足够的RAM以配入该应用程序。
-可在RAM内运行应用程序而无须从磁盘进行分页切换。
VM软件堆栈
图5是一区块略图,图中显示一根据本发明位于一使用者的计算机31处的VM软件堆栈。在图5里,该软件堆栈包含一被维持在BIOS闪存20内的局部,以及一经下载的局部50。该堆栈包含非VM应用程序51及VM应用程序52两者。传统的个人计算机BIOS 25及BIOS开机载入器23b则维持未变:
-按照默认,该BIOS加载器23b从该硬盘22加载并执行该“主开机加载范(MBR)”。
-若出现有一HPA(隐藏分割区域)并由该BIOS所支持,则该BIOS可执行该HPA内容。
一用以将控制权交递给该DVM开机加载器的第二选项是将该PXE协议并入到该VM开机加载器内,并且将该标准NIC选项ROM(此者含有PXE协议)替换以DVM选项ROM。这可降低BIOS定制及所需要的整体ROM空间的量值。
一热键、定时器或其它机制可让该BIOS开机加载器能够启动该VM开机加载器23a。该VM开机加载器23a通过以太网络42而连接至一VM应用程序服务器33以下载一EPG 53。该EPG是一使用者最先遭遇到的第一个图形用户界面(GUI)。该GUI显示在该系统本地或是在因特网远程处可用的应用程序的选择。该FPG实际上仅为另一种类型的VM应用程序。在一具体实施例里,该EPG位于闪存BIOS内而位于本地,即相对于一经下载的VA。然而,对于潜在的大小限制及可扩充性,该EPG可另为由两个层级的EPG所组成。基本EPG被储存在该闪存BIOS内,增强版本则是如与其它VA而被下载。虽有一强化版本,但就以外观及体验而言对于使用者则是透明未见。该使用者在初始屏幕或是经隐藏于较低层级选单上可有更多选项。该基本或强化EPG的显示画面对使用者来说为透明未见,并系依据网络连接性而更新。
在调用该EPG之后,接着对末端使用者呈现以一可用的应用程序的列表。应用程序可例如包含下列项目:
-非虚拟机器应用程序,其可自该VM应用程序服务器33下载。
-虚拟机器应用程序,其可自该VM应用程序服务器33下载。这些会要求下载一超管理器54或VM播放器。
-DVM应用程序常驻于一USB闪存装置24或一硬盘HPA 22上。
VM开机载入器
模块
图6是一区块略图,图中显示一根据本发明的VM开机加载器23a及相关模块。该VM开机加载器常驻于一使用者的个人计算机31内,其在本具体实施例里是通过该使用者的局域网络63而通讯连接于一DHCP服务器62或一网关器61。该使用者的个人计算机包含一GUI 13、档案系统85、USB驱动程序86及NIC递送器87。一因特网连接42将该使用者连接至该DVM服务器33。在本具体实施例里,该VM开机加载器包含下列模块:
应用程序列举器64:寻找一USB插锁里或该VM服务器上的可用VM应用程序。这是一较基本版本的EPG,藉以配入一微小空间。完整版本的EPG亦可充分运用此一模块。
应用程序启动器65:执行已经加载至内存内的应用程序。如何进行则是依照该应用程序的执行环境要求而定。
下载器66:将应用程序自该VM服务器下载至内存。而该应用程序在内存内如何开展则是依照其执行环境要求而定。该下载器亦可即如通过MD5等等以检查所下载的有效负载的整体性。
验证67:对该VM服务器进行验证作业。
网络组态GUI 68:提供一使用者界面,因此该末端使用者可组态设定该VM开机加载器以存取因特网。
网络组态加载器69:加载网络组态。
软盘仿真器74:仿真一自软盘开机加载的处理。该软盘图像位于扩充内存内。该模拟是藉由勾连INT14h及/或INT13h所完成。此组件是一软盘1.44M在扩充内存之内的图像,而需要为其开发出协议与握手处理,藉此供以自该内存区段开机加载而即如一软盘一样。
系统组态备份及复原75:在运行任何项目之前先储存该系统组态,并且在此之后复原该系统组态。这些主要是系统、中断向量等等。这是在该VM开机加载器运行之前及之后、一应用程序运行之前及之后等等加以运用。在其它具体实施例里,该系统组态运行一复原功能,然后执行该应用程序加载器。
装置驱动程序管理器76:这是存放特定于硬件平台的Linux装置驱动程序的地方。若该应用程序具有一Linux OS,则其可自此撷取装置驱动程序并加载至核心。
使用者登入管理器77:可让使用者能够登入VM服务器。然后这可供使用以服务器为基础的永久储存功能。
GUI程序库:提供标准的外观及体验。
具DHCP 78的网络/TCP/IP堆栈。
CPU模式切换器79:将x86 CPU从真实切换至保护模式并且返回。
OS开机载入器81:自硬盘开机加载该主OS。
系统信息管理器82:例如从SMBIOS 83取得系统信息,并且传送至该VM服务器。
内存资源管理器84:管理内存资源,即如扩充内存,以供下载应用程序并予布置在适当位置处。
多数的前述模块可由应用程序重新使用。例如,该EPG利用该下载器以下载一选定应用程序。然后其再利用该应用程序加载器以启动所下载的应用程序。
一较佳具体实施例的功能性
该嵌入式OS的一较佳具体实施例具备下列功能性:
网络
-NIC驱动程序可用性
-NIC驱动程序的简易开发性
-具有DHCP的TCP/IP堆栈
-代理器支持
HDD
 -NTFS读/写
 -用于USB闪存的USB驱动程序,或是
 -对USB闪存的INT13h存取
 -存取至该USB闪存上的档案系统
    o FAT16
    o FAT32
 -HPA存取
    o FAT32
视讯
 -文字
 -图形
 -加速化
音频
 -非必要
输入
 -鼠标
 -键盘
内存存取
 -对于所下载的应用程序可存取超过1MB
服务器界面功能
 -数字签名
 -对服务器进行验证
预开机加载及后开机加载程序代码插入
 -以备份中断向量
 -以复原中断向量
VM应用程序
该VM应用程序是一完全自含式的二进制程序代码有效负载,其是:
-从该VM应用程序服务器所下载
-从一USB闪存载入
-从一硬盘HPA所加载
所谓“完全自含式”的意思是该应用程序含有其本身的执行环境。例如,一网页浏览器应用程序含有一操作系统、该网业浏览器应用程序以及任何其它支持档案或工具程序。
应用程序类型
可根据下列项目将应用程序加以分类:
-它们是否为VM应用程序
-执行环境类型
这些分类并不具互斥性。
VM应用程序
虚拟机器应用程序要求一超管理器以供运行。
执行环境
可有数种可能的执行环境。在此的讨论仅考虑其中的四项,但本发明确亦考虑其他:
-真实模式而具仿真磁盘
-真实模式而具固定内存地址
-真实模式而具仿真磁盘及大型后开机加载有效负载
-真实模式而具固定内存地址及大型后开机加载有效负载
并不需要考虑保护模式环境,这是由于可将一真实模式至保护模式切换器配入上述四种情况的任一个。
真实模式而具仿真磁盘
图7图是一根据本发明,具有一仿真磁盘而用于真实模式操作的内存堆栈的略图表示。为处置本项,我们是仿真DOS开机加载处理程序。所下载的应用程序有效负载被储存在扩充内存72内,而非真实内存73,这是由于一磁盘图像70的大小,亦即1.44MB或以上。利用一软盘仿真器以自该磁盘图像进行开机加载。此情境的一范例即为其中是在一DOS版本上运行该应用程序。所下载的应用程序有效负载是一含有该应用程序及DOS档案系统的软盘图像。
真实模式而具固定内存地址
图8是一根据本发明,具一固定内存地址而用于真实模式操作的内存堆栈的略图表示。此一情况是所下载的应用程序有效负载80为足够地微小,而可供配入该真实模式/DOS地址空间之内。该应用程序在真实内存内被布置于一特定于该应用程序的固定内存地址处,并且是自该地址处执行。
真实模式而具仿真磁盘及大型后开机加载有效负载
图9是一根据本发明,具一仿真磁盘及一大型后开机加载有效负载而用于真实模式操作的内存堆栈的略图表示。这是一其中是希望开机加载一大型应用程序的模式。一范例为开机加载一Linux为基础的应用程序。该仿真磁盘含有一些像是SYSLINUX的项目。该应用程序及该OS有效负载90的实际经gzip压缩图像70亦被加载到扩充内存内。
真实模式而具固定内存地址及大型后开机加载有效负载
图10是一根据本发明,具一固定内存地址及一大型后开机加载有效负载90而用于真实模式操作的内存堆栈的略图表示。此亦为其中是希望开机加载一大型应用程序的模式。其一范例为开机加载一Linux为基础的应用程序。不以利用SYSLINUX的软盘图像,我们设有一自订工具程序,并将此加载至一固定真实模式内存位置91处。该应用程序以及该OS有效负载的经压缩图像是被加载至扩充内存内。该真实模式工具程序将该OS有效负载解压缩,并且载入/开机载入Linux核心。
执行环境连带意义
该连带意义如下:
-该VM开机加载器/应用程序启动器必须能够识别各种类型的执行环境。此项关联于各个VM应用程序的信息可由该VM服务器提供。
-该VM开机加载器必须能够存取到扩充内存。
-必须建立多项工具以封装该应用程序有效负载,藉此配入该执行环境的其中之一。
VM应用程序要求
要求项目如下:
-必须包含其本身的执行环境,即如操作系统
-必须能够在RAM中完整地常驻且执行
-必须不需本地永久储存。可在网络上,即如在一服务器上,提供永久储存。
在BIOS POST之后的操作序列
图11是一流程图,此图显示根据本发明,在BIOS POST(BIOS开机自检)(110)之后的处理程序。在图11里,若一使用者选择一热键(112),则该处理程序将状态加以储存(114)并进行。该开机加载器启动(116)并且决定该网络是否被组态设定(118)。若否,则该GUI让使用者对该网络界面(120)进行组态设定;否则,该系统连接至该服务器(122)。该系统对该服务器进行验证(124),并且系统确认建立一与该服务器的连接(126)。若检测到一连接,则将系统信息发送至该服务器(128),并且下载一应用程序列表(130)。若并未建立一连接(126),则该系统搜寻USB装置(132);同样地,在下载该应用程序列表(130)之后,在此检测到一网络连接,该系统搜寻USB装置(132)。将一来自于该USB装置的VM应用程序列表加以编译(134),并且建立一应用程序列表(136)。若VM应用程序为可用(138),则该使用者可选择一应用程序(144)。响应于此,该系统将该应用程序加载至系统内存内(146),并且关闭该开机加载器(148)。然后加载该应用程序(150),并且该使用者可使用该应用程序(152)。当关闭该应用程序时(154),将状态加以储存(114)。而在BIOS POST之后(110)并未按下热键的情况下(112),将状态加以复原(140),并且从硬盘开机加载默认的OS(142)。如此,若网络连接并不成功,同时若在任何USB闪存装置上并无可用的VM应用程序,则该系统开机加载在该硬盘机上的默认OS。
本发明在此虽参照于较佳具体实施例进行说明,但熟知本领域的技术人员将将能了解其它应用确可取代那些前述应用,而不致偏离本发明的精神与范围。从而,本发明应仅由后附的权利要求书所限制。

Claims (21)

1.一种用以设备虚拟化的计算机实施方法,其中包含下列步骤:
将一嵌入式操作系统(OS)储存在一个人计算机的系统开机加载ROM内;
在启动该个人计算机的操作系统之前,当该个人计算机开机加载时立即地启动所述OS,并且暂停启动至少一部分所述个人计算机的操作系统;
一旦一初始OS上线并且已连上一设备服务器之后,即下载一更完整的OS,其中在此处理程序过程里所述OS的外观及体验并不改变;
在启动所述OS之后,所述OS在一本地储存介质及一网络位置的任何一处寻找可用的虚拟设备,一设备包含一自含式二进制程序代码套件,其含有为执行一特定工作所必要的全部项目;
所述OS在所述个人计算机处显示至少某些的所述可用虚拟设备以供选择;
从所述OS所显示的可用虚拟设备中选择至少一设备以供在所述个人计算机处使用;以及
在所述个人计算机处下载并启动该选定设备;
其中所述应用程序包含其本身的执行环境,在RAM内完整地常驻且执行,同时并不需要本地永久储存。
2.根据权利要求1所述的方法,进一步包含下列步骤:
若一选定设备并不在一本地储存装置上,则自一设备服务器进行下载该选定设备。
3.根据权利要求1所述的方法,进一步包含下列步骤:
自一本地储存介质选择以开机加载一个人计算机操作系统;以及
所述个人计算机开机加载所述操作系统。
4.根据权利要求2所述的方法,进一步包含下列步骤:
在一本地储存介质内高速缓冲存储一设备,其从所述设备服务器所下载;以及
其中当下一次需要所述设备时,即不需要从所述设备服务器下载。
5.根据权利要求1所述的方法,进一步包含下列步骤:
提供一个人化器,以供选择最爱设备及/或存取最常用的设备,并以智能方式向使用者建议设备;
其中最常用设备是出现在一第一屏幕上,或是在一可用设备列表的顶端处。
6.根据权利要求1所述的方法,进一步包含下列任何步骤:
重新导引所述OS至一位于本地或国内的服务器,以进行设备下载;
从一个以上服务器处下载一设备;以及
利用端对端(P2P)进行设备下载。
7.根据权利要求1所述的方法,进一步包含下列步骤:
当正在下载一设备时,将该设备解压缩并予以执行。
8.根据权利要求1所述的方法,进一步包含下列步骤:
模块化至少一设备,该设备包含多个个别模块,其中该设备的各个模块按独立于其它模块的每一个的方式被下载、解压缩与执行/初始化。
9.根据权利要求8所述的方法,进一步包含下列步骤:
提供一智能型下载机制,藉以确保会先下载、解压缩并执行一具有一较高优先权的模块。
10.根据权利要求8所述的方法,进一步包含下列步骤:
对于不同的设备重新使用相同的模块。
11.根据权利要求1所述的方法,进一步包含下列任一步骤:
高速缓冲存储档案、模块及一使用者意欲使用的项目;以及
当等待在所述OS端的使用者输入时,从本地端储存装置预先提取设备到RAM中;以及
将一使用者意欲使用的设备从网络预先高速缓冲存取至本地储存装置内。
12.根据权利要求11所述的方法,其中所述高速缓冲存储是位于一硬盘的一特殊分割内、一档案系统上的档案内、一USB闪存装置上、在一个人计算机主机板上的其它闪存装置上、或是在一硬盘MBR上。
13.根据权利要求12所述的方法,进一步包含下列步骤:
所述OS提供一组态设定器功能,其在当所述OS首次启动并且检测到所有附接的硬盘为空白时,即询问使用者是否应在一第一硬盘上建立一高速缓冲存储分割;
其中若该使用者回复为肯定,则所述OS在一第一硬盘上建立一分割。
14.一种用于设备虚拟化的设备,其中包含:
一计算机,其包含一内存以供储存一软件堆栈,该软件堆栈包含一第一局部,此局部被维持于一BIOS闪存内,以及一第二局部,此局部被下载至所述内存内,所述堆栈包含非虚拟应用程序及虚拟应用程序两者;
一嵌入式操作系统(OS);
一虚拟设备开机载入器;
一BIOS开机载入器;
启动构件,其用以利用所述BIOS开机加载器以启动所述虚拟设备开机载入器;
所述设备开机加载器包含连接构件,其用以通过一网络连接至一NC服务器,以将所述OS下载至该内存;
所述OS进一步包含显现构件,其用以对一末端使用者呈现一可用的应用程序的列表;
其中所述应用程序包含下列任何项目:
可从所述应用程序服务器下载的非虚拟机器应用程序;
可从所述应用程序服务器下载的虚拟机器应用程序;以及
常驻于与所述计算机相关联的USB闪存装置或硬盘的任一个上的应用程序。
15.根据权利要求14所述的设备,所述虚拟设备开机加载器进一步包含下列任何项目:
一应用程序列举器,以供搜寻可用的虚拟机器应用程序;
一应用程序起启动器,以供自执行一先前已加载至所述内存之内的应用程序;
一下载器,其用以将应用程序从该设备服务器下载至该内存;
一验证构件,其用以对所述设备服务器验证所述计算机;
一网络组态,其用以提供一使用者界面,而让一末端使用者能够组态设定该虚拟设备开机加载器以进行网络存取;
一网络组态设定加载器,以供加载一网络组态;
一软盘仿真器,其用以仿真一从软盘开机加载程序;
一系统组态备份及复原模块,其用以在运行任何项目之前先储存一系统组态,并且在此之后复原所述系统组态;
一装置驱动程序管理器,其用以储存特定于所述计算机的装置驱动程序模块;
一使用者登入管理器,其用以让一使用者能够登入所述设备服务器;
一GUI程序库,以提供一标准外观及体验;
一具有DHCP的网络/TCP/IP堆栈;
一CPU模式切换器,其用以将一x86CPU从真实模式切换至保护模式并再次返回;
一OS开机载入器,其用以从一计算机硬盘开机加载一主操作系统;
一系统信息管理器,其用以从一BIOS撷取出系统信息,并且将所述所取出信息传送至所述设备服务器;以及
一内存资源管理器,其用以供管理内存资源以允许将应用程序下载且布置于适当位置处。
16.根据权利要求14所述的设备,所述应用程序包含下列任何项目:
虚拟机器应用程序,其要求一超管理器)以供运行;而执行环境包含下列任何项目:
-具有仿真盘片的真实模式;
-具有固定内存地址的真实模式;
-具有仿真磁盘及大型后开机加载有效负载的真实模式;以及
-具固定内存地址及大型后开机加载有效负载的真实模式。
17.一种用以设备虚拟化的计算机实施方法,其中包含下列步骤:
将一嵌入式操作系统(OS)储存在一个人计算机的系统开机加载ROM之内;
在启动该个人计算机的操作系统之前,当所述个人计算机开机加载时立即地启动该OS,并且暂停启动至少一部分所述个人计算机的操作系统;
一旦一初始OS上线并且已连上一设备服务器之后,即下载一更完整OS,其中在此处理程序过程里所述OS的外观及体验并不改变;
对于该个人计算机的多个使用者提供多个个人设定,各个个人设定运行于一软件容器内,该软件容器从一底层平台所抽象化;
在启动所述OS之后,所述OS在一本地储存介质及一网络位置的任何处搜寻可用虚拟设备及个人设定,一设备含有一自含式二进制代码套件,其含有为执行一特定工作所必要的所有项目;
所述OS在所述个人计算机处显示至少某些的所述可用虚拟设备以供选择;
从所显示的可用虚拟设备选择至少一设备以供在所述个人计算机处使用;及
在所述个人计算机处下载并启动该选定设备;
其中所述应用程序含有其本身的执行环境,可完全地在RAM中常驻且执行,并且不需要本地永久储存。
18.根据权利要求17所述的方法,进一步包含下列步骤:
提供以基本数据为基础的组态、个人设定及个人设定的套件。
19.根据权利要求17所述的方法,进一步包含下列任何步骤:
自动更新内容;以及
自动更新个人设定。
20.根据权利要求19所述的方法,进一步包含下列步骤:
利用P2P及/或BitTorrent以更新内容及个人设定,且/或用于新近及/或替换的个人设定。
21.根据权利要求17所述的方法,进一步包含下列步骤:
提供一驱动程序及外围装置整合工具组,其用于将个人设定绑定于一外围装置,以提供必要工具而让一外围装置及一装置驱动程序能够适当地且最佳化地在一虚拟机器的内部运作。
CNA2007800262229A 2006-07-10 2007-07-03 用以设备虚拟化的方法及设备 Pending CN101490645A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US80691506P 2006-07-10 2006-07-10
US60/806,915 2006-07-10
US60/890,121 2007-02-15
US11/772,700 2007-07-02

Publications (1)

Publication Number Publication Date
CN101490645A true CN101490645A (zh) 2009-07-22

Family

ID=40892118

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800262229A Pending CN101490645A (zh) 2006-07-10 2007-07-03 用以设备虚拟化的方法及设备

Country Status (1)

Country Link
CN (1) CN101490645A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043637A (zh) * 2009-10-14 2011-05-04 宏碁股份有限公司 预先选取计算机系统欲执行程序的方法、系统及轻便系统
CN102243602A (zh) * 2010-05-11 2011-11-16 西安龙飞软件有限公司 一种Linux系统中使用闪存保存系统配置的方法
CN103365651A (zh) * 2012-03-30 2013-10-23 佳能株式会社 信息处理装置及应用激活方法
CN103455450A (zh) * 2013-09-22 2013-12-18 山东中孚信息产业股份有限公司 一种usb设备通讯方法
CN103477320A (zh) * 2011-04-01 2013-12-25 惠普发展公司,有限责任合伙企业 引导计算装置具有预定义的功能
CN104035905A (zh) * 2014-07-03 2014-09-10 开曼群岛威睿电通股份有限公司 通用串行总线装置及通用串行总线装置处理数据的方法
CN105511941A (zh) * 2015-03-16 2016-04-20 卡巴斯基实验室股份公司 辅助计算机系统中多个管理程序的联合操作的系统和方法
CN105573741A (zh) * 2015-09-25 2016-05-11 中国电子科技集团公司第三十二研究所 界面可重构的虚拟应用系统和方法
CN105630572A (zh) * 2014-10-20 2016-06-01 纬创资通股份有限公司 虚拟机监控方法及虚拟机监控系统
US10289423B2 (en) 2014-10-31 2019-05-14 Hewlett Packard Enterprise Development Lp Management controller
CN115188136A (zh) * 2022-07-13 2022-10-14 中国银行股份有限公司 一种自助存取款机的驱动程序处理方法及装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043637A (zh) * 2009-10-14 2011-05-04 宏碁股份有限公司 预先选取计算机系统欲执行程序的方法、系统及轻便系统
CN102243602A (zh) * 2010-05-11 2011-11-16 西安龙飞软件有限公司 一种Linux系统中使用闪存保存系统配置的方法
CN102243602B (zh) * 2010-05-11 2013-03-27 西安龙飞软件有限公司 一种Linux系统中使用闪存保存系统配置的方法
US9411604B2 (en) 2011-04-01 2016-08-09 Hewlett-Packard Development Company, L.P. Booting a computing device to have a predefined functionality
CN103477320A (zh) * 2011-04-01 2013-12-25 惠普发展公司,有限责任合伙企业 引导计算装置具有预定义的功能
US9606813B2 (en) 2012-03-30 2017-03-28 Canon Kabushiki Kaisha Information processing apparatus, application activation method, and program
CN103365651A (zh) * 2012-03-30 2013-10-23 佳能株式会社 信息处理装置及应用激活方法
CN103365651B (zh) * 2012-03-30 2016-11-16 佳能株式会社 信息处理装置及应用激活方法
CN103455450A (zh) * 2013-09-22 2013-12-18 山东中孚信息产业股份有限公司 一种usb设备通讯方法
CN103455450B (zh) * 2013-09-22 2017-01-18 中孚信息股份有限公司 一种usb设备通讯方法
CN104035905A (zh) * 2014-07-03 2014-09-10 开曼群岛威睿电通股份有限公司 通用串行总线装置及通用串行总线装置处理数据的方法
US9760519B2 (en) 2014-07-03 2017-09-12 Intel Corporation USB device and method for processing data by USB device
CN104035905B (zh) * 2014-07-03 2017-07-21 英特尔公司 通用串行总线装置及通用串行总线装置处理数据的方法
CN105630572B (zh) * 2014-10-20 2019-01-25 纬创资通股份有限公司 虚拟机监控方法及虚拟机监控系统
CN105630572A (zh) * 2014-10-20 2016-06-01 纬创资通股份有限公司 虚拟机监控方法及虚拟机监控系统
US10289423B2 (en) 2014-10-31 2019-05-14 Hewlett Packard Enterprise Development Lp Management controller
CN105511941A (zh) * 2015-03-16 2016-04-20 卡巴斯基实验室股份公司 辅助计算机系统中多个管理程序的联合操作的系统和方法
CN105511941B (zh) * 2015-03-16 2019-04-19 卡巴斯基实验室股份公司 辅助计算机系统中多个管理程序的联合操作的系统和方法
CN105573741A (zh) * 2015-09-25 2016-05-11 中国电子科技集团公司第三十二研究所 界面可重构的虚拟应用系统和方法
CN115188136A (zh) * 2022-07-13 2022-10-14 中国银行股份有限公司 一种自助存取款机的驱动程序处理方法及装置
CN115188136B (zh) * 2022-07-13 2024-08-02 中国银行股份有限公司 一种自助存取款机的驱动程序处理方法及装置

Similar Documents

Publication Publication Date Title
US7441113B2 (en) Method and apparatus for virtualization of appliances
CN101490645A (zh) 用以设备虚拟化的方法及设备
CN100385386C (zh) 在引导和关机期间显示图象的方法
US20190187969A1 (en) Method for virtualizing software applications
JP6192534B2 (ja) 仮想アプリケーション拡張ポイント
US7191327B2 (en) Internet-enabled device provisioning, upgrade and recovery mechanism
US20110078681A1 (en) Method and system for running virtual machine image
WO2008073618A2 (en) Instant on platform
AU2011329096B2 (en) Networked recovery system
US20090083375A1 (en) Installation of a Virtualization Environment
US20090077551A1 (en) Virtual machine image builder for automated installation of fully-virtualized operating system
CN101479721A (zh) 从可移动介质运行应用程序
CN102411506A (zh) Java系统业务单元插件式管理系统及业务功能动态变更方法
KR20080059583A (ko) 개인용 인터넷 커뮤니케이터용 하드 드라이브를 위한 부팅성능 최적화
CN104182255A (zh) 一种系统应用的库文件升级方法及终端
CN101438266A (zh) 按照离散的级引导操作系统
WO2011017275A1 (en) Streaming an application install package into a virtual environment
CN103902265A (zh) 一种应用实现方法及相关装置
CN101650660A (zh) 从中央存储装置引导计算机系统
CN101425021A (zh) 基于虚拟机技术的个人计算机可迁移应用模式
JP5684962B2 (ja) システム・ファームウェアから記憶装置にアプリケーション・プログラムを転送するための方法およびシステム
CN103677937A (zh) 升级软件和运行软件的方法及装置
US20230342134A1 (en) Hybrid approach to performing a lazy pull of container images
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置
CN102184112B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090722