CN101427237B - 操作系统与应用程序的集成按需交付系统与方法 - Google Patents
操作系统与应用程序的集成按需交付系统与方法 Download PDFInfo
- Publication number
- CN101427237B CN101427237B CN200580021184.9A CN200580021184A CN101427237B CN 101427237 B CN101427237 B CN 101427237B CN 200580021184 A CN200580021184 A CN 200580021184A CN 101427237 B CN101427237 B CN 101427237B
- Authority
- CN
- China
- Prior art keywords
- application program
- operating system
- image
- flow transmission
- client 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
Abstract
本发明公开了集成按需交付操作系统和应用程序的系统与方法,其中操作系统映像与应用程序映像分开且不同。操作系统流传输服务和应用程序流传输服务的集成使得流传输交付至广泛范围的客户设备成为可能,客户设备包括没有本地磁盘空间的客户设备,诸如瘦客户机和无盘工作站。此外,通过集成操作系统交付和应用程序交付的集中管理,本发明为服务器-中心应用程序管理提供了完整解决方法,从而进一步减少了基于网络的计算方法的总体拥有成本。在客户机器专有级实现操作管理功能及在用户专有级实现应用程序管理功能,结合提供分开且不同的操作系统映像和应用程序映像,就提供了允许适当缩放并提供适当安全管理功能的内在规范架构。结果是完整、可缩放、坚固且可靠的服务器-中心应用程序和操作系统管理系统,其总体拥有成本比现有产品低。
Description
技术领域
本发明一般涉及交付操作系统和应用程序至客户计算机,特别地,涉及通过网络的操作系统与应用程序至客户计算机的集成按需交付。背景技术
基于网络的计算模型作为管理企业计算需求的成本效率合算的方法在近几年已普遍起来。从网络管理的个人计算机、网络计算机、瘦客户机至服务器中心客户机,基于网络的计算主要由减少在网络计算环境中提供IT服务的成本(称为总体拥有成本,TCO)的需求驱动。在业界众所周知的是向最终用户提供计算资源的最昂贵部分不是计算硬件和软件的成本,而是持续维护和管理的成本。见《ThinClientBenefits,NewburnConsulting》(2002);《TotalCostofApplicationOwnership,TheTollyGroupWhitepaper》(1999);《TCOAnalyst:AWhiterPaperonGartnerGroup’sNextGenerationTotalCostofOwnershipMethodology,GartnerConsulting》(1997)。根据这些众所周知的研究,基于网络的计算模型可通过集中IT服务的维护和管理功能大幅减少总体拥有成本,从而减少持续维护和管理的经常性成本。
在持续寻求达到较低的总体拥有成本且不损害性能和可靠性时,正在不断开发新技术。特别关心的是操作系统(OS)流传输与应用程序流传输,其利用流式技术或流传输(streaming)技术将操作系统和应用程序部署至个人计算机或客户计算机。
最初为互联网多媒体应用开发的流传输技术提供了通过网络及时交付时间敏感或面向交互的数据的有利方法。例如,在视频流传输中,开始回放前不等待直至整个视频文件下载完成,而是一旦已下载足够的文件部分,视频回放就开始。之后,在正在播放已接收的帧时,在称为“预取”或“缓冲”的进程中下载更多的帧。视频回放在用户看来是无缝的,且消除了下载整个视频文件的潜在的相当长延迟。
同样,操作系统流传输系统和应用程序流传输系统补充支持流传输技术来提高网络计算性能。网络计算机,诸如通过网络从中央服务器引导的无盘计算机,一直受到因网络时延或等待时间而性能低的困扰。传统的无盘网络计算机技术仅用网络访问代替“请求调页”的磁盘访问。即,当客户计算机上需要某些代码或数据时,代码或数据经过网络引入而不是从本地磁盘引入。由于网络等待时间比本地磁盘访问延迟多几倍,所以代码或数据访问时间长得多,降低了网络计算机的性能。网络中的其他通信量也会进一步降低这些计算机的性能。但是,有了操作系统流传输系统和应用程序流传输系统,运行或执行操作系统或应用程序必需的文件以类似视频流传输的方式被“预取”或“缓冲”至客户计算机,使得操作系统或应用程序能无缝运行,而不受有限网络响应时间或带宽引起的延迟的影响。同时,由于操作系统或应用程序文件从中央服务器交付至客户计算机,所以操作系统或应用程序的中央安装、交付和管理成为可能。
目前,操作系统流传输系统由Venturcom和Qualystem等厂商提供。更普遍称为远程引导(RemoteBoot)或网络引导(NetworkBoot)技术的现有操作系统流传输解决方案提供了通过流传输方法引导或初始加载操作系统至客户计算机上所需的核心操作系统文档。尽管现有操作系统流传输解决方案提高了通过传统网络计算的操作系统交付的性能,但也存在显著的缺点。
启动时,一旦初始操作系统加载完成,系统恢复至请求调页以进一步访问运行客户计算机所需的代码与数据。例如,现有操作系统流传输系统中提供的应用程序交付依赖于请求调页。典型地,应用程序构造于操作系统映像中,且整个操作系统加应用程序映像被交付至客户计算机。但是,仅初始操作系统加载部分被流传输,且一旦操作系统启动并运行,系统就依赖于传统的请求调页。因此,在客户计算机上——其包括大量的用户与系统的交互——运行应用程序时,现有操作系统流传输系统的性能和传统无盘工作站差不多,受到各种网络时延的限制。
另外,现有操作系统流传输解决方案受到可伸缩性或可缩放性和管理重大问题的困扰。例如,必须为各个最终用户账户构造整个操作系统加应用程序映像,因为各最终用户希望选择自己所需的应用程序。但是,没有理由为各客户机器保留一个以上的操作系统映像。也就是说操作系统是客户机器专有的,而应用程序是用户专有的。因此,操作系统加应用程序流传输方法引起各用户大量存储空间的浪费——典型地,每个用户几百兆字节。对于有数千用户的企业系统,每个用户几百兆字节的浪费将轻易地合计达到千吉字节的不必要存储需求。
另一问题是每次增加、移除、升级或修改应用程序时都必须构造新的操作系统映像。只要对一个应用程序施加“补丁”(微小的修改或升级),就必须重建新的操作系统加应用程序映像。但是构造操作系统映像是资源密集型任务,且每次为应用程序打补丁时——这是相对普通的事件——都重复该任务在有大量用户的环境中是不切实际的。根本上,这些问题是由于操作系统是机器专有而应用程序是用户专有这一事实引起的。换句话说,由于操作系统管理与应用程序管理之间的特性级的固有失配,将操作系统和应用程序作为单个单元管理的系统的伸缩性必定差。适当的解决方案必须考虑到这个根本差异。
另一方面,应用程序流传输技术通过利用流传输技术解决了应用程序交付和管理的问题。以类似于多媒体或操作系统流传输的方式,当客户计算机运行应用程序需要应用程序块时,应用程序流传输系统中的应用程序由服务器通过网络提供,一次一个块。但是,既然由于用户驱动的应用程序执行的交互特性,立即或可预见的未来所需要的代码和数据不是确定已知,所以应用程序代码或数据的“预取”必须比操作系统流传输更加“智能”。不过,使用智能预测算法,应用程序流传输系统可以充分的预测准确性预取必要的代码或数据,以使经过网络的请求调页最少,提高应用程序的性能。同时,由于应用程序是从服务器提供的,所以应用程序分配、安装和交付的管理可集中在服务器处,从而进一步减少总体拥有成本中不断增加的应用程序管理部分。目前,应用程序流传输技术的各种实施方式由AppStream和EndeavorsTechnology等厂商提供。
但应用程序流传输技术的重大缺点在于其要求相当大的本地磁盘空间供系统运行。这是因为诸如MicrosoftWord的几乎所有现代应用程序使用本地分页文件——有时也称为临时文件——这要求相当大的本地存储空间。如果没有充分的磁盘空间来写出分页文件,那么这些应用程序不能运行。但是,目前可用的应用程序流传输解决方案没有为流传输服务器提供写出数据或文件的能力,因为其仅以从服务器至客户机的方向流传输数据。因此,目前可用的应用程序流传输技术不能用于诸如无盘个人计算机和瘦客户机这样的没有本地存储空间的客户设备。
克服该缺点的非常理想的方法是集成操作系统流传输技术与应用程序流传输技术。使用集成的流传输系统,应用程序流传输服务所要求的本地存储空间可由操作系统流传输服务通过网络激活或启用虚拟磁盘服务提供。那么可以看出,本领域需要集成的操作系统流传输系统和应用程序流传输系统。
应用程序流传输技术的另一缺点在于其没有解决操作系统依赖性和管理问题。毫无疑问,管理安装于客户计算机上的操作系统是企业系统管理的重要方面。另外,没有解决操作系统管理的应用程序管理系统是天生不完善的,因为应用程序的安装与执行是与操作系统相关的。例如,为Windows98写的一些应用程序将不能在Windows2000或WindowsXP上安装或正常运行。因此,没有客户计算机上操作系统的相当集中管理,应用程序分配和交付的集中管理不能完全有效或完整。另外,与操作系统管理分离的应用程序管理会在企业系统管理中引起复杂性及意外的困难,最终将导致更高的总体拥有成本。
那么可以看出,在本领域中需要利用流传输技术进行应用程序交付与操作系统交付、提供应用程序及操作系统的分配与交付集中管理的系统。发明内容
因此,本发明通过提供用于操作系统和应用程序的集成按需交付的系统与方法解决了前述需求。
根据本发明的一方面,本发明是通过网络集成按需交付操作系统和应用程序至客户计算机的系统,该系统包括:至少一个操作系统映像;操作系统流传输服务器;各客户计算机的操作系统流传输代理;至少一个应用程序映像;应用程序流传输服务器;各客户计算机的应用程序流传输代理;以及管理操作系统交付和应用程序交付的集成用户界面。本发明的系统还可包括管理操作系统交付和应用程序交付的集成公用数据库。另外,本发明的系统允许计算机专有的操作系统交付管理和用户专有的应用程序交付管理,使得系统可正常扩缩。
根据本发明的另一方面,本发明是通过网络集成按需交付操作系统和应用程序至客户计算机的方法,其包括以下步骤:提供操作系统流传输代理和操作系统流传输服务器;提供应用程序流传输代理和应用程序流传输服务器;提供至少一个操作系统映像;提供至少一个应用程序映像;提供管理操作系统交付和应用程序交付的集成用户界面,其中管理操作系统交付是客户计算机专有的而管理应用程序交付是用户专有的;使用集成用户界面为客户计算机选择操作系统;使用集成用户界面为用户选择至少一应用程序;当用户登陆客户计算机时,通过经操作系统流传输代理和操作系统流传输服务器流传输所选操作系统的操作系统映像至客户计算机,按需交付所选操作系统至客户计算机;以及通过经应用程序流传输代理和应用程序流传输服务器流传输至少一应用程序的应用程序映像至客户计算机,按需交付所选的至少一应用程序。
根据本发明的另一方面,本发明是通过网络集成按需交付操作系统和应用程序至客户计算机的系统,该系统包括:提供操作系统流传输服务器的装置;提供应用程序流传输服务器的装置;提供至少一操作系统映像的装置;提供至少一应用程序映像的装置,其中该至少一操作系统映像与该至少一应用程序映像是分开且不同的;提供管理操作系统交付和应用程序交付至至少一客户计算机的集成用户界面的装置;提供使用集成用户界面为客户计算机选择操作系统的装置;提供使用集成用户界面为用户选择至少一应用程序的装置;当用户登陆客户计算机时,通过使所选操作系统的操作系统映像流传输至客户计算机而按需交付所选操作系统至客户计算机的装置;以及通过使所选至少一应用程序的应用程序映像流传输至客户计算机而按需交付所选至少一应用程序的装置。
参照以下说明书、权利要求和附图,本领域技术人员可进一步理解并意识到本发明的其他及进一步目标与优点。附图说明
现参照附图,附图中相同标记数字表示对应的部件:
图1示出了根据本发明的系统的总体框图;
图2a示出了根据本发明的集成系统管理功能的集成用户界面屏幕;
图2b示出了根据本发明的应用程序映像管理功能的集成用户界面屏幕;
图2c示出了根据本发明的客户设备管理功能的集成用户界面屏幕;
图2d示出了根据本发明的用户管理功能的集成用户界面屏幕;
图2e示出了根据本发明服务器管理功能的集成用户界面屏幕;
图2f示出了根据本发明的映像构造实用程序功能的集成用户界面屏幕;
图2g示出了根据本发明的为客户计算机选择操作系统的集成用户界面屏幕;
图2h示出了根据本发明的为用户选择操作系统的集成用户界面屏幕;
图3a示出了根据本发明的为给定操作系统选择应用程序的集成用户界面屏幕;
图3b示出了根据本发明的为用户选择应用程序的集成用户界面屏幕;
图4示出了根据本发明的在客户计算机处用户的用户界面屏幕;
图5a示出了操作系统流传输进程的概况;
图5b示出了应用程序流传输进程的概况;以及
图6a至图6g示出了根据本发明的集成公用数据库中的可能实体。具体实施方式
图1示出了根据本发明的系统的总体框图。如图1所示,本发明的系统的实施例可包括:操作系统流传输服务器(110)、操作系统映像(112)、操作系统流传输服务(114);应用程序流传输服务器(120)、应用程序映像(122)、应用程序流传输服务(124);客户计算机(130)、操作系统流传输代理(132)、应用程序流传输代理(134)、集成用户界面(140)、中央管理控制台(142)、集成公用数据库(150)以及数据库服务器(152)。
客户计算机(130)可为瘦客户模块、个人计算机或工作站,这不脱离本发明的范围。客户计算机(130)也可为从手持设备至服务器级机器的任何流传输客户设备,这不脱离本发明的范围。特别地,客户计算机(130)可为诸如网络服务器或电子邮件服务器的服务器机器,而不脱离本发明的范围。即,用作网络或电子邮件服务目的的机器可为用于操作系统流传输目的的客户机,因此使其操作系统从操作系统服务器流传输服务器流传输。
操作系统流传输服务器(110)、应用程序流传输服务器(120)以及数据库服务器(152)是可被置于单独物理服务器上或同一物理服务器机器上的逻辑单元。另外,操作系统流传输服务器(110)、应用程序流传输服务器(120)以及数据库服务器(152)中任一服务器自身可被部署在诸如服务器群或服务器集群的多物理服务器中。
操作系统映像(112)包括一个文件,该文件包含执行诸如微软Windows98、Windows2000和WindowsXP以及Linux这样的操作系统必需的所有组件(核心映像、设备驱动程序、可执行程序、动态链接库(DLL)等)的。类似,应用程序映像(122)包括含有运行诸如MicrosoftWord、Excel、Outlook以及PowerPoint这样的应用程序必需的所有组件的文件。应注意不是每个应用程序都需要从应用程序流传输服务器(120)流传输。对于一些应用程序,尤其是引起很少或不引起请求调页的小型实用应用程序,应用程序文件可包含于操作系统映像(112)中,这不脱离本发明的范围。注意,对于诸如MicrosoftWindows的一些操作系统,诸如写字板和计算器的一些实用程序已是操作系统映像的一部分。
在本发明的优选实施例中,操作系统流传输服务器(110)的流传输服务是通过操作系统流传输服务(114)提供的,操作系统流传输服务(114)可为服务进程和服务监控或服务后台驻留程序(daemon),而不脱离本发明的范围。同样,应用程序流传输服务器(120)的流传输服务可通过应用程序流传输服务(124)提供。在替代实施例中,操作系统流传输服务(114)或应用程序流传输服务(124)也可在服务进程内作为服务线程实现,而不脱离本发明的范围。在另一实施例中,操作系统流传输服务(114)和应用程序流传输服务(124)都可在单个服务进程中作为服务线程实现,而不脱离本发明的范围。在这种实施例中,似乎仅有一个服务进程存在于操作系统。但是操作系统流传输服务(114)和应用程序流传输服务(124)在该服务进程内通过分开的服务线程提供。
在本发明一个实施例中,客户计算机(130)、操作系统流传输服务器(110)、应用程序流传输服务器(120)以及数据库服务器(152)通过网络(160)相互通信。但是在与其他任何服务器相同的物理服务器上部署操作系统流传输服务器(110)、应用程序流传输服务器(120)或数据库服务器(152)的实施例中,服务器之间的通信将在同一机器内发生,这不脱离本发明的范围。
图2a示出了根据本发明的集成系统管理功能的集成用户界面屏幕。如图2a所示,集成用户界面(140)包括管理本发明的集成系统的所有功能子部件的集成系统管理功能。总体来说,集成用户界面(140)可由诸如中央管理控制台(142)的系统管理工作站上的系统管理员执行,尽管其可运行在网络(160)中的任何计算机上而不脱离本发明的范围。通过使用集成用户界面(140),系统管理员可安装并配置客户计算机、操作系统以及用户。
特别地,图2a示出了用户界面元件:管理操作系统映像的操作系统(202)、管理应用程序映像的应用程序(204)、管理客户设备的客户设备(206)、管理用户的用户(208)以及管理服务器的服务器(210)。图2a也示出了用户界面元件:访问映像构造实用功能的实用程序(212)以及管理、控制系统中设备的设备管(214)。
如图2a所示,操作系统(202)用户界面元件被选择,使右边窗格显示可用的操作系统映像。在右边窗格(217)中选择操作系统(OS)映像1(216),示出了该映像的操作系统Windows2000(218),以及支持硬件(220)和设备驱动(222)。
图2b示出了根据本发明的应用程序映像管理功能的集成用户界面屏幕。如图2b所示,应用程序(204)用户界面元件被选择,且右边窗格(217)示出系统中可用的应用程序映像。特别地,应用程序映像1(224)被选择,示出该映像是用于Word2000(226)应用程序的,且支持的操作系统为Windows2000(228)和WindowsXP(229)。
图2c示出了根据本发明的客户设备管理功能的集成用户界面屏幕。图2c示出了客户设备(206)用户界面元件被选择,且右边窗格(217)显示可用的客户设备。图2c也特别示出了选择设备1(230),以及硬件(232)、目标操作系统历史(234)和设备(236)的结果显示。
图2d示出了根据本发明的用户管理功能的集成用户界面屏幕。如图2d所示,用户(208)用户界面元件被选择,使得在右边窗格(217)显示用户。如所示的,用户1(238)被选择,因而示出了分配的操作系统(240)和应用程序(242)。
图2e示出了根据本发明的服务器管理功能的集成用户界面屏幕。如图2e所示,服务器(210)用户界面元件被选择,因而可用的服务器显示于右边窗格(217)。在服务器1(244)下,操作系统映像(245)树示出了服务器1(244)上可用的操作系统映像——映像1(246)和映像2(247)。但是,在应用程序映像(248)下没有项目,示出服务器1(244)仅用于流传输操作系统。因此,仅操作系统流传输服务(250)显示在服务(252)树下。客户设备IP地址范围(254)元件也用于访问客户设备IP地址显示和管理功能。图2e中也示出了服务器2(256),应用程序映像(258)下有项目,但操作系统映像(259)下没有项目,表示服务器2(256)仅用作应用程序流传输服务器。相反,服务器3(260)有操作系统映像,映像2(262),以及应用程序映像,应用程序映像5(264)和应用程序映像6(265),表示服务器3(260)既用作操作系统流传输服务器,也用作应用程序流传输服务器。因此,服务(266)树示出在服务器3(260)上的操作系统流传输服务(268)和应用程序流传输服务(269)都是活动的。
图2f示出了根据本发明的映像构造实用功能的集成用户界面屏幕。如图2f所示,操作系统映像构造器(270)用户界面元件被选择,因而右边窗格(217)示出了操作系统构造功能屏幕。系统文件列表框(272)示出了构造功能操作系统映像所需的操作系统核心文件,设备驱动列表框(274)示出了系统设备驱动。此外,操作系统构造下拉框(276)示出了被构造的操作系统为Windows2000。如图所示,也可以指定像名称(278)和映像路径(279)。
图2g示出了根据本发明的用于为客户计算机选择操作系统的集成用户界面屏幕。该屏幕可从上述集成系统管理用户界面的客户设备管理功能屏幕访问。如图2g所示,集成用户界面(140)包括为客户计算机选择操作系统的功能。例如,图2a示出的用户界面屏幕中已经选择了客户计算机1(280)的配置。对于操作系统栏(282),选择了Windows2000(284),表示客户机引导时,Windows2000操作系统映像将被流传输至客户计算机1(280)。因而,操作系统管理为客户计算机专有或特定的。
图2h示出了根据本发明的为用户选择操作系统的集成用户界面屏幕。如图2h所示,已选择了用户1(286)用于操作系统配置。对于操作系统栏(288),选择了Windows2000(289),表示用户1(286)通过本领域技术人员已知的预引导登陆程序登陆时,Windows2000操作系统映像将被流传输至客户计算机。因而,操作系统管理为用户专有和/或客户计算机专有。
图3a示出了根据本发明的为给定操作系统选择应用程序的集成用户界面屏幕。如图3a所示,已经选择了Windows2000操作系统(310)用于应用程序配置。所选操作系统可用的应用程序列在应用程序栏(312)下,各可用的应用程序可通过使用活动栏(314)被设置为活动或非活动状态。
图3b示出了根据本发明的为用户选择应用程序的集成用户界面屏幕。如图3b所示,已选择了用户1(318)用于配置。对于缺省应用程序栏(320),已选择了Word2000栏(322)、Outlook2000栏(324)以及AcrobatReader6栏(326),指出用户1(318)可用的缺省应用程序。图3b也示出了附加应用程序栏(330),其中已经选择了Excel2000栏(332)和AutoCAD2004栏(334)。
因而,如图2a至图2h以及图3a至图3b所示,本发明提供了操作系统交付和应用程序交付的集成管理,其中操作系统交付的管理是客户计算机或机器专有的和/或应用程序交付的管理是用户专有的。因此,本发明提供了可适当扩缩的用于操作系统和应用程序集成按需交付的系统与方法。另外,可在合适的级适当管理系统安全和访问权限。
在另一实施例中,集成用户界面(140)可为基于网络的用户界面,还进一步提供跨越变化的硬件和网络环境的系统灵活性、兼容性和可移植性。
一旦系统管理员配置了操作系统和应用程序,用户可通过在客户计算机上引导操作系统并从操作系统界面启动可用的应用程序来访问提供的计算资源。另外,在客户计算机处的用户也可选择预订管理员使其可用的应用程序。图4示出了根据本发明的客户计算机处用户的用户界面屏幕。如图4所示,客户计算机1(210)的用户1(318)有权在客户机用户界面(402)上配置或定制可用的应用程序预订(subscription)。对于缺省应用程序栏(410),已经选择了Word2000栏(412)、Outlook2000栏(414)以及AcrobatReader6栏(416),指出客户计算机1(210)上用户1(318)的缺省应用程序预订。图4也示出了附加应用程序栏(420),其中已经选择了Excel2000栏(422),表示用户1(318)已选择预订Excel2000。没有选择AutoCAD2004栏(424),表示系统管理员使客户计算机1(210)上的用户1(318)可以用AutoCAD2004应用程序,但用户1(318)已决定不预订该应用程序。预订的应用程序将出现在客户计算机1(210)的桌面或程序菜单上,就好像它们已经安装于客户计算机的本地驱动器上。
图5a示出了操作系统流传输进程的概况。如图5a所示,通过从操作系统流传输服务器(110)一次一块流传输操作系统映像(112)至操作系统流传输代理(132),操作系统被按需交付至客户计算机(130)。在优选实施例中,操作系统流传输服务是由操作系统流传输服务(114)和操作系统流传输代理(132)经过网络(160)通信实现的。操作流传输的技术在本领域内众所周知。见,例如,YevgeniyKlimenko于1998年3月20日申请的美国专利第5,974,547号“TechniqueforreliableNetworkBootingofanOperatingSystemtoaClientComputer”;Venturcom于2002年出版的PatrickWaddell所著《VenturcomBXP2.0forWindows2000andWindowsXP-CentralizedManagementofNetworkAttachedDisklessClients》。也应注意,按本领域惯例,术语操作系统流传输、网络引导和远程引导在本文中可互换使用。
为简要说明网络引导和操作系统流传输的操作,客户计算机的引导过程开始于客户计算机的只读存储器基本输入输出系统(ROMBIOS),其包括识别网络接口卡(NIC)作为引导和载入操作系统的初始程序载入(IPL)设备的代码。见CompaqComputer(康柏电脑公司)、PhoenixTechnologiesLtd以及IntelCorporation(英特尔公司)1996年1月公布的“BIOSBootSpecification”。反过来网卡也必须是可引导设备,如启用PXE的NIC。PXE(预引导执行环境)为网卡提供了在载入任何操作系统前初始化至服务器的网络连接的方法,使得操作系统文件可经网络下载。见,英特尔公司1999年9月的“PrebootExecutionEnvironment(PXE)SpecificationVersion2.1”。网卡也可使用本领域技术人员已知的任何预引导通信协议,如IBMRPL(远程程序载入),而不脱离本发明的范围。当客户计算机引导时,BIOS引导代码指示启用PXE的NIC提供初始操作系统引导代码,NIC又连至引导服务器如操作系统流传输服务器(110),以下载初始操作系统引导代码。作为初始引导代码的一部分,操作系统流传输代理(132)俘获预操作系统磁盘存取请求(个人计算机架构中的INT13)并使其重定向至启用PXE的NLC,使得操作系统文件可继续被下载至客户计算机。一旦已下载足够的操作系统使得网络栈和文件系统是可运行的,操作系统代理(132)就转换为作为磁盘过滤驱动器运行的操作系统流传输代理,其经网络(160)重定向所有的磁盘请求至操作系统流传输服务器(110)。之后,不论何时客户计算机(130)需要更多的操作系统,所需文件就可通过从操作系统流传输服务器(110)经网络(160)流传输操作系统映像(112)的该部分至操作系统流传输代(132)而交付。因而,整个引导过程对客户计算机(130)的用户是完全透明的。在优选实施例中,操作系统流传输服务(114)读取操作系统映像(112)并与操作系统流传输代(132)通信以提供操作系统流传输服务。
在一个实施例中,操作系统映像(112)通过经网络重定向客户计算机上的磁盘存取请求至虚拟磁盘而被透明地流传输。在优选实施例中,本发明的操作系统流传输系统的磁盘存取重定向至虚拟磁盘是在现代操作系统的分层设备驱动器架构的磁盘驱动设备驱动器级运行的。对于微软WindowsNT/2000/XP操作系统的分层设备驱动器架构的描述,见MicrosoftPress(微软出版社)2000年出版的DavidA.Solomon和MarkE.Russinovich的《InsideMicrosoftWindows2000,ThirdEdition》;以及O’Reilly&Associates1997年出版的RajeevNagar的《WindowsNTFileSystemInternals》。
应用程序流传输是通过与操作系统流传输相当类似的方法和进程实现的。开始,应用程序流传输代(134)作为操作系统的一部分被下载至客户计算机(130)。因为操作系统交付和应用程序交付的管理功能是集成在一起的,所以操作系统不将应用程序实际构造进操作系统映像中就知道哪些应用程序可用。在一替代实施例中,应用程序设置可通过应用程序流传输代理(134)被传至在客户计算机(130)上运行的操作系统,而不脱离本发明的范围。之后操作系统通过在操作系统桌面或程序开始菜单上呈现应用程序图标或快捷方式使应用程序为用户可用。
图5b示出了应用程序流传输过程的概况。当用户点击应用程序图标而运行应用程序时,应用程序流传输代理(134)通过从应用程序流传输服务器(120)经网络(160)流传输应用程序映像(122)来按需交付必需的应用程序文件。在应用程序运行开始时,下载应用程序映像(122)的足够部分以允许应用程序开始运行。之后,随着用户使用应用程序,通过将必需的文件流传输至客户计算机(130)而按需交付应用程序映像(122)的另外部分。在优选实施例中,应用程序流传输服务(124)读取应用程序映像(122)并与应用程序流传输代理(134)通信,以提供应用程序流传输服务。
在一个实施例中,应用程序流传输代理(134)可以与运行时对象代码调试器类似的方式运行。即,当存储器中没有找到所需应用程序文件时,应用程序的执行被中断,且应用程序流传输代理(134)与应用程序流传输服务器(120)经网络(160)通信以下载所需文件。通信机制可为本领域技术人员已知的任何网络通信方法,包括套接字(Socket)和远程过程调用(RPC),这不脱离本发明的范围。一旦必需的文件被下载,应用程序的执行将继续。
在另一实施例中,应用程序流传输代理(134)作为文件系统驱动器运行,并重定向磁盘存取请求至应用程序流传输服务器(120)(称为“缺页”),以载入所需应用程序文件。之后应用程序流传输服务似乎是客户计算机(130)的虚拟文件系统,好像应用程序正从本地磁盘驱动器的文件系统载入。更多有关应用程序流传输技术的细节参见DanEylon等人于2000年12月28日申请的美国专利第6,574,618号“Methodandsystemforexecutingnetworkstreamedapplication”。
应注意,重要的是在本发明中区分了操作系统流传输服务的虚拟磁盘和应用程序流传输服务的虚拟文件系统。在优选实施例中,本发明的操作系统流传输服务的虚拟磁盘重定向在磁盘驱动设备驱动器级运行,而应用程序流传输的虚拟文件重定向在文件系统设备驱动器级运行,这样操作系统流传输服务和应用程序流传输服务相互透明地运行,没有冲突且灵活性最大。但是,操作系统流传输服务和应用程序流传输服务都可使用虚拟磁盘和虚拟文件系统,这不脱离本发明的范围。
在另一实施例中,流传输至客户计算机(130)的应用程序文件被写入客户计算机(130)的虚拟磁盘,以后需要时按需流传输回客户计算机(130)。
在又一实施例中,本地存储缓存可被添加至客户计算机(130)来存储已被流传输至客户计算机(130)的文件,不论是操作系统还是应用程序文件。之后,当客户计算机(130)上的操作系统发出缺页时,系统将首先尝试从本地存储缓存满足文件请求。仅当本地缓存中没有找到所需文件页时,才从服务器流传输文件页,从而提高了响应的速度并减少了网络通信量。本地缓存存储可为本领域技术人员已知的任何持久存储设备,包括磁盘驱动器、闪存设备、随机存取存储器(RAM)磁盘,这不脱离本发明的范围。
如图5a和图5b,本发明提供了与应用程序映像分开且不同的操作系统映像。结合集成用户界面(140)(在此操作系统交付的管理为客户计算机专有而应用程序交付的管理为用户专有),分开且不同的操作系统映像和应用程序映像提供了可适当扩缩的操作系统和应用程序的集成按需交付。不需要为每个用户构造结合应用程序映像的操作系统映像而浪费可贵的存储空间与计算资源。
根据本发明的另一方面,本发明可包括管理操作系统交付和应用程序交付的集成公用数据库。通过结合集成用户界面(140)和集成公用数据库(150),集成的管理功能将得以极大地简化且更加稳固和可靠。因为在同一数据库系统中管理所有系统信息,所以项目可相互参照、相互核对错误和一致性。集成公用数据库(150)可用本领域技术人员已知的任何数据库系统实现,包括但不限于MicrosoftAccess、SQLserver和Oracle,这不脱离本发明的范围。
本发明的集成公用数据库(150)部署在数据库服务器(152)上。如前所述,数据库服务器(152)是可被置于单个物理服务器硬件或多个物理服务器中(如服务器群或服务器集群)的逻辑单元。此外,操作系统流传输服务器(110)、应用程序流传输服务器(120)以及数据库服务器(152)均为可被置于分开的物理服务器或同一物理服务器机器上的逻辑单元。
图6a至6g示出了根据本发明的集成公用数据库(150)中的可能实体。图6a示出了帐户实体(610),具有帐户名称字段(field)(612)和部门字段(614)。图6b示出了应用程序实体(620),具有应用程序名称字段(622)、映像字段(624)、映像大小字段(626)、活动字段(628)和操作系统字段(630)。图6c中示出了许可使用实体(630),具有应用程序字段(632)、最多用户字段(634)和当前用户字段(636)。图6d示出了登陆实体(640),具有时间戳字段(642)、优先级字段(644)和消息字段(646)。图6e示出了客户机器实体(650),具有机器名称字段(652)、介质访问控制(Mac)地址字段(654)、网络协议(IP)地址字段(656)和缺省用户字段(658)。如本领域技术人员已经众所周知的,Mac地址唯一识别在链接或物理层处的网络设备,如支持以太网协议的网络接口卡的以太网地址,而IP地址唯一识别在网络或IP层的网络设备。图6f说明了服务器实体(670),其具有服务器名称字段(672)、IP地址字段(674)和端口字段(676)。如本领域技术人员众所周知的,端口号标识IP地址处的服务连接端点。最后,图6g示出了操作系统实体(680),其具有操作系统名称字段(682)、映像字段(684)、映像大小字段(686)和活动字段(688)。
在操作中,系统管理员可使用中央管理控制台(142)上的集成用户界面(140)配置客户计算机的操作系统和用户的应用程序。关于用户、客户计算机、操作系统映像以及应用程序映像的信息存储于并可通过数据库服务器(152)上运行的集成公用数据库(150)访问。例如,集成用户界面(140)从集成公用数据库(150)中的帐户实体(610)访问关于用户1(230)的信息以及从客户机器实体(650)访问关于客户计算机1(210)的信息。当在集成公用数据库(150)上选择了操作系统时,通过查找操作系统实体(680)的操作系统名称字段(682)和映像字段(684)可获得所选操作系统的映像文件。同样,当选择了应用程序时,通过在集成公用数据库(150)中查找应用程序实体(620)的应用程序名称字段(622)和映像字段(624),可获得应用程序的映像文件。使用许可使用实体(630)管理操作系统和应用程序的许可证。一旦系统管理员配置客户计算机和用户,并使操作系统和应用程序可为它们所用,用户就可进一步用客户用户界面(402)配置自己的安装,客户用户界面(402)也通过集成公用数据库(150)中的数据库各实体访问和存储信息。一旦完成配置与安装,操作系统流传输服务器(110)通过查找操作系统实体(680)的操作系统名称字段(682)和映像字段(684)来确定流传输哪些文件,且通过查找客户机器实体(650)的机器名称字段(652)和IP地址字段(656)确定流传输操作系统映像文件至哪些客户计算机。IP地址字段(656)唯一识别网络上的在网络或IP层的计算机。也可使用客户机器实体(650)的Mac地址字段(654)来唯一识别网络上的在链接或物理层的计算机。之后操作系统流传输服务器(110)打开与操作系统流传输代理(132)的通信连接,一般是套接字连接,来流传输操作系统映像文件。应用程序流传输代理(134)被流传输至客户计算机,作为操作系统下载或流传输的一部分。一旦应用程序流传输代理(134)在客户计算机上运行,应用程序就经过与操作系统流传输相似的过程被流传输。
通过提供分开且不同的操作系统映像和应用程序映像,且在客户机器专有级实现操作管理功能并在用户专有级实现应用程序管理功能,本发明提供了允许适当缩放的内在规范架构,并提供适当的安全管理功能。结果是完整、可缩放、稳固且可靠的服务器中心应用程序和操作系统管理系统,其总体拥有成本比现有产品低。
本发明的优选实施例的前述描述目的在于示例说明与描述,其不是穷尽的,也不是要将本发明限于公开的精确形式。鉴于上面的教导内容,许多修改与变动是可能的。本发明的范围不受这个详细说明的限制,而受本文所附权利要求及权利要求的等效物限制。
Claims (14)
1.一种流传输一个或更多操作系统映像和一个或更多应用程序映像至客户计算机的系统,该系统包括:
集成界面模块,其配置成为用户选择包括至少一个操作系统的至少一个操作系统映像,还配置成将所选择的至少一个操作系统映像可用的至少一个应用程序映像通过使用活动栏设置为活动状态以流传输到所述客户计算机,所述至少一个应用程序映像包括至少一个应用程序;
应用程序流传输服务器,其中所述应用程序流传输服务器中的应用程序流传输服务与应用程序流传输代理通信以提供所述至少一个应用程序映像的足够部分至所述客户计算机以允许所述至少一个应用程序初始运行,并且随着所述至少一个应用程序被使用通过流传输必需的文件至所述客户计算机而按需交付所述至少一个应用程序映像的另外的部分;以及
存储器,其配置成存储所述至少一个操作系统映像和所述至少一个应用程序映像中的至少一种。
2.如权利要求1所述的系统,还包括:
操作系统流传输服务器,其中所述操作系统流传输服务器中的操作系统流传输服务将所述至少一个操作系统映像流传输至所述客户计算机。
3.如权利要求1所述的系统,还包括:
集成公用数据库,其配置成管理所述至少一个操作系统映像到所述客户计算机的流传输以及所述至少一个应用程序映像到所述客户计算机的流传输。
4.如权利要求1所述的系统,其中所述集成界面模块包括基于网络的用户界面。
5.如权利要求1所述的系统,还包括:
操作系统流传输服务器上的虚拟磁盘,其配置成用于在所述客户计算机上运行应用程序时写出分页文件、流传输所述至少一个操作系统映像以及流传输所述至少一个应用程序映像中至少之一。
6.如权利要求1所述的系统,还包括:
虚拟文件系统,所述至少一应用程序映像通过该虚拟文件系统被流传输。
7.如权利要求1所述的系统,其中己被流传输到所述客户计算机的至少一个操作系统映像的一部分或已被流传输到所述客户计算机的所述至少一个应用程序映像的一部分可存储在所述客户计算机的本地存储缓存。
8.一种流传输一个或更多操作系统映像和一个或更多应用程序映像至客户计算机的方法,该方法包括以下步骤:
为所述客户计算机选择至少一个操作系统和自用户接收至少一个应用程序的选择以流传输到所述客户计算机,其中所述至少一个应用程序基于所选至少一个操作系统选自一组可用应用程序;
流传输包含所述选择的至少一个操作系统的至少一个操作系统映像至所述客户计算机;
流传输至少一个应用程序映像的足够部分至所述客户计算机以允许所述选择的至少一个应用程序初始运行,其中所述至少一个应用程序映像包括所选的至少一个应用程序;以及
随着所选的至少一个应用程序被使用流传输必需的文件至所述客户计算机而按需交付所述至少一个应用程序映像的另外的部分。
9.如权利要求8所述的方法,其中流传输所述至少一个操作系统映像至所述客户计算机的步骤响应所述客户计算机的本地用户对所述客户计算机的访问。
10.如权利要求8所述的方法,还包括:
利用集成公用数据库管理所述至少一个操作系统映像至所述客户计算机的流传输和所述至少一个应用程序映像至所述客户计算机的流传输。
11.如权利要求8所述的方法,其中所述选择是利用包括基于网络的用户界面的集成界面模块接收的。
12.如权利要求8所述的方法,还包括:
利用操作系统流传输服务器上的虚拟磁盘在所述客户计算机上运行应用程序时写出分页文件、流传输所述至少一个操作系统映像以及流传输所述至少一个应用程序映像中的至少一种。
13.如权利要求8所述的方法,其中:
所述至少一个应用程序映像通过虚拟文件系统被流传输。
14.如权利要求8所述的方法,还包括:
在所述客户计算机的本地存储缓存上存储已被流传输到所述客户计算机的所述选择的至少一个操作系统映像的一部分和已被流传输到所述客户计算机的所述至少一个应用程序映像的一部分的至少一种。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/840,390 | 2004-05-07 | ||
US10/840,390 US8230095B2 (en) | 2004-05-07 | 2004-05-07 | System and method for integrated on-demand delivery of operating system and applications |
PCT/US2005/015263 WO2005110023A2 (en) | 2004-05-07 | 2005-05-03 | System and method for integrated on-demand delivery of operating system and applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101427237A CN101427237A (zh) | 2009-05-06 |
CN101427237B true CN101427237B (zh) | 2016-05-04 |
Family
ID=35394589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580021184.9A Active CN101427237B (zh) | 2004-05-07 | 2005-05-03 | 操作系统与应用程序的集成按需交付系统与方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US8230095B2 (zh) |
EP (1) | EP1769375B1 (zh) |
JP (1) | JP2007536630A (zh) |
CN (1) | CN101427237B (zh) |
AU (2) | AU2005244158B2 (zh) |
CA (1) | CA2566107C (zh) |
HK (1) | HK1097325A1 (zh) |
MX (1) | MXPA06012869A (zh) |
WO (1) | WO2005110023A2 (zh) |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978716B2 (en) * | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US7490325B2 (en) | 2004-03-13 | 2009-02-10 | Cluster Resources, Inc. | System and method for providing intelligent pre-staging of data in a compute environment |
US20060047855A1 (en) | 2004-05-13 | 2006-03-02 | Microsoft Corporation | Efficient chunking algorithm |
US8230095B2 (en) * | 2004-05-07 | 2012-07-24 | Wyse Technology, Inc. | System and method for integrated on-demand delivery of operating system and applications |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US8739274B2 (en) * | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8046830B2 (en) * | 2004-07-23 | 2011-10-25 | Citrix Systems, Inc. | Systems and methods for network disruption shielding techniques |
AU2005266945A1 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US9124653B2 (en) * | 2004-09-03 | 2015-09-01 | Symantec Corporation | Method and apparatus for allowing sharing of streamable applications |
US7613787B2 (en) * | 2004-09-24 | 2009-11-03 | Microsoft Corporation | Efficient algorithm for finding candidate objects for remote differential compression |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US9390132B1 (en) | 2009-10-16 | 2016-07-12 | Iqor Holdings, Inc. | Apparatuses, methods and systems for a universal data librarian |
US8706877B2 (en) * | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8700695B2 (en) * | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8954595B2 (en) * | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8073926B2 (en) * | 2005-01-07 | 2011-12-06 | Microsoft Corporation | Virtual machine image server |
US20070094348A1 (en) * | 2005-01-07 | 2007-04-26 | Microsoft Corporation | BITS/RDC integration and BITS enhancements |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US8930536B2 (en) | 2005-03-16 | 2015-01-06 | Adaptive Computing Enterprises, Inc. | Virtual private cluster |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US8782120B2 (en) | 2005-04-07 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Elastic management of compute resources between a web server and an on-demand compute environment |
US8301839B2 (en) * | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US20070162510A1 (en) * | 2005-12-30 | 2007-07-12 | Microsoft Corporation | Delayed file virtualization |
US7921184B2 (en) * | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
CN101055539A (zh) * | 2006-04-12 | 2007-10-17 | 鸿富锦精密工业(深圳)有限公司 | 计算机测试系统及方法 |
US7673131B2 (en) | 2006-05-05 | 2010-03-02 | Microsoft Corporation | Booting an operating system in discrete stages |
US7823020B2 (en) * | 2006-08-30 | 2010-10-26 | International Business Machines Corporation | System and method for applying a destructive firmware update in a non-destructive manner |
US20080082600A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Remote network operating system |
US8601467B2 (en) | 2006-10-03 | 2013-12-03 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US9230068B2 (en) | 2006-10-03 | 2016-01-05 | Salesforce.Com, Inc. | Method and system for managing license objects to applications in an application platform |
KR20090003039A (ko) * | 2006-12-04 | 2009-01-09 | 한국전자통신연구원 | 주문형 소프트웨어 서비스 통합 시스템 및 동작 방법 |
US7991824B2 (en) * | 2007-08-28 | 2011-08-02 | Teletech Holdings, Inc. | Secure computer working environment utilizing a read-only bootable media |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8635611B2 (en) * | 2007-11-16 | 2014-01-21 | Microsoft Corporation | Creating virtual applications |
US20090138876A1 (en) * | 2007-11-22 | 2009-05-28 | Hsuan-Yeh Chang | Method and system for delivering application packages based on user demands |
KR100936239B1 (ko) * | 2007-12-18 | 2010-01-12 | 한국전자통신연구원 | 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법 |
WO2009094582A2 (en) | 2008-01-25 | 2009-07-30 | Citrix Systems, Inc. | Methods and systems for provisioning a virtual disk to diskless virtual and physical machines |
JP5047870B2 (ja) * | 2008-04-17 | 2012-10-10 | 株式会社日立製作所 | マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム |
US8005851B2 (en) * | 2008-05-21 | 2011-08-23 | Microsoft Corporation | Streaming virtual disk for virtual applications |
US9100246B1 (en) * | 2008-06-19 | 2015-08-04 | Symantec Corporation | Distributed application virtualization |
US20110106913A1 (en) * | 2008-07-07 | 2011-05-05 | Yaniv Cohen | Dynamically monitoring and customizing devices in a communication network |
US8464256B1 (en) | 2009-04-10 | 2013-06-11 | Open Invention Network, Llc | System and method for hierarchical interception with isolated environments |
US8341631B2 (en) | 2009-04-10 | 2012-12-25 | Open Invention Network Llc | System and method for application isolation |
US11538078B1 (en) | 2009-04-10 | 2022-12-27 | International Business Machines Corporation | System and method for usage billing of hosted applications |
US9058599B1 (en) | 2009-04-10 | 2015-06-16 | Open Invention Network, Llc | System and method for usage billing of hosted applications |
US8418236B1 (en) * | 2009-04-10 | 2013-04-09 | Open Invention Network Llc | System and method for streaming application isolation |
US8555360B1 (en) | 2009-04-10 | 2013-10-08 | Open Invention Network Llc | System and method for on-line and off-line streaming application isolation |
US10419504B1 (en) * | 2009-04-10 | 2019-09-17 | Open Invention Network Llc | System and method for streaming application isolation |
US8504693B2 (en) * | 2009-05-26 | 2013-08-06 | Intel Corporation | Method and apparatus for operating system streaming |
US8769529B2 (en) * | 2009-07-24 | 2014-07-01 | Novell, Inc. | Generating and automatically loading reduced operating system based on usage pattern of applications |
US10089092B2 (en) | 2010-01-27 | 2018-10-02 | Embarcadero Technologies, Inc. | Creating a software product from a software application |
US9043355B1 (en) | 2009-10-16 | 2015-05-26 | Iqor U.S. Inc. | Apparatuses, methods and systems for a journal entry automator |
US9405799B1 (en) | 2009-10-16 | 2016-08-02 | Iqor Holdings, Inc. | Apparatuses, methods and systems for an employee referral facilitator |
US9672281B1 (en) | 2009-10-16 | 2017-06-06 | Iqor US. Inc. | Apparatuses, methods and systems for a call searcher |
US9098509B1 (en) | 2009-10-16 | 2015-08-04 | Iqor Holding Inc., Igor U.S. Inc. | Apparatuses, methods and systems for a call restrictor |
US9063978B1 (en) | 2009-10-16 | 2015-06-23 | Igor US Inc. | Apparatuses, methods and systems for a financial transaction tagger |
US8812482B1 (en) | 2009-10-16 | 2014-08-19 | Vikas Kapoor | Apparatuses, methods and systems for a data translator |
US9053146B1 (en) | 2009-10-16 | 2015-06-09 | Iqor U.S. Inc. | Apparatuses, methods and systems for a web access manager |
US9396232B1 (en) | 2009-10-16 | 2016-07-19 | Iqor Holdings, Inc. | Apparatuses, methods and systems for a rule-integrated virtual punch clock |
US9454576B1 (en) | 2009-10-16 | 2016-09-27 | Iqor Holdings Inc., Iqor US Inc. | Apparatuses, methods and systems for an employee onboarding automator |
US9454577B1 (en) | 2009-10-16 | 2016-09-27 | Iqor Holdings Inc, Iqor US Inc. | Apparatuses, methods and systems for an employee reimbursement evaluator |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
WO2011075484A2 (en) * | 2009-12-14 | 2011-06-23 | Citrix Systems, Inc. | A secure virtualization environment bootable from an external media device |
EP3002703B1 (en) | 2009-12-14 | 2017-08-30 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US8996667B2 (en) * | 2010-04-27 | 2015-03-31 | International Business Machines Corporation | Deploying an operating system |
JP2011253511A (ja) * | 2010-06-02 | 2011-12-15 | Minoru Yoshida | 情報生成システム及びその方法 |
KR20120041582A (ko) * | 2010-10-21 | 2012-05-02 | 삼성전자주식회사 | 스냅샷 이미지 분할 처리 장치 및 스냅샷 이미지 분할 처리 방법 |
JP5907983B2 (ja) | 2010-11-23 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | マイグレーション方法、コンピュータ・プログラム、およびシステム |
DE112011104325B4 (de) | 2010-12-09 | 2020-08-06 | International Business Machines Corporation | Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte |
DE112011104356B4 (de) | 2010-12-13 | 2014-05-15 | International Business Machines Corporation | Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik |
JP5767565B2 (ja) | 2010-12-14 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理) |
JP5840892B2 (ja) * | 2011-08-11 | 2016-01-06 | 日本ユニシス株式会社 | ソフトウェア配信システムおよびソフトウェア配信用プログラム |
CN103843006B (zh) * | 2011-09-30 | 2017-05-10 | 国际商业机器公司 | 用于向用户终端配备操作系统的方法和设备 |
US8938550B2 (en) * | 2011-12-15 | 2015-01-20 | Microsoft Corporation | Autonomous network streaming |
US8832296B2 (en) | 2011-12-15 | 2014-09-09 | Microsoft Corporation | Fast application streaming using on-demand staging |
WO2013138587A1 (en) | 2012-03-14 | 2013-09-19 | Convergent .Io Technologies Inc. | Systems, methods and devices for management of virtual memory systems |
US8538792B1 (en) | 2012-04-26 | 2013-09-17 | Jpmorgan Chase Bank, N.A. | Method and system for determining total cost of ownership |
US9342340B2 (en) | 2012-10-26 | 2016-05-17 | International Business Machines Corporation | Virtual module-based ultra-lazy installation for modular systems |
US9244736B2 (en) | 2013-01-28 | 2016-01-26 | Hewlett Packard Enterprise Development Lp | Thinning operating systems |
US9904915B2 (en) | 2013-08-08 | 2018-02-27 | Ncr Corporation | Virtualized ATM |
CN104679540B (zh) * | 2013-11-29 | 2017-12-19 | 英业达科技有限公司 | 计算机系统与计算机系统启动方法 |
US9787529B1 (en) * | 2015-01-16 | 2017-10-10 | Juniper Networks, Inc. | Systems and methods for tunneling socket calls across operating systems |
US9760730B2 (en) | 2015-08-28 | 2017-09-12 | Dell Products L.P. | System and method to redirect and unlock software secure disk devices in a high latency environment |
US10097534B2 (en) * | 2015-08-28 | 2018-10-09 | Dell Products L.P. | System and method to redirect hardware secure USB storage devices in high latency VDI environments |
US10506012B2 (en) | 2016-05-19 | 2019-12-10 | Citrix Systems, Inc. | Adding and removing virtual disks remotely to a streaming machine |
TWI623240B (zh) * | 2016-09-12 | 2018-05-01 | 宏碁股份有限公司 | 可攜式電子裝置以及更新資料之方法 |
US10891137B2 (en) | 2018-07-13 | 2021-01-12 | International Business Machines Corporation | Making available input/output statistics for data sets opened during initial program load |
JP7279371B2 (ja) * | 2019-01-23 | 2023-05-23 | 日本電気株式会社 | 管理サーバ、ブートサーバ、ネットワークブートシステム、ネットワークブート方法、プログラム |
CN109738870A (zh) * | 2019-01-24 | 2019-05-10 | 山东超越数控电子股份有限公司 | 一种传输雷达信号处理软件的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282035A (zh) * | 1999-07-22 | 2001-01-31 | 株式会社高岳制作所 | 网络 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146568A (en) | 1988-09-06 | 1992-09-08 | Digital Equipment Corporation | Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs |
US5142680A (en) | 1989-04-26 | 1992-08-25 | Sun Microsystems, Inc. | Method for loading an operating system through a network |
US5452454A (en) | 1991-12-10 | 1995-09-19 | Digital Equipment Corporation | Generic remote boot for networked workstations by creating local bootable code image |
US5325532A (en) | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5404527A (en) | 1992-12-31 | 1995-04-04 | Unisys Corporation | System and method for remote program load |
JP4251669B2 (ja) | 1995-07-14 | 2009-04-08 | ソニー株式会社 | データ処理方法および装置 |
US5870554A (en) | 1996-04-01 | 1999-02-09 | Advanced Micro Devices, Inc. | Server selection method where a client selects a server according to address, operating system and found frame for remote booting |
US5987625A (en) | 1996-10-04 | 1999-11-16 | Samsung Electronics Co., Ltd. | Method and apparatus for testing network bootable devices |
GB2318434B (en) | 1996-10-16 | 2001-08-15 | Ibm | Data processing network |
US5948101A (en) | 1996-12-02 | 1999-09-07 | The Foxboro Company | Methods and systems for booting a computer in a distributed computing system |
US6535976B1 (en) | 1997-03-27 | 2003-03-18 | International Business Machines Corporation | Initial program load in data processing network |
US6453334B1 (en) * | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
KR100250464B1 (ko) | 1997-11-25 | 2000-04-01 | 정선종 | 고속병렬컴퓨터의 노드 부트 방법 |
US6202091B1 (en) | 1997-12-08 | 2001-03-13 | Nortel Networks Limited | Process and apparatus for initializing a computer from power up |
JPH11249900A (ja) | 1998-02-27 | 1999-09-17 | Toshiba Corp | コンピュータシステム、同システムのブート方法および記録媒体 |
US5974547A (en) | 1998-03-20 | 1999-10-26 | 3Com Corporation | Technique for reliable network booting of an operating system to a client computer |
US6237005B1 (en) * | 1998-06-29 | 2001-05-22 | Compaq Computer Corporation | Web server mechanism for processing multiple transactions in an interpreted language execution environment |
US7197570B2 (en) | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
US6574618B2 (en) | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US20020138640A1 (en) * | 1998-07-22 | 2002-09-26 | Uri Raz | Apparatus and method for improving the delivery of software applications and associated data in web-based systems |
US6161133A (en) | 1998-10-19 | 2000-12-12 | Lexton Systems, Inc. | Method and apparatus for configuration of an internet appliance |
JP2000132397A (ja) | 1998-10-22 | 2000-05-12 | Hitachi Ltd | クライアントとサーバおよびそれらを用いたソフトウェア配布システム |
US6282642B1 (en) | 1998-11-18 | 2001-08-28 | International Business Machines Corporation | System for presetting a first or second remote boot protocol by a computer remotely receiving and storing a boot parameter prior to being powered on |
US6272629B1 (en) | 1998-12-29 | 2001-08-07 | Intel Corporation | Method and apparatus for establishing network connection for a processor without an operating system boot |
TW410297B (en) | 1999-03-05 | 2000-11-01 | Via Tech Inc | Remote booting of computers in local area network |
US6453426B1 (en) | 1999-03-26 | 2002-09-17 | Microsoft Corporation | Separately storing core boot data and cluster configuration data in a server cluster |
US6430687B1 (en) | 1999-04-15 | 2002-08-06 | International Business Machines Corporation | Boot sequence for a network computer including prioritized scheduling of boot code retrieval |
US6463530B1 (en) | 1999-06-10 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for remotely booting a client computer from a network by emulating remote boot chips |
US6550006B1 (en) | 1999-07-22 | 2003-04-15 | Intel Corporation | Method and apparatus to perform a remote boot |
JP3916806B2 (ja) | 1999-07-26 | 2007-05-23 | 富士通株式会社 | リモートローディング実行方法、リモートローディング実行システム、情報処理装置、管理装置及びコンピュータ読み取り可能な記録媒体 |
US6539473B1 (en) | 1999-09-02 | 2003-03-25 | International Business Machines Corporation | Remotely controlled boot manager |
US6473857B1 (en) | 1999-12-06 | 2002-10-29 | Dell Products, L.P. | Centralized boot |
US6601096B1 (en) | 2000-01-04 | 2003-07-29 | International Business Machines Corporation | Client server method for loading a client with a specific image or utility based on the client's state |
US20010047473A1 (en) | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
US6598159B1 (en) | 2000-06-27 | 2003-07-22 | Intel Corporation | Option-ROM boot |
US20020029283A1 (en) | 2000-08-18 | 2002-03-07 | Yummy Interactive, Inc. | Rich client application delivery |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US7062567B2 (en) * | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US7072950B2 (en) * | 2001-01-23 | 2006-07-04 | Sony Corporation | Method and apparatus for operating system and application selection |
US6898701B2 (en) | 2001-04-27 | 2005-05-24 | International Business Machines Corporation | Method and system for organized booting of a target device in a network environment by a reservation server based on available boot resources |
US20030009657A1 (en) | 2001-06-29 | 2003-01-09 | Ibm Corporation | Method and system for booting of a target device in a network management system |
US6993642B2 (en) | 2001-07-24 | 2006-01-31 | Microsoft Corporation | Method and system for creating and employing an operating system having selected functionality |
EP1283464A1 (en) | 2001-08-06 | 2003-02-12 | Hewlett-Packard Company | A boot process for a computer, a boot ROM and a computer having a boot ROM |
US20030097553A1 (en) | 2001-09-29 | 2003-05-22 | Frye James F. | PXE server appliance |
US20030115443A1 (en) | 2001-12-18 | 2003-06-19 | Cepulis Darren J. | Multi-O/S system and pre-O/S boot technique for partitioning resources and loading multiple operating systems thereon |
US20030126242A1 (en) | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US7085921B2 (en) | 2001-12-31 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Embedded OS PXE server |
US7379982B2 (en) | 2002-04-15 | 2008-05-27 | Bassam Tabbara | System and method for custom installation of an operating system on a remote client |
US6954852B2 (en) | 2002-04-18 | 2005-10-11 | Ardence, Inc. | System for and method of network booting of an operating system to a client computer using hibernation |
WO2003090073A1 (en) | 2002-04-18 | 2003-10-30 | Venturcom, Inc. | System for and method of streaming data to a computer in a network |
US7100154B2 (en) * | 2003-01-16 | 2006-08-29 | International Business Machines Corporation | Dynamic compiler apparatus and method that stores and uses persistent execution statistics |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US7210125B2 (en) * | 2003-07-17 | 2007-04-24 | International Business Machines Corporation | Method and system for application installation and management using an application-based naming system including aliases |
US8230095B2 (en) * | 2004-05-07 | 2012-07-24 | Wyse Technology, Inc. | System and method for integrated on-demand delivery of operating system and applications |
US7353355B1 (en) * | 2004-12-28 | 2008-04-01 | Acronis Inc. | System and method for rapid restoration of server from backup |
US20060224250A1 (en) | 2005-04-01 | 2006-10-05 | Rockwell Automation Technologies, Inc. | Industrial automation interface systems and methods |
-
2004
- 2004-05-07 US US10/840,390 patent/US8230095B2/en active Active
-
2005
- 2005-05-03 CA CA2566107A patent/CA2566107C/en active Active
- 2005-05-03 JP JP2007511488A patent/JP2007536630A/ja active Pending
- 2005-05-03 AU AU2005244158A patent/AU2005244158B2/en active Active
- 2005-05-03 CN CN200580021184.9A patent/CN101427237B/zh active Active
- 2005-05-03 WO PCT/US2005/015263 patent/WO2005110023A2/en active Application Filing
- 2005-05-03 EP EP05744561.1A patent/EP1769375B1/en active Active
- 2005-05-03 MX MXPA06012869A patent/MXPA06012869A/es active IP Right Grant
-
2007
- 2007-04-17 HK HK07104012.9A patent/HK1097325A1/xx unknown
-
2010
- 2010-09-07 AU AU2010219321A patent/AU2010219321B2/en active Active
-
2012
- 2012-06-19 US US13/527,216 patent/US9229732B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282035A (zh) * | 1999-07-22 | 2001-01-31 | 株式会社高岳制作所 | 网络 |
Also Published As
Publication number | Publication date |
---|---|
US8230095B2 (en) | 2012-07-24 |
AU2010219321B2 (en) | 2012-02-02 |
HK1097325A1 (en) | 2007-06-22 |
WO2005110023A3 (en) | 2009-04-16 |
EP1769375A2 (en) | 2007-04-04 |
AU2005244158A1 (en) | 2005-11-24 |
WO2005110023A2 (en) | 2005-11-24 |
CN101427237A (zh) | 2009-05-06 |
AU2010219321A1 (en) | 2010-09-30 |
MXPA06012869A (es) | 2007-04-30 |
JP2007536630A (ja) | 2007-12-13 |
US9229732B2 (en) | 2016-01-05 |
EP1769375B1 (en) | 2013-06-26 |
US20060031547A1 (en) | 2006-02-09 |
EP1769375A4 (en) | 2009-11-25 |
CA2566107A1 (en) | 2005-11-24 |
US20120259958A1 (en) | 2012-10-11 |
CA2566107C (en) | 2016-08-16 |
AU2005244158B2 (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101427237B (zh) | 操作系统与应用程序的集成按需交付系统与方法 | |
US8327350B2 (en) | Virtual resource templates | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
US8966026B2 (en) | Systems and methods for extension of server management functions | |
CN102200921B (zh) | 智能引导设备选择和恢复 | |
TW591416B (en) | Localized read-only storage device for distributing files over a network | |
CN103493011A (zh) | 与库操作系统的应用兼容性 | |
JP2006190252A (ja) | 情報処理システムイメージをネットワークにより通信するためのシステムおよび方法 | |
US9141368B2 (en) | Managing boot loaders for virtual hard disks | |
US9632897B2 (en) | Monitoring components in a service framework | |
US20060277340A1 (en) | System and method for providing layered profiles | |
US7813964B2 (en) | Click and run software purchasing | |
US20100138760A1 (en) | Method and system for providing auto-navigation of a service registry and repository in service-oriented architecture | |
US9342316B1 (en) | Installing digital signage device operating system from flash memory and registering signage device to a global network | |
US10216505B2 (en) | Using machine learning to optimize minimal sets of an application | |
US11385919B1 (en) | Machine image launch system | |
US20220075667A1 (en) | Workload identification and capture | |
US6925345B2 (en) | Method and system for manufacture of information handling systems from an image cache | |
CN101501673A (zh) | 重定向来自传统应用程序的实例化的可能冲突的i/o命令的主计算机i/o过滤器 | |
US20060089979A1 (en) | Systems and methods for proliferating a computing device configuration | |
WO2021083061A1 (zh) | 虚拟网络功能的软件镜像的处理方法和装置 | |
US20240152371A1 (en) | Dynamic re-execution of parts of a containerized application pipeline | |
GB2414821A (en) | Computer application for uploading files from a client computer to a server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Delaware Applicant after: Wyse Technology Co., Ltd Address before: American California Applicant before: Wyse Technology Inc. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |