JPH02144727A - データ通信方法 - Google Patents

データ通信方法

Info

Publication number
JPH02144727A
JPH02144727A JP1260387A JP26038789A JPH02144727A JP H02144727 A JPH02144727 A JP H02144727A JP 1260387 A JP1260387 A JP 1260387A JP 26038789 A JP26038789 A JP 26038789A JP H02144727 A JPH02144727 A JP H02144727A
Authority
JP
Japan
Prior art keywords
program
receiver
communication
data
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1260387A
Other languages
English (en)
Other versions
JPH0766335B2 (ja
Inventor
Murden C Rhodes
マーデン・セシル・ローデス
Jen S Wang
ジエン・シイー・ワング
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 JPH02144727A publication Critical patent/JPH02144727A/ja
Publication of JPH0766335B2 publication Critical patent/JPH0766335B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はコンピュータ・プログラミング手法ならびにシ
ングル・コンピュータで走行するセンタ(sender
) ・プログラム及びレシーバ(receiver) 
プログラムの間で情報を交換する方法に関する。
B、従来技術 種々のプログラム対プログラム通信手法が知られている
0例えば、IBMプログラム対プログラム通信機能がこ
のタイプである。この機能を用いるためには、ユーザ(
user)・プログラムが最初に表で定義され且つセン
タ・プログラム及びレシーバ・プログラムが”セツショ
ン”を確立する必要があり、その後、それらは互いに通
信を開始することができる。レシーバ・プログラムが2
以上のセンタ・プログラムからの受信データにより通信
したいとき、仲間のセンタ・プログラムの各々との個々
の”セツション”を維持する必要がある。もし確立され
たセツションが切れるなら、又はもしレシーバ・プログ
ラムがもはや活動状態ではないなら、センタ・プログラ
ムはデータを送信することができないので、それ自身の
動作が手詰まりになることがある。更に、このタイプの
システムでは1通信セツションは半二重モード、即ち任
意の時点で一方向性でしか使用することができない。
例えば、プログラムAがプログラムBにデータを送信し
ているとき、プログラムBは同時に同じセツションでプ
ログラムAにデータを送信することができない、データ
を送信するためには、プログラムBは先ずプログラムA
からのデータを受信し、次に送信の許可を要求し、送信
の許可を受信した後、プログラムAへのデータの送信を
開始する。
換言すれば、通信セツションはセンタ及びレシーバを再
定義するために送受反転する必要がある。
更に、このシステムでは、センタ・プログラムはレシー
バ・プログラムに対し一度に1つのデータ・バッファの
情報しか送信することができず、当該バッファの情報を
レシーバ・プログラムが受信し終るのを待って始めて、
もう1つのデータ・バッファの情報を送信することがで
きる。
一般に通信分野では、指定された計算機が共通してアク
セス可能なメモリに互いにメツセージを置いて行くこと
により相互に通信することができる”私書箱”形式の計
算機対計算機通信のための潜在的な解法がある。このよ
うなシステムはGocrge  A、 Anderso
n及びE、Douglas Jensenの論文”コン
ピュータ相互接続構造:分類、特徴及び例  (Co+
mputer   Interconnection 
  5tructures二Taxonomy、  C
haracteristics、  and   Ex
amples)″、ComputingSurvey、
 Vol、 7. #4. 1976年 12月、Pp
、197−213の204頁に記述されているが、この
タイプのシステムの特定の実現はElectronic
Design、 Vol、 5.1975年3月1日、
 pp、 52−57の第4図(54頁)に示され、マ
イクロプロセッサ間のマスク対マスク(a+aster
 to master)通信は共有メモリにより容易に
することができる。前記システムでは、要素間の通信は
各のマスタ・マイクロプロセッサによって予め決められ
る。各のマスクは、共有メモリを介して直接に通信する
必要があるとき、他の1又は複数のプロセッサと交信す
ることができる。共有メモリ使用上のコンフリクト(c
onflict)を避けるため、各のプロセッサはある
一定の優先方式により共有メモリのアクセスを取得する
。共有メモリのアクセスを取得するプロセッサは全ての
他の予定交信者を締出す、該プロセッサは事前の手配に
よって所望の目標受取人の”郵便受け”の位置を知り、
その送信プログラムは該所望の受取人の”郵便受け”内
に状況文字又はう報文字を置くことによって他のどのマ
スク・プロセッサにメツセージを伝達したいかを表わす
該通信プロセッサは伝達される情報を共通メモリの既知
の一定の領域に置くか、又は該メモリが記憶しているメ
ツセージの位置及び長さを表示しなければならない、該
通信プロセッサは該転送をセットアツプしたとき、他の
構成要素に対し該転送が全てのプロセッサによって受取
られる共通のオンシステム(on−system)割込
みの使用によって起こる予定であることを知らせる。
これらのシステムは本明細書に記述される発明の概念に
いくらかの類似性を示すが、各のプロセッサは、指定さ
れた受取人プロセッサの位置を知り、バスのアクセスを
取得可能であり、他のどの競争者からの通信も締出し、
指定されたメツセージが記憶される予定になっているメ
モリ中の位置を知るか又は(指定されたどの受取人に対
しても)それらがどこに記憶されるかを表わす装置を有
し。
そして他のプロセッサの各々に対し、後の検査で該所望
の受取人がその”郵便受け”に情報を有することを知る
ようにメツセージがそれらの1つを待つことを知らせる
必要がある。これらは重大な欠陥である。なぜなら、送
信プロセッサはシステム、即ち他のプロセッサの識別及
び”郵便受け”メモリ内の割当てられた空間についての
完全な知」を必要とし、且つメツセージを待っているこ
とをり告するために郵便受けの範囲外の他のプロセッサ
と広く通信する装置を必要とするからである。
プログラム対プログラム通信又はプロセッサ対プロセッ
サ通信についての従来技術のシステムの前記の問題点を
考慮して、センタ及びレシーバを識別しセツションを確
立しこのような通信セツションに対し制御を与える要求
が避けられるならば最も望ましい、前記の従来技術に固
有の半二重モードよりも全二重モードの通信を容易にす
ることも望ましい、活動していないレシーバに送信する
能力も大いに有効である。なぜなら、それは所望の受取
人の利用可能性が得られるまでセンタに待たせなくて済
むからである。
C0発明の目的 本発明の目的は全二重モードでセンタ及びレシーバの間
のメツセージ交換を容易にするためにコンピュータ・シ
ステムに関連して機能する改良されたプログラム対プロ
グラム通信機能を提供することである。
本発明のもう1つの目的は送信エンティティ及び受信エ
ンティティの間の明確なセツションの確立を必要としな
い改良されたプログラム対プログラム通信の方法を提供
することである。
更に、本発明のもう1つの方法はレシーバの現在の利用
可能性に依存しない改良されたセンタ対レシーバ通信手
法を提供することである。
これら及びその他の特に列挙されていない目的は以下に
簡潔に述べるように満たされる。
D0発明の概要 本発明の良好な実施例はプログラム対プログラム通信機
能−それ自身がメモリ内に常駐するプログラムであり且
つプロセッサによって実行可能であるかも知れない−を
提供することにより実現される。同じメモリ内で、予定
センタ・プログラム及び予定レシーバ・プログラムの存
在を明確にすることができる。センタ・プログラム−レ
シーバにより所望されることが知られているデータのバ
ッファ、又はセンタがレシーバ・プログラムに届けるこ
とを望むデータのバッファを有するは、アドレス指定さ
れた1個の郵便物が最終的な配達のため郵便局に配達さ
れるのと多分に同じ方法で、プログラム対プログラム通
信機能プログラムに届けられるだけである。センタ・プ
ログラムは指定されたレシーバが利用可能になるまで待
つ必要もなく、指定されたレシーバが常駐しているかも
知れない物理的な位置を知る必要もない。
必要なことは、各々の予定レシーバ・プログラムがそれ
自身をプログラム対プログラム通信機能プログラムに届
けることだけである。従って、”セツション”は確立さ
れない、レシーバはその利用可能性及び識別をプログラ
ム対プログラム通信機能に登録するだけである。そして
所与のレシーバ宛のメツセージが所与のセンタによりプ
ログラム対プログラム通信機能に送信されると、通信機
能は”郵便ポスト”にあるメツセージを記憶する。メソ
セージは後に、メツセージが予定レシーバ・プログラム
待ちであることをプログラム対プログラム通信機能によ
り警告されると予定レシーバ・プログラムにより検索さ
れる。
E、実施例 ここに記述される本発明の良好な実施例はシングル・コ
ンピュータ内のプログラム対プログラム通信手法に適用
可能であるだけではなく、コンピュータ対コンピュータ
通信手法を容易にするのにも同様に利用されることが当
業者には理解されるであろう0通常、本発明の良好な実
施例のシステムはセンタ、レシーバ及び一般に”通信機
能”として記述される中間機能を含む。
以下に記述する良好な実施例では、センタ及びレシーバ
はシングル・コンピュータ・システムでメモリ内に常駐
するアプリケーション・プログラムであると仮定する。
メツセージが届けられ、届けられたメツセージが検索さ
れる中間通信機能も同じコンピュータ・システム・メモ
リ内に常駐するプログラムである。
通信のプロセスは相対的に簡単である。予定郵便物受取
人が郵便局に登録するのと全く同じように予定レシーバ
は最初にそれ自身を通信機能プログラムに登録する。レ
シーバはその身元を確立するためと、メツセージの受取
りに利用可能なレシーバが存在することを通信機能に警
告するため通信機能に初期設定要求を出す、レシーバは
メッセ−ジを任意のセンタから受取るか又は一定の範略
のセンタだけから受取ることになっているかを指定した
り、キューに保持されなければならない情報のデータ・
バッファの数の限界を指定したり、処理することが可能
で斐るときはいつでもそのデータを処理のため検索した
りすることができる。
送信装置即ちセンタ・プログラムは、データ転送タスク
が実行されることになっていることを通信機能に知らせ
るため、送信機能に対し送信要求コマンドを出さなけれ
ばならない1通信機能プログラムは、指定された受取人
がシステム内に存在することを知るかどうかにより、予
定センタからのメツセージを受は入れたり拒否したりす
る6通信機能は、指定されたレシーバに対し、メツセー
ジが待っていることを通知し、指定されたレシーバは該
時点での特定のレシーバの状況、即ちそれが利用可能で
あってメツセージを受信しているか、又はそれが該通信
機能に登録されていないかどうかを予定送信装置に通知
する。メツセージを得るために、レシーバは通信機能に
要求を出し、通信機能は待機中のメツセージをレシーバ
のメモリ内のレシーバによって指定された位置に複写す
る。
この手法では、センタ及びレシーバは互いに同期させる
必要がないので該プロセスは非同期であることが容易に
理解される。センタ及びレシーバが互いのメツセージを
同時に中間通信機能に引渡すことにより全二重モードの
メツセージ交換が可能であることも明白である。各のセ
ンタ又はレシーバはその送信又は受信を開始するため通
信機能に対し常に要求コマンドを出す、登録する必要が
あるのはレシーバだけであるから、送信装置は事前にそ
れ自身が登録されていなくてもメツセージを通信機能に
送ることができる0通信機能は、郵便局とほぼ同様に、
指定された受取人が該通信機能に知られているかどうか
によりメツセージを受は入れるか又はメツセージを拒否
する。
この手法は”システム・セツション”確立の形式の中間
制御の使用を避け、任意のプログラムがそれと共にセツ
ションをセットアツプせずに所与の受取人プログラムに
送信することを可能にする。
更に、該プログラムは所望数のメツセージを送ることが
でき、指定された受信プログラムによる受信を待たなく
てもよい、レシーバ・プログラムが通信機能プログラム
に登録されシステム内に常駐してはいるものの現に走行
中ではないときにも、センタ・プログラムは該レシーバ
・プログラムにデータを送ることができる0通信機能プ
ログラムは指定されたレシーバのデータを受は入れて保
持し、該レシーバが現在活動状態ではないことを通知す
る状況コードをセンタ・プログラムに返すことができる
種々の他の能力及び利点は以下の説明により明白になる
本発明の良好な実施例はある環境に関連して記述される
。この環境では、センタ、レシーバ及び中間通信機能は
全て、プロセッサによってサービスされるコンピュータ
・システム内の同じメモリの種々の個々の領域に常駐す
るコンピュータ・プログラムである。該プロセッサは多
重タスク処理能力、即ち幾つかのプログラムを同時に実
行する能力を有することもあり、そうではないこともあ
る、主要な要求は全てのプログラムが同じコンピュータ
・システムによって処理され且つアクセス可能なメモリ
空間内に存在することである。もしコンピュータ対コン
ピュータ通信が要求されるなら、この方法を介して互い
にアクセスすることを望む他のコンピュータのための1
郵便局”機能を処理するコンピュータに、少なくとも通
信機能プログラムが常駐しなければならない。
しかしながら、良好な実施例は第1図に示すようなアー
キテクチャ設定の範囲内にある。第1図で、センタ・プ
ログラムはコンピュータ・システム・メモリの定義され
た領域#1の範囲内にあり5レシーバ・プログラムは同
じコンピュータ・システム・メモリの領域#2の範囲内
にある。センタ及びレシーバ・プログラムは、交互に与
えられる結果に応じて実行される計算又は遂行される追
加のタスクを容易にするためにデータ・バッファの情報
を互いに交換する必要又は要求を有する異なるユーザ・
プログラムかも知れない、中間通信機能プログラムも同
じプロセッサによって要求を満たされる同じメモリの更
に別の定義された領域内に常駐する。
第1図に示すように、センタ・プログラムは”プログラ
ムXRPB呼出し”を出すことにより送信プロセスを開
始する。これは特定のRPB (要求パラメータ・バッ
ファ)の内容、即ち表1記載のようなフィールドを有す
る高いレベルの標準プログラム呼出しインタフェースで
ある。
表  1 バ          − −4RPB−LEN −6TYPE 8            RECOPT−12RET
CODE −16讐ORに−ADR −245ENDER−ID 20            ASCB−ADR−24
ECB−ADR BUFFQ−L RECEIVER−ID BUFF−LEN AUTII−IND BUFF−ADH TCB−ADH ADRは 5ENDER−IDにオ $21 −24 零33 −34 零37 −40 注: ASCB−ADR及びECB −バラツブする。
AUTII−INDは BUFF−LENにオーバラッ
プする。
TCB−ADRはBtlFF−ADR の最初の2バイト にオーバラップする。
このタイプの通信機能は一般に標準プログラム呼出しイ
ンタフェースをサポートする能力を有する高いレベル即
ちアセンブラ・プログラミング言語により用いることが
できる。呼出しインタフェースの要求及び機能的な能力
は本明細書で詳細に記述される。
前記表1に示すように、要求パラメータ・バッファ(R
PB)フィールドは任意に定義されたバイト形式の意味
−その全ては本明細書で詳細に定義される−を有する。
呼出し機能は第1図に示すように実際にプログラムAに
よって実現され、通信機能を用いるためユーザ・プログ
ラムがCALL(呼出しコマンド)を出す毎に実行され
る。プログラムAは第2図で詳細に定義されるが5プロ
グラムAはユーザ・プログラム、即ちセンタ・プログラ
ム又はレシーバ・プログラムが呼出しコマンドを出す毎
に実行される。プログラムAは中間通信機能プログラム
及びプログラムBが活動状態であるかどうかを検査し、
もしプログラムBが活動状態であれば、直ちにプログラ
ムBを実行させる。
さもなければ、戻りコードがセットされ且つプログラム
Aは制御を取戻し、ユーザ・プログラムに対し通信機能
がこの時点では利用可能ではないことを知らせる。
動作の通常の流れは第1図に示す概略図に関連して処理
される。中間通信機能プログラム及びプログラムBの利
用可能性についてのプログラムAの検査が肯定されるも
のと仮定して、プログラムBが実行される。
プログラムBは下記のプロセスを実行する。最初、プロ
グラムBはユーザ要求タイプを先の配列によって認めら
れるタイプとして確認する。プログラムBはユーザ・プ
ログラムが許可されたプログラムであることも検査する
(後で詳細に説明するように、もしそれが許可を必要と
するタイプの要求であるなら)、もしユーザの要求が所
与のレシーバでの検査も必要とするなら、プログラムB
は該レシーバが通信機能で定義されているかどうか且つ
それが現に活動状態であるかどうかを検査する。プログ
ラムBはユーザ・プログラムの要求がレシーバを非活動
状態にセットすることになっているかどうかも検査し、
指定されたレシーバが実際に通信機能メモリ領域で既に
定義されていることも検査する。もしユーザ・プログラ
ムの要求がデータ・バッファを送ることになっていれば
、プログラムBは指定されたレシーバが通信機能のメモ
リ領域で既に定義されていることを検査する。
もしユーザ・プログラム要求がネットワーク管理プログ
ラムにり告を送ることになっていれば、プログラムBは
該管理プログラムが通信機能メモリ領域でレシーバとし
て定義されていることを検査する。プログラムBは、ユ
ーザープログラムの要求がデータ・バッファの情報をレ
シーバ・プログラムに送ることになっているとき、許可
されたレシーバとして初期設定されるセンタ・プログラ
ムがAPF許可プログラムであることも検査する。更に
、プログラムBはもし要求されれば回復ルーチンを確立
する。もし異常終了が起これば、このルーチンが実行さ
れ、制御を要求ユーザ・プログラムに戻す、ユーザ・プ
ログラムにより表示された要求のタイプ次第で、特に特
定の要求タイプにより、プログラムBは中間メモリ・プ
ログラムC5D及びE内に常駐する通信機能プログラム
を実行する。
プログラムCはプログラムBによる活動に応じて実行さ
れ、後で詳細に説明する一定のタイプのユーザ要求12
及び14を処理する。プログラムCはユーザのデータ・
バッファの情報を保持するため通信機能プログラムの中
間メモリ領域内のデータ記憶領域を取得する。そしてプ
ログラムCはユーザのデータ・バッファ情報を送信プロ
グラムのユーザ・メモリ領域から通信機能プログラムの
中間メモリ領域に複写する。そして、もし指定されたレ
シーバ・プログラムは活動状態であるがレシーバの実行
制御ブロックは所与のレシーバを待っているメツセージ
があることを表示するようにはセットされていないなら
、該レシーバの制御ブロックはそのように表示するよう
にセットされる。
第1図に示すプログラムDはプログラムBにより実行さ
れ、後で説明するようにユーザ・プログラムからの要求
タイプ22を処理することができる。これは所与のレシ
ーバ・プログラムのバッファ・キューに先に記憶された
情報のデータ・バッファの検索を要求するため表示され
る要求のタイプである。プログラムDは通信機能プログ
ラム・メモリ領域内のレシーバ・バッファ・キューを検
査し、受信のため利用可能なメツセージがあるかどうか
を調べる。プログラムDはレシーバ・プログラムによっ
て指定されているバッファの長さが到来するデータ・バ
ッファの内容を保持するのに十分な長さであるかどうか
も検査する。そして、プログラムDは通信機能プログラ
ムの中間メモリ内のデータ・バッファの内容をレシーバ
・プログラムのメモリ領域に複写し、データ・バッファ
記憶装置を通信機能メモリ領域で再使用するため解放す
る。
プログラムEはタイプ4及び9のユーザ・プログラム要
求を処理するためプログラムBによって実行される。も
しユーザからの要求がレシーバを非活動状態にセットす
る要求タイプ9であれば、プログラムEはレシーバを非
活動状態にセットする。もし要求がプログラムをレシー
バとして定義する、即ち初期設定する要求タイプ4であ
れば、プログラムEはレシーバを活動状態にセットする
が、もしレシーバが先に定義されていないならば。
プログラムEはレシーバの初期設定を実行し、それを活
動状態にセットする。
プログラムFはユーザ・タスク又はメモリ領域が終了す
る毎にシステムによって実行される。もし終了タスクが
定義されたレシーバの1つのタスクに一致すれば、レシ
ーバの状況は非活動状態にセットされ、もし終了ユーザ
のメモリ領域がレシーバの1つに一致すれば、レシーバ
の状況も非活動状態にセットされる。
プログラムGは中間メモリ領域が終了したときシステム
によって実行される。プログラムGはレシーバのECB
にコードを記入することにより全ての活動状態のレシー
バに対し中間メモリ領域が終了することを通知する。
処理経路及び機能はユーザ・プログラムのCA L L
コマンドによって指示される特定の要求パラメータ・バ
ッファにより定義される。要求パラメータ・バッファ・
フィールドの内容は表1で識別され、下記の表2に定義
されるような機能又は意味を持っている。
表  2 RPB−LEN−−−−>このRPIIのバイト長 (
このフィールドを含む)。
(4バイト2進値)、(即ち40)。
〉要求タイプ。
(2バイト2進値)。
一ユーザ要求を処理するために通信機能が利用可能かど
うかを検査する要求。
レシーバ・プログラムが、 RECEIVER−IDで
指定されたように、活動状態であるかどうかを検査する
要求。
レシーバを定義し初期設定する要求。
レシーバを非活動状態にセットする要求。
ユーザ包括警告バッファのコピーを処理のためネットワ
ーク管理プログラムに送る要求、ユーザ警告バッファは
8バイトのネットワーク管理ベクトル移送見出しを含ま
なければならない。
ユーザ・データ・バッファのコピーをレシーバに送る要
求。
′12′ ′14′ YPE ′22′−レシーバのバッファ・キューに記憶されたデ
ータ・バッファを取得する要求。
RECOPT−−−−−>回復オプション標識。
(2バイト2進値)。
′0″=回復は要求されていない。
′1′=この処理中に回復ルーチンが供給されることを
要求する。
RETCODE−−−−>戻りコードの処理。
(4バイト2進値)。
′0′−うまく終了した要求。
′4′−うまく終了した要求。
レシーバ・プログラムは活動状態ではない、(又はもし
要求タイプ′12′が用いられるならネットワーク管理
警告レシーバ・プログラムは活動状態ではない)。
’10’−通信機能はユーザ要求を処理するために利用
可能である。
114+−レシーバ・プログラムは活動状態である。
′15′−レシーバ・プログラムは活動状態ではなしA
 。
′I6′−レシーバ・プログラムは既に活動状態である
′20′−無効要求タイブ。
’22’ −1次アドレッシング・モードで実行中では
ないユーザ・プログラム。
′23′−ユーザ・プログラムは許可されていない。
′24′−通信機能は活動状態ではない。
’25’ −ASCBアドレスは正しくない。
′26′−レシーバ・プログラムは定義されていない。
′28″〜通信機能はユーザ要求をサポートしない。
′30′−レシーバに利用可能なデータ・バッファはな
い。
′31′−ユーザ・バッファ・サイズは待ち状態のデー
タ・バッファを保持するのに十分な大きさではない。
′32′−利用可能な記憶装置がない。
′34′−ユーザ警告バッファの長さは512バイトを
越える。
I35′−レシーバ・バッファ・キューは一杯になって
いる。
′36′−回復ルーチンは要求されたように確立するこ
とができない。
′40′−無効5ENDER−IO又はRECEIVE
R−ID。
′90″−プロセス誤りが生じている。
WORK−ADR−−−>通信機能サービス・モジュー
ルに必要な作業記憶装置のアドレス。
作業記憶装置は 128バイトの長さ (4バイト2進値)でなければな らない。
5ENDER−IO−−>センタの8文字IQ、 (例
えば、ユーザ・モジュール名、プログラム 名又は製品名)。
ASCB−ADR−−−>レシーバ・プログラムのアド
レス空間制御ブロック (ASCB)のアドレス、(4
バイト2進値)。
TCII−ADR−−一−>レシーバ・プログラムのタ
スク制御ブロック(TCB)のアドレス。
(4バイト2進値)。
EC[1−ADH−−−−>データ・バッファが届いた
ときしシーバ・プログラムが記入される のに伴う事象制御ブロック (ECB)のアドレス、(
4バイト2進値)。
++11FFQ−L−−−一>レシーバ・バッファ・キ
ューに許可される未決定のデータ・バッフ ァの最大数、(4バイト2進値)。
RECEIVER−ID−> レシーバ・プログラムの
8文字■D。
BLIFF−LEN−−−>ユーザ・データ・バッファ
の長さ。
(4バイト2進値)。
BUFF−ADR−−−>ユーザ・データ・バッファの
アドレス、(4バイト2進値)、(もし要 求タイプ″12′を使用中なら、ユー ザ警告バッファは8バイトのネッ トワーク管理ベクトル移送見出し を含むのは当然である)。
AUTl+−END−−−>許可標識、(2バイト2進
値)。
′0′−レシーバは許可されないものとして初期設定さ
れる。
Il+−レシーバは許可されるものとして初期設定され
る。センタ・プログラムはデータ・バッファを許可され
たレシーバに送るためにA F P許可されなければな
らない。
上記の表1は要求パラメータ・バッファ・フィールド内
のバイト位置を指定し、それが何を表わすかを明確にす
る。要求タイプは表2に示すように任意のコーディング
であり、表示された要求タイプの各についてその意味が
定義されている0回復コード及び戻りコードも任意のコ
ーディングであり、各についてその意味が定義されてい
る。他の標識及びポインタも表2でそれぞれ定義されて
いる。
表1に示すRPBのバイト 17−24及び25−32
、センタID及びレシーバIDは本実施例では1文字か
ら8文字の間になければならない、これらのIDはユー
ザにより任意に選択された英数字又は特殊文字から成る
0本明細書に記述されるプログラムの動作で、もし所与
のIDの長さが8文字でなければ、該IOは左寄せされ
、空白部分にはブランク文字が埋め込まれる。任意のユ
ーザによる全てのタイプの要求について、プログラム実
行の制御はCALLコマンドの実行に続くユーザの要求
プログラムに戻される。
要求タイプ1の場合、要求されるパラメータはRP B
の長さとタイプであり、戻りコードは10,24又は2
8のうちから選択されるに相違ない、要求タイプ2の場
合は、要求されるパラメータはRPBの長さ、タイプ、
作業アドレス及びレシーバIDであり、戻りコードは1
4.15.24.26又は28のうちから選択されるに
相違ない。
タイプ4の要求の場合、要求されるバッファ・パラメー
タは長さ、タイプ、回復オプション、作業アドレス、ア
ドレス空間制御ブロック・アドレス、バッファ・キュー
限界、タスク制御ブロック・アドレス、レシーバIO及
び許可標識である。
バッファ・キュー限界は所与のレシーバのバッファ・キ
ューについて許可される未決定のデータ・バッファの最
大数を指定するために用いられる。
もしこの限界を越えれば、センタのデータ・バッファの
情報は通信機能プログラムに受は入れられず、戻りコー
ド35が戻される。このタイプの要求の戻りコードは0
.1B、 23.24.28.32.35゜36又は4
0である。要求がうまく終了すると、ECBアドレスは
レシーバ・プログラムのECBアドレスを含む、この事
象制御ブロックはデータ・バッファの情報が届いたとき
実行のため記入される。該バッファの送達を希望するユ
ーザ・プログラムは、このタイプの要求を用いるため許
可されるAPFであるに相違ない。
要求タイプ9の場合、要求されるパラメータは長さ(R
PB−LEN)、タイプ、回復オプション(RECOP
T)、作業アドレス(−〇Rに−ADH)、バッファ・
キュー限界(BUFFQ−L)、 ASCB−ADR及
びRECEIVER−IDテある。
BUFFQ−Lは活動状態ではないレシーバに受は入れ
られる未決定のデータ・バッファのデータの最大数を指
定するために用いられる。もしこの限界を越えれば、セ
ンタのバッファのデータは受は入れられず、戻りコード
は35となるであろう、戻りコードは 0. 15. 
23.24.25.26.28.35.36又は40の
どれかである。定義されたレシーバのバソファ・キュー
が一杯ではない限り、センタ・プログラムはなおデータ
を非活動状態のレシーバ・プログラムに送ることができ
る。しかしながら、送信プログラムはレシーバ・プログ
ラムが現在は活動状態ではないことを表わす戻りコード
4を受取る。ユーザ・プログラムはこの要求を用いるた
めにAPF許可されなければならない。
要求タイプ12の場合、要求されるパラメータは、RP
B−LEN、 TYPE、 RECOPT、讐ORに−
ADR,5ENDERID、 BUFF−LEN及びB
UFF−ADRである。戻りコードは0.4,23.2
4.26.28.32.34.35.36及び40のど
れかである。ユーザ・プログラムはこの要求タイプを使
用し、警告バッファ・データのコピーを処理のためネッ
トワーク管理プログラムに送ることができる。
要求タイプ14の場合、要求されるRPBはRPB−L
EN、 TYPE、 RECOPT、 W[Rに−AD
R,5ENDER−10,8ECEIVER−10,B
UFF−LEN及び口UFF−ADRテある。戻りコー
ドは0.4.23.24,2B、 28.32.35.
36又は40のどれかである。前述のように、送信プロ
グラムはなおデータ・バッファの情報を非活動状態のレ
シーバ・プログラムに送ることができるが、プログラム
の非活動を表わす戻りコードは要求者に返送される。
要求タイプ22の場合、要求されるRPBの内容はIP
B−LEN、 TYPE、 RECOPT、VORに−
ADR,ASCB−ADR。
RECEIVER−ID、 BLIFF−LEN及びB
LIFF−ADRである。
戻りコードは0123.24.25.26.28.30
.31゜36及び40である。バッファ・アドレスは、
到来するデータ・バッファを複写することができるレシ
ーバ・プログラム・アドレス空間内のバッファ領域のア
ドレスでなければならない、もしこの要求が成功するな
ら、センタIDフィールドはセンタ・プログラムの識別
を含み、バッファの長さは到来するデータ・バッファの
長さを含む、もし指定されたバッファの長さが指定され
たレシーバのために到来するデータを保持するのに十分
な長さではないなら、戻りコードは31となり、到来す
るデータ・バッファの長さはバッファ長フィールドに置
かれる。この場合、受信プログラムは保持するのに十分
な大きさのもう1つのバッファを取得し、該要求を再び
試さなければならない。
第1図で、通信機能プログラムは実際に同図に示すプロ
グラムA−G全でのサブルーチンで構成されていること
がわかる。これらのプログラムの各は、センタ・プログ
ラム及びレシーバ・プログラムと同様に、同じプロセッ
サ内のメモリの指定された領域内に常駐する0個々のプ
ログラム部分A−Gについては、各のサブルーチンの詳
細な流れ図を示す第2〜8図を参照して次に説明する。
第2図には、通信機能プログラムの最初の部分。
プログラムAの詳細な流れ図を示す、プログラムAの動
作は改めて説明するまでもなく第2図の上部で開始し、
プログラムAはユーザ、センタ又はレシーバ・プログラ
ムからRPBを受取る。プログラムAはユーザのプログ
ラム・レジスタをもし要求があれば保管し、通信機能プ
ログラムの残りの部分及びメモリ空間が利用可能である
かどうかを検査し2表示された要求が機能要求であるか
どうかを検査する、即ち図示のように処理モジュール・
プログラムBを利用することによりユーザの要求を実行
する0図示のように、プログラムAはその最後のステッ
プで、制御をユーザ・プログラムに戻す。
第3図はプログラムBの詳細な処理の流れを示す、プロ
グラムBは上部でプログラムAからの開始信号を受取っ
てから開始する。第3図は図示のように丸にA、B、X
の記号を付された種々の人力点及び出力点を有する。プ
ログラムBは、そのRPBに示されたユーザの要求タイ
プが有効であるか、レシーバ・プログラムの開始又は終
了が要求されているかどうかを検査し、レシーバを現存
するものとして定義又は終了する適切な活動を実行し、
要求がバッファの情報を検索することになっているか、
バッファの情報を送ることになっているか、警告を送る
ことになっているか、レシーバとして開始もしくは終了
することになっているかを検査し、デキュー・ルーチン
D、レシーバ初+m設定/終了ルーチンE又はキュ一部
分プログラムCを図示のように実行する。
プログラム・モジュールCのキュー・プログラムは第4
図に示すようにプログラムBからの開始信号によって開
始される。このルーチンは通信機能プログラムのメモリ
空間内のレシーバ・バッファ・キューのローディングを
処理する。
デキュー・プログラムDは第5図に示す。
デキュー・プログラムDはその入力をプログラムBから
受取り、図示のように動作する。この図は自明であるか
ら説明は省略する。
第6図に示すように、レシーバの開始又は終了はその入
力をプログラムBから受取るプログラム・モジュールE
によって処理される。プログラム・モジュールEは所与
のユーザ・プログラムの定義又は終了を通信機能プログ
ラムに対し定義されたレシーバとして処理する。
第7図は第1図に示すプログラムFのタスク即ちアドレ
ス空間終了の処理の流れを示す、この流れ図はタスクの
終了又はプロセッサからのアドレス空間機能の終了によ
って実行され、定義されたレシーバを非活動状態にセッ
トし制御を呼出し者プログラムに戻す機能を有する。
第8図は第1図からのサブルーチン・プログラムGを示
す、プログラムGはプログラム対プログラム情報転送プ
ロセスの終了を要求する操作員によって開始される。
前述の説明で理解されるように、プログラム対プログラ
ム通信機能プログラムはセンタ・プログラムを予め定義
したり、通信を行なうための”セツション”をセットア
ツプ又は持続したりすることを必要としない1通信機能
に対し指定されたレシーバ・プログラムがそれ自身を定
義することにより定義された後は、任意の数のセンタ・
プログラムが通信を開始する、即ちデータをレシーバ・
プログラムに送ることができる。レシーバ・プログラム
は通信機能に対し、それに送られる情報の指定されたセ
ンタ・プログラムが順次にAPF許可されなければなら
ないかどうかを指定することが許される。センタ・プロ
グラムが通信する、即ちデータをレシーバに送ることを
望むとき、中間通信機能プログラムはセンタのデータを
通信機能プログラム内のアドレス空間内のレシーバのバ
ッファ・キューに複写し、レシーバに対しそれが到来す
るデータを有することを通知し、制御を送信プログラム
に戻す、センタ・プログラムはレシーバ・プログラムが
そのデータを受取るのを待つ必要はなく、制御が戻ると
直ちに、再び同じレシーバに又は別のレシーバにデータ
送信を開始することができる。レシーバは中間通信機能
プログラムがそのために当該レシーバのバッファ・キュ
ー内に保持すべき情報のデータ・バッファの数の限界を
指定することができる。同様に、レシーバはそれが使用
可能なときは必ず、処理のためそのデータを検索するこ
とができる。レシーバがデータ検索要求を出す毎に、通
信機能は該データを、各の要求について1つのデータ・
バッファを、レシーバのアドレス空間及びメモリに複写
する。
センタ・プログラムは、たとえ該プログラムが現在活動
状態ではないときでも、なおデータをレシーバ−プログ
ラムに送ることができる。中間通信機能プログラムは指
定されたレシーバのデータを受は入れて保持し、センタ
・プログラムに対し該レシーバは現在活動状態ではない
ことを通知する状況コードを戻すことができる。レシー
バ・プログラムそれ自身は、中間通信機能プログラムに
対しそれがもはや活動状態ではないことを通知すること
ができる。更にレシーバ・プログラムは通信機能プログ
ラムがその非活動状態の間に受入し保持しなければなら
ない情報のデータ・バッファ数の限界を指定することが
できる。
通信機能プログラムはレシーバ・プログラムの通常又は
異常の終了をその都度必ず検出し、レシーバの専用の状
況を非活動状態にセットする。
前記の内容から、どんなタイプのコンピュータ・システ
ムにおいても、標準プログラム呼出し動作をサポートす
ることができる、任意に所望された高級プログラミング
言語を用いるプログラムによって用いることができる高
級な使いやすいプログラム対プログラム通信装置及び手
法が記述されていることが理解される。呼出し動作は、
容易に理解されるように、図示され詳細に記述されたモ
ジュールA−Gを必要とする中間プログラム対プログラ
ム通信機能プログラムそれ自身を要求し、ユーザ及びレ
シーバ・プログラム又は計算機の間の非同期、全二重及
び非”セツション”指向の通信をサポートする。
F8発明の効果 上述のごとく本願の方法によれば効率のよいプログラム
間通信が達成できる。
【図面の簡単な説明】
第1図はアーキテクチャ・レイアウト及びコンピュータ
・システム内のメモリの領域内に常駐する最初のプログ
ラムから同じメモリの別の領域内に常駐する通信機能プ
ログラムへのメツセージの流れ並びに該通信機能プログ
ラムから同じメモリ内に常駐するレシーバ・プログラム
へのメツセージの流れを示す図である。 第2図〜第8図はは第1図のプログラムA−Gの部分の
詳細な流れ図である。 メ(−一1ノメシ1IJi賢#1 」Lイあイづ(大εメモI〕4角域 メ(γ平艷Jk行2 L   +   +++++++++   +++++
   +++++   J、B+ 、、り 第4図 第7園

Claims (1)

    【特許請求の範囲】
  1. (1)アドレス可能メモリ、プロセッサ、及び複数の常
    駐する実行可能なプロセッサ・プログラムを有するコン
    ピュータ・システムにおいて、センタとして活動する1
    つの前記プログラムからレシーバとして活動する少なく
    とも1つの他の前記プログラムにデータ通信する方法に
    して: 通信機能プログラムを前記メモリに記憶するステップと
    、 前記通信機能プログラムを前記通信機能プログラムに対
    する予定レシーバとなるレシーバ・プログラムから呼出
    すステップと、 前記通信プログラムを前記システム内のセンタ・プログ
    ラムから呼出し、前記レシーバ・プログラムに伝達され
    るデータを前記通信機能プログラムに届けるステップと
    、 前記レシーバ・プログラムにより前記通信機能プログラ
    ムに該レシーバ・プログラムに対し指定された任意のデ
    ータを届けることを要求するステップと を含むデータ通信方法。
JP1260387A 1988-10-24 1989-10-06 データ通信方法 Expired - Lifetime JPH0766335B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26121288A 1988-10-24 1988-10-24
US261212 1988-10-24

Publications (2)

Publication Number Publication Date
JPH02144727A true JPH02144727A (ja) 1990-06-04
JPH0766335B2 JPH0766335B2 (ja) 1995-07-19

Family

ID=22992358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1260387A Expired - Lifetime JPH0766335B2 (ja) 1988-10-24 1989-10-06 データ通信方法

Country Status (4)

Country Link
US (1) US5287456A (ja)
EP (1) EP0366583B1 (ja)
JP (1) JPH0766335B2 (ja)
DE (1) DE68924040T2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69027788D1 (de) * 1989-01-17 1996-08-22 Landmark Graphics Corp Verfahren zur Übertragung von Daten zwischen gleichzeitig ablaufenden Rechnerprogrammen
US5230051A (en) * 1990-09-04 1993-07-20 Hewlett-Packard Company Distributed messaging system and method
JP2836283B2 (ja) * 1991-04-11 1998-12-14 日本電気株式会社 バッファ管理方式
JPH0522339A (ja) * 1991-07-16 1993-01-29 Toshiba Corp 電子メールシステム
US5267240A (en) * 1992-02-20 1993-11-30 International Business Machines Corporation Frame-group transmission and reception for parallel/serial buses
EP0657045B1 (en) * 1992-08-31 1998-01-21 The Dow Chemical Company Script-based system for testing a multi-user computer system
GB9301280D0 (en) * 1993-01-22 1993-03-17 Int Computers Ltd Communications handler for a data processing system
GB9301286D0 (en) * 1993-01-22 1993-03-17 Int Computers Ltd Data processing system
US5535334A (en) * 1993-01-29 1996-07-09 Storage Technology Corporation Fault-tolerant system-to-system communications system and method utilizing multiple communications methods to transfer a single message
US5787300A (en) * 1993-11-10 1998-07-28 Oracle Corporation Method and apparatus for interprocess communications in a database environment
US5664231A (en) * 1994-04-29 1997-09-02 Tps Electronics PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
EP0689139A3 (en) * 1994-06-22 1997-09-10 Ibm Anonymous response port method and apparatus for microkernel data processing system
EP0689137A3 (en) * 1994-06-22 1998-01-07 International Business Machines Corporation Message control structure registration method and apparatus for a microkernel data processing system
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US5621729A (en) * 1995-06-07 1997-04-15 Geophonic Networks, Inc. Receiver controlled communication system
US5771353A (en) * 1995-11-13 1998-06-23 Motorola Inc. System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server
US6101531A (en) * 1995-12-19 2000-08-08 Motorola, Inc. System for communicating user-selected criteria filter prepared at wireless client to communication server for filtering data transferred from host to said wireless client
GB2314729B (en) * 1995-12-19 2001-01-17 Motorola Inc Method and apparatus for rate governing communications
US6535929B1 (en) * 1996-07-02 2003-03-18 Sun Microsystems, Inc. Universal communication mechanism for applications running in a multitasking environment
JP2001202013A (ja) * 2000-01-21 2001-07-27 Nec Corp 匿名参加権限管理システム
WO2000062158A2 (en) * 1999-04-14 2000-10-19 Tyco Submarine Systems, Ltd. Method and apparatus for managing communications between multiple processes
JP4548146B2 (ja) * 2005-02-23 2010-09-22 日本電気株式会社 状態管理装置および方法およびプログラム
SG185678A1 (en) * 2010-06-21 2012-12-28 Nokia Corp Method and apparatus for changing the configuration of an ongoing streaming session
WO2012093202A1 (en) * 2011-01-07 2012-07-12 Nokia Corporation Method and apparatus for signaling presentation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6182244A (ja) * 1984-05-23 1986-04-25 Hitachi Ltd タスク間デ−タ送受信方式
JPS63150734A (ja) * 1986-12-16 1988-06-23 Fujitsu Ltd プロセス間通信制御方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4418382A (en) * 1980-05-06 1983-11-29 Allied Corporation Information exchange processor
US4630196A (en) * 1983-04-13 1986-12-16 At&T Information Systems, Inc. Store and forward facility for use in multiprocessing environment
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
DE3581000D1 (de) * 1984-05-19 1991-02-07 British Aerospace Industrielle verarbeitungs- und herstellungsverfahren.
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
CA1244555A (en) * 1985-06-17 1988-11-08 Walter H. Schwane Process transparent multi storage mode data transfer and buffer control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6182244A (ja) * 1984-05-23 1986-04-25 Hitachi Ltd タスク間デ−タ送受信方式
JPS63150734A (ja) * 1986-12-16 1988-06-23 Fujitsu Ltd プロセス間通信制御方式

Also Published As

Publication number Publication date
DE68924040T2 (de) 1996-04-18
EP0366583B1 (en) 1995-08-30
DE68924040D1 (de) 1995-10-05
JPH0766335B2 (ja) 1995-07-19
US5287456A (en) 1994-02-15
EP0366583A2 (en) 1990-05-02
EP0366583A3 (en) 1992-06-03

Similar Documents

Publication Publication Date Title
JPH02144727A (ja) データ通信方法
US4991089A (en) Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
US4949254A (en) Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5291597A (en) Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an SNA network
EP0362105B1 (en) Method for processing program threads of a distributed application program by a host computer and an intelligent work station in an SNA LU 6.2 network environment
EP0362106B1 (en) Method for scheduling execution of distributed application programs at preset times in an SNA LU 6.2 network environment
US5201049A (en) System for executing applications program concurrently/serially on different virtual machines
US5483647A (en) System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user
US5220674A (en) Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
EP0600235A1 (en) Cooperative processing interface and communication broker for heterogeneous computing environments
EP0592091A2 (en) Method and system for object management
US5410709A (en) Mechanism for rerouting and dispatching interrupts in a hybrid system environment
US5715474A (en) Simultaneous control of radio frequency modem in a multi-tasking system using a single session manager program with separate command queue for each application program
EP0561042B1 (en) Dual process display server
JP2000029724A (ja) マルチスレッドにおいてスレッドへ送信された入力を検出する方法及び装置
JP3490473B2 (ja) プロセッサ間通信システム
EP0807884B1 (en) Method and apparatus for disposing of objects in a multi-threaded environment
EP0317468B1 (en) Bus flow control system
US5727148A (en) Message control method and system
EP0321544B1 (en) Intercomputer communication control apparatus and method
JPS62126457A (ja) 分散デ−タ処理方式
JPH0378065A (ja) 周辺装置の受信制御方式
JP3456551B2 (ja) リモートメモリロードにおけるデッドロック回避方式
JPH04274524A (ja) プロセス間通信制御方式
JPH0334051A (ja) インターフエース制御方式