Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0525333B2 - - Google Patents
[go: Go Back, main page]

JPH0525333B2 - - Google Patents

Info

Publication number
JPH0525333B2
JPH0525333B2 JP62288623A JP28862387A JPH0525333B2 JP H0525333 B2 JPH0525333 B2 JP H0525333B2 JP 62288623 A JP62288623 A JP 62288623A JP 28862387 A JP28862387 A JP 28862387A JP H0525333 B2 JPH0525333 B2 JP H0525333B2
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.)
Expired - Lifetime
Application number
JP62288623A
Other languages
English (en)
Other versions
JPS63201860A (ja
Inventor
Uiriamu Jonson Donauon
Kiiisu Rotsukusu Rarii
Ametsudo Sheenngoda Amaaru
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 JPS63201860A publication Critical patent/JPS63201860A/ja
Publication of JPH0525333B2 publication Critical patent/JPH0525333B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
以下の順序で本発明を説明する。 A 産業上の利用分野 B 従来技術 C 発明が解決しようとする問題点 D 問題点を解決するための手段 E 実施例 F 発明の効果 A 産業上の利用分野 本発明は、データ処理ネツトワーク中の異なる
ノードに位置するプロセスの間の通信に関するも
のである。その各ノードは、独立の動作をなし得
るプロセツサを有し、また端末装置、メモリ及び
I/O装置などの他のサービスを備えていてもよ
い。さらに、各プロセツサは多重処理、多重タス
ク能力を有していてもよい。より詳しく述べる
と、本発明は、プログラムが通信待ち行列のノー
ドを知ることを不要ならしめることによつてネツ
トワーク中の同一または異なるノードにある処理
装置間の、待ち行列に基づく通信を容易にするこ
とにある。本発明に係る記述においては、プロセ
ス間通信(IPC)待ち行列位置透過伝達機構が、
分散サービス環境中で実施されるものとして説明
される。 B 従来技術 M.J.Bach著、The Design of the UNIX
Operating System(UNIXは米国におけるAT&
Tベル研究所の商標)、Prentice−Hall 1986の
356〜367ページには、システム在駐カーネル中で
メツセージ待ち行列のアレイを呼び出すキーによ
つてメツセージ取得(MSGGET)システム・コ
ールを呼び出し、その特定のキーに対応する一致
エントリが見出されない場合に、新しい待ち行列
構造を割振るとともにユーザにその識別子を戻す
ことによつて、プロセス間通信(IPC)が行なわ
れることが開示されている。そして、メツセージ
を送り受け取るためのシステム・コール
MSGSND及びMSGRCVに関連するアルゴリズ
ムが開示されている。しかし、その文献には、ネ
ツトワークの異なるノードに位置する処理装置間
のプロセス間通信を容易ならしめることの記述も
示唆もない。 IBM RT Personal Computer Technology
(型式番号SA23−1057)にはIBM RT(RTは米
国におけるIBM社の商標である)パーソナル・
コンピユータが記述されている。それには拡張対
話型実行(Advanced Interactive Executive:
AIX(AIXは米国におけるIBM社の商標である))
オペレーテイング・システムが、AT&Tの
UNIXシステムVの概念の拡張であるとして開示
されている。 このAIXカーネルは、アプリケーシヨン・プ
ログラム及びコマンドのためのオペレーテイング
環境を与える。尚、AIXのより詳しい説明につ
いては、AIX Operating System Technical
Reference(型式番号SV21−8009)を参照された
い。この技術は、複数のIBM RT PCシステム
が通信ネツトワークのノードとなることを可能な
らしめ、且ついくつかの追加的な特徴を与えるよ
うに拡張されたものである。 そのような特徴の1つとしてネツトワークに亘
る分散処理がある。そのような分散サービス環境
は、通信リンクまたはネツトワークによつて接続
された2またはそれ以上のノードを有する。ネツ
トワークは、ローカル・エリア・ネツトワーク
(LAN)、または他のノードまたは他のネツトワ
ークに対する遠隔処理接続を有する広域(wide
area)ネツトワーク(WAN)のどちらかでよ
い。分散サービスの主要な目的は、AIXオペレ
ーテイング・システムのフアイル・システム及び
プロセス間通信(IPC)サービスを用いるアプリ
ケーシヨンのために構内/遠隔透過伝達機構を与
えることにある。 C 発明が解決しようとする問題点 本発明の目的は、ノード位置透過伝達機構と、
待ち行列の名前を衝突させる割当てを防止するた
めの手段と、1つの待ち行列上で所与のサービス
供給者から複数の顧客へメツセージを切換える
(demultiplexing)ことを可能ならしめる手段を
もつ効率的なメツセージ待ち行列処理システムを
提供することにある。 D 問題点を解決するための手段 本発明は、通信リンクを介して接続された少く
とも2つのシステムを含むネツトワーク中の異な
るノードにあるプロセス間の通信を容易ならしめ
るものである。その各ノードは、多重処理及び多
重タスク動作をなしうるプロセツサを有する。
尚、前述のように、各ノード・プロセツサは独立
(standalone)モードでも同様に動作し得るもの
でもよい。 異なるノードに位置づけられたプロセスは、そ
の実際のノード位置が、通信を開始するプログラ
ムにとつて未知であるようなIPC待ち行列を使用
する他のプロセスと通信可能であるようになされ
ている。本発明は、AIX IPCメツセージ機構を、
異なるノードにおける待ち行列間で送受信をなし
得るように拡張することにより、同一のAIXシ
ステム中のプロセス間の通信のためのAIX IPC
メツセージ待ち行列機構よりも進歩している。
AIXは、メツセージ取得(msgget)、メツセージ
送信(msgsnd)及びメツセージ受信(msgrcv)
システム・コールを使用してIPCをサポートす
る。メツセージ取得は、メツセージ待ち行列を見
出しあるいは作成し、その識別子MSQIDを戻す
ために使用される。そしてそれ以降のメツセージ
送信及びメツセージ受信コールは、ターゲツト待
ち行列を識別するためにこのMSQIDを使用す
る。 本発明は、入力キーを特定の待ち行列の実際の
キーとノード位置と相関させるための予定のカー
ネル在駐テーブル中のルツク・アツプ機能に対す
る引数として特定の待ち行列のキーを使用するよ
うにするために、AIX msgget システム・コー
ルに対して修正を加えることから進む。メツセー
ジを配置すべき待ち行列のノード位置及びキー
は、通信しているプロセスに透過的である。 待ち行列が遠隔ノードにあるとき、2つのノー
ドは、待ち行列要素情報を渡すために、それらの
間に確立された通信リンクを使用する。本発明の
好適な実施例は、IBMシステム・ネツトワー
ク・アーキテクチヤ(SNA)レベル6.2の拡張プ
ログラム間通信を利用する。 IPCメツセージ待ち行列は、その待ち行列が作
成されたときに割振られたキー、すなわち数値に
よつて識別される。特定の待ち行列にアクセスを
所望する任意のプロセスは、参照が、実際の待ち
行列識別子に対して確定的(resolved)であり得
るような方法でキーを参照しなくてはならない。 後で述べるように、本発明に係る方法の好適な
実施例は、分散サービス機能が設けられているオ
ペレーテイング・システム・レベルで実施され
る。本発明は、ネツトワーク中の各システム・ノ
ードがキーのための自己のIPC待ち行列プロフア
イル名称空間をもつべきことを要求する。そし
て、アプリケーシヨンのコールからノード固有キ
ーが、ノード固有キーを、呼出し手によつて与え
られた待ち行列名に関連づけるライブラリ・ルー
チンに戻される。 本発明はまた、各システムのカーネルに在駐す
るキー・マツピング・テーブル(KMT)をも必
要とする。キー・マツピング・テーブル中の各エ
ントリは、特定の待ち行列を照会する局所キー
と、その待ち行列が実際に駐在するノードと、そ
の待ち行列が実際に駐在するノードで使用される
キーを含む。KMTはシステムのスタート・アツ
プ時に各ノードのカーネルにロードされる。 KTMデータは、ネツトワークを監視するネツ
トワーク管理者によつて保守される。そして、
KMTに対する変更は必要に応じてネツトワーク
管理者によつてなされる。この管理オペレータの
関与するのは、アプリケーシヨン・インターフエ
ースでメツセージ待ち行列の透過性を許容するこ
とである。 前述のM.J.Bachの書物に記述されているよう
な従来技術においては、プロセスはメツセージ待
ち行列を利用してメツセージを送受することによ
つて通信する。その呼プロセスは、受信するプロ
セスがメツセージを見出すことを期待する待ち行
列を識別しなくてはならない。単独
(standalone)多重処理システムにおいては、す
べての待ち行列の位置が既知である。しかし、分
散サービスをもつネツトワーク環境においては、
プロセスが、同一または異なるノードにあるメツ
セージ待ち行列を介して他のノードにあるプロセ
スと通信するこが望ましい。このとき、各プロセ
スがネツトワーク中のすべてのメツセージ待ち行
列の位置情報を暗黙的に知つていることが必要と
されるのであれば、そのことは許容し得ないであ
ろう。すなわち、もしこれが要求されるなら、各
呼プロセスは、実際のメツセージ待ち行列位置が
変わるたび毎にその変更を知る必要があることに
なるからである。 本発明はこの問題を、プロセツサ・ノードの待
ち行列キーを、メツセージ待ち行列の実際のキー
及びノードと相関させるカーネル在駐テーブルを
設けることによつて解決する。これらのテーブル
は、ネツトワーク管理者によつて、メツセージ待
ち行列の実際のノード位置における変更を反映す
るように変更することができる。しかし、呼プロ
セスによつて供給される入力パラメータは変わら
ない。それゆえ、メツセージ待ち行列の実際のノ
ード位置はアプリケーシヨン・プログラム・イン
ターフエースで透過性である。 メツセージ待ち行列の実際の識別子に対するア
ドレス確定(resolution)がカーネル・レベルで
生じる。KMTは入力としてキーを受け取り、所
望の待ち行列のキーとノードIDを与える。各ノ
ードのカーネルをそのように相関させたことによ
り、システム・コール・ルーチンは通信を開始し
たプロセスによつて与えられるキーを受け取り、
それに対応するキーとノードへ進む。このとき、
もしその識別子をもつメツセージ待ち行列がその
ノードの待ち行列ヘツダ・テーブル中で見出され
なかつたら、新しいメツセージ待ち行列が作成さ
れ、もし呼出し者(caller)が、待ち行列が作成
されるべきことを要求したなら、そのメツセージ
待ち行列の識別子が呼出しノードのカーネルに戻
される。呼出しノードのカーネルにおいて、実際
のノード位置とメツセージ待ち行列識別子を含む
新しい代理(surrogate)待ち行列ヘツダ・エン
トリが構成される。次にアプリケーシヨンは、自
己のメツセージを、意図するメツセージ待ち行列
に配置することが可能となる。 E 実施例 第1図は、本発明が実施されるネツトワークを
示す概要図である。ネツトワーク10は、通信リ
ンク30を介して接続された複数のノードA,B
及びCを有するものとして示されている。各ノー
ドA,B,Cはそれぞれが、単独システムまたは
ネツトワーク10の一部として作動し得る多重タ
スク、多重処理能力をもつ少くとも1つのプロセ
ツサ40を含む。尚、第1図において参照番号4
0は各ノードA,B,Cでそれぞれ40A,40
B,40Cとして示され、これは参照番号42以
下についても同様である。図示されているよう
に、通信ネツトワーク30はローカル・エリア・
ネツトワーク(LAN)または広域ネツトワーク
(WAN)のどちらでもよいが、好適な実施例は
ノードA,B及びCの間で通信リンクを確立する
ためのIBMシステム・ネツトワーク・アーキテ
クチヤ(SNA)を利用する。各ノードは、ユー
ザ・アプリケーシヨン42が走ることになる少く
とも1つのプロセツサ40を有する。プロセツサ
40の内部には、好適にはIBMのAIXであるオ
ペレーテイング・システム(O.S.)46の制御の
下にあるプロセス44がある。 各プロセツサ40には、番号48として示されて
いるさまざまな記憶媒体が接続されている。尚、
図示されていないけれどもネツトワーク構成10
によつて意図されているものとして、ネツトワー
ク中の各プロセツサに接続可能な他のさまざまな
端末、記憶及び周辺I/O装置がある。各プロセ
ツサ40のオペレーテイング・システム46の内
部にはカーネル50がある。 各独立ノードA,B,Cは、所与のタスクを実
行するために、互いのノードで利用可能な資源を
共有するために互いに協働することができる。そ
のような分散サービス環境においては、本発明に
よつて与えられるメツセージ待ち行列位置の透過
性を通じて処理する効率的なメツセージの能力を
利用するためにユーザはわずかの対話しか必要と
しない。また資源を共有することにより、ネツト
ワーク中の各ノードで情報を複写する必要性が減
少される。 通信待ち行列のノード位置がユーザ・プログラ
ムに対して透過的であるがゆえに、プロセス間の
通信はより効率的になり、ユーザが通信の詳細に
払うべき注意はより少なくなる。尚、所与の待ち
行列の実際のノード位置は変わり得るけれども、
所与のノードのユーザは、待ち行列の位置を追従
する責任から開放される。ネツトワーク管理者の
1つの任務は、待ち行列のキーと位置を相関させ
るプロフイールの最新のセツトを維持すること
と、適当な相関情報をネツトワークにおける各ノ
ードのカーネル50中のKMTにロードすること
である。 ネツトワーク構成10中の各プロセツサ・ノー
ドのオペレーテイング・システム46には、予定
の待ち行列に必要な情報を維持するデイレクト
リ・サービス機能が含まれている。これらの機能
には、IPCキーの作成、キー位置の定義、特定の
メツセージ待ち行列のためのキーに対する外部
IPC待ち行列名の決定、及びメツセージが到来す
るノードからのネツトワーク位置及び遠隔待ち行
列の戻しがある。 待ち行列プロフアイル・レコードのフオーマツ
トが第1図の参照番号52で示されており、アプ
リケーシヨンの導入プログラムによつてコールさ
れるライブラリ・ルーチン作成IPC−PROFの実
行の結果として作成される。このプログラムは、
長さ14キヤラクタまでの待ち行列名(QNAME)
を供給し、ライブラリ・ルーチンがプロフアイ
ル・レコードを作成し、そのノードに固有の数字
INKEY値を割当てる。システムのスタート・ア
ツプ時に、システムはプロフアイルを読み、第2
図に示すようなエントリをもつKMTを作成す
る。 KMTは、ライブラリ・ルーチンによつて割当
てられる局所キー(LKEY)と、実際のキー
(RKEY)と、LKEYによつて指定される待ち行
列のためのノード(RNODE)を含む。 第3図は、待ち行列ヘツダ・レコードのフオー
マツトを示す。スタート・アツプ時にサーバー・
プロセスがIPC PROFを見出すために待ち行列
名を入力し、その待ち行列に関連するキーを受け
取る。サーバー・プロセスは次にキーを与えるシ
ステム・コール、msggetを発行し、msggetが待
ち行列を作成する。 第3図中の待ち行列ヘツダ・レコードは、特定
の待ち行列が、待ち行列ヘツダ・テーブルが在駐
するノードに対して局所的(L)であるか、あるいは
遠隔(R)に位置しているかを示す表示子を含む。待
ち行列ヘツダ・テーブル・エントリの残りのフオ
ーマツトは局所/遠隔表示子の関数である。すな
わち、もし待ち行列が局所的であるなら、LKEY
が局所待ち行列エントリを含み、LMTYPEはそ
の待ち行列のために最も新しく使用されたメツセ
ージ・タイプの表示子の値である。 遠隔待ち行列の場合、RNODEがそのノードID
を含み、RMODE MSQIDが遠隔ノードにおける
メツセージ待ち行列IDを含む。RNODE
BOOTCNTというフイールドは、遠隔ノードの
電力サイクル状況をあらわす数を含む。 第4図は、メツセージ待ち行列エントリの内容
を示す。MTYPEはメツセージのメツセージ・タ
イプであり、MSGPTRは、メツセージ・テキス
トに対するポインタである。 第5図は、本発明に基づきIPCの間に実行され
る論理をあらわすフローチヤートである。これに
おいて、ノードLOCNODEでのプロセスが通信
を開始したとき、プロセスは、ブロツク80で示
される入力としてLKEYを与えるmsggetシステ
ム・コールを発行する。そのキーは、
LOCNODEのカーネル在駐KMTにおけるルツク
アツプ関数に対する引数である。そして、ブロツ
ク82でKMTが検索される。ブロツク84で一
致が見出されると、ブロツク86でIPC論理が、
LOCNODEとREMNODEの間に通信リンクが存
在するかどうかを判断する(この説明では、
RNODEがREMNODEのためのノードIDを含む
ものと仮定する)。もし通信リンクが存在しない
なら、ブロツク88で通信リンクが確立され、ブ
ロツク90で、KMT中で見出された相関キー
RKEYが関連するノードREMNODEに送られ
る。 もしKMT中で、msggetをコールするために使
用されるLKEYのためのエントリが見出されなか
つたら、メツセージ待ち行列はブロツク92で局
所的であるとみなされ、慣用的な方法で通信が行
なわれる。 ブロツク94で、REMNODEのmsggetトラン
ザクシヨン・プログラムがRKEYを受け取り、
ブロツク96でREMNODEにおける待ち行列ヘ
ツダを検索する。このとき、ブロツク98で一致
が見出されないなら、エラー条件が存在し、そこ
のことはブロツク100で表示される。もし
REMNODEの待ち行列ヘツダがエントリ一致
RKEYを含むなら、ブロツク102で
REMNODEのブート・カウントであるRNODE
BOOTCNTとともにMSQIDがLOCNODEに戻
される。 次にブロツク104で示すようにLOCNODE
に戻つて、Rフオーマツト待ち行列ヘツダ・エン
トリ(第3図参照)がLOCNODE待ち行列ヘツ
ダ・リストに追加され、局所ノードMSQIDが呼
出し手に戻される。呼プロセスは次にmsgsndを
実行し、第5B図に知す論理が適用される。 第5B図を参照すると、LOCNODEにおいて、
MSQID(ブロツク110)が、LOCNODE待ち
行列ヘツダ・リストにインデツクスするために使
用される(ブロツク112)。ブロツク114で、
REMNODE(待ち行列ヘツダ中のRNODE)が既
にLOCNODEと接続されているかどうかの判断
がなされる。もしそうでなければ、ブロツク11
6で接続が確立され、LOCNODEのmsgsndがメ
ツセージ・テキスト、MSQID、RNODE
BOOTCNTとMTYPEのREMNODEへの送信を
行なわせる(ブロツク118)。 REMNODEでは、ブロツク120でその
msgsndトランザクシヨン・プログラムがMSQID
とBOOTCNT MTYPEを受け取る。
REMNODEはこのデータを受け取り、ブロツク
122で先ず受け取つたデータと、REMNODE
における現在のブート・カウントとを比較する。
もしそれらが一致しないならエラー条件が存在
し、そのことはブロツク124でLOCNODEに
戻される。一方、それらのカウント値が一致する
とき、REMNODEmsgsndトランザクシヨン・プ
ログラムが、待ち行列ヘツダを選択し、MTYPE
とともにそのメツセージ待ち行列上にメツセー
ジ・テキスト・ポインタ、MSGPTRを配置する
ためにMSQIDを使用する(ブロツク126)。
ブロツク128でREMNODEは、LOCNODEに
応答し、呼出し者(caller)に、成功裡に完了し
たという状況を戻す。 第5C図は、msgrcvシステム・コールの動作
をあらわすフローチヤートである。LOCNODE
において、ブロツク140でmsgrcvはMSQIDと
MTYPEを受け取る。msgrcvは、その待ち行列
ヘツダ・リストへインデツクスし正しい待ち行列
ヘツダを見出すためにMSQIDを使用する。また
msgrcvは、そのヘツダに含まれているRNODE
情報を使用して、ブロツク144でREMNODE
との接続(リンク)が存在しているかどうかを判
断し、もしそうでなければ、ブロツク146で接
続を確立する。ブロツク148では、その確立さ
れたリンクを介してMSQIDと、RNODE
BOOTCNTと、MTYPEがREMNODEに送られ
る。 REMNODEのmsgrcvトランザクシヨン・プロ
グラムがブロツク150でこの情報を受け取つた
後、そのプログラムは受け取つたブート・カウン
ト値と現在のブート・カウント値を比較する(ブ
ロツク152)。もしそれらのブート・カウント
値が一致しないのならブロツク154でエラー条
件が表示されLOCNODEに戻される。 ブート・カウント値が一致したとき、ブロツク
156でREMNODEのmsgrcvトランザクシヨ
ン・プログラム論理が待ち行列ヘツダを選択する
ために、受け取つたMSQIDを使用する。論理は
次に、ブロツク158で一致するMTYPEをもつ
メツセージがあるか否かを判断するために待ち行
列のメツセージ・エントリをチエツクする。もし
REMNODEのメツセージ待ち行列上に一致する
MTYPEをもつメツセージが存在しないのなら、
論理はブロツク160でメツセージが到来するの
を待つ。もし一致するMTYPEをもつメツセージ
が見出されたなら、ブロツク162で、上記の既
に確立された同一の通信リンクによりメツセー
ジ・テキスト・ポインタがLOCNODEに戻され
る。ブロツク164で、LOCNODEは呼出し手
にメツセージ・テキストを戻す。 第6図は、第5A,5B,5C図に関連する論
理を、特定の仮設的環境を使用して説明する図で
ある。ここでユーザが会議室を予定する
(scheduler)ためにコールするシエル・コマン
ド・プログラムがLOCNODEに存在すると仮定
しよう。このシエル・コマンドは、スケジユー
ラ・デーモン(daemon)IPCメツセージ待ち行
列のためにMSQIDを入手するべくその
LKEY71000のためにmsggetを発行する。また、
ネツトワーク管理者が、LOCNODEからの会議
室の要求がREMNODE中のデーモンによつてサ
ービスされるべきであると決定し、REMNODE
中のデーモンの待ち行列のためのキーが67000で
あると仮定する。この情報は、LOCNODEのカ
ーネルIPCKMT中にロードされている。 動作のシーケンスは次のとおりである。 (1) get roomがキー71000でMSGGETをコー
ル。 (2) MSGGETがキー71000のためのLOCNODE
KEYを参照する。 (3) KMTは、キー71000がRNODE REMNODE
中でRKEY67000に再マツプされたことを表示
する。 (4) MSGGETは今やREMNODE中でキー67000
を探すべきことを知つている。 (5) MSGGETはREMNODEとSNA接続を見出
し、あるいは確立し、キー67000のための
MSQIDを要求するネツトワーク・メツセージ
を送る。 (6) REMNODE中のMSGGETトランザクシヨ
ン・プログラムは、キーが67000である待ち行
列のためのメツセージ待ち行列ヘツダを探し出
す。この場合MSQIDは2である。 (7) REMNODE中のMSGGETトランザクシヨ
ン・プログラムは、LOCNODE中のMSGGET
に、MSQIDが2であることを述べるネツトワ
ーク応答を送る。 (8) MSGGETは、待ち行列ヘツダのリストにエ
ントリを追加する。ヘツダ・エントリはとりわ
けRNODE中のREMNODEと、2である
RNODE MSQIDと、これが遠隔待ち行列ヘツ
ダのための局所“代理”であることを記述する
タグRとを含む。この例では、遠隔待ち行列の
ための代理ヘツダは、LOCNODEの待ち行列
ヘツダ・リストのスロツト1にあり、従つて
LOCNODE MSQIDは1である。 (9) MSGGETは呼出し者にMSQID=1を戻す。 (10) get−roomは、会議室デーモンにIPCメツセ
ージを送るためにこのMSQIDを使用する。 以下に示すのは、第5A,5B,5C及び6図
に関連して説明した論理フローチヤートの擬似コ
ード表現である。
【表】
【表】 長さバツフアの長さ
【表】 〓

待ち行列の割当ては、“よく知られた”待ち行
列、すなわち多くの依頼人によつて使用されると
考えられる待ち行列には重複するキーが作成され
ないように管理されなくてはならない。本発明に
よれば、割当てキーの外部登録の必要なしでアプ
リケーシン・プロジエクトの作成者が大域的に固
有のキーを作成することを可能ならしめる方策が
与えられる。この方策の主要な要素は、待ち行列
プロフアイル(第1図、参照番号52)のエント
リ中で14個のキヤラクタの文字数字
(alphanumeric)待ち行列名を使用することであ
る。 アプリケーシヨンの開発者は、一意的に表現す
るための14個のキヤラクタの名前を選択する。各
待ち行列プロフアイル・エントリは第1図に示さ
れているように、QNAME、LKEY、RNODE、
RKEYというフイールドをもつ。 ライブラリ・ルーチンcreate ipc prof
(QNAME、LKEY、RKEY、NICKNAME)が
待ち行列プロフアイルを作成する。すなわち、呼
出し者が名前を与え、このルーチンが待ち行列プ
ロフアイル・エントリを作成し、それに固有の局
所キーを割当て、その局所キーを呼出し者に戻
す。その後ネツトワーク管理者がRNODEを及び
RKEYのためのデータを与える。 さて、分散アプリケーシヨンがサーバ・デーモ
ンとサーバの要求を作成するコマンド・プログラ
ムから成つていると仮定する。サーバは特定のネ
ツトワーク・ノード上に在駐し、コマンド・プロ
グラムはネツトワークのいくつかのノードのどれ
かで実行することができる。そのようなアプリケ
ーシヨンの導入及び動作は次の例によつて示され
る。 すなわち、デーモンが走るべき位置でアプリケ
ーシヨンの導入プログラムがcreate ipc prof
(3)をコールし、“ACMEsfwr032686”という待ち
行列名を与える。create ipc prof(3)によつて
作成されるプロフアイルは次のものを含む: 名 前“ACMEsfwr032686” 局所キー Ox30000−OxFFFFFの範囲から
create ipc prof(3)によつて選択され、この
ノードにおける他のいかなるプロフアイルとも
衝突しない値。 遠隔ノード 空文字 遠隔キー 0 コマンド・プログラムが走るべき各位置で、ア
プリケーシヨンの導入プログラムはcreate ipc
prof(3)をコールし、“ACMEsfwr032686”の待
ち行列名を与える。create ipc prof(3)によつ
て作成されるプロフアイルは次のものを含む: 名 前 “ACMEsfwr032686” 局所キー create ipc prof(3)によつて
Ox30000−OxFFFFFの範囲から選択され、こ
のノードにおける他のいかなるプロフアイルと
も衝突しない値。 ネツトワーク管理者は、次のものを含むように
コマンド・ノードにおけるプロフアイルを変更す
るように指令される: 遠隔ノード デーモンのノード 遠隔キー デーモンのノードにおける待ち行列の
局所キー デーモンがスタート・アツプするとき、デーモ
ンはfind ipc prof(3)をコールして、待ち行列
名“ACMEsfwr032686”を与えてその名前に関
連するキーを見出す。デーモンは次にその待ち行
列のためのIDを入手するためにmsgget(キー、
0)をコールする。 この14キヤラクタの待ち行列名はソフトウエア
開発者に、待ち行列名を選択する際のきわめて大
きい自由度を与える。すなわち、これにおいて
は、アプリケーシヨン開発者らの間で打合わせが
なくとも、ある開発者によつて注意深く選択され
た名前が、別の開発者によつて選択された名前と
衝突することはきわめて起こり難いことである。
しかし、慎重な開発者といえども衝突が生じるよ
うな場合を有する設計を選択することが全くない
とは言えない。そのような衝突を扱うための例示
的な方策としては次のようなものがある: *好適な待ち行列名がアプリケーシヨン・プログ
ラム中に固定的にコード化されるが、デーモン
とコマンド・プログラムの両方上でコマンド引
数によつて無効(override)ストリングを供給
することもできる。 *デーモンはまたコマンド・プログラムが導入さ
れたとき、そのデーモンまたはコマンド・プロ
グラムは、必要な待ち行列プロフアイルを作成
するためにcreate ipc prof(3)を使用する。
もし名前の衝突のためその作成が失敗したな
ら、管理者が固有の待ち行列を入力するよう促
される。導入プログラムは次にプロフアイルを
作成するためにこの待ち行列名を使用する。 *導入プログラムまたは文書は管理者に、デーモ
ン及びコマンド・プログラムが常に待ち行列名
引数で呼び出されていることを確認するよう指
令する。 次に正しいメツセージの経路指定(routing)
を保証するために実施される技術について説明す
る。上述のBachの文献に述べられているような
単独アプリケーシヨンにおいては、カーネルに所
与のタイプの最初のメツセージを戻させるように
MTYPEパラメータが適宜セツトされる。もし待
ち行列上にこのタイプを満足するメツセージが存
在しないなら、カーネルはプロセスを休眠させ
る。複数のプロセスが1つのメツセージ待ち行列
上で多重チヤネルをセツト・アツプすることがで
き、以て各プロセスが、カーネルが適正な順序を
維持しつつ到来する特定タイプのメツセージを順
に抽出することになる。 分散サービス・ネツトワーク環境においては、
しかし、複数の要求者が同時に同一のサーバを扱
うことが可能である。本発明は、メツセージ・タ
イプを用いて応答メツセージのデマルチプレクス
機能を与える。 MTYPE値は、メツセージ待ち行列ヘツダ(第
3図)中に32ビツトのMTYPE値を与えることに
よつて一意的であるように割当てられる。この値
は、最も新しく使用されたMTYPE値に対応す
る。メツセージ制御(msgct1)のための新しい
コマンドは、待ち行列のメツセージ・タイプの現
在の値を戻させる。MTYPEはプロセスに戻され
る度毎に(第5B図、ブロツク128)直ちにイ
ンクレメントされる。 尚、要求及び応答が同一の待ち行列を流れる方
がより効率的であるので、双方向待ち行列を切換
する際にMTYPEのために確立された規約がさら
にネツトワークの処理能力を高める。 例えば、次のような筋書きにより、起こり得る
問題が描き出される。すなわち、待ち行列を作成
するプロセス中でサーバがパワー・オンすると、
その待ち行列の識別情報が最初の待ち行列ヘツ
ダ・スロツドに入る。そして依頼人がmsggetを
行い、MSQIDを受け取る。ところでサーバは電
源サイクルを通過する。その少し後にサーバにお
けるプロセスが別の待ち行列を作成し、その識別
情報を最初の待ち行列ヘツダ・スロツトに入れ
る。依頼人のプロセスは次にもとのMSQIDを用
いてmsgsndを行う。すると、依頼人からのメツ
セージは依頼人が期待した待ち行列には行かな
い。 本発明によれば、依頼人がメツセージを送る度
毎にブート・カウントの比較が行なわれるために
この問題が回避される。そしてもしブート・カウ
ントが等しくないなら、依頼人はエラー条件を通
知される。ここで第5B図のブロツク122,1
24、及び第5C図のブロツク152,154を
再度参照されたい。 各ノードは、そのルート・デバイス・スーパ
ー・ブロツク(第1図参照番号54)に、サーバ
のパワー・オン状態を示すカウンタ、
BOOTCNTを有する。このカウンタは、サーバ
がパワー・オフされ再びオンにされる度毎にイン
クレメントされる。このカウント値は第5B図及
び第5C図に述べられているようなメツセージ動
作に使用され、そのメツセージ動作は、サーバ
が、メツセージ待ち行列識別子を発行したときと
同じ状態にあることを保証するためにメツセージ
待ち行列識別子を使用する。 F 発明の効果 要約すると、本発明は、多重ノード・ネツトワ
ーク中の任意のノードにあるプロセツサ間のプロ
セス間通信のための、カーネル・レベルで動作可
能な手段を与える。そして通信は、ネツトワーク
中の任意のノードにある、キーで識別されたメツ
セージ待ち行列上に配置されたメツセージを通じ
てなされる。 アプリケーシヨン・レベルでは、メツセージ待
ち行列ノード位置を知る必要がない。というの
は、上述したキー・マツピング・テーブルとそれ
の使用により、メツセージ処理システム・コール
によつて使用するための実際のメツセージ待ち行
列アドレスへの、アプリケーシヨン供給キーの確
定が可能となるからである。また、メツセージ伝
達の完全性は、必要なシステム・コールにおける
ブート・カウント比較ステツプによつて向上され
る。さらに、異なるノードのためのメツセージの
多重化は、待ち行列のヘツダ・エントリ中により
記述的なMTYPEを与えることによつて促進され
る。さらにまた、上述した命名規約により、衝
突、すなわち分散サービス・ネツトワーク環境中
の異なるアプリケーシヨン及びメツセージ待ち行
列によつて同一の名前が使用されることの虞れが
実質的に解消される。
【図面の簡単な説明】
第1図は、本発明が実施される複数のノードを
もつネツトワークをあらわす概要図、第2図は、
KMTのフオーマツトを示す図、第3図は、待ち
行列ヘツダ・レコードのエントリを示す図、第4
図は、メツセージ待ち行列エントリのフオーマツ
トを示す図、第5A,5B及び5C図は、プロセ
ス間通信の動作の論理フローチヤート、第6図
は、ある仮設的な値を与えた場合のプロセス間通
信の例を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 メツセージを格納した待ち行列を有する複数
    のプロセツサノードを含み、アプリケーシヨン実
    行を要求したノードがアプリケーシヨンを実行す
    るノードをユーザに意識させることなく当該アプ
    リケーシヨン実行をすることができるネツトワー
    クシステムにおいて、 前記各ノードが、 前記要求ノードにおける参照のためのキーを、
    前記待ち行列が実際に駐在する実行ノードの名称
    と前記実行ノードにおける前記待ち行列固有のキ
    ーに相関させるテーブル手段と、 前記テーブル手段を参照し、前記要求ノードと
    前記実行ノードのリンクを確立するための手段
    と、 前記リンク確立後に前記実行ノードの待ち行列
    ヘツダの参照を経て、前記実行ノードの名称と前
    記実行ノードにおける前記待ち行列に割り当てら
    れた固有の識別子を前記要求ノードに格納するた
    めの手段と、 を含むネツトワークシステム。 2 前記待ち行列ヘツダは、前記待ち行列にそれ
    ぞれ独立な番号であつて、前記要求ノードが前記
    実行ノードにメツセージを要求するごとに増分す
    る番号を含むこと、 を特徴とする請求項1のネツトワークシステム。 3 前記待ち行列ヘツダは、前記各ノードの電源
    の投入の回数に対応するカウンタ情報を含むこ
    と、を特徴とする請求項1のネツトワークシステ
    ム。
JP62288623A 1987-02-13 1987-11-17 ネツトワーク管理システム Granted JPS63201860A (ja)

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 JPS63201860A (ja) 1988-08-19
JPH0525333B2 true 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)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68909426T2 (de) * 1988-01-15 1994-01-27 Quantel Ltd Datenverarbeitung und -übertragung.
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 ネットワークモニタリングシステム
WO1991004540A1 (en) * 1989-09-08 1991-04-04 Auspex Systems, Inc. Multiple facility operating system architecture
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 ネットワークシステム
EP0552288A1 (en) * 1990-10-03 1993-07-28 Thinking Machines Corporation Parallel computer system
US5673394A (en) * 1990-10-31 1997-09-30 Microsoft Corporation Method of sharing memory between an operating system and an application program
EP0490595B1 (en) * 1990-12-14 1998-05-20 Sun Microsystems, Inc. Method for operating time critical processes in a window system environment
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
US5838683A (en) 1995-03-13 1998-11-17 Selsius Systems Inc. Distributed interactive multimedia system architecture
US7058067B1 (en) 1995-03-13 2006-06-06 Cisco Technology, 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
US5946690A (en) * 1996-12-17 1999-08-31 Inca Technology, Inc. NDC consistency reconnect mechanism
WO1999023571A1 (en) * 1997-11-03 1999-05-14 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
ATE390788T1 (de) 1999-10-14 2008-04-15 Bluearc Uk Ltd Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
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
US6901533B2 (en) * 2001-08-23 2005-05-31 International Business Machines Corporation Reconstructing memory residents queues of an inactive processor
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
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
US7308688B2 (en) * 2003-08-19 2007-12-11 Kabushiki Kaisha Toshiba System and method for shared memory based IPC queue template having event based notification
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 삼성전자주식회사 네트워크 관리 시스템에서의 메시지 처리 장치 및 방법
JP5464449B2 (ja) * 2011-04-06 2014-04-09 日本電気株式会社 障害によるリブートを考慮した処理部間の不整合検出方法並びに共有装置及びクラスタシステム
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
US9292569B2 (en) * 2012-10-02 2016-03-22 Oracle International Corporation Semi-join 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)

* Cited by examiner, † Cited by third party
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
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
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

Also Published As

Publication number Publication date
EP0278316A3 (en) 1990-09-26
DE3852324D1 (de) 1995-01-19
EP0278316A2 (en) 1988-08-17
JPS63201860A (ja) 1988-08-19
EP0278316B1 (en) 1994-12-07
US5133053A (en) 1992-07-21
DE3852324T2 (de) 1995-05-24

Similar Documents

Publication Publication Date Title
JPH0525333B2 (ja)
US7246167B2 (en) Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections
US5341499A (en) Method and apparatus for processing multiple file system server requests in a data processing network
US5519875A (en) Distributed processing system for modules, each having modularized objects
US6223217B1 (en) Distributed object networking service
US5475817A (en) Object oriented distributed computing system processing request to other object model with code mapping by object managers located by manager of object managers
US6219692B1 (en) Method and system for efficiently disbursing requests among a tiered hierarchy of service providers
US5765205A (en) Method and system for on-demand software distribution
US5822521A (en) Method and apparatus for assigning policy protocols in a distributed system
US6845505B1 (en) Web request broker controlling multiple processes
US6665786B2 (en) Dynamic disk partition management
EP0312739B1 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US20100162260A1 (en) Data Processing Apparatus
US5915131A (en) Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services
US6708171B1 (en) Network proxy
JPS63174135A (ja) 分散型メツセージ・ベース・オペレーテイング・システムにおけるノードの自己構成法
JPH0675889A (ja) 分散不均一環境におけるサーバー機能の実行方法及び装置
JPH08339355A (ja) 分散形システムでの処理タスク実行呼び出し方法及び装置
US6832223B1 (en) Method and system for facilitating access to a lookup service
US6269378B1 (en) Method and apparatus for providing a name service with an apparently synchronous interface
US20030120720A1 (en) Dynamic partitioning of messaging system topics
US20020046228A1 (en) Method and system for facilitating access to a lookup service
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions