对相关资源分区重定位的方法、装置和系统与流程

文档序号:12005692阅读:174来源:国知局
对相关资源分区重定位的方法、装置和系统与流程
这里公开的主题内容涉及虚拟化的计算环境中的资源分区,并且更具体地涉及对相关资源分区重定位。

背景技术:
硬件和软件虚拟化实现计算平台和/或操作系统的抽象以模拟应用、程序和操作系统可以在其中执行的计算机环境。通常,在计算平台上的应用(比如管理程序)管理和/或提供这些虚拟环境或者资源分区(计算平台的资源的分区)。许多虚拟化系统提供资源分区移动性——用于将资源分区从一个分部(比如计算机系统)向另一分部重定位以平衡工作负荷、释放计算机系统上的资源等的能力。资源分区经常与相同或者不同分布中的其它资源分区通信。因此,对特定资源分区重定位可能影响与特定资源分区和其它资源分区的通信业务。

技术实现要素:
提供一种用于对相关资源分区重定位的方法的一个实施例。该方法包括检测用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括第二资源分区。第一资源分区和第二资源分区各自是相异操作环境。该方法也包括确定第二资源分区与第一资源分区充分相关。该方法包括响应于确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。一种用于对相关资源分区重定位的装置的一个实施例被提供有配置成在功能上执行上文关于呈现的方法描述的步骤的多个模块。这些模块在描述的实施例中包括检测模块、确定模块和重定位模块。检测模块检测用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括第二资源分区,并且第一资源分区和第二资源分区各自是相异操作环境。确定模块确定第二资源分区与第一资源分区充分相关。重定位模块响应于确定模块确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。呈现一种用于对相关资源分区重定位的系统的一个实施例。该系统包括处理器、与处理器通信的存储器、操作系统内核和存储于存储器上并且由处理器执行的分区重定位装置。分区重定位装置与操作系统内核通信。分区重定位装置包括检测模块、确定模块和重定位模块。检测模块检测用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括第二资源分区,并且第一资源分区和第二资源分区各自是相异操作环境。确定模块确定第二资源分区与第一资源分区充分相关。重定位模块响应于确定模块确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。呈现一种方法的另一实施例,该方法包括向计算系统上部署分区重定位装置。分区重定位装置能够检测用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括第二资源分区。第一资源分区和第二资源分区各自是相异操作环境。分区重定位装置也能够确定第二资源分区与第一资源分区充分相关。分区重定位装置也能够响应于确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。附图说明为了将容易理解本发明的实施例的优点,将通过参照在附图中图示的具体实施例来给予对上文简要描述的实施例的更具体描述。理解这些附图仅描仅一些实施例,并且因此将不被认为限制范围,将通过使用以下附图利用附加特性和细节描述和说明实施例,在附图中:图1是图示了根据本发明的用于对资源分区重定位的系统的一个实施例的示意框图;图2是图示了根据本发明的用于对资源分区重定位的系统的另一实施例的示意框图;图3A是图示了根据本发明的WPAR重定位事件的一个实施例的示意框图;图3B是图示了根据本发明的对相关WPAR重定位的一个实施例的示意框图;图3C是图示了根据本发明的重定位的相关WPAR的一个实施例的示意框图;图4A是图示了根据本发明的LPAR重定位事件的一个实施例的示意框图;图4B是图示了根据本发明的对相关LPAR重定位的一个实施例的示意框图;图4C是图示了根据本发明的重定位的相关LPAR的一个实施例的示意框图;图5是图示了根据本发明的分区重定位装置的一个实施例的示意框图;图6是图示了根据本发明的分区重定位装置的另一实施例的示意框图;图7是图示了根据本发明的用于对资源分区重定位的方法的一个实施例的示意流程图;图8是图示了根据本发明的用于对资源分区重定位的方法的另一实施例的具体示意流程图;图9A是图示了根据本发明的用于部署虚拟客户安全装置的方法的一个实施例的示意流程图;并且图9B是图示了根据本发明的用于部署虚拟客户安全装置的方法的一个实施例的的图9A的继续。具体实施方式贯穿说明书对特征、优点或者相似语言的引用并不意味着可以在任何单个实施例中实现所有特征和优点。相反地,引用特征和优点的言语被理解为意味着在至少一个实施例中包括具体特征、优点或者特点。因此,贯穿本说明书对特征和优点以及相似语言的讨论可以但是未必涉及相同实施例。另外,可以用任何适当方式组合实施例的描述的特征、优点和特点。相关领域技术人员将认识到没有特定实施例的具体特征或者优点中的一个或者多个具体特征或者优点仍可实现实施例。在其它实例中,可以在某些实施例中识别出可以不存在于所有实施例中的附加特征和优点。实施例的这些特征和优点将从以下描述和所附权利要求中变得更完全显而易见,或者可以通过实现如下文阐述的实施例来了解。如本领域技术人员将领会到的那样,可以将本发明的方面体现为系统、方法和/或计算机程序产品。因而,本发明的方面可以采用全硬件实施例、全软件实施例(包括固件、常驻软件、微代码等)或者将软件与硬件方面组合的实施例的形式,这些实施例可以在这里都通称为“电路”、“模块”或者“系统”。另外,本发明的方面可以采用在一个或者多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质具有在其上体现的计算机可读程序代码。已经将在本说明书中描述的功能单元中的许多功能单元标注为模块,以便更具体地强调它们的实施独立性。例如,可以将模块实施为包括定制VLSI电路或者门阵列、现成的半导体(比如逻辑芯片、晶体管)或者其它分立部件的硬件电路。也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件设备中实施模块。也可以在用于由各种类型的处理器执行的软件中实施模块。标识的计算机可读程序代码的模块可以例如包括可以例如被组织为对象、过程或者函数的计算机指令的一个或者多个物理或者逻辑块。然而,标识的模块的可执行文件无需物理上定位在一起,而是可以包括存储于不同位置中的相异指令,这些指令在逻辑上接合在一起时包括模块并且实现针对模块的所声明的目的。实际上,计算机可读程序代码的模块可以是单个指令或者多个指令,并且可以甚至分布于若干不同代码段、分布于不同程序之中和跨域若干存储器设备来分布。类似地,这里可以在模块内标识和图示操作数据,并且可以用任何适当形式体现并且在任何适当类型的数据结构内组织操作数据。操作数据可以被汇集为单个数据集,或者可以分布于不同位置(包括分布于不同存储设备)并且可以至少部分仅作为系统或者网络上的电子信号而存在。当在软件中实施模块或者模块的部分时,可以在一个或者多个计算机可读介质中存储和/或传播计算机可读程序代码。计算机可读介质可以是存储计算机可读程序代码的有形计算机可读存储介质。计算机可读存储介质可以例如是但不限于电子、磁、光、电磁、红外线、全息、微机械或者半导体系统、装置或者设备,或者前述的任何适当组合。计算机可读存储介质的更多具体示例可以包括但不限于便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、便携式紧致盘只读存储器(CD-ROM)、数字万用盘(DVD)、光学存储设备、磁存储设备、全息存储介质、微机械存储设备,或者前述的任何适当组合。在本文献的上下文中,计算机可读存储介质可以是可以包含和/或存储用于由指令执行系统、装置或者设备使用和/或与指令执行系统、装置或者设备结合使用的计算机可读程序代码的任何有形介质。计算机可读介质也可以是计算机可读信号介质。计算机可读信号介质可以包括例如在基带中或者作为载波的部分的传播的数据信号,该传播的数据信号具有在其中体现的计算机可读程序代码。这样的传播的信号可以采用包括但不限于电、电磁、磁、光或者其任何适当组合的多种形式中的任何形式。计算机可读信号介质可以是任何如下计算机可读介质,该计算机可读介质不是计算机可读存储介质并且可以传达、传播或者传送用于由指令执行系统、装置或者设备使用或者与指令执行系统、装置或者设备结合使用的计算机可读程序代码。可以使用任何适当介质来传输在计算机可读信号介质上体现的计算机可读程序代码,这些介质包括但不限于有线、光纤、射频(RF)等或者前述的任何适当组合。在一个实施例中,计算机可读介质可以包括一个或者多个计算机可读存储介质与一个或者多个计算机可读信号介质的组合。例如,计算机可读程序代码可以通过光纤线缆作为电磁信号来传播以用于由处理器执行并且存储于RAM存储设备上以用于由处理器执行。可以用一种或者多种编程语言的任何组合来编写用于实现用于本发明的方面的操作的计算机可读程序代码,该编程语言包括比如Java、Smalltalk、C++、PHP等面向对象编程语言以及比如“C”编程语言或者相似编程语言这样的常规过程编程语言。计算机可读程序代码可以完全在用户的计算机上、部分在用户的计算机上、作为独立软件包、部分在用户的计算机上而部分在远程计算机上或者完全在远程计算机或者服务器上执行。在后一种场景中,远程计算机可以通过包括局域网(LAN)或者广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以(例如,通过使用因特网服务提供商的因特网)进行与外部计算机的连接。贯穿本说明书对“一个实施例”、“一(个)实施例”或者相似语言的引用意味着结合该实施例描述的特定特征、结构或者特点包括于至少一个实施例中。因此,贯穿本说明书出现短语“在一个实施例中”、“在一实施例中”以及相似语言可以但是未必都指代相同实施例,而是除非另有明确指定则意味着“一个或者多个但是并非所有实施例”。术语“包括”、“具有”及其变化除非另有明确指定则意味着“包括但不限于”。枚举的项目列表除非另有明确指定则并不意味着任何或者所有项目相互排斥和/或相互包含。术语“一(个)”和“该”除非另有明确指定则也指代“一个或者多个”。另外,可以用任何适当方式组合实施例的描述的特征、结构或者特点。在以下描述中,提供许多具体细节(比如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例)以提供对实施例的透彻理解。然而,相关领域技术人员将认识到,没有具体细节中的一个或者多个具体细节或者利用其它方法、部件、材料等也可以实现实施例。在其它实例中,并未具体示出或者描述公知结构、材料或者操作以免模糊实施例的方面。下文参照根据本发明的实施例的方法、装置、系统和计算机程序产品的示意流程图和/或示意框图描述实施例的方面。将理解,示意流程图和/或示意框图的每个块以及在示意流程图和/或示意框图中的块的组合可以由计算机可读程序代码实施。可以向通用计算机、专用计算机、定序器或者其它可编程数据处理装置的处理器提供计算机可读程序代码以产生机器,从而使得经由计算机或者其它可编程数据处理装置的处理器执行的指令创建用于实施在示意流程图和/或示意框图的一个或者多个块中指定的功能/动作的装置。也可以在计算机可读介质中存储计算机可读程序代码,该计算机可读介质可以指引计算机、其它可编程数据处理装置或者其它设备以特定方式工作,从而使得在计算机可读介质中存储的指令产生包括指令的制造品,这些指令实施在示意流程图和/或示意框图的一个或者多个块中指定的功能/动作。也可以向计算机、其它可编程数据处理装置或者其它设备上加载计算机可读程序代码以使一系列操作步骤在计算机、其它可编程装置或者其它设备上执行以产生计算机实施的过程,从而使得在计算机或者其它可编程装置上执行的程序代码提供用于实施在流程图和/或框图的一个或者多个块中指定的功能/动作的过程。图中的示意流程图和/或示意框图图示了根据本发明的各种实施例的装置、系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。在此方面,在示意流程图和/或示意框图中的每个块可以代表代码的模块、段或者部分,该代码的模块、段或者部分包括用于实施指定逻辑功能的程序代码的一个或者多个可执行指令。也应当注意,在一些备选实现方式中,在块中指出的功能可以不按图中指出的顺序出现。例如,事实上根据涉及到的功能可以基本上并行执行接连示出的两个块,或者有时可以反序执行这些块。可以设想在功能、逻辑或者效果上与所示附图的一个或者多个块或者其部分等效的其它步骤和方法。虽然可以在流程图和/或框图中运用各种箭头类型和线条类型,但是它们被理解为未限制对应实施例的范围。实际上,一些箭头或者其它连接符可以用来仅指示描绘的实施例的逻辑流程。例如,箭头可以指示在描绘的实施例的枚举的步骤之间的未指定持续时间的等待或者监视时段。也将注意,框图和/或流程图的每个块以及在框图和/或流程图中的块组合可以由执行指定功能或者动作的基于专用硬件的系统实施,或者由专用硬件与计算机可读程序代码的组合实施。图1是图示了用于对资源分区重定位的系统100的一个实施例的示意框图。在描绘的实施例中,系统100包括具有管理程序110的计算机系统105,该管理程序110提供第一逻辑分区(LPAR)115a和第二逻辑分区(LPAR)115b,每个115a、115b包括操作系统(OS)实例120a、120b(例如,第一OS实例120a和第二OS实例120b)。第一OS实例120a包括第一工作负荷分区(WPAR)125a和第二工作负荷分区(WPAR)125b,并且第二OS实例120b包括第三WPAR125c。计算机系统105通过网络130与一个或者多个客户端135a、135b、135c通信。计算机系统105可以包括处理器和存储计算机可读程序的存储器。存储器可以由易失性存储器(比如动态随机存取存储器(“DRAM”)、静态随机存取存储器(“SRAM”)或者其它适当易失性存储器)实现。如本领域技术人员公知的那样,处理器执行计算机可读程序。计算机可读程序可以有形地存储于计算机系统105中的储存器中。储存器可以包括固态驱动(“SSD”)、硬盘驱动(“HDD”)、光存储设备、全息存储设备、微机械存储设备或者其它非易失性数据存储设备。计算机系统105可以由服务器计算机、台式计算机、膝上型计算机、平板计算机、移动设备或者另一设备体现。在一个实施例中,计算机系统105是国际商用机器计算机系统,比如但不限于System或者Power计算机。如这里所用,在某些实施例中,术语“分区”指代计算机系统105。管理程序110(也被称为虚拟机监视器)包括用于提供和/或主控一个或者多个虚拟机的软件和/或硬件。如本领域中所知,虚拟机对计算机系统105的实际硬件特点进行抽象化,从而提供用于由虚拟客户(比如操作系统)使用的计算资源的虚拟表示。除了管理程序110管理虚拟客户的执行并且可以限制对各种系统资源的访问之外,虚拟客户在虚拟机器中如同它直接在计算机系统105上运行一样执行。管理程序110可以向每个虚拟客户提供下层计算机系统105的资源的部分,比如下层机器、内核调用、硬件寄存器之类的计算机系统105指令集的子集。管理程序110在一个实施例中是来自的LPAR管理程序、来自的处理器资源/系统管理器(PR/SMTM)管理程序、来自的POWERHypervisorTM或者能够支持LPAR的其它适当管理程序110。在描绘的实施例中,管理程序110提供和/或主控第一LPAR115a和第二LPAR115b。虽然图1描绘了两个LPAR115a、115b,但是计算机系统105可以被分区成任何适当数目的LPAR115a、115b。LPAR115a、115b是被虚拟化为单独计算机的虚拟机类型,该虚拟机类型包括计算机系统105的硬件资源的逻辑子集。管理程序110可以如描绘的那样将计算机系统105分区成多个LPAR115a、115b,每个LPAR115a、115b主控单独OS实例120a、120b。每个LPAR提供可以供OS实例120a、120b在其中执行的相异操作环境。另外,每个LPAR115a、115b可以访问来自共同存储器芯片的不同地址范围。处理器可以专用于特定LPAR115a、115b,或者可以在LPAR115a、115b之间被共享。在一个实施例中,第一和第二LPAR115a、115b是由软件和/或硬件在计算机和服务器(比如但不限于System或者Power服务器)和计算机和/或操作系统(比如z/OS、z/VM、z/VSE、z/TPF、AIX、Linux和i5/OS)上提供的逻辑分区。如这里所用,在某些实施例中,术语“资源分区”指代LPAR115a、115b。在某些实施例中,术语“分部”指代LPAR115a、115b。每个OS实例120a、120b可以包括具有操作系统内核的执行操作系统,该执行操作系统假设它与计算机系统105的硬件直接通信。例如,第一OS实例120a可以维护页面表,该页面表存储在存储器上的物理地址与由处理器从客户端(比如应用)接收的逻辑地址之间的映射。第一OS实例120a可以假设它的页面表中的物理地址是存储器上的实际物理地址并且第一OS实例120a实际上与计算机系统105的处理器和其它硬件数据结构通信。然而,第一OS接口120a可以实际上与管理程序110而不是处理器通信,并且假定的物理地址被管理程序110视为虚拟地址,该管理程序110执行用于将每个假定的物理地址向计算机系统存储器的实际物理地址映射的另一映射层。在一个实施例中,第一OS实例120a和第二OS实例120b各自包括来自的高级交互执行体(“AIX”)操作系统的实例。如描绘的那样,第一WPAR125a和第二WPAR125b在第一OS实例中执行,并且第三WPAR125c在第二OS实例120b中执行,但是每个OS实例120a、120b可以执行任何适当数目的WPAR125a-125c。LPAR115a、115b允许计算机系统105的虚拟分区,而WPAR125a-125c允许操作系统实例120a的分区。WPAR125a是从OS实例120a创建并且由OS实例120a主控的而且在其它WPAR125b之间共享OS实例120a的资源的软件分区。每个WPAR125a-125c是在单个OS实例120a、120b内创建的虚拟化的操作系统环境。每个WPAR125a-125c提供应用环境隔离和操作系统级虚拟化。在一个实施例中,WPAR125a-125c是AIX操作系统实例的软件分区。如这里所用,在某些实施例中,术语“资源分区”指代WPAR125a-125c。网络130可以包括通信网络,比如因特网、局域网(“LAN”)、无线LAN(“WLAN”)、通过因特网通信的多个LAN或者任何其它相似通信网络。每个客户端135a、135b、135c通过网络130与计算机系统105通信。例如,客户端135a可以访问在第一OS实例120a的第一WPAR125a中执行的特定应用。在一个实施例中,客户端135a可以被体现为台式计算机、便携式计算机、服务器、主机计算机、手持式计算设备、触摸设备、PDA、平板计算机、电子书阅读器、移动电话、智能电话等。图2是图示了用于对资源分区重定位的系统200的另一实施例的示意框图。具体而言,图2描绘了可以与图1中的相似命名的单元基本上相似的、各自具有OS实例(分别为第一LPAR115a中的第一OS实例120a和第二LPAR115b中的第二OS实例120b)的计算机系统105、管理程序110以及第一LPAR115a和第二LPAR115b的一个实施例。同样地,第一OS实例120a包括第一WPAR125a和第二WPAR125b,并且第二OS实例120b包括第三WPAR125c,这些WPAR也可以与图1中的相似命名的单元基本上相似。在某些实施例中,WPAR125a-125c可以相互通信。例如,第一WPAR125a可以与第二WPAR125b通信(例如,在第一WPAR125a上运行的应用可以与在第二WPAR125b上运行的应用通信)。在一个实施例中,在共同LPAR115a中执行的WPAR125a、125b可以通过回送接口相互通信,从而产生网络带宽的更好优化。回送接口是在软件中实施的虚拟网络接口,该虚拟网络接口允许更高效的通信,因为无需通过物理通信适配器传输数据。经常在相同接口上立即接收向回送接口发送的业务。因此,在第一WPAR125a与第二WPAR125b之间的通信通常比在第一WPAR125a或者第二WPAR125b与第三WPAR125c之间的通信更高效。同样地,在某些实施例中,LPAR115a、115b可以相互通信。例如,第一LPAR115a可以与第二LPAR115b通信(例如,在第一LPAR115a上运行的应用可以与在第二LPAR115b上运行的应用通信)。在一个实施例中,在共同计算机系统105上执行的LPAR115a、115b可以通过共同虚拟以太网连接相互通信,从而产生网络带宽的更好优化。虚拟以太网允许共同计算机系统105中的LPAR115a、115b相互通信而无需通过物理硬件通信。因此,在第一LPAR115a与第二LPAR115b之间的通信通常比在第一LPAR115a或者第二LPAR115b与另一计算机系统105上的LPAR之间的通信更高效。许多常规管理程序110和计算机系统105(被配置用于虚拟化)支持其中将虚拟机或者虚拟客户从一个位置移向另一位置(例如,移向另一计算机系统或者移向计算机系统上的另一分区)的虚拟机/虚拟客户迁移。类似地,在一个实施例中,管理程序110和/或计算机系统105被配置成执行现场分区移动性(“LPM”),该LPM涉及对执行LPAR115a和/或WPAR125a重定位(例如,将特定WPAR125a及其执行工作负荷从第一位置向第二位置复制)。在一个实施例中,管理程序110将LPAR115a从第一计算机系统105向第二计算机系统105重定位。在一个实施例中,管理程序110将WPAR125a从第一LPAR115a向第二LPAR115b重定位。管理程序110可以响应于各种触发来实施对WPAR125a或者LPAR115a的基于策略的重定位。例如,如果在特定LPAR115a的主机计算机系统105上的存储空间降至最小阈值以下,则管理程序110可以对特定LPAR115a重定位。如果主控LPAR115a的资源使用超过预定标准,则管理程序110可以对特定WPAR125a重定位。其它适当触发和重定位标准可以为本领域普通技术人员所清楚。另外,在一些实施例中,用户也可以在某些实例中(比如在硬件或者软件升级或者计划的停用之前)发起WPAR/LPAR重定位。然而,常规管理程序110在对LPAR115a或者WPAR125a重定位时不考虑WPAR间或者LPAR间通信。因此,管理程序110可以发起用于对与其它LPAR115b或者WPAR125b通信繁重的特定LPAR115a或者特定WPAR125a重定位的重定位事件。如果将特定LPAR115a向另一计算机系统105重定位或者如果将特定WPAR125a向另一LPAR115b重定位,那么如果重定位的WPAR125a或者LPAR115a维持与WPAR125b或者LPAR115b的大量通信而现在没有回送接口或者虚拟以太网的益处,则通信效率可能减少。例如,如果第一WPAR125a与第二WPAR125b大量通信并且将第一WPAR125a从第一LPAR115a向第二LPAR115b重定位,则在第一WPAR125a与第二WPAR125b之间的后续通信将利用更多带宽。因此,系统200包括检测用于对资源分区(例如,LPAR115a、115b或者WPAR125a-125c)重定位的重定位事件(例如,由管理程序110触发)的分区重定位装置205。分组重定位装置205可以确定位于相同分部(例如,如果对WPAR125a重定位则为LPAR115a,并且如果对LPAR115a重定位则为计算机系统105)中的任何其它资源分区是否充分相关。分区重定位装置205继而可以对任何相关资源分区重定位或者使任何相关资源分区被重定位,从而使得在重定位的资源分区与任何显著相关资源分区之间的通信可以利用回送接口或者虚拟以太网。在描绘的实施例中,分组重定位装置205在第一OS实例120a中驻留和/或执行。在某些实施例中,分区重定位装置205在与作为重定位事件的目标的资源分区(例如,由管理程序110重定位的资源分区)相关联的OS实例120a、120b中驻留和/或执行。在一些实施例中,分区重定位装置205的副本和/或部分在多个OS实例中驻留和/或执行(例如,第一OS实例120a可以包括分区重定位装置205的用于它的LPAR115a和WPAR125a、125b的第一副本,并且第二OS实例120b可以包括分区重定位装置205的用于它的LPAR115b和WPAR125c的第二副本)。尽管描绘的分区重定位装置205驻留于第一OS实例120a中,但是无论分区重定位装置205是否与第一OS实例120a集成(例如,分区重定位装置205是操作系统代码的部分)或者被体现为与第一OS实例102a分离的应用(比如向第一OS实例120a的插件),分区重定位装置205都可以与第一OS实例120a(例如,第一OS实例120a的操作系统内核)通信。在其它实施例中,分区重定位装置205的至少部分在管理程序110中驻留和/或执行并且可以与管理程序110集成。在一个实施例中,分区重定位装置205是向管理程序110的插件。图3A-图3C描绘了资源分区重定位的示例实施例。参照图3A,管理程序110可以发起用于将第一WPAR125a从第一LPAR115a向第二LPAR115b重定位的重定位事件。分区重定位装置205检测重定位事件并且确定任何其它WPAR125b是否与第一WPAR125a充分相关。参照图3B,分区重定位装置205确定第二WPAR125b与第一WPAR125a充分相关,并且分区重定位装置205确定也应当将第二WPAR125b向第二LPAR115b重定位。分区重定位装置205继而对第二WPAR125b重定位和/或使第二WPAR125b被重定位(例如,通过用信号通知管理程序110执行重定位)。注意,如下文描述的那样,在一个实施例中,可以先对作为从重定位事件的对象的WPAR125a重定位,并且继而可以随后对其它相关WPAR125b重定位。在另一实施例中,可以将作为重定位事件的对象的WPAR125a与任何相关WPAR125b一起重定位。图3C描绘了向第二LPAR115b上重定位的第二WPAR125b,其中第二WPAR125b和第一WPAR125a可以与回送接口高效通信。图4A-图4C描绘了资源分区重定位的另一示例实施例。参照图4A,管理程序110可以发起用于将第一LPAR115a从第一计算机系统105a向第二计算机系统105b重定位的重定位事件。分区重定位装置205检测重定位事件并且确定任何其它LPAR115b、115c是否与第一LPAR115a充分相关。参照图4B,分区重定位装置205确定第二LPAR115b与第一LPAR115a充分相关,并且分区重定位装置205确定也应当将第二LPAR115b向第二计算机系统105b重定位。分区重定位装置205继而对第二LPAR115b重定位和/或使第二LPAR115b被重定位(例如,通过用信号通知管理程序110执行重定位)。注意,如下文描述的那样,在一个实施例中,可以先对作为重定位事件的对象的LPAR115a重定位,并且继而可以随后对其它相关LPAR115b重定位。在另一实施例中,可以将作为重定位事件的对象的LPAR115a与任何相关LPAR115b一起重定位。图4C描绘了向第二计算机系统105b上重定位的第二LPAR115b,其中第二LPAR115b和第一LPAR115a可以在第二计算机系统105b上通过虚拟以太网高效通信。图5是图示了分区重定位装置205的一个实施例的示意框图。分区重定位装置205可以是图3的分区重定位装置205的一个实施例并且包括检测模块505、确定模块510和重定位模块515中的一个或者多个模块。检测模块505在一个实施例中检测用于对资源分区重定位的重定位事件。重定位事件在一个实施例中由管理资源分区的管理程序110发起。具体而言,检测模块505可以检测用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括一个或者多个第二资源分区(不是重定位事件的目标的资源分区)。第一资源分区和第二资源分区在一个实施例中各自是相异操作环境。在一个实施例中,第一资源分区和第二资源分区各自是WPAR125a、125b,并且第一分部和第二分部各自是LPAR115a、115b、在另一实施例中,第一资源分区和第二资源分区各自是LPAR115a、115b,并且第一分部和第二分部各自是相异计算机系统105a、105b。在其它实施例中,第一和第二资源分区是虚拟机、虚拟客户或者其它适当虚拟计算环境。确定模块510在一个实施例中确定第二资源分区中的任何第二资源分区(例如,第二LPAR115b或者第二WPAR125b)是否与第一资源分区(例如,第一LPAR115a或者第一WPAR125a)充分相关。在一个实施例中,相关度基于在第一资源分区与第二资源分区中的一个或者多个第二资源分区之间的通信业务量。在又一实施例中,确定模块510确定第二资源分区与第一资源分区充分相关包括确定模块510确定在第一资源分区与第二资源分区之间的通信业务满足预定阈值。在一个实施例中,通信业务包括带宽利用。确定模块510可以循环访问(iteratethrough)第二资源分区,从而确定每个所选第二资源分区是否与第一资源分区充分相关。因此,在一个实施例中,确定模块510确定第二资源分区与第一资源分区充分相关,并且继而也可以确定第三资源分区与第一资源分区充分相关。在一个实施例中,确定模块510以相关度为序确定第二资源分区中的每个第二资源分区是否与第一资源分区充分相关。如下文描述的那样,可以以相关度为序对第二资源分区排序。确定模块510可以确定第二资源分区是否以这一排序的顺序充分相关。因此,在第二分部上的存储空间和/或其它资源可能成问题时,确定模块510可以先确定最相关的资源分区的相关度以便有助于对第二分部上的可用空间中的最相关资源分区重定位。在一个实施例中,可以指明资源分区为相关。例如,用户可以指明第二资源分区为与第一资源分区相关。作为结果,如果第一资源分区是重定位事件的目标,则确定模块510将确定第二资源分区由于预定义关系而与第一资源分区充分相关。重定位模块515在一个实施例中响应于确定模块510确定第二资源分区与第一资源分区充分相关,将第二资源分区(例如,第二LPAR115b或者第二WPAR125b)向具有第一资源分区的第二分部(例如,第二LPAR115b或者第二计算机系统105b)重定位。重定位模块515可以直接或者间接地对第二资源分区重定位。在一个实施例中,重定位模块515通过用信号通知管理程序110发起重定位来对第二资源分区重定位。在另一实施例中,重定位模块115执行重定位。另外,在一个实施例中,将第二资源分区向具有第一资源分区的第二分部重定位包括将第二资源分区(和被确定为充分相关的任何其它第二资源分区)与第一资源分区一起和/或在与第一资源分区基本上相同时间重定位。在一个实施例中,将第二资源分区向具有第一资源分区的第二分部重定位包括将第二资源分区(和被确定为充分相关的任何其它第二资源分区)重定位成与第一资源分区一起(例如,在第二分部上)而未必在基本上相同时间或者与第一资源分区一起重定位。在一个实施例中,重定位模块515对确定模块510确定与第一资源分区充分相关的任何第二资源分区重定位,并且确定模块510不进行与第一资源分区相关的任何更多确定。在某些实施例中,重定位模块515对由确定模块510确定为与第一资源分区充分相关的单个第二资源分区重定位。继而,确定模块510可以如下文描述的那样重评价在剩余第二资源分区与第一资源分区之间的相关度(因为分配的相关度排名可以随着重定位而改变)。在一个实施例中,如果第二资源分区充分相关并且如果充分资源存在于第二分部上,则重定位模块515对第二资源分区重定位。因此,重定位模块515可以响应于确定第二分部包括充分资源并且确定模块510确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。如上文描述的那样,在一个实施例中,第一分部包括两个或者更多第二资源分区(在重定位事件中未作为目标的资源分区),并且重定位模块515对与第一资源分区充分相关的两个或者更多第二资源分区的资源分区重定位。因此,重定位模块515可以对多个第二资源分区重定位。如上文描述的那样,如果第二分部包括充分资源(比如存储空间),则重定位模块515可以继续对充分相关的资源分区重定位。继续上述示例,如果重定位模块515对第二资源分区重定位并且确定模块510确定第三资源分区与第一资源分区充分相关,则重定位模块515可以将第三资源分区向具有第一资源分区的第二分部重定位。在一个实施例中,只要资源在第二分部中可用,重定位模块515就继续对充分相关资源分区重定位。因此,重定位模块515在一个实施例中响应于确定模块510确定第三资源分区与第一资源分区充分相关并且确定第二分部具有用于对第三资源分区重定位的充分资源,对第三资源分区重定位。图6是图示了分区重定位装置205的另一实施例的具体示意框图。在描绘的实施例中,分区重定位装置205包括与关于图5描述的模块基本上相似的检测模块505、确定模块510和重定位模块515。在描绘的实施例中,分区重定位装置205还包括资源确定模块605和排序模块610中的一个或者多个模块,并且确定模块510包括下文描述的监视模块615、分配模块620、带宽利用模块625、排名值确定模块630和差异因子模块635中的一个或者多个模块。资源确定模块605在一个实施例中确定第二分部是否包括用于第二资源分区的重定位的充分资源。在一个实施例中,重定位模块515响应于资源确定模块605确定第二分部包括充分资源并且确定模块510确定第二资源分区与第一资源分区充分相关,将第二资源分区向具有第一资源分区的第二分部重定位。排序模块610在一个实施例中以在第一资源分区与两个或者更多第二资源分区之间的相关度为序对两个或者更多第二资源分区排序。在一个实施例中,相关度基于在第一资源分区与两个或者更多第二资源分区中的每个第二资源分区之间的通信业务量。在一个实施例中,排序模块610如下文描述的那样以分配的排名值为序对第二资源分区排序(基于在每个第二资源分区与第一资源分区之间的通信业务)。在一个实施例中,确定模块51以相关度为序确定两个或者更多第二资源分区是否与第一资源分区充分相关。在一个实施例中,排序模块610在数据结构(比如数组或者列表)中存储和排序第二资源分区(例如,用于第二资源分区的标识符或者指向第二资源分区的指针)。监视模块615监视在第一资源分区与在与第一资源分区相同的分部中的第二资源分区之间的通信业务。例如,监视模块615可以监视在第一资源分区与第二资源分区之间传输的数据量(例如,监视模块615可以记录在第一WPAR125a中从第二WPAR125b接收的数据量,并且可以记录从第一WPAR125a向第二WPAR125b发送的数据量。分配模块620在一个实施例中向第二资源分区中的每个第二资源分区分配排名值。在一个实施例中,分配模块620基于与在共同分部中的每个其它资源分区的通信业务向每个第二资源分区分配排名值。例如,分配模块620可以基于第一WPAR125a与在第一分部115a中的第二WPAR125b和第三WPAR125c的通信向第一WPAR125a分配特定排名。在一个实施例中,分配模块620在通信业务表中维护资源分区排名值。例如,假设第一分部包括第一分部中的五个资源分区X、A、B、C和D(在计算机系统105a中的LPAR115a、115b或者在LPAR115a中的WPAR125a、125b)。通信业务表的示例实施例可以如下:XABCDX-81000A8-388B101-12C081-3D0823-表1分配模块620可以向最高通信资源分区分配最高排名(在给出的示例中为10)并且向其它资源分区分配相对排名。带宽利用模块625在一个实施例中为每个第二资源分区(在分部中的不是重定位事件的目标的资源分区)计算有效带宽利用(EBU)作为确定任何资源分区是否与第一资源分区(作为重定位事件的对象的资源分区)充分相关的部分。EBU在一个实施例中包括用于特定第二资源分区的排名值之和。具体而言,假设数组“parlist”除了第一资源分区之外还包括每个资源分区,可以根据以下等式计算EBU:EBUparlist[i]=((在parlist[i]与parlist[i+1]之间的通信业务)+(在parlist[i]与parlist[i+2]之间的通信业务)……·)。在一个实施例中,带宽利用模块625以排序的顺序(从最高排名的资源分区开始)为第二资源分区计算EBU。继续上述示例,带宽利用模块625可以确定用于资源分区A-D的EBU如下:B的EBU=4(1+1+2),A的EBU=19(3+8+8),C的EBU=12(8+1+3),并且D的EBU=13(8+2+3)。排名值确定模块630在一个实施例中确定用于每个第二资源分区的排名值是否大于用于那些资源分区的EBU。具体而言,排名值确定模块630确定用于在特定第二资源分区与第一资源分区之间的通信业务的排名值是否大于用于特定第二资源分区的EBU。继续上述示例,对于资源分区B,排名值确定模块630将确定用于在X与B之间的通信的排名值10大于B的为4的EBU。排名值确定模块630可以以排序的顺序循环访问资源分区阵列从而为每个资源分区进行确定。针对排名值大于其EBU的资源分区,差异因子模块635在一个实施例中响应于排名值确定模块630确定用于在特定第二资源分区与第一资源分区之间的通信业务的排名值大于EBU,为特定第二资源分区计算差异因子。在一个实施例中,如果特定第二资源分区与第一资源分区重定位在一起,则差异因子是减少的通信业务的预期量。继续上述示例,差异因子模块635将先确定如果B未与X重定位在一起,则在X与第二资源分区之间的有效通信业务是18,这是第二资源分区的排名值之和(10+8+0+0)。差异因子模块635可以接着通过将其它资源分区(A、C和D)的排名值与B的EBU相加来确定如果B与X一起重定位的有效网络业务,该有效网络业务是8+4=12。差异因子模块635继而可以通过将在与未重定位的B的有效通信业务和与重定位的B的有效通信业务之差除以与未重定位的B的有效通信业务来计算差异因子,该差异因子是6/18=33%。在一个实施例中,差异因子模块635接收和/或参考用于与如上文描述的那样计算的差异因子比较的预定差异因子。预定差异因子可以由用户确定。在一个实施例中,差异因子模块635确定计算的差异因子是否大于预定差异因子。在一个实施例中,确定模块510响应于差异因子模块635确定差异因子大于预定差异因子,确定特定第二资源分区与第一资源分区充分相关。例如,差异因子模块635可以向确定模块510用信号通知用于特定第二资源分区的差异因子大于预定差异因子,并且确定模块510可以响应于接收信号,确定特定第二资源分区与第一资源分区充分相关。继续上例,假设预定差异因子是30%,B的差异因子33%大于30%。作为结果,重定位模块515也可以对B重定位。图7是图示了用于对资源分区重定位的方法700的一个实施例的示意流程图。方法700开始,并且检测模块505检测705用于将在第一分部中操作的第一资源分区从第一分部向第二分部重定位的重定位事件。第一分部包括第二资源分区。第一资源分区和第二资源分区各自是相异操作环境。确定模块510确定710第二资源分区与第一资源分区充分相关。重定位模块515将第二资源分区向具有第一资源分区的第二分部重定位715,并且方法700结束。图8是图示了用于对资源分区重定位的方法800的另一实施例的示意流程图,方法800开始,并且监视模块615监视805在第一资源分区与在第一分部中操作的两个或者更多第二资源分区之间的通信业务。分配模块620为两个或者更多第二资源分区中的每个第二资源分区分配和维护810排名值。分配模块620可以基于与每个其它资源分区的通信业务向每个第二资源分区分配排名值。如果检测模块505未检测到815用于将第一资源分区从第一分部向第二分部重定位的重定位事件,则监视模块615继续监视805通信业务。备选地,如果检测模块505检测到815重定位事件,则排序模块610以在第一资源分区与两个或者更多第二资源分区之间的通信业务为序对两个或者更多第二资源分区排序(例如,具有更高排名值的第二资源分区在顺序上排序于具有更低排名值的第二资源分区之前)。带宽利用模块625继而选择825特定第二资源分区(例如,按顺序的下一第二资源分区)并且为所选第二资源分区计算830有效带宽利用。在一个实施例中,有效带宽利用是用于第二资源分区的排名值之和。如果带宽利用模块625确定835存在另一资源分区(例如,按顺序的下一资源分区),则带宽利用模块625选择825下一资源分区。备选地,如果带宽利用模块625确定835没有其它第二资源分区,则排名值确定模块630选择840特定资源分区(例如,按排名的顺序的第一资源分区),并且排名值确定模块630确定845用于在所选第二资源分区与第一资源分区之间的通信业务的排名值是否大于用于所选第二资源分区的有效带宽利用(EBU)。如果排名值确定模块630确定845在所选第二资源分区与第一资源分区之间的排名值大于有效带宽利用,则差异因子模块635为所选第二资源分区计算差异因子850。在一个实施例中,如果所选第二资源分区与第一资源分区重定位在一起,则差异因子包括减少的通信业务的预期量。接着,如果确定模块510确定855差异因子大于预定差异因子,则重定位模块515将第二资源分区向具有第一资源分区的第二分部重定位860(指明第二资源分区用于重定位)。排名值确定模块630继而确定865是否存在任何其它第二资源分区。如果排名值确定模块630确定865存在另一第二资源分区,则排名值确定模块630选择840特定资源分区(例如,按排名的顺序的下一资源分区)。备选地,如果排名值确定模块630确定865没有其它第二资源分区,则方法800结束。回到步骤845中的判决,如果排名值确定模块630确定845在所选第二资源分区与第一资源分区之间的排名值少于有效带宽利用,则排名值确定模块630确定865是否存在任何其它第二资源分区(例如,排名值确定模块630继续评价下一第二资源分区)。回到步骤855中的判决,如果确定模块510确定855差异因子少于预定差异因子,则排名值确定模块630确定865是否存在任何其它第二资源分区(例如,排名值确定模块630继续评价下一第二资源分区)。图9A是图示了用于部署分区重定位装置205的方法900的一个实施例的示意流程图。尽管理解可以通过经由加载诸如CD、DVD等存储介质在客户端、服务器和代理计算机中直接手动加载来部署体现分区重定位装置205的过程软件,但是也可以通过向中心服务器或者一组中心服务器发送过程软件来向计算机系统中自动或者半自动部署过程软件。继而,向将执行过程软件的客户端计算机中下载过程软件。备选地,经由电子邮件向客户端系统直接发送过程软件。继而,通过电子邮件上的按钮来向目录分拆或者向目录中加载过程软件,该按钮执行向目录中分拆过程软件的程序。另一备选是向客户端计算机硬驱动上的目录直接发送过程软件。当存在代理服务器时,过程将选择代理服务器代码、确定将代理服务器的代码放置于哪些计算机上、传输代理服务器代码、继而在代理计算机上安装代理服务器代码。可以向代理服务器传输过程软件,并且它继而可以存储于代理服务器上。用于部署过程软件的方法900开始,并且在执行过程软件时进行是否存在将在一个或者多个服务器上驻留的任何程序的确定902。如果是这种情况,则参照图9B,标识936将包含可执行文件的服务器。经由FTP或者某一其它协议或者通过使用共享文件系统的复制向服务器的储存器直接传送938用于一个或者多个服务器的过程软件。继而在服务器上安装940过程软件。接着,回顾图9A,关于是否将通过让用户访问一个或者多个服务器上的过程软件来部署过程软件进行确定904。如果用户将访问服务器上的过程软件,则标识906将存储过程软件的服务器地址。进行是否将构建代理服务器以存储过程软件的确定908。代理服务器是处于客户端应用(比如Web浏览器)与实际服务器之间的服务器。它截获向实际服务器的所有请求以查看它本身是否可以满足请求。如果不是,则它向实际服务器转发请求。代理服务器的两个主要益处是提高性能和过滤请求。如果需要代理服务器,则安装910代理服务器。经由协议(比如FTP)向服务器发送912过程软件,或者经由文件共享从源文件向服务器文件直接复制过程软件。另一实施例将是向包含过程软件的服务器发送事务并且让服务器处理事务,继而接收并且向服务器的文件系统复制过程软件。一旦在服务器存储过程软件,用户继而经由他们的客户端计算机访问914服务器上的过程软件并且向他们的客户端计算机文件系统复制。另一实施例是让服务器自动向每个客户端复制过程软件,并且继而在每个客户端计算机为过程软件运行安装程序。用户执行在他的客户端计算机上安装916过程软件的程序,继而方法900结束。在步骤918中,进行是否将通过经由电子邮件向用户发送过程软件来部署过程软件的确定。与用户客户端计算机的地址一起标识920将部署过程软件的用户集。经由电子邮件向用户的客户端计算机中的每个客户端计算机发送过程软件。用户继而接收电子邮件924,并且继而从电子邮件向他们的客户端计算机上的目录分拆926过程软件。用户执行在他的客户端计算机上安装916过程软件的程序,继而方法900结束。最后,关于是否将向他们的客户端计算机上的用户目录直接发送过程软件进行确定928。如果是这样,则标识930用户目录。向用户的客户端计算机目录直接传送932过程软件。这可以用若干方式来完成,比如但不限于共享文件系统目录,并且继而从发送者的文件系统向接收者用户的文件系统复制,或者备选地使用传送协议(比如文件传送协议(FTP))。用户访问934他们的客户端文件系统上的目录为安装过程软件做准备。用户执行在他的客户端计算机上安装916过程软件的程序,继而方法900结束。可以用其它具体形式实现实施例。描述的实施例将在所有方面上仅视为示例而非限制。本发明的范围因此由所附权利要求而不是由前文说明书指示。在权利要求的含义和等效范围内的所有改变将涵盖于它们的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1