操作系统与应用程序的集成按需交付系统与方法

文档序号:6656284阅读:154来源:国知局
专利名称:操作系统与应用程序的集成按需交付系统与方法
技术领域
0001本发明一般涉及交付操作系统和应用程序至客户计算机,
特别地,涉及通过网络的操作系统与应用程序至客户计算机的集成按 需交付。
背景技术
0002基于网络的计算模型作为管理企业计算需求的成本效率 合算的方法在近几年已普遍起来。从网络管理的个人计算机、网络计 算机、瘦客户机至服务器中心客户机,基于网络的计算主要由减少在 网络计算环境中提供IT服务的成本(称为总体拥有成本,TCO)的需 求驱动。在业界众所周知的是向最终用户提供计算资源的最昂贵部分 不是计算硬件和软件的成本,而是持续维护和管理的成本。见《Thin Client Benefits, Newburn Consulting》(2002 );《Total Cost of Application Ownership, The Tolly Group Whitepaper》(1999);《TCO Analyst: A Whiter Paper on GartnerGroup,s Next Generation Total Cost of Ownership Methodology, GartnerConsulting》(1997)。根据这些众所周知 的研究,基于网络的计算模型可通过集中IT服务的维护和管理功能大 幅减少总体拥有成本,从而减少持续维护和管理的经常性成本。
0003在持续寻求达到较低的总体拥有成本且不损害性能和可 靠性时,正在不断开发新技术。特别关心的是操作系统(OS)流传输 与应用程序流传输,其利用流式技术或流传输(streaming)技术将操 作系统和应用程序部署至个人计算机或客户计算机。
0004最初为互联网多媒体应用开发的流传输技术提供了通过 网络及时交付时间敏感或面向交互的数据的有利方法。例如,在视频 流传输中,开始回放前不等待直至整个视频文件下载完成,而是一旦 己下载足够的文件部分,视频回放就开始。之后,在正在播放己接收 的帧时,在称为"预取"或"缓冲"的进程中下载更多的帧。视频回放在用
9户看来是无缝的,且消除了下载整个视频文件的潜在的相当长延迟。
0005同样,操作系统流传输系统和应用程序流传输系统补充 支持流传输技术来提高网络计算性能。网络计算机,诸如通过网络从 中央服务器引导的无盘计算机, 一直受到因网络时延或等待时间而性 能低的困扰。传统的无盘网络计算机技术仅用网络访问代替"请求调 页"的磁盘访问。S卩,当客户计算机上需要某些代码或数据时,代码或 数据经过网络引入而不是从本地磁盘引入。由于网络等待时间比本地 磁盘访问延迟多几倍,所以代码或数据访问时间长得多,降低了网络 计算机的性能。网络中的其他通信量也会进一步降低这些计算机的性 能。但是,有了操作系统流传输系统和应用程序流传输系统,运行或 执行操作系统或应用程序必需的文件以类似视频流传输的方式被"预 取"或"缓冲"至客户计算机,使得操作系统或应用程序能无缝运行,而 不受有限网络响应时间或带宽引起的延迟的影响。同时,由于操作系 统或应用程序文件从中央服务器交付至客户计算机,所以操作系统或 应用程序的中央安装、交付和管理成为可能。
0006目前,操作系统流传输系统由Venturcom和Qualystem 等厂商提供。更普遍称为远程引导(Remote Boot)或网络引导(Network Boot)技术的现有操作系统流传输解决方案提供了通过流传输方法引 导或初始加载操作系统至客户计算机上所需的核心操作系统文档。尽 管现有操作系统流传输解决方案提高了通过传统网络计算的操作系统 交付的性能,但也存在显著的缺点。
0007启动时, 一旦初始操作系统加载完成,系统恢复至请求 调页以进一步访问运行客户计算机所需的代码与数据。例如,现有操 作系统流传输系统中提供的应用程序交付依赖于请求调页。典型地, 应用程序构造于操作系统映像中,且整个操作系统加应用程序映像被 交付至客户计算机。但是,仅初始操作系统加载部分被流传输,且一 旦操作系统启动并运行,系统就依赖于传统的请求调页。因此,在客 户计算机上——其包括大量的用户与系统的交互——运行应用程序 时,现有操作系统流传输系统的性能和传统无盘工作站差不多,受到 各种网络时延的限制。
0008另外,现有操作系统流传输解决方案受到可伸縮性或可縮放性和管理重大问题的困扰。例如,必须为各个最终用户账户构造 整个操作系统加应用程序映像,因为各最终用户希望选择自己所需的 应用程序。但是,没有理由为各客户机器保留一个以上的操作系统映 像。也就是说操作系统是客户机器专有的,而应用程序是用户专有的。 因此,操作系统加应用程序流传输方法引起各用户大量存储空间的浪 费—典型地,每个用户几百兆字节。对于有数千用户的企业系统, 每个用户几百兆字节的浪费将轻易地合计达到千吉字节的不必要存储 需求。
0009另一问题是每次增加、移除、升级或修改应用程序时都 必须构造新的操作系统映像。只要对一个应用程序施加"补丁"(微小 的修改或升级),就必须重建新的操作系统加应用程序映像。但是构造 操作系统映像是资源密集型任务,且每次为应用程序打补丁时——这 是相对普通的事件——都重复该任务在有大量用户的环境中是不切实 际的。根本上,这些问题是由于操作系统是机器专有而应用程序是用 户专有这一事实引起的。换句话说,由于操作系统管理与应用程序管 理之间的特性级的固有失配,将操作系统和应用程序作为单个单元管 理的系统的伸縮性必定差。适当的解决方案必须考虑到这个根本差异。
0010另一方面,应用程序流传输技术通过利用流传输技术解 决了应用程序交付和管理的问题。以类似于多媒体或操作系统流传输 的方式,当客户计算机运行应用程序需要应用程序块时,应用程序流 传输系统中的应用程序由服务器通过网络提供, 一次一个块。但是, 既然由于用户驱动的应用程序执行的交互特性,立即或可预见的未来 所需要的代码和数据不是确定已知,所以应用程序代码或数据的"预 取"必须比操作系统流传输更加"智能"。不过,使用智能预测算法,应 用程序流传输系统可以充分的预测准确性预取必要的代码或数据,以 使经过网络的请求调页最少,提高应用程序的性能。同时,由于应用 程序是从服务器提供的,所以应用程序分配、安装和交付的管理可集 中在服务器处,从而进一步减少总体拥有成本中不断增加的应用程序 管理部分。目前,应用程序流传输技术的各种实施方式由AppStream 禾口 Endeavors Technology等厂商提供。
0011但应用程序流传输技术的重大缺点在于其要求相当大的本地磁盘空间供系统运行。这是因为诸如Microsoft Word的几乎所有 现代应用程序使用本地分页文件——有时也称为临时文件——这要 求相当大的本地存储空间。如果没有充分的磁盘空间来写出分页文件, 那么这些应用程序不能运行。但是,目前可用的应用程序流传输解决 方案没有为流传输服务器提供写出数据或文件的能力,因为其仅以从 服务器至客户机的方向流传输数据。因此,目前可用的应用程序流传 输技术不能用于诸如无盘个人计算机和瘦客户机这样的没有本地存储 空间的客户设备。
0012克服该缺点的非常理想的方法是集成操作系统流传输技 术与应用程序流传输技术。使用集成的流传输系统,应用程序流传输 服务所要求的本地存储空间可由操作系统流传输服务通过网络激活或 启用虚拟磁盘服务提供。那么可以看出,本领域需要集成的操作系统 流传输系统和应用程序流传输系统。
0013应用程序流传输技术的另一缺点在于其没有解决操作系 统依赖性和管理问题。毫无疑问,管理安装于客户计算机上的操作系 统是企业系统管理的重要方面。另外,没有解决操作系统管理的应用 程序管理系统是天生不完善的,因为应用程序的安装与执行是与操作 系统相关的。例如,为Windows 98写的一些应用程序将不能在Windows 2000或Windows XP上安装或正常运行。因此,没有客户计算机上操 作系统的相当集中管理,应用程序分配和交付的集中管理不能完全有 效或完整。另外,与操作系统管理分离的应用程序管理会在企业系统 管理中引起复杂性及意外的困难,最终将导致更高的总体拥有成本。
0014那么可以看出,在本领域中需要利用流传输技术进行应 用程序交付与操作系统交付、提供应用程序及操作系统的分配与交付 集中管理的系统。

发明内容
0015因此,本发明通过提供用于操作系统和应用程序的集成 按需交付的系统与方法解决了前述需求。
0016根据本发明的一方面,本发明是通过网络集成按需交付 操作系统和应用程序至客户计算机的系统,该系统包括至少一个操作系统映像;操作系统流传输服务器;各客户计算机的操作系统流传 输代理;至少一个应用程序映像;应用程序流传输服务器;各客户计 算机的应用程序流传输代理;以及管理操作系统交付和应用程序交付 的集成用户界面。本发明的系统还可包括管理操作系统交付和应用程 序交付的集成公用数据库。另外,本发明的系统允许计算机专有的操 作系统交付管理和用户专有的应用程序交付管理,使得系统可正常扩 縮。
0017根据本发明的另一方面,本发明是通过网络集成按需交 付操作系统和应用程序至客户计算机的方法,其包括以下步骤提供 操作系统流传输代理和操作系统流传输服务器;提供应用程序流传输 代理和应用程序流传输服务器;提供至少一个操作系统映像;提供至 少一个应用程序映像;提供管理操作系统交付和应用程序交付的集成 用户界面,其中管理操作系统交付是客户计算机专有的而管理应用程 序交付是用户专有的;使用集成用户界面为客户计算机选择操作系统; 使用集成用户界面为用户选择至少一应用程序;当用户登陆客户计算 机时,通过经操作系统流传输代理和操作系统流传输服务器流传输所 选操作系统的操作系统映像至客户计算机,按需交付所选操作系统至 客户计算机;以及通过经应用程序流传输代理和应用程序流传输服务 器流传输至少一应用程序的应用程序映像至客户计算机,按需交付所 选的至少一应用程序。
0018根据本发明的另一方面,本发明是通过网络集成按需交 付操作系统和应用程序至客户计算机的系统,该系统包括提供操作系 统流传输服务器的装置;提供应用程序流传输服务器的装置;提供至少 一操作系统映像的装置;提供至少一应用程序映像的装置,其中该至少 一操作系统映像与该至少一应用程序映像是分幵且不同的;提供管理操 作系统交付和应用程序交付至至少一客户计算机的集成用户界面的装 置;提供使用集成用户界面为客户计算机选择操作系统的装置;提供使 用集成用户界面为用户选择至少一应用程序的装置;当用户登陆客户计 算机时,通过使所选操作系统的操作系统映像流传输至客户计算机而按 需交付所选操作系统至客户计算机的装置;以及通过使所选至少一应用 程序的应用程序映像流传输至客户计算机而按需交付所选至少一应用程序的装置。
0019参照以下说明书、权利要求和附图,本领域技术人员可 进一步理解并意识到本发明的其他及进一步目标与优点。


0020现参照附图,附图中相同标记数字表示对应的部件0021图1示出了根据本发明的系统的总体框图;0022图2a示出了根据本发明的集成系统管理功能的集成用户 界面屏幕;
0023图2b示出了根据本发明的应用程序映像管理功能的集成 用户界面屏幕;
0024图2c示出了根据本发明的客户设备管理功能的集成用户 界面屏幕;
0025图2d示出了根据本发明的用户管理功能的集成用户界面
屏幕;
0026图2e示出了根据本发明服务器管理功能的集成用户界面
屏幕;
0027图2f示出了根据本发明的映像构造实用程序功能的集成 用户界面屏幕;
0028图2g示出了根据本发明的为客户计算机选择操作系统的 集成用户界面屏幕;
0029图2h示出了根据本发明的为用户选择操作系统的集成用
户界面屏幕;
0030图3a示出了根据本发明的为给定操作系统选择应用程序 的集成用户界面屏幕;
0031图3b示出了根据本发明的为用户选择应用程序的集成用 户界面屏幕;
0032图4示出了根据本发明的在客户计算机处用户的用户界 面屏幕;
0033图5a示出了操作系统流传输进程的概况;0034图5b示出了应用程序流传输进程的概况;以及0035图6a至图6g示出了根据本发明的集成公用数据库中的 可能实体。
具体实施例方式
0036图1示出了根据本发明的系统的总体框图。如图l所示, 本发明的系统的实施例可包括操作系统流传输服务器(110)、操作 系统映像(112)、操作系统流传输服务(114);应用程序流传输服务 器(120)、应用程序映像(122)、应用程序流传输服务(124);客户 计算机(130)、操作系统流传输代理(132)、应用程序流传输代理(134)、 集成用户界面(140)、中央管理控制台(142)、集成公用数据库(150) 以及数据库服务器(152)。
0037客户计算机(130)可为瘦客户模块、个人计算机或工作 站,这不脱离本发明的范围。客户计算机(130)也可为从手持设备至 服务器级机器的任何流传输客户设备,这不脱离本发明的范围。特别 地,客户计算机(130)可为诸如网络服务器或电子邮件服务器的服务 器机器,而不脱离本发明的范围。即,用作网络或电子邮件服务目的 的机器可为用于操作系统流传输目的的客户机,因此使其操作系统从 操作系统服务器流传输服务器流传输。
0038操作系统流传输服务器(110)、应用程序流传输服务器 (120)以及数据库服务器(152)是可被置于单独物理服务器上或同 一物理服务器机器上的逻辑单元。另外,操作系统流传输服务器(110)、 应用程序流传输服务器(120)以及数据库服务器(152)中任一服务 器自身可被部署在诸如服务器群或服务器集群的多物理服务器中。
0039操作系统映像(112)包括一个文件,该文件包含执行诸 如微软Windows 98、 Windows 2000和Windows XP以及Linux这样的 操作系统必需的所有组件(核心映像、设备驱动程序、可执行程序、 动态链接库(DLL)等)的。类似,应用程序映像(122)包括含有运 行诸如Microsoft Word、 Excel、 Outlook以及PowerPoint这样的应用程 序必需的所有组件的文件。应注意不是每个应用程序都需要从应用程 序流传输服务器(120)流传输。对于一些应用程序,尤其是引起很少 或不引起请求调页的小型实用应用程序,应用程序文件可包含于操作系统映像(112)中,这不脱离本发明的范围。注意,对于诸如Microsoft Windows的一些操作系统,诸如写字板和计算器的一些实用程序已是 操作系统映像的一部分。
0040在本发明的优选实施例中,操作系统流传输服务器(110) 的流传输服务是通过操作系统流传输服务(114)提供的,操作系统流 传输服务(114)可为服务进程和服务监控或服务后台驻留程序 (daemon),而不脱离本发明的范围。同样,应用程序流传输服务器 (120)的流传输服务可通过应用程序流传输服务(124)提供。在替 代实施例中,操作系统流传输服务(114)或应用程序流传输服务(124) 也可在服务进程内作为服务线程实现,而不脱离本发明的范围。在另 一实施例中,操作系统流传输服务(114)和应用程序流传输服务(124) 都可在单个服务进程中作为服务线程实现,而不脱离本发明的范围。 在这种实施例中,似乎仅有一个服务进程存在于操作系统。但是操作 系统流传输服务(114)和应用程序流传输服务(124)在该服务进程 内通过分开的服务线程提供。
0041在本发明一个实施例中,客户计算机(130)、操作系统 流传输服务器(110)、应用程序流传输服务器(120)以及数据库服务 器(152)通过网络(160)相互通信。但是在与其他任何服务器相同 的物理服务器上部署操作系统流传输服务器(110)、应用程序流传输 服务器(120)或数据库服务器(152)的实施例中,服务器之间的通 信将在同一机器内发生,这不脱离本发明的范围。
0042图2a示出了根据本发明的集成系统管理功能的集成用户 界面屏幕。如图2a所示,集成用户界面(140)包括管理本发明的集 成系统的所有功能子部件的集成系统管理功能。总体来说,集成用户 界面(140)可由诸如中央管理控制台(142)的系统管理工作站上的 系统管理员执行,尽管其可运行在网络(160)中的任何计算机上而不 脱离本发明的范围。通过使用集成用户界面("O),系统管理员可安 装并配置客户计算机、操作系统以及用户。
0043特别地,图2a示出了用户界面元件管理操作系统映像 的操作系统(202)、管理应用程序映像的应用程序(204)、管理客户 设备的客户设备(206)、管理用户的用户(208)以及管理服务器的服务器(210)。图2a也示出了用户界面元件访问映像构造实用功能的 实用程序(212)以及管理、控制系统中设备的设备管理(214)。
0044如图2a所示,操作系统(202)用户界面元件被选择, 使右边窗格显示可用的操作系统映像。在右边窗格(217)中选择操作 系统(OS)映像1(216),示出了该映像的操作系统Windows 2000(218), 以及支持硬件(220)和设备驱动(222)。
0045图2b示出了根据本发明的应用程序映像管理功能的集成 用户界面屏幕。如图2b所示,应用程序(204)用户界面元件被选择, 且右边窗格(217)示出系统中可用的应用程序映像。特别地,应用程 序映像l (224)被选择,示出该映像是用于Word2000 (226)应用程 序的,且支持的操作系统为Windows 2000(228)和Windows XP(229)。
0046图2c示出了根据本发明的客户设备管理功能的集成用户 界面屏幕。图2c示出了客户设备(206)用户界面元件被选择,且右 边窗格(217)显示可用的客户设备。图2c也特别示出了选择设备1 (230),以及硬件(232)、目标操作系统历史(234)和设备(236) 的结果显示。
0047图2d示出了根据本发明的用户管理功能的集成用户界面 屏幕。如图2d所示,用户(208)用户界面元件被选择,使得在右边 窗格(217)显示用户。如所示的,用户1 (238)被选择,因而示出了 分配的操作系统(240)和应用程序(242)。
0048图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)都是活动的。
0049图2f示出了根据本发明的映像构造实用功能的集成用户 界面屏幕。如图2f所示,操作系统映像构造器(270)用户界面元件被 选择,因而右边窗格(217)示出了操作系统构造功能屏幕。系统文件 列表框(272)示出了构造功能操作系统映像所需的操作系统核心文件, 设备驱动列表框(274)示出了系统设备驱动。此外,操作系统构造下 拉框(276)示出了被构造的操作系统为Windows 2000。如图所示,也 可以指定像名称(278)和映像路径(279)。
0050图2g示出了根据本发明的用于为客户计算机选择操作系 统的集成用户界面屏幕。该屏幕可从上述集成系统管理用户界面的客 户设备管理功能屏幕访问。如图2g所示,集成用户界面(140)包括 为客户计算机选择操作系统的功能。例如,图2a示出的用户界面屏幕 中己经选择了客户计算机1 (280)的配置。对于操作系统栏(282), 选择了 Windows 2000 (284),表示客户机引导时,Windows 2000操作 系统映像将被流传输至客户计算机1 (280)。因而,操作系统管理为客 户计算机专有或特定的。
0051图2h示出了根据本发明的为用户选择操作系统的集成用 户界面屏幕。如图2h所示,已选择了用户1 (286)用于操作系统配置。 对于操作系统栏(288),选择了 Windows 2000 (289),表示用户1 (286) 通过本领域技术人员已知的预引导登陆程序登陆时,Windows 2000操 作系统映像将被流传输至客户计算机。因而,操作系统管理为用户专 有和/或客户计算机专有。
0052图3a示出了根据本发明的为给定操作系统选择应用程序 的集成用户界面屏幕。如图3a所示,已经选择了 Windows 2000操作 系统(310)用于应用程序配置。所选操作系统可用的应用程序列在应 用程序栏(312)下,各可用的应用程序可通过使用活动栏(314)被 设置为活动或非活动状态。
0053图3b示出了根据本发明的为用户选择应用程序的集成用户界面屏幕。如图3b所示,己选择了用户1 (318)用于配置。对于缺 省应用程序栏(320),已选择了 Word2000栏(322)、 Outlook2000栏 (324)以及Acrobat Reader 6栏(326),指出用户1 (318)可用的缺 省应用程序。图3b也示出了附加应用程序栏(330),其中巳经选择了 Excel 2000栏(332)和AutoCAD 2004栏(334)。
0054因而,如图2a至图2h以及图3a至图3b所示,本发明提 供了操作系统交付和应用程序交付的集成管理,其中操作系统交付的 管理是客户计算机或机器专有的和/或应用程序交付的管理是用户专有 的。因此,本发明提供了可适当扩縮的用于操作系统和应用程序集成 按需交付的系统与方法。另外,可在合适的级适当管理系统安全和访 问权限。
0055在另一实施例中,集成用户界面(140)可为基于网络的 用户界面,还进一步提供跨越变化的硬件和网络环境的系统灵活性、 兼容性和可移植性。
0056
一旦系统管理员配置了操作系统和应用程序,用户可通 过在客户计算机上引导操作系统并从操作系统界面启动可用的应用程 序来访问提供的计算资源。另外,在客户计算机处的用户也可选择预 订管理员使其可用的应用程序。图4示出了根据本发明的客户计算机 处用户的用户界面屏幕。如图4所示,客户计算机l (210)的用户1 (318)有权在客户机用户界面(402)上配置或定制可用的应用程序 预订(subscription)。对于缺省应用程序栏(410),已经选择了 Word2000 栏(412)、 Outlook 2000栏(414)以及Acrobat Reader 6栏(416), 指出客户计算机1 (210)上用户1 (318)的缺省应用程序预订。图4 也示出了附加应用程序栏(420),其中已经选择了 Excel 2000栏(422), 表示用户1 (318)已选择预订Excel 2000。没有选择AutoCAD 2004 栏(424),表示系统管理员使客户计算机1 (210)上的用户1 (318) 可以用AutoCAD 2004应用程序,但用户1 (318)已决定不预订该应 用程序。预订的应用程序将出现在客户计算机1 (210)的桌面或程序 菜单上,就好像它们已经安装于客户计算机的本地驱动器上。
0057图5a示出了操作系统流传输进程的概况。如图5a所示, 通过从操作系统流传输服务器(110) —次一块流传输操作系统映像(112)至操作系统流传输代理(132),操作系统被按需交付至客户计 算机(130)。在优选实施例中,操作系统流传输服务是由操作系统流 传输服务(114)和操作系统流传输代理(132)经过网络(160)通信 实现的。操作流传输的技术在本领域内众所周知。见,例如,Yevgeniy Klimenko于1998年3月20日申请的美国专利第5,974,547号"Technique for reliable Network Booting of an Operating System to a Client Computer"; Venturcom于2002年出版的Patrick Waddell所著《Venturcom BXP 2.0 for Windows 2000 and Windows XP — Centralized Management ofNetwork Attached Diskless Clients》。也应注意,按本领域惯例,术语 操作系统流传输、网络引导和远程引导在本文中可互换使用。
0058为简要说明网络引导和操作系统流传输的操作,客户计 算机的引导过程开始于客户计算机的只读存储器基本输入输出系统
(ROM BIOS),其包括识别网络接口卡(NIC)作为引导和载入操作 系统的初始程序载入(IPL)设备的代码。见Compaq Computer (康柏 电脑公司)、Phoenix Technologies Ltd以及Intel Corporation (英特尔公 司)1996年1月公布的"BIOS Boot Specification'^反过来网卡也必须 是可引导设备,如启用PXE的NIC。 PXE (预引导执行环境)为网卡 提供了在载入任何操作系统前初始化至服务器的网络连接的方法,使 得操作系统文件可经网络下载。见,英特尔公司1999年9月的"Preboot Execution Environment (PXE) Specification Version 2.1"。网卡也可使用 本领域技术人员己知的任何预引导通信协议,如IBMRPL (远程程序 载入),而不脱离本发明的范围。当客户计算机引导时,BIOS引导代 码指示启用PXE的NIC提供初始操作系统引导代码,NIC又连至引导 服务器如操作系统流传输服务器(110),以下载初始操作系统引导代 码。作为初始引导代码的一部分,操作系统流传输代理(132)俘获预 操作系统磁盘存取请求(个人计算机架构中的INT 13)并使其重定向 至启用PXE的NLC,使得操作系统文件可继续被下载至客户计算机。 一旦已下载足够的操作系统使得网络栈和文件系统是可运行的,操作 系统代理(132)就转换为作为磁盘过滤驱动器运行的操作系统流传输 代理,其经网络(160)重定向所有的磁盘请求至操作系统流传输服务器
(110)。之后,不论何时客户计算机(130)需要更多的操作系统,所需文件就可通过从操作系统流传输服务器(110)经网络(160)流传 输操作系统映像(112)的该部分至操作系统流传输代理(132)而交 付。因而,整个引导过程对客户计算机(130)的用户是完全透明的。 在优选实施例中,操作系统流传输服务(114)读取操作系统映像(112) 并与操作系统流传输代理(132)通信以提供操作系统流传输服务。
0059在一个实施例中,操作系统映像(112)通过经网络重定 向客户计算机上的磁盘存取请求至虚拟磁盘而被透明地流传输。在优 选实施例中,本发明的操作系统流传输系统的磁盘存取重定向至虚拟 磁盘是在现代操作系统的分层设备驱动器架构的磁盘驱动设备驱动器 级运行的。对于微软Windows NT/2000/XP操作系统的分层设备驱动器 架构的描述,见Microsoft Press (微软出版社)2000年出版的David A. Solomon禾口 Mark E. Russinovich的《Inside Microsoft Windows 2000, Third Edition》;以及O'Reilly &Associates 1997年出版的Rajeev Nagar 的《Windows NT File System Internals》。
0060应用程序流传输是通过与操作系统流传输相当类似的方 法和进程实现的。开始,应用程序流传输代理(134)作为操作系统的 一部分被下载至客户计算机(130)。因为操作系统交付和应用程序交 付的管理功能是集成在一起的,所以操作系统不将应用程序实际构造 进操作系统映像中就知道哪些应用程序可用。在一替代实施例中,应 用程序设置可通过应用程序流传输代理(134)被传至在客户计算机 (130)上运行的操作系统,而不脱离本发明的范围。之后操作系统通 过在操作系统桌面或程序开始菜单上呈现应用程序图标或快捷方式使 应用程序为用户可用。
0061图5b示出了应用程序流传输过程的概况。当用户点击应 用程序图标而运行应用程序时,应用程序流传输代理(134)通过从应 用程序流传输服务器(120)经网络(160)流传输应用程序映像(122) 来按需交付必需的应用程序文件。在应用程序运行开始时,下载应用 程序映像(122)的足够部分以允许应用程序开始运行。之后,随着用 户使用应用程序,通过将必需的文件流传输至客户计算机(130)而按 需交付应用程序映像(122)的另外部分。在优选实施例中,应用程序 流传输服务(124)读取应用程序映像(122)并与应用程序流传输代理(134)通信,以提供应用程序流传输服务。
0062在一个实施例中,应用程序流传输代理(134)可以与运 行时对象代码调试器类似的方式运行。即,当存储器中没有找到所需 应用程序文件时,应用程序的执行被中断,且应用程序流传输代理 (134)与应用程序流传输服务器(120)经网络(160)通信以下载所 需文件。通信机制可为本领域技术人员己知的任何网络通信方法,包 括套接字(Socket)和远程过程调用(RPC),这不脱离本发明的范围。 一旦必需的文件被下载,应用程序的执行将继续。
0063在另一实施例中,应用程序流传输代理(134)作为文件 系统驱动器运行,并重定向磁盘存取请求至应用程序流传输服务器 (120)(称为"缺页"),以载入所需应用程序文件。之后应用程序流传 输服务似乎是客户计算机(130)的虚拟文件系统,好像应用程序正从 本地磁盘驱动器的文件系统载入。更多有关应用程序流传输技术的细 节参见Dan Eylon等人于2000年12月28日申请的美国专利第 6,574,618 号"Method and system for executing network streamed application"。
0064应注意,重要的是在本发明中区分了操作系统流传输服 务的虚拟磁盘和应用程序流传输服务的虚拟文件系统。在优选实施例 中,本发明的操作系统流传输服务的虚拟磁盘重定向在磁盘驱动设备 驱动器级运行,而应用程序流传输的虚拟文件重定向在文件系统设备 驱动器级运行,这样操作系统流传输服务和应用程序流传输服务相互 透明地运行,没有冲突且灵活性最大。但是,操作系统流传输服务和 应用程序流传输服务都可使用虚拟磁盘和虚拟文件系统,这不脱离本 发明的范围。
0065在另一实施例中,流传输至客户计算机(130)的应用程 序文件被写入客户计算机(130)的虚拟磁盘,以后需要时按需流传输 回客户计算机(130)。
0066在又一实施例中,本地存储缓存可被添加至客户计算机 (130)来存储已被流传输至客户计算机(130)的文件,不论是操作 系统还是应用程序文件。之后,当客户计算机(130)上的操作系统发 出缺页时,系统将首先尝试从本地存储缓存满足文件请求。仅当本地缓存中没有找到所需文件页时,才从服务器流传输文件页,从而提高 了响应的速度并减少了网络通信量。本地缓存存储可为本领域技术人 员已知的任何持久存储设备,包括磁盘驱动器、闪存设备、随机存取
存储器(RAM)磁盘,这不脱离本发明的范围。
0067如图5a和图5b,本发明提供了与应用程序映像分开且不
同的操作系统映像。结合集成用户界面(140)(在此操作系统交付的 管理为客户计算机专有而应用程序交付的管理为用户专有),分开且不
同的操作系统映像和应用程序映像提供了可适当扩縮的操作系统和应 用程序的集成按需交付。不需要为每个用户构造结合应用程序映像的 操作系统映像而浪费可贵的存储空间与计算资源。
0068根据本发明的另一方面,本发明可包括管理操作系统交 付和应用程序交付的集成公用数据库。通过结合集成用户界面(140) 和集成公用数据库(150),集成的管理功能将得以极大地简化且更加 稳固和可靠。因为在同一数据库系统中管理所有系统信息,所以项目 可相互参照、相互核对错误和一致性。集成公用数据库(150)可用本 领域技术人员已知的任何数据库系统实现,包括但不限于Microsoft Access、 SQL server禾B Oracle,这不脱离本发明的范围。
0069本发明的集成公用数据库(150)部署在数据库服务器 (152)上。如前所述,数据库服务器(152)是可被置于单个物理服 务器硬件或多个物理服务器中(如服务器群或服务器集群)的逻辑单 元。此外,操作系统流传输服务器(110)、应用程序流传输服务器(120) 以及数据库服务器(152)均为可被置于分开的物理服务器或同一物理 服务器机器上的逻辑单元。
0070图6a至6g示出了根据本发明的集成公用数据库(150) 中的可能实体。图6a示出了帐户实体(610),具有帐户名称字段(fidd) (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)。
0071在操作中,系统管理员可使用中央管理控制台(142)上 的集成用户界面(140)配置客户计算机的操作系统和用户的应用程序。 关于用户、客户计算机、操作系统映像以及应用程序映像的信息存储 于并可通过数据库服务器(152)上运行的集成公用数据库(150)访 问。例如,集成用户界面(140)从集成公用数据库(50)中的帐户 实体(610)访问关于用户1 (230)的信息以及从客户机器实体(650) 访问关于客户计算机l (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)在客户 计算机上运行,应用程序就经过与操作系统流传输相似的过程被流传 输。
0072通过提供分开且不同的操作系统映像和应用程序映像, 且在客户机器专有级实现操作管理功能并在用户专有级实现应用程序 管理功能,本发明提供了允许适当缩放的内在规范架构,并提供适当 的安全管理功能。结果是完整、可縮放、稳固且可靠的服务器中心应 用程序和操作系统管理系统,其总体拥有成本比现有产品低。
0073本发明的优选实施例的前述描述目的在于示例说明与描 述,其不是穷尽的,也不是要将本发明限于公开的精确形式。鉴于上 面的教导内容,许多修改与变动是可能的。本发明的范围不受这个详 细说明的限制,而受本文所附权利要求及权利要求的等效物限制。
权利要求
1. 一种通过网络集成按需交付操作系统和应用程序至客户计算机的系统,该系统包括至少一个操作系统映像;操作系统流传输服务器;至少一个应用程序映像;应用程序流传输服务器;以及集成用户界面,其用于管理到至少一个客户计算机的操作系统交付和应用程序交付,其中所述集成用户界面可选择被按需交付到至少一个客户计算机的至少一操作系统映像和至少一个应用程序映像,该至少一个操作系统映像与该至少一个应用程序映像分开且不同。
2. 如权利要求1所述的系统,还包括客户计算机的操作系统流传输代理,其中为所述客户计算机选择 的操作系统映像经所述操作系统流传输代理和所述操作系统流传输服 务器被流传输至所述客户计算机。
3. 如权利要求l所述的系统,还包括客户计算机的应用程序流传输代理,其中为所述客户计算机选择 的至少一个应用程序映像经所述应用程序流传输代理和所述应用程序 流传输服务器被流传输至所述客户计算机。
4. 如权利要求1所述的系统,还包括集成公用数据库,用于管理到至少一个客户计算机的操作系统交 付和应用程序交付。
5. 如权利要求1所述的系统,其中管理操作系统交付和应用程序交付的所述集成用户界面是基于网络的用户界面。
6. 如权利要求l所述的系统,还包括所述操作系统流传输服务器上的虚拟磁盘,在客户计算机上运行 应用程序时,其用于写出分页文件。
7. 如权利要求1所述的系统,还包括虚拟磁盘,所述至少一个操作系统映像从该虚拟磁盘被流传输。
8. 如权利要求l所述的系统,还包括虚拟磁盘,所述至少一个应用程序映像从该虚拟磁盘被流传输。
9. 如权利要求l所述的系统,还包括虚拟文件系统,所述至少一应用程序映像通过该虚拟文件系统被 流传输。
10. 如权利要求l所述的系统,还包括用于存储已被流传输至客户计算机的部分操作系统映像的该客户 计算机上的本地存储缓存。
11. 如权利要求l所述的系统,还包括用于存储已被流传输至客户计算机的部分应用程序映像的该客户 计算机上的本地存储缓存。
12. —种通过网络的集成按需交付操作系统和应用程序至客户计 算机的系统,所述系统包括至少一个操作系统映像;操作系统流传输服务器;至少一个应用程序映像;以及应用程序流传输服务器;其中该至少一个操作系统映像与该至少一个应用程序映像分开且 不同。
13. 如权利要求12所述的系统,还包括管理操作系统和应用程序的集成按需交付的集成公用数据库。
14. 一种通过网络的集成按需交付操作系统和应用程序至客户计算机的方法,该方法包括以下步骤 提供操作系统流传输服务器; 提供应用程序流传输服务器; 提供至少一个操作系统映像;提供至少一个应用程序映像,其中该至少一个操作系统映像与该 至少一个应用程序映像分开且不同;提供集成用户界面,其用于管理到至少一个客户计算机的操作系统交付和应用程序交付;使用所述集成用户界面为客户计算机选择操作系统; 使用所述集成用户界面为用户选择至少一个应用程序; 当所述用户登陆所述客户计算机时,通过流传输所选操作系统的操作系统映像至所述客户计算机来按需交付所选操作系统至所述客户计算机;以及通过流传输所选至少一个应用程序的应用程序映像至所述客户计 算机来按需交付所选至少一个应用程序。
15. 如权利要求14所述的方法,其中在提供管理到至少一客户计 算机的操作系统交付和应用程序交付的集成用户界面步骤中,管理操 作系统交付是客户计算机专有的,而管理应用程序交付是用户专有的。
16. 如权利要求14所述的方法还包括以下步骤 提供操作系统流传输代理,其中所选操作系统的所述操作系统映像经所述操作系统流传输代理和所述操作系统流传输服务器被流传输 至所述客户计算机。
17. 如权利要求14所述的方法还包括以下步骤 提供应用程序流传输代理,其中所选至少一个应用程序的所述应用程序映像经所述应用程序流传输代理和所述应用程序流传输服务器被流传输至所述客户计算机。
18. 如权利要求14所述的方法,还包括以下步骤 提供集成公用数据库,用于管理到至少一个客户计算机的操作系统交付和应用程序交付。
19. 如权利要求14所述的方法,其中用于管理操作系统交付和应 用程序交付的所述集成用户界面是基于网络的用户界面。
20. 如权利要求14所述的方法,还包括步骤 在所述操作系统流传输服务器上提供虚拟磁盘,该虚拟磁盘用于在客户计算机上运行应用程序时写出分页文件。
21. 如权利要求14所述的方法,还包括步骤提供虚拟磁盘,至少一个操作系统映像从该虚拟磁盘被流传输。
22. 如权利要求14所述的方法,还包括步骤提供虚拟磁盘,至少一个应用程序映像从该虚拟磁盘被流传输。
23. 如权利要求14所述的方法,还包括步骤提供虚拟文件系统,至少一个应用程序映像通过该虚拟文件系统 被流传输。
24. 如权利要求14所述的方法,还包括歩骤 提供客户计算机上的本地存储缓存;在所述本地存储缓存上存储已被流传输至所述客户计算机的部分 操作系统映像;以及按需交付操作系统时,当要求的是存储在所述本地存储缓存上的 所述部分操作系统映像时,从所述本地存储缓存交付所述部分操作系 统。
25. 如权利要求14所述的方法,还包括步骤提供客户计算机上的本地存储缓存;在所述本地存储缓存上存储已被流传输至所述客户计算机的部分 应用程序映像;以及按需交付应用程序时,当要求的是存储在所述本地存储缓存上的 所述部分应用程序映像时,从所述本地存储缓存交付所述部分应用程 序。
26. —种通过网络集成按需交付操作系统和应用程序至客户计算 机的方法,所述方法包括以下步骤提供操作系统流传输服务器; 提供应用程序流传输服务器; 提供至少一个操作系统映像;以及 提供至少一个应用程序映像,其中该至少一个操作系统映像与该至少一个应用程序映像分开且 不同。
27. 如权利要求26所述的方法,还包括以下步骤 提供用于管理操作系统和应用程序的集成按需交付的集成公用数据库。
28. —种通过网络集成按需交付操作系统和应用程序至客户计算 机的系统,所述系统包括提供操作系统流传输服务器的装置; 提供应用程序流传输服务器的装置; 提供至少一个操作系统映像的装置;提供至少一个应用程序映像的装置,其中该至少一个操作系统映 像与该至少一个应用程序映像分开且不同;提供用于管理到至少一个客户计算机的操作系统交付和应用程序 交付分集成用户界面的装置;提供使用所述集成用户界面为客户计算机选择操作系统的装置;提供使用所述集成用户界面为用户选择至少一个应用程序的装置;当所述用户登陆所述客户计算机时,通过流传输所选操作系统的 操作系统映像至所述客户计算机来按需交付所选操作系统至所述客户计算机的装置;以及通过流传输所选至少一个应用程序的应用程序映像至所述客户计 算机来按需交付所选至少一个应用程序的装置。
29. 如权利要求28所述的系统,还包括提供操作系统流传输代理的装置,其中所选操作系统的所述操作 系统映像经所述操作系统流传输代理和所述操作系统流传输服务器被 流传输至所述客户计算机。
30. 如权利要求28所述的系统,还包括提供应用程序流传输代理的装置,其中所选至少一个应用程序的 所述应用程序映像经所述应用程序流传输代理和所述应用程序流传输 服务器被流传输至所述客户计算机。
31. 如权利要求28所述的系统,还包括提供用于管理到至少一个客户计算机的操作系统交付和应用程序 交付的集成公用数据库的装置。
32. 如权利要求28所述的系统,还包括提供虚拟磁盘的装置,至少一个操作系统映像从该虚拟磁盘被流 传输。
33. 如权利要求28所述的系统,还包括提供虚拟磁盘的装置,至少一个应用程序映像从该虚拟磁盘被流 传输。
34. 如权利要求28所述的系统,还包括 提供虚拟文件系统的装置,至少一个应用程序映像通过该虚拟文 件系统被流传输。
35. 如权利要求28所述的系统,还包括 提供客户计算机上的本地存储缓存的装置;在所述本地存储缓存上存储已被流传输至所述客户计算机的部分 操作系统映像的装置;以及按需交付操作系统时,当要求的是存储在所述本地存储缓存上的 所述部分操作系统映像时,从所述本地存储缓存交付所述部分操作系 统映像的装置。
36. 如权利要求28所述的系统,还包括 提供客户计算机上的本地存储缓存的装置;在所述本地存储缓存上存储已被流传输至所述客户计算机的部分 应用程序映像的装置;以及按需交付应用程序时,当要求的是存储在所述本地存储缓存上的 所述部分应用程序映像时,从所述本地存储缓存交付所述部分应用程 序映像的装置。
全文摘要
本发明公开了集成按需交付操作系统和应用程序的系统与方法,其中操作系统映像与应用程序映像分开且不同。操作系统流传输服务和应用程序流传输服务的集成使得流传输交付至广泛范围的客户设备成为可能,客户设备包括没有本地磁盘空间的客户设备,诸如瘦客户机和无盘工作站。此外,通过集成操作系统交付和应用程序交付的集中管理,本发明为服务器-中心应用程序管理提供了完整解决方法,从而进一步减少了基于网络的计算方法的总体拥有成本。在客户机器专有级实现操作管理功能及在用户专有级实现应用程序管理功能,结合提供分开且不同的操作系统映像和应用程序映像,就提供了允许适当缩放并提供适当安全管理功能的内在规范架构。结果是完整、可缩放、坚固且可靠的服务器-中心应用程序和操作系统管理系统,其总体拥有成本比现有产品低。
文档编号G06F9/445GK101427237SQ200580021184
公开日2009年5月6日 申请日期2005年5月3日 优先权日2004年5月7日
发明者A·K·N·徐, A·德什潘德, A·福沙克, M·卡罗门尼, S·米维阿 申请人:慧智科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1