CN101030190B - 用于为逻辑分区产生唯一标识符的方法和装置 - Google Patents

用于为逻辑分区产生唯一标识符的方法和装置 Download PDF

Info

Publication number
CN101030190B
CN101030190B CN2007100058731A CN200710005873A CN101030190B CN 101030190 B CN101030190 B CN 101030190B CN 2007100058731 A CN2007100058731 A CN 2007100058731A CN 200710005873 A CN200710005873 A CN 200710005873A CN 101030190 B CN101030190 B CN 101030190B
Authority
CN
China
Prior art keywords
identifier
unique
entity
identifiers
logical calculated
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
Application number
CN2007100058731A
Other languages
English (en)
Other versions
CN101030190A (zh
Inventor
吉尔斯·R·弗雷齐尔
小弗兰克·W·布赖斯
格哈德·班扎夫
斯蒂芬·米勒
贾亚·斯里克里什南
英戈·阿德伦
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101030190A publication Critical patent/CN101030190A/zh
Application granted granted Critical
Publication of CN101030190B publication Critical patent/CN101030190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45566Nested virtual machines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

为了产生用于逻辑分区和/或虚拟数据处理系统的唯一标识符,一种计算机实施的方法、装置、以及计算机可使用的程序代码被提供。由数据处理系统支持的多个计算实体被标识以形成多个被标识的实体。一组唯一标识符基于被标识实体的数量而产生。来自该组唯一标识符的唯一标识符在数据处理系统运行期间分配给逻辑计算实体。

Description

用于为逻辑分区产生唯一标识符的方法和装置
技术领域
本发明总体涉及一种改良的数据处理系统,具体地,涉及一种用于在物理计算机,例如逻辑分区和虚拟机内标识独立的逻辑计算实体的方法、装置和计算机程序产品。更具体地,本发明涉及一种用于自动地产生这些逻辑计算实体的、在世界范围,或更具体地,在网络结构内唯一的标识符的计算机实施的方法、装置和计算机程序产品。
背景技术
在具有在结构中对外部资源的访问级别可变、和对那些外部资源的责任(accountability)可变的多个计算实体的数据处理系统中,在共享端口时为了区分一个唯一实体与其它的实体,唯一计算实体为结构内的每个输入/输出(I/O)端口使用唯一的标识符。例如,通过I/O适配器端口与其它计算实体共享I/O设备的每个计算实体需要由该I/O设备唯一地标识。
物理I/O端口硬件通常包括可用于唯一地标识使用该端口的计算实体的序列号或其它的唯一标识符。然而,在逻辑分区的或虚拟的数据处理系统中,单个物理计算实体可以被分成多个逻辑分区或虚拟机,为了更好地利用I/O适配器,其一些或所有可以共享端口。
逻辑分区是具有专用存储器的计算实体的一部分,在数据处理系统中其能独立于同一计算实体的其它部分运行。每个逻辑分区通常使用物理系统资源的子集并且运行独立的操作系统实例(instance)。
同样地虚拟机包括物理系统(或逻辑分区)资源的子集,并且典型地是控制和管理一组虚拟机的管理程序(hypervisor)操作系统的创建。每个虚拟机能够独立于由管理程序控制的其它虚拟机操作,以及使用管理程序所允许的物理系统(或逻辑分区)资源的子集。每个虚拟机在由管理程序通过页面调度所管理的虚拟存储器内运行独立的操作系统的实例。
正如在未分区的或虚拟的数据处理系统中必须唯一地标识使用I/O端口的每个物理计算实体一样,还必须唯一地标识共享这样的I/O端口的每个逻辑计算实体,例如逻辑分区和虚拟机。因为每个逻辑计算实体需要与每个端口关联的唯一标识符,并且多个逻辑实体能与物理硬件关联,所以与底层的物理硬件关联的标识符的使用通常是不够的。
在包括少量逻辑实体的数据处理系统中,对每个计算实体的唯一标识符的创建能手动地完成。然而较大的数据处理系统可能包括数百、数千、乃至数百万的逻辑计算实体。在这样的系统中为这些实体的每一个手动地产生足够数量的唯一标识符是麻烦的和不实际的。
发明内容
本发明的方面提供一种为逻辑分区的数据处理系统产生唯一标识符的计算机实施的方法、装置和计算机程序产品。由数据处理系统支持的多个计算实体被标识以形成多个被标识的实体。一组唯一标识符基于被标识的实体的数量产生。在数据处理系统运行期间来自一组唯一标识符的唯一标识符被分配给逻辑计算实体。
根据本发明的一个方面,提供了一种产生用于逻辑分区数据处理系统的唯一标识符的计算机实施的方法,该计算机实施的方法包括:标识由数据处理系统支持的多个逻辑计算实体,以形成多个被标识的逻辑计算实体;接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,产生标识该第一逻辑计算实体的23位唯一标识符,基于该23位唯一标识符产生唯一的64位标识符;该唯一的64位标识符在数据处理系统的运行期间被分配给该第一逻辑计算实体。
根据本发明的另一方面,提供了一种产生用于逻辑分区数据处理系统的唯一标识符的计算机实施的方法,该计算机实施的方法包括:标识由数据处理系统支持的多个逻辑计算实体,以形成多个被标识的逻辑计算实体;接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;以及响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,判断该第一逻辑计算实体是否是第一级逻辑分区;响应于该第一逻辑计算实体是第一级逻辑分区的判断,产生标识该第一逻辑计算实体的23位唯一标识符,其中,唯一的64位标识符基于该23位唯一标识符而产生,该唯一的64位标识符在该数据处理系统的运行期间被分配给该第一逻辑计算实体。
根据本发明的另一方面,提供了一种用于产生用于逻辑分区数据处理系统的唯一标识符的装置,该装置包括:标识装置,标识由数据处理系统支持的多个逻辑计算实体,以形成多个标识的逻辑计算实体;请求接收装置,接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;16位唯一标识符产生装置,响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;23位唯一标识符产生装置,响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,产生标识该第一逻辑计算实体的23位唯一标识符,基于该23位唯一标识符产生唯一的64位标识符;标识符分配装置,该唯一的64位标识符在数据处理系统运行期间被分配给该第一逻辑计算实体。
附图说明
本发明被确信的特点的新特征在所附的权利要求书中陈述。然而,发明本身、以及优选的实施方式、其中更进一步的目标和优点,通过连同附图一起阅读时参考下列说明性实施例的详细描述,将被最好地理解,其中:
图1是表示本发明的方面被实施的数据处理系统的网络的图;
图2是本发明被实施的数据处理系统的方框图;
图3是本发明被实施的示例性逻辑分区平台的方框图;
图4是根据本发明的说明性实施例说明自动地产生唯一标识符的过程的示例性方框图;
图5是根据本发明的说明性实施例说明包括40位对于公司唯一的标识符(unique-to-company identifier)的64位唯一标识符的格式的示例性方框图;
图6是根据本发明的说明性实施例说明包括用于在小逻辑分区的数据处理系统中的逻辑分区的16位标识符的64位唯一标识符的格式的示例性方框图;
图7是根据本发明的说明性实施例说明包括用于在大逻辑分区的数据处理系统中标识逻辑分区的23位标识符的64位唯一标识符的格式的示例性方框图;
图8是根据本发明的说明性实施例说明包括用于标识在逻辑计算实体内创建的第二级逻辑计算实体的23位唯一标识符的64位唯一标识符的格式的示例性方框图;
图9是根据本发明的说明性实施例说明用于标识不包括其它逻辑计算实体的逻辑计算实体以及包括其它实体的逻辑计算实体两者的64位唯一标识符的格式的示例性方框图;
图10是根据本发明的说明性实施例概述本发明用于产生用于标识数据处理系统的唯一根标识符的示例性操作的流程图;
图11是根据本发明的说明性实施例概述本发明用于在逻辑分区的数据处理系统中产生用于标识逻辑分区的唯一标识符的示例性操作的流程图;以及
图12是根据本发明的说明性实施例概述本发明用于产生用于在大数据处理系统中标识第一级逻辑计算实体和第二级实体的唯一标识符的示例性操作的流程图。
具体实施方式
下面参考图并且具体地参考图1-3,提供本发明的实施例被实施的数据处理环境的示例性图。应该理解为,图1-3仅仅是示例性的而不是意图声明或暗示对任何关于本发明的方面或实施例被实施的环境的限制。在不违背本发明的精神和范围的情况下许多对于所描述环境的修改能被进行。
下面参考图,图1描述表示本发明的方面被实施的数据处理系统的网络的图。网络数据处理系统100是本发明的实施例可以被实施的计算机网络。网络数据处理系统100包括网络102,其是包括用于在网络数据处理系统100中提供连接在一起的多种设备和计算机之间通信的介质的结构。网络102包括连接物,例如导线、无线通信链路、或光纤电缆。
在所述例子中,服务器104和服务器106与存储单元108一起连接到网络102。另外,客户机110、112、和114连接到网络102。这些客户机110、112、和114可以是,例如,个人计算机或网络计算机。在所述例子中,服务器104向客户机110、112、和114提供数据,例如引导文件、操作系统镜像、和应用。在该例子中客户机110、112、和114是服务器104的客户机。网络数据处理系统100可以包括附加的服务器、客户机及其他未示出的装置。
在所述例子中,网络数据处理系统100是具有表示网络的世界范围集合的网络102和使用传输控制协议/网际协议(TCP/IP)一套协议相互通信的网关的因特网。在因特网的中心是在主节点或主机之间高速数据通信线的中枢,包括成千上万的商业的、政府的、教育的及其他路由数据和消息的计算机系统。当然,网络数据处理系统100也被实施为多个不同种类的网络,例如举例来说,内部网、局域网(LAN)、或广域网(WAN)。同样地,在网络数据处理系统100中的存储设备通过选择的协议,例如光纤信道协议,被连接到服务器104和106。图1意图作为一个例子,而不是作为对本发明不同实施例的结构的限制。
下面参考图2,本发明可以被实施的数据处理系统的方框图被描述。数据处理系统200可以是包括连接到系统总线206的多个处理器201、202、203、和204的对称多处理器(SMP)系统。例如,数据处理系统200可以是在网络中作为服务器被实施的IBM eServer,在纽约阿蒙克(Armonk,New York)的国际商业机器公司的产品。或者,单处理器系统可以被采用。同时被连接到系统总线206的是存储控制器/高速缓冲存储器208,其提供到多个本地存储器260-263的接口。I/O总线桥210连接到系统总线206并且提供到I/O总线212的接口。存储控制器/高速缓冲存储器208和I/O总线桥210可以如图所示被集成。
数据处理系统200可以是逻辑分区的或虚拟的数据处理系统。因此,数据处理系统200可以具有同时运行的多个异构操作系统(或单个操作系统的多个实例)。这些多个操作系统的每一个可以具有在其中执行的任何数量的软件程序。数据处理系统200可以是逻辑分区的或虚拟的,因此不同的PCI I/O适配器220-221、228-229、和236、图形适配器248、和硬盘适配器249可以被分配给不同的逻辑计算实体。在这种情况下,图形适配器248连接用于显示设备(未示出),而硬盘适配器249连接到并且控制硬盘250。
因此,例如,假定数据处理系统200被分成三个逻辑分区,P1、P2、和P3。PCI I/O适配器220-221、228-229、236中的每一个、图形适配器248、硬盘适配器249、主机处理器201-204中的每一个、和来自本地存储器260-263的存储器被分配给三个分区的每一个。在这些例子中,存储器260-263可以采取双列直插式存储器模块(dual in-line memory module,DIMM)的形式。DIMM不是在每DIMM的基础上正常地分配到分区。而是,分区将得到由平台看到的整个存储器的部分。例如,处理器201、来自本地存储器260-263的存储器的某部分、和I/O适配器220、228、和229可以被分配给逻辑分区P1;处理器202-203、来自本地存储器260-263的存储器的某部分、和PCI I/O适配器221和236可以被分配给分区P2;以及处理器204、来自本地存储器260-263的存储器的某部分、图形适配器248和硬盘适配器249可以被分配给逻辑分区P3。
在数据处理系统200中运行的每个操作系统被分配给不同的逻辑分区。因此,在数据处理系统200中运行的每个操作系统仅仅能访问那些在它的逻辑分区之内的I/O单元。因此,例如,高级交互执行体(AIX)操作系统的一个实例可以在分区P1之内被运行,该AIX操作系统的第二个实例(镜像)可以在分区P2之内被运行,以及Linux或IBM i5/OS操作系统可以在逻辑分区P3之内被运行。
连接到I/O总线212的外围部件互连(PCI)主机桥214提供到PCI本地总线215的接口。多个PCI输入/输出适配器220-221通过PCI-PCI桥216、PCI总线218、PCI总线219、I/O槽270、和I/O槽271连接到PCI总线215。PCI-PCI桥216提供到PCI总线218和PCI总线219的接口。PCI I/O适配器220和221被分别放入I/O槽270和271。典型的PCI总线实施支持在四和八个I/O适配器(即用于附加连接器的扩展槽)之间。每个PCI I/O适配器220-221提供在数据处理系统200和输入/输出设备之间的接口,该输入/输出设备例如,举例来说,是数据处理系统200的客户机的其它网络计算机。
附加的PCI主机桥222提供用于附加的PCI总线223的接口。PCI总线223连接到多个PCI I/O适配器228-229。PCI I/O适配器228-229通过PCI-PCI桥224、PCI总线226、PCI总线227、I/O槽272、和I/O槽273连接到PCI总线223。PCI-PCI桥224提供到PCI总线226和PCI总线227的接口。PCI I/O适配器228和229被分别放入I/O槽272和273。用这样的方式,附加的I/O设备,例如,举例来说,调制解调器或网络适配器,通过每个PCI I/O适配器228-229而被支持。因此,数据处理系统200允许连接到多个网络计算机。
存储器映射图形适配器248被插入到I/O槽274中并且通过PCI总线244、PCI-PCI桥242、PCI总线241、和PCI主机桥240连接到I/O总线212。硬盘适配器249被放入连接到PCI总线245的I/O槽275。依次,该总线连接到PCI-PCI桥242,其通过PCI总线241连接到连接到总线212的PCI主机桥240。
PCI主机桥230提供PCI总线231连接到I/O总线212的接口。PCI I/O适配器236连接到通过PCI总线233连接到PCI-PCI桥232的I/O槽276。PCI-PCI桥232连接到PCI总线231。该PCI总线也连接PCI主机桥230到服务处理器邮箱接口和ISA总线访问中转(pass-through)逻辑294和PCI-PCI桥232。服务处理器邮箱接口和ISA总线访问中转逻辑294转发目的地为PCI/ISA桥293的PCI访问。NVRAM存储器292连接到ISA总线296。服务处理器235通过它的本地PCI总线295连接到服务处理器邮箱接口和ISA总线访问中转逻辑294。服务处理器235也通过多个JTAG/I2C总线234连接到处理器201-204。JTAG/I2C总线234是JTAG/扫描总线(见IEEE1149.1)和菲利浦(Phipplips)I2C总线的组合。然而,或者,JTAG/I2C总线234能单独被菲利浦I2C总线或单独被JTAG/扫描总线替代。主机处理器201、202、203、和204的所有的SP-ATTN信号一起连接到服务处理器235的中断输入信号。服务处理器235具有它自己的本地存储器291并且具有对硬件操作面板290的访问。
当数据处理系统200最初通电时,服务处理器235使用JTAG/I2C总线234查询系统(主机)处理器201-204、存储控制器/高速缓冲存储器208、和I/O桥210。在该步骤完成时,服务处理器235了解数据处理系统200的清单和拓扑。在通过查询主机处理器201-204、存储控制器/高速缓冲存储器208和I/O桥210找到的所有元件上,服务处理器235也运行内置自测试(BIST)、基本保证测试(BAT)和存储器测试。任何在BIST、BAT和存储器测试期间检测的故障的错误信息通过服务处理器235汇总并报告。
如果在取出在BIST、BAT和存储器试验期间发现是有故障的元件之后系统资源的有意义的/有效的配置仍然可能,则数据处理系统200被允许进行加载可执行的代码到本地(主机)存储器260-263。然后服务处理器235释放用于运行装载到本地存储器260-263的代码的主机处理器201-204。当主机处理器201-204在数据处理系统200内运行来自各个操作系统的代码时,服务处理器235进入监控模式并且报告错误。通过服务处理器235监控的项目种类包括,例如,冷却风扇速度与运转、热传感器、电源稳压器、和由处理器201-204、本地存储器260-263、和I/O桥210报告的可恢复的和不可恢复的错误。
服务处理器235保存并且报告与在数据处理系统200中所有的监控项目有关的错误信息。服务处理器235也在错误类型和定义的阈值的基础上采取行动。举例来说,服务处理器235可能注意到在处理器的高速缓冲存储器上过多的可恢复错误,并且判断这是硬盘故障的前兆。在这个判断的基础上,服务处理器235可以标记那个资源以在当前运行期间和将来初始程序装载(IPL)期间解配置(de-configuration)。有时IPL也被认为是“引导”或“自举装载”操作。
数据处理系统200可以使用多个各种商业上可得到的计算机系统而被实施。例如,数据处理系统200可以使用可以从国际商业机器公司得到的IBMeServer iSeries Model 840系统而被实施。这样的系统可以支持使用也从国际商业机器公司可以得到的i5/OS操作系统的逻辑分区。
本领域普通技术人员将理解在图2中所描述的硬件能够改变。例如,其他的外围设备,例如光盘驱动器等等,也可以被用于附加至或代替所描述的硬件。所描述的例子并不意味着暗含对与本发明有关的结构的限制。
下面参考图3,本发明可以被实施的示例性逻辑分区平台的方框图被描述。在逻辑分区平台300中的硬件作为例如在图2中的数据处理系统200被实施。逻辑分区平台300包括分区硬件330、操作系统302、304、306、308、和分区管理固件310。操作系统302、304、306、和308可以是同时在逻辑分区平台300上运行的单操作系统的多个拷贝或多个异构操作系统。这些操作系统能够使用IBM的i5/OS被实施,其被设计成与分区管理固件,例如IBM的P-HYPE(分区管理程序)的接口。在这些说明性实施例中i5/OS仅仅作为例子使用。当然,其它类型的操作系统,例如IBM的AIX和Linux,也可以根据具体的实施而被使用。操作系统302、304、306、和308位于分区303、305、307、和309中。管理程序软件是可以用于实施分区管理固件310的软件的例子,并且能从国际商业机器公司得到。固件是机器用户或所有者不能访问的、并且作为物理机的一部分被许可的“软件”。
另外,这些分区也包括分区固件311、313、315、和317。分区固件311、313、315、和317可以使用能从国际商业机器公司得到的初始的自举代码、IEEE-1275标准开放固件、和运行时间提取软件(RTAS)而被实施。当分区303、305、307、和309被实例化时,自举代码的拷贝通过平台固件310被加载到分区303、305、307、和309上。其后,随着自举代码然后装载开放固件和RTAS而传输控制至自举代码。关联至或被分配到分区的处理器然后被分派到分区的存储器以执行分区的固件。
分区硬件330能够包括多个处理器、多个系统存储单元、多个输入/输出(I/O)适配器、和存储单元,例如在图2中所示的。分区硬件被分配给在逻辑分区平台300中的多个不同的分区中的一个,例如分区303、305、307、和309,每个分区对应于操作系统302、304、306、和308中的一个。
分区管理固件310为分区303、305、307、和309进行多个功能和服务以创建和实行逻辑分区平台300的分区。分区管理固件310是管理在底层硬件上的逻辑分区的固件。因此,通过虚拟逻辑分区平台300的所有硬件资源,分区管理固件310允许独立的OS镜像302、304、306、和308同时运行。
服务处理器390可以被用来提供多个各种服务,例如在分区中的平台错误的处理。这些服务器也可以充当服务代理器来把错误报告回到供应商,例如国际商业机器公司。通过硬件管理控制台,例如硬件管理控制台380,控制各种分区的运行。硬件管理控制台380是独立的数据处理系统,通过其系统管理员可以执行包括在分区中的资源再分配的各种功能。
越来越大型的对称的多处理器数据处理系统,例如可以从国际商业机器公司获得的IBM eServer p690、可以从惠普(Hewlett-Packet)公司获得的DHP9000 Superdome企业服务器、和可以从太阳(Sun)微系统公司获得的Sunfire 15K服务器,不被作为单个的大数据处理系统使用。而是,这类数据处理系统被分区并作为较小的系统使用。这些系统也被称作逻辑分区数据处理系统或虚拟数据处理系统。在数据处理系统中逻辑分区的或虚拟的功能允许单个操作系统的多个拷贝或多个异构操作系统在单个物理计算系统平台上同时运行。其中操作系统镜像运行的分区被分配以平台的资源的子集和/或共享。这些平台可分配资源包括一个或更多带有他们的中断管理区域的结构上独特的处理器、系统存储区域、和输入/输出(I/O)适配器。分区的资源通过平台呈现给固件的操作系统镜像。
在平台中运行的操作系统的每个独特的操作系统或镜像被保护不受其它的影响,从而在一个逻辑分区或虚拟机中的软件错误不能影响任何其它分区或虚拟机的正确操作。这种保护通过下述措施来提供:在系统硬件和固件中的分配控制以便平台资源由每个操作系统镜像直接地管理;以及确保任何镜像都不能控制还没有分配给该镜像的任何资源的机制。另外,在操作系统已分配资源的控制中的软件错误被防止影响任何其它镜像资源。因此,每个操作系统镜像直接地控制在平台中的一组独特的可分配资源。
关于在逻辑分区数据处理系统中的硬件资源,这些资源在多个各种分区中被共享。这些资源可以包括,例如,输入/输出(I/O)适配器、存储器DIMM、非易失性随机存取存储器(NVRAM)、和盘驱动器。在不需要不得不给整个物理计算实体循环通电的情况下,每个分区可以被反复地引导和切断。
逻辑分区的或虚拟的数据处理系统也可以是单级逻辑分区系统、多级逻辑分区系统、和/或虚拟数据处理系统。在多级系统中,每个逻辑计算实体能依次被分成多个“第二级”实体。第二级实体同样地能被分成多个“第三级”实体,等等。包括多个第二级实体的逻辑计算实体在此指的是“第一级”逻辑计算实体。
被子划分成第二级实体的实体的例子是在IBM z/VM操作系统运行的IBM System(系统)z9中的逻辑分区,该两种产品都能从国际商业机器公司获得。在这样的分区中,z/VM操作系统支持多个第二级实体(虚拟机),其每一个都能够运行任何在System z9上直接运行的操作系统,例如另一个z/VM操作系统的镜像、用于z9和zSeries操作系统的Linux、可以从国际商业机器公司获得的z/OS操作系统、或其它。
为了清楚起见,在此使用的术语“逻辑分区”指的是不支持任何例如虚拟机的第二级实体的逻辑分区、或支持例如虚拟机的第二级实体的第一级逻辑分区。
为了清楚起见,在此将使用的术语“虚拟机”指的是在多级逻辑分区数据处理系统中第二级或更高的逻辑计算实体。然而,本发明的实施例的方面同样地适用于第一级计算实体,在那里本发明的方面同样地适用于包含第一级计算实体的虚拟机,例如由控制整体的物理计算实体、以及嵌套的(nested)逻辑计算实体的管理程序创建的虚拟机,这应该理解为本发明的实施例适用于这样的第一级虚拟机以及嵌套的逻辑计算实体。
如在此使用的,“嵌套的逻辑计算实体”是被包括在另一个逻辑计算实体内的任何第二级或更高的实体,例如虚拟机。例如,如果第一级实体包括多个第二级实体,则每一个第二级实体是嵌套的逻辑计算实体。如在此使用的,术语“逻辑计算实体”指的是逻辑分区或虚拟机。
如在此使用的术语“逻辑分区数据处理系统”指的是其中具有第一级逻辑分区、具有或者不具有任何第二级(或更高的)虚拟机的数据处理系统。术语“逻辑分区数据处理系统”在此也能用于指其中物理计算实体能被分成多个虚拟机的虚拟数据处理系统。
在逻辑分区数据处理系统中每个逻辑计算实体需要至少一个唯一标识符来唯一地标识在系统中的多个计算实体中的实体。因为逻辑分区数据处理系统包括多个这样的实体,所以当I/O适配器端口共享(例如,为了经济的或物理空间的原因)时,用于标识每个计算实体的底层的物理硬件(例如,I/O适配器端口)的标识符的使用不提供用于每个实体的唯一标识。此外,为包括数百、数千、乃至数百万计算实体的系统中的每个计算实体手动地创建足够数量的唯一标识符是麻烦的和不实际的。
本发明的方面提供一种用于为逻辑计算实体自动地产生世界范围唯一的标识符的改良的计算机实施的方法、装置、和计算机程序产品。典型地唯一标识符包括三个部分。标识符的第一部分是包括公司标识符的前缀。公司标识符标识数据处理系统的生产商。跟随公司标识符之后的是根标识符。
根标识符唯一地标识来自生产商的具体的数据处理系统。换句话说,所有由具体的公司生产的数据处理系统共享公共的公司标识符,并且唯一的根标识符按序列号的方式区分由同一公司生产的一个系统与另一个系统。
根标识符后跟的是能够用于在具体的数据处理系统中唯一地标识逻辑计算实体的后缀。在系统中用于每个实体的每个标识符将共享公共的公司标识符。在同一系统内的逻辑计算实体同样也将共享公共的根标识符的部分。然而,在同一数据处理系统中的每个逻辑计算实体需要唯一的后缀,该后缀用来区分该实体与在数据处理系统中每一个共享I/O适配器端口的其它每个实体。
根据本发明的方面,在根标识符和后缀中的位组合包括用于标识计算系统中的逻辑计算实体的唯一标识符。通过标识数据处理系统能够支持的逻辑计算实体的数量以形成多个被标识的实体,为逻辑分区数据处理系统产生唯一标识符。基于被标识的实体的数量,一组唯一标识符被产生。该组唯一标识符中的唯一标识符被分配给对应于在数据处理系统运行期间被初始化的共享I/O适配器端口的每一个的每个逻辑计算实体。
下面参考图4,其根据本发明的说明性实施例说明自动地产生唯一标识符的过程的示例性方框图。公司标识符,例如公司标识符400,标识数据处理系统的生产商。唯一的公司标识符被分配给每个生产数据处理系统的公司。根据这个说明性例子,公司标识符400是数据处理系统405的生产商的24位标识符。
在这些例子中被分配给公司标识符的位数被限制。例如,这种限制在如光纤信道标准的协议标准中出现。可得到的公司标识符的总数同样被限制。管理公司标识符分配的当局(例如,电气电子工程师学会,或IEEE)要求每一个公司有效地使用所有分配的公司标识符。因此,在申请新的公司标识符之前,公司将使用最大比例的根和后缀标识符的可能的位组合。
在数据处理系统的生产期间,根生成器,例如根生成器410,为在多个数据处理系统中的每个数据处理系统产生根标识符。根生成器410基于算法产生根标识符的值。用于产生根标识符值的算法取决于根标识符被分配的数据处理系统的特殊类型,如在下面图10中更详细地描述所示。在生产过程期间根生成器410把为具体数据处理系统而产生的根标识符值存储到机器的非易失性存储器中。
根据如图4所示的说明性例子,公司标识符400标识数据处理系统405的生产商。在生产数据处理系统405的过程期间,根生成器410产生根标识符420。在这些例子中,根生成器410在由具体生产商生产的多个系统内,产生用于标识数据处理系统405的唯一的根标识符420。数据处理系统405可以是任何计算设备,如在图1-3中例示。
响应于接收在数据处理系统405中对I/O适配器端口的给定共享访问的逻辑分区的唯一标识符的请求,分区初始化运行时间430产生标识逻辑分区的唯一标识符440。分区初始化运行时间430连接唯一标识符440和公司标识符400以及根标识符420,以形成唯一的64位标识符450。64位标识符450唯一地标识与数据处理系统405关联的逻辑计算实体。
响应于接收虚拟机标识符的请求,第二级分区初始化运行时间460基于算法产生唯一的虚拟机标识符470。第二级分区初始化运行时间460连接唯一标识符440和公司标识符400以及根标识符420形成唯一的64位标识符480。64位标识符480唯一地标识与数据处理系统405关联的逻辑计算实体。
用于产生唯一的逻辑计算实体标识符,例如唯一标识符440和470的两个分区初始化规程的例子,在图11和12中示出。
根据本发明的一个实施例,一组根标识符在每个系统的生产期间被分配给每个物理数据处理系统。该组根标识符包括一个或多个根标识符。被分配给具体的数据处理系统的根标识符值的数量随着具体机器的计算能力而变化。因此,能支持多个逻辑分区和虚拟机的数据处理系统比能支持较少量逻辑分区和虚拟机的较小的数据处理系统被分配更多数量的根标识符值。
根据本发明,分区初始化运行时间430和第二级分区初始化运行时间460在能产生用于标识逻辑分区和虚拟机两者的唯一标识符的单个分区初始化运行时间组件中体现。然而,本领域技术人员将轻易地认识到将这个规程分成两个规程也是可能的,其一个在第一级产生用于逻辑分区和/或虚拟机的唯一标识符,以及其另一个产生用于更高级计算实体的唯一标识符。
根据本发明的方面,根生成器410自动地产生用于在数据处理系统的生产期间分配给多个数据处理系统中每个物理数据处理系统的多个根标识符。两组根标识符被产生。一组根标识符值128个一组(例如)按递减次序从值223开始被分配,并且继续到223-128、223-256等等。因为在每一组128个根标识符值中的第一根标识符值递减128,所以每个这样的第一24位根标识符的最左边七位总是全部为零。另一组根标识符值按递增次序从值0开始被分别分配。在该组中的下一个根标识符值等于先前分配的根标识符值加1,等等。
例如,根据本发明的一个实施例,由根生成器410产生的第一根标识符是111111111111111110000000,或十六进制的FFFF80。换句话说,每个物理数据处理系统在该范围内从最高值开始被分配根值并且对于每一机器递减128。用这种方式,每个数据处理系统在该范围内从最高值开始分配根值并且对于每一机器递减128。因此,根据本发明的这个示例性实施例,每个数据处理系统事实上在生产过程中分配用于根标识符的128个可能值,由产生唯一标识符的系统使用。
根据本发明的说明性例子,一组唯一标识符在数据处理系统第一次初始化或配置时在种子标识符值的基础上产生。例如,当数据处理系统作为逻辑分区数据处理系统被初始化设置时产生该组唯一标识符。种子标识符是通过根生成器,例如根生成器410为具体的数据处理系统产生的根值。
根据本发明的另一个示例性实施例,在数据处理系统已经初始化之后该组唯一标识符中的唯一标识符产生。例如,在已经作为逻辑分区数据处理系统运行的逻辑分区数据处理系统中当分区创建并且给定共享对一个或多个I/O适配器端口的访问时,而不是当系统被第一次初始化并且分区时,一个或多个唯一标识符被产生。在这种情况下,当逻辑计算实体被定义或初始化时来自该组唯一标识符的唯一标识符被分配给具体的逻辑计算实体。或者,直到逻辑计算实体被初始化之后唯一标识符才被分配给新添加的逻辑计算实体。例如,当逻辑计算实体正被修改时唯一标识符能分配给逻辑计算实体。
还在本发明的另一个示例性实施例中,已经被分配唯一标识符的逻辑计算实体以后可以从分区运行时间中要求附加的唯一标识符。例如,当逻辑计算实体开始使用附加的共享I/O适配器时,逻辑计算实体可以要求附加的唯一标识符。在这种情况下,逻辑计算实体要求用于由每个I/O适配器使用的唯一标识符。因此,附加的唯一标识符分配给已经分配一个或多个唯一标识符的逻辑计算实体。
根据本发明的示例性实施例,由数据处理系统支持的多个计算实体对应于每个共享I/O端口被唯一地标识,以形成多个被标识的实体。一组唯一标识符在被标识的实体数量和由每个计算实体访问的共享I/O端口的数量的基础上被产生。来自该组唯一标识符的唯一标识符的子集被分配给每个计算实体。唯一标识符的子集包括一个或多个唯一的标识符。不同的唯一标识符与在数据处理系统的运行期间由计算实体访问的每个I/O端口关联。
应该注意到,随着分配每个唯一标识符给逻辑计算实体,该分配必须通过数据处理系统在非易失性存储器中记录以便通过系统的循环通电保存。因为为了关联访问特权与具体的逻辑计算实体,唯一标识符被用在网络结构和与它相连接的外部设备内,所以必需要求确保同一标识符总是与同一逻辑计算实体相关联。
本发明给出的实施另外可以选择唯一标识符与给定的I/O适配器端口是否永久地关联(如果不能永久地与I/O适配器端口关联,则逻辑计算实体的资源访问特权允许在通过实体可访问的I/O端口当中“浮动”)。当资源访问特权在结构和它的连接设备中已经被适当地调整时,仅仅通过系统管理员的明确许可,唯一标识符与逻辑计算实体的关联可以被中断。
图5是根据本发明的说明性实施例说明包括40位对于公司唯一的标识符的64位唯一标识符的格式的示例性方框图。最左边的24位包括24位公司标识符520。如上所述,公司标识符520标识每个数据处理系统的生产商。公司标识符520的值是恒定的。这个值由中央当局分配给每个计算系统的生产商。在本发明的示例性实施例中,公司标识符520包括64位唯一标识符510的24位的前缀。
40位标识符530唯一地标识在具体的数据处理系统内的具体的逻辑分区或虚拟机。40位标识符530由根标识符和后缀组成。取决于具体算法所使用的位数,40位标识符能支持用于逻辑分区和虚拟机的广泛地不同的多个标识符的组合,产生用于在数据处理系统内的逻辑计算实体的唯一标识符。
图6是根据本发明的说明性实施例说明包括在小的逻辑分区数据处理系统中用于逻辑分区的16位标识符的64位唯一标识符的格式的示例性方框图。小的数据处理系统是期望支持相对少量逻辑计算实体的系统。在这个说明性例子中,小的逻辑分区数据处理系统是能够支持至多65,536个逻辑分区的系统。
公司标识符610标识生产小的数据处理系统的公司。单个根标识符620分配给具体的数据处理系统。
16位后缀630包括在数据处理系统中用于逻辑分区的标识符。第一唯一标识符被初始化为全零。第一标识符递增1以形成下一个标识符。用这样的方式,在16位标识符中可以得到用于标识逻辑分区的位的216或65,536种可能的组合640。
响应于接收用于标识逻辑分区的唯一的实体标识符的请求,16位唯一标识符630被产生。唯一标识符在数据处理系统中的多个逻辑分区内标识逻辑分区。分区初始化运行时间连接用这样的方式产生的唯一的16位标识符630和公司标识符610以及根620,以形成64位用于逻辑分区的唯一标识符。注意如上所述,所有65,536个标识符在系统初始化时已经产生,并且当每个分区初始化时由分区运行时间分配给分区。
分区初始化运行时间能产生216或65,536个不同的唯一的64位逻辑分区标识符来标识逻辑分区。因此,在图6中说明的格式足以在支持不超过65,536个逻辑分区的数据处理系统中产生唯一标识符。
根据本发明的一个实施例,数据处理系统是IBM pSeries机。在本发明的另一个实施例中,数据处理系统是IBM iSeries机。根据所示的例子,公司标识符400包括24位并且根标识符420也包括24位。然而,根据本发明的方面,公司标识符不局限于包括24位。公司标识符可以包括用于标识具体的数据处理系统的公司和/或生产商的可变的位数。
同样地,根标识符不局限于包括24位。根据本发明的方面,根标识符可以包括用于标识具体数据处理系统的可变的位数。
图7是根据本发明的说明性实施例说明包括在大的逻辑分区数据处理系统中用于标识逻辑分区的23位标识符的64位唯一标识符的格式。在这个说明性例子中,大的逻辑分区数据处理系统是能够支持8,388,608个逻辑计算实体的系统。
用于根标识符720的格式被示出,在生产期间通过根生成器,其根的最左边17位725是恒定的并且最右边(最低有效)7位被初始化为零。该最右边7位通过分区初始化运行时间设置为任何值。由根生成器分配的对应下一个数据处理系统的下一个根标识符递减128。因此,由根生成器产生的每个根标识符能够被分成27或128个可能的不同的根标识符。根的最右边7位728与16位后缀730组合形成23位标识符735。因此,用于标识符的位的223或8,388,608种可能的组合740给出。用这样的方式,分区初始化运行时间在能够支持8,388,608个不同的这种实体的数据处理系统中能够产生用于逻辑计算实体的8,388,608个不同的标识符。
通过初始化23位标识符735的全部23位为零分区初始化运行时间产生第一23位唯一标识符。第一唯一标识符加1以形成下一个标识符。
分区初始化运行时间连接用这样的方式产生的23位标识符与公司标识符710以及24位根720的最左边的17位从而形成用于逻辑分区的64位唯一标识符。因此分区初始化运行时间能产生用于逻辑分区的223或8,388,608个不同的唯一的64位标识符。
在图7中说明的格式足以在支持直到8,388,608个逻辑分区和/或虚拟机的逻辑分区数据处理系统中产生唯一标识符。根据本发明的一个实施例,如上所述数据处理系统是IBM System z9或IBM zSeries机。
图8是根据本发明的说明性实施例说明包括用于标识在逻辑计算实体内产生的第二级逻辑计算实体,例如在逻辑分区内例示的虚拟机的23位唯一标识符的64位唯一标识符的格式。
在该说明性实施例中,说明用于在包括多级逻辑计算实体的数据处理系统中产生唯一标识符的格式,其中单个实体本身包括多个第二级实体,其中第二级实体能够包括第三级实体,等等。
如在图8中,根生成器分配根标识符给最右边7位初始化为零的数据处理系统。然而,这7位通过分区初始化运行时间可以被设置为任何值。由根生成器分配给下一个数据处理系统的下一个根标识符递减128。因此,由根生成器产生的每个根标识符能够被子划分为27、或128个可能的不同的根标识符。用于根标识符820的格式被示出,系统使用的所有的根值中,根820的最左边的17位是恒定的。根的最右边7位828与16位后缀830组合形成23位标识符835。
23位标识符的最左边的8位形成第一级标识符840。因此,可以得到第一级标识符的28或256种可能的组合。23位标识符的最右边15位形成用于标识与256个可能的第一级逻辑分区中的一个相关联的虚拟机的标识符。
因此可以得到虚拟机标识符845的215或32,768种可能的组合。所以,在图8中的唯一标识符的格式适于在能够支持与在256个可能的第一级逻辑分区中的每个第一级逻辑分区关联的、不超过256个第一级逻辑分区和32,768个虚拟机的数据处理系统中产生唯一标识符。
在本发明的另一个实施例中,数据处理系统要求超过256个第一级逻辑分区。在这种情况下,为了标识第一级逻辑分区,23位标识符的最左边的更多数量的位能够被分配。例如,如果系统需要支持512个第一级逻辑分区,则23位标识符835的开头9位能够分配给第一级分区标识符840。在这种情况下,可以得到用于标识第一级逻辑分区的标识符的512种可能的组合。然而,用于标识与每个第一级逻辑分区关联的虚拟机的虚拟机标识符只能得到214或16,384种可能的组合。
同样地,如果具体的系统将支持少于256个第一级逻辑分区,则23位标识符835的最左边的更少数量的位能够分配给第一级分区标识符840。例如,如果23位标识符835的开头7位被分配给第一级分区标识符840,则可得到第一级分区标识符的27或128种可能的组合。在这种情况下,对于与每个第一级分区标识符840关联的虚拟机,存在用于产生唯一的虚拟机标识符的位的216或65,536种可能的组合。
因此,根据本发明的不同的方面,为了适应第一级逻辑分区变化的数量和与每个第一级逻辑分区关联的虚拟机变化的数量,在23位唯一标识符中的位的组合能够改变。
图9是根据本发明的说明性实施例说明用于标识不包括其它逻辑计算实体的逻辑计算实体以及包括其它实体的逻辑计算实体两者的64位唯一标识符的格式的示例性方框图。包括虚拟机的逻辑计算实体是在它本身内包括其它实体的逻辑计算实体。
根生成器分配根标识符的多个值给能够支持具有和不具有关联的虚拟机的逻辑分区的数据处理系统。在这个说明性例子中,根920的最右边7位928与16位后缀930组合以形成23位唯一标识符935。24位根920的最右边17位允许用于根标识符的217个不同的值。
23位标识符的最左边的8位形成第一级分区标识符940。因此,可以得到第一级标识符的28或256种可能的组合。23位标识符的最右边15位形成用于与256个可能的第一级逻辑分区的一个相关联的虚拟机的标识符。
为了提供用于不具有关联的虚拟机的逻辑分区的唯一标识符,最右边2位是预留的,并且在此情况下要求是零。因此任何被用于虚拟机的标识符必须具有带有非零值的最右边2位中的一位或两位(见虚拟机标识符945)。因此虽然15位的215或32,768种组合是可能的,但用于标识与第一级逻辑分区关联的虚拟机,仅仅其中的四分之三,三倍的213,或24,576种可能的组合是可用的。
最右边2位950等于零的23位唯一标识符被分配给不具有任何关联的虚拟机的逻辑分区。因此,较低的2位950以零结尾的23位唯一标识符935的最左边的21位形成21位缺省标识符960。虽然在23位标识符中存在位的223或8,388,608种可能的组合,但仅仅这些的四分之一,或2,097,152种,最右边2位以零结尾。因此,对于用于不具有关联的虚拟机的逻辑分区的21位缺省标识符,可以得到2,097,152种可能的标识符组合。
在本发明的另一个实施例中,数据处理系统可以支持不具有关联虚拟机的较少量的逻辑分区。在这种情况下,只有最右边3位以零结尾的23位组合分配给缺省标识符。在这种情况下,虽然在23位标识符中存在位的223或8,388,608种可能的组合,但只有那些组合的八分之一或1,048,576的最右边3位以零结尾。因此,可以得到用于标识不具有关联虚拟机的逻辑分区的1,048,576种可能的缺省标识符。同样地,可以得到用于产生虚拟机标识符的更大数量的位的组合。
根据本发明的实施例,如上所述,为了适应更大数量的第一级逻辑分区和更少数量的虚拟机或更少数量的第一级逻辑分区和更大数量的虚拟机,用于第一级分区标识符和虚拟机标识符的位的数量是能够改变的。
图10是根据本发明的说明性实施例概述本发明用于产生用于数据处理系统的唯一的根标识符的示例性操作的流程图。通过在图4中的根生成器410,过程被实施。
根生成器初始化24位根标识符中的全部24位为零,以形成小的系统根标识符(步骤1010)。根生成器初始化最左边的17位全部为1并且初始化最右边7位全部为零,以形成大系统根标识符(步骤1020)。在这个说明性例子中,大系统是能够支持超过65,536个逻辑计算实体的数据处理系统,以及小的系统根能够支持不超过65,536个逻辑计算实体。
根生成器判断请求唯一标识符的数据处理系统是否是小的物理系统(步骤1030)。如果数据处理系统是小的,则根生成器分配第一小的系统根标识符给该机器(步骤1040)。根生成器使小系统根递增1(步骤1050),以形成下一个可用的小系统根。过程然后回到步骤1030。
现在返回到步骤1030,如果进行请求的数据处理系统不是小的物理系统,则根生成器分配24位大系统根给该机器(步骤1060)。根生成器使大系统根递减128(步骤1070),以形成下一个可用的大系统根。过程回到步骤1030。
图11是根据本发明的说明性实施例概述本发明用于产生用于在逻辑分区数据处理系统中标识逻辑分区的唯一标识符的示例性操作的流程图。过程通过在图4中的分区初始化运行时间430实施。
分区初始化运行时间根据具体的数据处理系统的硬件类型定制。分区初始化运行时间使用在图4中说明的示例性规程,以在相对小的数据处理系统中产生多个唯一标识符。在此说明性例子中,逻辑分区数据处理系统能够支持不超过65,536个唯一的逻辑分区。
分区初始化运行时间初始化16位唯一标识符的全部位为零(步骤1010)。分区初始化运行时间判断数据处理系统是否请求需要唯一标识符的新的分区(步骤1120)。如果没有作出新的分区请求,则过程回到步骤1120,直到作出新的分区请求。
如果新的分区请求已经由数据处理系统提出,分区初始化运行时间构造使用16位唯一标识符的64位标识符并且分配该64位标识符给新的分区(步骤1130)。16位唯一标识符递增1(步骤1040),以形成下一个16位唯一标识符。过程回到步骤1120。为了产生多个唯一标识符,步骤1120-1140被重复。每个用这样的方式产生的唯一的64位标识符分配给在多个逻辑计算实体中的不同的逻辑计算实体。过程继续,没有终止点,直到唯一标识符的所有可能的组合已经被使用。
当接收对于在包括第一级逻辑分区和虚拟机的大数据处理系统中的逻辑计算实体的唯一标识符的请求时,应该判断逻辑计算实体是否是第一级逻辑分区。如果逻辑计算实体是第一级逻辑分区,则产生23位唯一标识符以标识第一级逻辑分区,而不是如上所说明的16位唯一标识符。
图12是概述根据本发明的说明性实施例用于产生用于在大数据处理系统中标识第一级逻辑计算实体和第二级实体的唯一标识符的本发明的示例性操作的流程图。过程由在图4中的第二级分区初始化运行时间460实施。在这些说明性例子中,逻辑分区数据处理系统能够支持超过65,536个唯一的逻辑分区。
第二级分区初始化运行时间把21位缺省的标识符置为全零(步骤1210)以形成缺省的标识符。第二级分区初始化运行时间把所有分区的15位第二级分区标识符置为000000000000001(步骤1220)。换句话说,第一15位的第二级分区标识符初始化为1值并且从该处递增,以保证最右边2位永不同时为零。
第二级分区初始化运行时间判断是否已经由数据处理系统提出新的分区请求(步骤1230)。如果没有提出新的分区请求,则过程保持在步骤1230,直到提出新的分区请求。
如果已经提出新的分区标识符请求,则判断请求的新的分区是否是虚拟机(步骤1235)。如果新的分区不是虚拟机,则第二级分区初始化运行时间构造使用缺省标识符的64位标识符(步骤1240)。64位标识符分配给新的分区(步骤1245)。第二级分区初始化运行时间把缺省的标识符递增4(步骤1250)以形成下一个缺省的标识符。过程回到步骤1230。
现在返回到步骤1235,如果判断新的分区是与第一级逻辑分区关联的虚拟机,则第二级分区初始化运行时间使用第二级分区标识符以及请求逻辑分区标识符构造64位标识符(步骤1260)。第二级分区初始化运行时间分配该64位分区标识符给新的虚拟机(步骤1270)。第二级分区初始化运行时间把15位第二级标识符递增1(步骤1280)。
第二级分区初始化运行时间判断第二级标识符在最右边2位是否以零结尾(步骤1285)。如果判断最右边2位都是零,则15位第二级标识符递增1(步骤1290)。过程然后回到步骤1285。直到在步骤1285判断第二级标识符在最右边2位不是以零结尾时,过程回到步骤1230。过程继续,没有终止点,直到唯一标识符的所有可能的组合已经使用。
因此,本申请发明的方面基于由具体的数据处理系统能够支持的逻辑分区数量,自动地分配唯一标识符给逻辑分区。唯一标识符基于数据处理系统的生产期间分配的单个唯一的物理系统标识符而产生。
基于由系统支持的逻辑分区的期望数量,通过对每个物理系统内可以得到的唯一标识符的数量的限制,唯一标识符的范围被有效使用。换句话说,支持相对少量逻辑分区的物理系统被分配相对少量的唯一标识符。能够支持相对多个逻辑分区、但是在更有限的数量中构造和销售的物理系统,被分配相对多个唯一标识符。
因此,本申请发明的方面基于系统能够支持的逻辑计算实体的数量,允许有效的并且自动的分配多个唯一标识符给数据处理系统。由逻辑分区数据处理系统支持的多个逻辑分区和/或虚拟机被分配标识符以便当连接在网络结构内时在世界范围内唯一地标识。
本发明能够采取完全以硬件实施、完全以软件实施、或包括硬件和软件元件两者实施的形式。在优选的实施例中,本发明在软件中实施,其包括但是不局限于固件、操作系统软件,等等。
此外,本发明能够采取计算机程序产品的形式,其可以从提供程序代码的计算机可使用的或计算机可读的介质访问,用于通过计算机或任何指令执行系统使用或与其结合。为了描述,计算机可使用的或计算机可读的介质可以是任何有形的装置,其能够贮存、存储、传递、传播、或传输程序,用于通过指令执行系统、装置、或设备使用或与其结合。
介质可以是电子的、磁的、光学的、电磁的、红外线的、或半导体的系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前例子包括光盘-只读存储器(CD-ROM)、光盘-可读/写(CD-R/W)和DVD。
适合于存储和/或运行程序代码的数据处理系统包括至少一个通过系统总线直接地或间接地连接到存储元件的处理器。存储元件可以包括在程序代码的实际执行期间使用的本地存储器、海量存储器、和提供至少一些程序代码的临时存储的高速缓冲存储器,在运行期间,为了减少次数,代码必须从海量存储器中提取。
输入/输出(I/O)设备(包括但不局限于键盘、显示器、指示设备、等等)或者直接地或者通过介入的I/O控制器连接到系统。
通过介入专用的或公用的网络,网络适配器也可以连接到系统从而使数据处理系统能连接到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是一些目前可得到的网络适配器类型。
为了说明和描述,并且不是意欲穷尽或限制本发明,本发明的描述已经用公开的形式给出。对于本领域普通技术人员来说,许多修改和改变是显而易见的。实施例被选择和描述,从而更好地解释本发明的原则、实际应用,和使其它的本领域普通技术人员能领会本发明的多个具有多个各种修改的适合于构想的具体使用的各种实施例。

Claims (13)

1.一种产生用于逻辑分区数据处理系统的唯一标识符的计算机实施的方法,该计算机实施的方法包括:
标识由数据处理系统支持的多个逻辑计算实体,以形成多个被标识的逻辑计算实体;
接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;
响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;
响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,产生标识该第一逻辑计算实体的23位唯一标识符,基于该23位唯一标识符产生唯一的64位标识符;
该唯一的64位标识符在数据处理系统的运行期间被分配给该第一逻辑计算实体。
2.根据权利要求1所述的计算机实施的方法,其中,该唯一标识符递增1,以及还包括:
基于该递增后的唯一标识符,重复权利要求1所述的步骤,以产生下一个唯一的64位标识符,其中,每个唯一的64位标识符被分配给在多个逻辑计算实体中的不同的逻辑计算实体。
3.根据权利要求1所述的计算机实施的方法,其中,该唯一的64位标识符在第一逻辑计算实体被初始化之后被分配给第一逻辑计算实体,其中,该第一逻辑计算实体是在数据处理系统中新添加的逻辑计算实体。
4.根据权利要求1所述的计算机实施的方法,还包括:
把可用的根标识符分配给在多个数据处理系统中的一个数据处理系统,其中,所分配的根标识符标识在多个数据处理系统中的该一个数据处理系统;以及
把下一个可用的根标识符分配给下一个数据处理系统,其中,所分配的根标识符递增1,以形成下一个可用的根标识符。
5.一种产生用于逻辑分区数据处理系统的唯一标识符的计算机实施的方法,该计算机实施的方法包括:
标识由数据处理系统支持的多个逻辑计算实体,以形成多个被标识的逻辑计算实体;
接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;
响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;以及
响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,判断该第一逻辑计算实体是否是第一级逻辑分区;响应于该第一逻辑计算实体是第一级逻辑分区的判断,产生标识该第一逻辑计算实体的23位唯一标识符,其中,唯一的64位标识符基于该23位唯一标识符而产生,
该唯一的64位标识符在该数据处理系统的运行期间被分配给该第一逻辑计算实体。
6.根据权利要求5所述的计算机实施的方法,其中,该23位唯一标识符的低2位全部是零,以及其中,该23位唯一标识符的高21位形成缺省标识符。
7.根据权利要求6所述的计算机实施的方法,还包括:
把该缺省标识符递增4,以形成下一个缺省标识符,其中,利用该下一个缺省标识符来产生下一个唯一的64位标识符。
8.根据权利要求5所述的计算机实施的方法,其中,该23位唯一标识符的低3位全部是零,以及其中,该23位唯一标识符的高20位形成缺省标识符,以及其中,该缺省标识符标识第一级逻辑分区。
9.根据权利要求5所述的计算机实施的方法,还包括:
响应于该逻辑计算实体不是第一级逻辑分区的判断,产生23位唯一标识符,其中,该唯一标识符包括8位第一级逻辑分区标识符和15位虚拟机标识符,以及其中,该23位唯一标识符标识虚拟机。
10.根据权利要求9所述的计算机实施的方法,其中,该23位标识符的低2位不是两者都为零。
11.根据权利要求5所述的计算机实施的方法,还包括:
把可用的根标识符分配给在多个数据处理系统中的数据处理系统,其中,该根标识符标识在多个数据处理系统中的具体的数据处理系统;以及
把该根标识符递减128,以形成下一个根标识符;以及
把该下一个根标识符分配给下一个数据处理系统。
12.根据权利要求11所述的计算机实施的方法,其中,通过把24位根标识符的高17位初始化为全1,并且把该根标识符的低7位初始化为全零,而产生第一根标识符。
13.一种用于产生用于逻辑分区数据处理系统的唯一标识符的装置,该装置包括:
标识装置,标识由数据处理系统支持的多个逻辑计算实体,以形成多个标识的逻辑计算实体;
请求接收装置,接收对于用于标识第一逻辑计算实体的唯一实体标识符的请求;
16位唯一标识符产生装置,响应于确定被标识逻辑计算实体的数量小于65536,产生16位唯一标识符,其中,该唯一标识符标识该第一逻辑计算实体,以及将该唯一标识符连接到公司标识符和根标识符,以形成唯一的64位标识符;
23位唯一标识符产生装置,响应于确定被标识逻辑计算实体的数量大于65536且小于等于8388608,产生标识该第一逻辑计算实体的23位唯一标识符,基于该23位唯一标识符产生唯一的64位标识符;
标识符分配装置,该唯一的64位标识符在数据处理系统运行期间被分配给该第一逻辑计算实体。
CN2007100058731A 2006-02-28 2007-02-28 用于为逻辑分区产生唯一标识符的方法和装置 Active CN101030190B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/364,466 2006-02-28
US11/364,466 US7693811B2 (en) 2006-02-28 2006-02-28 Generating unique identifiers for logical partitions

Publications (2)

Publication Number Publication Date
CN101030190A CN101030190A (zh) 2007-09-05
CN101030190B true CN101030190B (zh) 2010-05-26

Family

ID=38445286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100058731A Active CN101030190B (zh) 2006-02-28 2007-02-28 用于为逻辑分区产生唯一标识符的方法和装置

Country Status (4)

Country Link
US (1) US7693811B2 (zh)
JP (1) JP5160103B2 (zh)
CN (1) CN101030190B (zh)
TW (1) TWI453674B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478873B2 (en) * 2006-03-08 2013-07-02 Harmonic Inc. Techniques for use of a system-unique identifier in an architecture having a file system utilizing distributed metadata servers
JP4882845B2 (ja) * 2007-04-19 2012-02-22 株式会社日立製作所 仮想計算機システム
JP4926120B2 (ja) * 2007-04-26 2012-05-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ処理システムおよびデータ処理方法
EP2207093A4 (en) * 2007-10-05 2012-12-26 Ibm SYSTEM AND METHOD FOR DATA PROCESSING
US7739434B2 (en) * 2008-01-11 2010-06-15 International Business Machines Corporation Performing a configuration virtual topology change and instruction therefore
US7734900B2 (en) * 2008-01-11 2010-06-08 International Business Machines Corporation Computer configuration virtual topology discovery and instruction therefore
US20100083251A1 (en) * 2008-09-12 2010-04-01 Hyper9, Inc. Techniques For Identifying And Comparing Virtual Machines In A Virtual Machine System
TWI463304B (zh) * 2009-03-13 2014-12-01 Ibm 用於在一硬體管理控制台及一邏輯分割區間通信之以超管理器為基礎之設施
TWI550407B (zh) * 2009-04-22 2016-09-21 普安科技股份有限公司 資料存取的方法及執行該方法的裝置
US9495190B2 (en) 2009-08-24 2016-11-15 Microsoft Technology Licensing, Llc Entropy pools for virtual machines
WO2011049553A1 (en) * 2009-10-20 2011-04-28 Hewlett-Packard Development Company, L.P. Universally unique semantic identifiers
US8924715B2 (en) * 2010-10-28 2014-12-30 Stephan V. Schell Methods and apparatus for storage and execution of access control clients
US9009456B2 (en) * 2012-04-19 2015-04-14 International Business Machines Corporation Automatic update of persistent boot parameter storage
US9854035B2 (en) 2013-05-28 2017-12-26 International Business Machines Corporation Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
US10044799B2 (en) * 2013-05-28 2018-08-07 International Business Machines Corporation Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US10140141B2 (en) * 2013-12-06 2018-11-27 Hitachi, Ltd. Measuring accumulated load values of first level and second level virtual machines for modifying resource allocation
US9658897B2 (en) 2014-06-23 2017-05-23 International Business Machines Corporation Flexible deployment and migration of virtual machines
US9473353B2 (en) 2014-06-23 2016-10-18 International Business Machines Corporation Cluster reconfiguration management
FR3032537B1 (fr) * 2015-02-09 2018-03-16 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede d'execution d'une requete d'echange de donnees entre des premier et deuxieme espaces d'adressage physiques disjoints de circuits sur carte ou puce
US10635648B2 (en) * 2016-11-30 2020-04-28 Nutanix, Inc. Entity identifier generation in distributed computing systems
US10579437B2 (en) 2016-12-01 2020-03-03 International Business Machines Corporation Migrating a logical partition with a native logical port
US10908832B2 (en) * 2017-10-31 2021-02-02 Micron Technology, Inc. Common pool management
CN112653746B (zh) * 2020-12-16 2023-02-28 烽火通信科技股份有限公司 一种并发创建对象存储设备的分布式存储方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1186286A (zh) * 1996-12-26 1998-07-01 陈旺萍 商品防伪方法及标识
CN1292529A (zh) * 1999-09-28 2001-04-25 国际商业机器公司 管理计算环境的分区组的方法,系统和程序产品
US6813686B1 (en) * 2000-06-27 2004-11-02 Emc Corporation Method and apparatus for identifying logical volumes in multiple element computer storage domains

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH0823856B2 (ja) * 1991-02-22 1996-03-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムおよびその動作方法
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US5659756A (en) * 1995-03-31 1997-08-19 International Business Machines Corporation Method and system for providing access to logical partition information on a per resource basis
US6219799B1 (en) * 1997-07-01 2001-04-17 Unisys Corporation Technique to support pseudo-names
US6243767B1 (en) * 1998-06-02 2001-06-05 Adaptec, Inc. System for register partitioning in multi-tasking host adapters by assigning a register set and a unique identifier in each of a plurality of hardware modules
US6567841B1 (en) * 1999-09-28 2003-05-20 International Business Machines Corporation Method and apparatus for creating and identifying logical partition clusters
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
US6687717B1 (en) * 2001-05-07 2004-02-03 Microsoft Corporation Component aliasing operating within a component-based computing system
JP2003005045A (ja) 2001-06-21 2003-01-08 Minolta Co Ltd 光ピックアップ用対物レンズ
US7051180B2 (en) * 2002-01-09 2006-05-23 International Business Machines Corporation Masterless building block binding to partitions using identifiers and indicators
US7478139B2 (en) * 2002-04-29 2009-01-13 International Business Machines Corporation Shared resource support for internet protocol
EP1378830B1 (en) 2002-06-28 2006-04-05 Hewlett-Packard Company Operating system selector and data storage drive
US7047337B2 (en) * 2003-04-24 2006-05-16 International Business Machines Corporation Concurrent access of shared resources utilizing tracking of request reception and completion order
US6807579B1 (en) * 2003-05-12 2004-10-19 International Business Machines Corporation Method, system and program products for assigning an address identifier to a partition of a computing environment
US8782024B2 (en) * 2004-02-12 2014-07-15 International Business Machines Corporation Managing the sharing of logical resources among separate partitions of a logically partitioned computer system
US7464405B2 (en) * 2004-03-25 2008-12-09 International Business Machines Corporation Method for preventing loading and execution of rogue operating systems in a logical partitioned data processing system
US8024726B2 (en) * 2004-05-28 2011-09-20 International Business Machines Corporation System for correct distribution of hypervisor work

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1186286A (zh) * 1996-12-26 1998-07-01 陈旺萍 商品防伪方法及标识
CN1292529A (zh) * 1999-09-28 2001-04-25 国际商业机器公司 管理计算环境的分区组的方法,系统和程序产品
US6813686B1 (en) * 2000-06-27 2004-11-02 Emc Corporation Method and apparatus for identifying logical volumes in multiple element computer storage domains

Also Published As

Publication number Publication date
TWI453674B (zh) 2014-09-21
TW200813844A (en) 2008-03-16
JP5160103B2 (ja) 2013-03-13
CN101030190A (zh) 2007-09-05
US20070203943A1 (en) 2007-08-30
JP2007234012A (ja) 2007-09-13
US7693811B2 (en) 2010-04-06

Similar Documents

Publication Publication Date Title
CN101030190B (zh) 用于为逻辑分区产生唯一标识符的方法和装置
CN100487659C (zh) 用于优化分段资源分配的方法和设备
CN100429636C (zh) 管理共享输入/输出结构的地址空间的方法、系统和设备
CN101165676B (zh) 隔离数据处理系统的多个输入/输出适配器单元的方法和系统
CN101221552B (zh) 隔离i/o适配器单元的系统和方法
US8086906B2 (en) Correlating hardware devices between local operating system and global management entity
EP1636696B1 (en) Os agnostic resource sharing across multiple computing platforms
JP4964220B2 (ja) バーチャルマシーンフェイルオーバにおけるセキュリティレベルの実現
US7139940B2 (en) Method and apparatus for reporting global errors on heterogeneous partitioned systems
US20040177244A1 (en) System and method for dynamic resource reconfiguration using a dependency graph
US20030033512A1 (en) Method, system, and product for booting a partition using one of multiple, different firmware images
CN1937628B (zh) 用于管理数据处理目标实体的方法和系统
CN103620578A (zh) 经由网络分割的本地云计算
US20080127326A1 (en) Use of n_port id virtualization to extend the virtualization capabilities of the fc-sb-3 protocol and other protocols
CN101425022A (zh) 虚拟机设备的动态分配
US20040138857A1 (en) Method, system, and computer program product for estimating the number of consumers that place a load on an individual resource in a pool of physically distrisbuted resources
TWI396092B (zh) 用於架構一遠端資料處理系統之電腦程式產品、資料處理系統、電腦實施方法及一種用於為一客戶架構一客戶端資料處理系統之服務處理方法
JP2004103009A (ja) 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム
WO2006008219A1 (en) Method for restricting external access to hypervisor interfaces of a partitioned computer system
CN101202764A (zh) 确定虚拟以太网适配器的链路状态的方法和系统
JP2005276218A (ja) 論理パーティション・データ処理システムにおける不正なオペレーティング・システムのローディング及び実行を防ぐための方法及びシステム
US7962665B2 (en) Managing condition indicators that use the same physical indicator device in a logically partitioned computer system
US7395403B2 (en) Simulating partition resource allocation
Yu Qualitative simulation algorithm for resource scheduling in enterprise management cloud mode
JP2007299400A (ja) ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant