用于执行操作系统的实时更新的方法和系统的制作方法_3

文档序号:8395743阅读:来源:国知局
分布式数据处理系统1〇〇可以包含计算机网络,在其中说明性实施例的各方 面可以被实现。分布式数据处理系统100包含至少一个网络102,它是被用来在分布式数据 处理系统100中连接在一起的各个设备和计算机之间提供通信链路的媒介。网络102可以 包含连接,例如导线、无线通信链路、或光纤电缆。
[0046] 在所描绘示例中,服务器104和服务器106连同存储单元102 -起被连接到网络 102。此外,客户端110、112和114也被连接到网络102。这些客户端110、112和114可以 是,例如,个人计算机、网络计算机等。在所描绘示例中,服务器104提供数据给客户端110、 112和114,例如引导文件、操作系统镜像和应用。在所描绘示例中客户端110、112和114 是服务器104的客户端。分布式数据处理系统100可以包含附加的服务器、客户端以及其 他未被显示的设备。
[0047] 在所描绘示例中,分布式数据处理系统100指互联网,和网络102 -起代表使用传 输控制协议/互联网协议(TCP/IP)协议集来互相通信的网络和网关的全世界范围的集合。 在互联网的核心是一个主结点或主机之间高速数据通信线路的骨干网,包含数以千计的商 业的、政府的、教育的和其他计算机系统,它们路由数据和信息。当然,分布式数据处理系统 100也可以被实现以包含若干不同类型的网络,例如,内联网、局域网(LAN)、广域网(WAN) 等。如上所述,图1被用来作为一个示例,而不作为对本发明的不同实施例的架构上的限 制,因此,图1所示的特定元件不应该被认为限制有关本发明的说明性实施例可以被实现 的环境。
[0048] 图2是示例数据处理系统的框图,说明性实施例的几个方面可以在其中实现。数 据处理系统200是计算机的示例,例如图1的客户端110,其中实现本发明的说明性实施例 的过程的计算机可用代码或指令可以被定位。
[0049] 在所描绘示例中,数据处理系统200采用了集线器架构包括北桥以及存储器控制 器集线器(NB/MCH)202和南桥以及输入/输出(I/O)控制器集线器(SB/ICH)204。处理单 元206、主存储器208和图形处理器210被连接到NB/MCH 202。图形处理器210可以通过 加速图形接口(AGP)被连接到NB/MCH 202。
[0050] 在所描绘示例中,局域网(LAN)适配器212连接到SB/ICH 204。音频适配器216、 键盘和鼠标适配器2210、调制解调器222、只读存储器(ROM) 224、硬盘驱动器(HDD) 226、 ⑶-ROM驱动器230、通用串行总线(USB)接口和其他通信接口 232,以及PCI/PCIe设备234 通过总线238和总线240连接到SB/ICH 204。PCI/PCIe设备可以包括,例如,以太网适配 器、扩展卡、以及笔记本电脑的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可 以是例如可擦写基本输入/输出系统(BIOS)。
[0051] HDD 224 和 CD-ROM驱动器 230 通过总线 240 连接到 SB/ICH204。HDD 226 和 CD-ROM 驱动器230可以使用例如集成驱动器电子设备(IDE)或串行高级技术附件(SATA)接口。超 级1/0 (SI0)设备236可以被连接到SB/ICH 204。
[0052] 操作系统运行在处理单元206上。在图2中,操作系统协同并提供数据处理系 统200中多种组件的控制。作为客户端,操作系统可以是商业上可见的操作系统例如 Microsoft_K_ Windows 7_K'。面向对象的编程系统,例如Java?编程系统,可以结合操作 系统运行并从在数据处理系统200上执行的Java?程序或应用提供对操作系统的调用。
[0053] 作为服务器,数据处理系统200可以是例如丨BM_R) eServer# System p_&计算 机系统,运行高级交互执行体(Aix)操作系统或LINUX?操作系统。数据处理系统2〇〇可 以是对称多处理器(SMP)系统,包含处理单元206中的多个处理器。备选地,可以采用单个 处理器系统。
[0054] 操作系统、面向对象编程系统、以及应用或程序的指令位于存储设备上,例如HDD 226,并可以被加载进主存储器208以被处理单元206执行。本发明的说明性实施例的过程 可以被处理单元206使用计算机可用程序代码来执行,该计算机可用程序代码可以位于存 储器、例如主存储器208、ROM 224中,或在一个或多个外部设备226和230中。
[0055] 总线系统,比如图2所示的总线238或总线240,可以由一个或多个总线组成。当 然,总线系统可以使用任意类型的通信组织或架构来实现,它在依附于该组织或架构的不 同组件或设备之间提供数据传输。通信单元,比如图2的调制解调器222或网络适配器212, 可以包含一个或多个被用来传输和接收数据的设备。存储器可以是,例如,主存储器208、 ROM 224或高速缓存,比如在图2的NB/MCH202中所发现的。
[0056] 那些本领域的技术人员将会认识到图1和2中的硬件可以基于实现而变化。其 他内部硬件或外部设备,比如闪存、等价的非瞬态存储器、或光磁盘驱动器等,可以作为图1 和2中所描绘的硬件的附加或取代图1和2中所描绘的硬件被使用。同时,在不背离本发 明精神和范围的情况下,除了之前提及的SMP系统,说明性实施例的过程可以被应用到多 处理器数据处理系统。
[0057] 此外,数据处理系统200可以采取任意数目的不同数据处理系统的形式,这些系 统包括客户端计算设备、服务器计算设备、平板电脑、膝上电脑、电话或其他通信设备、个人 数字助理(PDA)等。在一些说明性实施例中,数据处理系统200可以是便携的计算设备,该 设备使用闪存被配置为提供用于存储例如操作系统文件和/或用户生成的数据的非易失 性存储器。本质上,数据处理系统200可以是任何已知或后期开发的无架构限制的数据处 理系统。
[0058] 依据说明性实施例,图1中一个或多个计算设备,例如服务器104、106、客户端计 算设备110~114等,可以实现逻辑上分区的环境,在该环境中该特定计算设备主控一个或 多个逻辑分区(LPAR)。这些逻辑分区每个包含操作系统的一个实例,比如AIX操作系统,被 用来在虚拟环境中运行用户空间应用,使得用户空间应用表现为可以访问计算设备的所有 资源,该计算设备主控操作系统实例运行其中的LPAR。
[0059] 定期地,运行在一个或多个LPAR中的操作系统可能需要被更新或打补丁。这样的 更新或打补丁可以被电子地自动分配到图1中网络1〇〇的各种计算设备,或更新可以被系 统管理员等手动地发起。例如,操作系统可以定期轮询与操作系统供应商相关联的计算设 备以确定是否有更新或打补丁可用于操作系统。如果是,更新或打补丁可以从供应商的计 算设备下载到执行需要被更新/打补丁的操作系统的计算设备。
[0060] 如上面提及的,在已知的机制中,为了使更新/打补丁被应用到执行在计算设备 的逻辑分区中的操作系统实例,逻辑分区和/或计算设备作为一个整体,必须被重新开始。 这对应用的用户导致了显著的停机时间,并且此外,需要用户重新提交他们的工作负载给 逻辑分区以便执行。此外,如果工作负载分区(WPAR)被用来促进操作系统实例的动态更新 /打补丁,因为需要跟踪移动的WPAR中每个进程和线程的活动,所以更新的范围可能如上 所注被限制并需要巨大的开销来完成,从而降低了性能。
[0061] 在说明性实施例的机制下,LPAR的操作系统实例的根卷组(rootvg)的克隆被生 成并且通过对操作系统的更新而更新,并且随后被用来引导新LPAR。一旦该新LPAR开始并 且运行,运行在原LPAR中的应用被迁移到新LPAR中。应用实例的实际移动包含对旧LPAR 上的应用实例设置检查点并将状态信息传递给新LPAR,其中应用实例在新LPAR上被开始 并被初始化为检查点的状态。一旦被迁移,应用实例可以立即对用户进程可用。应用数据 随后从与原LPAR相关联的存储器被异步拷贝到与新LPAR相关联的存储器。一旦应用和 它相关联的数据被移动到新LPAR,随后原LPAR和它的资源可以被释放以便重复使用。新 LPAR采用原LPAR的身份,这样从外部看,没有发生了原LPAR到新LPAR的切换的指示。艮P, 来自客户端系统的网络连接在新LPAR上被保存/重新创建,仅在短暂的暂停期网络活动被 阻塞。一旦应用实例在新LPAR上以检查点的状态被激活,应用实例可以从迁移前它们中断 的相同节点继续与客户端系统通信。
[0062] 因此,当操作系统的更新正在被执行,用户空间进程及用户本身可以与执行在原 LPAR上的应用实例交互。当操作系统的更新完成,新LPAR替代旧LPAR,然而新LPAR通过 在来自旧LPAR的根卷组的克隆副本上被执行的更新将更新应用于操作系统,其中该根卷 组包含操作系统镜像、共享库、0S命令、用户定义、设备配置数据库等。因此,操作系统的无 缝实时更新在不需要重新开始工作负载或另外严重中断已经执行的应用和工作负载的情 况下具有可行性。此外,对包括共享库等的用户空间二进制文件的更新可以使用说明性实 施例的机制执行。
[0063] 图3是图示了依据一个说明性实施例的用于实现操作系统的实时更新的更新/打 补丁操作的示例框图。图3中所示的元件可以在计算设备中被实现,该设备实现了包含一 个或多个逻辑分区的虚拟化环境。计算设备,在一个说明性实施例中,指服务器计算设备, 其中多个逻辑分区被实现,例如,用于每个客户端计算设备的一个逻辑分区访问服务器计 算设备。当然,这仅仅是一个示例,并且任何说明性实施例被用来在计算设备资源的逻辑分 区中对操作系统更新或打补丁的实现被认为在说明性实施例的精神和范围之内。
[0064] 如图3中所示,最初逻辑分区,例如原逻辑分区(LPAR1) 310,运行在计算系统300 中。操作系统实例314在具有根卷组(rootvg) 316的LPAR1 310中运行。用户空间应用312 通过操作系统实例314在LPAR1中运行。应用312具有存储在存储器318中的应用状态数
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1