JPH03659B2 - - Google Patents
Info
- Publication number
- JPH03659B2 JPH03659B2 JP61088412A JP8841286A JPH03659B2 JP H03659 B2 JPH03659 B2 JP H03659B2 JP 61088412 A JP61088412 A JP 61088412A JP 8841286 A JP8841286 A JP 8841286A JP H03659 B2 JPH03659 B2 JP H03659B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- request
- storage
- verb
- server
- 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
Links
- 238000000034 method Methods 0.000 claims description 232
- 230000008569 process Effects 0.000 claims description 231
- 238000003860 storage Methods 0.000 claims description 153
- 230000006854 communication Effects 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 41
- 238000012546 transfer Methods 0.000 claims description 32
- 239000000872 buffer Substances 0.000 description 63
- 230000004044 response Effects 0.000 description 39
- 230000007723 transport mechanism Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- YOETUEMZNOLGDB-UHFFFAOYSA-N 2-methylpropyl carbonochloridate Chemical compound CC(C)COC(Cl)=O YOETUEMZNOLGDB-UHFFFAOYSA-N 0.000 description 1
- 241000283707 Capra Species 0.000 description 1
- 101150080085 SEG1 gene Proteins 0.000 description 1
- 101100202858 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SEG2 gene Proteins 0.000 description 1
- 101100421134 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sle1 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- 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/544—Buffers; Shared memory; Pipes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
この項では、次の順序で説明を行う。
A.産業上の利用分野
B.従来技術
C.発明が解決しようとする問題点
D.問題点を解決するための手段
E.実施例
a.動詞の要約
b.読取書込動作の例
c.データ転送モードと共用記憶装置
d.データの参照
e.動詞セツトの詳細
(i) オープン
(ii) クローズ
(iii)記憶プール指定
(iv) 要求送信
(v)応答送信
(vi)持ち行列信号
(vii)要求受信
(viii)データ受信
(ix) 信号
(x) 要求終了
F.発明の効果
A.産業上の利用分野
本発明は、複数の記憶モードを有するデータ転
送装置に係り、特に通信を行つているプロセスが
選択されている記憶モードを知る必要のないプロ
セス間通信装置に関する。 B.従来技術 分散計算システムにおいては、データのアクセ
スのために互いに通信を行うプロセスは互いに物
理的に分離している。すなわち、これらのプロセ
スは分散計算システムの異なつたプロセツサ中に
常駐し作業を実行する。ある時点においてシステ
ムのあるプロセツサ中で作業を実行するプロセス
は、別の時点で別のプロセツサ中で作業を実行す
ることができる。例えば、プロセスは、システム
を構成するプロセツサ間のシステム負荷のバラン
スをとるために異なつたプロセツサ中で作業を実
行することができる。 プロセスが1つのプロセツサから別のプロセツ
サへ移るとき、必要な再設計量を最小にすること
が望まれる。典型例においては、プロセスはそれ
らが通信を希望するプロセスの物理的位置に関し
て特定の態度をとるように設計される。 例えば、データのアクセスのために別のプロセ
スと通信を行うときに移動及び位置指定記憶モー
ドを使用する場合がそれである。位置指定モード
においては、データはそれを要求するプロセスの
記憶位置へは移動されない。要求プロセスにアク
セス可能な記憶装置中にデータが存在する状態
で、ポインタが戻される。移動モードにおいて
は、データは要求プロセスによつて指定された記
憶域へ移動される。 従来方法により位置指定モードを使用すると、
データを示すポインタを与えるプロセスは要求プ
ロセスと同じメモリを共用する。1つのプロセス
が別のプロセツサへ移ると、又は同じメモリを共
用しなくなると、位置指定モードはもはや機能し
なくなり、別のアクセス・モードを設定するため
に設計変更が必要となる。 “IBMテクニカル・デイスクロージヤ・ブリ
テイン”(“IBM Technical Disclosure
Bulletin”)、第23巻第5号、1980年10月に所載の
論文“分散データ処理システム”(“Distributed
Data Processing System”)には、システム資
源が各プロセスに属し、プロセス間の通信はスー
パーバイザ・サービスを介して間接的に行われる
処理システムが記載されている。これは、若干の
プロセスの可動性(mobility)を与える。通信
は、サブシステム通信機能によつて処理されるメ
ツセージの形をとる。“IBMテクニカル・デイス
クロージヤ・ブリテイン”、第22巻第7号、1979
年12月に所載の論文、“プロセツサ間通信用のメ
ツセージにもとづくプロトコル”(“Message−
Based Protocol for Interprocessor Com
munication”)には、共通バスを介して柔軟結合
された異なるプロセツサ上で実行されるプロセス
間通信用のメツセージにもとづくプロトコルが開
示されている。プロセスとは、メツセージ持ち行
列および共用変数によつて相互作用する実行単位
のことをいう。 データをアクセスするプロセスは、要求された
データが配置されるべき又はデータが送信のため
に取り出されるバツフア区域を指定できる。これ
らのバツフアは、データをアクセスするプロセス
によつて動的にアロケートされ且つ制御される。
これらのバツフアの制御が別のプロセスへパスさ
れると、これらの2つのプロセスは制御をパスす
る会議において同意しなければならない。 プロセス間の動的にアロケートされるバツフア
の制御をパスすることは、1つのプロセスが別の
プロセツサへ移るときに設計変更が必要となる別
の例である。 C.発明が解決しようとする問題点 本発明の目的は、プロセスが再設計する必要な
く1つのプロセツサ中の異なつた位置へ、又はあ
るプロセツサから他のプロセツサへ動くことので
きるプロセス間通信装置を提供することにある。 D.問題点を解決するための手段 本発明によれば、プロセツサ・システム中のプ
ロセス間通信装置が少くとも2つのプロセスの間
のデータ通信を行う。このプロセス間通信装置
は、1つ又は複数のプロセツサの記憶管理サービ
ス装置によつて与えられる複数の異なつたデータ
転送モードをサポートする。プロセス・インター
フエース手段は、各通信プロセスが他の通信プロ
セスによつて選択されたデータ転送モードとは独
立にデータ転送モードを選択するためにセツトさ
れた共通動詞を提供する。データ・アクセス制御
装置は、プロセス・インターフエース手段及び記
憶管理サービス装置に結合される。データ・アク
セス制御装置は、通信を行うプロセスによつて選
択された転送モードの関数として記憶管理サービ
ス装置の使用を制御する。プロセスは、互いに、
どの転送モードが選択されたかを認識しない
(fransparent)。 プロセスが同じプロセツサ内にあろうと異なる
プロセツサ内にあろうと、データは、プロセス間
にデータ路を形成する移送装置によつて移動させ
られる。実施例において、送信及び受信データの
取扱い及び管理のために任意に選択されるデータ
転送モードは、移動モード、パス・モード、位置
指定モード、及びバツフア・ゲツト/バツフア・
フリー・モードである。 移動モードにおいては、レシーバは情報のコピ
ーを得、各通信プロセスは常に情報のそれ自身の
コピーを有しており、他のプロセスがそのデータ
のそのコピーにより何を行うかは知らない。パ
ス・モードにおいては、プロセスはデータ・アク
セス制御装置が送られてきたデータの中間コピー
を作るようにする。従つて、センダの記憶装置は
直ちに再使用可能となる。位置指定モードにおい
ては、通信を行つているプログラムが共用記憶装
置のアクセス梶を有するときには、データ・アク
セス制御装置がデータを示すポインタをパスし、
データは移動されない。プログラムが共用記憶装
置のアクセス梶を有しないときには、データ・ア
クセス制御装置が、データのレシーバにとつてア
クセス可能な記憶装置へデータのコピーを供給す
る。 バツフア・フリー・モードにおいては、データ
のセンダは、バツフア・ゲツト・モードを指定し
たレシーバにバツフア管理の責任をパスすること
ができる。センダ及びレシーバが共用記憶装置の
アクセス梶を有するときには、データの移動は無
い。プロセスが共用記憶装置のアクセス梶を有し
ないときには、データ・アクセス制御装置がバツ
フアのコピーをレシーバに供給する。 各通信プロセスは、他のプロセスによつて使用
されているデータ転送モードに注違を払う必要な
く、必要なデータ転送モードを使用できる。デー
タ・アクセス制御装置は、通信プログラムの部分
に特別に作用することなく特別のデータ移動及び
必要なコピーを取り扱う。データ・アクセス制御
装置によるデータの移動には、実際には、あるプ
ロセツサから別のプロセツサへのバスのような物
理的移送機構を介するデータ転送を必要とするこ
とがある。これらのプログラムの間で位置を認識
する必要がないとともに、共用記憶装置が利用可
能なときには上記モードを使用する利点を享受で
きる。 データ・アクセス制御装置は、記憶装置又はバ
ツフア管理サービスの働きはしない。この制御装
置は局所オペレーテイング・システムによつて提
供される記憶管理装置を使用する。これらの装置
は、位置指定モード及びバツフア・ゲツト/バツ
フア・フリー・モードにおいて必要に応じて記憶
装置をアロケートし且つ解放するのに使用され
る。これにより、プロセスは、再設計する必要な
く、1つのプロセツサ中の異なつた位置へ、又は
あるプロセツサから他のプロセツサへ容易に動く
ことができる。 E.実施例 第2図には、分散処理システムの高レベル形態
が参照番号10によつて一般的に示されている。
プロセツサA12は、線14で示される物理経路
によつてプロセツサB16に結合されている。プ
ロセツサA12は、その中にプロセスA18とプ
ロセスB19が常駐しているものとして示してあ
る。記憶域20は、それぞれ線21および22で
表されるようにプロセスAおよびプロセスBと関
連しており、プロセスにデータ記憶装置の制御と
データ記憶装置に対するアクセスを提供する。 プロセツサB16は、その中にプロセスC23
とプロセスD24が常駐しているものとして示し
てある。記憶域25は、それぞれ線26およ28
で表わされるようにプロセスCおよびプロセスD
と関連しており、プロセスにデータ記憶装置の制
御とデータ記憶装置に対するアクセスを提供す
る。 プロセスすなわちプロセツサ内のプログラムの
実行は、互いに通信する必要がある。構成が異な
るプロセツサ中で、また同じプロセツサ中で経時
的に変化するとき、通信する2つのプロセスは、
異なる相対位置にあり、それらの間の物理経路が
異なることがある。 通信するプロセスにとつて位置が認識されない
(transparent)プロセス間通信を行えるようにす
るために、プロセツサAとプロセツサB内のそれ
ぞれ30および32にプロセス間通信機構
(IPCF)が設けてある。IPCF30は、線34で
表されるようにプロセツサAの中に、また線36
で表されるようにプロセスBに結合されている。
線34と36は、プロセスAおよびプロセスBと
IPCF30のインターフエースを表す。これらの
インターフエースによつて、適切なデータ経路が
確立された場合、プロセスAとプロセスBの間の
通信が可能である。ICPF30は、また移送機構
38、線14及びプロセツサB中の移送機構40
を介してIPCF32に結合されてる。IPCF32
は、インターフエース線42で表されるようにプ
ロセスCとプロセスDに結合されている。これら
のIPCFとのインターフエースおよび移送機構に
よつて、通信する相手のプロセスの位置を知らな
くとも、上記のすべてのプロセス間で通信が確立
できる。 移送機構38と40は、プロセスAとプロセス
BまたはプロセスCとプロセスDが単一プロセツ
サ内で通信する場合に使われる局所移送機構など
複数の移送機構からなることが好ましい。プロセ
ツサAとプロセツサBが同じマシン中に常駐する
場合、プロセツサA上のプロセスとプロセツサB
上のプロセスの間で通信しやすくするため、バス
移送機構を使用する。マシン間通信の場合は、
SNAなどの通信プロトコルが適している。 移送機構38,40は、データ移送装置であ
る。これらの移送機構は、データ・バイトをある
場所から別の場所に転送することを担当し、移送
される情報の意味は理解しない。すなわちプロセ
ツサA中の記憶装置20は、線46で示されるよ
うに移送機構38に結合され、プロセツサB中の
記憶装置25は線48で示されるように移送機構
40に結合され、移送機構38,40によつて直
接に情報転送が可能である。 通信を試みるプロセスのIPCFは、その通信用
の移送機構を選択する。通信するプロセスは使用
する機構について知つている必要はない。通信を
試みるプロセスは、目的プロセスの名前を知つて
いて、それをIPCFに送る。IPCFは適切なデイレ
クトリ・サービスを使つてそれを探し出す。次に
IPCFは適切な移送機構を選択し、システムから
提供されるサービスを使つて、標準的やり方でプ
ロセス間の接続をセツトアツプする。IPCFは、
適用業務からペーシング・マネジヤーなどの基本
システム・サービスまでのあらゆるレベルのプロ
セスによつて使用され得る。 それぞれ能力と特性が違う異なる多数の移送機
構が使えるようにするため、IPCFには、各プロ
セスに対する総称移送機構インターフエースが含
まれている。このインターフエースは、接続の確
立およびプロセス間での情報のパスのために一組
の機能(フアンクシヨン)を特定する。特定され
た機能は、IPCFが使用する移送機構に写像され
る。インターフエースに対して書かれたプログラ
ムは、移送機構とは独立であり、したがつて通信
する際のその相対位置とも独立である。 プロセス間通信は、IPCFで確立されるプロセ
ス間接続を介したメツセージの送信および受信の
形をとる。メツセージは作業要求またはデータを
含む。特定の作業要求に関して、プロセスはリク
エスタまたはサーバの役割を引き受ける。リクエ
スタは、作業要求を実行するサーバに要求を送つ
て、作業要求を開始する。要求は、作業要求(コ
マンドとそのパラメータ)および必要に応じて使
用できるある種のデータを含む。要求もデータも
可変長である。 第1図は2つの通信するプロセスの低レベル図
であるが、この図には、リクエスタ・プロセス5
0による作業要求の送信とサーバ・プロセス52
による作業要求のサービングが、昇順のステツプ
で表わしてある。リクエスタ・プロセス50とサ
ーバ・プロセス52の間の接続は、既にIPCFお
よび一般的に53として示した移送機構によつて
確立されている。各プロセスは、それに関連する
待ち行列を有する。この待ち行列は、注釈を待ち
行列化するために使われる。注釈とは、他のプロ
セスから来た作業要求を表すデータの小さなパケ
ツトである。プロセス50はその局所IPCFから
与えられる待ち行列54を有し、プロセス52は
その局所IPCFから与えられる待ち行列56を有
する。 リクエスタ・プロセス50は作業要求を作成
し、それをリクエスタ記憶装置58に記憶する。
リクエスタ・プロセス50は、また、“要求送信”
動詞(1)と呼ばれるIPCF動詞を作成する。“要求送
信”動詞は、別のプロセスにサーブしてもらうた
めに作業要求が作成されていることをIPCF55
に指示するためにプロセスが使うものである。こ
れは、サーバ52の局所IPCF57がある種の注
釈中に抽出して与える(distiel)情報を含んでい
る(IPCF動詞の内容については後で説明する)。
この注釈は、“要求”注釈と呼ばれ、送信者が誰
か、要求の長さ、および作業要求を一義的に識別
する標識(token)である一義的要求識別子
(Rid)などの情報を含んでいる。 データ構造は、移送機構を通つて送られ、注釈
をそこから抽出するための情報を含んでいる。デ
ータ構造は、要求識別子、サーバ・プロセスを識
別する接続識別子、要求の優先順位、および記述
子エレメントを示す。各記述子エレメントは、サ
ーバに転送されるデータまたはリクエスタに転送
されるデータ用記憶装置を識別する。各記述子エ
レメントは、また記憶ピースを含むプロセツサ・
アドレス、および記憶ピースの記憶アドレスと長
さを指示する。 作成要求を表すデータ構造から抽出された注釈
は、サーバ52の対して局所的なIPCF57によ
つて、待ち行列56(2)に載せられる。サーバがも
つと多くの作業をすぐに開始できるときは、“待
ち行列受信”動詞(3)を出して、注釈を受け取る。
次にサーバ52は、要求識別子を照会する“要求
受信”動詞(4)を用いて作業要求の少くとも一部分
の受信を希望していることを、IPCF57に指示
する。次にIPCF57と移送機構53は、リクエ
スタ50の関与なしに、作業要求の所要の部分
を、記憶装置58から記憶装置60に転送する。
これで作業要求は、サーバ52が直接アクセスで
きる。 作業要求は、実コマンドと任意のパラメータを
含んでいる。この時点で、サーバ52は要求を処
理し、またはその入力待ち行列で作業を探すこと
ができる。必要に応じて、リクエスタ50からの
データを受け取る。一度にすべてのデータを受け
取る必要はない。特定の要求と関連するデータを
受け取るため、サーバは“データ受信”動詞(5)中
で適当な要求識別子をIPCF50に供給する。指
示されたデータが、次にIPCFと移送機構によつ
て記憶装置60に転送される。 サーバ52からリクエスタ50に戻すべきデー
タは、“応答送信”動詞(6)を使つて、サーバ52
中のIPCF57に送られる。次にこのデータが
IPCF57と移送機構によつてリクエスタ記憶装
置58に直接転送される。サーバ52が作業要求
を処理し、すべてのデータが転送されると、サー
バ52はステータス(7)の最終“応答送信”動詞を
IPCF57に提示し、IPCF57はそのデータ構造
をリクエスタ50の局所IPCF55に転送し、
IPCF55は応答注釈を生成し、それがリクエス
タ50の待ち行列54に載せられる。応答注釈
は、作業要求が完了し、その作業要求から得られ
たデータが使用可能であることをリクエスタ50
に指示する。 待ち行列上の注釈のみを使うことによつて、要
求待ち行列に対して複雑な待ち行列処理体系を容
易に実現することができる。注釈はある要求に対
するデータの全体に比べて小さいので、容易に再
配列できる。このため、優先順位を要求と関連さ
せることができる。サーバは、優先順位の高い要
求を処理することができ、送られた順にのみ待ち
行列から要求を除去することを強制されない。待
ち行列からの受信にはキーがついているため、注
釈が特定の接続を経て来る場合にのみ、注釈を受
け取ることができる。 a 動詞のまとめ IPCFとインターフエースしてIPCFが情報の他
のプロセスに転送できるようにするためにプロセ
スが使用する動詞とその機能のリストを下記に示
す。(動詞の説明は、後でもつと詳しく行なう。) “オープン” 2つのプロセス間でIPCF接続
を確立する。 “クローズ” 2つのプロセス間のIPCF接続
を遮断する。 “記憶プール指定” 複数のプロセスが共用で
きる記憶プールをIPCFに対して定義
する。記憶プールを使うと、プロセス
間で送られるデータを実際に移動また
はコピーする必要がなくなる。 “要求送信” 作業要求を開始する。“要求送
信”動詞を出すプロセスはリクエスタ
である。要求が送られるプロセスはサ
ーバである。 “応答送信” データおよび任意選択でステー
タスをサーバに戻す。 “待ち行列受信” プロセス入力待ち行列から
注釈を受け取る。 “要求受信” リクエスタから送られる作業要
求を受け取る。 “データ受信” リクエスタから送られるデー
タを受け取る。 “信号” 信号注釈を別のプロセスに送る。 “要求終了” ある接続上のある未処理の要求
またはすべての未処理の要求の処理を
停止する。 多くのIPCF動詞は、他の通信プロセスの待ち
行列の送られる注釈を生成する。“要求注釈”は、
あるプロセスが別のプロセスの“要求送信”動詞
の目的であるとき、そのプロセスの入力待ち行列
に載せられる。“応答注釈”は、別の何れかのプ
ロセスが完了ステータスで“要求送信”動詞を実
行するとき、あるプロセスの入力待ち行列に載せ
られる。 “信号注釈”は、あるプロセスが別のプロセス
の信号の目的であるとき、そのプロセスの入力待
ち行列に載せられる。“信号注釈”は、2つのプ
ロセス間で少量のデータを送るとき使われ、送る
べき実際データを含んでいる。 “オープン注釈”は、あるプロセスへの接続が
別のプロセスの要求時に確立されているとき、そ
のプロセスの入力待ち行列に載せられ、“クロー
ズ注釈”は、あるプロセスへの接続が別のプロセ
スによつて遮断されるべきときまたは遮断が完了
したとき、そのプロセスの入力待ち行列に載せら
れる。“クローズ”動詞を発生したプロセスは、
接続が遮断されるべきことを示す“クローズ注
釈”を受け取らず、クローズが完了していること
を示す“クローズ注釈”を受け取る。 “要求終了注釈”は、リクエスタが未処理の要
求を終了する場合にサーバ・プロセスの入力待ち
行列に載せられる。 好ましい実施例では、注釈は、下記の順に入力
待ち行列に載せられ、1が待ち行列の一番上に来
る。 1 “要求終了” 2 “クローズ” 3 “オープン” 4 “信号” 5 “要求”および“応答”(優先順位の順) “待ち行列受信”動詞は、その受信を満足する
注釈の種類を制限するキーの使用の準備をする。
このキーは、注釈の種類および注釈の発生場所
(その注釈をそこから受け取つた接続)にもとづ
いて、注釈を受け取るかどうか選択するのに使用
する。 b 読取書込動作の例 読み取り動作を第3図に示す。ここで、リクエ
スタ・プロセス(ソース・プロセス)70は、サ
ーバ・プロセス(目的プロセス)72からデータ
を読み取ることを希望している。この例では、サ
ーバ・プロセスはデイスク駆動装置制御プログラ
ムである。“要求送信”動詞がリクエスタ70か
ら局所IPCF73に与えられる。この動詞は、接
続識別子(CID)123、要求の種類(読取りコ
マンド)を含み、2つの4キロバイト区域でデー
タを指定する。IPCFも一般的に74として示し
た移送機構も、この要求の内容を知らない。“要
求”動詞(読取りコマンド)のフオーマツトと内
容は、リクエスタ70とサーバ72の間の取り決
めによる。IPCFは、“要求送信”動詞が完了さ
れ、要求識別子(REQUID)1を与えられてい
ることを指示する。 データ構造が、移送機構74を経て(3)、サーバ
72のIPCF75に送られる。サーバ72の局所
IPCF75は、サーバ72と関連する待ち行列に
載つている注釈を抽出する。サーバ72は、“待
ち行列受信”動詞を出し(4)、“要求注釈”(5)とそ
の接続識別子(CID)45、要求識別子
(REQID)1、および要求長さ標識を受け取る。
必要ならば、サーバ72は要求識別子と説明を示
す“要求受信”動詞を作成する(6)。IPCFは、リ
クエスタ70との対話なしで作業要求を戻す(7)。 次に、サーバ72は、それぞれ要求識別子
(REQID)および作業要求で要求された512バイ
トのデータを含む16個の“応答送信”動詞の列
(各動詞が書き込むべき512バイトを識別する)を
作成する。次にIPCFと移送機構74はリクエス
タが元の作業要求で指示した記憶装置にデータを
入れる。次にサーバは各“応答送信”動詞が完了
したとき戻りコードを受け取り(9)、その作業要求
の要求識別子とステータスを含む最終“応答送
信”動詞を作成する(10)。次にサーバは、動詞が完
了し(11)、“応答注釈”がリクエスタ70に送られ
ている(12)との指示を受け取る。リクエスタ70
は、“応答注釈”を要求し必要に応じて要求識別
子1を指定するキーをもつ“待ち行列受信”動詞
を発する(13)。要求識別子(REQIG)1につい
て完了ステータスを示す“応答注釈”を受け取
る。 第4図に示した書き込み動作は、リクエスタ・
プロセス(ソース・プロセス)80とサーバ・プ
ロセス(目的プロセス=デイスク駆動装置制御プ
ログラム)82の間で読み取りとほぼ同様に行な
われる。リクエスタは、“要求送信”動詞(1)を作
成する。この動詞は、このときデータ・アウトを
指定する。すなわち、2つの4KB区域に書き込
む。リクエスタ80の局所IPCF83は、要求識
別子(REQID)1で動詞完了を指示する(2)。“要
求注釈”がサーバの待ち行列に載せられ(3)、“待
ち行列受信”動詞がサーバ82から発せられる
(4)。“要求注釈”がサーバ82で受信され(5)、“要
求受信”動詞がサーバ82の局所IPCF85に送
られる(6)。次に“要求受信”動詞で指示される作
業要求がIPCFと移送機構84から供給される(7)。
“データ受信”動詞が作業要求を実行するサーバ
82から出て(8)、IPCFに与えられ、次にIPCFが
データを受信させる(9)。各動詞は、一度に512バ
イトを必要とし、合計8キロバイトが書き込まれ
るので、一連の16個の“データ受信”動詞がサー
バ82から出る。 次に、最終“応答送信”動詞がサーバ82で作
成され(10)、“応答送信”動詞が完了したときの指
示がサーバ82に戻される(11)。次にIPCFから注
釈がリクエスタ80の入力待ち行列に送られる
(12)。リクエスタ80は、“待ち行列受信”動詞を
発し(13)、“応答注釈”を受け取る(14)。 c データ転送モードと共用記憶装置 IPCFは、各プロセスに送信され受信されるデ
ータまたは要求の処理と管理のためのいくつかの
オプシヨンを提供する。これらのデータ転送モー
ドは、移動(MOVE)、パス(PASS)、位置指定
(LOCATE)およびバツフア・ゲツト
(GETBUF)/バツフア・フリー(FREEBUF)
である。上記の各データ転送モードは、要求とデ
ータの両方に適用される。リクエスタ・プロセス
は、作業要求を送るときセンダと呼ばれ、データ
を受け取るときレシーバと呼ばれる。同様に、サ
ーバは、作業要求を受け取るときレシーバと呼ば
れ、データをリクエスタに戻すときセンダと呼ば
れる。 データ・アクセス制御機能は、各プロセツサの
IPCFで定義され、どの転送モードが選択された
かをプロセスが認識しなくてもよいようにする。
データを移動(MOVE)モードでセンダから送
るとき、レシーバは情報のコピーを受ける。通信
する各プロセスは必ず自分の情報コピーを待つて
おり、もう一方のプロセスがそのデータのコピー
をどう処理するかは知らない。 パス(PASS)モードでは、データ・アクセス
制御機能によつて、記憶装置に送られたデータの
中間コピーをその通信に関与する両方のIPCFが
利用できるようになり、したがつてセンダの記憶
装置が直ちに再使用のために利用できる。 位置指定(LOCATE)モードでは、通信する
プロセスが共用記憶装置にアクセスできるとき、
データ・アクセス制御機能はポインタをデータに
パスし、そのデータは移動しない。プロセスが共
用記憶装置にアクセスできないとき、データ・ア
クセス制御機能はデータのレシーバがアクセスで
きる記憶装置にデータのコピーを提供する。 バツフア・フリー(FREEBUF)モードでは、
データのセンダがバツフアを管理する責任をバツ
フア・ゲート(GETBUF)モードを指定したレ
シーバにパスすることができる。センダとレシー
バが共用記憶装置にアクセスできるとき、データ
移動は除去される。プロセスが共用記憶装置にア
クセスできないとき、データ・アクセス制御機能
は、バツフアのコピーをレシーバに与える。 通信する各プロセスは、もう一方のプロセスが
どんなモードを使おうと、その希望するデータ転
送モードを使用できる。データ・アクセス制御機
能は、通信するプロセスの特別なアクシヨンなし
に、余分のデータ移動やコピーが必要となつた場
合、それを処理する。 移動(MOVE)モードでデータを送るとき、
センダは、送られるデータを記述する“データ・
アウト記述子”DODを供給して、データ・アク
セス制御機能にデータがどこにあるかを教える。
この記述子は、それぞれが長さとアドレスの対を
含んでいる1つまたは複数の記述子エレメントか
らなる。レシーバが位置指定(LOCATE)モー
ドまたはバツフア・ゲツト(GETBUF)モード
を使う場合でも、レシーバはデータのコピーのみ
を利用できる。出力データを含む記憶装置は、送
信動作中ずつと使用できる状態でなければならな
い。 第1図でプロセスが選択したモードである移動
(MOVE)モードでデータを受け取るとき、レシ
ーバないしサーバ52は、受信されるデータを記
述する“データ・イン記述子”DIDを供給して、
IPCF57のデータ・アクセス制御機能に、デー
タのコピーをどこに記憶するかを教える。この記
述子は、それぞれが長さとアドレスの対を含んで
いる1つまたは複数の局所記述子エレメントから
なる。データまたは作業要求を受け取る記憶装置
60の各セグメント毎に1つずつ記述子エレメン
トが供給される。受け取つたデータは、レシーバ
が希望するようにセグメントに分割することがで
きる。データ・アクセス制御機能が連続データ・
ストリームを提供するので、レシーバはデータが
どうセグメントに分割されたかを知らない。 移動(MOVE)モードでは、出力データを含
むリクエスタの記憶装置58中で“データ・アウ
ト”と示されている記憶装置は、送信操作中ずつ
と使用できる状態でなければならない。送信する
プログラム、すなわちリクエスタ50がこの記憶
装置を直ちに再使用することを望み、サーバ(受
信プログラム)52がデータに対する作業を完了
するまで待たなくてよい場合がある。 第5図(参照番号は第2図と同じ)でリクエス
タ50が行なつたようにパス(PASS)モードを
指定すると、IPCF55のデータ・アクセス制御
機能に、送られるデータを即時コピーすべきこと
が指示される。作業要求が中間記憶装置62にコ
ピーされ、データ・アウトが中間記憶装置64に
コピーされる。データを受け取るとき、そのデー
タを移動(MOVE)モードで受け取る場合、あ
るいはサーバ52がリクエスタ50とは異なるプ
ロセツサ中にある場合、追加コピーを取らなけれ
ばならないことがある。出力データがコピーされ
ると、データ・アウト記述子で記述される記憶装
置58のすべてが再使用のために利用できる。こ
れは、受信するプログラムが実際にデータに対す
る作業を完了する前に行われる。 第6図に表すようにデータを位置指定
(LOCATE)モードで送る場合、移動(MOVE)
モードを使用する場合と同様である。センダであ
るプロセスP1が、DODを供給して、データ・
アドレス制御機能IPCFに、データが記憶装置す
なわち記憶プールメ中のデータ・バツフアAのど
こにあるかを教える。位置指定(LOCATE)モ
ードを指定するということは、センダP1が、送
られるべきデータのデータ・バツフアA中の位置
がレシーバP2に与えられるようにするというこ
とである。しかし、データをP2が位置指定
(LOCATE)モードで受け取らない場合、あるい
はP1からP3への通信の場合のように共用記憶
装置が存在しない場合でも、データ・アクセス制
御機能が、データのコピーを記憶プールYのデー
タ・バツフアBに入力することが必要である。送
信動作で位置指定(LOCATE)モードを使うに
は、出力データを含む記憶装置が、関連する送信
動作中ずつと使用できる状態であることが必要で
ある。 位置指定(LOCATE)モードでのデータの受
信は、移動(MOVE)モードの場合と少し違つ
ている。位置指定(LOCATE)モードでデータ
を受け取るとき、レシーバがどこにデータを配置
するかを指示するのではなくて、データ・アクセ
ス制御機能がレシーバに、データがどこにあるか
を教える。レシーバは記述子(DID)のブラン
ク・データに受信動作を供給する。この記述子の
エレメントは、データ・アクセス制御機能によつ
て充填される。各記述子エレメントは、データの
ある部分の長さとアドレスを含んでいる。レシー
バから見たデータのセグメンテーシヨンは、セン
ダから見たものと同じでないことがある。センダ
とレシーバが記憶装置を共用している場合、大抵
はデータ・アクセス制御機能がデータのセグメン
テーシヨンを変更する必要がない。しかし、デー
タを移動しなければならない場合、データはデー
タ・アクセス制御機能が必要とするようにセグメ
ントに分割される。 データが移動(MOVE)モードまたはパス
(PASS)モードで送られた場合、あるいはセン
ダまたはレシーバが共用記憶装置をアクセスでき
ない場合には、データを位置指定(LOCATE)
モードで受けとるときに、データのコピーを取ら
なければならない。データ・アクセス制御機能
は、コピーのための記憶域を得る。この記憶域
は、第6図のプロセスP3用のデータ・バツフア
Bなど、レシーバがアクセスできる記憶域であ
る。データ・アクセス制御機能は、要求完了時に
それが得た記憶域を解放する。 バツフア・フリー(FREEBUF)/バツフ
ア・ゲツト(GETBUF)モードを使うと、送信
するプロセスおよび受信するプロセスが、データ
を含むバツフアを管理する青任を、送信するプロ
セスから受信するプロセスにパスさせることがで
きる。バツフア・フリー(FREEBUF)モード
は、送信されるデータに適用され、バツフア・ゲ
ート(GETBUF)モードは受信されるデータに
適用される。 移動(MOVE)、パス(PASS)、位置指定
(LOCATE)の各モードでは、センダが送信され
るデータを含む記憶装置に対する責任をもつ。中
間コピーを取ることができ、またレシーバが記憶
装置を直接アクセスできるようにすることもでき
るが、データの元のコピーを含む記憶装置は、依
然としてセンダに属し、センダの責任下にある。
バツフア・フリー(FREEBUF)モードを使う
とき、センダは、送られたデータを含む記憶送置
に対する責任を放棄する。データが一度バツフ
ア・フリー(FREEBUF)モードで送られると、
センダは、それを含む記憶装置のことを忘れるこ
とができる。データ・アクセス制御機能は、この
記憶装置が後で解放されるか、またはそれがレシ
ーバにパスされるようにする。センダは、バツフ
ア・フリー(FREEBUF)モードで送られたデ
ータを参照してはならない。 バツフアは、他のデータ転送モードの場合と同
様に、第7図のようなデータ記述子を使つて、デ
ータ・アクセス制御機能に対して説明される。各
バツフアの記述子エレメントは、センダがその制
御権を転送するバツフアの長さとアドレスを含ん
でいる。しかし、送信または受信される実デー
タ・ストリームにバツフア全体を含める必要はな
い。センダは、出力バイト・ストリームに含まれ
るべきバツフア中のデータ・セグメントを示すた
め、バツフア・オフセツトとデータ長さをバツフ
アに供給することができる。データを受け取る
と、この部分だけがレシーバが使用できるように
なる。レシーバがバツフア・ゲツト
(GETBUF)モードを使い、バツフアにアクセ
スできる場合、バツフア全体は、テータ・アクセ
ス制御機能によつて解放されるか、またはレシー
バにパスされる。 記憶装置を共用する能力は記憶プールの項で定
義される。記憶プールとは、記憶装置のそのよう
に命名された区域である。データを位置指定
(LOCATE)モードまたはバツフア・ゲツト
(GETBUF)/バツフア・フリー(FREEBUF)
モードで転送する前に、通信を行うプロセスは、
それぞれが“記憶プール指定”動詞を用いて使用
している記憶プールの名前をIPCFに供給する。
通信を行うプロセスが互いに局所的であり、どち
らも同じ記憶プールを使つている場合、それらの
間で転送するとき、データを移動する必要はな
い。そうでなければ、IBCFは、共用記憶装置が
利用できないと仮定して、送られたデータをコピ
ーする。どちらかのプロセスが移動(MOVE)
モードまたはパス(PASS)モードを使う場合、
必ずデータがコピーされる。 各ユーザは、その各接続用に使用したい記憶プ
ールの名前を供給する。同じ記憶プールを1つま
たは複数の接続と一緒に使うことができる。ある
接続の両方のユーザが同じ名前を供給しない場
合、IPCFはそれらの間で送られたデータをコピ
ーする。記憶プール名は、“記憶プール指定”動
詞を使つて、IPCFに与えられる。省略時
(default)記憶プールが必ず使用できなければな
らない。記憶プールに明示的な名前がついていな
い場合、位置指定(LOCATE)モードおよびバ
ツフア・ゲツト(GETBUF)/バツフア・フリ
ー(FREEBUF)モードの操作に省略時記憶プ
ールを使用する。 送られたデータは、移動(MOVE)、位置指定
(LOCATE)、バツフア・ゲツト(GETBUF)の
何れかのモードで受信できる。第1表は各受信モ
ードの場合に記憶装置をどう処理するかを示した
ものである。第1表中の番号は、データ・アクセ
ス制御機能(DACF)が行う下記のステツプを示
す。 1 レシーバが受信されるデータを記憶する記憶
域を提供する。DACFが、レシーバ記憶装置へ
のデータ移動を実行する。 2 DACFが、データのコピー用の記憶域を得
る。 3 DACFが、レシーバに、(センダの記憶装置
またはDACFが得た記憶装域中で)データのコ
ピーを示すポインタを与える。 4 センダは、送信動作完了まで、元の記憶装置
にタツチしない。 5 センダは、DACFによる移動(MOVE)動
作が完了すると直ちに元の記憶装置を再使用で
きる。 6 DACFが、要求完了時にセンダ記憶装置を解
放する。 7 データを含むバツフア(元のセンダのバツフ
アまたはDACFが得たバツフア)の制御権がレ
シーバに与えられる。DACFは、受信されなか
つたバツフアを解放する。 8 DACFが、受信動作完了時に、それが得た
(データのコピーを含んでいた)記憶域を解放
する。
送装置に係り、特に通信を行つているプロセスが
選択されている記憶モードを知る必要のないプロ
セス間通信装置に関する。 B.従来技術 分散計算システムにおいては、データのアクセ
スのために互いに通信を行うプロセスは互いに物
理的に分離している。すなわち、これらのプロセ
スは分散計算システムの異なつたプロセツサ中に
常駐し作業を実行する。ある時点においてシステ
ムのあるプロセツサ中で作業を実行するプロセス
は、別の時点で別のプロセツサ中で作業を実行す
ることができる。例えば、プロセスは、システム
を構成するプロセツサ間のシステム負荷のバラン
スをとるために異なつたプロセツサ中で作業を実
行することができる。 プロセスが1つのプロセツサから別のプロセツ
サへ移るとき、必要な再設計量を最小にすること
が望まれる。典型例においては、プロセスはそれ
らが通信を希望するプロセスの物理的位置に関し
て特定の態度をとるように設計される。 例えば、データのアクセスのために別のプロセ
スと通信を行うときに移動及び位置指定記憶モー
ドを使用する場合がそれである。位置指定モード
においては、データはそれを要求するプロセスの
記憶位置へは移動されない。要求プロセスにアク
セス可能な記憶装置中にデータが存在する状態
で、ポインタが戻される。移動モードにおいて
は、データは要求プロセスによつて指定された記
憶域へ移動される。 従来方法により位置指定モードを使用すると、
データを示すポインタを与えるプロセスは要求プ
ロセスと同じメモリを共用する。1つのプロセス
が別のプロセツサへ移ると、又は同じメモリを共
用しなくなると、位置指定モードはもはや機能し
なくなり、別のアクセス・モードを設定するため
に設計変更が必要となる。 “IBMテクニカル・デイスクロージヤ・ブリ
テイン”(“IBM Technical Disclosure
Bulletin”)、第23巻第5号、1980年10月に所載の
論文“分散データ処理システム”(“Distributed
Data Processing System”)には、システム資
源が各プロセスに属し、プロセス間の通信はスー
パーバイザ・サービスを介して間接的に行われる
処理システムが記載されている。これは、若干の
プロセスの可動性(mobility)を与える。通信
は、サブシステム通信機能によつて処理されるメ
ツセージの形をとる。“IBMテクニカル・デイス
クロージヤ・ブリテイン”、第22巻第7号、1979
年12月に所載の論文、“プロセツサ間通信用のメ
ツセージにもとづくプロトコル”(“Message−
Based Protocol for Interprocessor Com
munication”)には、共通バスを介して柔軟結合
された異なるプロセツサ上で実行されるプロセス
間通信用のメツセージにもとづくプロトコルが開
示されている。プロセスとは、メツセージ持ち行
列および共用変数によつて相互作用する実行単位
のことをいう。 データをアクセスするプロセスは、要求された
データが配置されるべき又はデータが送信のため
に取り出されるバツフア区域を指定できる。これ
らのバツフアは、データをアクセスするプロセス
によつて動的にアロケートされ且つ制御される。
これらのバツフアの制御が別のプロセスへパスさ
れると、これらの2つのプロセスは制御をパスす
る会議において同意しなければならない。 プロセス間の動的にアロケートされるバツフア
の制御をパスすることは、1つのプロセスが別の
プロセツサへ移るときに設計変更が必要となる別
の例である。 C.発明が解決しようとする問題点 本発明の目的は、プロセスが再設計する必要な
く1つのプロセツサ中の異なつた位置へ、又はあ
るプロセツサから他のプロセツサへ動くことので
きるプロセス間通信装置を提供することにある。 D.問題点を解決するための手段 本発明によれば、プロセツサ・システム中のプ
ロセス間通信装置が少くとも2つのプロセスの間
のデータ通信を行う。このプロセス間通信装置
は、1つ又は複数のプロセツサの記憶管理サービ
ス装置によつて与えられる複数の異なつたデータ
転送モードをサポートする。プロセス・インター
フエース手段は、各通信プロセスが他の通信プロ
セスによつて選択されたデータ転送モードとは独
立にデータ転送モードを選択するためにセツトさ
れた共通動詞を提供する。データ・アクセス制御
装置は、プロセス・インターフエース手段及び記
憶管理サービス装置に結合される。データ・アク
セス制御装置は、通信を行うプロセスによつて選
択された転送モードの関数として記憶管理サービ
ス装置の使用を制御する。プロセスは、互いに、
どの転送モードが選択されたかを認識しない
(fransparent)。 プロセスが同じプロセツサ内にあろうと異なる
プロセツサ内にあろうと、データは、プロセス間
にデータ路を形成する移送装置によつて移動させ
られる。実施例において、送信及び受信データの
取扱い及び管理のために任意に選択されるデータ
転送モードは、移動モード、パス・モード、位置
指定モード、及びバツフア・ゲツト/バツフア・
フリー・モードである。 移動モードにおいては、レシーバは情報のコピ
ーを得、各通信プロセスは常に情報のそれ自身の
コピーを有しており、他のプロセスがそのデータ
のそのコピーにより何を行うかは知らない。パ
ス・モードにおいては、プロセスはデータ・アク
セス制御装置が送られてきたデータの中間コピー
を作るようにする。従つて、センダの記憶装置は
直ちに再使用可能となる。位置指定モードにおい
ては、通信を行つているプログラムが共用記憶装
置のアクセス梶を有するときには、データ・アク
セス制御装置がデータを示すポインタをパスし、
データは移動されない。プログラムが共用記憶装
置のアクセス梶を有しないときには、データ・ア
クセス制御装置が、データのレシーバにとつてア
クセス可能な記憶装置へデータのコピーを供給す
る。 バツフア・フリー・モードにおいては、データ
のセンダは、バツフア・ゲツト・モードを指定し
たレシーバにバツフア管理の責任をパスすること
ができる。センダ及びレシーバが共用記憶装置の
アクセス梶を有するときには、データの移動は無
い。プロセスが共用記憶装置のアクセス梶を有し
ないときには、データ・アクセス制御装置がバツ
フアのコピーをレシーバに供給する。 各通信プロセスは、他のプロセスによつて使用
されているデータ転送モードに注違を払う必要な
く、必要なデータ転送モードを使用できる。デー
タ・アクセス制御装置は、通信プログラムの部分
に特別に作用することなく特別のデータ移動及び
必要なコピーを取り扱う。データ・アクセス制御
装置によるデータの移動には、実際には、あるプ
ロセツサから別のプロセツサへのバスのような物
理的移送機構を介するデータ転送を必要とするこ
とがある。これらのプログラムの間で位置を認識
する必要がないとともに、共用記憶装置が利用可
能なときには上記モードを使用する利点を享受で
きる。 データ・アクセス制御装置は、記憶装置又はバ
ツフア管理サービスの働きはしない。この制御装
置は局所オペレーテイング・システムによつて提
供される記憶管理装置を使用する。これらの装置
は、位置指定モード及びバツフア・ゲツト/バツ
フア・フリー・モードにおいて必要に応じて記憶
装置をアロケートし且つ解放するのに使用され
る。これにより、プロセスは、再設計する必要な
く、1つのプロセツサ中の異なつた位置へ、又は
あるプロセツサから他のプロセツサへ容易に動く
ことができる。 E.実施例 第2図には、分散処理システムの高レベル形態
が参照番号10によつて一般的に示されている。
プロセツサA12は、線14で示される物理経路
によつてプロセツサB16に結合されている。プ
ロセツサA12は、その中にプロセスA18とプ
ロセスB19が常駐しているものとして示してあ
る。記憶域20は、それぞれ線21および22で
表されるようにプロセスAおよびプロセスBと関
連しており、プロセスにデータ記憶装置の制御と
データ記憶装置に対するアクセスを提供する。 プロセツサB16は、その中にプロセスC23
とプロセスD24が常駐しているものとして示し
てある。記憶域25は、それぞれ線26およ28
で表わされるようにプロセスCおよびプロセスD
と関連しており、プロセスにデータ記憶装置の制
御とデータ記憶装置に対するアクセスを提供す
る。 プロセスすなわちプロセツサ内のプログラムの
実行は、互いに通信する必要がある。構成が異な
るプロセツサ中で、また同じプロセツサ中で経時
的に変化するとき、通信する2つのプロセスは、
異なる相対位置にあり、それらの間の物理経路が
異なることがある。 通信するプロセスにとつて位置が認識されない
(transparent)プロセス間通信を行えるようにす
るために、プロセツサAとプロセツサB内のそれ
ぞれ30および32にプロセス間通信機構
(IPCF)が設けてある。IPCF30は、線34で
表されるようにプロセツサAの中に、また線36
で表されるようにプロセスBに結合されている。
線34と36は、プロセスAおよびプロセスBと
IPCF30のインターフエースを表す。これらの
インターフエースによつて、適切なデータ経路が
確立された場合、プロセスAとプロセスBの間の
通信が可能である。ICPF30は、また移送機構
38、線14及びプロセツサB中の移送機構40
を介してIPCF32に結合されてる。IPCF32
は、インターフエース線42で表されるようにプ
ロセスCとプロセスDに結合されている。これら
のIPCFとのインターフエースおよび移送機構に
よつて、通信する相手のプロセスの位置を知らな
くとも、上記のすべてのプロセス間で通信が確立
できる。 移送機構38と40は、プロセスAとプロセス
BまたはプロセスCとプロセスDが単一プロセツ
サ内で通信する場合に使われる局所移送機構など
複数の移送機構からなることが好ましい。プロセ
ツサAとプロセツサBが同じマシン中に常駐する
場合、プロセツサA上のプロセスとプロセツサB
上のプロセスの間で通信しやすくするため、バス
移送機構を使用する。マシン間通信の場合は、
SNAなどの通信プロトコルが適している。 移送機構38,40は、データ移送装置であ
る。これらの移送機構は、データ・バイトをある
場所から別の場所に転送することを担当し、移送
される情報の意味は理解しない。すなわちプロセ
ツサA中の記憶装置20は、線46で示されるよ
うに移送機構38に結合され、プロセツサB中の
記憶装置25は線48で示されるように移送機構
40に結合され、移送機構38,40によつて直
接に情報転送が可能である。 通信を試みるプロセスのIPCFは、その通信用
の移送機構を選択する。通信するプロセスは使用
する機構について知つている必要はない。通信を
試みるプロセスは、目的プロセスの名前を知つて
いて、それをIPCFに送る。IPCFは適切なデイレ
クトリ・サービスを使つてそれを探し出す。次に
IPCFは適切な移送機構を選択し、システムから
提供されるサービスを使つて、標準的やり方でプ
ロセス間の接続をセツトアツプする。IPCFは、
適用業務からペーシング・マネジヤーなどの基本
システム・サービスまでのあらゆるレベルのプロ
セスによつて使用され得る。 それぞれ能力と特性が違う異なる多数の移送機
構が使えるようにするため、IPCFには、各プロ
セスに対する総称移送機構インターフエースが含
まれている。このインターフエースは、接続の確
立およびプロセス間での情報のパスのために一組
の機能(フアンクシヨン)を特定する。特定され
た機能は、IPCFが使用する移送機構に写像され
る。インターフエースに対して書かれたプログラ
ムは、移送機構とは独立であり、したがつて通信
する際のその相対位置とも独立である。 プロセス間通信は、IPCFで確立されるプロセ
ス間接続を介したメツセージの送信および受信の
形をとる。メツセージは作業要求またはデータを
含む。特定の作業要求に関して、プロセスはリク
エスタまたはサーバの役割を引き受ける。リクエ
スタは、作業要求を実行するサーバに要求を送つ
て、作業要求を開始する。要求は、作業要求(コ
マンドとそのパラメータ)および必要に応じて使
用できるある種のデータを含む。要求もデータも
可変長である。 第1図は2つの通信するプロセスの低レベル図
であるが、この図には、リクエスタ・プロセス5
0による作業要求の送信とサーバ・プロセス52
による作業要求のサービングが、昇順のステツプ
で表わしてある。リクエスタ・プロセス50とサ
ーバ・プロセス52の間の接続は、既にIPCFお
よび一般的に53として示した移送機構によつて
確立されている。各プロセスは、それに関連する
待ち行列を有する。この待ち行列は、注釈を待ち
行列化するために使われる。注釈とは、他のプロ
セスから来た作業要求を表すデータの小さなパケ
ツトである。プロセス50はその局所IPCFから
与えられる待ち行列54を有し、プロセス52は
その局所IPCFから与えられる待ち行列56を有
する。 リクエスタ・プロセス50は作業要求を作成
し、それをリクエスタ記憶装置58に記憶する。
リクエスタ・プロセス50は、また、“要求送信”
動詞(1)と呼ばれるIPCF動詞を作成する。“要求送
信”動詞は、別のプロセスにサーブしてもらうた
めに作業要求が作成されていることをIPCF55
に指示するためにプロセスが使うものである。こ
れは、サーバ52の局所IPCF57がある種の注
釈中に抽出して与える(distiel)情報を含んでい
る(IPCF動詞の内容については後で説明する)。
この注釈は、“要求”注釈と呼ばれ、送信者が誰
か、要求の長さ、および作業要求を一義的に識別
する標識(token)である一義的要求識別子
(Rid)などの情報を含んでいる。 データ構造は、移送機構を通つて送られ、注釈
をそこから抽出するための情報を含んでいる。デ
ータ構造は、要求識別子、サーバ・プロセスを識
別する接続識別子、要求の優先順位、および記述
子エレメントを示す。各記述子エレメントは、サ
ーバに転送されるデータまたはリクエスタに転送
されるデータ用記憶装置を識別する。各記述子エ
レメントは、また記憶ピースを含むプロセツサ・
アドレス、および記憶ピースの記憶アドレスと長
さを指示する。 作成要求を表すデータ構造から抽出された注釈
は、サーバ52の対して局所的なIPCF57によ
つて、待ち行列56(2)に載せられる。サーバがも
つと多くの作業をすぐに開始できるときは、“待
ち行列受信”動詞(3)を出して、注釈を受け取る。
次にサーバ52は、要求識別子を照会する“要求
受信”動詞(4)を用いて作業要求の少くとも一部分
の受信を希望していることを、IPCF57に指示
する。次にIPCF57と移送機構53は、リクエ
スタ50の関与なしに、作業要求の所要の部分
を、記憶装置58から記憶装置60に転送する。
これで作業要求は、サーバ52が直接アクセスで
きる。 作業要求は、実コマンドと任意のパラメータを
含んでいる。この時点で、サーバ52は要求を処
理し、またはその入力待ち行列で作業を探すこと
ができる。必要に応じて、リクエスタ50からの
データを受け取る。一度にすべてのデータを受け
取る必要はない。特定の要求と関連するデータを
受け取るため、サーバは“データ受信”動詞(5)中
で適当な要求識別子をIPCF50に供給する。指
示されたデータが、次にIPCFと移送機構によつ
て記憶装置60に転送される。 サーバ52からリクエスタ50に戻すべきデー
タは、“応答送信”動詞(6)を使つて、サーバ52
中のIPCF57に送られる。次にこのデータが
IPCF57と移送機構によつてリクエスタ記憶装
置58に直接転送される。サーバ52が作業要求
を処理し、すべてのデータが転送されると、サー
バ52はステータス(7)の最終“応答送信”動詞を
IPCF57に提示し、IPCF57はそのデータ構造
をリクエスタ50の局所IPCF55に転送し、
IPCF55は応答注釈を生成し、それがリクエス
タ50の待ち行列54に載せられる。応答注釈
は、作業要求が完了し、その作業要求から得られ
たデータが使用可能であることをリクエスタ50
に指示する。 待ち行列上の注釈のみを使うことによつて、要
求待ち行列に対して複雑な待ち行列処理体系を容
易に実現することができる。注釈はある要求に対
するデータの全体に比べて小さいので、容易に再
配列できる。このため、優先順位を要求と関連さ
せることができる。サーバは、優先順位の高い要
求を処理することができ、送られた順にのみ待ち
行列から要求を除去することを強制されない。待
ち行列からの受信にはキーがついているため、注
釈が特定の接続を経て来る場合にのみ、注釈を受
け取ることができる。 a 動詞のまとめ IPCFとインターフエースしてIPCFが情報の他
のプロセスに転送できるようにするためにプロセ
スが使用する動詞とその機能のリストを下記に示
す。(動詞の説明は、後でもつと詳しく行なう。) “オープン” 2つのプロセス間でIPCF接続
を確立する。 “クローズ” 2つのプロセス間のIPCF接続
を遮断する。 “記憶プール指定” 複数のプロセスが共用で
きる記憶プールをIPCFに対して定義
する。記憶プールを使うと、プロセス
間で送られるデータを実際に移動また
はコピーする必要がなくなる。 “要求送信” 作業要求を開始する。“要求送
信”動詞を出すプロセスはリクエスタ
である。要求が送られるプロセスはサ
ーバである。 “応答送信” データおよび任意選択でステー
タスをサーバに戻す。 “待ち行列受信” プロセス入力待ち行列から
注釈を受け取る。 “要求受信” リクエスタから送られる作業要
求を受け取る。 “データ受信” リクエスタから送られるデー
タを受け取る。 “信号” 信号注釈を別のプロセスに送る。 “要求終了” ある接続上のある未処理の要求
またはすべての未処理の要求の処理を
停止する。 多くのIPCF動詞は、他の通信プロセスの待ち
行列の送られる注釈を生成する。“要求注釈”は、
あるプロセスが別のプロセスの“要求送信”動詞
の目的であるとき、そのプロセスの入力待ち行列
に載せられる。“応答注釈”は、別の何れかのプ
ロセスが完了ステータスで“要求送信”動詞を実
行するとき、あるプロセスの入力待ち行列に載せ
られる。 “信号注釈”は、あるプロセスが別のプロセス
の信号の目的であるとき、そのプロセスの入力待
ち行列に載せられる。“信号注釈”は、2つのプ
ロセス間で少量のデータを送るとき使われ、送る
べき実際データを含んでいる。 “オープン注釈”は、あるプロセスへの接続が
別のプロセスの要求時に確立されているとき、そ
のプロセスの入力待ち行列に載せられ、“クロー
ズ注釈”は、あるプロセスへの接続が別のプロセ
スによつて遮断されるべきときまたは遮断が完了
したとき、そのプロセスの入力待ち行列に載せら
れる。“クローズ”動詞を発生したプロセスは、
接続が遮断されるべきことを示す“クローズ注
釈”を受け取らず、クローズが完了していること
を示す“クローズ注釈”を受け取る。 “要求終了注釈”は、リクエスタが未処理の要
求を終了する場合にサーバ・プロセスの入力待ち
行列に載せられる。 好ましい実施例では、注釈は、下記の順に入力
待ち行列に載せられ、1が待ち行列の一番上に来
る。 1 “要求終了” 2 “クローズ” 3 “オープン” 4 “信号” 5 “要求”および“応答”(優先順位の順) “待ち行列受信”動詞は、その受信を満足する
注釈の種類を制限するキーの使用の準備をする。
このキーは、注釈の種類および注釈の発生場所
(その注釈をそこから受け取つた接続)にもとづ
いて、注釈を受け取るかどうか選択するのに使用
する。 b 読取書込動作の例 読み取り動作を第3図に示す。ここで、リクエ
スタ・プロセス(ソース・プロセス)70は、サ
ーバ・プロセス(目的プロセス)72からデータ
を読み取ることを希望している。この例では、サ
ーバ・プロセスはデイスク駆動装置制御プログラ
ムである。“要求送信”動詞がリクエスタ70か
ら局所IPCF73に与えられる。この動詞は、接
続識別子(CID)123、要求の種類(読取りコ
マンド)を含み、2つの4キロバイト区域でデー
タを指定する。IPCFも一般的に74として示し
た移送機構も、この要求の内容を知らない。“要
求”動詞(読取りコマンド)のフオーマツトと内
容は、リクエスタ70とサーバ72の間の取り決
めによる。IPCFは、“要求送信”動詞が完了さ
れ、要求識別子(REQUID)1を与えられてい
ることを指示する。 データ構造が、移送機構74を経て(3)、サーバ
72のIPCF75に送られる。サーバ72の局所
IPCF75は、サーバ72と関連する待ち行列に
載つている注釈を抽出する。サーバ72は、“待
ち行列受信”動詞を出し(4)、“要求注釈”(5)とそ
の接続識別子(CID)45、要求識別子
(REQID)1、および要求長さ標識を受け取る。
必要ならば、サーバ72は要求識別子と説明を示
す“要求受信”動詞を作成する(6)。IPCFは、リ
クエスタ70との対話なしで作業要求を戻す(7)。 次に、サーバ72は、それぞれ要求識別子
(REQID)および作業要求で要求された512バイ
トのデータを含む16個の“応答送信”動詞の列
(各動詞が書き込むべき512バイトを識別する)を
作成する。次にIPCFと移送機構74はリクエス
タが元の作業要求で指示した記憶装置にデータを
入れる。次にサーバは各“応答送信”動詞が完了
したとき戻りコードを受け取り(9)、その作業要求
の要求識別子とステータスを含む最終“応答送
信”動詞を作成する(10)。次にサーバは、動詞が完
了し(11)、“応答注釈”がリクエスタ70に送られ
ている(12)との指示を受け取る。リクエスタ70
は、“応答注釈”を要求し必要に応じて要求識別
子1を指定するキーをもつ“待ち行列受信”動詞
を発する(13)。要求識別子(REQIG)1につい
て完了ステータスを示す“応答注釈”を受け取
る。 第4図に示した書き込み動作は、リクエスタ・
プロセス(ソース・プロセス)80とサーバ・プ
ロセス(目的プロセス=デイスク駆動装置制御プ
ログラム)82の間で読み取りとほぼ同様に行な
われる。リクエスタは、“要求送信”動詞(1)を作
成する。この動詞は、このときデータ・アウトを
指定する。すなわち、2つの4KB区域に書き込
む。リクエスタ80の局所IPCF83は、要求識
別子(REQID)1で動詞完了を指示する(2)。“要
求注釈”がサーバの待ち行列に載せられ(3)、“待
ち行列受信”動詞がサーバ82から発せられる
(4)。“要求注釈”がサーバ82で受信され(5)、“要
求受信”動詞がサーバ82の局所IPCF85に送
られる(6)。次に“要求受信”動詞で指示される作
業要求がIPCFと移送機構84から供給される(7)。
“データ受信”動詞が作業要求を実行するサーバ
82から出て(8)、IPCFに与えられ、次にIPCFが
データを受信させる(9)。各動詞は、一度に512バ
イトを必要とし、合計8キロバイトが書き込まれ
るので、一連の16個の“データ受信”動詞がサー
バ82から出る。 次に、最終“応答送信”動詞がサーバ82で作
成され(10)、“応答送信”動詞が完了したときの指
示がサーバ82に戻される(11)。次にIPCFから注
釈がリクエスタ80の入力待ち行列に送られる
(12)。リクエスタ80は、“待ち行列受信”動詞を
発し(13)、“応答注釈”を受け取る(14)。 c データ転送モードと共用記憶装置 IPCFは、各プロセスに送信され受信されるデ
ータまたは要求の処理と管理のためのいくつかの
オプシヨンを提供する。これらのデータ転送モー
ドは、移動(MOVE)、パス(PASS)、位置指定
(LOCATE)およびバツフア・ゲツト
(GETBUF)/バツフア・フリー(FREEBUF)
である。上記の各データ転送モードは、要求とデ
ータの両方に適用される。リクエスタ・プロセス
は、作業要求を送るときセンダと呼ばれ、データ
を受け取るときレシーバと呼ばれる。同様に、サ
ーバは、作業要求を受け取るときレシーバと呼ば
れ、データをリクエスタに戻すときセンダと呼ば
れる。 データ・アクセス制御機能は、各プロセツサの
IPCFで定義され、どの転送モードが選択された
かをプロセスが認識しなくてもよいようにする。
データを移動(MOVE)モードでセンダから送
るとき、レシーバは情報のコピーを受ける。通信
する各プロセスは必ず自分の情報コピーを待つて
おり、もう一方のプロセスがそのデータのコピー
をどう処理するかは知らない。 パス(PASS)モードでは、データ・アクセス
制御機能によつて、記憶装置に送られたデータの
中間コピーをその通信に関与する両方のIPCFが
利用できるようになり、したがつてセンダの記憶
装置が直ちに再使用のために利用できる。 位置指定(LOCATE)モードでは、通信する
プロセスが共用記憶装置にアクセスできるとき、
データ・アクセス制御機能はポインタをデータに
パスし、そのデータは移動しない。プロセスが共
用記憶装置にアクセスできないとき、データ・ア
クセス制御機能はデータのレシーバがアクセスで
きる記憶装置にデータのコピーを提供する。 バツフア・フリー(FREEBUF)モードでは、
データのセンダがバツフアを管理する責任をバツ
フア・ゲート(GETBUF)モードを指定したレ
シーバにパスすることができる。センダとレシー
バが共用記憶装置にアクセスできるとき、データ
移動は除去される。プロセスが共用記憶装置にア
クセスできないとき、データ・アクセス制御機能
は、バツフアのコピーをレシーバに与える。 通信する各プロセスは、もう一方のプロセスが
どんなモードを使おうと、その希望するデータ転
送モードを使用できる。データ・アクセス制御機
能は、通信するプロセスの特別なアクシヨンなし
に、余分のデータ移動やコピーが必要となつた場
合、それを処理する。 移動(MOVE)モードでデータを送るとき、
センダは、送られるデータを記述する“データ・
アウト記述子”DODを供給して、データ・アク
セス制御機能にデータがどこにあるかを教える。
この記述子は、それぞれが長さとアドレスの対を
含んでいる1つまたは複数の記述子エレメントか
らなる。レシーバが位置指定(LOCATE)モー
ドまたはバツフア・ゲツト(GETBUF)モード
を使う場合でも、レシーバはデータのコピーのみ
を利用できる。出力データを含む記憶装置は、送
信動作中ずつと使用できる状態でなければならな
い。 第1図でプロセスが選択したモードである移動
(MOVE)モードでデータを受け取るとき、レシ
ーバないしサーバ52は、受信されるデータを記
述する“データ・イン記述子”DIDを供給して、
IPCF57のデータ・アクセス制御機能に、デー
タのコピーをどこに記憶するかを教える。この記
述子は、それぞれが長さとアドレスの対を含んで
いる1つまたは複数の局所記述子エレメントから
なる。データまたは作業要求を受け取る記憶装置
60の各セグメント毎に1つずつ記述子エレメン
トが供給される。受け取つたデータは、レシーバ
が希望するようにセグメントに分割することがで
きる。データ・アクセス制御機能が連続データ・
ストリームを提供するので、レシーバはデータが
どうセグメントに分割されたかを知らない。 移動(MOVE)モードでは、出力データを含
むリクエスタの記憶装置58中で“データ・アウ
ト”と示されている記憶装置は、送信操作中ずつ
と使用できる状態でなければならない。送信する
プログラム、すなわちリクエスタ50がこの記憶
装置を直ちに再使用することを望み、サーバ(受
信プログラム)52がデータに対する作業を完了
するまで待たなくてよい場合がある。 第5図(参照番号は第2図と同じ)でリクエス
タ50が行なつたようにパス(PASS)モードを
指定すると、IPCF55のデータ・アクセス制御
機能に、送られるデータを即時コピーすべきこと
が指示される。作業要求が中間記憶装置62にコ
ピーされ、データ・アウトが中間記憶装置64に
コピーされる。データを受け取るとき、そのデー
タを移動(MOVE)モードで受け取る場合、あ
るいはサーバ52がリクエスタ50とは異なるプ
ロセツサ中にある場合、追加コピーを取らなけれ
ばならないことがある。出力データがコピーされ
ると、データ・アウト記述子で記述される記憶装
置58のすべてが再使用のために利用できる。こ
れは、受信するプログラムが実際にデータに対す
る作業を完了する前に行われる。 第6図に表すようにデータを位置指定
(LOCATE)モードで送る場合、移動(MOVE)
モードを使用する場合と同様である。センダであ
るプロセスP1が、DODを供給して、データ・
アドレス制御機能IPCFに、データが記憶装置す
なわち記憶プールメ中のデータ・バツフアAのど
こにあるかを教える。位置指定(LOCATE)モ
ードを指定するということは、センダP1が、送
られるべきデータのデータ・バツフアA中の位置
がレシーバP2に与えられるようにするというこ
とである。しかし、データをP2が位置指定
(LOCATE)モードで受け取らない場合、あるい
はP1からP3への通信の場合のように共用記憶
装置が存在しない場合でも、データ・アクセス制
御機能が、データのコピーを記憶プールYのデー
タ・バツフアBに入力することが必要である。送
信動作で位置指定(LOCATE)モードを使うに
は、出力データを含む記憶装置が、関連する送信
動作中ずつと使用できる状態であることが必要で
ある。 位置指定(LOCATE)モードでのデータの受
信は、移動(MOVE)モードの場合と少し違つ
ている。位置指定(LOCATE)モードでデータ
を受け取るとき、レシーバがどこにデータを配置
するかを指示するのではなくて、データ・アクセ
ス制御機能がレシーバに、データがどこにあるか
を教える。レシーバは記述子(DID)のブラン
ク・データに受信動作を供給する。この記述子の
エレメントは、データ・アクセス制御機能によつ
て充填される。各記述子エレメントは、データの
ある部分の長さとアドレスを含んでいる。レシー
バから見たデータのセグメンテーシヨンは、セン
ダから見たものと同じでないことがある。センダ
とレシーバが記憶装置を共用している場合、大抵
はデータ・アクセス制御機能がデータのセグメン
テーシヨンを変更する必要がない。しかし、デー
タを移動しなければならない場合、データはデー
タ・アクセス制御機能が必要とするようにセグメ
ントに分割される。 データが移動(MOVE)モードまたはパス
(PASS)モードで送られた場合、あるいはセン
ダまたはレシーバが共用記憶装置をアクセスでき
ない場合には、データを位置指定(LOCATE)
モードで受けとるときに、データのコピーを取ら
なければならない。データ・アクセス制御機能
は、コピーのための記憶域を得る。この記憶域
は、第6図のプロセスP3用のデータ・バツフア
Bなど、レシーバがアクセスできる記憶域であ
る。データ・アクセス制御機能は、要求完了時に
それが得た記憶域を解放する。 バツフア・フリー(FREEBUF)/バツフ
ア・ゲツト(GETBUF)モードを使うと、送信
するプロセスおよび受信するプロセスが、データ
を含むバツフアを管理する青任を、送信するプロ
セスから受信するプロセスにパスさせることがで
きる。バツフア・フリー(FREEBUF)モード
は、送信されるデータに適用され、バツフア・ゲ
ート(GETBUF)モードは受信されるデータに
適用される。 移動(MOVE)、パス(PASS)、位置指定
(LOCATE)の各モードでは、センダが送信され
るデータを含む記憶装置に対する責任をもつ。中
間コピーを取ることができ、またレシーバが記憶
装置を直接アクセスできるようにすることもでき
るが、データの元のコピーを含む記憶装置は、依
然としてセンダに属し、センダの責任下にある。
バツフア・フリー(FREEBUF)モードを使う
とき、センダは、送られたデータを含む記憶送置
に対する責任を放棄する。データが一度バツフ
ア・フリー(FREEBUF)モードで送られると、
センダは、それを含む記憶装置のことを忘れるこ
とができる。データ・アクセス制御機能は、この
記憶装置が後で解放されるか、またはそれがレシ
ーバにパスされるようにする。センダは、バツフ
ア・フリー(FREEBUF)モードで送られたデ
ータを参照してはならない。 バツフアは、他のデータ転送モードの場合と同
様に、第7図のようなデータ記述子を使つて、デ
ータ・アクセス制御機能に対して説明される。各
バツフアの記述子エレメントは、センダがその制
御権を転送するバツフアの長さとアドレスを含ん
でいる。しかし、送信または受信される実デー
タ・ストリームにバツフア全体を含める必要はな
い。センダは、出力バイト・ストリームに含まれ
るべきバツフア中のデータ・セグメントを示すた
め、バツフア・オフセツトとデータ長さをバツフ
アに供給することができる。データを受け取る
と、この部分だけがレシーバが使用できるように
なる。レシーバがバツフア・ゲツト
(GETBUF)モードを使い、バツフアにアクセ
スできる場合、バツフア全体は、テータ・アクセ
ス制御機能によつて解放されるか、またはレシー
バにパスされる。 記憶装置を共用する能力は記憶プールの項で定
義される。記憶プールとは、記憶装置のそのよう
に命名された区域である。データを位置指定
(LOCATE)モードまたはバツフア・ゲツト
(GETBUF)/バツフア・フリー(FREEBUF)
モードで転送する前に、通信を行うプロセスは、
それぞれが“記憶プール指定”動詞を用いて使用
している記憶プールの名前をIPCFに供給する。
通信を行うプロセスが互いに局所的であり、どち
らも同じ記憶プールを使つている場合、それらの
間で転送するとき、データを移動する必要はな
い。そうでなければ、IBCFは、共用記憶装置が
利用できないと仮定して、送られたデータをコピ
ーする。どちらかのプロセスが移動(MOVE)
モードまたはパス(PASS)モードを使う場合、
必ずデータがコピーされる。 各ユーザは、その各接続用に使用したい記憶プ
ールの名前を供給する。同じ記憶プールを1つま
たは複数の接続と一緒に使うことができる。ある
接続の両方のユーザが同じ名前を供給しない場
合、IPCFはそれらの間で送られたデータをコピ
ーする。記憶プール名は、“記憶プール指定”動
詞を使つて、IPCFに与えられる。省略時
(default)記憶プールが必ず使用できなければな
らない。記憶プールに明示的な名前がついていな
い場合、位置指定(LOCATE)モードおよびバ
ツフア・ゲツト(GETBUF)/バツフア・フリ
ー(FREEBUF)モードの操作に省略時記憶プ
ールを使用する。 送られたデータは、移動(MOVE)、位置指定
(LOCATE)、バツフア・ゲツト(GETBUF)の
何れかのモードで受信できる。第1表は各受信モ
ードの場合に記憶装置をどう処理するかを示した
ものである。第1表中の番号は、データ・アクセ
ス制御機能(DACF)が行う下記のステツプを示
す。 1 レシーバが受信されるデータを記憶する記憶
域を提供する。DACFが、レシーバ記憶装置へ
のデータ移動を実行する。 2 DACFが、データのコピー用の記憶域を得
る。 3 DACFが、レシーバに、(センダの記憶装置
またはDACFが得た記憶装域中で)データのコ
ピーを示すポインタを与える。 4 センダは、送信動作完了まで、元の記憶装置
にタツチしない。 5 センダは、DACFによる移動(MOVE)動
作が完了すると直ちに元の記憶装置を再使用で
きる。 6 DACFが、要求完了時にセンダ記憶装置を解
放する。 7 データを含むバツフア(元のセンダのバツフ
アまたはDACFが得たバツフア)の制御権がレ
シーバに与えられる。DACFは、受信されなか
つたバツフアを解放する。 8 DACFが、受信動作完了時に、それが得た
(データのコピーを含んでいた)記憶域を解放
する。
【表】
IPCFは、記憶装置またはバツフアの管理サー
ビスを行わない方が好ましい。IPCFの各実施形
は、各プロセスが常駐するプロセツサの局所オペ
レーテイング・システムによつて提供される記憶
管理を利用する。IPCFは、これらの機構を使つ
て、位置指定(LOCATE)モードおよびバツフ
ア・ゲツト(GETBUF)/バツフア・フリー
(FREEBUF)モードで使う際に必要に応じて記
憶装置を割り振し、解放する。これらのモード用
の記憶域は、各プロセツサの適切な記憶プールに
属する。 d データの参照 要求の実行中に、サーバ・プロセスは、作業要
求を他のプロセスに送ることができる。中間プロ
セスが、二次サーバにパスするだけのつもりで、
データを受け取る必要はない。IPCFは、所与の
要求と関連するバイト・ストリームと呼ばれるデ
ータが、他の要求のバイト・ストリームからのデ
ータを含むことができる手段を提供する。この能
力は、“データの参照”と呼ばれ、“要求送信”動
詞中に与えられている。 参照されたデータは、そのデータを参照するプ
ロセスに送られた未処理の要求と関連しており、
“データ受信”動詞を使う場合のように、“要求送
信”動詞上でそのデータを参照するプロセスがそ
れを受け取らない。 データ参照の一例を第8図に示す。ここでは、
3つのプロセスP1,P2,P3が通信してい
る。P1は、“要求送信”動詞(1)を開始し、IPCF
接続90を経てそれをP2に送る。“要求送信”
動詞は、そこからデータが出る記憶位置とぞこに
データが読み取られる記憶位置を指定する。これ
らの記憶位置は、この動詞に付随するデータ・イ
ン(DID)記述子とデータ・アウト(DOD)記
述子を使つて示される。 P2は、P2とP3の間のIPCF接続92の上
に“要求送信”動詞(2)を出す。P2は、この例で
はP1で指定されたデータに作用せず、それをP
2からP3への“要求送信”動詞(2)上で参照す
る。P2は参照されたデータに作用しないので、
P1記憶装置とP2記憶装置の間でデータ移動が
起らず、したがつてP2がアクセスできる記憶装
置中のデータ・バツフアは不要である。 次に移送機構(第2図の38と40)が、P2
からの記憶装置に関与せずに、P1の記憶装置と
P3の記憶装置との間でデータを移動させる。次
にP3は完了ステータスを含む応答(4)をP2に送
り戻し、P2は完了ステータスを含む応答(5)をP
1に送り戻す。この時点でP1の要求が完了す
る。 データ参照の一つの特徴は、データが記憶装置
の一つの連続区域にある必要はないことである。
事実、全体が一つのプロセツサの記憶装置中にな
くてよい。データ参照のこの特徴は、分散論理バ
イト・ストリームと呼ばれる。分散論理バイト・
ストリームは、物理的には物理移機構で接続され
た1つまたは複数のプロセツサ中に常駐する、論
理的に1つのデータ・バイト・ストリームであ
り、それが関連する作業要求の物理経路に従う必
要はない。 分散論理バイト・ストリームを使うと、ある作
業要求を処理するサーバは、そのストリームを構
成する各ピースの物理位置を気にしないでよくな
る。また、作業要求があるプロセツサ中のソース
から出、それに関連するデータ(分散論理バイ
ト・ストリーム)が別のプロセツサ中の別のソー
スから出たものであつてもそのことを知る必要は
ない。分散論理バイト・ストリームは、まずそれ
を受信せずに、サーバの階層間をパスされること
ができる。ある分散論理バイト・ストリームに関
係する作業要求が、移送機構で接続された別のプ
ロセツサ中に常駐するサーバを通過し、そこで実
行される。分散論理バイト・ストリームを構成す
るデータは、作業要求と一緒に物理的に移動する
必要はない。論理バイト・ストリームを受け取る
ときだけ、ぞれを受け取るプロセツサの記憶装置
に直接移される。 他のプロセツサの記憶装置に常駐するバイト・
ストリームの他の部分を物理的に移動せずに、新
しい分散論理バイト・ストリームを構成できる。
(第10図)。たとえば、元のバイト・ストリーム
に見出しおよび後書き情報を加えて、新しい論理
バイト・ストリームをを形成できる。見出しと後
書は、あるプロセツサの記憶装置に入つており、
元のバイト・ストリームは別のプロセツサの記憶
装置に入つている。 分散論理バイト・ストリームは、いくつかの新
しい論理バイト・ストリームに分割して、セグメ
ント化することができる(第11図)。新しい各
バイト・ストリームは、別々の作業要求と関連し
ている。 分散論理バイト・ストリームを記述するデータ
構造は、第1図に関する説明で先に触れたよう
に、作業要求中に記述子エレメントを含んでい
る。局所記述子エレメントは、分散論理バイト・
ストリームの1ピースを記述するアドレスと長さ
の対を含んでいる。局所記述子エレメントは、要
求イニシエータの記憶装置に常駐するバイト・ス
トリームの一部分を含む記憶装置の連続する各ピ
ース毎に使用される。第9図には、2つの局所記
述子エレメント(LDE)が102と104に示
されている。 各記述子は、長さ(DLEN1,DLEN2)とア
ドレス(DADDR1,DADDR2)を含むことに
よつてデータの1セグメントを表す。データ・セ
グメントは、106と109で、作業要求中の記
述子エレメントの順序に応じて組み合され、論理
バイト・ストリーム108を形成する。 参照記述子エレメントは、分散論理バイト・ス
トリームの参照される部分を示す論理ポインタを
提供することにより、参照される論理バイト・ス
トリームを識別する要求識別子を含んでいる。こ
れは、参照される論理バイト・ストリームを記述
する、バツフア中の1組の記述子エレメントを指
示する。参照記述子エレメントは、また参照され
た論理バイト・ストリーム中の所要のデータの長
さ、および参照された論理バイト・ストリーム中
の所要のデータの起点からのオフセツトを含んで
いる。参照記述子エレメント中の要求識別子は、
参照される論理バイト・ストリーム全体を記述す
るIPCFで維持されている1組の参照された記述
子エレメントに対するアクセスをもたらす。 局所記述子エレメントおよび参照記述子エレメ
ントの配列リストは、分散論理バイト・ストリー
ム全体を記述し、分散論理データ・ストリームを
構成する各ピースの順序を定義する。 第10図は、論理バイト・ストリームが複数の
プロセツサ中に常駐するときの可能な1つのデー
タ流れを示したものである。第1のプロセツサ1
10は、リクエスタ112を含んでおり、それが
第2のプロセツサ116中のサーバ・プロセス1
14に作業要求を送る。作業要求は、要求識別子
“m”で識別される。118に示した論理バイ
ト・ストリームの形のデータが、この作業要求
に、関連している。 分散論理バイト・ストリーム118を記述する
局所記述子エレメントからなるDODが、作業要
求に付随する。この記述は、プロセツサ110中
の論理バイト・ストリームを構成するデータの長
さを記述する1組のアドレスと長さの対を含んで
いる。移送機構によつてプロセツサ110からプ
ロセツサ116に送られるデータ構成は、要求識
別子(REQID)“m”、接続識別子、並びにデー
タ118を含むプロセツサのアドレス110及び
プロセツサ110中のデータ118の記憶アドレ
スと長さとを示す記述子エレメントを含んでい
る。サーバ114は、作業要求が要求識別子
(REQID)“n”をもつことによつて、第3のプ
ロセツサ122中のサーバ120に作業要求を送
る。124と126に示す見出しおよび後書きデ
ータが、この作業要求に関連している。この見出
しおよび後書きデータは、118のバイト・スト
リームの記述と一緒に、作業要求“n”中に記述
されている。作業要求“n”と関連する組合され
た論理バイト・ストリーム参照の記述は、プロセ
ツサ116のアドレスおよびプロセツサ116中
の見出しの記憶アドレスと長さ、プロセツサ11
0中のデータ118の記憶アドレスと長さ、プロ
セツサ116のアドレス、ならびにプロセツサ1
16中の後書き126の記憶アドレスと長さを含
んでいる。 サーバ120は、作業要求“n”の処理の一環
として、論理バイト・ストリームに対する受信を
出す。その結果、論理バイト・ストリームは、プ
ロセツサ110とプロセツサ116の記憶装置か
ら移送機構128を経てプロセツサ122の直接
移動する。プロセス120は、データが記述子エ
レメント中であるとして、どこでデータをほしい
かを指定する。プロセス120は、論理バイト・
ストリームのコピーを知つているだけで、元のデ
ータが複数のプロセツサに入つていることは知ら
ない。 データ・アクセス制御機能は、また分散論理バ
イト・ストリームをいくつかの新しい論理バイ
ト・ストリームに分割するセグメンテーシヨンを
もたらす。新しい各バイト・ストリームを、別々
の作業要求と関連させることもできる。 第11図には、分散論理バイト・ストリーム1
50のセグメンテーシヨンが示してある。バイ
ト・ストリーム150は、リクエスタ152から
サーバ154への作業要求中で参照されている。
サーバ154は、バイト・ストリーム150のセ
グメントSEG1,SEG2,SEG3を参照する3
つの作業要求を作成する。これらの作業要求をサ
ーバ156が受取るか、または次にデータを受け
取るかまたは別の要求を作成する他のサーバが受
け取る。 e 動詞セツトの詳細 (i) オープン “オープン”動詞は、2つのプロセス間の
IPCF接続を確立する。“オープン”動詞が発せら
れると、IPCFが“オープン”動詞を出したプロ
セスと目的プロセスの間の論理接続を作る。 “オープン”動詞の目的は、エンテイテイ名で
識別される。“オープン”動詞は、“オープン”動
詞上に供給されるエンテイテイ名にもとづいてプ
ログラムの新しいインスタンス(instance)また
は既に実行中のインスタンスへの接続を確立す
る。 “オープン”動詞は、IPCFおよび関連するオ
ペレーテイング・システムが、プログラムおよび
そこへの接続を作るべきそのプログラムのインス
タンスの実行(すなわちプロセス)を決定するた
めに使用するエンテイテイ名を含んでいる。
IPCFから戻される接続識別子が接続を識別する。
これは、以後の動作でこの接続を参停照するため
に使う。特定の接続識別子は、単一プロセツサ内
でしか知られてない。接続された2つのプロセス
は、一般に同じ接点に対して異なる識別子をも
つ。接続識別子は、局所IPCFが割り当て、ある
プロセツサ内で一義的である。 戻りゴートは、IPCFが“オープン”動詞の完
了をプロセスに示すために使う。 (ii) クローズ “クローズ”動詞は、2つのプロセス間の論理
接続を遮断するために使う。“クローズ”動詞は、
どちらか一方のプロセスまたは両方のプロセスか
ら発することができる。一度“クローズ”動詞を
発すると、発したプロセスは、その接点上で新し
い作業要求を開始することを禁止される。未処理
のすべての要求が完了または終了するまで、接続
は開のままとなる。一方のプロセスが“クロー
ズ”動詞の肯定通知を受け入れるまで、“クロー
ズ”は完了できない。 “クローズ”動詞には、制御クローズと即時ク
ローズの2種がある。制御クローズは正常な遮断
用である。これを使うと、プロセスが、既に受け
取つた要求、またはクローズが出たときそのプロ
セスの入力待ち行列上にあつた要求を完了でき
る。即時クローズはエラーおよび異常遮断用であ
る。 “クローズ”動詞は、遮断すべき接続を識別す
る接続識別子を含んでいる。“プロセス”動詞の
種類、つまり制御クローズか即時クローズかも指
定され、戻りコードが供給される。 (iii) 記憶プール指定 “記憶プール指定”動詞を使うと、プロセスが
他のIPCFユーザと潜在的に共用可能な記憶プー
ルをIPCFに指示することができる。プロセスの
もつ接続1つにつき1つの記憶プールしか指定で
きない。この動詞は、プロセスが未処理の要求を
もたない場合に発する。 “記憶プール指定”動詞は、接続識別子、ユー
ザ提供の記憶管理ルーチンの入力点アドレス、位
置指定(LOCATE)モードおよびバツフア・ゲ
ツト(GETBUF)/バツフア・フリー
(FREEBUF)モードで使用する記憶プールの名
前、および戻りコードを含んでいる。 ユーザ提供の記憶管理ルーチンの入力点アドレ
スは、IPCFが、指定した記憶プール中で記憶域
を割り当て、解放するために使つている。入力点
が指定されていない場合は、システム提供の記憶
マネージヤを使う。 (iv) 要求送信 “要求送信”動詞は、要求をサーバに送る。目
的プロセス(サーバ)は、適切な識別子を供給す
ると指定される。目的への接続が確立されると、
接続識別子はソース・プロセスに戻される。サー
バに対する作業要求は、要求記述子パラメータで
指定される。この要求は、サーバ用のコマンドお
よび関係するパラメータを含んでいる。 “要求送信”動詞に含まれるパラメータのシン
タツクス・ダイアグラムを第12図に示す。この
ダイアグラムは、“SEND REQ”バラメータで
始まる。このパラメータは、これが要求送信動詞
であることをIPCFに示す。図で実線が分岐して
いる所は、どの線を選んでもよく、指示された適
切なパラメータが動詞中に供給されることを示
す。下記にパラメータのリストを図中で使う略語
と共に示す。 Cid 接続識別子 Rid 要求識別子。すべてのRidは単一のプロ
セツサ内でだけ一義的である。接続された2つ
のプロセスは、一般に同じ要求に対して異なる
Ridをもつ。これらの各プロセスは、その局所
IPCFで与えられたRidのみを知つている。Rid
は、特定の要求を参照すると局所IPCFに理解
される標識(token)である。 Reqpty 要求
優先順位。要求の優先順位は、サーバの入力待
ち行列上での関連する要求注釈の位置を決定す
る。 REQD その要求に使用するデータ転送モード
を指定し、リクエスタの記憶装置中で要求がど
う配置されているかを記述する要求記述子であ
る。要求は、記憶装置中で連続している必要は
ないので、この記述子は要求の各部分毎に1組
ずつ、数組の記述子エレメントを含んでいる。 DOD データ・アウト記述子である。この作
業要求の一環としてデータを送る場合、デー
タ・アウト記述子が供給される。DODは、出
力データに使用するデータ転送モードを指定す
る。また出力される論理バイト・ストリームが
どう構成されるかも記述する。 DID データ・イン記述子である。この要求の
一環としてデータを戻す場合、データ・イン記
述子が供給される。戻されたデータは、リクエ
スタの記憶装置に入れることができ、また参照
記述子エレメントを使つて直接別のプロセスに
パスできる。局所記述子エレメントは、データ
をリクエスタが定めた記憶装置に戻すことを示
す。戻されるデータに対してバツフア・ゲツト
(GETBUF)を指定した場合、応答注釈中で
戻される記述子エレメントが、戻されるデータ
を記述する。このリストには戻されるデータを
記述する。このリストには戻されるデータを含
む記憶装置の各区域毎に1つの記述子エレメン
トがある。 MOVE 送られるまたは戻されるデータが、
移動(MOVE)モードで転送されることを示
す。 PASS 送られるデータが、パス(PASS)モ
ードで転送されることを示す。 LOCATE 送られるデータが、位置指定
(LOCATE)モードで転送されることを示す。 FREEBUF 送られるデータが、バツフア・
フリー(FREEBUF)モードで転送されるこ
とを示す。リクエスタは、バツフア・フリー
(FREEBUF)モードで送られたデータまたは
要求を含む記憶装置に対する責任を放棄する。 GETBUF 戻されたデータがバツフア・ゲツ
ト(GETBUF)モードで転送されることを示
す。リクエスタは、バツフア・ゲツト
(GETBUF)モードで戻されたデータを含む
記憶装置を管理する責任を引き受ける。 Maxin この要求に対してサーバから戻せる
データの最大量をバイト単位で指定したもので
ある。サーバはこの量より少ないデータを戻し
てもよいが、これより多く戻そうと試みるとエ
ラーになる。戻される実際のデータの量は、戻
されるデータに対するバツフアの記述子エレメ
ントを検査して決定できる。 Locde 局所記述子エレメントである。これは
論理バイト・ストリームの1セグメントを記述
する。REQDまたはDODを一緒に使うと、こ
の記述子は、要求全体またはデータ・アウトの
一部分を含む記憶装置のうちリクエスタがアド
レスできる区域の長さとアドレスを指定する。
DIDと一緒に使うと、この記述子は、全体デー
タ・イン・ストリームの一部分が入力されるべ
き記憶装置のうちリクエスタがアドレスできる
区域の長さとアドレスを指定する。 Bufde 単一バツフアを記述するバツフア記述
子エレメントである。バツフアはその責任を
(GETBUFで)得ることができ、または
(FREEBUFで)放棄できる記憶装置の単位で
ある。バツフア内にあるバイト・ストリームの
一部分であるデータは連続していなければなら
ないが、バツフア全体よりも短かくてもよい。
バツフアは、そのバツフア中のデータが送信ま
たは受信される接続と関連する記憶プールから
割り振らなければならない。バツフア記述子
は、バツフア・アドレス長さ、バツフア内の実
データの起点までのオフセツトおよびデータの
長さを含んでいる。 Refde 別の要求と関連する論理バイト・スト
リーム内でデータを参照する参照記述子エレメ
ントである。DOD中で使う場合、参照される
データは、SEND REQの目的であるサーバ・
プロセスへの入力データ・ストリームである。
DID中で使う場合、参照されるデータ域は、
SEND REQの目的であるサーバ・プロセスに
関する出力データ・ストリームである。この参
照記述子エレメントは、参照要求識別子、すな
わち参照されるデータと関連する要求に対する
RIDを含んでいる。また参照RIDと関連するバ
イト・ストリーム内に、形成される新しい論理
バイト・ストリーム内に含まれる参照バイト・
ストリームの一部分の起点を識別するオフセツ
トを含んでいる。これは参照されるバイト・ス
トリームの開始に関するものである。参照バイ
ト・ストリームの第1バイトはオフセツトがゼ
ロである。最後に、参照記述子エレメントは、
データ長さを含んでいる。これは定義されるデ
ータ・ストリーム・セグメントに含まれる参照
データ・ストリームからのバイト数である。 DEFRSP サーバがステータスおよび必要に
応じてSEND RSP上の拡張ステータスを戻さ
なければならないことを示す。ステータスは、
リクエスタの入力待ち行列上の応答注釈中に配
置される。 EXCRSP サーバが、リクエスタに例外ステ
ータスだけを戻すことを意味する。サーバは、
サーバの入力待ち行列上の要求注釈中で確定応
答または例外応答の指示を与えられる。サーバ
が最後のSENDRSP上でステータスを指定しな
い場合、リクエスタの入力待ち行列上の応答注
釈が載せられない。サーバがSEND RSP上で
ステータスを指定する場合、ステータスを含む
応答注釈が、リクエスタの入力待ち行列に載せ
られる。 Rc IPCFが戻す戻りコード (v) 応答送信 “応答送信”動詞は、サーバがステータスとデ
ータをリクエスタに戻すのに使う。サーバは一度
に複数の要求を処理できるので、要求識別子はこ
の動詞を使つて指定される。この識別子は、送ら
れる情報がどの要求と関連しているかを示す。あ
る要求に対する要求識別子は、サーバが各要求毎
に受け取る要求注釈に含まれる。 サーバは、使用可能になつたデータの部分を送
ることができる。サーバの見解は、今あるバイ
ト・ストリングをリクエスタに送信中であるとい
うことである。各SEND RSPは、ストリングの
次の部分を提供する。サーバは、データがリクエ
スタの記憶装置のどこに入つているか、またリク
エスタがそのデータ・バツフアをどのようにセグ
メント化したかを知らない。 “応答送信”パラメータの記述は、第13図の
シンタツクス流れ図に示してある。上記の“要求
送信”動詞の所で説明しなかつた3つのパラメー
タは、次の通りである。 Offset これは、送られたデータを配置するた
めに、出力データ・ストリーム中にオフセツト
を定義する。これが指定されていない場合、
(同じRidについて)SNDRSPを連続して実行
すると、データの連続する部分が戻される。 FINAL これが指定された要求識別子に対す
る最後の応答であること並びにその要求の処理
がすべて完了したことを示す。 Status これは、要求全体の最終完了ステータ
スを示す。 Xstatus これは、サーバからリクエスタへの
応答上に拡張ステータスを提供し、オプシヨン
である。 (vi) 待ち行列受信 “待ち行列受信”動詞は、プロセスの入力待ち
行列上にある注釈を得るために発せされる。注釈
には、次の6種のものがある。 1.要求(REQ) 2.応答(RSP) 3.信号(SIG) 4.オープン(OPEN) 5.クロース(GLOSE) 6.要求終了(TRMREQ) 通常は“待ち行列受信”動詞が実行されると、
待ち行列上で第1の注釈がプロセスに与えられ
る。受信するプロセスは、その“待ち行列受信”
動詞でどの注釈を受け入れるかを限定するキー
を、“待ち行列受信”動詞に供給することができ
る。“待ち行列受信”パラメータの説明は、第1
4図のシンタツクス流れ図に示されている。
RCVQは、入力待ち行列からの受信が“受信”
動詞を構成することを示す。今までに説明しなか
つた他のパラメータについて次に説明する。 Key これは、この“待ち行列受信”動詞で受
け入れられる注釈を制限するために使われるキ
ーを記述する。このキーは、“受信”動詞に対
する6種の注釈のうちのどれが入力待ち行列を
形成するのかを指定できる。キーに受け入れら
れるものとして応答が示されると、要求識別子
または接続識別子も指定できる。要求受信が示
されると、キーは、待ち行列から受信するため
の優先順位レベルを指定できる。要求注釈指示
と信号指示の両方に接続識別子を指定できる。
こうして、特定の応答注釈が受け入れできる。 Timrval これは、RCVQの発信側が応答を待
つタイマー値(単位ミリ秒)である。 Noteloc これは、応答注釈を戻すべきリクエ
スタ記憶装置のアドレスである。 Notelen これは、応答注釈を戻すべきリクエ
スタ記憶装置のバツフア域のサイズを定義す
る。バツフア域は、戻され得るどんな注釈をも
含むことができるように充分なスペースをもた
なければならない。 WATT これは、“待ち行列受信”動詞が満た
されない場合、プロセスが中断されることを示
す。 NOWAIT これは、“待ち行列受信”動詞が
満たされない場合、プロセスが中断されないこ
とを示す。 “要求注釈”は、あるプロセスが別のプロセス
の“要求送信”動詞の目的であるとき、そのプロ
セスの入力待ち行列に載せられる。次に、“待ち
行列受信”動詞が実行され、受信するプロセスに
この“要求注釈”が与えられる。“要求注釈”は、
下記の情報を含む。 リクエスタへの接続のための接続識別子 この要求のための要求識別子 要求長さ 要求セグメント数 データ・イン長さ データ・イン・セグメント数 要求の優先順位 リクエスタが確定応答を指定したのか、それと
も例外応答を指定したのかを示す識別子 プロセスの入力待ち行列に載せられる“要求注
釈”は、下記の情報を含む。 サーバへの接続のための接続識別子 完了した要求のたの要求識別子 完了ステータス リクエスタにパスされた“データ・イン・バツ
フア”を記述する“バツフア記述子エレメント”
“信号注釈”は、あるプロセスが別のプロセスの
“信号”動詞の目的であるとき、そのプロセスの
入力待ち行列に載せられる。“信号注釈”は、2
つのプロセス間で少量のデータを送るとき使われ
る。“信号注釈”は、下記の情報を含む。 “信号”動詞を受け取るために通つた接続の接
続識別子 信号の種類(“信号”動詞についての説明を参
照のこと) データ “オープン注釈”は、あるプロセスへの接続が
別のプロセスの要求時に確定されているとき、そ
のプロセスの入力待ち行列に載せられる。“オー
プン注釈”は、下記の情報を含む。 接継識別子 IPCFFステータスを含むステー
タス・フイールド “クローズ注釈”は、あるプロセスへの接続が
別のプロセスによつて遮断されているとき、その
プロセスの入力待ち行列に載せられる。“クロー
ズ注釈”は、下記の情報を含む。 接続識別子 “クローズ”動詞の種類(未処理の“クロー
ズ”が即時クローズだつたかそれとも制御クロー
ズだつたか、および“クローズ”が完了している
かどうか) ステータス・フイールド “要求終了”注釈は、リクエスタが未処理の要
求を終了させる場合、サーバ・プロセスの入力待
ち行列に載せられる。“要求終了注釈”は、下記
の情報を含む。 その要求が終了される接続を識別する接続識別
子 終了された要求を識別する要求識別子 ある接続上で一つの要求が終了されるのか、そ
れともすべての要求が終了されるのかを示す標識 ステータス・フイールド (vii) 要求受信 “要求受信”動詞は、“要求送信”動詞を使つ
て送られた作業要求を受け取るのに使われる。こ
の要求は、“要求送信”動詞の“要求記述子”に
よつて識別される。レシーバは、“要求識別子”
と“要求記述子”を供給しなければならない。 “要求識別子”は、どの作業要求を受け取るの
かを示す。“要求記述子”は、受信されたデータ
を入れるサーバ記憶装置のバツフア・セグメント
を説明する。 第15図のシンタツクス・ダイアグラムは、
“要求受信”動詞の諸パラメータを示すものであ
る。使用されるパラメータは、すべて以前に説明
したものである。“要求受信”動詞は、移動
(MOVE)、位置指定(LOCATE)、バツフア・
ゲツト(GETBUF)の各モードで動作する。移
動モードでは、レシーバが局所記憶アドレスを指
定する。受信された作業要求がそこに与えられ
る。位置指定モードおよびバツフア・ゲツトモー
ドでは、IPCFが局所記憶装置中の作業要求のア
ドレスをレシーバに戻す。どちらの場合にも、作
業要求の実際の長さは、“要求記述子”中に記述
される。 位置指定モードおよびバツフア・ゲツトモード
を使いやすくするため、サーバが受け取る“要求
注釈”は、作業要求が分割されれて記憶される記
憶ピースの全長と数を含んでいる。これにより、
必要な場合、要求ストリーム全体を単一の“要求
受信”動詞で受け取ることができるように“要求
記述子”を構成できる。 移動モードでは、“要求記述子”は、戻された
作業要求をどこに配置するかを示す。要求は、必
ずしも連続する記憶装置に記憶される必要はな
く、レシーバが希望する部分に分割できる。要求
の各部分毎に1つの局部記述子エレメントが供給
される。 位置指定モードを使うと、レシーバがその作業
要求を含む記憶装置へのアクセスを望んでいるこ
とを示す。自分のコピーは望んでいない。位置指
定モードで受信するには、受け取るべき最大デー
タ長さと未使用の局所記述子エレメントの数を与
える。未使用の記述子エレメントは、タイプ・フ
イールドのみが充たされており、アドレス・フイ
ールドと長さフイールドは決められていない。作
業要求を受け取ると、これらの記述子エレメント
がIPCFによつて充たされる。戻される各情報エ
レメント毎に1つの記述子が使用される。 バツフア・ゲツトモードを使うと、レシーバが
その作業要求を含む記憶装置に対する責任を望ん
でいることを示す。バツフア・ゲツトモードで受
信するには、受け取るべき最大データ長さと未使
用のバツフア記述子エレメントの数を与える。未
使用の記述子エレメントは、タイプ・フイールド
のみが充たされており、残りの情報は、作業要求
を受け取つたとき、IPCFによつて充たされる。
戻される各状報セグメント毎に1つの記述子が使
用される。 パラメータ・オフセツトがどう働くかを理解す
るため、IPCFが論理バイト・ストリーム中にポ
インタを維持すると考えることができる。このポ
インタは、バイト・ストリームから受け取るべき
次のバイトの位置を識別する。“要求受信”動詞
が実行されるとき、戻されるデータは、この位置
から始まる要求バイト・ストリームからの各バイ
トを受け取る毎に、ポインタが1つずつ増分され
る。オフセツトが指定されている場合、データを
受け取る前に、このポインタがオフセツト値にセ
ツトされる。ポインタは通常のように増分され、
したがつて“オフセツト”を指定しない次の“要
求受信”動詞に対するデータは、最後に受け取つ
たバイトの次のバイトから始まる要求バイト・ス
トリームからのものとなる。 (viii) データ受信 “データ受信”動詞は、“要求送信”動詞を使
つて送られたデータを受け取るのに使用される。
このデータは、“要求送信”動詞の“データ・ア
ウト記述子”によつて識別された。レシーバは、
要求識別子とデータ・イン記述子を供給しなけれ
ばならない。要求識別子は、どの要求のデータを
受け取るかを示す。データ・イン記述子は、デー
タがどのように受け取られるかを記述する。 “データ受信”動詞を構成するパラメータのシ
ンタツクス・ダイアグラムを第16図に示す。こ
の各パラメータは、以前に説明したものである。 (ix) 信号 “信号”動詞は、プロセスが少量のデータを別
のプロセスに送ることができるようにする。これ
は、“信号注釈”を目的プロセスの入力待ち行列
に載せる。応答は期待されないので、信号操作に
はRidは割り当てられない。 “信号”動詞の用法の例としては、長時間にわ
たる要求に対する中間ステータスを戻すことがあ
げられる。 “信号”動詞は、Cid、信号の種類、データ
(オプシヨン)、戻りコードの4つのパラメータか
ら構成される。 (x) 要求終了 “要求終了”動詞は、1つまたは複数の要求の
処理を停止すべきことを指示するのに使われる。
単一の要求を終了するには、“要求識別子”を供
給する。 上記実施例によれば、単一プロセツサ環境に限
らず、複数のプロセスを実行する複数のプロセツ
サ環境であつても、プロセスに対する記憶要件の
減少させることができるとともに待ち行列を管理
しやすくプロセスは、どの転送モードが使用され
ているかを知る必要がないので、できる。また、
プロセスの可動性が高まるため、資源割り当てを
ずつと効率的に行うことが可能になる。 F 発明の効果 本発明によれば、再設計の必要なく、プロセス
を1つのプロセツサ中の異なつた位置へ、又はあ
るプロセツサから他のプロセツサへ容易に動かす
ことができる。
ビスを行わない方が好ましい。IPCFの各実施形
は、各プロセスが常駐するプロセツサの局所オペ
レーテイング・システムによつて提供される記憶
管理を利用する。IPCFは、これらの機構を使つ
て、位置指定(LOCATE)モードおよびバツフ
ア・ゲツト(GETBUF)/バツフア・フリー
(FREEBUF)モードで使う際に必要に応じて記
憶装置を割り振し、解放する。これらのモード用
の記憶域は、各プロセツサの適切な記憶プールに
属する。 d データの参照 要求の実行中に、サーバ・プロセスは、作業要
求を他のプロセスに送ることができる。中間プロ
セスが、二次サーバにパスするだけのつもりで、
データを受け取る必要はない。IPCFは、所与の
要求と関連するバイト・ストリームと呼ばれるデ
ータが、他の要求のバイト・ストリームからのデ
ータを含むことができる手段を提供する。この能
力は、“データの参照”と呼ばれ、“要求送信”動
詞中に与えられている。 参照されたデータは、そのデータを参照するプ
ロセスに送られた未処理の要求と関連しており、
“データ受信”動詞を使う場合のように、“要求送
信”動詞上でそのデータを参照するプロセスがそ
れを受け取らない。 データ参照の一例を第8図に示す。ここでは、
3つのプロセスP1,P2,P3が通信してい
る。P1は、“要求送信”動詞(1)を開始し、IPCF
接続90を経てそれをP2に送る。“要求送信”
動詞は、そこからデータが出る記憶位置とぞこに
データが読み取られる記憶位置を指定する。これ
らの記憶位置は、この動詞に付随するデータ・イ
ン(DID)記述子とデータ・アウト(DOD)記
述子を使つて示される。 P2は、P2とP3の間のIPCF接続92の上
に“要求送信”動詞(2)を出す。P2は、この例で
はP1で指定されたデータに作用せず、それをP
2からP3への“要求送信”動詞(2)上で参照す
る。P2は参照されたデータに作用しないので、
P1記憶装置とP2記憶装置の間でデータ移動が
起らず、したがつてP2がアクセスできる記憶装
置中のデータ・バツフアは不要である。 次に移送機構(第2図の38と40)が、P2
からの記憶装置に関与せずに、P1の記憶装置と
P3の記憶装置との間でデータを移動させる。次
にP3は完了ステータスを含む応答(4)をP2に送
り戻し、P2は完了ステータスを含む応答(5)をP
1に送り戻す。この時点でP1の要求が完了す
る。 データ参照の一つの特徴は、データが記憶装置
の一つの連続区域にある必要はないことである。
事実、全体が一つのプロセツサの記憶装置中にな
くてよい。データ参照のこの特徴は、分散論理バ
イト・ストリームと呼ばれる。分散論理バイト・
ストリームは、物理的には物理移機構で接続され
た1つまたは複数のプロセツサ中に常駐する、論
理的に1つのデータ・バイト・ストリームであ
り、それが関連する作業要求の物理経路に従う必
要はない。 分散論理バイト・ストリームを使うと、ある作
業要求を処理するサーバは、そのストリームを構
成する各ピースの物理位置を気にしないでよくな
る。また、作業要求があるプロセツサ中のソース
から出、それに関連するデータ(分散論理バイ
ト・ストリーム)が別のプロセツサ中の別のソー
スから出たものであつてもそのことを知る必要は
ない。分散論理バイト・ストリームは、まずそれ
を受信せずに、サーバの階層間をパスされること
ができる。ある分散論理バイト・ストリームに関
係する作業要求が、移送機構で接続された別のプ
ロセツサ中に常駐するサーバを通過し、そこで実
行される。分散論理バイト・ストリームを構成す
るデータは、作業要求と一緒に物理的に移動する
必要はない。論理バイト・ストリームを受け取る
ときだけ、ぞれを受け取るプロセツサの記憶装置
に直接移される。 他のプロセツサの記憶装置に常駐するバイト・
ストリームの他の部分を物理的に移動せずに、新
しい分散論理バイト・ストリームを構成できる。
(第10図)。たとえば、元のバイト・ストリーム
に見出しおよび後書き情報を加えて、新しい論理
バイト・ストリームをを形成できる。見出しと後
書は、あるプロセツサの記憶装置に入つており、
元のバイト・ストリームは別のプロセツサの記憶
装置に入つている。 分散論理バイト・ストリームは、いくつかの新
しい論理バイト・ストリームに分割して、セグメ
ント化することができる(第11図)。新しい各
バイト・ストリームは、別々の作業要求と関連し
ている。 分散論理バイト・ストリームを記述するデータ
構造は、第1図に関する説明で先に触れたよう
に、作業要求中に記述子エレメントを含んでい
る。局所記述子エレメントは、分散論理バイト・
ストリームの1ピースを記述するアドレスと長さ
の対を含んでいる。局所記述子エレメントは、要
求イニシエータの記憶装置に常駐するバイト・ス
トリームの一部分を含む記憶装置の連続する各ピ
ース毎に使用される。第9図には、2つの局所記
述子エレメント(LDE)が102と104に示
されている。 各記述子は、長さ(DLEN1,DLEN2)とア
ドレス(DADDR1,DADDR2)を含むことに
よつてデータの1セグメントを表す。データ・セ
グメントは、106と109で、作業要求中の記
述子エレメントの順序に応じて組み合され、論理
バイト・ストリーム108を形成する。 参照記述子エレメントは、分散論理バイト・ス
トリームの参照される部分を示す論理ポインタを
提供することにより、参照される論理バイト・ス
トリームを識別する要求識別子を含んでいる。こ
れは、参照される論理バイト・ストリームを記述
する、バツフア中の1組の記述子エレメントを指
示する。参照記述子エレメントは、また参照され
た論理バイト・ストリーム中の所要のデータの長
さ、および参照された論理バイト・ストリーム中
の所要のデータの起点からのオフセツトを含んで
いる。参照記述子エレメント中の要求識別子は、
参照される論理バイト・ストリーム全体を記述す
るIPCFで維持されている1組の参照された記述
子エレメントに対するアクセスをもたらす。 局所記述子エレメントおよび参照記述子エレメ
ントの配列リストは、分散論理バイト・ストリー
ム全体を記述し、分散論理データ・ストリームを
構成する各ピースの順序を定義する。 第10図は、論理バイト・ストリームが複数の
プロセツサ中に常駐するときの可能な1つのデー
タ流れを示したものである。第1のプロセツサ1
10は、リクエスタ112を含んでおり、それが
第2のプロセツサ116中のサーバ・プロセス1
14に作業要求を送る。作業要求は、要求識別子
“m”で識別される。118に示した論理バイ
ト・ストリームの形のデータが、この作業要求
に、関連している。 分散論理バイト・ストリーム118を記述する
局所記述子エレメントからなるDODが、作業要
求に付随する。この記述は、プロセツサ110中
の論理バイト・ストリームを構成するデータの長
さを記述する1組のアドレスと長さの対を含んで
いる。移送機構によつてプロセツサ110からプ
ロセツサ116に送られるデータ構成は、要求識
別子(REQID)“m”、接続識別子、並びにデー
タ118を含むプロセツサのアドレス110及び
プロセツサ110中のデータ118の記憶アドレ
スと長さとを示す記述子エレメントを含んでい
る。サーバ114は、作業要求が要求識別子
(REQID)“n”をもつことによつて、第3のプ
ロセツサ122中のサーバ120に作業要求を送
る。124と126に示す見出しおよび後書きデ
ータが、この作業要求に関連している。この見出
しおよび後書きデータは、118のバイト・スト
リームの記述と一緒に、作業要求“n”中に記述
されている。作業要求“n”と関連する組合され
た論理バイト・ストリーム参照の記述は、プロセ
ツサ116のアドレスおよびプロセツサ116中
の見出しの記憶アドレスと長さ、プロセツサ11
0中のデータ118の記憶アドレスと長さ、プロ
セツサ116のアドレス、ならびにプロセツサ1
16中の後書き126の記憶アドレスと長さを含
んでいる。 サーバ120は、作業要求“n”の処理の一環
として、論理バイト・ストリームに対する受信を
出す。その結果、論理バイト・ストリームは、プ
ロセツサ110とプロセツサ116の記憶装置か
ら移送機構128を経てプロセツサ122の直接
移動する。プロセス120は、データが記述子エ
レメント中であるとして、どこでデータをほしい
かを指定する。プロセス120は、論理バイト・
ストリームのコピーを知つているだけで、元のデ
ータが複数のプロセツサに入つていることは知ら
ない。 データ・アクセス制御機能は、また分散論理バ
イト・ストリームをいくつかの新しい論理バイ
ト・ストリームに分割するセグメンテーシヨンを
もたらす。新しい各バイト・ストリームを、別々
の作業要求と関連させることもできる。 第11図には、分散論理バイト・ストリーム1
50のセグメンテーシヨンが示してある。バイ
ト・ストリーム150は、リクエスタ152から
サーバ154への作業要求中で参照されている。
サーバ154は、バイト・ストリーム150のセ
グメントSEG1,SEG2,SEG3を参照する3
つの作業要求を作成する。これらの作業要求をサ
ーバ156が受取るか、または次にデータを受け
取るかまたは別の要求を作成する他のサーバが受
け取る。 e 動詞セツトの詳細 (i) オープン “オープン”動詞は、2つのプロセス間の
IPCF接続を確立する。“オープン”動詞が発せら
れると、IPCFが“オープン”動詞を出したプロ
セスと目的プロセスの間の論理接続を作る。 “オープン”動詞の目的は、エンテイテイ名で
識別される。“オープン”動詞は、“オープン”動
詞上に供給されるエンテイテイ名にもとづいてプ
ログラムの新しいインスタンス(instance)また
は既に実行中のインスタンスへの接続を確立す
る。 “オープン”動詞は、IPCFおよび関連するオ
ペレーテイング・システムが、プログラムおよび
そこへの接続を作るべきそのプログラムのインス
タンスの実行(すなわちプロセス)を決定するた
めに使用するエンテイテイ名を含んでいる。
IPCFから戻される接続識別子が接続を識別する。
これは、以後の動作でこの接続を参停照するため
に使う。特定の接続識別子は、単一プロセツサ内
でしか知られてない。接続された2つのプロセス
は、一般に同じ接点に対して異なる識別子をも
つ。接続識別子は、局所IPCFが割り当て、ある
プロセツサ内で一義的である。 戻りゴートは、IPCFが“オープン”動詞の完
了をプロセスに示すために使う。 (ii) クローズ “クローズ”動詞は、2つのプロセス間の論理
接続を遮断するために使う。“クローズ”動詞は、
どちらか一方のプロセスまたは両方のプロセスか
ら発することができる。一度“クローズ”動詞を
発すると、発したプロセスは、その接点上で新し
い作業要求を開始することを禁止される。未処理
のすべての要求が完了または終了するまで、接続
は開のままとなる。一方のプロセスが“クロー
ズ”動詞の肯定通知を受け入れるまで、“クロー
ズ”は完了できない。 “クローズ”動詞には、制御クローズと即時ク
ローズの2種がある。制御クローズは正常な遮断
用である。これを使うと、プロセスが、既に受け
取つた要求、またはクローズが出たときそのプロ
セスの入力待ち行列上にあつた要求を完了でき
る。即時クローズはエラーおよび異常遮断用であ
る。 “クローズ”動詞は、遮断すべき接続を識別す
る接続識別子を含んでいる。“プロセス”動詞の
種類、つまり制御クローズか即時クローズかも指
定され、戻りコードが供給される。 (iii) 記憶プール指定 “記憶プール指定”動詞を使うと、プロセスが
他のIPCFユーザと潜在的に共用可能な記憶プー
ルをIPCFに指示することができる。プロセスの
もつ接続1つにつき1つの記憶プールしか指定で
きない。この動詞は、プロセスが未処理の要求を
もたない場合に発する。 “記憶プール指定”動詞は、接続識別子、ユー
ザ提供の記憶管理ルーチンの入力点アドレス、位
置指定(LOCATE)モードおよびバツフア・ゲ
ツト(GETBUF)/バツフア・フリー
(FREEBUF)モードで使用する記憶プールの名
前、および戻りコードを含んでいる。 ユーザ提供の記憶管理ルーチンの入力点アドレ
スは、IPCFが、指定した記憶プール中で記憶域
を割り当て、解放するために使つている。入力点
が指定されていない場合は、システム提供の記憶
マネージヤを使う。 (iv) 要求送信 “要求送信”動詞は、要求をサーバに送る。目
的プロセス(サーバ)は、適切な識別子を供給す
ると指定される。目的への接続が確立されると、
接続識別子はソース・プロセスに戻される。サー
バに対する作業要求は、要求記述子パラメータで
指定される。この要求は、サーバ用のコマンドお
よび関係するパラメータを含んでいる。 “要求送信”動詞に含まれるパラメータのシン
タツクス・ダイアグラムを第12図に示す。この
ダイアグラムは、“SEND REQ”バラメータで
始まる。このパラメータは、これが要求送信動詞
であることをIPCFに示す。図で実線が分岐して
いる所は、どの線を選んでもよく、指示された適
切なパラメータが動詞中に供給されることを示
す。下記にパラメータのリストを図中で使う略語
と共に示す。 Cid 接続識別子 Rid 要求識別子。すべてのRidは単一のプロ
セツサ内でだけ一義的である。接続された2つ
のプロセスは、一般に同じ要求に対して異なる
Ridをもつ。これらの各プロセスは、その局所
IPCFで与えられたRidのみを知つている。Rid
は、特定の要求を参照すると局所IPCFに理解
される標識(token)である。 Reqpty 要求
優先順位。要求の優先順位は、サーバの入力待
ち行列上での関連する要求注釈の位置を決定す
る。 REQD その要求に使用するデータ転送モード
を指定し、リクエスタの記憶装置中で要求がど
う配置されているかを記述する要求記述子であ
る。要求は、記憶装置中で連続している必要は
ないので、この記述子は要求の各部分毎に1組
ずつ、数組の記述子エレメントを含んでいる。 DOD データ・アウト記述子である。この作
業要求の一環としてデータを送る場合、デー
タ・アウト記述子が供給される。DODは、出
力データに使用するデータ転送モードを指定す
る。また出力される論理バイト・ストリームが
どう構成されるかも記述する。 DID データ・イン記述子である。この要求の
一環としてデータを戻す場合、データ・イン記
述子が供給される。戻されたデータは、リクエ
スタの記憶装置に入れることができ、また参照
記述子エレメントを使つて直接別のプロセスに
パスできる。局所記述子エレメントは、データ
をリクエスタが定めた記憶装置に戻すことを示
す。戻されるデータに対してバツフア・ゲツト
(GETBUF)を指定した場合、応答注釈中で
戻される記述子エレメントが、戻されるデータ
を記述する。このリストには戻されるデータを
記述する。このリストには戻されるデータを含
む記憶装置の各区域毎に1つの記述子エレメン
トがある。 MOVE 送られるまたは戻されるデータが、
移動(MOVE)モードで転送されることを示
す。 PASS 送られるデータが、パス(PASS)モ
ードで転送されることを示す。 LOCATE 送られるデータが、位置指定
(LOCATE)モードで転送されることを示す。 FREEBUF 送られるデータが、バツフア・
フリー(FREEBUF)モードで転送されるこ
とを示す。リクエスタは、バツフア・フリー
(FREEBUF)モードで送られたデータまたは
要求を含む記憶装置に対する責任を放棄する。 GETBUF 戻されたデータがバツフア・ゲツ
ト(GETBUF)モードで転送されることを示
す。リクエスタは、バツフア・ゲツト
(GETBUF)モードで戻されたデータを含む
記憶装置を管理する責任を引き受ける。 Maxin この要求に対してサーバから戻せる
データの最大量をバイト単位で指定したもので
ある。サーバはこの量より少ないデータを戻し
てもよいが、これより多く戻そうと試みるとエ
ラーになる。戻される実際のデータの量は、戻
されるデータに対するバツフアの記述子エレメ
ントを検査して決定できる。 Locde 局所記述子エレメントである。これは
論理バイト・ストリームの1セグメントを記述
する。REQDまたはDODを一緒に使うと、こ
の記述子は、要求全体またはデータ・アウトの
一部分を含む記憶装置のうちリクエスタがアド
レスできる区域の長さとアドレスを指定する。
DIDと一緒に使うと、この記述子は、全体デー
タ・イン・ストリームの一部分が入力されるべ
き記憶装置のうちリクエスタがアドレスできる
区域の長さとアドレスを指定する。 Bufde 単一バツフアを記述するバツフア記述
子エレメントである。バツフアはその責任を
(GETBUFで)得ることができ、または
(FREEBUFで)放棄できる記憶装置の単位で
ある。バツフア内にあるバイト・ストリームの
一部分であるデータは連続していなければなら
ないが、バツフア全体よりも短かくてもよい。
バツフアは、そのバツフア中のデータが送信ま
たは受信される接続と関連する記憶プールから
割り振らなければならない。バツフア記述子
は、バツフア・アドレス長さ、バツフア内の実
データの起点までのオフセツトおよびデータの
長さを含んでいる。 Refde 別の要求と関連する論理バイト・スト
リーム内でデータを参照する参照記述子エレメ
ントである。DOD中で使う場合、参照される
データは、SEND REQの目的であるサーバ・
プロセスへの入力データ・ストリームである。
DID中で使う場合、参照されるデータ域は、
SEND REQの目的であるサーバ・プロセスに
関する出力データ・ストリームである。この参
照記述子エレメントは、参照要求識別子、すな
わち参照されるデータと関連する要求に対する
RIDを含んでいる。また参照RIDと関連するバ
イト・ストリーム内に、形成される新しい論理
バイト・ストリーム内に含まれる参照バイト・
ストリームの一部分の起点を識別するオフセツ
トを含んでいる。これは参照されるバイト・ス
トリームの開始に関するものである。参照バイ
ト・ストリームの第1バイトはオフセツトがゼ
ロである。最後に、参照記述子エレメントは、
データ長さを含んでいる。これは定義されるデ
ータ・ストリーム・セグメントに含まれる参照
データ・ストリームからのバイト数である。 DEFRSP サーバがステータスおよび必要に
応じてSEND RSP上の拡張ステータスを戻さ
なければならないことを示す。ステータスは、
リクエスタの入力待ち行列上の応答注釈中に配
置される。 EXCRSP サーバが、リクエスタに例外ステ
ータスだけを戻すことを意味する。サーバは、
サーバの入力待ち行列上の要求注釈中で確定応
答または例外応答の指示を与えられる。サーバ
が最後のSENDRSP上でステータスを指定しな
い場合、リクエスタの入力待ち行列上の応答注
釈が載せられない。サーバがSEND RSP上で
ステータスを指定する場合、ステータスを含む
応答注釈が、リクエスタの入力待ち行列に載せ
られる。 Rc IPCFが戻す戻りコード (v) 応答送信 “応答送信”動詞は、サーバがステータスとデ
ータをリクエスタに戻すのに使う。サーバは一度
に複数の要求を処理できるので、要求識別子はこ
の動詞を使つて指定される。この識別子は、送ら
れる情報がどの要求と関連しているかを示す。あ
る要求に対する要求識別子は、サーバが各要求毎
に受け取る要求注釈に含まれる。 サーバは、使用可能になつたデータの部分を送
ることができる。サーバの見解は、今あるバイ
ト・ストリングをリクエスタに送信中であるとい
うことである。各SEND RSPは、ストリングの
次の部分を提供する。サーバは、データがリクエ
スタの記憶装置のどこに入つているか、またリク
エスタがそのデータ・バツフアをどのようにセグ
メント化したかを知らない。 “応答送信”パラメータの記述は、第13図の
シンタツクス流れ図に示してある。上記の“要求
送信”動詞の所で説明しなかつた3つのパラメー
タは、次の通りである。 Offset これは、送られたデータを配置するた
めに、出力データ・ストリーム中にオフセツト
を定義する。これが指定されていない場合、
(同じRidについて)SNDRSPを連続して実行
すると、データの連続する部分が戻される。 FINAL これが指定された要求識別子に対す
る最後の応答であること並びにその要求の処理
がすべて完了したことを示す。 Status これは、要求全体の最終完了ステータ
スを示す。 Xstatus これは、サーバからリクエスタへの
応答上に拡張ステータスを提供し、オプシヨン
である。 (vi) 待ち行列受信 “待ち行列受信”動詞は、プロセスの入力待ち
行列上にある注釈を得るために発せされる。注釈
には、次の6種のものがある。 1.要求(REQ) 2.応答(RSP) 3.信号(SIG) 4.オープン(OPEN) 5.クロース(GLOSE) 6.要求終了(TRMREQ) 通常は“待ち行列受信”動詞が実行されると、
待ち行列上で第1の注釈がプロセスに与えられ
る。受信するプロセスは、その“待ち行列受信”
動詞でどの注釈を受け入れるかを限定するキー
を、“待ち行列受信”動詞に供給することができ
る。“待ち行列受信”パラメータの説明は、第1
4図のシンタツクス流れ図に示されている。
RCVQは、入力待ち行列からの受信が“受信”
動詞を構成することを示す。今までに説明しなか
つた他のパラメータについて次に説明する。 Key これは、この“待ち行列受信”動詞で受
け入れられる注釈を制限するために使われるキ
ーを記述する。このキーは、“受信”動詞に対
する6種の注釈のうちのどれが入力待ち行列を
形成するのかを指定できる。キーに受け入れら
れるものとして応答が示されると、要求識別子
または接続識別子も指定できる。要求受信が示
されると、キーは、待ち行列から受信するため
の優先順位レベルを指定できる。要求注釈指示
と信号指示の両方に接続識別子を指定できる。
こうして、特定の応答注釈が受け入れできる。 Timrval これは、RCVQの発信側が応答を待
つタイマー値(単位ミリ秒)である。 Noteloc これは、応答注釈を戻すべきリクエ
スタ記憶装置のアドレスである。 Notelen これは、応答注釈を戻すべきリクエ
スタ記憶装置のバツフア域のサイズを定義す
る。バツフア域は、戻され得るどんな注釈をも
含むことができるように充分なスペースをもた
なければならない。 WATT これは、“待ち行列受信”動詞が満た
されない場合、プロセスが中断されることを示
す。 NOWAIT これは、“待ち行列受信”動詞が
満たされない場合、プロセスが中断されないこ
とを示す。 “要求注釈”は、あるプロセスが別のプロセス
の“要求送信”動詞の目的であるとき、そのプロ
セスの入力待ち行列に載せられる。次に、“待ち
行列受信”動詞が実行され、受信するプロセスに
この“要求注釈”が与えられる。“要求注釈”は、
下記の情報を含む。 リクエスタへの接続のための接続識別子 この要求のための要求識別子 要求長さ 要求セグメント数 データ・イン長さ データ・イン・セグメント数 要求の優先順位 リクエスタが確定応答を指定したのか、それと
も例外応答を指定したのかを示す識別子 プロセスの入力待ち行列に載せられる“要求注
釈”は、下記の情報を含む。 サーバへの接続のための接続識別子 完了した要求のたの要求識別子 完了ステータス リクエスタにパスされた“データ・イン・バツ
フア”を記述する“バツフア記述子エレメント”
“信号注釈”は、あるプロセスが別のプロセスの
“信号”動詞の目的であるとき、そのプロセスの
入力待ち行列に載せられる。“信号注釈”は、2
つのプロセス間で少量のデータを送るとき使われ
る。“信号注釈”は、下記の情報を含む。 “信号”動詞を受け取るために通つた接続の接
続識別子 信号の種類(“信号”動詞についての説明を参
照のこと) データ “オープン注釈”は、あるプロセスへの接続が
別のプロセスの要求時に確定されているとき、そ
のプロセスの入力待ち行列に載せられる。“オー
プン注釈”は、下記の情報を含む。 接継識別子 IPCFFステータスを含むステー
タス・フイールド “クローズ注釈”は、あるプロセスへの接続が
別のプロセスによつて遮断されているとき、その
プロセスの入力待ち行列に載せられる。“クロー
ズ注釈”は、下記の情報を含む。 接続識別子 “クローズ”動詞の種類(未処理の“クロー
ズ”が即時クローズだつたかそれとも制御クロー
ズだつたか、および“クローズ”が完了している
かどうか) ステータス・フイールド “要求終了”注釈は、リクエスタが未処理の要
求を終了させる場合、サーバ・プロセスの入力待
ち行列に載せられる。“要求終了注釈”は、下記
の情報を含む。 その要求が終了される接続を識別する接続識別
子 終了された要求を識別する要求識別子 ある接続上で一つの要求が終了されるのか、そ
れともすべての要求が終了されるのかを示す標識 ステータス・フイールド (vii) 要求受信 “要求受信”動詞は、“要求送信”動詞を使つ
て送られた作業要求を受け取るのに使われる。こ
の要求は、“要求送信”動詞の“要求記述子”に
よつて識別される。レシーバは、“要求識別子”
と“要求記述子”を供給しなければならない。 “要求識別子”は、どの作業要求を受け取るの
かを示す。“要求記述子”は、受信されたデータ
を入れるサーバ記憶装置のバツフア・セグメント
を説明する。 第15図のシンタツクス・ダイアグラムは、
“要求受信”動詞の諸パラメータを示すものであ
る。使用されるパラメータは、すべて以前に説明
したものである。“要求受信”動詞は、移動
(MOVE)、位置指定(LOCATE)、バツフア・
ゲツト(GETBUF)の各モードで動作する。移
動モードでは、レシーバが局所記憶アドレスを指
定する。受信された作業要求がそこに与えられ
る。位置指定モードおよびバツフア・ゲツトモー
ドでは、IPCFが局所記憶装置中の作業要求のア
ドレスをレシーバに戻す。どちらの場合にも、作
業要求の実際の長さは、“要求記述子”中に記述
される。 位置指定モードおよびバツフア・ゲツトモード
を使いやすくするため、サーバが受け取る“要求
注釈”は、作業要求が分割されれて記憶される記
憶ピースの全長と数を含んでいる。これにより、
必要な場合、要求ストリーム全体を単一の“要求
受信”動詞で受け取ることができるように“要求
記述子”を構成できる。 移動モードでは、“要求記述子”は、戻された
作業要求をどこに配置するかを示す。要求は、必
ずしも連続する記憶装置に記憶される必要はな
く、レシーバが希望する部分に分割できる。要求
の各部分毎に1つの局部記述子エレメントが供給
される。 位置指定モードを使うと、レシーバがその作業
要求を含む記憶装置へのアクセスを望んでいるこ
とを示す。自分のコピーは望んでいない。位置指
定モードで受信するには、受け取るべき最大デー
タ長さと未使用の局所記述子エレメントの数を与
える。未使用の記述子エレメントは、タイプ・フ
イールドのみが充たされており、アドレス・フイ
ールドと長さフイールドは決められていない。作
業要求を受け取ると、これらの記述子エレメント
がIPCFによつて充たされる。戻される各情報エ
レメント毎に1つの記述子が使用される。 バツフア・ゲツトモードを使うと、レシーバが
その作業要求を含む記憶装置に対する責任を望ん
でいることを示す。バツフア・ゲツトモードで受
信するには、受け取るべき最大データ長さと未使
用のバツフア記述子エレメントの数を与える。未
使用の記述子エレメントは、タイプ・フイールド
のみが充たされており、残りの情報は、作業要求
を受け取つたとき、IPCFによつて充たされる。
戻される各状報セグメント毎に1つの記述子が使
用される。 パラメータ・オフセツトがどう働くかを理解す
るため、IPCFが論理バイト・ストリーム中にポ
インタを維持すると考えることができる。このポ
インタは、バイト・ストリームから受け取るべき
次のバイトの位置を識別する。“要求受信”動詞
が実行されるとき、戻されるデータは、この位置
から始まる要求バイト・ストリームからの各バイ
トを受け取る毎に、ポインタが1つずつ増分され
る。オフセツトが指定されている場合、データを
受け取る前に、このポインタがオフセツト値にセ
ツトされる。ポインタは通常のように増分され、
したがつて“オフセツト”を指定しない次の“要
求受信”動詞に対するデータは、最後に受け取つ
たバイトの次のバイトから始まる要求バイト・ス
トリームからのものとなる。 (viii) データ受信 “データ受信”動詞は、“要求送信”動詞を使
つて送られたデータを受け取るのに使用される。
このデータは、“要求送信”動詞の“データ・ア
ウト記述子”によつて識別された。レシーバは、
要求識別子とデータ・イン記述子を供給しなけれ
ばならない。要求識別子は、どの要求のデータを
受け取るかを示す。データ・イン記述子は、デー
タがどのように受け取られるかを記述する。 “データ受信”動詞を構成するパラメータのシ
ンタツクス・ダイアグラムを第16図に示す。こ
の各パラメータは、以前に説明したものである。 (ix) 信号 “信号”動詞は、プロセスが少量のデータを別
のプロセスに送ることができるようにする。これ
は、“信号注釈”を目的プロセスの入力待ち行列
に載せる。応答は期待されないので、信号操作に
はRidは割り当てられない。 “信号”動詞の用法の例としては、長時間にわ
たる要求に対する中間ステータスを戻すことがあ
げられる。 “信号”動詞は、Cid、信号の種類、データ
(オプシヨン)、戻りコードの4つのパラメータか
ら構成される。 (x) 要求終了 “要求終了”動詞は、1つまたは複数の要求の
処理を停止すべきことを指示するのに使われる。
単一の要求を終了するには、“要求識別子”を供
給する。 上記実施例によれば、単一プロセツサ環境に限
らず、複数のプロセスを実行する複数のプロセツ
サ環境であつても、プロセスに対する記憶要件の
減少させることができるとともに待ち行列を管理
しやすくプロセスは、どの転送モードが使用され
ているかを知る必要がないので、できる。また、
プロセスの可動性が高まるため、資源割り当てを
ずつと効率的に行うことが可能になる。 F 発明の効果 本発明によれば、再設計の必要なく、プロセス
を1つのプロセツサ中の異なつた位置へ、又はあ
るプロセツサから他のプロセツサへ容易に動かす
ことができる。
第1図は、プロセス間通信機構を介して通信す
る2つのプロセスの低レベル表現を示すブロツク
図、第2図は、プロセス間通信用のプロセス間通
信機構を備えた多重処理システムのブロツク図、
第3図は、第2図のプロセス間通信機構を介して
デイスク制御プロセスからデータを得るプロセス
の低レベル表現を示すブロツク図、第4図は、第
2図のプロセス間通信機構を介してデイスク制御
プロセスにデータを転送するプロセスの低レベル
表現を示すブロツク図、第5図は、第2図のプロ
セス間通信機構を介して別のプロセスと通信する
ためにあるプロセスが選択したあるタイプのデー
タ転送モードの低レベル表現を示すブロツク図、
第6図は、第2図のプロセス間通信機構を介して
別のプロセスと通信するためにあるプロセスが選
択した別のタイプのデータ転送モードの低レベル
表現を示すブロツク図、第7図は、記憶域を識別
するために第2図のプロセス間通信機構が使用す
る記述コード・エレメントを示すブロツク図、第
8図は、第2図のプロセス間通信機構が使用する
データ参照を示すブロツク図、第9図は、デー
タ・セグメントの記憶位置を識別するために第2
図のプロセス間通信機構が使用する記述コード・
エレメントを示すブロツク図、第10図は、分散
データ・ストリームを示すブロツク図、第11図
は、新しい分散データ・ストリームを形成するた
めの分散データ・ストリームのセグメンテーシヨ
ンを示すブロツク図、第12図は、第2図のプロ
セス間通信機構とインターフエースするためにプ
ロセスが使用する要求送信動詞のシンタツクス
図、第13図は、第2図のプロセス間通信機構と
インターフエースするためにプロセスが使用する
応答送信動詞のシンタツクス図、第14図は、第
2図のプロセス間通信機構とインターフエースす
るためにプロセスが使用する待ち行列受信動詞の
シンタツクス図、第15図は、第2図のプロセス
間通信機構とインターフエースするためにプロセ
スが使用する要求受信動詞のシンタツクス図、第
16図は、第2図のプロセス間通信機構とインタ
ーフエースするためにプロセスが使用するデータ
受信動詞のシンタツクス図である。 10……分散処理システム、12,16……プ
ロセツサ、18,19,23,24……プロセ
ス、20,25……記憶装置、30,32,5
5,57,73,75,83,85……プロセス
間通信機構、38,40,53,74,84……
移送機構、50,70,80,112,152…
…リクエスタ・プロセス、52,72,82,1
14,120,154,156……サーバ・プロ
セス、54,56……待ち行列、58……リクエ
スタ記憶装置、60……サーバ待ち行列。
る2つのプロセスの低レベル表現を示すブロツク
図、第2図は、プロセス間通信用のプロセス間通
信機構を備えた多重処理システムのブロツク図、
第3図は、第2図のプロセス間通信機構を介して
デイスク制御プロセスからデータを得るプロセス
の低レベル表現を示すブロツク図、第4図は、第
2図のプロセス間通信機構を介してデイスク制御
プロセスにデータを転送するプロセスの低レベル
表現を示すブロツク図、第5図は、第2図のプロ
セス間通信機構を介して別のプロセスと通信する
ためにあるプロセスが選択したあるタイプのデー
タ転送モードの低レベル表現を示すブロツク図、
第6図は、第2図のプロセス間通信機構を介して
別のプロセスと通信するためにあるプロセスが選
択した別のタイプのデータ転送モードの低レベル
表現を示すブロツク図、第7図は、記憶域を識別
するために第2図のプロセス間通信機構が使用す
る記述コード・エレメントを示すブロツク図、第
8図は、第2図のプロセス間通信機構が使用する
データ参照を示すブロツク図、第9図は、デー
タ・セグメントの記憶位置を識別するために第2
図のプロセス間通信機構が使用する記述コード・
エレメントを示すブロツク図、第10図は、分散
データ・ストリームを示すブロツク図、第11図
は、新しい分散データ・ストリームを形成するた
めの分散データ・ストリームのセグメンテーシヨ
ンを示すブロツク図、第12図は、第2図のプロ
セス間通信機構とインターフエースするためにプ
ロセスが使用する要求送信動詞のシンタツクス
図、第13図は、第2図のプロセス間通信機構と
インターフエースするためにプロセスが使用する
応答送信動詞のシンタツクス図、第14図は、第
2図のプロセス間通信機構とインターフエースす
るためにプロセスが使用する待ち行列受信動詞の
シンタツクス図、第15図は、第2図のプロセス
間通信機構とインターフエースするためにプロセ
スが使用する要求受信動詞のシンタツクス図、第
16図は、第2図のプロセス間通信機構とインタ
ーフエースするためにプロセスが使用するデータ
受信動詞のシンタツクス図である。 10……分散処理システム、12,16……プ
ロセツサ、18,19,23,24……プロセ
ス、20,25……記憶装置、30,32,5
5,57,73,75,83,85……プロセス
間通信機構、38,40,53,74,84……
移送機構、50,70,80,112,152…
…リクエスタ・プロセス、52,72,82,1
14,120,154,156……サーバ・プロ
セス、54,56……待ち行列、58……リクエ
スタ記憶装置、60……サーバ待ち行列。
Claims (1)
- 【特許請求の範囲】 1 各プロセツサが記憶管理サービス装置を有す
る分散プロセツサ・システムにおいて、少くとも
2つのプロセスの間の通信を行うとともに前記プ
ロセスによつて選択が制御される複数の異なるデ
ータ転送モードをサポートするプロセス間通信装
置であつて、 各通信プロセスが他の通信プロセスによつて選
択されたデータ転送モードとは独立にデータ転送
モードを選択できる共通インターフエースを提供
するために各プロセスに結合されたプロセス・イ
ンターフエース手段と、 通信プロセスによつて選択されたデータ転送モ
ードの関数として前記記憶管理サービス装置を制
御するために前記プロセス・インターフエース手
段と前記記憶管理サービス装置に結合されたデー
タ・アクセス制御装置と を具備するプロセス間通信装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74575385A | 1985-06-17 | 1985-06-17 | |
US745753 | 1985-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61289458A JPS61289458A (ja) | 1986-12-19 |
JPH03659B2 true JPH03659B2 (ja) | 1991-01-08 |
Family
ID=24998114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61088412A Granted JPS61289458A (ja) | 1985-06-17 | 1986-04-18 | プロセス間通信装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4937737A (ja) |
EP (1) | EP0205945B1 (ja) |
JP (1) | JPS61289458A (ja) |
CA (1) | CA1244555A (ja) |
DE (1) | DE3688893T2 (ja) |
ES (1) | ES8802094A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218713A (en) * | 1985-06-17 | 1993-06-08 | International Business Machines Corporation | Distributed data management mechanism for handling a data stream |
DE68924040T2 (de) * | 1988-10-24 | 1996-04-18 | Ibm | Verfahren zum Austauschen von Daten zwischen Programmen in einem Datenverarbeitungssystem. |
US5408608A (en) * | 1989-09-14 | 1995-04-18 | Fujitsu Limited | Distributed data base control center having a plurality of information tables for facilitating a direct communication among terminal units of a network |
EP0422310A1 (en) * | 1989-10-10 | 1991-04-17 | International Business Machines Corporation | Distributed mechanism for the fast scheduling of shared objects |
JPH04251338A (ja) * | 1990-10-10 | 1992-09-07 | Fuji Xerox Co Ltd | プロセス間通信の制御方式 |
US5257384A (en) * | 1991-09-09 | 1993-10-26 | Compaq Computer Corporation | Asynchronous protocol for computer system manager |
JP2501737B2 (ja) * | 1992-02-28 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ転送方法及び装置 |
EP0592080A2 (en) * | 1992-09-24 | 1994-04-13 | International Business Machines Corporation | Method and apparatus for interprocess communication in a multicomputer system |
US5421004A (en) * | 1992-09-24 | 1995-05-30 | International Business Machines Corporation | Hierarchical testing environment |
US6704765B1 (en) | 1994-12-14 | 2004-03-09 | International Business Machines Corporation | System for allocating resources among agent processes |
US5602998A (en) * | 1994-12-22 | 1997-02-11 | Unisys Corporation | Dequeue 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 |
US6029205A (en) * | 1994-12-22 | 2000-02-22 | Unisys Corporation | System architecture for improved message passing and process synchronization between concurrently executing processes |
US5706516A (en) * | 1995-01-23 | 1998-01-06 | International Business Machines Corporation | System for communicating messages among agent processes |
US20020156872A1 (en) * | 2001-01-04 | 2002-10-24 | Brown David W. | Systems and methods for transmitting motion control data |
US7137107B1 (en) | 2003-04-29 | 2006-11-14 | Roy-G-Biv Corporation | Motion control systems and methods |
US20060206219A1 (en) * | 1995-05-30 | 2006-09-14 | Brown David W | Motion control systems and methods |
US5691897A (en) * | 1995-05-30 | 1997-11-25 | Roy-G-Biv Corporation | Motion control systems |
US6859671B1 (en) | 1995-05-30 | 2005-02-22 | Roy-G-Biv Corporation | Application programs for motion control devices including access limitations |
US6542925B2 (en) | 1995-05-30 | 2003-04-01 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US20100131081A1 (en) * | 1995-05-30 | 2010-05-27 | Brown David W | Systems and methods for motion control |
US6571141B1 (en) | 1995-05-30 | 2003-05-27 | Roy-G-Biv Corporation | Application programs for motion control devices including access limitations |
US6209037B1 (en) | 1995-05-30 | 2001-03-27 | Roy-G-Biv Corporation | Motion control systems using communication map to facilitating communication with motion control hardware |
US7024666B1 (en) | 2002-01-28 | 2006-04-04 | Roy-G-Biv Corporation | Motion control systems and methods |
US7139843B1 (en) | 1995-05-30 | 2006-11-21 | Roy-G-Biv Corporation | System and methods for generating and communicating motion data through a distributed network |
US6480896B1 (en) | 1999-10-27 | 2002-11-12 | Roy-G-Biv Corporation | Systems and methods for generating and communicating motion data through a distributed network |
US5828881A (en) * | 1995-11-09 | 1998-10-27 | Chromatic Research, Inc. | System and method for stack-based processing of multiple real-time audio tasks |
US5905912A (en) * | 1996-04-08 | 1999-05-18 | Vlsi Technology, Inc. | System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller |
US6209041B1 (en) * | 1997-04-04 | 2001-03-27 | Microsoft Corporation | Method and computer program product for reducing inter-buffer data transfers between separate processing components |
US20010032278A1 (en) * | 1997-10-07 | 2001-10-18 | Brown Stephen J. | Remote generation and distribution of command programs for programmable devices |
US8032605B2 (en) | 1999-10-27 | 2011-10-04 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US6885898B1 (en) | 2001-05-18 | 2005-04-26 | Roy-G-Biv Corporation | Event driven motion systems |
US20100131078A1 (en) * | 1999-10-27 | 2010-05-27 | Brown David W | Event driven motion systems |
WO2002071241A1 (en) * | 2001-02-09 | 2002-09-12 | Roy-G-Biv Corporation | Event management systems and methods for the distribution of motion control commands |
US7904194B2 (en) | 2001-02-09 | 2011-03-08 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
US20030069998A1 (en) * | 2001-08-31 | 2003-04-10 | Brown David W. | Motion services protocol accessible through uniform resource locator (URL) |
US8027349B2 (en) * | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
US20060064503A1 (en) | 2003-09-25 | 2006-03-23 | Brown David W | Data routing systems and methods |
WO2005048086A2 (en) * | 2003-11-17 | 2005-05-26 | Roy-G-Biv Corporation | Command processing systems and methods |
US20100131077A1 (en) * | 2004-02-25 | 2010-05-27 | Brown David W | Data Collection Systems and Methods for Motion Control |
JP4717570B2 (ja) * | 2005-09-15 | 2011-07-06 | 株式会社リコー | データ転送装置、表示装置、およびデータ転送方法 |
US9164969B1 (en) * | 2009-09-29 | 2015-10-20 | Cadence Design Systems, Inc. | Method and system for implementing a stream reader for EDA tools |
US20150032922A1 (en) * | 2012-02-28 | 2015-01-29 | Nec Corporation | Computer system, method of processing the same, and computer readble medium |
GB2535502B (en) | 2015-02-19 | 2021-08-11 | Mclaren Applied Tech Ltd | Protected data transfer |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2253421A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
FR2258112A5 (ja) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
FR2472234A1 (fr) * | 1979-12-21 | 1981-06-26 | Philips Ind Commerciale | Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti |
US4412285A (en) * | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
US4562533A (en) * | 1981-12-03 | 1985-12-31 | Ncr Corporation | Data communications system to system adapter |
US4543627A (en) * | 1981-12-14 | 1985-09-24 | At&T Bell Laboratories | Internal communication arrangement for a multiprocessor system |
US4530051A (en) * | 1982-09-10 | 1985-07-16 | At&T Bell Laboratories | Program process execution in a distributed multiprocessor system |
GB8309770D0 (en) * | 1983-04-11 | 1983-05-18 | Inmos Ltd | Microcomputer |
US4564901A (en) * | 1983-07-21 | 1986-01-14 | Burroughs Corporation | Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors |
US4584639A (en) * | 1983-12-23 | 1986-04-22 | Key Logic, Inc. | Computer security system |
AU589400B2 (en) * | 1985-03-05 | 1989-10-12 | Wang Laboratories, Inc. | Apparatus and method for control of one computer system by another computer system |
-
1986
- 1986-02-12 CA CA000501732A patent/CA1244555A/en not_active Expired
- 1986-04-18 JP JP61088412A patent/JPS61289458A/ja active Granted
- 1986-05-23 DE DE86107010T patent/DE3688893T2/de not_active Expired - Fee Related
- 1986-05-23 EP EP86107010A patent/EP0205945B1/en not_active Expired - Lifetime
- 1986-06-16 ES ES556089A patent/ES8802094A1/es not_active Expired
-
1988
- 1988-08-31 US US07/240,368 patent/US4937737A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0205945A3 (en) | 1989-05-31 |
ES556089A0 (es) | 1988-03-16 |
DE3688893D1 (de) | 1993-09-23 |
CA1244555A (en) | 1988-11-08 |
EP0205945A2 (en) | 1986-12-30 |
DE3688893T2 (de) | 1994-03-17 |
EP0205945B1 (en) | 1993-08-18 |
JPS61289458A (ja) | 1986-12-19 |
ES8802094A1 (es) | 1988-03-16 |
US4937737A (en) | 1990-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03659B2 (ja) | ||
US4649473A (en) | Flexible data transmission for message based protocols | |
US4930069A (en) | Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities | |
US5257374A (en) | Bus flow control mechanism | |
US5056003A (en) | Distributed data management mechanism | |
EP0514972B1 (en) | Multinode distributed data processing system for use in a surface vehicle | |
US6009478A (en) | File array communications interface for communicating between a host computer and an adapter | |
EP0343820A2 (en) | Temporary state preservation for a distributed file service | |
US5218713A (en) | Distributed data management mechanism for handling a data stream | |
JPH10124470A (ja) | ロー・コンテクスト・スイッチングのオーバーヘッドが小さいマルチプレックス化メッセージの呼出し処理のメカニズム | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
EP0317481B1 (en) | Remote storage management mechanism and method | |
US5204954A (en) | Remote storage management mechanism and method | |
US5535334A (en) | Fault-tolerant system-to-system communications system and method utilizing multiple communications methods to transfer a single message | |
JP2534229B2 (ja) | マルチプロセス・コンピュ―タ装置における分散デ―タ処理方法 | |
EP0317468A2 (en) | Bus flow control system | |
US20060242258A1 (en) | File sharing system, file sharing program, management server and client terminal | |
US6766358B1 (en) | Exchanging messages between computer systems communicatively coupled in a computer system network | |
JP3375649B2 (ja) | 並列計算機 | |
Pucci et al. | Optimized communication in an extended remote procedure call model | |
Bressler | Interprocess communication on the ARPA computer network. | |
JPH02101585A (ja) | 画像記憶領域の管理方式 | |
JPH0635719A (ja) | 複数プログラム間データ共有管理方式 |