JPS63201860A - ネツトワーク管理システム - Google Patents
ネツトワーク管理システムInfo
- Publication number
- JPS63201860A JPS63201860A JP62288623A JP28862387A JPS63201860A JP S63201860 A JPS63201860 A JP S63201860A JP 62288623 A JP62288623 A JP 62288623A JP 28862387 A JP28862387 A JP 28862387A JP S63201860 A JPS63201860 A JP S63201860A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- node
- message
- key
- network
- 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
Links
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- IJJWOSAXNHWBPR-HUBLWGQQSA-N 5-[(3as,4s,6ar)-2-oxo-1,3,3a,4,6,6a-hexahydrothieno[3,4-d]imidazol-4-yl]-n-(6-hydrazinyl-6-oxohexyl)pentanamide Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)NCCCCCC(=O)NN)SC[C@@H]21 IJJWOSAXNHWBPR-HUBLWGQQSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で本発明を説明する。
A、産業上の利用分野
B、従来技術
C1発明が解決しようとする問題点
り8問題点を解決するための手段
E、実施例
F0発明の効果
A、産業上の利用分野
本発明は、データ処理ネットワーク中の異なるノードに
位置するプロセスの間の通信に関するものである。その
各ノードは、独立の動作をなし得るプロセッサを有し、
また端末装置、メモリ及びI10装置などの他のサービ
スを備えていてもよい。さらに、各プロセッサは多重処
理、多重タスク能力を有していてもよい。より詳しく述
べると、本発明は、プログラムが通信待ち行列のノード
を知ることを不要ならしめることによってネットワ−ク
中の同一または異なるノードにある処理装置間の、待ち
行列に基づく通信を容易にすることにある。本発明に係
る記述においては、プロセス間通信(IPC)待ち行列
位置透過伝達機構が、分散サービス環境中で実施される
ものとして説明される。
位置するプロセスの間の通信に関するものである。その
各ノードは、独立の動作をなし得るプロセッサを有し、
また端末装置、メモリ及びI10装置などの他のサービ
スを備えていてもよい。さらに、各プロセッサは多重処
理、多重タスク能力を有していてもよい。より詳しく述
べると、本発明は、プログラムが通信待ち行列のノード
を知ることを不要ならしめることによってネットワ−ク
中の同一または異なるノードにある処理装置間の、待ち
行列に基づく通信を容易にすることにある。本発明に係
る記述においては、プロセス間通信(IPC)待ち行列
位置透過伝達機構が、分散サービス環境中で実施される
ものとして説明される。
B、従来技術
M、J、Bach著、The Design of t
he UNIXOperating System (
UNIXは米国におけるAT&Tベル研究所の商標)、
Prentice−Hall 1986の356〜3
67ページには、システム在駐カーネル中でメツセージ
待ち行列のアレイを呼び出すキーによってメツセージ取
得(MSGGET)システム・コールを呼び出し、その
特定のキーに対応する一致エントリが見出されない場合
に、新しい待ち行列構造を割振るとともにユーザにその
識別子を戻すことによって、プロセス間通信(IPC)
が行なわれることが開示されている。そして、メツセー
ジを送り受は取るためのシステム・コールMSGSND
及びMSGRCVに関連するアルゴリズムが開示されて
いる。しかし、その文献には、ネットワークの異なるノ
ードに位置する処理装置間のプロセス間通信を容易なら
しめることの記述も示唆もない。
he UNIXOperating System (
UNIXは米国におけるAT&Tベル研究所の商標)、
Prentice−Hall 1986の356〜3
67ページには、システム在駐カーネル中でメツセージ
待ち行列のアレイを呼び出すキーによってメツセージ取
得(MSGGET)システム・コールを呼び出し、その
特定のキーに対応する一致エントリが見出されない場合
に、新しい待ち行列構造を割振るとともにユーザにその
識別子を戻すことによって、プロセス間通信(IPC)
が行なわれることが開示されている。そして、メツセー
ジを送り受は取るためのシステム・コールMSGSND
及びMSGRCVに関連するアルゴリズムが開示されて
いる。しかし、その文献には、ネットワークの異なるノ
ードに位置する処理装置間のプロセス間通信を容易なら
しめることの記述も示唆もない。
IBM RT Personal Computer
Technology(型式番号5A23−1057)
にはIBM RT (RTは米国におけるIBM社の
商標である)パーソナル・コンピュータが記述されてい
る。それには拡張対話型実行(Advanced In
teractive Executive :AIX
(AIXは米国におけるIBM社の商標である))オペ
レーティング・システムが、AT&TのUNIXシステ
ムVの概念の拡張であるとして開示されている。
Technology(型式番号5A23−1057)
にはIBM RT (RTは米国におけるIBM社の
商標である)パーソナル・コンピュータが記述されてい
る。それには拡張対話型実行(Advanced In
teractive Executive :AIX
(AIXは米国におけるIBM社の商標である))オペ
レーティング・システムが、AT&TのUNIXシステ
ムVの概念の拡張であるとして開示されている。
このAIXカーネルは、アプリケーション・プログラム
及びコマンドのためのオペレーティング環境を与える。
及びコマンドのためのオペレーティング環境を与える。
尚、AIXのより詳しい説明については、AIX Op
erating System TechnicalR
eference (型式番号5V21−8009)を
参照されたい。この技術は、複数のIBM RT
PCシステムが通信ネットワークのノードとなることを
可能ならしめ、且ついくつかの追加的な特徴を与えるよ
うに拡張されたものである。
erating System TechnicalR
eference (型式番号5V21−8009)を
参照されたい。この技術は、複数のIBM RT
PCシステムが通信ネットワークのノードとなることを
可能ならしめ、且ついくつかの追加的な特徴を与えるよ
うに拡張されたものである。
そのような特徴の1つとしてネットワークに亘る分散処
理がある。そのような分散サービス環境は、通信リンク
またはネットワークによって接続された2またはそれ以
上のノードを有する。ネットワークは、ローカル・エリ
ア・ネットワーク(LAN) 、または他のノードまた
は他のネットワークに対する遠隔処理接続を有する広域
(widearea)ネットワーク(VAN)のどちら
かでよい。
理がある。そのような分散サービス環境は、通信リンク
またはネットワークによって接続された2またはそれ以
上のノードを有する。ネットワークは、ローカル・エリ
ア・ネットワーク(LAN) 、または他のノードまた
は他のネットワークに対する遠隔処理接続を有する広域
(widearea)ネットワーク(VAN)のどちら
かでよい。
分散サービスの主要な目的は、AIXオペレーティング
・システムのファイル・システム及びプロセス間通信(
IPC)サービスを用いるアプリケーションのために構
内/遠隔透過伝達機構を与えることにある。
・システムのファイル・システム及びプロセス間通信(
IPC)サービスを用いるアプリケーションのために構
内/遠隔透過伝達機構を与えることにある。
C0発明が解決しようとする問題点
本発明の目的は、ノード位置透過伝達機構と、待ち行列
の名前を衝突させる割当てを防止するための手段と、1
つの待ち行列上で所与のサービス供給者から複数の顧客
へメツセージを切換える(demultiplexin
g)ことを可能ならしめる手段をもつ効率的なメツセー
ジ待ち行列処理システムを提供することにある。
の名前を衝突させる割当てを防止するための手段と、1
つの待ち行列上で所与のサービス供給者から複数の顧客
へメツセージを切換える(demultiplexin
g)ことを可能ならしめる手段をもつ効率的なメツセー
ジ待ち行列処理システムを提供することにある。
D0問題点を解決するための手段
本発明は1通信リンクを介して接続された少くとも2つ
のシステムを含むネットワーク中の異なるノードにある
プロセス間の通信を容易ならしめるものである。その各
ノードは、多重処理及び多重タスク動作をなしうるプロ
セッサを有する。尚、前述のように、各ノード・プロセ
ッサは独立(standalone)モードでも同様に
動作し得るものでもよい。
のシステムを含むネットワーク中の異なるノードにある
プロセス間の通信を容易ならしめるものである。その各
ノードは、多重処理及び多重タスク動作をなしうるプロ
セッサを有する。尚、前述のように、各ノード・プロセ
ッサは独立(standalone)モードでも同様に
動作し得るものでもよい。
異なるノードに位置づけられたプロセスは、その実際の
ノード位置が、通信を開始するプログラムにとって未知
であるようなIPC待ち行列を使用する他のプロセスと
通信可能であるようになされている。本発明は、AIX
IPCメツセージ機構を、異なるノードにおける待
ち行列間で送受信をなし得るように拡張することにより
、同一のAIXシステム中のプロセス間の通信のための
AIX IPCメツセージ待ち行列機構よりも進歩し
ている。AIXは、メツセージ取得(msgget)、
メツセージ送信(msgsnd)及びメツセージ受信(
msgrcv)システム・コールを使用してIPCをサ
ポートする。メツセージ取得は、メツセージ待ち行列を
見出しあるいは作成し、その識別子MSQIDを戻すた
めに使用される。そしてそれ以降のメツセージ送信及び
メツセージ受信コールは、ターゲット待ち行列を識別す
るためにこのMSQIDを使用する。
ノード位置が、通信を開始するプログラムにとって未知
であるようなIPC待ち行列を使用する他のプロセスと
通信可能であるようになされている。本発明は、AIX
IPCメツセージ機構を、異なるノードにおける待
ち行列間で送受信をなし得るように拡張することにより
、同一のAIXシステム中のプロセス間の通信のための
AIX IPCメツセージ待ち行列機構よりも進歩し
ている。AIXは、メツセージ取得(msgget)、
メツセージ送信(msgsnd)及びメツセージ受信(
msgrcv)システム・コールを使用してIPCをサ
ポートする。メツセージ取得は、メツセージ待ち行列を
見出しあるいは作成し、その識別子MSQIDを戻すた
めに使用される。そしてそれ以降のメツセージ送信及び
メツセージ受信コールは、ターゲット待ち行列を識別す
るためにこのMSQIDを使用する。
本発明は、入カキ−を特定の待ち行列の実際のキーとノ
ード位置と相関させるための予定のカーネル在駐テーブ
ル中のルック・アップ機能に対する引数として特定の待
ち行列のキーを使用するようにするために、A I X
msggetシステム・コールに対して修正を加える
ことから進む。メツセージを配置すべき待ち行列のノー
ド位置及びキーは、通信しているプロセスに透過的であ
る。
ード位置と相関させるための予定のカーネル在駐テーブ
ル中のルック・アップ機能に対する引数として特定の待
ち行列のキーを使用するようにするために、A I X
msggetシステム・コールに対して修正を加える
ことから進む。メツセージを配置すべき待ち行列のノー
ド位置及びキーは、通信しているプロセスに透過的であ
る。
待ち行列が遠隔ノードにあるとき、2つのノードは、待
ち行列要素情報を渡すために、それらの間に確立された
通信リンクを使用する。本発明の好適な実施例は、IB
Mシステム・ネットワーク・アーキテクチャ(SNA)
レベル6.2の拡張プログラム間通信を利用する。
ち行列要素情報を渡すために、それらの間に確立された
通信リンクを使用する。本発明の好適な実施例は、IB
Mシステム・ネットワーク・アーキテクチャ(SNA)
レベル6.2の拡張プログラム間通信を利用する。
IPCメツセージ待ち行列は、その待ち行列が作成され
たときに割振られたキー、すなわち数値によって識別さ
れる。特定の待ち行列にアクセスを所望する任意のプロ
セスは、参照が、実際の待ち行列識別子に対して確定的
(resolved)であり得るような方法でキーを参
照しなくてはならない。
たときに割振られたキー、すなわち数値によって識別さ
れる。特定の待ち行列にアクセスを所望する任意のプロ
セスは、参照が、実際の待ち行列識別子に対して確定的
(resolved)であり得るような方法でキーを参
照しなくてはならない。
後で述べるように、本発明に係る方法の好適な実施例は
、分散サービス機能が設けられているオペレーティング
・システム・レベルで実施される。
、分散サービス機能が設けられているオペレーティング
・システム・レベルで実施される。
本発明は、ネットワーク中の各システム・ノードが、キ
ーのための自己のIPC待ち行列プロファイル名称空間
をもつべきことを要求する。そして、アプリケーション
のコールからノード固有キーが、ノード固有キーを、呼
出し手によって与えられた待ち行列名に関連づけるライ
ブラリ・ルーチンに戻される。
ーのための自己のIPC待ち行列プロファイル名称空間
をもつべきことを要求する。そして、アプリケーション
のコールからノード固有キーが、ノード固有キーを、呼
出し手によって与えられた待ち行列名に関連づけるライ
ブラリ・ルーチンに戻される。
一7=
本発明はまた、各システムのカーネルに在駐するキー・
マツピング・テーブル(KMT)をも必要とする。キー
・マツピング・テーブル中の各エントリは、特定の待ち
行列を照会する居所キーと、その待ち行列が実際に在駐
するノードと、その待ち行列が実際に在駐するノードで
使用されるキーを含む。KMTはシステムのスタート・
アップ時に各ノードのカーネルにロードされる。
マツピング・テーブル(KMT)をも必要とする。キー
・マツピング・テーブル中の各エントリは、特定の待ち
行列を照会する居所キーと、その待ち行列が実際に在駐
するノードと、その待ち行列が実際に在駐するノードで
使用されるキーを含む。KMTはシステムのスタート・
アップ時に各ノードのカーネルにロードされる。
KTMデータは、ネットワークを監視するネットワーク
管理者によって保守される。そして、KMTに対する変
更は必要に応じてネットワーク管理者によってなされる
。この管理オペレータの関与するのは、アプリケーショ
ン・インターフェースでメツセージ待ち行列の透過性を
許容することである。
管理者によって保守される。そして、KMTに対する変
更は必要に応じてネットワーク管理者によってなされる
。この管理オペレータの関与するのは、アプリケーショ
ン・インターフェースでメツセージ待ち行列の透過性を
許容することである。
前述のM、J、Bachの書物に記述されているような
従来技術においては、プロセスはメツセージ待ち行列を
利用してメツセージを送受することによって通信する。
従来技術においては、プロセスはメツセージ待ち行列を
利用してメツセージを送受することによって通信する。
その呼プロセスは、受信するプロセスがメツセージを見
出すことを期待する待ち行列を識別しなくてはならない
。単独 (standalone)多重処理システムにおいては
、すべての待ち行列の位置が既知である。しかし、分散
サービスをもつネットワーク環境においては、プロセス
が、同一または異なるノードにあるメツセージ待ち行列
を介して他のノードにあるプロセスと通信することが望
ましい。このとき、各プロセスがネットワーク中のすべ
てのメツセージ待ち行列の位置情報を暗黙的に知ってい
ることが必要とされるのであれば、そのことは許容し得
ないであろう。すなわち、もしこれが要求されるなら、
各呼プロセスは、実際のメツセージ待ち行列位置が変わ
るたび毎にその変更を知る必要があることになるからで
ある。
出すことを期待する待ち行列を識別しなくてはならない
。単独 (standalone)多重処理システムにおいては
、すべての待ち行列の位置が既知である。しかし、分散
サービスをもつネットワーク環境においては、プロセス
が、同一または異なるノードにあるメツセージ待ち行列
を介して他のノードにあるプロセスと通信することが望
ましい。このとき、各プロセスがネットワーク中のすべ
てのメツセージ待ち行列の位置情報を暗黙的に知ってい
ることが必要とされるのであれば、そのことは許容し得
ないであろう。すなわち、もしこれが要求されるなら、
各呼プロセスは、実際のメツセージ待ち行列位置が変わ
るたび毎にその変更を知る必要があることになるからで
ある。
本発明はこの問題を、プロセッサ・ノードの待ち行列キ
ーを、メツセージ待ち行列の実際のキー及びノードと相
関させるカーネル在駐テーブルを設けることによって解
決する。これらのテーブルは、ネットワーク管理者によ
って、メツセージ待ち行列の実際のノード位置における
変更を反映するように変更することができる。しかし、
呼プロセスによって供給される入力パラメータは変わら
ない。それゆえ、メツセージ待ち行列の実際のノード位
置はアプリケーション・プログラム・インターフェース
で透過性である。
ーを、メツセージ待ち行列の実際のキー及びノードと相
関させるカーネル在駐テーブルを設けることによって解
決する。これらのテーブルは、ネットワーク管理者によ
って、メツセージ待ち行列の実際のノード位置における
変更を反映するように変更することができる。しかし、
呼プロセスによって供給される入力パラメータは変わら
ない。それゆえ、メツセージ待ち行列の実際のノード位
置はアプリケーション・プログラム・インターフェース
で透過性である。
メツセージ待ち行列の実際の識別子に対するアドレス確
定(resolution)がカーネル・レベルで生じ
る。KMTは入力としてキーを受は取り、所望の待ち行
列のキーとノードIDを与える。各ノードのカーネルを
そのように相関させたことにより、システム・コール・
ルーチンは通信を開始したプロセスによって与えられる
キーを受は取り、それに対応するキーとノードへ進む。
定(resolution)がカーネル・レベルで生じ
る。KMTは入力としてキーを受は取り、所望の待ち行
列のキーとノードIDを与える。各ノードのカーネルを
そのように相関させたことにより、システム・コール・
ルーチンは通信を開始したプロセスによって与えられる
キーを受は取り、それに対応するキーとノードへ進む。
このとき、もしその識別子をもつメツセージ待ち行列が
そのノードの待ち行列ヘッダ・テーブル中で見出されな
かったなら、新しいメツセージ待ち行列が作成され、も
し呼出し者(caller)が、待ち行列が作成される
べきことを要求したなら、そのメツセージ待ち行列の識
別子が呼出しノードのカーネルに戻される。呼出しノー
ドのカーネルにおいて、実際のノード位置とメツセージ
待ち行列識別子を含む新しい代理(surrogate
)待ち行列ヘッダ・エントリが構成される。次にアプリ
ケーションは、自己のメツセージを、意図するメツセー
ジ待ち行列に配置することが可能となる。
そのノードの待ち行列ヘッダ・テーブル中で見出されな
かったなら、新しいメツセージ待ち行列が作成され、も
し呼出し者(caller)が、待ち行列が作成される
べきことを要求したなら、そのメツセージ待ち行列の識
別子が呼出しノードのカーネルに戻される。呼出しノー
ドのカーネルにおいて、実際のノード位置とメツセージ
待ち行列識別子を含む新しい代理(surrogate
)待ち行列ヘッダ・エントリが構成される。次にアプリ
ケーションは、自己のメツセージを、意図するメツセー
ジ待ち行列に配置することが可能となる。
E、実施例
第1図は、本発明が実施されるネットワークを示す概要
図である。ネットワーク10は、通信リンク30を介し
て接続された複数のノードA、 B及びCを有するもの
として示されている。各ノードA、B、Cはそれぞれが
、単独システムまたはネットワーク10の一部として動
作し得る多重タスク、多重処理能力をもつ少くとも1つ
のプロセッサ40を含む。尚、第1図において参照番号
40は、各ノードA、B、Cでそれぞれ40A、40B
、40Gとして示され、これは参照番号42以下につい
ても同様である。図示されているように、通信ネットワ
ーク30はローカル・エリア・ネットワーク(LAN)
または広域ネットワーク(VAN)のどちらでもよいが
、好適な実施例はノードA、B及びCの間で通信リンク
を確立するためのIBMシステム・ネットワーク・アー
キテクチャ(SNA)を利用する。各ノードは、ユーザ
・アプリケーション42が走ることになる少くとも1つ
のプロセッサ40を有する。プロセッサ40の内部には
、好適にはIBMのAIXであるオペレーティング・シ
ステム(0,S、)46の制御の下にあるプロセス44
がある。
図である。ネットワーク10は、通信リンク30を介し
て接続された複数のノードA、 B及びCを有するもの
として示されている。各ノードA、B、Cはそれぞれが
、単独システムまたはネットワーク10の一部として動
作し得る多重タスク、多重処理能力をもつ少くとも1つ
のプロセッサ40を含む。尚、第1図において参照番号
40は、各ノードA、B、Cでそれぞれ40A、40B
、40Gとして示され、これは参照番号42以下につい
ても同様である。図示されているように、通信ネットワ
ーク30はローカル・エリア・ネットワーク(LAN)
または広域ネットワーク(VAN)のどちらでもよいが
、好適な実施例はノードA、B及びCの間で通信リンク
を確立するためのIBMシステム・ネットワーク・アー
キテクチャ(SNA)を利用する。各ノードは、ユーザ
・アプリケーション42が走ることになる少くとも1つ
のプロセッサ40を有する。プロセッサ40の内部には
、好適にはIBMのAIXであるオペレーティング・シ
ステム(0,S、)46の制御の下にあるプロセス44
がある。
各プロセッサ40には、番号48として示されているさ
まざまな記憶媒体が接続されている。尚、図示されてい
ないけれどもネットワーク構成10によって意図されて
いるものとして、ネットワーク中の各プロセッサに接続
可能な他のさまざまな端末、記憶及び周辺I10装置が
ある。各プロセッサ40のオペレーティング・システム
46の内部にはカーネル50がある。
まざまな記憶媒体が接続されている。尚、図示されてい
ないけれどもネットワーク構成10によって意図されて
いるものとして、ネットワーク中の各プロセッサに接続
可能な他のさまざまな端末、記憶及び周辺I10装置が
ある。各プロセッサ40のオペレーティング・システム
46の内部にはカーネル50がある。
各独立ノードA、B、Cは、所与のタスクを実行するた
めに、互いのノードで利用可能な資源を共有するために
互いに協働することができる。そのような分散サービス
環境においては、本発明によって与えられるメツセージ
待ち行列位置の透過性を通じて処理する効率的なメツセ
ージの能力を利用するためにユーザはわずかの対話しか
必要としない。また資源を共有することにより、ネット
ワーク中の各ノードで情報を複写する必要性が減少され
る。
めに、互いのノードで利用可能な資源を共有するために
互いに協働することができる。そのような分散サービス
環境においては、本発明によって与えられるメツセージ
待ち行列位置の透過性を通じて処理する効率的なメツセ
ージの能力を利用するためにユーザはわずかの対話しか
必要としない。また資源を共有することにより、ネット
ワーク中の各ノードで情報を複写する必要性が減少され
る。
通信待ち行列のノード位置がユーザ・プログラムに対し
て透過的であるがゆえに、プロセス間の通信はより効率
的になり、ユーザが通信の詳細に払うべき注意はより少
なくなる。尚、所与の待ち行列の実際のノード位置は変
わり得るけれども、所与のノードのユーザは、待ち行列
の位置を追従する責任から解放される。ネットワーク管
理者の1つの任務は、待ち行列のキーと位置を相関させ
るプロフィールの最新のセットを維持することと、適当
な相関情報をネットワークにおける各ノードのカーネル
50中のKMTにロードすることである。
て透過的であるがゆえに、プロセス間の通信はより効率
的になり、ユーザが通信の詳細に払うべき注意はより少
なくなる。尚、所与の待ち行列の実際のノード位置は変
わり得るけれども、所与のノードのユーザは、待ち行列
の位置を追従する責任から解放される。ネットワーク管
理者の1つの任務は、待ち行列のキーと位置を相関させ
るプロフィールの最新のセットを維持することと、適当
な相関情報をネットワークにおける各ノードのカーネル
50中のKMTにロードすることである。
ネットワーク構成10中の各プロセッサ・ノードのオペ
レーティング・システム46には、予定の待ち行列に必
要な情報を維持するディレクトリ・サービス機能が含ま
れている。これらの機能には、IPCキーの作成、キー
位置の定義、特定のメツセージ待ち行列のためのキーに
対する外部IPC待ち行列名の決定、及びメツセージが
到来するノードからのネットワーク位置及び遠隔待ち行
列の戻しがある。
レーティング・システム46には、予定の待ち行列に必
要な情報を維持するディレクトリ・サービス機能が含ま
れている。これらの機能には、IPCキーの作成、キー
位置の定義、特定のメツセージ待ち行列のためのキーに
対する外部IPC待ち行列名の決定、及びメツセージが
到来するノードからのネットワーク位置及び遠隔待ち行
列の戻しがある。
待ち行列プロファイル・レコードのフォーマットが第1
図の参照番号52で示されており、アプリケーションの
導入プログラムによってコールされるライブラリ・ルー
チン作成NPC−PROFの実行の結果として作成され
る。このプログラムは、長さ14キヤラクタまでの待ち
行列名(QNAME)を供給し、ライブラリ・ルーチン
がプロファイル・レコードを作成し、そのノードに固有
の数字INKEY値を割当てる。システムのスタート・
アップ時に、システムはプロファイルを読み、第2図に
示すようなエントリをもっKMTを作成する。
図の参照番号52で示されており、アプリケーションの
導入プログラムによってコールされるライブラリ・ルー
チン作成NPC−PROFの実行の結果として作成され
る。このプログラムは、長さ14キヤラクタまでの待ち
行列名(QNAME)を供給し、ライブラリ・ルーチン
がプロファイル・レコードを作成し、そのノードに固有
の数字INKEY値を割当てる。システムのスタート・
アップ時に、システムはプロファイルを読み、第2図に
示すようなエントリをもっKMTを作成する。
KMTは、ライブラリ・ルーチンによって割当てられる
局所キー(LKEY)と、実際のキー(RKEY)と、
LKEYによって指定される待ち行列のためのノード(
RNODE)を含む。
局所キー(LKEY)と、実際のキー(RKEY)と、
LKEYによって指定される待ち行列のためのノード(
RNODE)を含む。
第3図は、待ち行列ヘッダ・レコードのフォーマットを
示す。スタート・アップ時にサーバー・プロセスがIP
CPROFを見出すために待ち行列名を入力し、その待
ち行列に関連するキーを受は取る。サーバー・プロセス
は次にキーを与えるシステム・コール、msggetを
発行し、msggatが待ち行列を作成する。
示す。スタート・アップ時にサーバー・プロセスがIP
CPROFを見出すために待ち行列名を入力し、その待
ち行列に関連するキーを受は取る。サーバー・プロセス
は次にキーを与えるシステム・コール、msggetを
発行し、msggatが待ち行列を作成する。
第3@中の待ち行列ヘッダ・レコードは、特定の待ち行
列が、待ち行列ヘッダ・テーブルが在駐するノードに対
して局所的(L)であるか、あるいは遠隔(R)に位置
しているかを示す表示子を含む。待ち行列ヘッダ・テー
ブル・エントリの残りのフォーマットは局所/遠隔表示
子の関数である。すなわち、もし待ち行列が局所的であ
るなら、LKEYが局所持ち行列エントリを含み、LM
TYPEはその待ち行列のために最も新しく使用された
メツセージ・タイプ表示子の値である。
列が、待ち行列ヘッダ・テーブルが在駐するノードに対
して局所的(L)であるか、あるいは遠隔(R)に位置
しているかを示す表示子を含む。待ち行列ヘッダ・テー
ブル・エントリの残りのフォーマットは局所/遠隔表示
子の関数である。すなわち、もし待ち行列が局所的であ
るなら、LKEYが局所持ち行列エントリを含み、LM
TYPEはその待ち行列のために最も新しく使用された
メツセージ・タイプ表示子の値である。
遠隔待ち行列の場合、RMODEがそのノードIDを含
み、RMODE MSQIDが遠隔ノードにおけるメ
ツセージ待ち行列IDを含む。RNODE BOOT
CNTというフィールドは、遠隔ノードの電力サイクル
状況をあられす数を含む。
み、RMODE MSQIDが遠隔ノードにおけるメ
ツセージ待ち行列IDを含む。RNODE BOOT
CNTというフィールドは、遠隔ノードの電力サイクル
状況をあられす数を含む。
第4図は、メツセージ待ち行列エントリの内容を示す。
MTYPEはメツセージのメツセージ・タイプであり、
MSGPTRは、メツセージ・テキストに対するポイン
タである。
MSGPTRは、メツセージ・テキストに対するポイン
タである。
第5図は、本発明に基づきIPCの間に実行される論理
をあられすフローチャートである。これにおいて、ノー
ドLOCNODEでのプロセスが通信を開始したとき、
プロセスは、ブロック80で示される入力としてLKE
Yを与えるmsggetシステム・コールを発行する。
をあられすフローチャートである。これにおいて、ノー
ドLOCNODEでのプロセスが通信を開始したとき、
プロセスは、ブロック80で示される入力としてLKE
Yを与えるmsggetシステム・コールを発行する。
そのキーは、LOGMODEのカーネル在駐KMTにお
けるルックアップ関数に対する引数である。そして、ブ
ロック82でKMTが検索される。ブロック84で一致
が見出されると、ブロック86でIPC論理が、LOC
NODEとREMNODEの間に通信リンりが存在する
かどうかを判断する(この説明では、RNODEがRE
MNODE(7)ためノノードIDを含むものと仮定す
る)。もし通信リンクが存在しないなら、ブロック88
で通信リンクが確立され、ブロック90で、KMT中で
見出された相関キーRKE、Yが関連するノードREM
NODEに送られる。
けるルックアップ関数に対する引数である。そして、ブ
ロック82でKMTが検索される。ブロック84で一致
が見出されると、ブロック86でIPC論理が、LOC
NODEとREMNODEの間に通信リンりが存在する
かどうかを判断する(この説明では、RNODEがRE
MNODE(7)ためノノードIDを含むものと仮定す
る)。もし通信リンクが存在しないなら、ブロック88
で通信リンクが確立され、ブロック90で、KMT中で
見出された相関キーRKE、Yが関連するノードREM
NODEに送られる。
もしKMT中で、msggetをコールするために使用
されるLKEYのためのエントリが見出されなかったな
ら、メツセージ待ち行列はブロック92で局所的である
とみなされ、慣用的な方法で通信が行なわれる。
されるLKEYのためのエントリが見出されなかったな
ら、メツセージ待ち行列はブロック92で局所的である
とみなされ、慣用的な方法で通信が行なわれる。
ブロック94で、REMNODEのmsgget トラ
ンザクション・プログラムがRKEYを受は取り、ブロ
ック96でREMNODEにおける待ち行列ヘッダを検
索する。このとき、ブロック98で一致が見出されない
なら、エラー条件が存在し、そこのことはブロック10
0で表示される。もしREMNODEの待ち行列ヘッダ
がエントリ一致RKEYを含むなら、ブロック102で
REMN○DEのブート・カウントであるRNODE
BOOTCNTとともにMSQIDがLOGMODE
に戻される。
ンザクション・プログラムがRKEYを受は取り、ブロ
ック96でREMNODEにおける待ち行列ヘッダを検
索する。このとき、ブロック98で一致が見出されない
なら、エラー条件が存在し、そこのことはブロック10
0で表示される。もしREMNODEの待ち行列ヘッダ
がエントリ一致RKEYを含むなら、ブロック102で
REMN○DEのブート・カウントであるRNODE
BOOTCNTとともにMSQIDがLOGMODE
に戻される。
次にブロック104で示すようにLOCNODEに戻っ
て、Rフォーマット待ち行列ヘッダ・エントリ(第3図
参照)がLOCNODE待ち行列ヘッダ・リストに追加
され、局所ノードMSQIDが呼出し手に戻される。呼
プロセスは次にm5g5ndを実行し、第5B図に示す
論理が適用される。
て、Rフォーマット待ち行列ヘッダ・エントリ(第3図
参照)がLOCNODE待ち行列ヘッダ・リストに追加
され、局所ノードMSQIDが呼出し手に戻される。呼
プロセスは次にm5g5ndを実行し、第5B図に示す
論理が適用される。
第5B図を参照すると、LOGMODEにおいて、MS
QID (ブロック110)が、LO(?:N0DE待
ち行列ヘッダ・リストにインデックスするために使用さ
れる(ブロック112)。ブロック114で、REMN
ODE (待ち行列ヘッダ中のRNODE)が既にLO
GMODEと接続されているかどうかの判断がなされる
。もしそうでなければ、ブロック116で接続が確立さ
れ、LOGMODEのn15g5ndがメツセージ・テ
キストMSQID RNODE BOOTCNTと
MTYPEのREMNODEへの送信を行なわせる(ブ
ロック118)。
QID (ブロック110)が、LO(?:N0DE待
ち行列ヘッダ・リストにインデックスするために使用さ
れる(ブロック112)。ブロック114で、REMN
ODE (待ち行列ヘッダ中のRNODE)が既にLO
GMODEと接続されているかどうかの判断がなされる
。もしそうでなければ、ブロック116で接続が確立さ
れ、LOGMODEのn15g5ndがメツセージ・テ
キストMSQID RNODE BOOTCNTと
MTYPEのREMNODEへの送信を行なわせる(ブ
ロック118)。
REMNODEでは、ブロック120でそのm5g5n
d トランザクション・プログラムがMSQIDとBO
OTCNTとMTYPEを受は取る。REMNODEは
このデータを受は取り、ブロック122で先ず受は取っ
たデータと、REMMODEにおける現在のブート・カ
ウントとを比較する。
d トランザクション・プログラムがMSQIDとBO
OTCNTとMTYPEを受は取る。REMNODEは
このデータを受は取り、ブロック122で先ず受は取っ
たデータと、REMMODEにおける現在のブート・カ
ウントとを比較する。
もしそれらが一致しないならエラー条件が存在し、その
ことはブロック124でLOCNODEに戻される。一
方、それらのカウント値が一致するとき、RE M N
OD E m5g5nd トランザクション・プログ
ラムが、待ち行列ヘッダを選択し、MTYPEとともに
そのメツセージ待ち行列上にメツセージ・テキスト・ポ
インタ、MSGPTRを配置するためにMSQIDを使
用する(ブロック126)。ブロック128でREMN
ODEは、LOGMODEに応答し、呼出し者(cal
ler)に、成功裡に完了したという状況を戻す。
ことはブロック124でLOCNODEに戻される。一
方、それらのカウント値が一致するとき、RE M N
OD E m5g5nd トランザクション・プログ
ラムが、待ち行列ヘッダを選択し、MTYPEとともに
そのメツセージ待ち行列上にメツセージ・テキスト・ポ
インタ、MSGPTRを配置するためにMSQIDを使
用する(ブロック126)。ブロック128でREMN
ODEは、LOGMODEに応答し、呼出し者(cal
ler)に、成功裡に完了したという状況を戻す。
第5C図は、msgrcvシステム・コールの動作をあ
られすフローチャートである。LOGNODEにおいて
、ブロック140でmsgrcvはMSQIDとMTY
PEを受は取る。msgrcvは、その待ち行列ヘッダ
・リストへインデックスし正しい待ち行列ヘッダを見出
すためにMSQIDを使用する。
られすフローチャートである。LOGNODEにおいて
、ブロック140でmsgrcvはMSQIDとMTY
PEを受は取る。msgrcvは、その待ち行列ヘッダ
・リストへインデックスし正しい待ち行列ヘッダを見出
すためにMSQIDを使用する。
またI18greVは、そのヘッダに含まれているRN
ODE情報を使用して、ブロック144でREMNOD
Eとの接続(リンク)が存在しているかどうかを判断し
、もしそうでなければ、ブロック146で接続を確立す
る。ブロック148では、その確立されたリンクを介し
てMSQIDと、RNODE BOOTCNTと、M
TYPEがREMNODEに送られる。
ODE情報を使用して、ブロック144でREMNOD
Eとの接続(リンク)が存在しているかどうかを判断し
、もしそうでなければ、ブロック146で接続を確立す
る。ブロック148では、その確立されたリンクを介し
てMSQIDと、RNODE BOOTCNTと、M
TYPEがREMNODEに送られる。
REMNODEのmsgrcv トランザクション・プ
ログラムがブロック150でこの情報を受は取った後、
そのプログラムは受は取ったブート・カウント値と現在
のブート・カウント値を比較する(ブロック152)。
ログラムがブロック150でこの情報を受は取った後、
そのプログラムは受は取ったブート・カウント値と現在
のブート・カウント値を比較する(ブロック152)。
もしそれらのブート・カウント値が一致しないのならブ
ロック154でエラー条件が表示されLOGMODEに
戻される。
ロック154でエラー条件が表示されLOGMODEに
戻される。
ブート・カウント値が一致したとき、ブロック−20=
156でREMNODEのmsgrcv トランザクシ
ョン・プログラム論理が待ち行列ヘッダを選択するため
に、受は取ったMSQIDを使用する。論理は次に、ブ
ロック158で一致するMTYPEをもつメツセージが
あるか否かを判断するために待ち行列のメツセージ・エ
ントリをチェックする。
ョン・プログラム論理が待ち行列ヘッダを選択するため
に、受は取ったMSQIDを使用する。論理は次に、ブ
ロック158で一致するMTYPEをもつメツセージが
あるか否かを判断するために待ち行列のメツセージ・エ
ントリをチェックする。
もしREMNODEのメツセージ待ち行列上に一致する
MTYPEをもつメツセージが存在しないのなら、論理
はブロック160でメツセージが到来するのを待つ。も
し一致するMTYPEをもつメツセージが見出されたな
ら、ブロック162で、上記の既に確立された同一の通
信リンクによりメツセージ・テキスト・ポインタがLO
CNODEに戻される。ブロック164で、LOGNO
DEは呼出し手にメツセージ・テキストを戻す。
MTYPEをもつメツセージが存在しないのなら、論理
はブロック160でメツセージが到来するのを待つ。も
し一致するMTYPEをもつメツセージが見出されたな
ら、ブロック162で、上記の既に確立された同一の通
信リンクによりメツセージ・テキスト・ポインタがLO
CNODEに戻される。ブロック164で、LOGNO
DEは呼出し手にメツセージ・テキストを戻す。
第6図は、第5A、5B、5C図に関連する論理を、特
定の仮設的環境を使用して説明する図である。ここでユ
ーザが会議室を予定する(scheduler)ために
コールするシェル・コマンド・プログラムがLOGNO
DEに存在すると仮定しよう。このシェル・コマンドは
、スケジューラ・デーモン(daemon) N P
Cメツセージ待ち行列のためにMSQIDを入手する
べくそのLKEY71000のためにmsggetを発
行する。また、ネットワーク管理者が、LOGMODE
からの会議室の要求がREMNODE中のデーモンによ
ってサービスされるべきであると決定し、REMNOD
E中のデーモンの待ち行列のためのキーが67000で
あると仮定する。この情報は、LOCNODEのカーネ
ルIPCKMT中にロードされている。
定の仮設的環境を使用して説明する図である。ここでユ
ーザが会議室を予定する(scheduler)ために
コールするシェル・コマンド・プログラムがLOGNO
DEに存在すると仮定しよう。このシェル・コマンドは
、スケジューラ・デーモン(daemon) N P
Cメツセージ待ち行列のためにMSQIDを入手する
べくそのLKEY71000のためにmsggetを発
行する。また、ネットワーク管理者が、LOGMODE
からの会議室の要求がREMNODE中のデーモンによ
ってサービスされるべきであると決定し、REMNOD
E中のデーモンの待ち行列のためのキーが67000で
あると仮定する。この情報は、LOCNODEのカーネ
ルIPCKMT中にロードされている。
動作のシーケンスは次のとおりである。
(1) get roomがキー71000でMSGG
ETをコール。
ETをコール。
(2)MSGOETがキー71000のためのLOCN
ODE KEYを参照する。
ODE KEYを参照する。
(3)KMTは、キー71000がRNODE RE
MNODE中でRKEY67000に再マツプされたこ
とを表示する。
MNODE中でRKEY67000に再マツプされたこ
とを表示する。
(4)MSGGETは今やREMNODE中でキー67
000を探すべきことを知っている。
000を探すべきことを知っている。
(5)MSGGETはREMNODEとSNA接続を見
出し、あるいは確立し、キー67000のためのMSQ
IDを要求するネットワーク・メツセージを送る。
出し、あるいは確立し、キー67000のためのMSQ
IDを要求するネットワーク・メツセージを送る。
(6)REMNODE中のMSGGETトランザクショ
ン・プログラムは、キーが67000である待ち行列の
ためのメツセージ待ち行列ヘッダを探し出す。この場合
MSQIDは2である。
ン・プログラムは、キーが67000である待ち行列の
ためのメツセージ待ち行列ヘッダを探し出す。この場合
MSQIDは2である。
(7)REMNODE中のMSGGETトランザクショ
ン・プログラムは、LOCNODE中のMSGGETに
、MSQIDが2であることを述べるネットワーク応答
を送る。
ン・プログラムは、LOCNODE中のMSGGETに
、MSQIDが2であることを述べるネットワーク応答
を送る。
(8)MSGGETは、待ち行列ヘッダのリストにエン
トリを追加する。ヘッダ・エントリはとりわけRNOD
E中(71REMMODEと、2であるRNODE
MSQIDと、これが遠隔待ち行列ヘッダのための局所
“代理”であることを記述するタグRとを含む。この例
では、遠隔待ち行列のための代理ヘッダは、LOGMO
DEの待ち行列へラダ・リストのスロット1にあり、従
ってLOGNODE MSQIDは1である。
トリを追加する。ヘッダ・エントリはとりわけRNOD
E中(71REMMODEと、2であるRNODE
MSQIDと、これが遠隔待ち行列ヘッダのための局所
“代理”であることを記述するタグRとを含む。この例
では、遠隔待ち行列のための代理ヘッダは、LOGMO
DEの待ち行列へラダ・リストのスロット1にあり、従
ってLOGNODE MSQIDは1である。
(9)MSGGETは呼出し者にMSQID=1を戻す
。
。
(10) get −roomは、会議室デーモンにI
PCメツセージを送るためにこのMSQIDを使用する
。
PCメツセージを送るためにこのMSQIDを使用する
。
以下に示すのは、第5A、5B、5C及び6図に関連し
て説明した論理フローチャートの擬似コード表現である
。
て説明した論理フローチャートの擬似コード表現である
。
フラグ
output: m5qid
入カキ−のためのマツピング・テーブル上を走らせるi
f((入カキ−のためのマツピングが存在しない)or
(入カキ−が局所ノードの別のキーをマツプ))戻
す else /”キーは遠隔ノードのキーをマツプI/応
答を待つ 応答が受信されたとき 代理待ち行列ヘッダを割振り 戻されたm5qidを待ち行列ヘッダに格納この代理待
ち行列ヘッダのための局所m5qidを戻すmsgge
t of−1ocal queueinput:キー フラグ output: m5qid この待ち行列のためのメツセージ待ち行列idを戻す5
GSND input: maqid フラグ 待ち行列ヘッダを探し出すためmaqidを使用if
(ヘッダは代理待ち行列のためのもの)代理待ち行列ヘ
ッダからノード名と遠隔maqidを抽出応答を待つ 応答が受は取られたとき呼出し者に戻るelse /”
ヘッダは居所持ち行列のためのものである*/手続ma
qsnd−to 1ocal queueをコールメツ
セージ・テキストの長さ フラグ 呼出し者が待ち行列に書き込むべき許可を有しているか
どうか調べるためチェック while (メツセージを格納するに十分なスペース
がない)利用可能な十分なスペースがあるまで待つメツ
セージ・テキストを待ち行列にコピーメツセージを保持
するバッファへのポインタメツセージ・フラグを保持す
るバッファの長さバッファの長さ output:メツセージ・バッファ中ヘコビーされた
メツセージのサイズ 待ち行列ヘッダを探し出すためm5qidを使用if
(ヘッダが遠隔待ち行列のためのもの)代理待ち行列ヘ
ッダからノード名と遠隔m5qidを抽出手続 手続msgrcv from−1ocal queue
を実行することを要求するメツセージを遠隔ノードに送
り、その結果を戻す応答を待つ 応答が受信されたとき 呼出し者にメツセージをコピー else /”ヘッダは局所持ち行列のためのものであ
る1/手続msgrcv from 1ocal qu
eueをコールmsgrcv fromユocal q
ueueメツセージのサイズ 呼出し者が待ち行列から読み取る許可を有しているかど
う力翫調べるためチェック 待ち行列からメツセージを削除 else /”待ち行列上にメツセージなし*/休止(
メツセージが待ち行列上に到来するまで)loopへ 待ち行列の割当ては、″よく知られた″待ち行列、すな
わち多くの依頼人によって使用されると考えられる待ち
行列には複写キーが作成されなl、Nように管理されな
くてはならない。本発明しこよれば、割当てキーの外部
登録の必要なしでアプリケーション・プロジェクトの作
成者が大域約1こ固有のキーを作成することを可能なら
しめる方策カー与えられる。この方策の主要な要素は、
待ち行列プロファイル(第1図、参照番号52)のエン
ドミノ中で14個のキャラクタの文字数字(alpha
numeric)−28= 待ち行列名を使用することである6 アプリケーシヨンの開発者は、一意的に表現するための
14個のキャラクタの名前を選択する。
f((入カキ−のためのマツピングが存在しない)or
(入カキ−が局所ノードの別のキーをマツプ))戻
す else /”キーは遠隔ノードのキーをマツプI/応
答を待つ 応答が受信されたとき 代理待ち行列ヘッダを割振り 戻されたm5qidを待ち行列ヘッダに格納この代理待
ち行列ヘッダのための局所m5qidを戻すmsgge
t of−1ocal queueinput:キー フラグ output: m5qid この待ち行列のためのメツセージ待ち行列idを戻す5
GSND input: maqid フラグ 待ち行列ヘッダを探し出すためmaqidを使用if
(ヘッダは代理待ち行列のためのもの)代理待ち行列ヘ
ッダからノード名と遠隔maqidを抽出応答を待つ 応答が受は取られたとき呼出し者に戻るelse /”
ヘッダは居所持ち行列のためのものである*/手続ma
qsnd−to 1ocal queueをコールメツ
セージ・テキストの長さ フラグ 呼出し者が待ち行列に書き込むべき許可を有しているか
どうか調べるためチェック while (メツセージを格納するに十分なスペース
がない)利用可能な十分なスペースがあるまで待つメツ
セージ・テキストを待ち行列にコピーメツセージを保持
するバッファへのポインタメツセージ・フラグを保持す
るバッファの長さバッファの長さ output:メツセージ・バッファ中ヘコビーされた
メツセージのサイズ 待ち行列ヘッダを探し出すためm5qidを使用if
(ヘッダが遠隔待ち行列のためのもの)代理待ち行列ヘ
ッダからノード名と遠隔m5qidを抽出手続 手続msgrcv from−1ocal queue
を実行することを要求するメツセージを遠隔ノードに送
り、その結果を戻す応答を待つ 応答が受信されたとき 呼出し者にメツセージをコピー else /”ヘッダは局所持ち行列のためのものであ
る1/手続msgrcv from 1ocal qu
eueをコールmsgrcv fromユocal q
ueueメツセージのサイズ 呼出し者が待ち行列から読み取る許可を有しているかど
う力翫調べるためチェック 待ち行列からメツセージを削除 else /”待ち行列上にメツセージなし*/休止(
メツセージが待ち行列上に到来するまで)loopへ 待ち行列の割当ては、″よく知られた″待ち行列、すな
わち多くの依頼人によって使用されると考えられる待ち
行列には複写キーが作成されなl、Nように管理されな
くてはならない。本発明しこよれば、割当てキーの外部
登録の必要なしでアプリケーション・プロジェクトの作
成者が大域約1こ固有のキーを作成することを可能なら
しめる方策カー与えられる。この方策の主要な要素は、
待ち行列プロファイル(第1図、参照番号52)のエン
ドミノ中で14個のキャラクタの文字数字(alpha
numeric)−28= 待ち行列名を使用することである6 アプリケーシヨンの開発者は、一意的に表現するための
14個のキャラクタの名前を選択する。
各待ち行列プロファイル・エントリは第1図に示されて
いるように、QNAME、LKEY、RNODE、RK
EYというフィールドをもつ。
いるように、QNAME、LKEY、RNODE、RK
EYというフィールドをもつ。
ライブラリールーチンcreate ipc prof
(Q NAME、LKEY、RKEY、NICKNA
ME)が待ち行列プロファイルを作成する。すなわち、
呼出し者が名前を与え、このルーチンが待ち行列プロフ
ァイル・エントリを作成し、それに固有の局所キーを割
当て、その局所キーを呼出し者に戻す。その後ネットワ
ーク管理者がRNODE及びRKEYのためのデータを
与える。
(Q NAME、LKEY、RKEY、NICKNA
ME)が待ち行列プロファイルを作成する。すなわち、
呼出し者が名前を与え、このルーチンが待ち行列プロフ
ァイル・エントリを作成し、それに固有の局所キーを割
当て、その局所キーを呼出し者に戻す。その後ネットワ
ーク管理者がRNODE及びRKEYのためのデータを
与える。
さて、分散アプリケーションがサーノベ・デーモンとサ
ーバの要求を作成するコマンド・プログラムから成って
いると仮定する。サーバは特定のネットワーク・ノード
上に在駐し、コマンド・プログラムはネットワークのい
くつかのノードのどれかで実行することがきる。そのよ
うなアプリケージョンの導入及び動作は次の例によって
示される。
ーバの要求を作成するコマンド・プログラムから成って
いると仮定する。サーバは特定のネットワーク・ノード
上に在駐し、コマンド・プログラムはネットワークのい
くつかのノードのどれかで実行することがきる。そのよ
うなアプリケージョンの導入及び動作は次の例によって
示される。
すなわち、デーモンが走るべき位置でアプリケーション
の導入プログラムがcreate ipc prof(
3)をコールし、”A CMEsfwrO32686”
という待ち行列名を与える。create ipc p
rof (3)によって作成されるプロファイルは次の
ものを含む二基 前 “ACMEsfwrO32
686”局所キー 0x30000−OxFFFFF
の範囲からcreate ipc prof(3)によ
って選択され、このノードにおける他のいかなるプロフ
ァイルとも衝突しない値。
の導入プログラムがcreate ipc prof(
3)をコールし、”A CMEsfwrO32686”
という待ち行列名を与える。create ipc p
rof (3)によって作成されるプロファイルは次の
ものを含む二基 前 “ACMEsfwrO32
686”局所キー 0x30000−OxFFFFF
の範囲からcreate ipc prof(3)によ
って選択され、このノードにおける他のいかなるプロフ
ァイルとも衝突しない値。
遠隔ノード 空文字
遠隔キー 0
コマンド・プログラムが走るべき各位置で、アプリケー
ションの導入プログラムはcreate 1pc−pr
of (3)をコールし、”ACMEsfwrO326
86”の待ち行列名を与える。create ipc
prof(3)によって作成されるプロファイルは次の
ものを含む: 名 前 “ACMEsfwrO32686”局所
キー create ipc prof(3)によっ
て0x30000−OxFFFFFの範囲から選択され
、このノードにおける他のいかなるプロファイルとも衝
突しない値。
ションの導入プログラムはcreate 1pc−pr
of (3)をコールし、”ACMEsfwrO326
86”の待ち行列名を与える。create ipc
prof(3)によって作成されるプロファイルは次の
ものを含む: 名 前 “ACMEsfwrO32686”局所
キー create ipc prof(3)によっ
て0x30000−OxFFFFFの範囲から選択され
、このノードにおける他のいかなるプロファイルとも衝
突しない値。
ネットワーク管理者は、次のものを含むようにコマンド
・ノードにおけるプロファイルを変更するように指令さ
れる: 遠隔ノード デーモンのノード 遠隔キー デーモンのノードにおける待ち行列の局所
キー デーモンがスタート・アップするとき、デーモンはfi
nd ipc prof(3)をコールして、待ち行列
名“ACMEsfwrO3268B”を与えてその名前
に関連するキーを見出す。デーモンは次にその待ち行列
のためのIDを入手するためにmsgget(キー、0
)をコールする。
・ノードにおけるプロファイルを変更するように指令さ
れる: 遠隔ノード デーモンのノード 遠隔キー デーモンのノードにおける待ち行列の局所
キー デーモンがスタート・アップするとき、デーモンはfi
nd ipc prof(3)をコールして、待ち行列
名“ACMEsfwrO3268B”を与えてその名前
に関連するキーを見出す。デーモンは次にその待ち行列
のためのIDを入手するためにmsgget(キー、0
)をコールする。
この14キヤラクタの待ち行列名はソフトウェア開発者
に、待ち行列名を選択する際のきわめて大きい自由度を
与える。すなわち、これにおいては、アプリケーション
開発者らの間で打合わせがなくとも、ある開発者によっ
て注意深く選択された名前が、別の開発者によって選択
された名前と衝突することはきわめて起こり難いことで
ある。
に、待ち行列名を選択する際のきわめて大きい自由度を
与える。すなわち、これにおいては、アプリケーション
開発者らの間で打合わせがなくとも、ある開発者によっ
て注意深く選択された名前が、別の開発者によって選択
された名前と衝突することはきわめて起こり難いことで
ある。
しかし、慎重な開発者といえども衝突が生じるような場
合を有する設計を選択することが全くないとは言えない
。そのような衝突を扱うための例示的な方策とし、では
次のようなものがある7申好適な待ち行列名がアプリケ
ーション・プログラム中に固定的にコード化されるが、
デーモンとコマンド・プログラムの両方上でコマンド引
数によって無効(override)ストリングを供給
することもできる。
合を有する設計を選択することが全くないとは言えない
。そのような衝突を扱うための例示的な方策とし、では
次のようなものがある7申好適な待ち行列名がアプリケ
ーション・プログラム中に固定的にコード化されるが、
デーモンとコマンド・プログラムの両方上でコマンド引
数によって無効(override)ストリングを供給
することもできる。
*デーモンまたはコマンド・プログラムが導入されたと
き、そのデーモンまたはコマンド・プログラムは、必要
な待ち行列プロファイルを作成するためにcreate
ipc prof(3) を使用する。もし名前の衝
突のためその作成が失敗したなら、管理者が固有の待ち
行列を入力するよう促される。導入プログラムは次にプ
ロファイルを作成するためにこの待ち行列名を使用する
。
き、そのデーモンまたはコマンド・プログラムは、必要
な待ち行列プロファイルを作成するためにcreate
ipc prof(3) を使用する。もし名前の衝
突のためその作成が失敗したなら、管理者が固有の待ち
行列を入力するよう促される。導入プログラムは次にプ
ロファイルを作成するためにこの待ち行列名を使用する
。
傘導入プログラムまたは文書は管理者に、デーモン及び
コマンド・プログラムが常に待ち行列名引数で呼び出さ
れていることを確認するよう指令する。
コマンド・プログラムが常に待ち行列名引数で呼び出さ
れていることを確認するよう指令する。
次に正しいメツセージの経路指定(routing)を
保証するために実施される技術について説明する。
保証するために実施される技術について説明する。
上述のBachの文献に述べられているような単独アプ
リケーションにおいては、カーネルに所与のタイプの最
初のメツセージを戻させるようにMTYPEパラメータ
が適宜セットされる。もし待ち行列上にこのタイプを満
足するメツセージが存在しないなら、カーネルはプロセ
スを休眠させる。複数のプロセスが1つのメツセージ待
ち行列上で多重チャネルをセット・アップすることがで
き、以て各プロセスが、カーネルが適正な順序を維持し
、つつ到来する特定タイプのメツセージを順に抽出す
ることになる。
リケーションにおいては、カーネルに所与のタイプの最
初のメツセージを戻させるようにMTYPEパラメータ
が適宜セットされる。もし待ち行列上にこのタイプを満
足するメツセージが存在しないなら、カーネルはプロセ
スを休眠させる。複数のプロセスが1つのメツセージ待
ち行列上で多重チャネルをセット・アップすることがで
き、以て各プロセスが、カーネルが適正な順序を維持し
、つつ到来する特定タイプのメツセージを順に抽出す
ることになる。
分散サービス・ネットワーク環境においては、しかし、
複数の要求者が同時に同一のサーバを扱うことが可能で
ある。本発明は、メツセージ・タイプを用いて応答メツ
セージのデマルチプレクス機能を与える。
複数の要求者が同時に同一のサーバを扱うことが可能で
ある。本発明は、メツセージ・タイプを用いて応答メツ
セージのデマルチプレクス機能を与える。
MTYPE値は、メツセージ待ち行列ヘッダ(第3図)
中に32ビツトのMTYPE値を与えることによって一
意的であるように割当てられる。
中に32ビツトのMTYPE値を与えることによって一
意的であるように割当てられる。
この値は、最も新しく使用されたMTYPE値に対応す
る。メツセージ制御(msgct 1 )のための新し
いコマンドは、待ち行列のメツセージ・タイプの現在の
値を戻させる。MTYPEはプロセスに戻される度毎に
(第5B図、ブロック128)直ちにインクレメントさ
れる。
る。メツセージ制御(msgct 1 )のための新し
いコマンドは、待ち行列のメツセージ・タイプの現在の
値を戻させる。MTYPEはプロセスに戻される度毎に
(第5B図、ブロック128)直ちにインクレメントさ
れる。
尚、要求及び応答が同一の待ち行列を流れる方がより効
率的であるので、双方向待ち行列を切換する際にMTY
PEのために確立された規約がさらにネットワークの処
理能力を高める。
率的であるので、双方向待ち行列を切換する際にMTY
PEのために確立された規約がさらにネットワークの処
理能力を高める。
例えば、次のような筋書きにより、起こり得る問題が描
き出される。すなわち、待ち行列を作成するプロセス中
でサーバがパワー・オンすると、その待ち行列の識別情
報が最初の待ち行列ヘッダ・スロットに入る。そして依
頼人がmsggetを行い、MSQIDを受は取る。と
ころでサーバは電源サイクルを通過する。その少し後に
サーバにおけるプロセスが別の待ち行列を作成し、その
識別情報を最初の待ち行列ヘッダ・スロットに入れる。
き出される。すなわち、待ち行列を作成するプロセス中
でサーバがパワー・オンすると、その待ち行列の識別情
報が最初の待ち行列ヘッダ・スロットに入る。そして依
頼人がmsggetを行い、MSQIDを受は取る。と
ころでサーバは電源サイクルを通過する。その少し後に
サーバにおけるプロセスが別の待ち行列を作成し、その
識別情報を最初の待ち行列ヘッダ・スロットに入れる。
依頼人のプロセスは次にもとのMSQIDを用いてm5
g5ndを行う。すると、依頼人からのメツセージは依
頼人が期待した待ち行列には行かない。
g5ndを行う。すると、依頼人からのメツセージは依
頼人が期待した待ち行列には行かない。
本発明によれば、依頼人がメツセージを送る度毎にブー
ト・カウントの比較が行なわれるためにこの問題が回避
される。そしてもしブート・カウントが等しくないなら
、依頼人はエラー条件を通知される。ここで第5B図の
ブロック122,124、及び第5C図のブロック15
2,154を再度参照されたい。
ト・カウントの比較が行なわれるためにこの問題が回避
される。そしてもしブート・カウントが等しくないなら
、依頼人はエラー条件を通知される。ここで第5B図の
ブロック122,124、及び第5C図のブロック15
2,154を再度参照されたい。
各ノードは、そのルート・デバイス・スーパー・ブロッ
ク(第1図参照番号54)に、サーバのパワー・オン状
態を示すカウンタ+ BOOTCNTを有する。このカ
ウンタは、サーバがパワー・オフされ再びオンにされる
度毎にインクレメントされる。このカウント値は第5B
図及び第5C図に述べられているようなメツセージ動作
に使用され、そのメツセージ動作は、サーバが、メツセ
ージ待ち行列識別子を発行したときと同じ状態にあるこ
とを保証するためにメツセージ待ち行列識別子を使用す
る。
ク(第1図参照番号54)に、サーバのパワー・オン状
態を示すカウンタ+ BOOTCNTを有する。このカ
ウンタは、サーバがパワー・オフされ再びオンにされる
度毎にインクレメントされる。このカウント値は第5B
図及び第5C図に述べられているようなメツセージ動作
に使用され、そのメツセージ動作は、サーバが、メツセ
ージ待ち行列識別子を発行したときと同じ状態にあるこ
とを保証するためにメツセージ待ち行列識別子を使用す
る。
F0発明の効果
要約すると、本発明は、多重ノード・ネットワーク中の
任意のノードにあるプロセッサ間のプロセス間通信のた
めの、カーネル・レベルで動作可能な手段を与える。そ
して通信は、ネットワーク中の任意のノードにある、キ
ーで識別されたメツセージ待ち行列上に配置されたメツ
セージを通じてなされる。
任意のノードにあるプロセッサ間のプロセス間通信のた
めの、カーネル・レベルで動作可能な手段を与える。そ
して通信は、ネットワーク中の任意のノードにある、キ
ーで識別されたメツセージ待ち行列上に配置されたメツ
セージを通じてなされる。
アプリケーション・レベルでは、メツセージ待ち行列ノ
ード位置を知る必要がない。というのは、上述したキー
・マツピング・テーブルとそれの使用により、メツセー
ジ処理システム・コールによって使用するための実際の
メツセージ待ち行列アドレスへの、アプリケーション供
給キーの確定が可能となるからである。また、メツセー
ジ伝達の完全性は、必要なシステム・コールにおけるブ
ート・カウント比較ステップによって向上される。
ード位置を知る必要がない。というのは、上述したキー
・マツピング・テーブルとそれの使用により、メツセー
ジ処理システム・コールによって使用するための実際の
メツセージ待ち行列アドレスへの、アプリケーション供
給キーの確定が可能となるからである。また、メツセー
ジ伝達の完全性は、必要なシステム・コールにおけるブ
ート・カウント比較ステップによって向上される。
さらに、異なるノードのためのメツセージの多重化は、
待ち行列のヘッダ・エントリ中により記述的なMTYP
Eを与えることによって促進される。
待ち行列のヘッダ・エントリ中により記述的なMTYP
Eを与えることによって促進される。
さらにまた、上述した命名規約により、衝突、すなわち
分散サービス・ネットワーク環境中の異なるアプリケー
ション及びメツセージ待ち行列によって同一の名前が使
用されることの虞れが実質的に解消される。
分散サービス・ネットワーク環境中の異なるアプリケー
ション及びメツセージ待ち行列によって同一の名前が使
用されることの虞れが実質的に解消される。
第1図は、本発明が実施される複数のノードをもつネッ
トワークをあられす概要図、 第2図は、KMTのフォーマットを示す図、第3図は、
待ち行列ヘッダ・レコードのエントリを示す図、 第4図は、メツセージ待ち行列エントリのフォーマット
を示す図、 第5A、5B及び5C図は、プロセス間通信の動作の論
理フローチャート、 第6図は、ある仮設的な値を与えた場合のプロセス間通
信の例を示す図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 朗(外1名)
トワークをあられす概要図、 第2図は、KMTのフォーマットを示す図、第3図は、
待ち行列ヘッダ・レコードのエントリを示す図、 第4図は、メツセージ待ち行列エントリのフォーマット
を示す図、 第5A、5B及び5C図は、プロセス間通信の動作の論
理フローチャート、 第6図は、ある仮設的な値を与えた場合のプロセス間通
信の例を示す図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 朗(外1名)
Claims (1)
- 【特許請求の範囲】 ターゲット待ち行列上で通信トランザクションを要求す
るユーザ・アプリケーション内では未知のノード位置に
おいて、キーにより識別されるメッセージ待ち行列によ
りネットワークにおけるノードでユーザ・アプリケーシ
ョンを実行するプロセス間通信のためのネットワーク管
理システムであって、 第1のアプリケーション供給ノードに固有のターゲット
待ち行列キーと、第2のノードに固有であって該ターゲ
ット待ち行列に関連づけられたキーとを相関させる各ノ
ードにおけるアドレス確定テーブルと、 上記テーブルにアクセスし、要求された通信トランザク
ションを完了する際に使用するためのターゲット待ち行
列アドレスを構成するための、各ノードにおける手段、 とを具備するネットワーク管理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US014888 | 1987-02-13 | ||
US07/014,888 US5133053A (en) | 1987-02-13 | 1987-02-13 | Interprocess communication queue location transparency |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63201860A true JPS63201860A (ja) | 1988-08-19 |
JPH0525333B2 JPH0525333B2 (ja) | 1993-04-12 |
Family
ID=21768375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62288623A Granted JPS63201860A (ja) | 1987-02-13 | 1987-11-17 | ネツトワーク管理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5133053A (ja) |
EP (1) | EP0278316B1 (ja) |
JP (1) | JPS63201860A (ja) |
DE (1) | DE3852324T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012221101A (ja) * | 2011-04-06 | 2012-11-12 | Nec Corp | 障害によるリブートを考慮した処理部間の不整合検出方法並びに共有装置及びクラスタシステム |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0325384B1 (en) * | 1988-01-15 | 1993-09-29 | Quantel Limited | Data processing and communication |
US5345587A (en) | 1988-09-14 | 1994-09-06 | Digital Equipment Corporation | Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands |
US5117351A (en) * | 1988-10-21 | 1992-05-26 | Digital Equipment Corporation | Object identifier generator for distributed computer system |
US5551035A (en) * | 1989-06-30 | 1996-08-27 | Lucent Technologies Inc. | Method and apparatus for inter-object communication in an object-oriented program controlled system |
EP0405829B1 (en) * | 1989-06-30 | 1998-04-15 | AT&T Corp. | Object oriented software system architecture |
JPH0362257A (ja) * | 1989-07-31 | 1991-03-18 | Toshiba Corp | ネットワークモニタリングシステム |
DE69033092D1 (de) * | 1989-09-08 | 1999-06-10 | Auspex Systems Inc Santa Clara | Betriebssystemaufbau mit mehreren verarbeitungseinheiten |
AU631749B2 (en) * | 1990-09-14 | 1992-12-03 | Digital Equipment Corporation | System and method for communication between windowing environments |
JPH04130950A (ja) * | 1990-09-21 | 1992-05-01 | Toshiba Corp | ネットワークシステム |
JPH06500655A (ja) * | 1990-10-03 | 1994-01-20 | スィンキング マシンズ コーポレーション | 並列コンピュータ・システム |
US5673394A (en) * | 1990-10-31 | 1997-09-30 | Microsoft Corporation | Method of sharing memory between an operating system and an application program |
DE69129443T2 (de) * | 1990-12-14 | 1999-01-14 | Sun Microsystems Inc | Verfahren zum Betrieb zeitkritischer Prozesse in einer Fenstersystemumgebung |
US5617547A (en) * | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
US5347633A (en) * | 1991-04-30 | 1994-09-13 | International Business Machines, Inc. | System for selectively intercepting and rerouting data network traffic |
FR2679351B1 (fr) * | 1991-07-15 | 1995-01-27 | Bull Sa | Systeme d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur a une liaison specifique d'un reseau. |
JP3116443B2 (ja) * | 1991-08-30 | 2000-12-11 | ソニー株式会社 | ソケット通信ログ蓄積装置 |
US5257384A (en) * | 1991-09-09 | 1993-10-26 | Compaq Computer Corporation | Asynchronous protocol for computer system manager |
US5913922A (en) * | 1991-09-16 | 1999-06-22 | Pitney Bowes Inc. | Method of transmitting messages between software processes in a multitasking data processing system |
US5287434A (en) * | 1991-10-28 | 1994-02-15 | Monarch Marking Systems, Inc. | Barcode identification system spooler |
US5313638A (en) * | 1992-03-24 | 1994-05-17 | International Business Machines Corp. | Method using semaphores for synchronizing communication between programs or processes resident in a computer system |
FR2689267B1 (fr) * | 1992-03-27 | 1994-05-06 | Telemecanique | Procede de reconnaissance de donnees circulant sur un reseau de transmission de donnees et dispositif pour la mise en óoeuvre de ce procede. |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
US6026452A (en) | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US5577202A (en) * | 1992-08-24 | 1996-11-19 | Trw Inc. | Message handling system for automated gateway between first and second handling systems wherein first envelope is added to a second envelope respectively without changing text |
US5437036A (en) * | 1992-09-03 | 1995-07-25 | Microsoft Corporation | Text checking application programming interface |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
FR2698461B1 (fr) * | 1992-11-23 | 1995-01-13 | Bull Sa | Dispositif de traitement de l'information permettant la gestion d'une ressource informatique par un système d'administration. |
US5386568A (en) * | 1992-12-01 | 1995-01-31 | Yamaha Corporation | Apparatus and method for linking software modules |
US6718399B1 (en) * | 1993-05-21 | 2004-04-06 | Candle Distributed Solutions, Inc. | Communications on a network |
US5613090A (en) * | 1993-10-05 | 1997-03-18 | Compaq Computer Corporation | Computer system for disparate windowing environments which translates requests and replies between the disparate environments |
US5802312A (en) * | 1994-09-27 | 1998-09-01 | Research In Motion Limited | System for transmitting data files between computers in a wireless environment utilizing a file transfer agent executing on host system |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US6247064B1 (en) * | 1994-12-22 | 2001-06-12 | Unisys Corporation | Enqueue instruction in a system architecture for improved message passing and process synchronization |
US5555396A (en) * | 1994-12-22 | 1996-09-10 | Unisys Corporation | Hierarchical queuing in a system architecture for improved message passing and process synchronization |
US5563878A (en) * | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
US5724508A (en) * | 1995-03-09 | 1998-03-03 | Insoft, Inc. | Apparatus for collaborative computing |
US7058067B1 (en) | 1995-03-13 | 2006-06-06 | Cisco Technology, Inc. | Distributed interactive multimedia system architecture |
US5838683A (en) | 1995-03-13 | 1998-11-17 | Selsius Systems Inc. | Distributed interactive multimedia system architecture |
US5781787A (en) * | 1995-04-21 | 1998-07-14 | Lockheed Martin Corporation | Parallel program execution time with message consolidation |
US6097882A (en) * | 1995-06-30 | 2000-08-01 | Digital Equipment Corporation | Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service |
US5812767A (en) * | 1995-07-28 | 1998-09-22 | International Business Machines Corporation | System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts |
US5754856A (en) * | 1995-08-30 | 1998-05-19 | Candle Distributed Solutions, Inc. | MVS/ESA message transport system using the XCF coupling facility |
KR0150072B1 (ko) * | 1995-11-30 | 1998-10-15 | 양승택 | 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치 |
US5745781A (en) * | 1995-12-26 | 1998-04-28 | International Business Machines Corporation | Memoryless communications adapter including queueing and matching primitives for scalable distributed parallel computer systems |
US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
US5781703A (en) * | 1996-09-06 | 1998-07-14 | Candle Distributed Solutions, Inc. | Intelligent remote agent for computer performance monitoring |
WO1998027506A2 (en) * | 1996-12-17 | 1998-06-25 | Inca Technology, Inc. | Ndc consistency reconnect mechanism |
US6167446A (en) * | 1997-11-03 | 2000-12-26 | Inca Technology, Inc. | Automatically configuring network-name-services |
SE511098C2 (sv) * | 1997-12-08 | 1999-08-02 | Ericsson Telefon Ab L M | Kommunikationssystem och förfarande för att sända meddelanden i ett kommunikationssystem |
US6310888B1 (en) * | 1997-12-30 | 2001-10-30 | Iwork Software, Llc | System and method for communicating data |
US6308167B1 (en) * | 1998-04-09 | 2001-10-23 | Compaq Computer Corporation | Computer system using a queuing system and method for managing a queue and heterogeneous data structures |
US7305473B2 (en) * | 1999-05-28 | 2007-12-04 | The Coca-Cola Company | Provision of transparent proxy services to a user of a client device |
JP5220974B2 (ja) | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
US7237022B1 (en) * | 2000-06-29 | 2007-06-26 | Microsoft Corporation | Suspension and reinstatement of reference handles |
US7383355B1 (en) | 2000-11-01 | 2008-06-03 | Sun Microsystems, Inc. | Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects |
US7089564B2 (en) * | 2001-02-22 | 2006-08-08 | International Business Machines Corporation | High-performance memory queue |
US7068604B2 (en) * | 2001-08-23 | 2006-06-27 | International Business Machines Corporation | Managing memory resident queues to control resources of the systems using the queues |
US6901533B2 (en) * | 2001-08-23 | 2005-05-31 | International Business Machines Corporation | Reconstructing memory residents queues of an inactive processor |
US20030126109A1 (en) * | 2002-01-02 | 2003-07-03 | Tanya Couch | Method and system for converting message data into relational table format |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US20120190441A1 (en) * | 2003-03-05 | 2012-07-26 | Sierra Design Group | Gaming Platform |
US8136155B2 (en) * | 2003-04-01 | 2012-03-13 | Check Point Software Technologies, Inc. | Security system with methodology for interprocess communication control |
JP2005135382A (ja) * | 2003-08-19 | 2005-05-26 | Toshiba Corp | イベントベースの通知を有する共有メモリベースのプロセス間通信キューテンプレートのシステムおよび方法 |
US20050080759A1 (en) * | 2003-10-08 | 2005-04-14 | International Business Machines Corporation | Transparent interface to a messaging system from a database engine |
KR100716169B1 (ko) * | 2005-05-06 | 2007-05-10 | 삼성전자주식회사 | 네트워크 관리 시스템에서의 메시지 처리 장치 및 방법 |
US9690638B2 (en) * | 2011-09-29 | 2017-06-27 | Oracle International Corporation | System and method for supporting a complex message header in a transactional middleware machine environment |
US9116761B2 (en) * | 2011-09-29 | 2015-08-25 | Oracle International Corporation | System and method for preventing single-point bottleneck in a transactional middleware machine environment |
US9063974B2 (en) | 2012-10-02 | 2015-06-23 | Oracle International Corporation | Hardware for table scan acceleration |
US9674141B2 (en) * | 2013-12-27 | 2017-06-06 | Intel Corporation | Techniques for implementing a secure mailbox in resource-constrained embedded systems |
US9898414B2 (en) | 2014-03-28 | 2018-02-20 | Oracle International Corporation | Memory corruption detection support for distributed shared memory applications |
US10452547B2 (en) | 2017-12-29 | 2019-10-22 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10467139B2 (en) | 2017-12-29 | 2019-11-05 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US11893267B2 (en) | 2022-01-14 | 2024-02-06 | Bank Of America Corporation | Data flow control and routing using machine learning |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4266271A (en) * | 1978-10-10 | 1981-05-05 | Chamoff Martin E | Reconfigurable cluster of data-entry terminals |
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
US4412285A (en) * | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
US4719622A (en) * | 1985-03-15 | 1988-01-12 | Wang Laboratories, Inc. | System bus means for inter-processor communication |
EP0201063B1 (en) * | 1985-05-06 | 1993-07-07 | Computer X, Inc. | Method of locating processes in a distributed data processing system |
US4694396A (en) * | 1985-05-06 | 1987-09-15 | Computer X, Inc. | Method of inter-process communication in a distributed data processing system |
US4706080A (en) * | 1985-08-26 | 1987-11-10 | Bell Communications Research, Inc. | Interconnection of broadcast networks |
-
1987
- 1987-02-13 US US07/014,888 patent/US5133053A/en not_active Expired - Lifetime
- 1987-11-17 JP JP62288623A patent/JPS63201860A/ja active Granted
-
1988
- 1988-01-26 DE DE3852324T patent/DE3852324T2/de not_active Expired - Fee Related
- 1988-01-26 EP EP88101090A patent/EP0278316B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012221101A (ja) * | 2011-04-06 | 2012-11-12 | Nec Corp | 障害によるリブートを考慮した処理部間の不整合検出方法並びに共有装置及びクラスタシステム |
Also Published As
Publication number | Publication date |
---|---|
EP0278316A3 (en) | 1990-09-26 |
EP0278316A2 (en) | 1988-08-17 |
JPH0525333B2 (ja) | 1993-04-12 |
DE3852324T2 (de) | 1995-05-24 |
DE3852324D1 (de) | 1995-01-19 |
EP0278316B1 (en) | 1994-12-07 |
US5133053A (en) | 1992-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63201860A (ja) | ネツトワーク管理システム | |
US7246167B2 (en) | Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections | |
US6766348B1 (en) | Method and system for load-balanced data exchange in distributed network-based resource allocation | |
US5519875A (en) | Distributed processing system for modules, each having modularized objects | |
US6434594B1 (en) | Virtual processing network enabler | |
US5452459A (en) | Method and apparatus for allocating server access in a distributed computing environment | |
US6192389B1 (en) | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system | |
JP3782477B2 (ja) | オペレーティングシステムのシステム管理のためのイベントアーキテクチャ | |
US6523065B1 (en) | Method and system for maintenance of global network information in a distributed network-based resource allocation system | |
US5915131A (en) | Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services | |
EP0501610B1 (en) | Object oriented distributed computing system | |
US6138168A (en) | Support for application programs in a distributed environment | |
JP3612652B2 (ja) | ローカル・コンピュータ上で実行されるローカル・タスクによってリモート・コンピュータ上のリモート・タスクを実行する方法 | |
US6665701B1 (en) | Method and system for contention controlled data exchange in a distributed network-based resource allocation | |
US5165018A (en) | Self-configuration of nodes in a distributed message-based operating system | |
US5341499A (en) | Method and apparatus for processing multiple file system server requests in a data processing network | |
JP3853592B2 (ja) | 分散ウェブアプリケーションサーバ | |
US6314114B1 (en) | Distributed resource management | |
US7207040B2 (en) | Multi-CPUs support with thread priority control | |
US5226172A (en) | Methods for configuring and performing 3-level password searching in a distributed computer system | |
EP0747832A2 (en) | Customer information control system and method in a loosely coupled parallel processing environment | |
JPH11312153A (ja) | オブジェクト・サ―バ間の作業負荷管理方法および装置 | |
US6108689A (en) | Method and system for processing messages in a distributed computing environment | |
US6292824B1 (en) | Framework and method for facilitating client-server programming and interactions | |
US20020169881A1 (en) | Method and apparatus for distributed access to services in a network data processing system |