JPH06202883A - プロセス間通信装置及び通信方法 - Google Patents

プロセス間通信装置及び通信方法

Info

Publication number
JPH06202883A
JPH06202883A JP5256271A JP25627193A JPH06202883A JP H06202883 A JPH06202883 A JP H06202883A JP 5256271 A JP5256271 A JP 5256271A JP 25627193 A JP25627193 A JP 25627193A JP H06202883 A JPH06202883 A JP H06202883A
Authority
JP
Japan
Prior art keywords
message
semaphore
communication
buffer
asynchronous
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.)
Pending
Application number
JP5256271A
Other languages
English (en)
Inventor
James R Allen
アール.アレン ジェームス
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH06202883A publication Critical patent/JPH06202883A/ja
Pending 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/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 時分割単一プロセッサオペレーティングシス
テムにおけるリアルタイム及びマルチプロセッサアプリ
ケーションに対するサポートの欠如を克服するために、
既存のオペレーティングシステムに対して、非同期プロ
セス間通信機能を提供する。 【構成】 通信プロセス100、103は、データグラ
ムメッセージによって、各々同期セグメント101及び
非同期セグメント102を有する論理的非同期プロセス
間通信回線を介して通信する。この回線は、メッセージ
送信プロセス100とバッファ302及びセマフォー3
00に基づいて同期通信を行ない、メッセージ受信プロ
セス103とキュー602及び信号600に基づいて非
同期通信を行なうメッセージ配信ハブプロセス11を有
している。このハブプロセスはオペレーティングシステ
ムのどのようなプロセスレベルにおいてもインプリメン
トされうる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータオペレーテ
ィングシステムに関し、特にオペレーティングシステム
のプロセス間通信装置に関する。
【0002】
【従来の技術】コンピュータオペレーティングシステム
のプロセス間通信装置は、同期及び非同期という基本的
な2つのカテゴリーに分類されうる。同期プロセス間通
信は、複数のプロセスが通信を行なうために、共通のタ
イミング、所定の関係、あるいは逐次オペレーション等
共通に発生することを要求するものである。その反対
に、非同期プロセス間通信は、通信するプロセス間に規
則正しいすなわち予測可能な時間関係を有さずに発生す
るものである。同期及び非同期プロセス間通信のその他
の差異は、同期プロセス間通信が送信側プロセスに対し
て受信側プロセスの受信とその送信とを時間的に調整す
ることを要求するのに対して、非同期通信は送信側及び
受信側プロセスが互いに他方のオペレーションとは時間
的に独立に送信及び受信することを許可しているという
点である。
【0003】UNIX(R)オペレーティングシステム等
の単一プロセッサ時分割オペレーションをサポートする
ように設計されたオペレーティングシステムは、一般に
同期プロセス間通信を実現している。他方、マルチプロ
セッサ及びリアルタイムオペレーションは通常非同期プ
ロセス間通信をサポートしている。同期プロセス間通信
は輻輳したプロセス間においては一般に用いられにく
く、マルチプロセッサによるリアルタイムオペレーショ
ンを効果的にサポートするには余りにも行き詰まり易
い。
【0004】残念ながら、この要求のために、UNIX
システム等の効果的な非同期プロセス間通信機能を実現
できないポピュラーなオペレーティングシステムの使用
が制限されてしまっている。この種のポピュラーなオペ
レーティングシステムの利点は、その利用法に習熟した
数多くのデザイナーがいることであり、彼らは新たなプ
ロジェクトに対して即座に配置することが出来、さらに
実質的に初期開始・学習曲線に従うもの以上のやりよう
でそれらのプロジェクトに取り組むことが可能である。
前記利点には、さらに、ライブラリとして利用可能で新
たに設計する必要なく新たなプロジェクトにおいて再利
用されうる数多くのプログラムが既に存在しているとい
う点も含まれる。
【0005】もちろん、従来技術に係るオペレーティン
グシステムは、リアルタイムあるいはマルチプロセッサ
オペレーションをサポートするように、さらに非同期プ
ロセス間通信機構を含むように再設計されることもしば
しばある。しかしながら、このような再設計により、そ
れが依拠するオペレーティングシステムに関する前述さ
れたような利点を無くしてしまうような新たなオペレー
ティングシステムが生成されてしまうこともしばしばで
ある。この種の再設計されたオペレーティングシステム
の例は、UNIX−RTRオペレーティングシステムで
ある。これは、電話交換などのリアルタイムアプリケー
ションをサポートする、UNIXに基づくシステムであ
る。
【0006】
【発明が解決しようとする課題】結果として、必要とさ
れているのは、UNIXシステムなどのオペレーティン
グシステムに対して、その本来有するインターフェース
及び動作特性を害することなく合体させられうる非同期
プロセス間通信メカニズムである。しかしながら、UN
IXオペレーティングシステム及びそのクローン及びそ
こから派生したものによって提供されている標準的なオ
ペレーティングシステム機能は、その実現を困難にして
いる。オペレーティングシステムのプロセス間関連シス
テムコール(例えば、シェアードメモリ、セマフォー、
プロセス間メッセージ及び信号)は本質的に同期してな
されるものであり、非同期通信スキームによってサポー
トされるものではない。加えて、UNIXタイプのオペ
レーティングシステムは、通常、プロセススイッチを禁
止するような機能を提供しない。このため、複数個のプ
ロセスが同時にシェアードメモリをアクセスしてしまう
可能性が生じ、シェアードメモリの利点を非常に制限し
てしまうことになる。
【0007】
【課題を解決するための手段】本発明は、従来技術に係
る問題点を解決し、従来技術における要求を充足させる
ことを目的とするものである。本発明に従って、リアル
タイム及びマルチプロセッサアプリケーションに関する
限定されたサポートを克服する目的の、(UNIXオペ
レーティングシステム等の)オペレーティングシステム
に対して合体させられうる非同期プロセス間通信配置が
実現される。この非同期プロセス間通信配置は、単一の
プロセッサ内で通信する一対のプロセスのうちの、メッ
セージ送出側プロセスなどの第一のプロセスと通信する
同期通信パスセグメント、前記対のうちの第二のプロセ
スと通信する非同期通信パスセグメント、及び同期及び
非同期通信パスセグメントを相互に接続して前記一対の
プロセス間の通信経路を構成する、プロシージャなどの
配置とを有している。
【0008】具体的には、前記同期セグメントはセマフ
ォーに基づくものである。これはシェアードメモリ内に
実現され、複数個のメッセージ送出側プロセスによって
共有されたバッファを用いる。送出側プロセス及び前記
相互接続プロシージャによるバッファへのアクセスは、
3つの状態を取るセマフォーによってシリアル化されて
いる。さらに具体的には、前記非同期セグメントはバッ
ファに基づくものである。これは、シェアードメモリ内
に、各々のメッセージ受信プロセスに対して各々実現さ
れた環状バッファを用いる。各々のバッファに対する書
き込みポインタは前記相互接続プロシージャによって制
御され、各々のバッファに対する読み出しポインタは対
応するメッセージ受信プロセスによって制御される。前
記プロシージャは、信号機能によってメッセージ受信プ
ロセスにメッセージの存在を通知する。
【0009】本発明は、オペレーティングシステムに対
してその本来有するインターフェース及び動作特性を害
することなく合体させられうる非同期プロセス間通信メ
カニズムを提供する。よって、本発明は、既存のオペレ
ーティングシステムの既存の性質、機能あるいは利点を
害することなく、リアルタイム及びマルチプロセッサア
プリケーションをサポートする。本発明をインプリメン
トすることは容易である;具体的には、他のプロセスと
同じくインプリメントすることが可能である。さらに、
オペレーティングシステムのあらゆるプロセスレベルに
対して組み込むことが可能である。
【0010】
【実施例】図1は、コンピュータ10の論理図である。
コンピュータ10は、一つあるいは複数個のパーティシ
ョン1−Nを有している。コンピュータ10は各々のパ
ーティション1−Nが個別のプロセッサを表すようなマ
ルチプロセッサシステムでありうる。あるいは、コンピ
ュータ10は、パーティション1−Nがシステム内の関
数あるいはプロセスの論理的なグループ分けであるよう
な単一プロセッサシステムである場合もある。単一プロ
セッサシステム10は分割されている必要が無い、すな
わちそれは単一のパーティションより構成されている。
【0011】各々のパーティション1−Nは複数個の通
常のプロセス0−Kを有している。ここで、Kの値はパ
ーティション毎に異なるものとする。単一のパーティシ
ョン1−N内のプロセス0−Kは、個別のパーティショ
ン1−Nのオペレーティングシステムによって提供され
た従来技術に係るプロセス間通信装置によって、互い
に、及び他のパーティション1−N内のプロセスと、通
信する。よって、既存の機能は保持されている。具体的
には、パーティション1−Nの各々がUNIXオペレー
ティングシステムを実行しているか、あるいは全てのパ
ーティション1−Nが共通のオペレーティングシステム
を実行しているかのいずれかである。
【0012】本発明に従って、各々のパーティション1
−Nは、そのパーティション1−N内のプロセス間の非
同期プロセス間通信機能を実現するハブ関数11を有し
ており、そのパーティション内のプロセス0−Kと他の
パーティション1−N内のプロセス0−Kとの間の非同
期プロセス間通信機能を関連する単一あるいは複数個の
インターフェースノード12を介して実現する。インタ
ーフェースノード12は通信経路15によって直接相互
に接続されている。具体的には、各々の経路15は、イ
ーサネット(R)LAN上のTCP/IPプロトコルリン
ク、あるいは直列ポイントツーポイントモデム接続など
の従来技術に係る通信メカニズムである。各々のインタ
ーフェースノード12は、対応するパーティション1−
Nにおけるプロセスとしてインプリメントされている。
インターフェースノード12をプロセスとしてインプリ
メントすることにより、ハブ関数11が、パーティショ
ン間通信、すなわちインターフェースノード12を介し
た通信をプロセス0−K間のパーティション内通信と同
一に取り扱うことが可能になる。
【0013】各々のパーティション1−Nにおいては、
ハブ関数11そのものも、そのパーティションのオペレ
ーティングシステムによって提供されるあらゆるプロセ
スレベル内のプロセスとしてインプリメントされてい
る。例えば、UNIXオペレーティングシステムにおい
ては、ハブ関数11は、ユーザレベル(アプリケーショ
ン)プロセスか、あるいはオペレーティングシステム内
部のカーネルレベルプロセスかのいずれかとしてインプ
リメントされる。中間あるいはインタプリタ(シェル)
レベルとしてのインプリメンテーションも想定されてい
る。
【0014】図2に示されているように、ハブ関数11
は、送信側プロセス100と受信側プロセス103との
間の論理的非同期プロセス間通信経路を実現している。
プロセス100及び103は、プロセス0−Kとインタ
ーフェースノード12とからなる組に属している。各々
のプロセス間通信回線110は、2つの部分すなわちセ
グメントから成り立っている:送信プロセス100とハ
ブ関数11との間の同期プロセス間通信セグメント10
1及びハブ関数11と受信プロセス103との間の非同
期プロセス間通信セグメント102である。単一の同期
セグメント101は、送信プロセス100が複数個の受
信プロセス103に対して”放送”する場合などには、
複数個のプロセス間通信回線110の一部を形成する。
【0015】ハブ関数11は、送信プロセス100と受
信プロセス103との間のメッセージサーバとして機能
する。ハブ関数11は、各々図3及び図6に示されてい
るデータストラクチャ/ファシリティ200及び20
2、及び図5及び図7の流れ図によって示されたプロシ
ージャ201を有している。同期セグメント101は、
データストラクチャ/ファシリティ200とプロシージ
ャ201の図5に示された部分、及び図4に示された送
信プロセス100のプロシージャによってインプリメン
トされている。非同期セグメント102は、プロシージ
ャ201の図7に示された部分、データストラクチャ/
ファシリティ202、及び図8に示された受信プロセス
103のプロシージャとによってインプリメントされて
いる。よって、プロシージャ201はセグメント101
及び102とを結び付けて回線110を構成しているイ
ンターフェースとして機能する。
【0016】図3に示されているように、データストラ
クチャ/ファシリティ200は、シェアードメモリ30
1にインプリメントされたメッセージバッファ302及
び関連するセマフォー300とから成り立っている。シ
ェアードメモリ301は標準的なUNIXオペレーティ
ングシステムによってサポートされたメカニズムであ
り、複数個のプロセス0−K、インターフェースノード
12、及びハブ関数11が、それら自体のアドレス空間
の一部を物理的なメモリにおける同一の部分302に対
してマッピングすることを許可するものである。セマフ
ォーファシリティ304もUNIXオペレーティングシ
ステムによってサポートされたメカニズムであり、リー
ド・モディファイ・ライト(RMW)オペレーションシ
ーケンスがメモリロケーションに対するアトミックオペ
レーションとして実行されることを許可するものであ
る。セマフォーファシリティ304はセマフォー300
及び関連するセマフォーキュー303を有している。セ
マフォー300は、”0”、”1”、及び”3”という
3つの状態すなわち値を取る。セマフォー300は、”
3”という値を有するように初期化されている。UNI
Xオペレーティングシステムにおいては一般的なことで
あるが、セマフォーの値を負の値に変更しようとするセ
マフォー300に係るRMWシーケンスを実行しようと
試みるあらゆるプロセスはセマフォーキュー303に係
るUNIXオペレーティングシステムによって自動的に
スリープ状態にさせられ、(a)それがキュー303の
先頭に到達した場合、及び(b)直前に試みられたRM
Wシーケンスの実行の結果、セマフォーの値が負の値に
変更されない場合の双方の場合にのみオペレーティング
システムによって呼び起こされる。セマフォー300
は、メッセージバッファ302に関する”クリティカル
領域”と従来呼称されてきたものをインプリメントす
る:このことにより、メッセージバッファ302に対し
てアクセスするプロセスが常時必ず一つであることが保
証される。
【0017】プロセス0−Kあるいはインターフェース
ノード12が、プロセス間通信回線110による、他の
プロセス0−Kあるいはインターフェースノード12と
の通信を希望する場合には、図4に示されたプロシージ
ャを実行して送信プロセス100となる。ステップ40
0において起動されると、このプロシージャは、ステッ
プ401においてセマフォー300の値を2だけ減ずる
RWMシーケンスの実行を試みる。このRWMシーケン
スによる試行が成功する唯一の場合がセマフォー300
が”3”という値を持っていた場合であり、このことは
メッセージバッファ302が空で利用可能であることを
示している。セマフォー300の値が”1”あるいは”
0”であった場合には、このRWMシーケンスは停止す
る。なぜなら、セマフォー300の値が負になってしま
い、送信プロセス100がキュー303上に並べられて
スリープ状態にさせられてしまうからである(ステップ
402)。送信プロセス100がキュー303の先頭に
到達してセマフォー300が”3”という値を再び獲得
した場合に送信プロセス100は呼び起こされて(ステ
ップ403)、再びステップ401に戻って直前にフェ
ールしたRWMシーケンスを再び繰り返す。
【0018】ステップ401におけるRWMシーケンス
が成功した場合は、セマフォー300の値が”1”とな
る。これは、メッセージバッファ302が使用中であ
り、充填されつつあることを示している。ステップ40
1に引き続いて、図4のプロシージャは、ステップ40
4において、送信プロセス100が送信したいと思って
いるメッセージをメッセージバッファ302に転送す
る。具体的には、このメッセージはデータグラムの形態
を有している。このメッセージには、このメッセージを
受信することが企図されている一つあるいは複数個の受
信プロセス103の識別子が含まれている。その後、こ
のプロシージャは、ステップ405において、セマフォ
ー300の値を1だけ減ずるRWMシーケンスの実行を
試みる。ステップ401及び405は必ず同じ順序で実
行されるため、この試行はエラーの場合を除いてはフェ
ールすることがない。よって、セマフォー300の値は
ステップ405において”0”となり、メッセージバッ
ファ302が使用中でメッセージによって充填されてい
ることが示される。以上でこのタスクは完了し、ステッ
プ406において起動されたポイントに戻る。
【0019】ハブ関数11のプロシージャ201は、そ
の対応するパーティション1−Nの初期化によって実行
を開始する。図5のステップ500において起動される
と、プロシージャ201は、ステップ501においてセ
マフォー300を読み出し、ステップ502においてそ
の値が”0”であるか否かを決定する。”0”ではない
場合には、メッセージバッファ302にはメッセージが
ストアされていないことになり、プロシージャ201は
ステップ501に戻ってメッセージの到着を待機する。
あるいは、CPUリソースの消費を避けるために、プロ
シージャ201はセマフォー300に関してスリープ状
態となり、セマフォー300の値が”0”となった場合
に呼び起こされることになる。セマフォーの値が”0”
である場合は、メッセージバッファ302にメッセージ
がストアされていることを意味しており、プロシージャ
201はステップ503においてストアされたメッセー
ジを回復する。このことによって、メッセージバッファ
302は別の送信プロセス100によって用いられうる
ようになる。プロシージャ201は、セマフォー300
に関するRWMシーケンスを実行してセマフォー300
の値を3だけ増加させる、すなわち”3”という値に戻
すことによりこのことを通知する。その後、プロシージ
ャ201は図7のステップ700に移行する。
【0020】図6において、データストラクチャ/ファ
シリティ202は、シェアードメモリ301にインプリ
メントされた複数個の環状データキュー602を有して
いる。一つのデータキュー602はプロセス0−K及び
インターフェースノード12の各々に、すなわち受信プ
ロセス103となりうる各々のものに対応している。
【0021】キュー602のインプリメンテーション
は、UNIXオペレーティングシステムがプロセススイ
ッチングを妨げるあらゆるメカニズムをサポートしない
という事実に敏感でなければならない。結果として、プ
ロセス201と103との間のスイッチングはあらゆる
タイミングで、すなわち実行中のプロセスがキュー60
2に関して操作中である場合にも起こりうる。このよう
な状況を取り扱うための一つの方法は、キュー602に
関して2つの参照ストラクチャ−読み出しインデックス
及び書き込みインデックス−のみを許可し、各々の参照
ストラクチャがプロセス201及び103のうちの一つ
のみによって排他的に操作されることを許可することで
ある。さらに、読み出し及び書き込みインデックスへの
全ての読み出し及び書き込み操作がアトミック操作であ
ることを保証しなければならない。例えば、あるマシン
においては、読み出し及び書き込みインデックスは各々
その長さが1バイトに制限されていなければならない。
従って、各々のキュー602は複数個のエントリ605
から構成されており、ハブ関数11の制御下にある関連
する書き込み(W)ポインタ603及び対応する受信プ
ロセス103の制御下にある読み出し(R)ポインタ6
04を有している。プロシージャ201はメッセージを
キュー602に書き込む。受信プロセス103は、各々
対応するキュー602からメッセージを回復する。さら
に、データストラクチャ/ファシリティ202に含まれ
ているのは、従来技術に係るUNIXシステム信号ファ
シリティ600である。これは、プロセスに対して、ト
ラップやインタラプトなどの非同期イベントの発生を通
知するメカニズムである。
【0022】図5においてメッセージバッファ302か
らメッセージを回復した後、プロシージャ201は、ス
テップ700において、そのメッセージの内容からその
メッセージの宛先である受信プロセス103の識別を決
定する。その後、プロシージャ201は、ステップ70
1において、受信プロセスの対応するキュー602がフ
ルであるか否かをチェックする。キュー602がフルで
ある場合には、プロシージャ201はメッセージを放棄
し、図5のステップ501に戻る。送信プロセス100
に対してメッセージの伝達に失敗したことを通知する必
要はない。なぜなら、メッセージ伝達を保証しないデー
タグラムプロトコルが用いられているからである。デー
タグラムプロトコルを用いる場合は、メッセージの再送
信はアプリケーションの責任である。
【0023】プロシージャ201が、ステップ701に
おいて、受信プロセス103のキュー602がフルでは
ないと決定した場合には、プロシージャ201は、ステ
ップ705において、そのキューに関連しているWポイ
ンタ603によって指し示されているそのキューのエン
トリ605に回復されたメッセージを書き込み、ステッ
プ706においてWポインタ603をインクリメントす
る。その後、プロシージャ201は、ステップ707に
おいて、書き込まれたメッセージのみがそのキュー60
2に存在しているのか否か、すなわち、キュー602が
その以前には空であったのか否かを再び従来技術に係る
方法によりチェックする。キュー602がそれ以前には
空であった場合には、プロシージャ201は、ステップ
708において、信号ファシリティ600に、受信プロ
セス103に対してその関連しているキュー602にメ
ッセージが存在していることを通知するメッセージを送
出させる。その後、プロシージャ201は図5のステッ
プ501に戻る。
【0024】プロシージャ201によってステップ70
8で送出させられた信号の受信に応答して、受信プロセ
ス103は図8のプロシージャを実行する。このプロシ
ージャは、ステップ800において起動されると、ステ
ップ801において、受信プロセスの対応するキュー6
02をアクセスしてそのキューのRポインタ604に指
し示されたエントリ605からメッセージを回復する。
その後、ステップ802において、Rポインタ604が
インクリメントされる。このプロシージャは、その後、
ステップ803において、キュー602が空であるか否
かを従来技術に係る方法でチェックする。空ではなかっ
た場合には、プロシージャはステップ801に戻ってキ
ュー602から別のメッセージを回復する。キュー60
2がもはや空である場合には、このプロシージャは、ス
テップ804において、このプロシージャを起動した信
号をクリアし、ステップ805において、起動されたポ
イントへ戻る。送信及び受信プロセスの間のプロセス間
通信はこのようにして完了する。
【0025】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。例えば、広範囲のプロセッサ間通
信スキームが用いられうる。本明細書に記載された技法
はプロセッサ間通信メカニズムに依存しない。また、マ
ルチプロセッサが共通のキャビネット内の単一のマシン
としてインプリメントされる場合もあり、個別のマシン
のネットワークである場合もある。さらに、環状バッフ
ァ以外のデータキューストラクチャも用いられる。加え
て、UNIXプロセス間メッセージファシリティがセマ
フォーあるいはシェアードメモリに置換される場合も有
り得る。
【0026】
【発明の効果】以上述べたごとく、本発明によれば、既
存のオペレーティングシステムに対してその利点を損な
うことなく合体させられうる非同期プロセス間通信配置
及びその方法が提供される。
【図面の簡単な説明】
【図1】本発明に係る実施例を組み込んだコンピュータ
の論理図。
【図2】図1のコンピュータにおけるプロセス間通信リ
ンクを示すブロック図。
【図3】図2のリンクにおけるハブ関数の同期データス
トラクチャ関数ブロックを示すブロック図。
【図4】図2のリンクにおける送信プロセスの同期プロ
シージャを示す流れ図。
【図5】図2のリンクにおけるハブ関数のプロシージャ
の同期部分を示す流れ図。
【図6】図2のリンクにおけるハブ関数の非同期データ
ストラクチャ関数ブロックを示すブロック図。
【図7】図2のリンクにおけるハブ関数のプロシージャ
の非同期部分を示す流れ図。
【図8】図2のリンクにおける受信プロセスの非同期プ
ロシージャを示す流れ図。
【符号の説明】
10 コンピュータ 11 ハブ関数 12 インターフェースノード 15 通信経路 100 送信プロセス 101 同期セグメント 102 非同期セグメント 103 受信プロセス 110 プロセス間通信回線 200、202 データストラクチャ/ファシリティ 201 プロシージャ 300 セマフォー 301 シェアードメモリ 302 メッセージバッファ 303 セマフォーキュー 304 セマフォーファシリティ 600 信号ファシリティ 602 キュー 603 書き込みポインタ 604 読み出しポインタ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 プロセス間通信装置において、 単一のプロセッサ内の一対の通信プロセスの内の第一の
    プロセスと通信する同期通信経路セグメント(101)
    と、 前記通信プロセス対の内の第二のプロセスと通信する非
    同期通信経路セグメント(102)と、 前記通信プロセス対の双方のプロセス間に延在する通信
    経路を形成するために、前記同期通信経路セグメントと
    非同期通信経路セグメントとを相互接続する手段(20
    1)とを有することを特徴とする通信装置。
  2. 【請求項2】 前記相互接続手段が、 前記第一のプロセスから前記第二のプロセス宛の通信を
    受信するために前記同期通信経路セグメントを介して前
    記第一のプロセスと同期通信を行なう第一の手段と、 前記第二のプロセスへ前記受信された通信を伝達するた
    めに前非記同期通信経路セグメントを介して前記第二の
    プロセスと非同期通信を行なう第二の手段と を有する
    ことを特徴とする請求項1の通信装置。
  3. 【請求項3】 前記同期通信経路セグメントが、シェア
    ードメモリメッセージバッファと、前記メモリバッファ
    の周囲にクリティカル領域を生成するセマフォー手段と
    を有し、 前記非同期通信経路セグメントが、読み出しポインタ及
    び書き込みポインタを有するシェアードメモリメッセー
    ジキューと、前記キュー内のメッセージの存在を通知す
    る信号手段とを有することを特徴とする請求項1の通信
    装置。
  4. 【請求項4】 前記装置が、UNIXシステムが動作す
    る環境においてUNIXシステムファシリティを用いて
    インプリメントされていることを特徴とする請求項1の
    通信装置。
  5. 【請求項5】 前記同期通信経路が、 複数個のメッセージ送信プロセスによって用いられるメ
    ッセージバッファと、 前記メッセージバッファへのアクセスを制御するため
    の、3つの値を取りうる、前記バッファに関連したセマ
    フォーと、 前記第一のプロセスに関連し、前記セマフォーが、前記
    バッファが前記メッセージ送信プロセスによって利用可
    能であることを示す第一の状態にある場合に前記セマフ
    ォーを第二の状態にして前記メッセージバッファの前記
    第一のプロセスによる排他的利用を予約するための前記
    セマフォーに対する第一の操作を実行し、さらに、前記
    予約に応答して、前記メッセージバッファにメッセージ
    をストアしかつ前記メッセージバッファを前記相互接続
    手段が用いることを許可する第三の状態に前記セマフォ
    ーをするために前記セマフォーに対して第二の操作を実
    行する第一の操作手段とを有しており、前記相互接続手
    段が、前記セマフォーが前記第三の状態にあることに応
    答して前記メッセージバッファから前記ストアされたメ
    ッセージを回復し、前記セマフォーを前記第一の状態に
    するために前記セマフォーに対して第三の操作を実行す
    る第二の操作手段とを有することを特徴とする請求項1
    の通信装置。
  6. 【請求項6】 前記非同期通信経路が、 各々相異なったメッセージ受信プロセスに関連した複数
    個のメッセージバッファと、 信号を選択されたメッセージ受信プロセスに送出する手
    段と、 前記第二のプロセスに関連しており、前記信号送出手段
    からの信号の受信に応答して前記第二のプロセスに関連
    する前記メッセージバッファの内の一つからストアされ
    たメッセージを回復する第一の操作手段とを有してお
    り、前記相互接続手段が、 前記第二のプロセスに関連する前記メッセージバッファ
    の内の一つに回復されたメッセージをストアしかつ前記
    信号送出手段に前記第二のプロセス宛に信号を送出させ
    る前記第二の操作手段を有することを特徴とする請求項
    1の通信装置。
  7. 【請求項7】 前記同期通信経路が、 複数個のメッセージ送信プロセスによって用いられるメ
    ッセージバッファと、 前記メッセージバッファと関連しており前記メッセージ
    バッファへのアクセスを制御し3つの可能な状態を取り
    うるセマフォーと、 前記第一のプロセスに関連し、前記セマフォーが、前記
    バッファが前記メッセージ送信プロセスによって利用可
    能であることを示す第一の状態にある場合に前記セマフ
    ォーを第二の状態にして前記メッセージバッファの前記
    第一のプロセスによる排他的利用を予約するための前記
    セマフォーに対する第一の操作を実行し、さらに、前記
    予約に応答して、前記メッセージバッファにメッセージ
    をストアしかつ前記メッセージバッファを前記相互接続
    手段が用いることを許可する第三の状態に前記セマフォ
    ーをするために前記セマフォーに対して第二の操作を実
    行する第一の操作手段とを有し、前記相互接続手段が、 前記セマフォーが前記第三の状態にあることに応答して
    前記メッセージバッファから前記ストアされたメッセー
    ジを回復し、前記セマフォーを前記第一の状態にするた
    めに前記セマフォーに対して第三の操作を実行する第二
    の操作手段を有し、 前記非同期通信経路が、 各々相異なったメッセージ受信プロセスに関連した複数
    個のメッセージバッファと、 信号を選択されたメッセージ受信プロセスに送出する手
    段と、 前記第二のプロセスに関連しており、前記信号送出手段
    からの信号の受信に応答して前記第二のプロセスに関連
    する前記メッセージバッファの内の一つからストアされ
    たメッセージを回復する第三の操作手段とを有し、前記
    相互接続手段が、 前記第二の操作手段による前記メッセージの回復に応答
    して前記第二のプロセスに関連する前記メッセージバッ
    ファの内の一つに前記回復されたメッセージをストアし
    かつ前記信号送出手段に前記第二のプロセス宛に信号を
    送出させる前記第四の操作手段を有することを特徴とす
    る請求項1の通信装置。
  8. 【請求項8】 プロセス間通信方法において、 単一のプロセッサ内の一対の通信しているプロセスの内
    の第一のプロセスと、前記第一のプロセスから前記第二
    のプロセス宛の通信を受信するために同期通信を行なう
    ステップと、 前記通信の受信に応答して前記対の内の第二のプロセス
    と、前記第二のプロセス宛に前記受信された通信を伝達
    するために非同期通信するステップとを有することを特
    徴とするプロセス間通信方法。
  9. 【請求項9】 前記同期通信を行なうステップが、シェ
    アードメモリメッセージバッファを介して前記第一のプ
    ロセスと、前記メッセージバッファの周囲にクリティカ
    ル領域を生成するためにセマフォーファシリティを用い
    て通信するステップを有し、 前記非同期通信を行なうステップが、読み出しポインタ
    及び書き込みポインタを有するシェアードメモリキュー
    を介して前記第二のプロセスと、前記第二のプロセスに
    前記キュー内のメッセージの存在を通知するために信号
    ファシリティを用いて通信するステップを有しているこ
    とを特徴とする請求項8の通信方法。
  10. 【請求項10】 前記方法が、UNIXシステムの動作
    する環境でUNIXシステムファシリティを用いてイン
    プリメントされていることを特徴とする請求項8の通信
    方法。
JP5256271A 1992-09-24 1993-09-21 プロセス間通信装置及び通信方法 Pending JPH06202883A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US951488 1992-09-24
US07/951,488 US5434975A (en) 1992-09-24 1992-09-24 System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications

Publications (1)

Publication Number Publication Date
JPH06202883A true JPH06202883A (ja) 1994-07-22

Family

ID=25491734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5256271A Pending JPH06202883A (ja) 1992-09-24 1993-09-21 プロセス間通信装置及び通信方法

Country Status (3)

Country Link
US (1) US5434975A (ja)
EP (1) EP0592117A3 (ja)
JP (1) JPH06202883A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017504887A (ja) * 2013-12-18 2017-02-09 オラクル・インターナショナル・コーポレイション コンピューティング環境においてアダプティブビジーウェイトをサポートするためのシステムおよび方法

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4219693A (en) * 1992-09-30 1994-04-14 Apple Computer, Inc. Inter-task buffer and connections
JP2931490B2 (ja) * 1992-12-18 1999-08-09 富士通株式会社 並列処理方式
JPH07244644A (ja) * 1994-03-04 1995-09-19 Mitsubishi Electric Corp エージェント管理システム
US5548780A (en) * 1994-07-21 1996-08-20 Apple Computer, Inc. Method for semaphore communication between incompatible bus locking architectures
US5758184A (en) * 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US6587889B1 (en) * 1995-10-17 2003-07-01 International Business Machines Corporation Junction manager program object interconnection and method
US6532487B1 (en) 1995-12-04 2003-03-11 International Business Machines Corporation Method and system for managing semaphores in an object-oriented multi-tasking computer system
US5848272A (en) * 1996-06-04 1998-12-08 Lucent Technologies Inc. Object-oriented intra-process messaging arrangement for windows environments
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6477584B1 (en) * 1997-03-21 2002-11-05 Lsi Logic Corporation Message FIFO empty early warning method
US5999969A (en) * 1997-03-26 1999-12-07 Unisys Corporation Interrupt handling system for message transfers in network having mixed hardware and software emulated modules
US5983266A (en) * 1997-03-26 1999-11-09 Unisys Corporation Control method for message communication in network supporting software emulated modules and hardware implemented modules
US5944788A (en) * 1997-03-26 1999-08-31 Unisys Corporation Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules
US6167423A (en) * 1997-04-03 2000-12-26 Microsoft Corporation Concurrency control of state machines in a computer system using cliques
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6131094A (en) * 1998-04-24 2000-10-10 Unisys Corp. Method for performing asynchronous writes to database logs using multiple insertion points
US6122713A (en) * 1998-06-01 2000-09-19 National Instruments Corporation Dual port shared memory system including semaphores for high priority and low priority requestors
US6629152B2 (en) * 1998-06-29 2003-09-30 International Business Machines Corporation Message passing using shared memory of a computer
GB2340265B (en) * 1998-07-31 2003-04-23 Sony Uk Ltd Data processing
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6487665B1 (en) 1998-11-30 2002-11-26 Microsoft Corporation Object security boundaries
US6574736B1 (en) 1998-11-30 2003-06-03 Microsoft Corporation Composable roles
US6385724B1 (en) 1998-11-30 2002-05-07 Microsoft Corporation Automatic object caller chain with declarative impersonation and transitive trust
US6324600B1 (en) * 1999-02-19 2001-11-27 International Business Machines Corporation System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states
EP1033654A1 (en) * 1999-03-01 2000-09-06 Sony International (Europe) GmbH Buffered communication between entities operating at different data rates
US6671742B1 (en) * 1999-06-15 2003-12-30 At&T Corp. Method and apparatus for unifield control and data event exchange in a software system
US7634453B1 (en) 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
US7013465B1 (en) * 1999-08-17 2006-03-14 Emc Corporation System, device and method for interprocessor communication in a computer system
WO2001016740A2 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Efficient event waiting
US6631431B1 (en) * 1999-09-15 2003-10-07 Koninklijke Philips Electronics N.V. Semaphore coding method to ensure data integrity in a can microcontroller and a can microcontroller that implements this method
US7152231B1 (en) * 1999-11-01 2006-12-19 Harris-Exigent, Inc. High speed interprocess communication
CN1211737C (zh) 1999-12-30 2005-07-20 皇家菲利浦电子有限公司 多任务处理软件体系结构
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US6874143B1 (en) 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
EP1325427A2 (en) 2000-06-21 2003-07-09 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US6799317B1 (en) 2000-06-27 2004-09-28 International Business Machines Corporation Interrupt mechanism for shared memory message passing
US6792604B1 (en) * 2000-09-29 2004-09-14 International Business Machines Corporation Interprocess communication mechanism
US6954933B2 (en) * 2000-10-30 2005-10-11 Microsoft Corporation Method and apparatus for providing and integrating high-performance message queues in a user interface environment
US6985951B2 (en) * 2001-03-08 2006-01-10 International Business Machines Corporation Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment
US7089558B2 (en) 2001-03-08 2006-08-08 International Business Machines Corporation Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment
US20020129172A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a shared I/O driver
US6971001B1 (en) * 2001-05-17 2005-11-29 Accenture Global Services Gmbh General and reusable components for defining net-centric application program architectures
US7152232B2 (en) * 2001-07-16 2006-12-19 Sun Microsystems, Inc. Hardware message buffer for supporting inter-processor communication
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6954817B2 (en) * 2001-10-01 2005-10-11 International Business Machines Corporation Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities
US6944787B2 (en) * 2001-10-01 2005-09-13 International Business Machines Corporation System-managed duplexing of coupling facility structures
US6910158B2 (en) * 2001-10-01 2005-06-21 International Business Machines Corporation Test tool and methods for facilitating testing of duplexed computer functions
US6813726B2 (en) 2001-10-01 2004-11-02 International Business Machines Corporation Restarting a coupling facility command using a token from another coupling facility command
US7099935B2 (en) * 2001-10-01 2006-08-29 International Business Machines Corporation Dynamically determining whether to process requests synchronously or asynchronously
US20030101291A1 (en) * 2001-11-23 2003-05-29 Mussack Christopher Joseph Application programming interface for provision of DICOM services
TW573254B (en) * 2002-01-07 2004-01-21 Via Tech Inc Message transmission queue and operation method thereof
US7703077B2 (en) * 2002-04-30 2010-04-20 Microsoft Corporation Programming model to detect deadlocks in concurrent programs
DE60304468T2 (de) * 2002-06-07 2007-03-15 Koninklijke Philips Electronics N.V. Spacecake coprozessor kommunikation
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7516145B2 (en) 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
US7168035B1 (en) 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7581177B1 (en) 2003-08-01 2009-08-25 Microsoft Corporation Conversion of structured documents
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7797669B1 (en) 2004-02-13 2010-09-14 Microsoft Corporation Analysis of distributed software systems via specification substitution
US7430711B2 (en) 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7568101B1 (en) 2004-05-13 2009-07-28 Microsoft Corporation Digital signatures with an embedded view
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7584417B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7509353B2 (en) 2004-11-16 2009-03-24 Microsoft Corporation Methods and systems for exchanging and rendering forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7437376B2 (en) 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US7543228B2 (en) 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
CN100351799C (zh) * 2005-09-12 2007-11-28 浙江大学 嵌入式实时操作系统中基于消息对象的任务间通信方法
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US7949815B2 (en) 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
EP2304567A2 (en) * 2008-05-20 2011-04-06 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
WO2009143106A1 (en) * 2008-05-20 2009-11-26 Raytheon Company System and method for dynamic contact lists
US8271996B1 (en) * 2008-09-29 2012-09-18 Emc Corporation Event queues
US8726287B2 (en) * 2010-11-24 2014-05-13 Thomson Licensing Method for reducing inter-process communication latency
US10216553B2 (en) * 2011-06-30 2019-02-26 International Business Machines Corporation Message oriented middleware with integrated rules engine
RU2568292C2 (ru) * 2013-12-27 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия
US9925492B2 (en) * 2014-03-24 2018-03-27 Mellanox Technologies, Ltd. Remote transactional memory
US10642780B2 (en) 2016-03-07 2020-05-05 Mellanox Technologies, Ltd. Atomic access to object pool over RDMA transport network
US10552367B2 (en) 2017-07-26 2020-02-04 Mellanox Technologies, Ltd. Network data transactions using posted and non-posted operations
TWI712894B (zh) * 2019-09-09 2020-12-11 瑞昱半導體股份有限公司 訊息請求方法及其裝置
CN112114983B (zh) * 2020-09-14 2022-04-19 深圳花儿数据技术有限公司 一种基于共享内存的通信方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57152066A (en) * 1981-03-16 1982-09-20 Tokyo Electric Co Ltd Opu communication system in multi-opu system
JPS6254354A (ja) * 1985-09-03 1987-03-10 Fujitsu Ltd 計算機間の送受信方式
JPH0334051A (ja) * 1989-06-30 1991-02-14 Tamura Electric Works Ltd インターフエース制御方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4390969A (en) * 1980-04-21 1983-06-28 Burroughs Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
US4379327A (en) * 1980-07-21 1983-04-05 Motorola, Inc. Universal interface circuit for synchronous and asynchronous buses
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
EP0260392A3 (en) * 1986-09-19 1992-03-11 International Business Machines Corporation An input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the buses
US5086498A (en) * 1987-01-23 1992-02-04 Hitachi, Ltd. Parallel computer with asynchronous communication facility
US5179705A (en) * 1988-03-23 1993-01-12 Dupont Pixel Systems, Ltd. Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource
US4897779A (en) * 1988-07-20 1990-01-30 Digital Equipment Corporation Method and apparatus for optimizing inter-processor instruction transfers
US5040109A (en) * 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
US5191657A (en) * 1989-11-09 1993-03-02 Ast Research, Inc. Microcomputer architecture utilizing an asynchronous bus between microprocessor and industry standard synchronous bus
US5263150A (en) * 1990-04-20 1993-11-16 Chai I Fan Computer system employing asynchronous computer network through common memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57152066A (en) * 1981-03-16 1982-09-20 Tokyo Electric Co Ltd Opu communication system in multi-opu system
JPS6254354A (ja) * 1985-09-03 1987-03-10 Fujitsu Ltd 計算機間の送受信方式
JPH0334051A (ja) * 1989-06-30 1991-02-14 Tamura Electric Works Ltd インターフエース制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017504887A (ja) * 2013-12-18 2017-02-09 オラクル・インターナショナル・コーポレイション コンピューティング環境においてアダプティブビジーウェイトをサポートするためのシステムおよび方法

Also Published As

Publication number Publication date
EP0592117A2 (en) 1994-04-13
US5434975A (en) 1995-07-18
EP0592117A3 (en) 1994-04-20

Similar Documents

Publication Publication Date Title
JPH06202883A (ja) プロセス間通信装置及び通信方法
US5282272A (en) Interrupt distribution scheme for a computer bus
US5261109A (en) Distributed arbitration method and apparatus for a computer bus using arbitration groups
KR100268565B1 (ko) 다중 처리 시스템에서 타스크를 큐잉하기 위한 시스템 및 방법
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US5638517A (en) Method and apparatus for transmitting a message from a computer system over a network adapter to the network by performing format conversion and memory verification
JPH06309252A (ja) 相互接続インタフェース
JPH03126158A (ja) スケジユーリング方法及び装置
US5271020A (en) Bus stretching protocol for handling invalid data
KR19990082226A (ko) 버스 구조 위에서의 데이터 전달 및 버스 관리를 위한 응용 프로그래밍 인터페이스
JPH0944424A (ja) 遠隔情報処理システム間のメッセージ伝送方法
US7140015B1 (en) Microkernel for real time applications
EP1302853A2 (en) Data transfer, synchronising applications, and low latency networks
US6052729A (en) Event-reaction communication protocol in an object oriented processor array
JP2501727B2 (ja) 問題プログラム状態におけるメモリ間通信機能を提供するための方法
JPH10307732A (ja) メッセージ伝送方法
JP2002518765A (ja) 通信コントローラメッセージングシステム
JP2736237B2 (ja) 遠隔メモリアクセス制御装置
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
US20010025324A1 (en) Data communication method and apparatus, and storage medium storing program for implementing the method and apparatus
JP2924783B2 (ja) リモートリード処理方法およびその装置
Giacomini et al. Low-level SCI software functional specification
JP3176472B2 (ja) データ転送方式
KR960006472B1 (ko) TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법
Menzilcioglu et al. Nectar CAB: A high-speed network processor