JP2002544620A - 論理区分化コンピュータのイベント・ドリブン通信インタフェース - Google Patents

論理区分化コンピュータのイベント・ドリブン通信インタフェース

Info

Publication number
JP2002544620A
JP2002544620A JP2000618825A JP2000618825A JP2002544620A JP 2002544620 A JP2002544620 A JP 2002544620A JP 2000618825 A JP2000618825 A JP 2000618825A JP 2000618825 A JP2000618825 A JP 2000618825A JP 2002544620 A JP2002544620 A JP 2002544620A
Authority
JP
Japan
Prior art keywords
event
logical partition
partition
queue
manager
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.)
Granted
Application number
JP2000618825A
Other languages
English (en)
Other versions
JP3777095B2 (ja
Inventor
アームストロング・ウィリアム・ジョセフ
ナイヤー・ナレッシュ
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 JP2002544620A publication Critical patent/JP2002544620A/ja
Application granted granted Critical
Publication of JP3777095B2 publication Critical patent/JP3777095B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Abstract

(57)【要約】 【課題】 コンピュータ内において、各論理区画の独立性を維持するメモリ・アクセス制御に準拠する一方、論理区画間の通信を可能にする方法及び装置を提供すること。 【解決手段】 イベント・ドリブン通信インタフェースを用いて、論理区分化コンピュータ内の複数の論理区画40、42、44間の通信をサポートする装置、プログラム製品及び方法が提供される。イベント・ドリブン通信インタフェースが、各論理区画40、42、44によりアクセス可能な区画マネージャ46内に、少なくとも部分的に配置される。イベントが一般に論理区画40、42、44間でメッセージの形式で渡される。メッセージは最初に、イベントを開始するソース論理区画から区画マネージャ46を通じて、イベントの宛先であるターゲット論理区画に渡される。一方、論理区画40、42、44に関連付けられる独立したアドレス空間が維持される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は一般に、コンピュータ及びコンピュータ・ソフトウェアに関し、特に
、論理的に区分化されたコンピュータにおける複数の論理区画の管理に関する。
【0002】
【関連技術】
本願は以下の特許出願すなわち、Armstrongらによる米国特許出願第3145
41号(出願人整理番号:RO999021)"Apparatus and Method for Spec
ifying Maximum Interactive Performance in a Logical Partition of a Compu
ter System Independently from the Maximum Interactive Performance in Oth
er Partitions"(1999年5月19日出願)、Armstrongらによる米国特許出
願第314769号(出願人整理番号:RO999022)"Processor Reset G
enerated via Memory Access Interrupt"(1999年5月19日出願)、Armst
rongらによる米国特許出願第314324号(出願人整理番号:RO99902
3)"Management of a Concurrent Use License in a Logically-Partitioned C
omputer"(1999年5月19日出願)、及びArmstrongらによる米国特許出願
第314214号(出願人整理番号:RO999025)"Logical Partition M
anager and Method"(1999年5月19日出願)に関連する。
【0003】
【従来の技術】
コンピュータ技術は急速に進化し続けており、ソフトウェア、並びにこうした
ソフトウェアが実行される基盤となるハードウェアの両面において、有意義な開
発が行われている。コンピュータ技術における重要な進歩の1つは、マルチプロ
セッサ・コンピュータの開発であり、これは複数のコンピュータ・プロセッサが
互いにインタフェースして複数の操作が同時に実行されることを可能にし、それ
によりこうしたコンピュータの全体性能を改善する。また、多数のマルチプロセ
ッサ・コンピュータ設計が、論理区分化に頼ることにより、コンピュータ資源を
割当てており、それにより複数同時タスクの性能を更に向上させる。
【0004】 論理区分化により、単一の物理コンピュータが本質的に、複数の独立した"仮
想"コンピュータ(論理区画と称される)のように動作することを可能にされ、
物理コンピュータ内の様々な資源(例えばプロセッサ、メモリ、入出力装置)が
、様々な論理区画の間で割当てられる。各論理区画は別々のオペレーティング・
システムを実行し、ユーザから見て及び論理区画上で実行されるソフトウェア・
アプリケーションから見て、完全に独立したコンピュータとして動作する。
【0005】 しばしば"ハイパバイザ"または"区画マネージャ"と呼ばれる共用資源が、論理
区画を管理し、異なる論理区画への資源の割当てを容易にする。この機能のコン
ポーネントとして、区画マネージャは様々な論理区画に対応して別々の仮想メモ
リ・アドレス空間を保持し、それにより、各論理区画により使用されるメモリが
、他の論理区画とは完全に無関係となる。各仮想アドレス空間のアドレスを、コ
ンピュータの物理アドレスすなわち実アドレス空間のアドレスにマップするため
に、一般に1つ以上のアドレス変換テーブルが区画マネージャにより使用される
。論理区画が特定の仮想アドレスをアクセスしようとする都度、区画マネージャ
は仮想アドレスを実アドレスに変換し、共用メモリが論理区画により直接アクセ
スされる。
【0006】 ほとんどの論理区分化コンピュータにおいて採用される重要な設計規則は、各
論理区画の仮想アドレス空間が、他の論理区画から完全にアクセス不能なことで
ある。論理区画のアドレス空間内の仮想アドレスへのアクセスを、その論理区画
だけに制限するために、厳格なポリシが区画マネージャにより実施される。更に
、論理区画は実アドレスを使用してメモリをアクセスすることを許可されず、従
って、論理区画は自身が所有しない実アドレスを使用することにより、別の区画
のメモリを破壊することができない。そのために、各論理区画は別々の物理コン
ピュータをエミュレートでき、非区分化コンピュータ用に元来設計されたアプリ
ケーションが、変更またはカスタマイズ無しにしばしば論理区画内で実行され得
る。
【0007】 しかしながら、厳格なメモリ・アクセス規則の望ましくない副作用は、論理区
画間での通信が一般に非常に制限されることである。各論理区画は、あたかもそ
れが別々の物理コンピュータであるかのように動作するので、一般に区画相互間
通信の唯一の形式は、あるコンピュータがネットワーク上の別の物理コンピュー
タと通信する場合とほとんど同様に、従来のネットワーク・インタフェースを介
して行われる。こうしたインタフェースを実現するために、しばしば各論理区画
が、コンピュータ内の別のネットワーク・アダプタ資源に割当てられ、実際の通
信が物理コンピュータ上のあるネットワーク・アダプタから、両方のネットワー
ク・アダプタが接続される外部ネットワークを介して、コンピュータ上の他のネ
ットワーク・アダプタに返送される。このような通信は比較的遅く、面倒であり
、少なくともコンピュータの処理コア内での内部通信に比較して、一般にかなり
高価である。
【0008】
【発明が解決しようとする課題】
従って、コンピュータ内において各論理区画の独立性を維持するメモリ・アク
セス制御に準拠する一方で、論理区画間の通信を可能にする改善された態様が待
望される。
【0009】
【課題を解決するための手段】
本発明は、イベント・ドリブン通信インタフェースを用いて、論理区分化コン
ピュータ内の複数の論理区画間の通信をサポートする装置、プログラム製品、及
び方法を提供することにより、従来技術に関連するこれらの及び他の問題を解決
するものであり、特に、各論理区画が他の論理区画からは独立したアドレス空間
内で動作する。イベント・ドリブン通信インタフェースは、各論理区画によりア
クセス可能な区画マネージャ内に、少なくとも部分的に配置される。
【0010】 本発明に従う実施例では、イベントが一般に論理区画間でメッセージの形式で
受け渡しされる。メッセージは最初に、イベントを開始するソース論理区画から
区画マネージャを通じて、イベントの宛先であるターゲット論理区画に渡される
。論理区画間でのイベントの受け渡しは一般に、完全にコンピュータの内部ハー
ドウェア・コンポーネントを通じて発生し、通常、ほとんどオーバヘッドを伴わ
ない。従って、外部ネットワークなどを使用する場合に比べて、優れた性能が提
供される。また、論理区画間でこうしたメッセージをイベントの形式で渡すこと
により、論理区画のアドレス空間の独立性を緩和することなく通信が発生する。
【0011】 本発明を特徴付けるこれらの及び他の利点及びフィーチャが、本明細書の特許
請求の範囲で述べられる。しかしながら、本発明、並びに本発明の使用を通じて
得られる利点及び目的をより理解するために、添付の図面、及び本発明の典型的
な実施例に関する以下の説明を参照されたい。
【0012】
【発明の実施の形態】
添付の図面を通じて、同一の参照番号は同一のパーツを示す。図1は、本発明
に従うデータ処理装置またはコンピュータ10を示す。データ処理装置10は一
般に、ネットワーク・サーバ、中規模コンピュータ、メインフレーム・コンピュ
ータなどの、多数のマルチユーザ・コンピュータ・システムを表す。しかしなが
ら、本発明は他のデータ処理装置、例えば、ワークステーション、デスクトップ
・コンピュータ、ポータブル・コンピュータなどの、スタンドアロンまたは単一
ユーザ・コンピュータ・システムや、組み込み制御装置などの他のコンピュータ
装置においても実現され得る。データ処理装置10の好適な実施例の1つは、I
BMから販売されるAS/400シリーズ・コンピュータなどの、中規模コンピ
ュータである。
【0013】 データ処理装置10は一般に、1つ以上のシステム・プロセッサ12を含み、
これらはダイナミック・ランダム・アクセス・メモリ(DRAM)のアレイなど
から成る主記憶装置14を含む、メモリ・サブシステムに接続される。更に、プ
ロセッサ12と主記憶装置14との間には、キャッシュ・サブシステム16が配
置されており、これは一般に1レベル以上のデータ・キャッシュ、命令キャッシ
ュ、または組み合わせキャッシュを含み、周知のように特定のキャッシュが個々
のプロセッサを、または複数のプロセッサをサービスする。更に、主記憶装置1
4はシステム・バス18及び複数のインタフェース装置を介して、多数のタイプ
の外部(I/O)装置に接続される。こうしたインタフェース装置には、入出力
バス接続インタフェース20、ワークステーション制御装置22、記憶制御装置
24などが含まれ、それぞれは1つ以上の外部ネットワーク26、1つ以上のワ
ークステーション28、直接アクセス記憶装置(DASD)30などの1つ以上
の記憶装置へのアクセスを提供する。
【0014】 図2は、コンピュータ10上の論理区分化コンピュータ環境を実現するために
使用される、基本ソフトウェア・コンポーネント及び資源を詳細に示し、区画マ
ネージャ46により管理される複数の論理区画40、42、44を含む。周知の
ように、任意の数の論理区画がサポートされる。
【0015】 図示の実施例では、論理区画40が基本区画として作用し、論理区画42及び
44が2次区画として作用する。この状況において、基本区画はコンピュータ1
0上の2次論理区画のパワー・オンまたはパワー・オフ処理や、2次論理区画の
メモリ・ダンプの開始などコンピュータの一部の区画管理機能を共用する。区画
マネージャ46は基本区画制御ブロック50により示され、これは基本区画40
内に存在するオペレーティング・システム52内に配置される。他の区画管理サ
ービスは全ての論理区画によりアクセスされ、共用サービス・ブロック48によ
り表される。基本論理区画内の区画管理機能の実現については、例えば前記関連
米国特許出願第314214号(出願人整理番号:RO999025)で述べら
れている。しかしながら区画管理機能は、本発明に従う他の実施例では特定の論
理区画内で実現される必要はない。
【0016】 各論理区画はオペレーティング・システムを利用し(論理区画40、42及び
44に、オペレーティング・システム52、54及び56がそれぞれ対応する)
、オペレーティング・システムが、非区分化コンピュータのオペレーティング・
システムと同様に論理区画の基本動作を制御する。例えば、各オペレーティング
・システム52乃至56は、IBMから販売されるOS/400オペレーティン
グ・システムを用いて実現され、これはカーネル上に存在する、例えばAS/4
00システム認可内部コード(SLIC:system licensed internal code)で
ある。ブロック48内の共用サービスは、ここでは区画認可内部コード(PLI
C:partition licensed internal code)とも呼ばれる。
【0017】 各論理区画40乃至44は、仮想メモリ60により示される別々の、すなわち
独立したメモリ空間内で実行される。更に各論理区画40乃至44は、コンピュ
ータ10内で使用可能な資源の一部を静的に、または動的に割当てられる。例え
ば、各論理区画は1つ以上のプロセッサ12、並びに使用可能なメモリ空間の一
部を仮想メモリ60として割当てられる。論理パーティションはプロセッサなど
の特定のハードウェア資源を共用し、所与のプロセッサが2つ以上の論理区画に
より利用される。別の実施例では、ハードウェア資源が1度に1つの論理区画に
だけ割当てられる。
【0018】 大容量記憶装置、バックアップ記憶装置、ユーザ入力、ネットワーク接続など
の追加の資源が、周知のように、一般に1つ以上の論理区画に割当てられる。資
源は例えば、バス毎にまたは資源毎に多様に割当てられ、複数の論理区画が同一
バス上の資源を共用する。一部の資源は、1度に複数の論理区画に割当てられ得
る。図2は、例えば3つの論理バス62、64及び66を示し、バス62上の複
数の資源、例えば、直接アクセス記憶装置(DASD)68、制御パネル70、
テープ・ドライブ72、及び光ディスク・ドライブ74が、基本論理区画40に
割当てられる。他方、バス64は資源を資源毎に割当てられ、例えばローカル・
エリア・ネットワーク(LAN)アダプタ76、光ディスク・ドライブ78、及
びDASD80が2次論理区画42に割当てられ、LANアダプタ82及び84
が2次論理区画44に割当てられる。バス66は例えば、論理区画44に特定的
に割当てられたバスを表し、このバス上の全ての資源、例えばDASD86及び
88が、同一の論理区画に割当てられる。
【0019】 図2の特定の資源は、単に典型例に過ぎず、別の実施例では、資源の任意の組
み合わせ及び構成が論理区画に割当てられてよい。更に、一部の実施例では、資
源が動的に再割当てされ、他の論理区画のニーズに応える。更に、資源がコンピ
ュータを特定のハードウェア装置とインタフェースするために使用される入出力
プロセッサ(IOP)の観点から表される。
【0020】 図2に示され、また本発明の実施例を構成する様々なソフトウェア・コンポー
ネント及び資源が、様々なコンピュータ・ソフトウェア・アプリケーション、ル
ーチン、コンポーネント、プログラム、オブジェクト、モジュール、データ構造
などを用いて多様に実現される。これらは以下では、"コンピュータ・プログラ
ム"または単に"プログラム"と称される。コンピュータ・プログラムは一般に、
1つ以上の命令を含み、こうした命令は様々な時刻にコンピュータ内の様々なメ
モリ及び記憶装置内に存在し、またコンピュータ内の1つ以上のプロセッサによ
り読出され、実行されてコンピュータに本発明の様々な態様を実現するステップ
または要素を実行するのに必要なステップを実行させる。更に、本発明は完全機
能型のコンピュータの状況で述べられるが、当業者であれば本発明の様々な実施
例がプログラム製品として様々な形態で配布され、また本発明が実際に配布を行
うために使用される特定タイプの信号担持媒体に関係なく、同様に当てはまるこ
とが理解できよう。信号担持媒体の例には、揮発性及び不揮発性メモリ装置、フ
ロッピー(R)及び他の取り外し可能ディスク、ハード・ディスク・ドライブ、
磁気テープ、光ディスク(例えばCD−ROM、DVD)などの記録式媒体と、
デジタル及びアナログ通信リンクなどの伝送タイプの媒体とが含まれる。
【0021】 更に、後述の様々なプログラムが、本発明の特定の実施例において実現される
アプリケーションにもとづき識別される。また以下では便宜上、任意の特定のプ
ログラム用語が使用されるが、本発明はこうした用語により識別される、または
意味される特定のアプリケーションだけにその利用が制限されるものではない。
【0022】 当業者であれば、図1及び図2に示される典型的な環境が、本発明を制限する
ものではないことが理解できよう。実際当業者であれば、他の代替ハードウェア
及びソフトウェア環境が、本発明の範囲から逸れることなく使用可能であること
が理解できよう。
【0023】 イベント・ドリブン通信インタフェース: 本発明の図示の実施例は一般に、イベント・ドリブン通信インタフェースを用
いて、論理区分化コンピュータ内の論理区画間の通信をサポートする。図示の実
施例のイベント・ドリブン通信インタフェースは、イベントを論理区画間でメッ
セージ・レコードの形式で受け渡しする。詳細には、メッセージ・レコードはソ
ース論理区画から区画マネージャに渡され、次に区画マネージャからターゲット
論理区画に渡される。各論理区画は1つ以上のイベント・スタックを保持し、こ
れはその論理区画により周期的にポーリングされて、最後のポーリング以来、論
理区画のスタック上にイベントが配置されたか否かが判断される。保留のイベン
トに対して、ターゲット論理区画が適切なイベント・ハンドラを呼び出し、これ
がイベントに作用することに加え、肯定応答(ACK)イベントをオリジナル・
ソース論理区画に、基本的に同一のイベント構造を介して返送する。
【0024】 図示の実施例では、イベント・ベースの通信インタフェースが、各論理区画の
他に、区画マネージャ内で実現されるコンポーネントを有する。図2に示される
ように、例えばコンピュータ10は通信インタフェースを含み、これは各論理区
画40、42及び44内のイベント・ジェネレータ90及びイベント・ハンドラ
92モジュールを用いて、それぞれ対応する論理区画内でイベントを生成及び処
理する。区画マネージャ46内のイベント・マネージャ94は、ソース論理区画
のイベント・ジェネレータ90と、ターゲット論理区画のイベント・ハンドラ9
2との間のイベントの受け渡し、並びに使用可能なメッセージ・レコードの保守
、及びACKイベントの処理を後述のように取り扱う。
【0025】 他のイベント・ベースの通信プロトコルも、別の実施例において使用される。
更にイベント・マネージャ、イベント・ジェネレータ、及びイベント・ハンドラ
の間と同様に、区画マネージャと論理区画との間でも機能の特定の割当てが他の
アプリケーションにおいて変化し得る。従って、本発明はここで開示される特定
の実施例に制限されるものではない。
【0026】 図3は、図2のイベント・ドリブン通信システムにおいて使用される幾つかの
データ構造を示す。特に各論理区画は一般に、イベント・スタック100などの
1つ以上のイベント記憶データ構造を含み、各々がそれに関連付けられる保留フ
ラグ102を含む。各論理区画はまた、メッセージ・レコード103のための記
憶域を含み、論理区画はこれを用いて、後述のように他の論理区画に渡されるイ
ベント・メッセージを作成する。
【0027】 図示の実施例では、各イベント記憶データ構造100が循環スタックとして実
現されるが、例えばプッシュプル・スタックなどの他のスタック、及び他のデー
タ構造も別の実施例において使用され得る。更に、1つのこうしたイベント記憶
データ構造100が1区画につき示されるが、実施例によっては、性能及び記憶
容量を向上するために複数のデータ構造が使用される。例えば、複数のプロセッ
サが特定の論理区画に割当てられる実施例では、各こうしたプロセッサに対して
、イベント・スタックを含むことが望ましいであろう。
【0028】 保留フラグ102は、保留イベントが区画マネージャ内に記憶されており、そ
のフラグが関連付けられる論理区画による受信を待機しているか否かに関する標
識を記憶する。一般に、各保留フラグ102は特定のイベント・スタック100
に関連付けられ、従って、複数のイベント・スタックが1論理区画内で使用され
る場合、複数の保留フラグが使用される。別の実施例では、保留イベントが論理
区画による受信を待機していることを示すために他のデータ構造も使用される。
【0029】 論理区画間で受け渡しされるメッセージ・レコードを保持するために、一連の
キューが区画マネージャ内に提供され、ここで述べるイベント・ドリブン通信イ
ンタフェースを実現する。参照番号104は複数の使用可能キューを示し、各々
はメッセージ・レコード106のリンク・リストを含む。各使用可能キューは、
多数の未使用のメッセージ・レコードを記憶するために使用される。図示の実施
例では、1使用可能キューがソース論理区画とターゲット論理区画との間の、各
潜在パスに割当てられる。更に、各こうしたパスに対して1使用可能キューが各
イベント・タイプに対して使用される。使用可能キュー104はそれ自体3次元
アレイに編成され、ソース論理区画、ターゲット論理区画、及びイベント・タイ
プにより指標付けされる。使用可能キューの合計は、イベント・タイプの数と論
理区画の数の自乗との積に等しい。
【0030】 使用可能キューのアレイは、メッセージ・レコードの事前に割当てられた固定
ヒープとして機能する。しかしながら、メッセージ・レコードのためのメモリは
、他の実施例では動的に割当てられ得る。更に、特定の論理区画がソースまたは
ターゲット論理区画として使用されない場合、使用可能キューの数がそれに従い
減少され得る。
【0031】 キューの他の2つのアレイが、区画マネージャ内に提供される。第1は保留キ
ュー108のアレイであり、各々がリンク・リストの形式で記憶される複数のメ
ッセージ・レコード110を含む。保留キュー・アレイ108は、異なる論理区
画への転送を保留中のイベントを記憶するために使用される。各論理区画に対し
て1保留キューが提供され、アレイがターゲット論理区画により指標付けされる
。更に、論理区画が2つ以上のイベント・スタックを使用する場合、保留キュー
が各こうしたイベント・スタックに対して割当てられる。
【0032】 第2に、肯定応答(ACK)キュー112が提供され、これはターゲット論理
区画へ渡された先行イベントに対する肯定応答として、ソース論理区画に返送さ
れるのを待機中の、メッセージ・レコード114のリンク・リストを保持する。
保留キューのアレイと同様に、1つのACKキューが各論理区画に対して提供さ
れる。更に、任意の論理区画が2つ以上のイベント・スタックを含む場合、1つ
のACKキューが各こうしたスタックに対して提供される。
【0033】 図3の構成では、固定数のメッセージ・レコードが1度割当てられ、様々なキ
ューの間で繰り返し受け渡しされ、それにより新たなイベント、ACKなどに対
してメモリを動的に割当てる必要性を排除する。しかしながら、本発明に従うイ
ベント・ドリブン通信を実現するために、他のデータ記憶手法も使用され得る。
【0034】 図4は、図3の各キューにより使用されるメッセージ・レコード120の好適
なフォーマットを示す。図示の実施例の各メッセージは可変サイズであり、最小
サイズが24バイトであり、最大サイズが256バイトである。各メッセージ・
レコードはヘッダを含み、これは複数のフィールド、例えばフィールド122乃
至140を含む。フィールド122は8ビット(1バイト)フィールドであり、
一連の1ビット・フラグ122a乃至122dを含む。これらは有効フラグ12
2a、ACKタイプ・フラグ122b、ACK標識フラグ122c、及びSIG
/ACKフラグ122dである。追加の予備空間122eも、フィールド122
内に含まれる。
【0035】 有効フラグ122aは、メッセージ・レコード内のデータが有効で、まだター
ゲット論理区画により処理されていないことを示すために使用される。フラグ1
22bは、特定イベントに対して要求されるACKが、肯定応答の即時タイプか
、据え置きタイプかを示す。フラグ122cは、メッセージ・レコード内で指定
されるイベントに対して肯定応答が要求されるか否かを示す。フラグ122dは
、メッセージ・レコードが新たなイベントに対応するか、または肯定応答に対応
するかを示す。
【0036】 図示の実施例では、即時肯定応答は肯定応答を要求するイベントに応答して、
ターゲット論理区画がこうした肯定応答をソース論理区画に戻すことを要求する
。他方、据え置き肯定応答はターゲット論理区画からの即時肯定応答を要求せず
、ターゲット論理区画の終了に応答して、ソース論理区画が自動的に通知される
ことを可能にする、加入または登録機構の形式として使用される。
【0037】 以下で詳述するようにこうした構成は、任意のターゲット論理区画、例えば2
次論理区画が終了するときにソース論理区画、例えば基本論理区画が通知される
ように基本的に同意することを可能にする。図示の実施例における同意は一般に
、ソース論理区画のイベント・ジェネレータが、追跡される各ターゲット論理区
画に対してイベントを生成することを要求する。各こうしたイベントは、関連メ
ッセージ・レコードのフラグ122b及び122cを有し、これらのフラグは据
え置きACKがイベントに対して要求されることを示す。ターゲット論理区画が
終了すると、イベント・マネージャは据え置きACKをソース論理区画に自動的
に返却する。実施例によっては各論理区画に対して、別々の即時ACKキュー及
び据え置きACKキューの使用をサポートすることが望ましく、この場合、据え
置きACKだけが論理区画の終了に応答して、自動的に発行される。
【0038】 フィールド124は、最大256の異なるイベント・タイプをサポートする8
ビット(1バイト)タイプ・フィールドである。フィールド126は16ビット
・サブタイプ・フィールドであり、各イベント・タイプの下で65536のイベ
ントをサポートする。以下で詳述するように、各イベント・タイプは特定のイベ
ント・ハンドラ・ルーチンと、任意的にそのイベント・タイプに関連付けられる
肯定応答ハンドラ・ルーチンとに関連付けられる。所与のイベント・タイプの下
での各特定のイベントは、(少なくとも初期には)同一のイベント・ハンドラ・
ルーチンにより処理される。
【0039】 フィールド128及び130は、イベントに関連付けられるソース及びターゲ
ット論理区画をそれぞれ識別する1バイト識別子であり(最大256の論理区画
をサポートする)、フィールド132はメッセージ・レコードの全体サイズより
も小さなサイズを示す1バイト値である(従って、メッセージ・レコードが最大
256バイトであることを可能にする)。
【0040】 フィールド134は、ステータス情報をソース及びターゲット論理区画に提供
する1バイト戻りコードである。戻りコードは、イベントに関する任意の数の細
目を指定し、それらには例えば、成功結果、イベントの待ち行列化のためにバッ
ファが使用不能なこと、イベントの取り消し操作の成功、無効アドレス、無効区
画識別子、無効レコード・サイズ、無効タイプまたはサブタイプ、無効イベント
・データ、論理区画の終了、イベント・パスのクローズ、総称エラー、或いはソ
ース論理区画に関連する他の情報が含まれる。更に、戻りコードは、メッセージ
・レコードに関連付けられるイベント特定データ内に、追加のエラー情報が提供
されることを示し得る。
【0041】 フィールド136及び138は、それぞれ16ビットのソース及びターゲット
・インスタンス識別子を提供する。ソース及びターゲット・インスタンス識別子
は、ソース論理区画が特定のターゲット論理区画への指定パスをオープンしよう
とする都度確立される。図示の実施例では、ソース論理区画が区画マネージャか
らパスの割当てを要求し、返答としてそのパスに関連付けられる1対の識別子を
受信することにより、こうしたパスをオープンする。これらの識別子は、パス上
を伝達される将来イベントにより使用される。区画マネージャ内のソース及びタ
ーゲット・インスタンス識別子の有効性チェックは、アクティブ・パスが確立さ
れる間、論理区画間の通信を制限することにより直列化を単純化する。パスが論
理区画により、または区画マネージャによりクローズされる都度、そのパスのイ
ンスタンス識別子が無効となり、更にパス上の通信が禁止される。
【0042】 フィールド140は64ビットの相関トークンを記憶する。相関トークンはソ
ース論理区画により生成され、区画マネージャにより、肯定応答を対応イベント
に突き合わせるために使用される。ソース論理区画もまた相関トークンを用いる
ことにより、肯定応答を発行済みイベントに対して局所的に記憶されたメッセー
ジ・データと突き合わせる。
【0043】 フィールド142は、特定のイベントに対して要求される追加データを提供す
るために使用される、32ビットのイベント依存データ・フィールドを含む。フ
ィールド142で提供されるデータを越える追加データを要求するイベントに対
して、フィールド144は、0バイト乃至232バイト長の可変サイズのデータ
・フィールドを提供し、それにより24バイト乃至256バイトの全体メッセー
ジ・レコード・サイズを提供する。
【0044】 様々な変更が、本発明に従う図示のメッセージ・レコードに対して可能である
。例えば、メッセージ・レコードが固定サイズであって、別のサイズ・フィール
ドの必要性を排除してもよい。更に、フィールドの構成及びサイズに関する数え
切れない変更、及びデータの他の組み合わせが、本発明に従うメッセージ・レコ
ード内に記憶され得る。従って本発明は、ここで示す特定の情報構成に限られる
ものではない。
【0045】 本発明に従うイベント・ドリブン通信をサポートするために、イベント・マネ
ージャ94が、各論理区画にとって使用可能な機能またはサービスのセットを含
む。例えば、図示の実施例のイベント・マネージャ94は、少なくともイベント
通知機能(signalLPEvent())、保留イベント獲得機能(getPendingLPEvents()
)、肯定応答通知機能(signalLPACK())、及び保留イベント取り消し機能(can
celLPEvent())を提供する。追加のサービス、例えば、論理区画がメッセージ・
レコード内の特定のデータ・フィールドを変更または検索することを可能にする
サービスなどが、サポートされてもよく、これらの使用及び構成については、当
業者には明らかであろう。
【0046】 イベント・マネージャ94により提供される基本サービスをより詳細に示すた
めに、図5乃至図8は、イベント・マネージャとソース論理区画内のイベント・
ジェネレータとの、及びターゲット論理区画内のイベント・ハンドラとの対話を
示す。例えば、図5はイベント通知ルーチン150を示し、これはイベントをタ
ーゲット論理区画に渡す目的で、ソース論理区画内のイベント・ジェネレータに
より開始される。
【0047】 イベント通知ルーチン150はブロック152で開始し、特定のターゲット論
理区画に渡されるイベントのために、メッセージ・レコード・データを生成し、
これは一般に、ソース論理区画内に提供されるメッセージ・データ記憶103(
図3参照)内に生成される。次にブロック154で、イベント・マネージャ内の
signalLPEvent()機能156が、ソース論理区画内のイベント・マネージャによ
り呼び出される(参照番号158で示される)。この機能呼び出しにより提供さ
れるのは、ソース論理区画内のメッセージ・データ・レコードを指し示すポイン
タである。
【0048】 signalLPEvent()機能156はブロック160で開始し、メッセージ・レコー
ド・データにより提供されるインスタンスIDが有効か否かを判断する。更にこ
の時点で、追加のフォーマット・チェックが発生し得、例えばメッセージ・レコ
ードのサイズが有効範囲内であるか否かなどを確認する。インスタンスIDが有
効でない場合、ブロック162で、無効インスタンスIDエラーがソース論理区
画に戻される。これは一般に、固有のコードを当該機能に提供されるメッセージ
・レコードの戻りコード・フィールドに記憶することによる。
【0049】 しかしながらインスタンスIDが有効な場合、制御はブロック164に移行し
、イベントが肯定応答を要求するか否かを判断するか、或いはターゲット論理区
画イベント・スタックが満杯か否かを判断する。図示の実施例では、イベントが
肯定応答を要求するか否かの判断が、イベント・マネージャに提供されるメッセ
ージ・レコードのフラグ122cをチェックすることにより行われる。ターゲッ
ト論理区画イベント・スタックが満杯か否かの判断は、最初に関数呼び出し内で
提供されるメッセージ・レコードから、ターゲット論理区画を識別し、次に有効
フラグ122aのテストにより、ターゲット論理区画が既に前のイベントを処理
したか否かを確認することにより行われる。
【0050】 この点に関し図示の実施例では、区画マネージャは各論理区画内の各イベント
・スタックに対して、イベントをコピーするための次のエントリを指し示す実ア
ドレス・ポインタを保持する。対応する仮想アドレス・ポインタも、論理区画内
に別々に保持される。仮想アドレス・ポインタは、初期プログラム・ロード(I
PL)の間に、論理区画が区画マネージャに新たなイベント・スタック用にメモ
リを割当てるための要求を出す度に初期設定される。こうした要求の間、区画マ
ネージャはメモリをイベント・スタックのために割当て、仮想アドレス・ポイン
タを論理区画に戻す。その時区画マネージャはまた、仮想アドレス・ポインタの
実アドレスをキャッシュし、後にイベント・スタックが区画マネージャによりア
クセスされるようにする。こうした初期化ルーチンの構成は、当業者の能力の範
囲内で実現されるので、ここでは詳述しない。更に、イベント・スタック内の現
位置のレコードを保持する他の方法も、別の実施例において使用され得る。
【0051】 ブロック164に戻り、イベントが肯定応答を要求するか、またはターゲット
論理区画イベント・スタックが満杯の場合、制御はブロック166に移行し、メ
ッセージ・レコードをこの機能に提供されるメッセージ・レコード内で指定され
る特定のソース論理区画、ターゲット論理区画、及びイベント・タイプの使用可
能キューから検索しようとする。ブロック166は、こうしたメッセージ・レコ
ードが使用可能キュー上で使用可能か否かを判断する。こうしたメッセージ・レ
コードが使用不能な場合、制御はブロック168に移行し、"バッファ使用不能"
エラーを一般にメッセージ・レコードの戻りコード・フィールド内に記して、ソ
ース論理区画に戻す。しかしながら、メッセージ・レコードが使用可能な場合、
制御はブロック170に移行しそのレコードを指し示すポインタを検索すること
により、使用可能なメッセージ・レコードを獲得する。次にブロック172で、
この機能に提供されるメッセージ・レコード・データを使用可能なメッセージ・
レコード内にコピーする。制御は次にブロック174に移行する。更に、ブロッ
ク164に戻り、イベントが肯定応答を要求せず、またターゲット論理区画イベ
ント・スタックが満杯でない場合には、ブロック164が制御を直接ブロック1
74に渡し、ブロック166乃至172をバイパスする。
【0052】 ブロック174は再度、ターゲット論理区画イベント・スタックが満杯か否か
を判断する。満杯でない場合、制御はブロック176に移行し、使用可能なメッ
セージをターゲット論理区画に対応する保留キューにエンキューする。図示の実
施例の各キューのリンク・リストにより、メッセージ・レコードのエンキューは
一般に、使用可能キュー内のレコードのチェーンからメッセージ・レコードを除
去し、メッセージ・レコードを保留キュー内のレコードのチェーンに挿入するこ
とによる。これらの両方はルーチン・リスト操作であり、実際にメッセージ・レ
コード・データをメモリ内の新たな位置に移動するのではなく、単にポインタを
更新することによる。他のデータ構造では、他の操作が要求され得る。
【0053】 次にブロック178は、ターゲット論理区画に関連付けられる保留フラグをセ
ットし、その区画に対して保留イベントが現在、その論理区画に関連付けられる
保留キュー上に存在することを示す。制御は次にブロック180に移行し、"成
功"コードをソール論理区画に戻す。
【0054】 ブロック174に戻り、ターゲット論理区画イベント・スタックが満杯でない
場合、制御はブロック182に移行し、イベント・マネージャのターゲット論理
区画イベント・スタック・ポインタを増分し、新たなイベントのために、次のイ
ベント・スタック・エントリを確保する。図示の実施例では、イベント・スタッ
ク・エントリは64バイト・ブロックに分割される。機能に提供される完全なメ
ッセージ・レコードを組み込むために必要な適切な量だけ、イベント・スタック
・ポインタを増分することにより必要な数のブロックが確保される。しかしなが
ら、固定サイズのメッセージ・レコードを使用する実施例では、固定のオフセッ
トがイベント・スタック・ポインタに追加される。更に、循環イベント・スタッ
クの使用は、一旦スタックに割当てられるメモリの終わりに達するとき、イベン
ト・スタック・ポインタがイベント・スタックの先頭に循環することを保証する
ために、追加の境界チェックを必要とし得る。これは一般に、最大サイズ(例え
ば256バイト)のイベントを、イベント・スタック内で割当てられた残りのメ
モリ内に挿入するのに不十分な空間しか存在しない場合に、ポインタがイベント
・スタックの先頭を指し示すように更新することにより処理される。
【0055】 次にブロック184では、機能に提供されたデータを確保されたターゲット論
区画イベント・スタック・エントリに直接コピーし、それにより、ターゲット論
理区画に対する保留キューの使用をバイパスする。更にブロック186で、イベ
ントに応答したACKの必要性により、使用可能メッセージが割当てられた場合
、こうした使用可能メッセージがACKキュー上にエンキューされ、ターゲット
論理区画から期待される来たる肯定応答のためにメッセージを確保する。制御は
次にブロック188に移行し、イベント・スタック・エントリに対して有効フラ
グをセットし、次にブロック180に移行し、"成功"コードをソース論理区画に
戻す。
【0056】 ソース論理区画への"成功"または"エラー"・コードの返却に際して(ブロック
162、168または180、及び190で示される)、signalLPEvent()機能
156が完了する。図5に示されるように、ソース論理区画へのコードの返却に
際して、区画はブロック192で、エラーが区画マネージャにより示されたか否
かを判断する。エラーが示された場合、エラーがブロック194で処理される。
エラーが返却されない場合、ブロック196で示されるように、処理は正常に継
続される。エラー処理及び続く処理は、受信される特定のエラー、及び開始され
たイベントのタイプに応じて変化する。これについては、本発明の完全な理解に
必要ではないので説明を省略する。
【0057】 図5から分かるように、signalLPEvent()機能156は、未使用のエントリが
ターゲット論理区画イベント・スタック上に存在すると判断される度に、保留イ
ベントを保留キュー上に配置する必要性をバイパスし、ターゲット論理区画がそ
のキューから保留イベントの検索を開始することを要求するように最適化される
。更に、こうしたイベントが更にACKを要求しない場合、ACKキュー上への
メッセージ・レコードの割当てもバイパスされる。そうすることで、主に直列化
要件の低減により、メッセージ・レコードを保留またはACKキュー上に移動す
ることに関連するオーバヘッドが回避され、イベントの処理が加速される。しか
しながら他の実施例では、全てのイベントがここで述べる同一のキュー機構を通
過することが望ましいかもしれない。従って、signalLPEvent()機能156のブ
ロック164及び174での、ターゲット論理区画イベント・スタックが満杯か
否かのチェック、及びブロック182乃至188で実行される操作が、本発明の
他の実施例では省略され得る。
【0058】 次に図6及び図7は、ターゲット論理区画のイベント・ハンドラの立場から見
た、イベント・ハンドラにより実行される入来イベント処理ルーチン200を示
す。ステップ202で示されるように、一旦初期化されると、ターゲット論理区
画のイベント・ハンドラが、それに関連付けられるイベント・スタックの有効及
び保留フラグを周期的にポーリングし、保留イベントがターゲット論理区画によ
る処理のために使用可能か否かを判断する。一般に、保留イベントのポーリング
は、例えばタスク・スイッチの間の期間や、周期タイマの満了後、または当業者
には明らかな他の状況など、ディスパッチ・ウィンドウの間に実行される。この
実施例では、保留フラグがイベント・スタック全体に関連付けられ、イベントが
区画マネージャ内の保留キュー内に記憶されており、ターゲット論理区画による
検索を待機していることを示す。更に、有効フラグは、ターゲット論理区画イベ
ント・スタック上のエントリ内の第1ビットに当たる。
【0059】 ブロック204で示されるように、各ディスパッチ・ウィンドウの間、ルーチ
ン200は最初に、保留フラグがセットされているか否かを判断する。セットさ
れていない場合、制御はブロック206に移行し、イベント・スタック内のエン
トリに関連付けられる有効フラグが、セットされているか否かを判断する。セッ
トされてない場合、制御はブロック202に移行し、保留イベントの再ポーリン
グのために、次のディスパッチ・ウィンドウまで待機する。
【0060】 ブロック204に戻り、保留フラグがセットされている場合、制御はブロック
208に移行し、区画マネージャ内において、getPendingLPEvents()機能210
を呼び出す(212で示される)。getPendingLPEvents()機能210はブロック
214で開始し、次のメッセージを、ターゲット論理区画に関連付けられる保留
キューからデキューする。これは一般に、ポインタを保留キュー上の第1のメッ
セージ・レコードに戻し、保留キューのリンク・リストを、そのレコードをスキ
ップするように更新することにより行われる。ブロック216は次に、保留メッ
セージが成功裡にデキューされたか否か(すなわち、未処理の保留メッセージが
キュー上で見いだされたか否か)を判断する。
【0061】 最初に保留メッセージが成功裡にデキューされたとすると、制御はブロック2
18に移行し、保留キューからデキューされたメッセージ・レコード内のイベン
ト・データを、ターゲット論理区画イベント・スタック内の現エントリ内にコピ
ーする。次にブロック220は、メッセージ・レコードのフラグ122c及び1
22dをチェックすることにより、イベントがACKを要求する通知イベント(
または新たなイベント)か否かを判断する。そうである場合、制御はブロック2
22に移行し、ターゲット論理区画のACKキュー上のメッセージをエンキュー
することにより、期待肯定応答に対してメッセージ・レコードを確保する。制御
は次にブロック224に移行し、イベント・マネージャにより保持されるターゲ
ット論理区画イベント・スタック・ポインタを(64バイト境界上に整列される
)イベントのサイズだけ増分する。制御は次にブロック226に移行し、空間が
ターゲット論理区画イベント・スタック内で依然使用可能か否かを判断する。
【0062】 イベント・スタック内の空間が依然使用可能な場合、制御はブロック214に
戻り、保留キューから次のメッセージをデキューしようとする。空間が依然使用
可能である限り、各保留メッセージ・レコードは引き続き保留キューからデキュ
ーされ、ターゲット論理区画イベント・スタック上にコピーされる。ブロック2
16で示されるように、一旦全ての保留メッセージがデキューされると、制御は
ブロック230に移行し、ターゲット論理区画イベント・スタックに関連付けら
れるターゲット論理区画メモリ内の保留フラグをクリアし、ターゲット論理区画
に、保留イベントがキュー内に存在しないことを知らせる。制御は次に232で
示されるように、ターゲット論理区画のイベント・ハンドラに戻る。更に、ブロ
ック226に戻り、全ての保留メッセージをデキューする前に、ターゲット論理
区画イベント・スタックが満杯の場合、制御はそれに関連付けられる保留フラグ
をクリアすることなく、イベント・ハンドラに戻り、ターゲット論理区画イベン
ト・ハンドラに、追加のイベントがそのキュー上で保留状態であることを示す。
【0063】 ブロック206に戻り、ターゲット論理区画イベント・スタック内の任意のエ
ントリの有効フラグがセットされている場合(これはsignalLPEvent()機能15
6における、区画マネージャによる直接コピーの結果によるか、getPendingLPEv
ents()機能210における、保留キューからのコピーによる)、制御は図7のブ
ロック234に移行する。ブロック234は、論理区画イベント・スタック上の
次のイベント・エントリをデコードする。ブロック236は次に、イベントがA
CKか否かを判断する。イベントがACKの場合、制御はブロック238に移行
し、メッセージ・レコード内で指定されるイベント・タイプに対応して、適切な
ACKハンドラを呼び出す。
【0064】 制御は次にブロック240に移行し、イベント・エントリの有効ビットをクリ
アする。しかしながらその前に、エントリ内のあらゆる他のブロック・データ内
の対応する第1ビットがクリアされる。これは最後のブロックから開始して、エ
ントリを通じて反対順序で進行し、従って、エントリに対応してクリアされる最
後のビットは、メッセージ・レコードの第1ブロック内のビットに相当する(す
なわち、有効ビット122a)。更に、ターゲット論理区画スタック・ポインタ
が、イベント・スタック内の次のエントリを指し示すように更新される。更に、
新たなネクスト・ポインタと、スタックの終わりとの間の空間が最大イベント・
サイズよりも小さい場合、ネクスト・ポインタがイベント・スタックの先頭を指
し示すようにセットされる。エントリの第1ブロック内の有効ビットを最後にク
リアする前に、各イベント・エントリ内の後続のブロックに関連付けられる第1
ビットをクリアすることにより、エントリ内に記憶されるイベントの処理がター
ゲット論理区画により完了されるまで、エントリが区画マネージャにより上書き
されないように保証する。他の実施例では、ターゲット論理区画による処理の完
了以前に、保留イベントが区画マネージャにより上書きされるのを防止するため
に、他の直列化機構が使用される。
【0065】 次にブロック242は、有効フラグがセットされたエントリをチェックするこ
とにより、別のイベントが論理区画イベント・スタック上で保留状態か否か判断
する。保留状態のイベントが存在する場合、制御はブロック234に戻り、次の
イベントをデコードする。存在しない場合には、制御はブロック202(図6)
に戻り、後のディスパッチ・ウィンドウ内で、将来のイベントの受信を待機する
【0066】 ブロック236に戻り、デコードされたイベントがACKイベントでない場合
、制御はブロック244に移行し、メッセージ・レコード内で指定されるイベン
ト・タイプに対応して、適切なイベント・ハンドラを呼び出す。次にブロック2
46で、エントリに記憶されるメッセージ・レコードのフラグ122cをチェッ
クすることにより、ACKがイベントにより要求されるか否かを判断する。AC
Kが要求されない場合、制御はブロック240に直接移行し、イベントの処理を
完了する。
【0067】 しかしながら、ACKイベントが要求される場合、制御はブロック248に移
行し、ACKイベントのためのメッセージ・レコード・データを生成する(例え
ば、図3において103で示される予備空間内に生成する)。制御は次にブロッ
ク250に移行し、区画マネージャ内においてsignalLPACK()機能252を呼び
出す(図7で254で示される)。
【0068】 signalLPACK()機能252はブロック256で開始し、ACKキュー上で一致
メッセージを見いだそうとする。これは一般に、機能呼び出しと共に提供される
メッセージ・レコード・データに関連付けられる相関トークンまたは、ソース及
びターゲット・インスタンスIDを比較することによる。ブロック258は、一
致レコードが見いだされたか否かを判断する。見いだされない場合、ブロック2
60で、"ACKメッセージ無し"・エラーがターゲット論理区画に戻される。し
かしながら、対応するACKメッセージが見いだされる場合、制御はブロック2
62に移行し、ACKメッセージ・データをターゲット論理区画メモリから、A
CKキュー上で以前に割当てられたACKメッセージにコピーする。ブロック2
64は次に、メッセージをソース論理区画に対応する保留キュー上にエンキュー
し、ブロック266はソース論理区画メモリ内の保留フラグをセットし、保留A
CKがソース論理区画による処理のために使用可能であることを示す。次にブロ
ック268で、"成功"コードがターゲット論理区画に戻される(270で示され
る)。これでsignalLPACK()機能252が完了する。
【0069】 機能呼び出しからの復帰に際して、制御はブロック272に移行し、エラーが
戻されたか否かを判断する。エラーが戻された場合、ステップ274でエラーが
適切に処理される。しかしながら、エラーが戻されない場合、制御はブロック2
40に移行し、イベントの処理を完了する。
【0070】 (ターゲット論理区画からsignalLPACK()機能252を開始することにより、
)ソース区画に対する保留キュー上にACKを配置すると、ソース論理区画のイ
ベント・ハンドラが、ソース論理区画内で実行される対応するルーチン200か
ら、getPendingLPEvents()機能を呼び出す。ACKイベントの処理は、ターゲッ
ト論理区画の場合に述べたのと同様に進行する。
【0071】 図8は次に、イベント取り消しルーチン280を示す。これはターゲット論理
区画による処理の前に、保留イベントを取り消すことが所望されるとき、ソース
論理区画により開始される。例えば、ソース論理区画により、許容時間内に応答
が受信されなかったと判断される場合、イベントのを取り消しが所望されるかも
しれない。1例として、ターゲット論理区画にイベントを伝えた後、ソース論理
区画は、応答が受信されるべき許容時間を設定するタイマをセットする。ターゲ
ット論理区画から応答を受信することなく、タイマが満了する場合、イベントを
待機し続けるのではなく、単にイベントを取り消すことが望ましいであろう。他
の実施例では、インスタンスがイベントの取り消しを必要とし得る。
【0072】 ルーチン280はブロック282で開始し、区画マネージャ内において、canc
elLPEvent()機能284を呼び出す(286により示される)。機能284がブ
ロック288で開始し、機能呼び出し内で指定されるターゲット論理区画に関連
付けられるACKまたは保留キュー上において、一致メッセージ・レコードを見
いだそうとする。次にブロック290は、一致レコードが見いだされたか否かを
判断する(これは一般に、相関トークン、ソース及びターゲット・インスタンス
IDの一致にもとづく)。こうした一致レコードが見いだされない場合、ブロッ
ク290が制御をブロック292に移し、"非存在(not found)"エラーをソー
ス論理区画に戻す。しかしながら、こうした一致レコードが見いだされる場合に
は、制御はブロック294に移行し、イベントが取り消されたことを示すように
、メッセージ・レコード内のメッセージ・データを変更する。これは一般に、メ
ッセージ・レコード内に特定の戻りコードをセットすることによる。次にブロッ
ク296で、メッセージ・レコードがソース論理区画に対応する保留キュー上に
エンキューされ、ブロック298で、ソース論理区画イベント・スタックに関連
付けられる保留フラグをセットする。次にブロック300は、"成功"コードをソ
ース論理区画に返却し、処理はソース論理区画に戻る(302で示される)。次
に、エラーが示されるか否かにもとづき、ブロック304は制御を好適なエラー
・ハンドラ306に戻し、エラーを処理するか、或いは、処理を適切な態様で継
続する(308で示される)。取り消されたメッセージ・レコードをソース論理
区画に対応する保留キュー上に配置すると、ソース論理区画内のイベント・ハン
ドラにおける次のディスパッチ・ウィンドウの間に、取り消されたイベントの検
索及び処理が開始する。
【0073】 図9は、区画デキューACKルーチン320を示し、これは特定の論理区画が
終了したとの判断に応答して、イベント・マネージャにより実行される。一般に
ルーチン320は、論理区画のシャットダウンの間に、区画マネージャの別のコ
ンポーネントにより呼び出される。論理区画の終了の間に、多数の追加の操作が
実行されるが、これらは本開示の範囲外である。従って、これらの他の操作につ
いては、ここでは述べないことにする。
【0074】 ルーチン320は、任意のソース論理区画により伝えられるイベントの肯定応
答を保証するために使用される。更に前述のように、ルーチン320は他の論理
区画に、特定の論理区画が終了したとの通知を提供するためにも使用される。そ
のためにルーチン320はブロック322で開始し、終了されるターゲット論理
区画に対応するACKキュー内において、次のメッセージ・レコードを獲得する
。こうしたメッセージが見いだされる限り、ブロック324は制御をブロック3
26に渡し、ターゲット論理区画が終了されることを示すようにメッセージ・デ
ータを変更する。これは一般に、メッセージ・レコード内に固有の戻りコードを
セットすることによる。次にブロック328で、メッセージ・レコードが、メッ
セージ・レコード内で識別されるソース論理区画に対応する保留キューにエンキ
ューされる。次にブロック330は、ソース論理区画メモリ内の保留フラグをセ
ットし、制御はブロック322に戻り、ターゲット論理区画に対応するACKキ
ューから、次のメッセージを獲得する。一旦こうした全てのメッセージが、ター
ゲット論理区画ACKキューから、メッセージに関連付けられるソース論理区画
に対応する適切な保留キューに移動されると、ルーチン320が完了する。
【0075】 一旦、固有のコードを有するメッセージが開始論理区画に対応する保留キュー
上に配置されると、これらの論理区画がそれらのメッセージ・レコードを前述の
ように検索し、メッセージをデコードすることにより、ターゲット論理区画が終
了されたことを判断できる。前述のようにこうした実施例は、基本論理区画が、
例えば2次論理区画が不意に終了するときを通知されることを可能にする。更に
、各ターゲット論理区画に対して、別々の据え置きACKキュー及び即時ACK
キューがサポートされる場合、ルーチン320が、終了されたターゲット論理区
画に関連付けられる据え置きACKキューに対してのみ、作用してもよい。
【0076】 通知イベント及びACKイベントの両方の基礎的な通信機構は、非常に対称的
で、一般にターゲット論理区画により、ほぼ同様に受信及び処理される。しかし
ながら他の実施例では、通知イベント及びACKイベントに対して別々の通信パ
スが使用されてもよい。
【0077】 本発明によれば、イベント及びイベント・タイプの任意の組み合わせがサポー
トされることが理解できよう。例えば、決して限定的でない1実施例では、区画
マネージャ・イベント・タイプ、マシン・ファシリティ・イベント・タイプ、セ
ッション・マネージャ・イベント・タイプ、入出力完了イベント・タイプ、及び
仮想バス・イベント・タイプの5つの別々のイベント・タイプが使用される。
【0078】 区画マネージャ・イベント・タイプは、2次論理区画の異常終了や2次論理区
画により基本区画に向けられるリセットの完了、或いは終了する2次論理区画に
割当てられた全ての入出力(I/O)装置のリセットの完了などを示す信号を、
区画マネージャから基本区画に送信するために使用される。
【0079】 マシン・ファシリティ・イベント・タイプは、サービス・プロセッサや様々な
パワー制御機構などのマシン・ファシリティを共用するために、2次論理区画と
基本論理区画との間で通信するために使用される。更に、マシン・ファシリティ
・イベント・タイプは、区画パワー・ダウン要求及び初期プログラム・ロード(
IPL)要求を、2次論理区画から基本論理区画に送信するために使用される。
【0080】 セッション・マネージャ・イベント・タイプは、基本論理区画と2次論理区画
との間の高水準セッション・レベル通信機構を実現するために使用される。こう
したイベント・タイプを用いることにより、複数のセッションが同一の基本イベ
ント・パス上を伝送される。
【0081】 入出力完了イベント・タイプは、I/O完了割込み及び他のI/O割込みをイ
ベント・ドリブン通信システムを介して、区画マネージャから様々な論理区画に
伝達するために使用される。
【0082】 仮想バス・イベント・タイプは、論理区分化コンピュータ内の様々な論理区画
間で仮想バスを確立し、それを介してデータを伝達するために使用される。1例
として、IBMから販売されるAS/400シリーズ中規模コンピュータは、ク
ラスタ化されたAS/400コンピュータ間で、OptiConnect(商標)バスとし
て知られる高速ハードウェア・バスをサポートする。このタイプのイベントによ
り、複数の物理コンピュータの場合のごとく、複数の論理区画がクラスタとして
作用するように、イベント・ドリブン通信インタフェースが、こうした物理的な
高速ハードウェア・バスをエミュレートするために使用される。このプロトコル
を通じて、及びイベント・ドリブン通信インタフェースをアクセスする好適な高
水準機能を通じて、バスが仮想的である事実が、実際には高速相互接続を駆動す
る論理区画内で実行される全てのソフトウェアにとって透過的となる。結果的に
、複数の物理コンピュータを相互接続するために使用される同一のクラスタ化ソ
フトウェアが、論理区分化コンピュータ上で、変更を伴わずに同様に使用される
。他の変更についても、当業者には明らかであろう。
【図面の簡単な説明】
【図1】 本発明に従うコンピュータのブロック図である。
【図2】 図1のコンピュータ内の基本ソフトウェア・コンポーネント及び資源のブロッ
ク図である。
【図3】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースによ
り使用されるデータ構造のブロック図である。
【図4】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
ける典型的なメッセージ・レコード・フォーマットのブロック図である。
【図5】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
ける信号イベント・ルーチンのプログラム・フローを示すフローチャートである
【図6】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
ける入来イベント処理ルーチンのプログラム・フローを示すフローチャートであ
る。
【図7】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
ける入来イベント処理ルーチンのプログラム・フローを示すフローチャートであ
る。
【図8】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
けるイベント取り消しルーチンのプログラム・フローを示すフローチャートであ
る。
【図9】 図1及び図2のコンピュータ内のイベント・ドリブン通信インタフェースにお
ける区画デキューACKルーチンのプログラム・フローを示すフローチャートで
ある。
【符号の説明】
10 データ処理装置 12 システム・プロセッサ 14 主記憶装置 16 キャッシュ・サブシステム 18 システム・バス 20 入出力バス接続インタフェース 22 ワークステーション制御装置 24 記憶制御装置 26 外部ネットワーク 28 ワークステーション 30 直接アクセス記憶装置(DASD) 40、42、44論理区画 46 区画マネージャ 48 共用サービス・ブロック 50 基本区画制御ブロック 52、54、56 オペレーティング・システム 60 仮想メモリ 62、64、66 論理バス 68、80、86、88 直接アクセス記憶装置(DASD) 70 制御パネル 72 テープ・ドライブ 74 光ディスク・ドライブ 76 ローカル・エリア・ネットワーク(LAN)アダプタ 78 光ディスク・ドライブ 82、84 LANアダプタ 90 イベント・ジェネレータ 92 イベント・ハンドラ 94 イベント・マネージャ 100 イベント記憶データ構造 102 保留フラグ 103、106、110、120 メッセージ・レコード 108 保留キュー 112 肯定応答(ACK)キュー 122a 有効フラグ 122b ACKタイプ・フラグ 122c ACK標識フラグ 122d SIG/ACKフラグ 122e 予備空間
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ナイヤー・ナレッシュ アメリカ合衆国55901、ミネソタ州ロチェ スター、ベルモラル・レーン、ノース・ウ エスト 5233 Fターム(参考) 5B098 AA10 GA02 GB14 GB15 GC00 GC16 GD02 GD03 GD07 HH07

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 各々が独立したアドレス空間において動作するように構成される、複数の論理
    区画と、 前記複数の論理区画によりアクセス可能な区画マネージャと、 前記区画マネージャを介して、前記複数の論理区画の間で情報を伝達するよう
    に構成されるイベント・ドリブン通信インタフェースと を含む、装置。
  2. 【請求項2】 前記複数の論理区画が基本論理区画と2次論理区画とを含み、前記区画マネー
    ジャの少なくとも一部が前記基本論理区画内に存在する、請求項1記載の装置。
  3. 【請求項3】 前記複数の論理区画がソース論理区画とターゲット論理区画とを含み、前記イ
    ベント・ドリブン通信インタフェースが、 前記ソース論理区画内に存在し、前記ターゲット論理区画に関連付けられるイ
    ベントを生成するように構成されるイベント・ジェネレータと、 前記ターゲット論理区画内に存在し、前記イベントを処理するように構成され
    るイベント・ハンドラと、 前記区画マネージャ内に存在し、前記複数の論理区画によりアクセス可能で、
    前記ソース論理区画の前記イベント・ジェネレータにより生成された前記イベン
    トを、前記ターゲット論理区画の前記イベント・ハンドラに伝達するように構成
    されるイベント・マネージャと を含む、請求項1記載の装置。
  4. 【請求項4】 前記イベント・ドリブン通信インタフェースが複数のイベント記憶データ構造
    を含み、各前記イベント記憶データ構造が論理区画内に存在し、保留標識に関連
    付けられ、前記イベント・マネージャが前記保留標識を所定値にセットすること
    により、前記ターゲット論理区画に保留イベントを通知するように構成され、前
    記ターゲット論理区画内の前記イベント・ハンドラが、前記保留標識を読出すこ
    とにより、前記保留イベントを検出するように構成される、請求項3記載の装置
  5. 【請求項5】 各前記イベント記憶データ構造がイベント・スタックを含む、請求項4記載の
    装置。
  6. 【請求項6】 前記イベント・ドリブン通信インタフェースが保留キューを含み、前記イベン
    ト・マネージャが、 前記ソース論理区画の前記イベント・マネージャにより生成されたイベントを
    、前記保留キューに一時的に記憶し、 前記ターゲット論理区画内の前記イベント・ハンドラによる要求に応答して、
    前記イベントを前記ターゲット論理区画の前記イベント記憶データ構造にコピー
    するように構成される、請求項4記載の装置。
  7. 【請求項7】 前記イベント・ドリブン通信インタフェースが、前記ソース論理区画内の前記
    イベント・ジェネレータにより生成されたイベントに対する肯定応答を記憶する
    ように構成される肯定応答キューを含む、請求項6記載の装置。
  8. 【請求項8】 前記ソース論理区画の前記イベント・ジェネレータによる、肯定応答を要求す
    るイベントの生成に応答して、前記イベント・マネージャが、前記ソース論理区
    画への肯定応答の配送を保証するように構成される、請求項7記載の装置。
  9. 【請求項9】 前記イベント・マネージャが、前記ターゲット論理区画の終了に応答して、前
    記ターゲット論理区画に関連付けられる前記肯定応答キュー上の保留の肯定応答
    を、前記ソース論理区画に自動的に戻すように構成される、請求項7記載の装置
  10. 【請求項10】 前記イベント・ドリブン通信インタフェースが使用可能キューを含み、前記保
    留キュー、肯定応答キュー及び使用可能キューのそれぞれが、イベントをメッセ
    ージ・レコードの形式で記憶し、前記使用可能キューが前記保留キュー及び前記
    肯定応答キューによる使用のために、少なくとも1つの未使用メッセージ・レコ
    ードを記憶するように構成される、請求項7記載の装置。
  11. 【請求項11】 前記イベント・マネージャが、前記ターゲット論理区画の前記イベント記憶デ
    ータ構造内の使用可能空間の検出に応答して、イベントを前記保留キューをバイ
    パスして、前記ソース論理区画から前記ターゲット論理区画の前記イベント記憶
    データ構造に直接コピーするように構成される、請求項6記載の装置。
  12. 【請求項12】 前記イベント・マネージャが、前記ソース論理区画からの取り消し要求に応答
    して、前記保留キュー上の保留イベントを取り消すように構成される、請求項6
    記載の装置。
  13. 【請求項13】 メモリと、 前記メモリに接続される複数のプロセッサと、 前記複数のプロセッサの少なくとも1つ上で実行するように構成され、複数の
    論理区画間で情報を伝達するように構成されるイベント・ドリブン通信インタフ
    ェースとを含み、 各前記論理区画が、前記メモリ内の独立したアドレス空間内で動作するように
    構成され、各前記論理区画が、前記複数の論理区画によりアクセス可能な区画マ
    ネージャにより制御され、前記イベント・ドリブン通信インタフェースが、 前記複数の論理区画からのソース論理区画内に少なくとも部分的に存在し、前
    記ソース論理区画に関連付けられる独立した前記アドレス空間内で、前記複数の
    論理区画からのターゲット論理区画により処理されるイベントを生成するイベン
    ト・ジェネレータと、 前記ターゲット論理区画内に少なくとも部分的に存在し、前記イベントを処理
    するように構成されるイベント・ハンドラと、 前記区画マネージャ内に少なくとも部分的に存在し、前記イベント・ジェネレ
    ータにより生成された前記イベントを、前記ソース論理区画に関連付けられる独
    立した前記アドレス空間から、前記ターゲット論理区画に関連付けられる独立し
    た前記アドレス空間にコピーするように構成されるイベント・マネージャと を含む、装置。
  14. 【請求項14】 コンピュータ・システム内の複数の論理区画間で情報を伝達する方法であって
    、 ソース論理区画とターゲット論理区画との間で、前記ソース論理区画及びター
    ゲット論理区画の両方によりアクセス可能な区画マネージャ内において、少なく
    とも部分的に実現されるイベント・ドリブン通信インタフェースを介して、イベ
    ントを受け渡すステップと、 前記イベントを前記ターゲット論理区画内で処理するステップと を含む、方法。
  15. 【請求項15】 前記複数の論理区画が基本論理区画と2次論理区画とを含み、前記区画マネー
    ジャの少なくとも一部が前記基本論理区画内に存在する、請求項14記載の方法
  16. 【請求項16】 前記ソース論理区画及びターゲット論理区画のそれぞれが、他の前記論理区画
    によりアクセス不能であり独立したアドレス空間内で動作する、請求項14記載
    の方法。
  17. 【請求項17】 前記イベント・ドリブン通信インタフェースがイベント記憶データ構造を含み
    、前記イベント記憶データ構造が前記ターゲット論理区画内に存在し、関連する
    保留標識を有し、前記方法が、 前記保留標識を所定値にセットすることにより、前記ターゲット論理区画に保
    留イベントを通知するステップと、 前記保留標識を読出すことにより、前記ターゲット論理区画内で前記保留イベ
    ントを検出するステップと を含む、請求項14記載の方法。
  18. 【請求項18】 前記イベント・ドリブン通信インタフェースが、前記区画マネージャ内に存在
    する保留キューを含み、前記方法が、 前記ソース論理区画内でイベントを生成するステップと、 前記イベントを前記保留キュー内に一時的に記憶するステップと、 前記ターゲット論理区画による要求に応答して、前記イベントを前記ターゲッ
    ト論理区画の前記イベント記憶データ構造にコピーするステップと を含む、請求項17記載の方法。
  19. 【請求項19】 前記イベント・ドリブン通信インタフェースが肯定応答キューを含み、前記方
    法が、 前記ターゲット論理区画内で、前記イベントに対する肯定応答を生成するステ
    ップと、 前記肯定応答を前記肯定応答キューに記憶するステップと、 前記肯定応答を前記ソース論理区画にコピーするステップと を含む、請求項18記載の方法。
  20. 【請求項20】 前記ターゲット論理区画の終了に応答して、前記ターゲット論理区画に関連付
    けられる前記肯定応答キュー上の保留の肯定応答を、前記ソース論理区画に自動
    的に戻すステップを含む、請求項19記載の方法。
  21. 【請求項21】 前記イベント・ドリブン通信インタフェースが使用可能キューを含み、前記保
    留キュー、肯定応答キュー及び使用可能キューのそれぞれが、イベントをメッセ
    ージ・レコードの形式で記憶し、前記使用可能キューが前記保留キュー及び前記
    肯定応答キューによる使用のために、少なくとも1つの未使用メッセージ・レコ
    ードを記憶するように構成される、請求項19記載の方法。
  22. 【請求項22】 前記ターゲット論理区画の前記イベント記憶データ構造内の使用可能空間の検
    出に応答して、イベントを前記保留キューをバイパスして、前記ソース論理区画
    から、前記ターゲット論理区画の前記イベント記憶データ構造に直接コピーする
    ステップを含む、請求項18記載の方法。
  23. 【請求項23】 前記ソース論理区画からの取り消し要求に応答して、前記保留キュー上の保留
    イベントを取り消すステップを含む、請求項18記載の方法。
  24. 【請求項24】 複数の論理区画の各々が独立したアドレス空間において動作するように構成さ
    れ、前記論理区画の各々によりアクセス可能な区画マネージャを介して、前記複
    数の論理区画間で情報を伝達するように構成されるイベント・ドリブン通信イン
    タフェースを含むプログラムと、 前記プログラムを含む信号担持媒体と を含む、プログラム製品。
  25. 【請求項25】 前記信号担持媒体が、記録可能媒体または伝送型媒体の少なくともいずれかを
    含む、請求項24記載のプログラム製品。
JP2000618825A 1999-05-19 2000-03-02 論理区分化コンピュータのイベント・ドリブン通信インタフェース Expired - Lifetime JP3777095B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/314,187 1999-05-19
US09/314,187 US6279046B1 (en) 1999-05-19 1999-05-19 Event-driven communications interface for logically-partitioned computer
PCT/US2000/005611 WO2000070449A1 (en) 1999-05-19 2000-03-02 Event-driven communications interface for logically-partitioned computer

Publications (2)

Publication Number Publication Date
JP2002544620A true JP2002544620A (ja) 2002-12-24
JP3777095B2 JP3777095B2 (ja) 2006-05-24

Family

ID=23218930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000618825A Expired - Lifetime JP3777095B2 (ja) 1999-05-19 2000-03-02 論理区分化コンピュータのイベント・ドリブン通信インタフェース

Country Status (7)

Country Link
US (1) US6279046B1 (ja)
EP (1) EP1212675A4 (ja)
JP (1) JP3777095B2 (ja)
CA (1) CA2365876C (ja)
IL (2) IL144565A0 (ja)
TW (1) TW477950B (ja)
WO (1) WO2000070449A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362564A (ja) * 2003-05-30 2004-12-24 Sharp Corp 統一イベント通知およびコンシューマ−プロデューサメモリ演算による仮想プロセッサ方法および装置
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2007328782A (ja) * 2006-06-07 2007-12-20 Internatl Business Mach Corp <Ibm> カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
JP2008276788A (ja) * 2008-05-23 2008-11-13 Hitachi Ltd 仮想計算機システムの制御方法
JP2009508183A (ja) * 2005-06-30 2009-02-26 インテル コーポレイション 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム
JP2011070526A (ja) * 2009-09-28 2011-04-07 Fujitsu Ltd 制御仮想計算機プログラム、ハイパーバイザプログラム、制御仮想計算機制御方法及び仮想計算機制御方法
JP2011526390A (ja) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション 仮想化環境における割り込みメッセージ終了のレイジー処理
JP2013061994A (ja) * 2013-01-07 2013-04-04 Fujitsu Ltd ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
JP2014048708A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc マルチプロセッシングシステムにおけるオブジェクト間通信メカニズム
JP2014048707A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc マルチプロセッシングシステムにおけるオブジェクト間通信メカニズム
JP2014232382A (ja) * 2013-05-28 2014-12-11 富士通株式会社 制御装置、制御方法及び制御プログラム
JP2015045906A (ja) * 2013-08-27 2015-03-12 三菱電機ビルテクノサービス株式会社 動作検証装置及びプログラム

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691146B1 (en) * 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
US6823517B1 (en) * 2000-01-27 2004-11-23 Andrew E. Kalman Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
US6684343B1 (en) * 2000-04-29 2004-01-27 Hewlett-Packard Development Company, Lp. Managing operations of a computer system having a plurality of partitions
US6578036B1 (en) * 2000-05-15 2003-06-10 Sun Microsystems, Inc. Mechanism for performing polling in a system
US6877158B1 (en) * 2000-06-08 2005-04-05 International Business Machines Corporation Logical partitioning via hypervisor mediated address translation
US6990663B1 (en) * 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US6769079B1 (en) * 2000-12-21 2004-07-27 Borland Software Corporation System and method for logging messages in an embedded computer system
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7089556B2 (en) * 2001-03-26 2006-08-08 International Business Machines Corporation System and method for dynamic self-determining asynchronous event-driven computation
JP4291964B2 (ja) 2001-04-19 2009-07-08 株式会社日立製作所 仮想計算機システム
US6792514B2 (en) * 2001-06-14 2004-09-14 International Business Machines Corporation Method, system and computer program product to stress and test logical partition isolation features
JP2003036174A (ja) * 2001-07-25 2003-02-07 Hitachi Ltd 車載端末装置
US7251814B2 (en) * 2001-08-24 2007-07-31 International Business Machines Corporation Yield on multithreaded processors
US7428485B2 (en) * 2001-08-24 2008-09-23 International Business Machines Corporation System for yielding to a processor
JP4018900B2 (ja) 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US6901531B2 (en) * 2001-11-30 2005-05-31 Sun Microsystems, Inc. Automatic system control failover
US7146306B2 (en) * 2001-12-14 2006-12-05 International Business Machines Corporation Handheld computer console emulation module and method of managing a logically-partitioned multi-user computer with same
US7694344B1 (en) * 2002-03-15 2010-04-06 Novell, Inc. Method and system for enforcing network security by preserving event execution information utilizing a service event stack
US7065627B2 (en) 2002-03-25 2006-06-20 International Business Machines Corporation Method and system for providing an event driven image for a boot record
US6725284B2 (en) * 2002-04-25 2004-04-20 International Business Machines Corporation Logical partition hosted virtual input/output using shared translation control entries
US7007183B2 (en) * 2002-12-09 2006-02-28 International Business Machines Corporation Power conservation by turning off power supply to unallocated resources in partitioned data processing systems
US7203775B2 (en) * 2003-01-07 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for avoiding deadlock
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
US7073002B2 (en) * 2003-03-13 2006-07-04 International Business Machines Corporation Apparatus and method for controlling resource transfers using locks in a logically partitioned computer system
US7085862B2 (en) * 2003-03-13 2006-08-01 International Business Machines Corporation Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition
US7328438B2 (en) * 2003-03-27 2008-02-05 International Business Machines Corporation Deallocation of computer data in a multithreaded computer
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
US20060085412A1 (en) * 2003-04-15 2006-04-20 Johnson Sean A System for managing multiple disparate content repositories and workflow systems
US7281075B2 (en) * 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
US7103763B2 (en) * 2003-04-24 2006-09-05 International Business Machines Corporation Storage and access of configuration data in nonvolatile memory of a logically-partitioned computer
US7028157B2 (en) * 2003-04-24 2006-04-11 International Business Machines Corporation On-demand allocation of data structures to partitions
US7039820B2 (en) 2003-04-24 2006-05-02 International Business Machines Corporation Method for detecting and powering off unused I/O slots in a computer system
US7376948B2 (en) * 2003-04-24 2008-05-20 International Business Machines Corporation Selective generation of an asynchronous notification for a partition management operation in a logically-partitioned computer
US7139855B2 (en) * 2003-04-24 2006-11-21 International Business Machines Corporation High performance synchronization of resource allocation in a logically-partitioned system
US7337445B1 (en) 2003-05-09 2008-02-26 Sun Microsystems, Inc. Virtual system console for virtual application environment
US7389512B2 (en) * 2003-05-09 2008-06-17 Sun Microsystems, Inc. Interprocess communication within operating system partitions
US7461080B1 (en) 2003-05-09 2008-12-02 Sun Microsystems, Inc. System logging within operating system partitions using log device nodes that are access points to a log driver
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
US7437556B2 (en) * 2003-05-09 2008-10-14 Sun Microsystems, Inc. Global visibility controls for operating system partitions
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
CA2525578A1 (en) * 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
KR100860985B1 (ko) * 2003-05-23 2008-09-30 삼성전자주식회사 패딩 정보를 이용한 기록/재생 방법
JP4437650B2 (ja) 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7664823B1 (en) * 2003-09-24 2010-02-16 Cisco Technology, Inc. Partitioned packet processing in a multiprocessor environment
JP4257783B2 (ja) 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP4227035B2 (ja) 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
US7260752B2 (en) * 2004-02-19 2007-08-21 International Business Machines Corporation Method and apparatus for responding to critical abstracted platform events in a data processing system
US7383555B2 (en) * 2004-03-11 2008-06-03 International Business Machines Corporation Apparatus and method for sharing a network I/O adapter between logical partitions
JP2005267008A (ja) 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US7577991B2 (en) * 2004-07-22 2009-08-18 International Business Machines Corporation Method to enhance platform firmware security for logical partition data processing systems by dynamic restriction of available external interfaces
US7478246B2 (en) * 2004-07-29 2009-01-13 International Business Machines Corporation Method for providing a scalable trusted platform module in a hypervisor environment
US20060026422A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a backup hardware trusted platform module in a hypervisor environment
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US20060080319A1 (en) * 2004-10-12 2006-04-13 Hickman John E Apparatus, system, and method for facilitating storage management
US7734753B2 (en) * 2004-10-12 2010-06-08 International Business Machines Corporation Apparatus, system, and method for facilitating management of logical nodes through a single management module
US8181182B1 (en) 2004-11-16 2012-05-15 Oracle America, Inc. Resource allocation brokering in nested containers
TWI328928B (en) 2004-12-10 2010-08-11 Via Tech Inc Mainboard, electronic component, and controlling method of logic operation
US20060195848A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method of virtual resource modification on a physical adapter that supports virtual resources
US7685335B2 (en) * 2005-02-25 2010-03-23 International Business Machines Corporation Virtualized fibre channel adapter for a multi-processor data processing system
US7475166B2 (en) * 2005-02-28 2009-01-06 International Business Machines Corporation Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request
US8301750B2 (en) * 2005-06-10 2012-10-30 International Business Machines Corporation Apparatus, system, and method for facilitating communication between an enterprise information system and a client
US7743372B2 (en) * 2005-06-28 2010-06-22 Internatinal Business Machines Corporation Dynamic cluster code updating in logical partitions
US7937616B2 (en) * 2005-06-28 2011-05-03 International Business Machines Corporation Cluster availability management
US7774785B2 (en) * 2005-06-28 2010-08-10 International Business Machines Corporation Cluster code management
US9189291B2 (en) * 2005-12-12 2015-11-17 International Business Machines Corporation Sharing a kernel of an operating system among logical partitions
US7631206B2 (en) * 2006-02-10 2009-12-08 Intel Corporation Method and apparatus to support enhanced energy efficiency in a processing system
US7624283B2 (en) * 2006-02-13 2009-11-24 International Business Machines Corporation Protocol for trusted platform module recovery through context checkpointing
US7882227B2 (en) 2006-02-23 2011-02-01 Oracle America, Inc. Mechanism for implementing file access control across a network using labeled containers
US7885975B2 (en) 2006-02-23 2011-02-08 Oracle America, Inc. Mechanism for implementing file access control using labeled containers
US8938473B2 (en) 2006-02-23 2015-01-20 Oracle America, Inc. Secure windowing for labeled containers
US8938554B2 (en) 2006-03-02 2015-01-20 Oracle America, Inc. Mechanism for enabling a network address to be shared by multiple labeled containers
US20080189715A1 (en) * 2006-03-14 2008-08-07 International Business Machines Corporation Controlling resource transfers in a logically partitioned computer system
US7814307B2 (en) 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US8214828B2 (en) * 2006-06-30 2012-07-03 Microsoft Corporation Module state management in a virtual machine environment
US8447936B2 (en) * 2006-06-30 2013-05-21 Microsoft Corporation Module state management in a virtual machine environment
US7546398B2 (en) * 2006-08-01 2009-06-09 International Business Machines Corporation System and method for distributing virtual input/output operations across multiple logical partitions
US8295459B2 (en) * 2006-08-24 2012-10-23 Verisign, Inc. System and method for dynamically partitioning context servers
JP5159896B2 (ja) * 2008-01-25 2013-03-13 ファソー.コム カンパニー リミテッド プロセス分離実行を通じたdrmクライアント衝突防止システム及び方法
US8615764B2 (en) * 2010-03-31 2013-12-24 International Business Machines Corporation Dynamic system scheduling
US8359453B2 (en) 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
US10057726B2 (en) 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US10346422B2 (en) * 2012-10-18 2019-07-09 International Business Machines Corporation Use of proxy objects for integration between a content management system and a case management system
US20140114864A1 (en) 2012-10-22 2014-04-24 International Business Machines Corporation Case management integration with external content repositories
US10051087B2 (en) 2016-02-29 2018-08-14 Red Hat Israel, Ltd. Dynamic cache-efficient event suppression for network function virtualization

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9105278D0 (en) * 1990-04-27 1991-04-24 Sun Microsystems Inc Method and apparatus for implementing object-oriented programming using unmodified c for a window-based computer system
DE69113181T2 (de) * 1990-08-31 1996-05-02 Ibm Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung.
EP0490636B1 (en) * 1990-12-14 1998-09-09 Sun Microsystems, Inc. Method and apparatus for interprocess message switching
US5365514A (en) * 1993-03-01 1994-11-15 International Business Machines Corporation Event driven interface for a system for monitoring and controlling a data communications network
US5526488A (en) * 1994-01-26 1996-06-11 International Business Machines Corporation Dynamic switching system for switching between event driven interfaces in response to switching bit pattern including in data frame in a data communications network
JPH07262093A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 記憶装置の領域再構成制御方式
US5566337A (en) * 1994-05-13 1996-10-15 Apple Computer, Inc. Method and apparatus for distributing events in an operating system
US5819061A (en) * 1994-07-25 1998-10-06 International Business Machines Corporation Method and apparatus for dynamic storage reconfiguration in a partitioned environment
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5881315A (en) * 1995-08-18 1999-03-09 International Business Machines Corporation Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive
JP3225804B2 (ja) 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6148323A (en) * 1995-12-29 2000-11-14 Hewlett-Packard Company System and method for managing the execution of system management
US6173337B1 (en) * 1996-03-08 2001-01-09 Apple Computer, Inc. Method and apparatus for relaying events intended for a first application program to a second application program
US5828882A (en) 1996-03-15 1998-10-27 Novell, Inc. Event notification facility
JPH10301795A (ja) * 1997-04-28 1998-11-13 Hitachi Ltd 仮想計算機システム
US5923890A (en) * 1997-07-30 1999-07-13 International Business Machines Corporation Method and apparatus for optimizing the handling of synchronous requests to a coupling facility in a sysplex configuration
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8087034B2 (en) 2003-05-30 2011-12-27 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-produced memory operations
JP2004362564A (ja) * 2003-05-30 2004-12-24 Sharp Corp 統一イベント通知およびコンシューマ−プロデューサメモリ演算による仮想プロセッサ方法および装置
US8621487B2 (en) 2003-05-30 2013-12-31 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations
US8271997B2 (en) 2003-05-30 2012-09-18 Steven J. Frank General purpose embedded processor
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2009508183A (ja) * 2005-06-30 2009-02-26 インテル コーポレイション 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム
US7937701B2 (en) 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
JP2011238272A (ja) * 2005-06-30 2011-11-24 Intel Corp 仮想マシン・モニタと、acpi準拠ゲスト・オペレーティング・システムとの間の双方向通信のための方法、装置及びシステム
JP2007328782A (ja) * 2006-06-07 2007-12-20 Internatl Business Mach Corp <Ibm> カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
US9201703B2 (en) 2006-06-07 2015-12-01 International Business Machines Corporation Sharing kernel services among kernels
JP4548514B2 (ja) * 2008-05-23 2010-09-22 株式会社日立製作所 仮想計算機システムの制御方法
JP2008276788A (ja) * 2008-05-23 2008-11-13 Hitachi Ltd 仮想計算機システムの制御方法
JP2011526390A (ja) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション 仮想化環境における割り込みメッセージ終了のレイジー処理
JP2011070526A (ja) * 2009-09-28 2011-04-07 Fujitsu Ltd 制御仮想計算機プログラム、ハイパーバイザプログラム、制御仮想計算機制御方法及び仮想計算機制御方法
JP2014048708A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc マルチプロセッシングシステムにおけるオブジェクト間通信メカニズム
JP2014048707A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc マルチプロセッシングシステムにおけるオブジェクト間通信メカニズム
JP2013061994A (ja) * 2013-01-07 2013-04-04 Fujitsu Ltd ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
JP2014232382A (ja) * 2013-05-28 2014-12-11 富士通株式会社 制御装置、制御方法及び制御プログラム
US9710409B2 (en) 2013-05-28 2017-07-18 Fujitsu Limited Interrupt control apparatus and interrupt control method
JP2015045906A (ja) * 2013-08-27 2015-03-12 三菱電機ビルテクノサービス株式会社 動作検証装置及びプログラム

Also Published As

Publication number Publication date
CA2365876C (en) 2008-03-25
WO2000070449A1 (en) 2000-11-23
EP1212675A1 (en) 2002-06-12
EP1212675A4 (en) 2007-06-20
CA2365876A1 (en) 2000-11-23
TW477950B (en) 2002-03-01
IL144565A0 (en) 2002-05-23
US6279046B1 (en) 2001-08-21
IL144565A (en) 2006-04-10
JP3777095B2 (ja) 2006-05-24

Similar Documents

Publication Publication Date Title
JP3777095B2 (ja) 論理区分化コンピュータのイベント・ドリブン通信インタフェース
US7200695B2 (en) Method, system, and program for processing packets utilizing descriptors
Theimer et al. Preemptable remote execution facilities for the V-system
EP0840935B1 (en) A method and apparatus for transporting messages between processors in a multiple processor system
US20180375782A1 (en) Data buffering
EP3217285B1 (en) Transmitting data
US7363629B2 (en) Method, system, and program for remote resource management
US7233984B2 (en) Light weight file I/O over system area networks
JP4410795B2 (ja) 共有リソースの同時アクセス
US20040083481A1 (en) System and method for transferring data between virtual machines or other computer entities
EP2240852B1 (en) Scalable sockets
JPH076115A (ja) データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法
WO2006035730A1 (ja) 情報処理装置、通信処理方法、並びにコンピュータ・プログラム
US8930568B1 (en) Method and apparatus for enabling access to storage
US7844782B2 (en) Data processing system with memory access
TW201030623A (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
US20050165938A1 (en) Method, system, and program for managing shared resources
US7370081B2 (en) Method, system, and program for communication of code changes for transmission of operation requests between processors
US20060080514A1 (en) Managing shared memory
US6986017B2 (en) Buffer pre-registration
Potts et al. Design and implementation of the L4 microkernel for Alpha multiprocessors
Dittia et al. DMA Mechanisms for High Performance Network Interfaces
Lee et al. An Integrated Core-Work for Fast Information-Appliance Buildup

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20011116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20020624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050912

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051208

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: 20060214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060224

R150 Certificate of patent or registration of utility model

Ref document number: 3777095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140303

Year of fee payment: 8

EXPY Cancellation because of completion of term