JP5160103B2 - 論理区画の一意識別子生成方法、装置、およびコンピュータ・プログラム - Google Patents
論理区画の一意識別子生成方法、装置、およびコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5160103B2 JP5160103B2 JP2007038792A JP2007038792A JP5160103B2 JP 5160103 B2 JP5160103 B2 JP 5160103B2 JP 2007038792 A JP2007038792 A JP 2007038792A JP 2007038792 A JP2007038792 A JP 2007038792A JP 5160103 B2 JP5160103 B2 JP 5160103B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- partition
- level
- data processing
- logical
- 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
- 238000005192 partition Methods 0.000 title claims description 222
- 238000004590 computer program Methods 0.000 title description 4
- 230000015654 memory Effects 0.000 description 38
- 238000010586 diagrams Methods 0.000 description 20
- 238000004364 calculation methods Methods 0.000 description 17
- 238000000034 methods Methods 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 9
- 239000004744 fabrics Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006011 modification reactions Methods 0.000 description 4
- 230000003287 optical Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 241000272519 Aix Species 0.000 description 3
- 239000000835 fibers Substances 0.000 description 3
- 230000002104 routine Effects 0.000 description 3
- 280000233134 Hardware Resources companies 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000002093 peripheral Effects 0.000 description 2
- 239000004065 semiconductors Substances 0.000 description 2
- 281000138798 Hewlett-Packard companies 0.000 description 1
- 281000030572 IBM companies 0.000 description 1
- 281000182076 Sun Microsystems companies 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effects Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 238000005755 formation reactions Methods 0.000 description 1
- 281999990011 institutions and organizations companies 0.000 description 1
- 230000002452 interceptive Effects 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 239000002243 precursors Substances 0.000 description 1
- 239000007787 solids Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 235000010384 tocopherol Nutrition 0.000 description 1
- 235000019731 tricalcium phosphate Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45566—Nested virtual machines
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Description
本発明は、全体として、改良型データ処理システム、具体的には、論理区画および仮想マシンなど、物理的コンピュータ内における独立した論理計算エンティティを識別する方法、装置、およびコンピュータ・プログラムに関する。より具体的には、本発明は、世界的に、あるいは、特にネットワークのファブリック内において一意である、これらの論理計算エンティティの識別子を自動的に生成するコンピュータ実行型の方法、装置、およびコンピュータ・プログラムに関する。
ファブリック内の外部リソースへのアクセスのレベルが異なり、これらの外部リソースに対するアカウンタビリティが異なる複数の計算エンティティを有するデータ処理システムにおいて、一意の計算エンティティは、ポートの共有時に別のエンティティと一意のエンティティとを区別するために、ファブリック内への入力/出力(I/O)ポートごとに一意の識別子を使用する。例えば、I/Oアダプタ・ポートを通じて別の計算エンティティとI/Oデバイスを共有する各計算エンティティは、そのI/Oデバイスによる一意的な識別が可能である必要がある。
物理的I/Oポート・ハードウェアは、通常、ポートを用いて計算エンティティを一意に識別するのに使用できるシリアル番号、またはその他の一意の識別子を含んでいる。しかしながら、論理的に区画化あるいは仮想化されたデータ処理システムにおいては、単一の物理的計算エンティティが複数の論理区画または仮想マシンに分割可能になっており、それらの一部または全てが一つのポートを共有してI/Oアダプタのより有効な利用ができるようにすることもできる。
論理区画は、計算エンティティの一部分であり、データ処理システムにおける同一の計算エンティティの他の部分から独立して動作できる専用メモリを有する。各論理区画は、一般的に、物理的システムリソースのサブセットを用い、オペレーティング・システムの個別のインスタンスを起動する。
仮想マシンも同様に物理的システム(あるいは論理区画)リソースのサブセットを備えており、典型的には、仮想マシンの組を制御および管理するハイパーバイザー・オペレーティング・システムの構築により構成される。各仮想マシンは、ハイパーバイザーにより制御される他の仮想マシンから独立して動作可能であり、ハイパーバイザーにより許容される物理的システム(あるいは論理区画)リソースのサブセットを用いる。各仮想マシンは、ハイパーバイザーによりページングで管理される仮想メモリにおけるオペレーティング・システムの個別のインスタンスを起動する。
区画化あるいは仮想化されていないデータ処理システムにおいてI/Oポートを利用する各物理的計算エンティティを一意に識別する必要があると同時に、論理区画および仮想マシンなど、そのようなI/Oポートを共有する各論理計算エンティティを一意に識別する必要もある。各論理計算エンティティが各ポートに関連する一意の識別子を必要とするとともに、複数の論理エンティティを物理的ハードウェアに関連付けることが可能であるので、基盤となる物理的ハードウェアと関連する識別子の利用は一般的に不十分となっている。
少数の論理エンティティを備えるデータ処理システムにおいて、計算エンティティごとに一意の識別子を作成する作業は、手動で行うことができる。しかしながら、より大規模のデータ処理システムの場合は、何百、何千、あるいは何百万もの論理計算エンティティを備えていることがある。そのようなシステムにおいて、これらのエンティティのそれぞれに対して十分な数の一意識別子を手動で生成することは、煩雑であるとともに非実際的である。
本発明の目的は、論理的に区画化されたデータ処理システムに対して一意識別子を生成するコンピュータ実行型の方法、装置、およびコンピュータ・プログラムを提供することである。データ処理システムによりサポートされる多数の計算エンティティを識別して、多数の識別されたエンティティを形成する。一意識別子の組は、識別されたエンティティの数に基づいて生成される。データ処理システムの動作中、この一意識別子の組から一意識別子を論理計算エンティティに割り当てる。
本発明の特性である新規な特徴は、添付の特許請求の範囲に記載されている。しかしながら、本発明自体、並びに本発明の好適な実施形態、さらなる目的および利点は、添付図面を参照しながら、以下の実施例の詳細な説明を読むことにより、最良の形で理解されるであろう。
図面を参照すると、特に図1〜図3においては、本発明の実施形態が実現可能となるデータ処理環境を例示する図を示している。なお、図1〜図3は、あくまで例示的なものであり、本発明の態様または実施形態が実現可能となる環境に関して何ら限定を主張すること、または含意することを意図していない。本発明の精神および範囲から逸脱することなく、ここに示した環境に多くの変更を加えることも可能である。
図面を参照すると、図1は、本発明の態様が実現可能となるデータ処理システムのネットワークを図示している。ネットワーク・データ処理システム100は、本発明の実施形態が実現可能となるコンピュータのネットワークである。ネットワーク・データ処理システム100は、ネットワーク102を含んでおり、ネットワーク102は、ネットワーク・データ処理システム100内において互いに接続する様々なデバイスおよびコンピュータ間の通信を可能にするために使用される媒体を備えたファブリックである。ネットワーク102は、有線、無線通信リンク、または光ファイバーケーブルなどの接続を備えていてもよい。
図示の例において、サーバー104およびサーバー106は、ストレージ・ユニット108とともに、ネットワーク102に接続する。また、クライアント110、112および114もネットワーク102に接続する。これらのクライアント110、112および114は、例えば、パソコンあるいはネットワーク・コンピュータであってもよい。図示の例において、サーバー104は、ブートファイル、オペレーティング・システムのイメージ、およびアプリケーションなどのデータをクライアント110、112および114に供給する。本例において、クライアント110、112および114は、サーバー104に対するクライアントである。ネットワーク・データ処理システム100は、図示していないサーバー、クライアント、および他のデバイスをさらに備えていてもよい。
図示の例において、ネットワーク・データ処理システム100は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)の一連のプロトコルを用いて互いに通信を行う、世界的なネットワークおよびゲートウェイの集合であるネットワーク102とインターネット接続するものである。インターネットの中心に存在するのは、データおよびメッセージを送る何千もの商業用、行政用、教育用およびその他のコンピュータ・システムで構成される、主要ノードあるいはホストコンピュータ間の高速データ通信ラインのバックボーンである。勿論、ネットワーク・データ処理システム100は、例えば、イントラネット、ローカルエリアネットワーク(LAN)、あるいは広域ネットワーク(WAN)などの多様な種類のネットワークを用いて実装されてもよい。また、ネットワーク・データ処理システム100におけるストレージデバイスは、ファイバー・チャネル・プロトコル(Fibre Channel Protocol)などの代替的なプロトコルによってサーバー104および106に接続してもよい。図1は、あくまで一例であることを意図しており、本発明の様々な実施形態をアーキテクチャ面で限定することを意図していない。
次に図2を参照すると、本発明を実現可能にするデータ処理システムのブロック図が示されている。データ処理システム200は、システムバス206に接続する複数のプロセッサ201、202、203および204を備える対称型マルチプロセッサ(SMP)システムであってもよい。例えば、データ処理システム200は、ネットワーク内においてサーバーとして導入される、ニューヨーク州アーモンクのIBM社(International Business Machines Corporation)の製品、IBM eServerであってもよい。また、単一プロセッサシステムを採用することもできる。システムバス206には、複数のローカルメモリ260〜263へのインターフェースを提供するメモリコントローラ/キャッシュ208も接続される。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に接続してハードディスク250を制御する。
上述のように、例えば、データ処理システム200を三つの論理区画P1、P2およびP3に分割すると仮定する。PCI I/Oアダプタ220〜221、228〜229、236、グラフィックス・アダプタ248、およびハードディスク・アダプタ249、そして、ホストプロセッサ201〜204、およびローカルメモリ260〜263のメモリは、三つの論理区画にそれぞれ割り当てられる。これらの例において、メモリ260〜263は、デュアル・インライン・メモリ・モジュール(DIMMs:dual in−line memory modules)の形を取ってもよい。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(R):Advanced Interactive Executive(R))オペレーティング・システムの第1のインスタンスを論理区画P1内において実行し、AIX(R)オペレーティング・システムの第2のインスタンス(イメージ)を論理区画P2内において実行し、リナックス(R)(Linux(R))またはIBM i5/OS(R)オペレーティング・システムを論理区画P3内において実行することもできる。
I/Oバス212に接続される周辺装置相互接続(PCI:Peripheral component interconnect)ホストブリッジ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バスの実装によって、4つおよび8つの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バス245は、PCI‐PCIブリッジ242に接続し、PCI‐PCIブリッジ242は、PCIバス241を介してPCIホストブリッジ240に接続し、PCIホストブリッジ240は、バス212に接続する。
PCIホストブリッジ230は、PCIバス231に対してインターフェースを提供し、I/Oバス212に接続する。PCI I/Oアダプタ236は、I/Oスロット276に接続し、I/Oスロット276は、PCIバス233を介してPCI‐PCIブリッジ232に接続する。PCI‐PCIブリッジ232は、PCIバス231に接続する。このPCIバス231は、PCIホストブリッジ230を、サービス・プロセッサ・メールボックス・インターフェースおよびISAバス・アクセス・パススルー・ロジック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/scanバス(IEEE 1149.1を参照)と、Phillips I2Cバスとの組み合わせからなる。しかしながら、JTAG/I2Cバス234に代えて、Phillips I2Cバスのみを用いること、あるいはJTAG/scanバスのみを用いることも可能である。ホストプロセッサ201、202、203および204のSP−ATTN信号は全て接続されて、サービスプロセッサ235の割り込み入力信号となる。サービスプロセッサ235は、独自のローカルメモリ291を有しており、ハードウェア・OPパネル290にアクセスできる。
データ処理システム200が初めて始動する際、サービスプロセッサ235は、JTAG/I2Cバス234を通じて、システム(ホスト)プロセッサ201〜204、メモリコントローラ/キャッシュ208、およびI/Oブリッジ210に問い合わせを行う。このステップの完了時に、サービスプロセッサ235は、データ処理システム200のインベントリおよびトポロジを把握する。また、サービスプロセッサ235は、ホストプロセッサ201〜204、メモリコントローラ/キャッシュ208、およびI/Oブリッジ210への問い合わせによって発見した全ての要素に対して、ビルトイン・セルフテスト(BISTs:Built−In−Self−Tests)、基本保証テスト(BATs:Basic Assurance Tests)、およびメモリテストを行う。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は、現在の動作中のセッションおよび今後の初期プログラムロード(IPLs:Initial Program Loads)の間、構成解除のためのリソースをマークすることがある。IPLは、「ブート(boot)」あるいは「ブートストラップ・ロード(bootstrap load)」動作と呼ばれることもある。
データ処理システム200は、様々な市販のコンピュータ・システムを用いて実装することも可能である。例えば、データ処理システム200は、IBM社から入手可能なIBM eServer iシリーズ モデル840システム(IBM eServer iSeries Model 840 system)を用いて実装することもできる。このようなシステムは、やはりIBM社から入手可能なi5/OS(R)オペレーティング・システムを用いて論理区画化をサポートすることも可能である。
図2に示すハードウェアは変更も可能であることを当業者なら理解するであろう。図示のハードウェアに加えて、あるいは図示のハードウェアに代えて、例えば、光ディスク・ドライブなどの他の周辺デバイスを使用することもできる。図示の例は、本発明に関してアーキテクチャ面の限定を意味するものではない。
次に、図3を参照すると、本発明を実現可能にする論理的に区画されたプラットフォームの一例を表すブロック図が示されている。論理区画プラットフォーム300におけるハードウェアは、例えば、図2のデータ処理システム200として実装することもできる。論理区画プラットフォーム300は、区画ハードウェア330と、オペレーティング・システム302、304、306および308と、区画管理ファームウェア310とを備えている。オペレーティング・システム302、304、306および308は、単一のオペレーティング・システムの複数コピー、または論理区画プラットフォーム300上で同時に起動する複数の異種オペレーティング・システムであってもよい。これらのオペレーティング・システムは、IBM社のP−HYPE(Partition Hypervisor)など、区画管理ファームウェアとインターフェースをとるように設計されているIBMのi5/OS(R)を用いて実装することもできる。これらの実施例において、i5/OS(R)は、あくまで一例として用いられている。勿論、特定の実装の場合には、それに応じて、IBMのAIX(R)やリナックス(R)など、他の種類のオペレーティング・システムを用いることも可能である。オペレーティング・システム302、304、306および308は、区画303、305、307および309にそれぞれ配置されている。ハイパーバイザ・ソフトウェアは、区画管理ファームウェア310の実装に用いることも可能であるとともに、IBM社から入手可能であるソフトウェアの一例である。ファームウェアとは、マシンのユーザーあるいはオーナーにアクセスできないようになっており、物理的マシンの一部として許可される「ソフトウェア」のことである。
また、これらの区画は、区画ファームウェア311、313、315および317をさらに含んでいる。区画ファームウェア311、313、315および317は、初期ブートストラップ・コード、IEEE−1275規格のオープン・ファームウェア(IEEE−1275 Standard Open Firmware)、およびIBM社から入手可能なランタイム抽出ソフトウェア(RTAS:runtime abstraction software)を用いて実装することもできる。区画303、305、307および309のインスタンスの作成時、プラットフォーム・ファームウェア310によってブートストラップ・コードのコピーが区画303、305、307および309にロードされる。その後、制御はブートストラップ・コードに移り、ブートストラップ・コードはオープン・ファームウェアおよびRTASにロードされる。そして、これらの区画に関連付けられた、あるいは割り当てられたプロセッサは、区画のメモリにディスパッチされて、区画ファームウェアを実行する。
区画ハードウェア330は、図2に示すような複数のプロセッサ、複数のシステム・メモリ・ユニット、複数の入力/出力(I/O)アダプタ、およびストレージ・ユニットを備えることができる。区画ハードウェアは、オペレーティング・システム302、304、306および308のうちの何れかに対応する、論理区画プラットフォーム300内の区画303、305、307および309などの複数の異なる区画のうちの一つに割り当てられる。
区画管理ファームウェア310は、区画303、303、307および309に関して様々な機能およびサービスをおこなって論理区画プラットフォーム300の区画を形成および実施する。区画管理ファームウェア310は、基盤となるハードウェア上において論理区画を管理するファームウェアである。従って、区画管理ファームウェア310は、論理区画プラットフォーム300の全てのハードウェア・リソースを仮想化することにより、独立したOSイメージ302、304、306および308を同時に実行することができる。
サービスプロセッサ390を用いて、区画内のプラットフォーム・エラーの処理など、様々なサービスを行うこともできる。これらのサービスは、サービス・エージェントとして働いてIBM社などの製造元にエラーを報告することも可能である。様々な区画の動作は、ハードウェア管理コンソール380などのハードウェア管理コンソールを通じて制御することもできる。ハードウェア管理コンソール380は、区画間のリソースの再割り当てを含む様々な機能をシステム管理者が行うことも可能な別個のデータ処理システムである。
IBM社から入手可能なIBM eServer p690、ヒューレット・パッカード社(Hewlett−Packard Company)から入手可能なDHP9000スーパードーム(R)・エンタープライズ・サーバー(DHP9000 Superdome Enterprise Server)、およびサン・マイクロシステムズ社(Sun Microsystems,Inc.)から入手可能なサンファイア(R)15Kサーバー(Sunfire(R) 15K server)など、ますます大規模となっている対称型マルチプロセッサ・データ処理システムは、単一の大規模データ処理システムとしては使用されてはいない。むしろ、これらのタイプのデータ処理システムは、区画化されて、より小規模のシステムとして使用されている。これらのシステムは、論理区画データ処理システム、あるいは仮想化データ処理システムとも呼ばれている。データ処理システム内において論理的に区画化あるいは仮想化された機能により、単一のオペレーティング・システムの複数コピー、あるいは複数の異種オペレーティング・システムを単一の物理的計算システム・プラットフォーム上で同時に起動することが可能になる。オペレーティング・システム・イメージが起動する区画には、プラットフォームのリソースのサブセットおよび一部、もしくはサブセットまたは一部が割り当てられる。これらのプラットフォームの割り当て可能なリソースには、割り込み管理エリア、システムメモリの領域、および入力/出力(I/O)アダプタを有する一つ以上のアーキテクチャ的に異なるプロセッサが含まれる。区画のリソースは、プラットフォームのファームウェアによってオペレーティング・システム・イメージに対して示される。
プラットフォーム内において起動する個別のオペレーティング・システムまたはオペレーティング・システムのイメージは、一つの論理区画または仮想マシン内のソフトウェア・エラーが他の区画または仮想マシンの何れかの正しい動作に悪影響を与えることがないように、他のオペレーティング・システムまたはオペレーティング・システムのイメージから保護されている。このような保護は、システム・ハードウェアおよび各オペレーティング・システム・イメージにより直接的に管理されるプラットフォーム・リソースのファームウェアにおける割り当て制御、そして、いかなるイメージも、そのイメージに対して割り当てられていないリソースの制御をおこなえないようにするメカニズムによって実現する。さらに、オペレーティング・システムの割り当てられたリソースの制御におけるソフトウェア・エラーは、その他のいかなるイメージのリソースにも悪影響を与えないようになっている。従って、各オペレーティング・システム・イメージは、プラットフォーム内の割り当て可能なリソースの個別の組を直接的に制御する。
論理区画データ処理システム内のハードウェア・リソースに関しては、これらのリソースは、様々な区画間で共有される。これらのリソースには、例えば、入力/出力(I/O)アダプタ、メモリDIMMs、不揮発性・ランダム・アクセス・メモリ(NVRAM)、およびディスク・ドライブなどが含まれてもよい。各区画は、物理的計算エンティティ全体のパワーサイクルを行う必要なく何度も繰り返して起動および終了してもよい。
論理区画化または仮想化されたデータ処理システムは、単一レベルの論理区画システム、マルチレベルの論理区画システム、または仮想化データ処理システム、もしくはこれらの任意の組み合わせであってもよい。マルチレベル・システムにおいて、各論理計算エンティティは、順次、複数の「二次レベル」のエンティティに分割することができる。また、二次レベルのエンティティも、複数の「三次レベル」のエンティティなどにさらに分割することができる。ここで、複数の二次レベルのエンティティを含む論理計算エンティティのことを、「一次レベル」論理計算エンティティと呼ぶ。
二次レベルのエンティティにさらに分割されるエンティティの一例としては、IBM z/VM(R)オペレーティング・システムが起動するIBM System z9(両方IBM社から入手可能な製品である)における論理区画が挙げられる。このような区画において、z/VM(R)オペレーティング・システムは、z/VM(R)オペレーティング・システムの別のイメージ、z9およびzSeries(R)オペレーティング・システム用のリナックス(R)、IBMなどから入手可能なz/OS(R)オペレーティング・システムなど、システムz9上で直接的に起動するオペレーティング・システムをそれぞれ起動可能な複数の二次レベル・エンティティ(仮想マシン)をサポートする。
明確化のため、ここで用いる「論理区画」という用語は、仮想マシンなどの二次レベル・エンティティをサポートしない論理区画、または仮想マシンなどの二次レベル・エンティティをサポートする一次レベル論理区画のことを指す場合もある。
明確化のため、ここで「仮想マシン」は、マルチレベルの論理区画データ処理システムにおける二次レベル以上の論理計算エンティティを指す用語として用いられる。しかしながら、本発明の実施形態の態様が一次レベルの計算エンティティに対して同様に適用されるのは、物理的計算エンティティ全体を制御するハイパーバイザーによって形成される仮想マシンなど、一次レベル計算エンティティを包含する仮想マシン、ならびにネストした論理計算エンティティに対して本発明の態様が同様に適用可能である場合である。当然のことながら、本発明の実施形態は、そのような一次レベルの仮想マシンならびにネストした論理計算エンティティに適用される。
ここで、「ネストした論理計算エンティティ」とは、別の論理計算エンティティ内に含まれる仮想マシンなど、二次レベル以上のエンティティのことを意味する。例えば、一次レベルのエンティティが複数の二次レベルのエンティティを含む場合、二次レベルのエンティティはそれぞれネストした論理計算エンティティである。ここで、「論理計算エンティティ」という用語は、論理区画または仮想マシンのことを指す。
ここで、「論理区画データ処理システム」という用語は、二次レベル(または二次レベル以上)の仮想マシンの有無に関わらず、一次レベルの論理区画が存在するデータ処理システムのことを指す。また、ここで「論理区画データ処理システム」という用語は、物理的計算エンティティを複数の仮想マシンに分割することができる仮想化データ処理システムのことも意味する。
論理区画データ処理システムにおける各論理計算エンティティは、システム内の複数の計算エンティティにおいてエンティティを一意に識別するために少なくとも一つの一意識別子を必要とする。論理区画データ処理システムは、複数のそのようなエンティティを含むので、基盤となる物理的ハードウェアの識別子(例えば、I/Oアダプタ・ポートの識別子)を各計算エンティティの識別に利用しても、(例えば、経済上または物理的スペース上の理由により)I/Oアダプタ・ポートの共有時には、各エンティティを一意に識別することができない。その上、何百、何千、あるいは何百万もの計算エンティティを含み得るシステムにおいて各計算エンティティに対し、十分な数の一意識別子を手動で作成することは、煩雑であるとともに非実際的である。
そこで、本発明の目的は、世界中で一意である論理計算エンティティの識別子を自動的に生成する改良型およびコンピュータ実行型の方法、装置、およびコンピュータ・プログラムを提供することである。一意識別子は、典型的には三つの部分を含んでいる。一意識別子の第1の部分は、会社識別子を含む接頭辞である。会社識別子は、データ処理システムの製造会社を識別する。会社識別子の後に続くのは、ルート識別子である。
ルート識別子は、製造会社の特有のデータ処理システムを一意に識別する。つまり、特定の会社によって製造されたデータ処理システムは、全て共通の会社識別子を共有し、一意のルート識別子は、同一の会社によって製造されたシステム同士をシリアル番号で区別する。
ルート識別子の後に続くのは、特定のデータ処理システム内の論理計算エンティティを一意に識別するのに使用できる接尾辞である。システム内の各エンティティの識別子はそれぞれ共通の会社識別子を共有することになる。同一のシステム内の論理計算エンティティは、共通のルート識別子の一部も共有することになる。しかしながら、同一のデータ処理システム内の各論理計算エンティティは、データ処理システム内において共有のI/Oアダプタ・ポートごとに、そのエンティティを他のエンティティから区別する一意の接尾辞を必要とする。
本発明の態様によれば、ルート識別子のビットと接尾辞との組み合わせには、計算システム内の論理計算エンティティを識別するための一意識別子が含まれている。一意識別子は、論理計算エンティティの数を識別することによって論理区画データ処理システムに対して生成され、データ処理システムは、多数の識別されたエンティティの形成をサポートすることができる。一意識別子の組は、識別されたエンティティの数に基づいて生成される。この一意識別子の組における一意識別子は、データ処理システムの動作中に初期化される共有のI/Oアダプタ・ポートごとに各論理計算エンティティに割り当てられる。
次に、本発明の実施例に係る一意識別子を自動的に生成するプロセスを例示するブロック図である図4を参照しながら説明を行う。会社識別子400などの会社識別子は、データ処理システムの製造会社を識別するものである。一意の会社識別子は、データ処理システムを製造する各会社に対して割り当てられる。本実施例によれば、会社識別子400は、データ処理システム405の製造会社の24ビット識別子である。
会社識別子に割り当てられるビット数は、これらの例において限定されるものである。このような限定は、例えば、ファイバチャネル標準(Fibre Channel standard)などのプロトコル標準において生じる。使用可能な会社識別子の総数も限定される。会社識別子の割り当てを管理する機関(例えば、電気電子技術者学会、すなわちIEEEなど)は、各会社が割り当てられた会社識別子を全て効率的に利用することを求める。従って、新たな会社識別子を要求する前に、会社は、ルート識別子および接尾辞識別子について利用可能なビットの組み合わせの大部分を使用しなくてはならない。
データ処理システムの製造の間、ルートジェネレータ410などのルートジェネレータは、複数のデータ処理システムにおいてデータ処理システムごとにルート識別子を生成する。ルートジェネレータ410は、アルゴリズムに基づいてルート識別子の値を生成する。ルート識別子値の生成に使用されるアルゴリズムは、後に図10においてより詳細に示すように、ルート識別子が割り当てられる特定の種類のデータ処理システムに応じて決まる。ルートジェネレータ410は、特定のデータ処理システムについて生成されるルート識別子値を製造プロセス中にマシン内の不揮発性メモリに保存する。
図4に示す実施例によれば、会社識別子400は、データ処理システム405の製造会社を識別する。ルートジェネレータ410は、データ処理システム405を製造するプロセスの間にルート識別子420を生成する。これらの例において、ルートジェネレータ410は、特定の製造会社によって製造された複数のシステム内において、データ処理システム405を識別するための一意のルート識別子420を生成する。データ処理システム405は、図1〜図3に例示されるように、いかなるコンピュータ・デバイスでもよい。
データ処理システム405内のI/Oアダプタ・ポートへの共有アクセスが付与されている論理区画の一意識別子の要求に応じて、区画初期化ランタイム430は、論理区画を識別するための一意識別子440を生成する。区画初期化ランタイム430は、一意識別子440と、会社識別子400およびルート識別子420とを連結して一意の64ビット識別子450を作成する。64ビット識別子450は、データ処理システム405に関連する論理計算エンティティを一意に識別する。
仮想マシン識別子の要求に応じて、二次レベル区画初期化ランタイム460は、アルゴリズムに基づいて一意の仮想マシン識別子470を生成する。二次レベル区画初期化ランタイム460は、仮想マシン識別子470と、会社識別子400およびルート識別子420とを連結して一意の64ビット識別子480を作成する。64ビット識別子480は、データ処理システム405と関連する論理計算エンティティを一意に識別する。
図11および図12においては、一意識別子440および470など、一意の論理計算エンティティ識別子を生成するための区画初期化ルーチンの例を二つ示している。
本発明の一実施形態によれば、ルート識別子の組は、各システムの製造中に物理的データ処理システムにそれぞれ割り当てられる。このルート識別子の組には、一つ以上のルート識別子が含まれている。特定のデータ処理システムに割り当てられるルート識別子値の数は、特定のマシンの計算能力に応じて変化する。従って、多数の論理区画および仮想マシンのサポートが可能なデータ処理システムには、少数の論理区画および仮想マシンのサポートが可能な小規模のデータ処理システムよりも多くのルート識別子値が割り当てられる。
本発明によれば、区画初期化ランタイム430および二次レベル区画初期化ランタイム460は、論理区画および仮想マシンの両方を識別する一意識別子を生成可能な単一の区画初期化ランタイム・コンポーネントにおいて具現化される。しかしながら、このルーチンは、一次レベルの論理区画および仮想マシンの一意識別子、もしくは論理区画または仮想マシンの一意識別子を生成するルーチンと、より高レベルの計算エンティティの一意識別子を生成するルーチンとの二つのルーチンに分割可能であることを当業者なら容易に理解するであろう。
本発明の態様によれば、ルートジェネレータ410は、データ処理システムの製造中、複数のデータ処理システム内の物理的データ処理システムにそれぞれ割り当てられる複数のルート識別子を自動的に生成する。二組のルート識別子が生成される。ルート識別子値の一方の組は、(例えば)値223で始まり、大きい値から順に223−128、223−256、・・・と進む、128を一つのグループとして与えられる。128のルート識別子値の各グループにおける第1のルート識別子値は、128だけ減分されるので、このような各第1の24ビット・ルート識別子の左端の7ビットは、常に全てゼロとなる。ルート識別子値の他方の組は、値0で始まる小さい値から順に個別的に与えられる。この組の次のルート識別子値は、例えば、1がプラスされた前のルート識別子値と等しい。
例えば、本発明の一実施形態によれば、ルートジェネレータ410によって生成される第1のルート識別子は、111111111111111110000000、あるいは16進法でFFFF80である。つまり、各物理的データ処理システムには、その範囲内の最高値で始まり、マシンごとに128ずつ減分されるルート値が割り当てられる。このように、各データ処理システムには、その範囲内の最高値で始まり、マシンごとに128ずつ減分されるルート値が割り当てられる。従って、本発明のこの実施例によれば、各データ処理システムには、製造プロセス中に、そのシステムにより一意識別子の生成に用いられるルート識別子の128の可能値が実際に割り当てられる。
本発明の実施例によれば、一意識別子の組は、データ処理システムが最初に初期化または構成される際にシード識別子値に基づいて生成される。例えば、この一意識別子の組は、データ処理システムが最初に論理区画データ処理システムとして構成されるときに生成される。シード識別子は、ルートジェネレータ410などのルートジェネレータによって特定のデータ処理システムに対して生成されるルート値である。
本発明の別の実施例によれば、この一意識別子の組における一意識別子は、データ処理システムが初期化された後に生成される。例えば、一つ以上の一意識別子は、システムが最初に初期化されて区画されるときよりもむしろ、ある区画が形成され、既に論理区画データ処理システムとして動作している論理区画データ処理システム内の一つ以上のI/Oアダプタ・ポートへの共有アクセスがその区画に付与されるときに生成される。このような場合、論理計算エンティティの形成時または初期化時に、この一意識別子の組から一つ以上の一意識別子を特定の論理計算エンティティに割り当てる。別の実施例では、一意識別子は、新たに追加した論理計算エンティティに対して、その論理計算エンティティの初期化が終わるまで割り当てられない。例えば、一意識別子は、論理計算エンティティに対して、その論理計算エンティティの修正中に割り当てることができる。
本発明のさらに別の実施例によれば、一意識別子が既に割り当てられた論理計算エンティティは、後に、区画ランタイムから追加的な一意識別子を要求することもできる。例えば、論理計算エンティティは、その論理計算エンティティが追加的な共有I/Oアダプタを使用し始めたときに、追加的な一意識別子を要求することも可能である。このような場合、論理計算エンティティは、各I/Oアダプタによって利用される一意識別子を要求する。従って、追加的な一意識別子は、既に一つ以上の識別子が割り当てられた論理計算エンティティに割り当てることができる。
本発明の実施例によれば、データ処理システムによってサポートされる多数の計算エンティティは、共有I/Oポートごとに一意に識別されて、多数の識別されたエンティティが作成される。一意識別子の組は、識別されたエンティティの数と、各計算エンティティによってアクセスされた共有I/Oポートの数とに基づいて生成される。この一意識別子の組から一意識別子のサブセットを各計算エンティティに割り当てる。この一意識別子のサブセットには、一つ以上の一意識別子が含まれる。個々の一意識別子は、データ処理システムの動作中、計算エンティティによってアクセスされた各I/Oポートに対して関連付けられる。
なお、論理計算エンティティに対する各一意識別子の割り当てがおこなわれれば、この割り当てを、システムのパワーサイクルの間保存されるように、データ処理システムによって不揮発性ストレージに記録しなければならない。このためには、同一の論理計算エンティティに対して常に同一の識別子を関連付けることが要求される。これが必要なのは、一意識別子をネットワーク・ファブリックおよびその接続された外部デバイスにおいて用いて、アクセス権を特定の論理計算エンティティに関連付けるからである。
本発明の所定の実現に際して、さらに永続的に一意識別子を所定のI/Oアダプタ・ポートに関連付けることを選択する場合としない場合とがある(I/Oアダプタ・ポートに対する永続的な関連付けをしない場合、論理計算エンティティのリソース‐アクセス権は、エンティティによるアクセスが可能なI/Oポート間で「浮遊(float)」することが許されることもある)。一意識別子と論理計算エンティティとの関連付けが解かれるのは、ファブリックおよびその接続デバイスにおいてリソースアクセス権が適切に調整されたときに、システム管理者の明確な許可があった場合のみである。
図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の一意識別子は、全てゼロに初期化される。この第1の識別子を1だけ増分して次の識別子を作成する。こうして、この16ビットの識別子におけるビットの216または65,536通りの可能な組み合わせ640が、論理区画の識別に使用可能となっている。
論理区画を識別するための一意のエンティティ識別子の要求に応じて、16ビット一意識別子630が生成される。この一意識別子は、データ処理システム内の複数の論理区画における論理区画を識別する。区画初期化ランタイムは、このように生成された一意の16ビット識別子630と、会社識別子610およびルート識別子620とを連結して、論理区画の64ビット一意識別子を作成する。ただし、上述のように、65,536個の識別子は全て、システムの初期化時に生成されており、各区画の初期化時に区画ランタイムによって区画に割り当てられている場合がある。
区画初期化ランタイムは、論理区画を識別するために、216または65,536個の異なる一意の64ビット論理区画識別子を生成することができる。従って、図6に示すフォーマットは、わずかに65,536個の論理区画をサポートするデータ処理システムにおいて一意識別子を生成するには十分なものである。
本発明の一実施形態によれば、データ処理システムは、IBM pSeries(R)マシンである。本発明の別の実施形態において、データ処理システムは、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ビット全てをゼロに初期化することにより、第1の23ビット一意識別子を生成する。この第1の一意識別子を1だけ増分して次の識別子を作成する。
区画初期化ランタイムは、このように生成された23ビット識別子と、会社識別子710および24ビットルート720の左端の17ビットとを連結して、論理区画の64ビットの一意識別子を作成する。従って、区画初期化ランタイムは、論理区画について、223または8,388,608個の異なる一意の64ビット識別子を生成することができる。
図7に示すフォーマットは、8,388,608個もの論理区画または仮想マシン(あるいはこれら両方)をサポートする論理区画データ処理システムにおいて一意識別子を生成するには十分なものである。本発明の一実施形態によれば、上述のデータ処理システムは、IBM System z9またはIBM zSeries(R)マシンである。
図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個未満の一次レベル論理区画をサポートする場合、一次レベル区画識別子840に割り当てる23ビット識別子835内の左端のビット数をより少なくすることができる。例えば、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個の可能な一次レベル論理区画のうちの一つと関連する仮想マシンの識別子を構成する。
仮想マシンと関連付けられていない論理区画の一意識別子を生成するためには、二つの右端のビットを確保して、ゼロにすることがこの場合求められる。従って、仮想マシンに用いられる識別子はいずれも、非ゼロ値である右端の二つのビットのうちの一つまたは両方を有していなければならない(仮想マシン識別子945を参照)。従って、15ビットの215または32,768通りの組み合わせが可能であるが、一次レベル論理区画に関連する仮想マシンの識別については、その4分の3だけ、すなわち213の3乗、または24,576通りの可能な組み合わせが使用できる。
右端の二つのビット950がゼロである23ビット一意識別子は、関連する仮想マシンを一切有することのない論理区画に割り当てられる。従って、下位二つのビット950においてゼロで終わる23ビット一意識別子935の左端の21ビットは、21ビットのデフォルト識別子960を構成する。23ビット識別子においてビットの223または8,388,608通りの可能な組み合わせが存在するが、その4分の1だけ、すなわち2,097,152通りの組み合わせは、右端の二つのビットにおいてゼロで終わる。従って、関連する仮想マシンを有しない論理区画の21ビットのデフォルト識別子について、2,097,152通りの識別子の可能な組み合わせが使用できる。
本発明のさらに別の実施形態において、データ処理システムは、関連する仮想マシンを有しない論理区画をより少数サポートすることも可能である。そのような場合、右端の三つのビットにおいてゼロで終わる23ビットの組み合わせのみがデフォルト識別子に割り当てられる。そして、そのような場合、23ビット識別子においてビットの223または8,388,608通りの可能な組み合わせが存在するが、その8分の1だけ、すなわち1,048,576通りの組み合わせは、右端の三つのビットにおいてゼロで終わる。従って、関連する仮想マシンを有しない論理区画の識別について、1,048,576個の可能なデフォルト識別子が使用できる。また、仮想マシン識別子の生成について、より多数のビットの組み合わせが使用可能となる。
本発明の実施形態によれば、一次レベル区画識別子および仮想マシン識別子に用いられるビット数は、上述のように、一次レベル論理区画の数の増加および仮想マシンの数の減少に対応して、あるいは一次レベル論理区画の数の減少および仮想マシンの数の増加に対応して変えることができる。
図10は、本発明の実施例に係るデータ処理システムの一意のルート識別子を生成する本発明の例示的な動作を概略的に示すフロー図である。このプロセスは、図4におけるルートジェネレータ410によって実行される。
ルートジェネレータは、24ビットのルート識別子における24ビットを全てゼロに初期化して、小規模システムのルート識別子を作成する(ステップ1010)。ルートジェネレータは、左端の17ビットを全て1に初期化するとともに、右端の7ビットを全てゼロに初期化して、大規模システムのルート識別子を作成する(ステップ1020)。この実施例において、大規模システムとは、65,536個を超える数の論理計算エンティティをサポートできるデータ処理システムのことであり、小規模システムとは、わずかに65,536個の論理計算エンティティをサポートできるデータ処理システムのことである。
ルートジェネレータは、一意識別子を要求しているデータ処理システムが小規模の物理的システムであるかどうかを判断する(ステップ1030)。データ処理システムが小規模のものである場合、ルートジェネレータは、そのマシンに対して第1の小規模システムのルート識別子を割り当てる(ステップ1040)。ルートジェネレータは、小規模システムのルートを1だけ増分して(ステップ1050)、次に使用可能な小規模システムのルートを作成する。そして、このプロセスは、ステップ1030に戻ることになる。
次に、ステップ1030に戻ると、一意識別子を要求しているデータ処理システムが小規模の物理的システムではない場合、ルートジェネレータは、そのマシンに対して、24ビットの大規模システムのルートを割り当てる(ステップ1060)。ルートジェネレータは、大規模システムのルートを128だけ減分して(ステップ1070)、次に使用可能な大規模システムのルートを作成する。そして、このプロセスは、ステップ1030に戻ることになる。
図11は、本発明の実施例に係る論理区画データ処理システムにおいて論理区画を識別する一意識別子を生成する本発明の例示的な動作を概略的に示すフロー図である。このプロセスは、図4に示す区画初期化ランタイム430によって実行される。
区画初期化ランタイムは、特定のデータ処理システムのハードウェアの種類に対応してカスタマイズされている。区画初期化ランタイムは、図4に示す例示的なルーチンを利用して、比較的小規模のデータ処理システムにおいて多数の一意識別子を生成する。この実施例において、論理区画データ処理システムは、わずかに65,536個の一意の論理区画をサポート可能になっている。
区画初期化ランタイムは、16ビットの一意識別子におけるビットを全てゼロに初期化する(ステップ1110)。区画初期化ランタイムは、一意識別子を必要とする新たな区画をデータ処理システムが要求しているかどうかを判断する(ステップ1120)。新たな区画の要求がおこなわれていなかった場合、このプロセスは、新たな区画の要求がおこなわれるまでステップ1120に戻ることになる。
データ処理システムによる新たな区画の要求がおこなわれた場合、区画初期化ランタイムは、16ビットの一意識別子を用いて64ビット識別子を作成し、その64ビット識別子を新たな区画に割り当てる(ステップ1130)。16ビットの一意識別子を1だけ増分して(ステップ1140)、新たな16ビット一意識別子を作成する。そして、このプロセスは、ステップ1120に戻ることになる。ステップ1120〜1140は、複数の一意識別子を生成するために繰り返しおこなってもよい。このように生成された一意64ビット識別子は、複数の論理計算エンティティにおいて異なる論理計算エンティティにそれぞれ割り当てられる。このプロセスは、可能な一意識別子の組み合わせが全て利用されるまで、終点なく連続的におこなわれる。
一次レベル論理区画および仮想マシンを含むこともある大規模のデータ処理システムにおける論理計算エンティティの一意識別子の要求を受けると、その論理計算エンティティが一次レベル論理区画であるかどうかを判断しなければならない。その論理計算エンティティが一次レベル論理区画である場合、上述のように16ビット一意識別子を生成するのではなく、一次レベル論理区画を識別するために23ビット一意識別子を生成する。
図12は、本発明の実施例に係る大規模なデータ処理システムにおいて一次レベルの論理計算エンティティと二次レベルのエンティティとを識別する一意識別子を生成する本発明の例示的な動作を概略的に示すフロー図である。このプロセスは、図4に示す二次レベル区画初期化ランタイム460によって実行される。この実施例において、論理区画データ処理システムは、65,536個を超える数の一意の論理区画をサポートできる。
二次レベル区画初期化ランタイムは、21ビットのデフォルト識別子を全てゼロに設定して(ステップ1210)、デフォルト識別子を作成する。二次レベル区画初期化ランタイムは、全ての区画の15ビット二次レベル区画識別子を000000000000001に設定する(ステップ1220)。つまり、最初の15ビット二次レベル区画識別子を1の値に初期化し、そこから増分して、右端の二つのビットが両方ともゼロにならないようにする。
二次レベル区画初期化ランタイムは、データ処理システムによる新たな区画の要求がおこなわれているかどうかについて判断を下す(ステップ1230)。新たな区画の要求がおこなわれていなかった場合、このプロセスは、新たな区画の要求がおこなわれるまでステップ1230にとどまる。
新たな区画の要求がおこなわれた場合、要求された新たな区画が仮想マシンであるかどうかについて判断が下される(ステップ1235)。新たな区画が仮想マシンではない場合、二次レベル区画初期化ランタイムは、デフォルト識別子を用いて64ビット識別子を作成する(ステップ1240)。この64ビット識別子は、新たな区画に割り当てられる(ステップ1245)。二次レベル区画初期化ランタイムは、デフォルト識別子を4だけ増分して(ステップ1250)次のデフォルト識別子を作成する。そして、このプロセスは、ステップ1230に戻ることになる。
次に、ステップ1235に戻ると、新たな区画が一次レベル論理区画と関連する仮想マシンであると判断された場合、二次レベル区画初期化ランタイムは、二次レベル区画識別子と要求中の論理区画識別子とを用いて64ビット識別子を作成する(ステップ1260)。二次レベル区画初期化ランタイムは、その64ビット区画識別子を新たな仮想マシンに割り当てる(ステップ1270)。二次レベル区画初期化ランタイムは、15ビットの二次レベル識別子を1だけ増分する(ステップ1280)。
二次レベル区画初期化ランタイムは、この二次レベル識別子が右端の二つのビットにおいてゼロで終わるかどうかを判断する(ステップ1285)。右端の二つのビットが両方ともゼロであると判断された場合、この15ビットの二次レベル識別子は1だけ増分される(ステップ1290)。その後、このプロセスは、ステップ1285に戻る。ステップ1285で、二次レベル識別子が右端の二つのビットにおいてゼロで終わらないと判断されると、このプロセスはステップ1230に戻ることになる。このプロセスは、可能な一意識別子の組み合わせが全て利用されるまで、終点なく連続的におこなわれる。
従って、本発明の態様によれば、特定のデータ処理システムによるサポートが可能な論理区画の数に基づいて、一意識別子が自動的に論理区画に割り当てられる。一意識別子は、データ処理システムの製造中に割り当てられた単一の一意な物理的システムの識別子に基づいて生成される。
これらの一連の一意識別子は、システムによるサポートが可能な論理区画の予想数に基づいて、各物理的システム内で使用できる一意識別子の数を制限することにより、効率的に使用される。つまり、比較的少数の論理区画をサポートする物理的システムには、比較的少数の一意識別子が割り当てられる。比較的多数の論理区画をサポート可能であるが、数の面においてより限定されて製作および販売される物理的システムには、比較的多数の一意識別子が割り当てられる。
従って、本発明の態様によれば、データ処理システムに対する多数の一意識別子の割り当てを、システムがサポート可能な論理計算エンティティの数に基づいて、効率的かつ自動的に行うことができる。論理区画データ処理システムによってサポートされる多数の論理区画または仮想マシン(あるいはこれらの両方)には、ネットワーク・ファブリック内への接続時に世界中で一意に識別可能となるように識別子が割り当てられる。
本発明は、ハードウェアにおいて、ソフトウェアにおいて、またはハードウェア要素とソフトウェア要素との両方を含む場合において完全なる形で実施形態を実現することができる。好適な実施形態において、本発明は、ファームウェア、オペレーティング・システム・ソフトウェアなどを含むソフトウェアの形で実現されるが、これに限定されるものではない。
さらに、本発明は、コンピュータまたは命令実行システムによって(あるいは関連して)使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ可読媒体からアクセスできるコンピュータ・プログラムの形で実現することもできる。ここで、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって(あるいは関連して)使用されるプログラムを含有、保存、通信、伝播、または伝送できるあらゆる実体的な装置でもよい。
この媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム(もしくは装置あるいはデバイス)あるいは伝播媒体でもよい。コンピュータ可読媒体の例としては、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定型磁気ディスク、および光ディスクなどが挙げられる。光ディスクの一般的な例としては、コンパクトディスク読み取り専用メモリ(CD−ROM)、読み書き可能なコンパクトディスク(CD−R/W)およびDVDなどが挙げられる。
プログラムコードの保存または実行(あるいはこれら両方)を行うのに適したデータ処理システムは、システムバスを通じて直接的または間接的にメモリ要素に接続される少なくとも一つのプロセッサを備えることになる。このメモリ要素は、プログラムコードの実際の実行時に使用されるローカルメモリと、大容量ストレージと、実行時に大容量ストレージからコードを検索しなければならない回数を減らすために、少なくともプログラムコードの一部を一時的に保存するキャッシュメモリとを含むことができる。
入力/出力(I/O)デバイス(キーボード、ディスプレイ、指示デバイスなどを含むが、これらに限定されない)を、直接的に、あるいは介在するI/Oコントローラを通じてシステムに接続することができる。
また、ネットワーク・アダプタをシステムに接続し、介在する私的または公的ネットワークを通じてデータ処理システムを他のデータ処理システム、遠隔のプリンタあるいは記憶デバイスに接続することも可能である。モデム、ケーブルモデム、およびイーサネット(R)・カードなどは、現在使用可能なネットワーク・アダプタの種類のわずかな例である。
本発明の説明は、例示および説明の目的で示したものであり、包括的であること、あるいは開示した形に本発明を限定することを意図していない。多くの変更および変形が可能であることは、当業者には明らかであろう。本発明の原理と実用的な応用を最良の形で説明するために、そして本発明について予想される特定の使用に適した多様な変更を伴う様々な実施形態を他の当業者が理解できるように、本発明の実施形態を選択および説明したものである。
Claims (3)
- 論理区画データ処理システムの一意識別子を生成するコンピュータ実行型の方法であって、
前記一意識別子は一次レベル論理区画および該一次レベル論理区画と関連する仮想マシンを64ビットの一意識別子で識別するものであり、
前記64ビットの一意識別子における下位の23ビットは、仮想マシンを含まない一次レベル論理区画を識別する場合は、下位2ビットがゼロであり且つ上位21ビットがデフォルト識別子を構成し、一次レベル論理区画と関連する仮想マシンを識別する場合は、該一次レベル論理区画を識別するための上位8ビットの一次レベル区画識別子および該一次レベル論理区画と関連する仮想マシンを識別するための下位15ビットの二次レベル区画識別子を構成し、
新たな区画が要求されているかどうかを判断するステップと、
要求されている区画が仮想マシンではない場合に、前記デフォルト識別子を前記新たな区画に割り当て、前記デフォルト識別子を増分するステップと、
前記要求されている区画が仮想マシンである場合に、前記一次レベル区画識別子および前記二次レベル区画識別子からなる23ビットの一意識別子を作成して、前記仮想マシンに割り当て、前記二次レベル区画識別子を増分するステップと、
増分した前記二次レベル区画識別子の下位2ビットがゼロの場合に、前記二次レベル区画識別子を増分するステップと、
を含む、コンピュータ実行型の方法。 - 論理区画データ処理システムの一意識別子を生成するためのプログラムであって、
前記一意識別子は一次レベル論理区画および該一次レベル論理区画と関連する仮想マシンを64ビットの一意識別子で識別するものであり、
前記64ビットの一意識別子における下位の23ビットは、仮想マシンを含まない一次レベル論理区画を識別する場合は、下位2ビットがゼロであり且つ上位21ビットがデフォルト識別子を構成し、一次レベル論理区画と関連する仮想マシンを識別する場合は、該一次レベル論理区画を識別するための上位8ビットの一次レベル区画識別子および該一次レベル論理区画と関連する仮想マシンを識別するための下位15ビットの二次レベル区画識別子を構成し、
新たな区画が要求されているかどうかを判断するステップと、
要求されている区画が仮想マシンではない場合に、前記デフォルト識別子を前記新たな区画に割り当て、前記デフォルト識別子を増分するステップと、
前記要求されている区画が仮想マシンである場合に、前記一次レベル区画識別子および前記二次レベル区画識別子からなる23ビットの一意識別子を作成して、前記仮想マシンに割り当て、前記二次レベル区画識別子を増分するステップと、
増分した前記二次レベル区画識別子の下位2ビットがゼロの場合に、前記二次レベル区画識別子を増分するステップと、
をコンピュータに実行させるためのプログラム。 - 論理区画データ処理システムの一意識別子を生成する装置であって、
前記一意識別子は一次レベル論理区画および該一次レベル論理区画と関連する仮想マシンを64ビットの一意識別子で識別するものであり、
前記64ビットの一意識別子における下位の23ビットは、仮想マシンを含まない一次レベル論理区画を識別する場合は、下位2ビットがゼロであり且つ上位21ビットがデフォルト識別子を構成し、一次レベル論理区画と関連する仮想マシンを識別する場合は、該一次レベル論理区画を識別するための上位8ビットの一次レベル区画識別子および該一次レベル論理区画と関連する仮想マシンを識別するための下位15ビットの二次レベル区画識別子を構成し、
コンピュータ使用可能なプログラムを含有し、バスに接続されるストレージデバイスと、
プロセッサとを含み、
前記プロセッサは、前記コンピュータ使用可能なプログラムを実行して、
新たな区画が要求されているかどうかを判断し、要求されている区画が仮想マシンではない場合に、前記デフォルト識別子を前記新たな区画に割り当て、前記デフォルト識別子を増分し、前記要求されている区画が仮想マシンである場合に、前記一次レベル区画識別子および前記二次レベル区画識別子からなる23ビットの一意識別子を作成して、前記仮想マシンに割り当て、前記二次レベル区画識別子を増分し、増分した前記二次レベル区画識別子の下位2ビットがゼロの場合に、前記二次レベル区画識別子を増分するように構成される、
一意識別子生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/364466 | 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 |
---|---|
JP2007234012A JP2007234012A (ja) | 2007-09-13 |
JP5160103B2 true JP5160103B2 (ja) | 2013-03-13 |
Family
ID=38445286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007038792A Active JP5160103B2 (ja) | 2006-02-28 | 2007-02-20 | 論理区画の一意識別子生成方法、装置、およびコンピュータ・プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7693811B2 (ja) |
JP (1) | JP5160103B2 (ja) |
CN (1) | CN101030190B (ja) |
TW (1) | TWI453674B (ja) |
Families Citing this family (22)
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 | 株式会社日立製作所 | 仮想計算機システム |
US20080270737A1 (en) * | 2007-04-26 | 2008-10-30 | Hewlett-Packard Development Company, L.P. | Data Processing System And Method |
JP5255566B2 (ja) * | 2007-10-05 | 2013-08-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データを処理するシステムおよび方法 |
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 |
TWI463304B (zh) * | 2009-03-13 | 2014-12-01 | Ibm | 用於在一硬體管理控制台及一邏輯分割區間通信之以超管理器為基礎之設施 |
US20100083251A1 (en) * | 2008-09-12 | 2010-04-01 | Hyper9, Inc. | Techniques For Identifying And Comparing Virtual Machines In A Virtual Machine System |
TWI431479B (zh) * | 2009-04-22 | 2014-03-21 | Infortrend Technology Inc | 資料存取的方法及執行該方法的裝置 |
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 |
WO2015083282A1 (ja) * | 2013-12-06 | 2015-06-11 | 株式会社日立製作所 | 計算機および負荷測定方法 |
US9473353B2 (en) | 2014-06-23 | 2016-10-18 | International Business Machines Corporation | Cluster reconfiguration management |
US9658897B2 (en) | 2014-06-23 | 2017-05-23 | International Business Machines Corporation | Flexible deployment and migration of virtual machines |
FR3032537B1 (fr) * | 2015-02-09 | 2018-03-16 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | METHOD FOR EXECUTING A DATA EXCHANGE REQUEST BETWEEN FIRST AND SECOND PHYSICAL ADDRESSING SPACES DISCHARGED FROM CIRCUITS ON CARD OR CHIP |
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 |
Family Cites Families (22)
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 |
CN1186286A (zh) | 1996-12-26 | 1998-07-01 | 陈旺萍 | 商品防伪方法及标识 |
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 |
US7007276B1 (en) * | 1999-09-28 | 2006-02-28 | International Business Machines Corporation | Method, system and program products for managing groups of partitions of a computing environment |
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 |
US6813686B1 (en) * | 2000-06-27 | 2004-11-02 | Emc Corporation | Method and apparatus for identifying logical volumes in multiple element computer storage domains |
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 |
AT322717T (de) | 2002-06-28 | 2006-04-15 | Hewlett Packard Co | Betriebssystemselecktor und datenplattenspeicher |
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 |
-
2006
- 2006-02-28 US US11/364,466 patent/US7693811B2/en active Active
-
2007
- 2007-02-05 TW TW096104164A patent/TWI453674B/zh active
- 2007-02-20 JP JP2007038792A patent/JP5160103B2/ja active Active
- 2007-02-28 CN CN 200710005873 patent/CN101030190B/zh active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN101030190A (zh) | 2007-09-05 |
US7693811B2 (en) | 2010-04-06 |
TW200813844A (en) | 2008-03-16 |
CN101030190B (zh) | 2010-05-26 |
US20070203943A1 (en) | 2007-08-30 |
JP2007234012A (ja) | 2007-09-13 |
TWI453674B (zh) | 2014-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261800B2 (en) | Intelligent boot device selection and recovery | |
AU2017290741B2 (en) | Secure booting of virtualization managers | |
US8701115B2 (en) | Hypervisor scheduler | |
US9405908B2 (en) | Systems, methods, and apparatus to virtualize TPM accesses | |
US10581890B2 (en) | Container data offline and online scan in a cloud environment | |
US20170249162A1 (en) | Safe transmit packet processing for network function virtualization applications | |
CN106462445B (zh) | 针对虚拟化实施一致性加速器功能隔离 | |
US7925923B1 (en) | Migrating a virtual machine in response to failure of an instruction to execute | |
US9177113B2 (en) | Methods and systems for automated network scanning in dynamic virtualized environments | |
US7743189B2 (en) | PCI function south-side data management | |
JP4001877B2 (ja) | 入出力ファブリックにおけるハードウェア・エラーからの自動回復 | |
US8301806B2 (en) | Configuring an input/output adapter | |
KR101107408B1 (ko) | 중복 구성을 생성하기 위한 주변장치 컴포넌트 상호접속 입력/출력 가상화 디바이스의 사용 | |
US7529860B2 (en) | System and method for configuring an endpoint based on specified valid combinations of functions | |
US7606965B2 (en) | Information handling system with virtualized I/O adapter ports | |
US7870301B2 (en) | System and method for modification of virtual adapter resources in a logically partitioned data processing system | |
US7676694B2 (en) | Managing system components | |
JP5376496B2 (ja) | 仮想マシンデバイスの動的割り当て | |
US6820164B2 (en) | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices | |
US7398337B2 (en) | Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization | |
JP5179597B2 (ja) | 構成の仮想トポロジの変化 | |
US9218195B2 (en) | Vendor-independent resource configuration interface for self-virtualizing input/output device | |
TW591413B (en) | A common boot environment for a modular server system | |
US8141094B2 (en) | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions | |
US7483974B2 (en) | Virtual management controller to coordinate processing blade management in a blade server environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121002 |
|
R155 | Notification before disposition of declining of application |
Free format text: JAPANESE INTERMEDIATE CODE: R155 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5160103 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |