JP3606541B2 - 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法 - Google Patents
複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法 Download PDFInfo
- Publication number
- JP3606541B2 JP3606541B2 JP12504398A JP12504398A JP3606541B2 JP 3606541 B2 JP3606541 B2 JP 3606541B2 JP 12504398 A JP12504398 A JP 12504398A JP 12504398 A JP12504398 A JP 12504398A JP 3606541 B2 JP3606541 B2 JP 3606541B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- computer node
- receiving
- node
- receiving computer
- 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 - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明は、双方向非同期通信チャネルによって相互接続された複数の非同期コンピュータ・ノードをもつコンピュータ・システムの中のメッセージ伝送に関し、詳細には、送信元コンピュータ・ノードと宛先コンピュータ・ノードとの間のメッセージ伝送時間を減少させるために、このようなコンピュータ・システム内で早期到達メッセージ(early arrival messages)を処理するための方法、およびシステムに関する。
【0002】
【従来の技術】
プロセッサ間の対話にメッセージ伝送を用いる並列のコンピュータにおいて、送信元プロセッサ上のユーザ・プログラムは送られるメッセージを指定し、宛先プロセッサ上のユーザ・プログラムはメッセージが受信される位置を示す。受信されたメッセージが保管される位置を示す操作は、「バッファの通知(post)」と呼ばれる。バッファが通知されてない場合は、ハードウェアとソフトウェアの結合体として動作している通信システムは、メッセージ・データの保管場所の情報がないので、メッセージを受信できない。
【0003】
送信元プロセッサ及び宛先プロセッサは、非同期で動作すると想定されているので、メッセージを送る送信元プロセッサのユーザ・コマンドは、宛先プロセッサのユーザ・コマンドが対応するバッファを通知するために実行されるよりも前に実行されるかもしれない。通常の動作では、メッセージは上記のように、メッセージ用のバッファが通知される前に、通信システムの宛先プロセッサのハードウェア・アダプタに到着するかもしれない。
【0004】
以前のプロトコルは、送信元プロセッサにこのメッセージを手元に保管させて伝送させないことによって、この問題を処理していた。宛先プロセッサのユーザ・プログラムがバッファを通知したとき、通信システムは、送信元プロセッサに「プル(pull)」メッセージを送り、受信可能である宛先プロセッサにメッセージを送るように通知した。しかしこの解決法は、時間効率を悪くする難点があり、それは、すべてのメッセージ伝送が二度の伝送時間を必要とするからである。即ち、「プル」メッセージのための宛先プロセッサから送信元プロセッサへの伝送、及びメッセージのための送信元プロセッサから宛先プロセッサへの伝送である。このプロトコルは三度の伝送時間を必要とすることもあり、それは、送信元プロセッサがメッセージ・ヘッダを送り、宛先プロセッサに「プル」メッセージを送れることを通知することもあるからである。
【0005】
【発明が解決しようとする課題】
上記のように、双方向非同期通信チャネルによって相互接続された複数の非同期コンピュータ・ノードをもつコンピュータ・システム内で、送信元コンピュータ・ノードと受信コンピュータ・ノードとの間の伝送時間を減少させるための、改善されたメッセージ処理プロトコルの必要性が当分野で認識されている。本発明はこの必要性に対処し、特に早期到達メッセージ、即ち、該メッセージ用の受信バッファが通知される前に受信コンピュータ・ノードに到達するメッセージを処理するための、改善されたプロトコルを提供する。
【0006】
【課題を解決するための手段】
簡潔に説明すると、本発明は1つの特徴として、双方向非同期通信チャネルにより相互接続された複数のコンピュータ・ノードをもつコンピュータ・システムにおいて、送信元コンピュータ・ノード(送信装置)、及び受信コンピュータ・ノード(受信装置)のそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するために、送信装置から受信装置に伝送されるメッセージを処理するための方法を含む。メッセージは、メッセージ・ヘッダ及びメッセージ・データを含む。この方法は、(a)受信装置からのメッセージ要求を待たない送信装置から受信装置へのメッセージの伝送、(b)受信装置におけるメッセージ用の受信バッファが通知されているか否かの判定、(c)メッセージ用の受信バッファが通知されてない場合、受信装置の早期到達キュー(early arrival queue)にメッセージ・ヘッダを保管し、メッセージ・データを廃棄することによるメッセージの切り詰め、のそれぞれを含む。この方法は更に、受信装置がメッセージ用の受信バッファを通知できる状態になったときには、(d)メッセージ・ヘッダが存在するか否かを調べる早期到達キューのチェック、及び(e)早期到達キューにメッセージ・ヘッダが存在する場合の、受信装置から送信装置への「プル」要求の伝送を含む。この「プル」要求は、受信装置にメッセージを再送するように送信装置に指示する。
【0007】
もう1つの特徴として、本発明は、双方向非同期通信チャネルによって相互接続された複数のコンピュータ・ノードをもつコンピュータ・システム内で、送信コンピュータ・ノード(送信装置)、及び受信コンピュータ・ノード(受信装置)のそれぞれにおいて非同期に実行されるユーザ・プログラム間でメッセージを伝送するために、送信装置から受信装置へメッセージを伝送するための代替の方法を含む。ここでもメッセージは、メッセージ・ヘッダ及びメッセージ・データを含む。この方法は、(a)受信装置からのメッセージ要求を待たない、送信装置から受信装置へのメッセージの伝送、(b)受信装置のメッセージ受信時の、メッセージ用に受信バッファが通知されているか否かの判定、及びメッセージ用に受信バッファが通知されている場合の、受信バッファへのメッセージの保管、(c)メッセージ用の受信バッファが通知されていない場合の、メッセージ・データを保持するための受信装置での一時受信バッファ割り当て、ならびにメッセージ・ヘッダ及び一時バッファ情報の受信装置における早期到達キューへの保管、のそれぞれを含む。この方法は更に、受信装置がメッセージ用の受信バッファを通知できる状態になったときには、(d)対応するメッセージ・ヘッダの存在を確認する早期到達キューのチェック、及び(e)早期到達キューにメッセージ・ヘッダが存在する場合の、受信バッファの通知を要求することのない、一時受信バッファから受信バッファへのメッセージ・データの移動を含む。
【0008】
更にもう1つの特徴として、本発明は、双方向非同期通信チャネルによって相互接続された複数のコンピュータ・ノードをもつ、これらのコンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ・プログラム間でメッセージを伝送するための、コンピュータ・システムを含む。このコンピュータ・システムは、送信コンピュータ・ノード(送信装置)から受信コンピュータ・ノード(受信装置)へメッセージ(メッセージ・ヘッダ及びメッセージ・データを含む)の伝送を行う。このコンピュータ・システムは、受信装置からのメッセージ要求を待たずに、送信装置から受信装置へメッセージを伝送する手段を含む。受信装置は早期到達キュー及びパケット受信装置を含む。パケット受信装置は、メッセージの受信時にメッセージ用に受信バッファが通知されているか否かを判定し、メッセージ用に受信バッファが通知されてない場合は、パケット受信装置は、メッセージのメッセージ・ヘッダを早期到達キューに保管し、メッセージ・データを廃棄することにより、メッセージを切り詰める手段も含む。システムは更に、この受信装置が、メッセージ用に受信バッファを通知できる状態になったときには、一致するメッセージ・ヘッダの存在を調べるために早期到達キューをチェックする手段、及び早期到達キューに一致するメッセージ・ヘッダが存在する場合には、受信装置から送信装置に「プル」要求を送り、受信装置へメッセージを再送するように送信装置に指示する手段も含む。
【0009】
更にもう1つの特徴として、本発明は、双方向非同期通信チャネルにより相互接続された複数のコンピュータ・ノードをもつ、これらのコンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ・プログラム間でメッセージを伝送するための、コンピュータ・システムを含む。このコンピュータ・システムは、送信コンピュータ・ノード(送信装置)から受信コンピュータ・ノード(受信装置)へメッセージ(メッセージ・ヘッダ及びメッセージ・データを含む)の伝送を行う。このコンピュータ・システムは、受信装置からのメッセージ要求を待たずに送信装置から受信装置へメッセージを伝送する手段を含む。受信装置中の通信アダプタは、メッセージの受信時にメッセージ用の受信バッファが通知されているか否かを判定し、メッセージ用に受信バッファが通知されている場合には、このメッセージを受信バッファにコピーするためのパケット受信装置を含む。通信アダプタは更に、メッセージ用に受信バッファが通知されておらず、そして一時受信バッファ領域が使用可能な場合は、メッセージ・データを保持する目的で受信装置に一時受信バッファを割り当てるため、及び受信装置中の早期到達キューにメッセージ・ヘッダ及び一時バッファ情報を保管するための手段を含む。このコンピュータ・システムは更に、受信装置がメッセージ用に受信バッファを通知できる状態になったときには、一致するメッセージ・ヘッダの存在を調べるために早期到達キューをチェックする手段、及び存在する場合に通信アダプタにおいて受信バッファの通知を要求せずに、メッセージ・データを一時受信バッファから受信バッファに移動する手段を含む。
【0010】
本発明のその他の具体例及び特徴も、本明細書に詳しく説明され、本発明の請求の一部をなすと見なされる。例えば、前記に要約した方法を包含するコンピュータが読み取り可能なプログラム・コード手段は、本明細書に記述され、特許請求されている。更に本発明の各特徴に対して、数多くの拡張が記述されている。
【0011】
本明細書に記述されているものは、複数の非同期コンピュータ・ノードを含むコンピュータ・システム内で、送信元コンピュータ・ノードと宛先コンピュータ・ノードとの間のメッセージ伝送時間を減少させるために、早期到達メッセージを処理する方法である。この方法は、受信装置からのメッセージ要求を待たずに、メッセージを伝送する。したがって受信バッファが通知されている場合には、メッセージは即時に受信され、単一の伝送時間のみが発生する。ここに記述されている方法及びシステムは、メッセージが早期到達メッセージである場合は、効率を最高にする柔軟性をもち、予期してないメッセージのデータを廃棄するか、または通信アダプタのレベルにこのデータを保持し、受信装置のプロセッサに状況を通知する。上記の双方の選択肢は、ハードウェアのレベルで同じ基礎的な仕組みを用いており、通信システムは、最高の効率を得るためには現在の環境でどちらかの選択肢を採用すべきかを、ソフトウェア・レベルで決定できる。いずれの選択肢も、受信バッファが事前に通知されているときには、良好なメッセージ伝送効率を維持できる。
【0012】
【発明の実施の形態】
図1は、本発明に従ったメッセージ伝送をするコンピュータ・システムの一実施例を表示しており、全体を参照番号10で示している。システム10は複数のコンピュータ・ノード、即ちプロセッサ12を含み、それらの中の1つが、メッセージ送信元コンピュータ・ノード(送信装置)14として示され、それらの中の第2のものが、メッセージ受信コンピュータ・ノード(受信装置)16となっている。複数のノード12は、それぞれ独立したコンピュータを含み、各コンピュータ上では、それぞれのオペレーティング・システム(OS)が、非同期でユーザ・プログラムを実行している。各ノードは、スイッチ・ネットワーク18を介して相互に接続され、スイッチ・ネットワークは、多数のスイッチ素子をもつことができる。スイッチ素子は、当分野で周知のように、相互接続されたクロス・バー、パケット・スイッチ素子などであり、多階層の相互接続ネットワークを構築している。
【0013】
受信装置16のようなコンピュータ・ノード内には、通信アダプタ20、高速システム・バス22、1つまたは複数のマイクロプロセッサ24、1つまたは複数の主記憶装置26が含まれる。本発明に従ったメッセージ処理プロトコルは、送信装置及び受信装置の通信アダプタ20内、ならびにこれらのアダプタ間で実行される。
【0014】
各コンピュータ・ノード12のそれぞれ独立したOSは非同期で動作するので、送信装置14から受信装置16へのメッセージ伝送には、ハンドシェーク手段が従来より使われてきた。例えば、送信装置から受信装置へメッセージを伝送する前に、送信装置は、従来より受信装置がメッセージ受信できる状態か否かを問い合わせていた。このような実施形態では、送信装置から受信装置へのメッセージ伝送を実現するために、三度のネットワーク上の通信が必然的に用いられていた。
【0015】
本発明に従うと、送信装置と受信装置との間の事前のハンドシェークなしに、システム内でメッセージを伝送させることを可能にして、受信バッファがメッセージ用に割り当て られているかを確認することにより、効率が改善される。これは、受信コンピュータ・ノードに「早期到達サポート(early arrival support)」を設けることにより可能になる。「早期到達サポート」とは、「早期到達メッセージ」(即ち、システム内でそのメッセージに対応するバッファが割り当てられる前に受信されたメッセージ)を効率よく処理するための機能が受信装置に存在することを意味する。更に後記で説明するように、本発明は、早期到達メッセージの一部を廃棄するか、または通信アダプタ20のレベルでメッセージを保持し、その状況をプロセッサに通知するかのいずれかによって、効率を最適化する柔軟性を提供する。本発明に従うと、上記の双方の選択肢は、ハードウェアのレベルで同じ基礎的な仕組みを用いており、通信システムは、最高の効率を得るには現在の環境でいずれかの選択肢を採用すべきかを、ソフトウェア・レベルで決定できる。
【0016】
図2を参照すると、アプリケーション・プログラムの制御の下で、受信コンピュータ・ノードが、システム中の他の通信ノードから受信する特定のメッセージ用に、システム・メモリの一区域を割り当てる。このシステム・メモリの一区域(受信バッファ)は、受信された後のメッセージの保管場所を通信アダプタに示すために、アダプタにコマンドが送られるときに、「通知(post)される」。通信アダプタ20内のバッファ・ポスタ42が、割り当てられた受信バッファに関する記述子の情報を、メモリ・コントローラ44を介して制御記憶装置46に保管する。この記述子の情報は、対応するメッセージが到着するまで記憶装置46に保管される。これらの記述子は、本質的には、主記憶装置26(図1)に割り当てられた実際の受信バッファへのポインタを含む。
【0017】
通信アダプタ20は、更にスイッチ構成インタフェース30を含み、このインタフェースは、コンピュータ・ノードをスイッチ・ネットワークに結合するスイッチ・リンク1〜スイッチ・リンクNに物理的に接続される複数のポートを含む。パケット受信装置32及びパケット送信装置34が、パケット・スイッチ・ネットワーク18(図1)へのそれぞれの物理的接続用に設けられている。
【0018】
通信アダプタ20は、システム・バス22を介してコンピュータ・ノードのプロセッサと通信する。バス・インタフェース36は、通信アダプタ20をシステム・バス22に結合する。チップのバス・インタフェース部分は、バス・プロトコルを実行し、プロセッサのロード及びストアのコマンドを受信する。この部分は、プロセッサが起動する機能を監視し、それに従って反応するコマンド・デコード論理回路38、及びバス操作を起動する直接メモリ・アクセス(DMA)エンジン40も含む。例えばDMAエンジン40は、ホスト・プロセッサを必要とせずに、主記憶装置にデータを書き込み、アダプタからデータを読み出すことができる。バス・インタフェース36とスイッチ構成インタフェース30との間の通信動作を追跡し、管理するための記録が、制御記憶装置46に保持され、制御記憶装置は、1つの実施例では、複数のSRAMモジュールを含む。
【0019】
図3は、本発明に従った受信装置16における更に詳細なフロー制御を表示する。スイッチ・ネットワーク18を通じて送信装置14から受信されたメッセージは、当初は、スイッチ構成インタフェース30内のスイッチ・インタフェース・バッファ31に一時的に入れられる。インタフェース30は、メッセージのヘッダ部分及びデータ部分を区別して、パケット受信装置32に送る。パケット受信装置32は、制御記憶装置46内のデータ構造をチェックし、メッセージ用の受信バッファ25が主記憶装置内に割り当てられているか否かを判定する。受信バッファ25が割り当てられている場合には、メッセージは、DMAエンジン40を介しシステム・バス22を通じて主記憶装置26にコピーされる。
【0020】
メッセージに対応する受信バッファがまだ割り当てられてない場合は、本発明に従って、受信されたネットワーク・メッセージからデータが取り除かれ、「短縮形」が作成される。通常ネットワーク・メッセージすなわちパケットは3つの部分を含み、それらは、(a)アダプタ・ハードウェアによって解釈されるハードウェア・ヘッダ、マイクロプロセッサ上で実行されるソフトウェアが解釈するソフトウェア・ヘッダ、及び実際のメッセージ・データを含むパケット(メッセージ)データである。2つのヘッダはデータを説明する情報を含む。例えば、このデータがどこから来たか、メッセージ中に何バイトのデータがあるか、このメッセージはどのメッセージの後にくるか、メッセージにはどんなタイプのデータが含まれているか、などである。
【0021】
「短縮形」はアダプタに保管されるデータ構造であり、ハードウェア・ヘッダ及びソフトウェア・ヘッダを含んでおり、本明細書では両者を合わせて「メッセージ・ヘッダ」と呼ぶ。メッセージ・ヘッダは、どんな条件によってこのメッセージが作成されたのかを記述する情報を含むが、メッセージ・データは含まない。本発明に従って、「短縮形」のデータ構造は、パケット受信装置32によって作成され、制御記憶装置46内の早期到達キュー50に保管される。更に「短縮形」は、アダプタからマイクロプロセッサ上で実行されるソフトウェアに送られ、受信できなかったメッセージが到着していることをマイクロプロセッサ・ソフトウェアに知らせる。ハードウェア・アダプタは、プロセッサ・メモリ中の特定の位置に書き込みを行うか、またはプロセッサ割り込みを発生させて、「短縮形」が保管されていることをプロセッサに知らせる。
【0022】
前記で簡単に説明したように、本発明に従って、通信アダプタは異なったプロトコルを実行できる。例えば、アダプタはメッセージ・データを廃棄し、引き続くメッセージの受信を行うこともできるし、あるいはアダプタは、主記憶装置内の一時受信バッファ27にメッセージ・データを保持し、プロセッサがこのメッセージ用の受信バッファを通知するのを待つこともできる。前者の場合には、プロセッサは「短縮形」、即ちメッセージ・ヘッダ情報を追跡し、ユーザ処理プログラムが一致する受信バッファを通知したときに、メッセージに対する「プル」要求を出す。これによってメッセージが送信装置から受信装置に再送され、通知された受信バッファにコピーされる。後者の場合には、通信システムのソフトウェアが、メッセージを受信すべきバッファを通知する。この場合、ユーザ・プログラムがメッセージ用の受信バッファを通知してないので、通信システム・ソフトウェアが通知したバッファは、一時バッファ27であり、データは、対応する受信バッファを通知するユーザ・プログラムが実行されるまで、一時的に保管される。
【0023】
ある種の状況では、前者の選択肢(データの廃棄)が最適であり、これは、アダプタに一時バッファが通知されるのを待たせることなく、アダプタに別のメッセージの受信を行わせるからである。しかし他の状況では、この方法はメッセージが再送される必要があるので、効率を悪くする。そのためある状況では、メッセージ・データを一時バッファに保持することが最適となる。それは、バッファが通知された後にメッセージを再送する必要がないからである。しかしこれを行うと受信装置をブロックするので、受信できたかもしれない他のメッセージの処理をできなくする。
【0024】
ハードウェア・アダプタは、いずれの選択肢を採用するかプログラム可能である。これは、宛先プロセッサの通信システム・レベルで動作するソフトウェア層に、どんな状況のときにはどちらの操作を採用すべきかを指定させ、それに従ってアダプタをプログラムさせることである。ハードウェア・アダプタは、プログラム可能なタイマももち、これによってハードウェア・アダプタは、一時バッファ・プロトコルの使用を開始できるが、通信システム・ソフトウェアが、一致する受信バッファを通知するために長過ぎる時間をとる場合には、データ廃棄プロトコルに切り換える。
【0025】
本発明に従ったメッセージ伝送のいくつかの実施例を図4〜図9に示し、以下に説明する。
【0026】
図4及び図5は、本発明に従った「短縮化」、及びメッセージ・データ廃棄を採用する1つのメッセージ処理プロトコルを示す。このプロトコルは、送信元コンピュータ・ノードが、メッセージを宛先コンピュータ・ノードに伝送する(参照番号100)か、または宛先コンピュータ・ノードが、メッセージ用の受信バッファを非同期に通知する(参照番号102)か、のいずれかによって開始される。送信装置がメッセージを受信装置に伝送することにより開始されると(100)、メッセージは、受信コンピュータ・ノードの通信アダプタで受信される(104)。そこでアダプタのパケット受信装置が、制御記憶装置内のデータ構造を読み出し(106)、このメッセージ用に受信バッファが既に通知されている(割り当てられている)か否かを判定する(108)。受信バッファが既に通知されている場合には、プロトコルはパケット受信装置に指示を出し、この指示によりパケット受信装置は、通知された受信バッファにメッセージを移動するようにバス・インタフェース中のDMAエンジンに指示する(110)。その後パケット受信装置は、メッセージが受信されたことを知らせる受信報告を生成し、これを送信元コンピュータ・ノードに送る(112)。メッセージが通知された受信バッファに保管された後は、受信コンピュータ・ノードのユーザ・プログラムが、以降の処理のためにこのメッセージを受け取る(114)。
【0027】
参照番号108のチェックに戻ると、宛先コンピュータ・ノードにおいて予期しないメッセージを受信した、即ちこのメッセージに対して受信バッファが通知されてない場合は、パケット受信装置は、通信アダプタの制御記憶装置内の早期到達キュー構造にメッセージ・ヘッダを保管する(116)ことによって、このメッセージの「短縮形」を作成する。パケット受信装置は、その後でメッセージ・データを廃棄し(118)、受信される次のメッセージの処理に進むか、または受信コンピュータ・ノード・ソフトウェアが受信バッファを通知できる状態になるのを待つ(図5に向かう破線)。
【0028】
暫くしてユーザ処理プログラムが、早期到達メッセージになっている可能性のあるメッセージに対する受信バッファを通知できる状態になる(102)。受信コンピュータ・ノード・ソフトウェアは、最初に早期到達キューをチェックし(120)、対応するメッセージ・ヘッダが存在するか否かを判定する(122)。メッセージ・ヘッダが早期到達キューに存在しない場合は、受信装置は、メッセージに対する受信バッファを通知する(130)。反対に、メッセージが早期到達メッセージであり、メッセージ・ヘッダが早期到達キューに存在する場合は、受信装置は、受信バッファを通知し(124)、送信元コンピュータ・ノードにメッセージの再送を求める「プル」要求を送る(126)。そこで送信装置は、当初のメッセージを再送し(128)、受信装置は、メッセージが宛先のアダプタに到着する時点から始まるメッセージ処理プロトコルに戻る(104)。
【0029】
図6及び図7は、本発明に従った代替のメッセージ処理プロトコルの実施例であり、ここでは早期到達メッセージを処理するために、アダプタが一時バッファを割り当て、受信装置は、ユーザ処理プログラムがメッセージ用の受信バッファを指定するのを待つ。図6及び図7の流れは、送信元コンピュータ・ノードがメッセージを送信する(200)か、または受信装置が非同期に受信バッファを通知できる状態になる(202)ときに始まる。送信元コンピュータ・ノードがメッセージを伝送すると、このメッセージは、宛先コンピュータ・ノードの通信アダプタにおいて受信される(204)。宛先の通信アダプタのパケット受信装置は、最初に対応する通知済み受信バッファをチェックし(206)、それがあるか否かを判定する(208)。受信バッファが既に通知されている場合には、パケット受信装置は、データを受信バッファに移動するようにDMAエンジンに指示する(210)。その後パケット受信装置は、受信報告を生成し、この報告を送信元コンピュータ・ノードに送り、メッセージが受信されたことを伝える(212)。その後受信コンピュータ・ノードのソフトウェアは、受信バッファに保管されたメッセージ・データを利用できる(214)。
【0030】
受信バッファがまだ通知されてない場合は、この実施例では、受信装置のアダプタのソフトウェアが、主記憶装置内に一時受信バッファを割り当てる(215)。パケット受信装置は、メッセージ・データをこの一時受信バッファに移動するように、DMAエンジンに指示し(217)、アダプタの制御記憶装置内の早期到達キューに、メッセージ・ヘッダ及び一時受信バッファに関する情報を付加する。その後プロセスは、ユーザ・プログラムがメッセージ用の受信バッファを通知できる状態になるまで待つ(202)。
【0031】
ユーザ処理プログラムが、メッセージ用の受信バッファを通知できる状態になったときに、ソフトウェアは、最初に早期到達キューをチェックし(220)、対応する(一致する)メッセージ・ヘッダが存在するか否か判定する(222)。一致するメッセージ・ヘッダが、早期到達キューに存在しない場合は、受信装置は、メッセージ用の受信バッファを通知する(230)。前記のように、「受信バッファの通知」は、受信されるメッセージ用の受信バッファが配置されている場所を通信アダプタに知らせるためのデータ構造をアダプタ内で作成することを含む。
【0032】
一致するメッセージ・ヘッダが、早期到達キューに存在する場合は、受信コンピュータ・ノード・ソフトウェアが一時受信バッファの位置を識別し、メッセージ・データを一時受信バッファから受信バッファに移動する(225)。その後一時受信バッファは解放され(227)、例えば次の早期到達メッセージの受信に備える。メッセージが受信バッファに入れられた後は、受信コンピュータ・ノード・ソフトウェアがこのデータを使用できる(214)。
【0033】
図8及び図9は、本発明に従った更に別のメッセージ処理プロトコルを示す。このプロセスの流れでは、図4、図5、及び図6、図7の方法が結合されている。プロセスは、ここでも送信元コンピュータ・ノードがメッセージを送信する(300)か、または受信コンピュータ・ノード・ソフトウェアがメッセージ用の受信バッファを非同期に通知できる状態になる(302)か、のいずれかによって開始される。
【0034】
宛先コンピュータ・ノードにおいてメッセージが受信されたとき(304)、宛先のアダプタのパケット受信装置は、メッセージに対応する通知済み受信バッファをチェックし(306)、それが存在するか否か判定する(308)。受信バッファが既に通知されている場合は、パケット受信装置は、メッセージ・データを受信バッファに移動するようにDMAエンジンに指示し(310)、受信報告を作成し、送信元コンピュータ・ノードに返送する(312)。メッセージ・データが受信バッファに移動された後は、受信コンピュータ・ノードのソフトウェアは、このメッセージ・データを利用できる(314)。
【0035】
メッセージ用に受信バッファが通知されてない場合は、プロセスは、主記憶装置内で一時受信バッファ領域が利用できるか否かを判定する(313)。これが利用可能な場合は、受信コンピュータ・ノード・ソフトウェアは一時受信バッファを割り当て(315)、パケット受信装置は、メッセージ・データを一時受信バッファに移動するようにDMAエンジンに通知する(317)。パケット受信装置はまた、メッセージ・ヘッダ及び一時受信バッファの位置情報を早期到達キューに付加する(319)。プロセスは、メッセージの保管後、受信コンピュータ・ノード・ソフトウェアがこのメッセージ用に受信バッファを通知できる状態になる(302)まで待つ。
【0036】
一時バッファ領域が利用できない場合(313)は、パケット受信装置は、アダプタの制御記憶装置内の早期到達キューにメッセージ・ヘッダを付加し(316)、メッセージ・データを廃棄する(318)。その後プロセスは、受信コンピュータ・ノード・ソフトウェアが、早期到達メッセージ用に受信バッファを通知できる状態になるまで待つ(302)。
【0037】
受信コンピュータ・ノード・ソフトウェアが、メッセージ用に受信バッファを通知できる状態になったとき、このソフトウェアは、早期到達キュー中のメッセージ・ヘッダをチェックし(320)、一致するメッセージ・ヘッダが存在するか否か判定する(322)。一致するメッセージ・ヘッダが早期到達キュー中に存在しない場合は、受信装置はメッセージ用の受信バッファを通知し(330)、送信元コンピュータ・ノードがメッセージを伝送してくるのを待つ。
【0038】
一致するメッセージ・ヘッダが早期到達キューに存在する場合は、プロセスは、早期到達メッセージが一時受信バッファに保持されているか否かを判定する(323)。これが保持されている場合には、受信コンピュータ・ノード・ソフトウェアは、メッセージ・データを一時受信バッファから受信バッファに移し(325)、このときメッセージは既に受信されているので、受信バッファの通知を必要としない。その後受信コンピュータ・ノード・ソフトウェアは、一時受信バッファを解放し(327)、更に受信コンピュータ・ノード・ソフトウェアは、受信バッファに配置されたメッセージ・データを利用できるようになる(314)。これとは反対に、受信された早期到達メッセージが一時受信バッファに保持されてなかった場合は、受信装置は、メッセージ用の受信バッファを通知し(324)、受信コンピュータ・ノード・ソフトウェアは、「プル」要求を送信ノードに送る(326)。そこで送信元コンピュータ・ノードは当初のメッセージを再送し(328)、このメッセージは、宛先コンピュータ・ノードのアダプタに到着し(304)、上記のように処理される。
【0039】
当分野に知識をもつ当業者は、上記の説明から、複数の非同期コンピュータ・ノードを含むシステム内で、送信元コンピュータ・ノードと宛先コンピュータ・ノードとの間のメッセージ伝送時間を減少させるために早期到達メッセージを処理するいくつかの方法が、本明細書に提示されていることを理解するであろう。このプロトコルは、受信装置がメッセージを要求するのを待つことなく、メッセージを伝送する。メッセージ用に受信バッファが通知されている場合には、メッセージは即時に受信され、単一の伝送のみの伝送時間が発生する。一方で、メッセージが早期到達メッセージである場合には、本明細書に提示された方法は、効率を最高にする柔軟性を通信システムに提供する。その方法は、予期されてないメッセージのデータを廃棄するか、またはデータを通信アダプタのレベルに保持し、その状況を受信装置のプロセッサに通知するか、いずれかである。上記の双方の選択肢は、ハードウェア・レベルでの同じ基礎的な仕組み、即ち「短縮化」を採用し、通信システムは、最高の効率を得るためには現在の環境ではどちらの選択肢を採用すべきかを、ソフトウェアのレベルで決定できる。受信バッファが事前に通知されている場合には、双方の選択肢は、良好なメッセージ伝送効率を維持できる。
【0040】
本発明は、例えばコンピュータが利用可能な手段をもつ製品(例えば1つ、または複数のコンピュータ・プログラム製品)に含めることができる。この手段は、例えば、本発明の機能を提供し、可能にするためのコンピュータが読み取り可能なプログラム・コード手段を実現する。上記の製品は、コンピュータ・システムの一部に含むことができるし、単独で販売することもできる。
【0041】
本明細書に示した流れ図は、例として提示したものである。本発明の意図から逸脱することなく、本明細書に説明されたこれらの図、処置、操作に対する変更が可能である。例えばある場合には、これらの処置を別の順に実行することもでき、あるいはいくつかの処置を追加、削除、もしくは変更できる。これらの変更のすべては、本発明の部分を成すものと考えられ、文頭の特許請求の範囲に列挙されている。
【0042】
好ましい実施例を本明細書に詳細に示し、説明したが、本発明の意図から逸脱することなく、多種の変更、追加、代案、及び同様のものを実施可能であり、したがってこれらのものは、文頭の特許請求の範囲に定義された本発明の範囲内にあると見なすべきであることは、関連分野に知識をもつ当業者には明白であろう。
【0043】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0044】
(1) 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへ伝送されるメッセージを処理する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合は、
(イ)前記パケット受信装置が早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
(ロ)前記受信コンピュータ・ノードが前記メッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記メッセージ・ヘッダ用の前記早期到達キューをチェックするステップと、
(ハ)前記メッセージ・ヘッダが前記早期到着キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと、
を含む、メッセージを処理する方法。
(2) 前記判定するステップ(b)が、前記メッセージ用の前記受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されていることを前記パケット受信装置が判定した場合に、前記メッセージを前記受信バッファに保管するステップを更に含む、(1)に記載のメッセージを処理する方法。
(3) 前記チェックするステップ(c)(ロ)において、前記メッセージ・ヘッダが前記早期到達キュー内に存在しないと判定した場合に、
前記方法は、
前記受信コンピュータ・ノードが前記受信バッファを前記通信アダプタに通知するステップと、
前記メッセージに対する要求を伝送せずに、前記送信元コンピュータ・ノードからの前記メッセージの前記受信コンピュータ・ノードへの伝送を待つステップと
を更に含む、(1)に記載のメッセージを処理する方法。
(4) 前記切り詰めるステップ(c)(イ)の前に更に、
(d)前記メッセージ用の前記受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されていない場合に、前記メッセージ用に一時受信バッファ領域が利用可能か否かを判定するステップと、
(e)前記一時受信バッファ領域が利用可能な場合に、受信コンピュータ・ノードが前記メッセージ用に一時受信バッファを割り当て、前記パケット受信装置が前記一時受信バッファ内に前記メッセージ・データを移動し、そして前記パケット受信装置が前記早期到達キュー内に前記メッセージ・ヘッダ及び一時バッファ情報を保管するステップと、
(f)前記メッセージ用に前記一時受信バッファ領域が利用できない場合にのみ、前記切り詰めるステップ(c)(イ)を実行するステップと、
を更に含む、(1)に記載のメッセージを処理する方法。
(5) 1つまたは複数の送信元コンピュータ・ノードから前記受信コンピュータ・ノードへ送られる複数のメッセージを処理する方法を含み、前記複数のメッセージのそれぞれがメッセージ・ヘッダ及びメッセージ・データを含み、前記方法が、
前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記1つまたは複数の送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
前記受信コンピュータ・ノードにおいて受信されるそれぞれのメッセージに対し、
前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されていない場合に、前記パケット受信装置が前記早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
前記受信コンピュータ・ノードが所要のメッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記所要のメッセージに一致するメッセージ・ヘッダが存在するか否か前記早期到達キューをチェックするステップと、
前記一致するメッセージ・ヘッダが前記早期到達キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記所要のメッセージを受信コンピュータ・ノードへ再送する、前記送るステップと、
を含む、(1)に記載のメッセージを処理する方法。
(6) 前記チェックするステップ(c)(ロ)において、前記メッセージ・ヘッダが前記早期到達キュー内に存在しない場合に、メッセージに対する要求を伝送せずに、前記送信元コンピュータ・ノードがメッセージを伝送するのを待つ、(1)に記載のメッセージを処理する方法。
(7) 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへメッセージを伝送する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されている場合に、前記メッセージを前記受信バッファに保管するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合に、前記パケット受信装置が早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
を含むメッセージを伝送する方法。
(8) 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへ伝送されるメッセージを処理する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードが前記メッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記受信コンピュータ・ノードが、対応するメッセージ・ヘッダが存在するか否かについて、早期到達メッセージのメッセージ・ヘッダを記憶する早期到達キューをチェックするステップと、
(b)前記メッセージ・ヘッダが前記早期到達キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと、
(c)前記受信コンピュータ・ノードが前記受信バッファを前記通信アダプタに通知し、前記メッセージが前記受信コンピュータ・ノードに再送されるのを待つステップと、
を含むメッセージを処理する方法。
(9) 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザの処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへメッセージを伝送する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージが前記受信コンピュータ・ノードにおいて受信されたときに、前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されている場合に、前記メッセージを前記受信バッファに保管するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合に、前記メッセージ・データを保持するために、前記受信コンピュータ・ノードに一時受信バッファを割り当て、前記受信コンピュータ・ノードに存在する早期到達キューに前記メッセージ・ヘッダを保管するステップと、
を含む、メッセージを伝送する方法。
(10) 前記受信コンピュータ・ノードが前記メッセージ用の前記受信バッファを前記通信アダプタに通知できる状態になったときに、前記メッセージ・ヘッダが存在するか否か前記早期到達キューをチェックするステップと、
前記メッセージ・ヘッダが前記早期到達キュー内に存在する場合に、前記メッセージ・データを前記一時受信バッファから前記受信バッファに移動するステップと、
を更に含む、(9)に記載のメッセージを伝送する方法。
(11) 前記保管するステップ(c)が、前記一時受信バッファに関する位置情報を前記メッセージ・ヘッダと一緒に前記早期到達キュー内に保管するステップを更に含む、(10)に記載のメッセージを伝送する方法。
(12) 前記保管するステップ(c)の前に、前記メッセージ用に一時受信バッファ領域が利用可能か否かを判定し、一時受信バッファが利用可能な場合には、前記前期一時受信バッファを割り当て、利用可能でない場合には、前記受信コンピュータ・ノードが前記早期到達キュー内に前記メッセージ・ヘッダを保管しそして前記メッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップを更に含む、(10)に記載のメッセージを伝送する方法。
(13) 前記メッセージ・ヘッダが前記早期到達キュー内に存在するが、前記メッセージ・データが廃棄されている場合には、前記早期到達キューをチェックするステップに続いて、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと
を更に含む、(12)に記載のメッセージを伝送する方法。
(14) 前記メッセージ・ヘッダが前記早期到達キュー内に存在することが判明した場合に、前記移動するステップの前に、前記メッセージ・データが前記一時受信バッファに存在するか否か判定し、存在する場合には、前記メッセージ・データを前記一時受信バッファから前記受信バッファに移動し、存在しない場合には、前記メッセージの再送を求めるために前記「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送る、(13)に記載のメッセージを伝送する方法。
(15) 前記メッセージ・データが前記一時受信バッファに存在しない場合に、前記早期到達キューをチェックするステップに続いて前記受信バッファを通知するステップを更に含む、(13)に記載のメッセージを伝送する方法。
(16) 1つまたは複数の送信元コンピュータ・ノードからの複数のメッセージを前記受信コンピュータ・ノードに伝送する方法を含み、当該方法が、前記受信コンピュータ・ノードからのメッセージに対する要求を待たずに、前記1つまたは複数の送信元コンピュータ・ノードからの複数のメッセージを前記受信コンピュータ・ノードへ伝送するステップと、前記受信コンピュータ・ノードにおいて受信されるそれぞれのメッセージに対して前記ステップ(b)及び(c)を実施し、前記受信コンピュータ・ノードが所要のメッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記所要のメッセージに一致するメッセージ・ヘッダが存在するか否か前記早期到達キューをチェックし、前記一致するメッセージ・ヘッダが前記早期到達キュー内に存在する場合に、対応するメッセージ・データを前記一時受信バッファから前記所要のメッセージ用の前記受信バッファに移動するステップと
を含む、(9)に記載のメッセージを伝送する方法。
【図面の簡単な説明】
【図1】本発明を採用したコンピュータ・システムの1実施例を示す図である。
【図2】図1の通信アダプタの1実施例を示す図である。
【図3】本発明に従った図1の受信コンピュータ・ノードの実施例をより詳細に示す図である。
【図4】本発明に従ったメッセージ伝送プロトコルの1実施例を示す流れ図である。
【図5】本発明に従ったメッセージ伝送プロトコルの1実施例を示す流れ図である。
【図6】本発明に従ったメッセージ伝送プロトコルのもう1つの実施例を示す流れ図である。
【図7】本発明に従ったメッセージ伝送プロトコルのもう1つの実施例を示す流れ図である。
【図8】本発明に従ったメッセージ伝送プロトコルの更にもう1つの実施例を示す流れ図である。
【図9】本発明に従ったメッセージ伝送プロトコルの更にもう1つの実施例を示す流れ図である。
【符号の説明】
10 コンピュータ・システム
12 コンピュータ・ノード
22 システム・バス
Claims (16)
- 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへ伝送されるメッセージを処理する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合は、
(イ)前記パケット受信装置が早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
(ロ)前記受信コンピュータ・ノードが前記メッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記メッセージ・ヘッダ用の前記早期到達キューをチェックするステップと、
(ハ)前記メッセージ・ヘッダが前記早期到着キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと、
を含む、メッセージを処理する方法。 - 前記判定するステップ(b)が、前記メッセージ用の前記受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されていることを前記パケット受信装置が判定した場合に、前記メッセージを前記受信バッファに保管するステップを更に含む、請求項1に記載のメッセージを処理する方法。
- 前記チェックするステップ(c)(ロ)において、前記メッセージ・ヘッダが前記早期到達キュー内に存在しないと判定した場合に、
前記方法は、
前記受信コンピュータ・ノードが前記受信バッファを前記通信アダプタに通知するステップと、
前記メッセージに対する要求を伝送せずに、前記送信元コンピュータ・ノードからの前記メッセージの前記受信コンピュータ・ノードへの伝送を待つステップと
を更に含む、請求項1に記載のメッセージを処理する方法。 - 前記切り詰めるステップ(c)(イ)の前に更に、
(d)前記メッセージ用の前記受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されていない場合に、前記メッセージ用に一時受信バッファ領域が利用可能か否かを判定するステップと、
(e)前記一時受信バッファ領域が利用可能な場合に、受信コンピュータ・ノードが前記メッセージ用に一時受信バッファを割り当て、前記パケット受信装置が前記一時受信バッファ内に前記メッセージ・データを移動し、そして前記パケット受信装置が前記早期到達キュー内に前記メッセージ・ヘッダ及び一時バッファ情報を保管するステップと、
(f)前記メッセージ用に前記一時受信バッファ領域が利用できない場合にのみ、前記切り詰めるステップ(c)(イ)を実行するステップと、
を更に含む、請求項1に記載のメッセージを処理する方法。 - 1つまたは複数の送信元コンピュータ・ノードから前記受信コンピュータ・ノードへ送られる複数のメッセージを処理する方法を含み、前記複数のメッセージのそれぞれがメッセージ・ヘッダ及びメッセージ・データを含み、前記方法が、
前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記1つまたは複数の送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
前記受信コンピュータ・ノードにおいて受信されるそれぞれのメッセージに対し、
前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されていない場合に、前記パケット受信装置が前記早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
前記受信コンピュータ・ノードが所要のメッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記所要のメッセージに一致するメッセージ・ヘッダが存在するか否か前記早期到達キューをチェックするステップと、
前記一致するメッセージ・ヘッダが前記早期到達キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記所要のメッセージを受信コンピュータ・ノードへ再送する、前記送るステップと、
を含む、請求項1に記載のメッセージを処理する方法。 - 前記チェックするステップ(c)(ロ)において、前記メッセージ・ヘッダが前記早期到達キュー内に存在しない場合に、メッセージに対する要求を伝送せずに、前記送信元コンピュータ・ノードがメッセージを伝送するのを待つ、請求項1に記載のメッセージを処理する方法。
- 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへメッセージを伝送する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを、前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されている場合に、前記メッセージを前記受信バッファに保管するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合に、前記パケット受信装置が早期到達キュー内に前記メッセージのメッセージ・ヘッダを保管しそして前記メッセージのメッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップと、
を含むメッセージを伝送する方法。 - 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザ処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへ伝送されるメッセージを処理する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードが前記メッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記受信コンピュータ・ノードが、対応するメッセージ・ヘッダが存在するか否かについて、早期到達メッセージのメッセージ・ヘッダを記憶する早期到達キューをチェックするステップと、
(b)前記メッセージ・ヘッダが前記早期到達キュー内に存在する場合に、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと、
(c)前記受信コンピュータ・ノードが前記受信バッファを前記通信アダプタに通知し、前記メッセージが前記受信コンピュータ・ノードに再送されるのを待つステップと、
を含むメッセージを処理する方法。 - 双方向の非同期通信チャネルにより相互接続された複数のコンピュータ・ノードを有し、前記コンピュータ・ノードのそれぞれにおいて非同期に実行されるユーザの処理プログラム間でメッセージを伝送するためのコンピュータ・システムにおいて、送信元コンピュータ・ノードから受信コンピュータ・ノードへメッセージを伝送する方法であって、前記メッセージはメッセージ・ヘッダ及びメッセージ・データを含み、前記受信コンピュータ・ノードはパケット受信装置を含む通信アダプタを含み、
前記方法は、
(a)前記受信コンピュータ・ノードからの前記メッセージに対する要求を待たずに、前記送信元コンピュータ・ノードからの前記メッセージを前記受信コンピュータ・ノードへ伝送するステップと、
(b)前記メッセージが前記受信コンピュータ・ノードにおいて受信されたときに、前記メッセージ用の受信バッファが前記受信コンピュータ・ノードによって前記通信アダプタに通知されているか否かを前記パケット受信装置が判定し、前記メッセージ用の前記受信バッファが通知されている場合に、前記メッセージを前記受信バッファに保管するステップと、
(c)前記メッセージ用の前記受信バッファが通知されていない場合に、前記メッセージ・データを保持するために、前記受信コンピュータ・ノードに一時受信バッファを割り当て、前記受信コンピュータ・ノードに存在する早期到達キューに前記メッセージ・ヘッダを保管するステップと、
を含む、メッセージを伝送する方法。 - 前記受信コンピュータ・ノードが前記メッセージ用の前記受信バッファを前記通信アダプタに通知できる状態になったときに、前記メッセージ・ヘッダが存在するか否か前記早期到達キューをチェックするステップと、
前記メッセージ・ヘッダが前記早期到達キュー内に存在する場合に、前記メッセージ・データを前記一時受信バッファから前記受信バッファに移動するステップと、
を更に含む、請求項9に記載のメッセージを伝送する方法。 - 前記保管するステップ(c)が、前記一時受信バッファに関する位置情報を前記メッセージ・ヘッダと一緒に前記早期到達キュー内に保管するステップを更に含む、請求項10に記載のメッセージを伝送する方法。
- 前記保管するステップ(c)の前に、前記メッセージ用に一時受信バッファ領域が利用可能か否かを判定し、一時受信バッファが利用可能な場合には、前記前期一時受信バッファを割り当て、利用可能でない場合には、前記受信コンピュータ・ノードが前記早期到達キュー内に前記メッセージ・ヘッダを保管しそして前記メッセージ・データを廃棄することにより、前記メッセージを切り詰めるステップを更に含む、請求項10に記載のメッセージを伝送する方法。
- 前記メッセージ・ヘッダが前記早期到達キュー内に存在するが、前記メッセージ・データが廃棄されている場合には、前記早期到達キューをチェックするステップに続いて、「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送るステップであって、前記「プル」要求は前記送信元コンピュータ・ノードに指示して前記メッセージを前記受信コンピュータ・ノードへ再送する、前記送るステップと
を更に含む、請求項12に記載のメッセージを伝送する方法。 - 前記メッセージ・ヘッダが前記早期到達キュー内に存在することが判明した場合に、前記移動するステップの前に、前記メッセージ・データが前記一時受信バッファに存在するか否か判定し、存在する場合には、前記メッセージ・データを前記一時受信バッファから前記受信バッファに移動し、存在しない場合には、前記メッセージの再送を求めるために前記「プル」要求を前記受信コンピュータ・ノードから前記送信元コンピュータ・ノードへ送る、請求項13に記載のメッセージを伝送する方法。
- 前記メッセージ・データが前記一時受信バッファに存在しない場合に、前記早期到達キューをチェックするステップに続いて前記受信バッファを通知するステップを更に含む、請求項13に記載のメッセージを伝送する方法。
- 1つまたは複数の送信元コンピュータ・ノードからの複数のメッセージを前記受信コンピュータ・ノードに伝送する方法を含み、当該方法が、前記受信コンピュータ・ノードからのメッセージに対する要求を待たずに、前記1つまたは複数の送信元コンピュータ・ノードからの複数のメッセージを前記受信コンピュータ・ノードへ伝送するステップと、前記受信コンピュータ・ノードにおいて受信されるそれぞれのメッセージに対して前記ステップ(b)及び(c)を実施し、前記受信コンピュータ・ノードが所要のメッセージ用の受信バッファを前記通信アダプタに通知できる状態になったときに、前記所要のメッセージに一致するメッセージ・ヘッダが存在するか否か前記早期到達キューをチェックし、前記一致するメッセージ・ヘッダが前記早期到達キュー内に存在する場合に、対応するメッセージ・データを前記一時受信バッファから前記所要のメッセージ用の前記受信バッファに移動するステップと
を含む、請求項9に記載のメッセージを伝送する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/856,619 US5931915A (en) | 1997-05-13 | 1997-05-13 | Method for processing early arrival messages within a multinode asynchronous data communications system |
US08/856619 | 1997-05-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH114256A JPH114256A (ja) | 1999-01-06 |
JP3606541B2 true JP3606541B2 (ja) | 2005-01-05 |
Family
ID=25324090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12504398A Expired - Fee Related JP3606541B2 (ja) | 1997-05-13 | 1998-05-07 | 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US5931915A (ja) |
JP (1) | JP3606541B2 (ja) |
KR (1) | KR100284790B1 (ja) |
TW (1) | TW363156B (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334219B1 (en) | 1994-09-26 | 2001-12-25 | Adc Telecommunications Inc. | Channel selection for a hybrid fiber coax network |
US5931915A (en) | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6338090B1 (en) * | 1998-03-27 | 2002-01-08 | International Business Machines Corporation | Method and apparatus for selectively using input/output buffers as a retransmit vehicle in an information handling system |
US6442600B1 (en) * | 1999-01-15 | 2002-08-27 | Micron Technology, Inc. | Method and system for centralized storage and management of electronic messages |
US6631115B1 (en) * | 1999-01-28 | 2003-10-07 | International Business Machines Corporation | Method, apparatus and program product for balancing communication loads over a network |
US6661773B1 (en) * | 1999-06-07 | 2003-12-09 | Intel Corporation | Method for detection of stale cells following route changes in a data communication |
US6543005B1 (en) * | 1999-10-27 | 2003-04-01 | Oracle Corporation | Transmitting data reliably and efficiently |
US7539134B1 (en) * | 1999-11-16 | 2009-05-26 | Broadcom Corporation | High speed flow control methodology |
US6826153B1 (en) * | 2000-09-13 | 2004-11-30 | Jeffrey Kroon | System and method of increasing the message throughput in a radio network |
US6816458B1 (en) * | 2000-09-13 | 2004-11-09 | Harris Corporation | System and method prioritizing message packets for transmission |
US6826152B1 (en) | 2000-09-13 | 2004-11-30 | Harris Corporation | System and method of conserving bandwidth in the transmission of message packets |
US7068603B2 (en) * | 2001-07-06 | 2006-06-27 | Juniper Networks, Inc. | Cross-bar switch |
US20030014516A1 (en) * | 2001-07-13 | 2003-01-16 | International Business Machines Corporation | Recovery support for reliable messaging |
US20030023775A1 (en) * | 2001-07-13 | 2003-01-30 | International Business Machines Corporation | Efficient notification of multiple message completions in message passing multi-node data processing systems |
FI20012173A (fi) * | 2001-11-09 | 2003-05-10 | Nokia Corp | Synkronisoiva paikallisverkko |
US7139240B2 (en) * | 2002-04-29 | 2006-11-21 | Brocade Communications Systems, Inc. | Frame-pull flow control in a fibre channel network |
EP1408417A1 (en) * | 2002-08-01 | 2004-04-14 | Fujitsu Siemens Computers, LLC | Efficient messaging in a parallel processing system |
US7457845B2 (en) * | 2002-08-23 | 2008-11-25 | Broadcom Corporation | Method and system for TCP/IP using generic buffers for non-posting TCP applications |
US7773620B2 (en) * | 2003-12-24 | 2010-08-10 | Intel Corporation | Method, system, and program for overrun identification |
US20050226159A1 (en) * | 2004-04-13 | 2005-10-13 | John Terry | Apparatus, and associated method, for providing a medium access control layer hybrid automatic repeat request scheme for a carrier sense multiple access communication scheme |
US7640357B2 (en) * | 2004-04-30 | 2009-12-29 | Sap Ag | Transmitting enterprise messages based on buffer sizes |
US20060227799A1 (en) * | 2005-04-08 | 2006-10-12 | Lee Man-Ho L | Systems and methods for dynamically allocating memory for RDMA data transfers |
US8170041B1 (en) * | 2005-09-14 | 2012-05-01 | Sandia Corporation | Message passing with parallel queue traversal |
JP4662273B2 (ja) * | 2006-03-24 | 2011-03-30 | 富士通株式会社 | 通信装置、方法及びプログラム |
US20080034054A1 (en) * | 2006-08-07 | 2008-02-07 | Curtis Stehley | System and method for reservation flow control |
JP5045472B2 (ja) * | 2008-02-07 | 2012-10-10 | 富士通株式会社 | メール管理装置、メール管理方法およびメール管理プログラム |
US8270299B2 (en) * | 2008-11-10 | 2012-09-18 | International Business Machines Corporation | Communicator-based token/buffer management for eager protocol support in collective communication operations |
CN101634956B (zh) * | 2009-08-25 | 2012-08-08 | 华为技术有限公司 | 多核处理器消息调度方法及调度器 |
KR20110064153A (ko) * | 2009-12-07 | 2011-06-15 | 삼성전자주식회사 | 금속 유기 전구체, 이의 제조방법, 및 이를 이용한 전도성 금속막 또는 패턴 형성방법 |
US9569398B2 (en) | 2010-09-28 | 2017-02-14 | International Business Machines Corporation | Routing data communications packets in a parallel computer |
US8909716B2 (en) * | 2010-09-28 | 2014-12-09 | International Business Machines Corporation | Administering truncated receive functions in a parallel messaging interface |
US9052974B2 (en) | 2010-11-05 | 2015-06-09 | International Business Machines Corporation | Fencing data transfers in a parallel active messaging interface of a parallel computer |
US9075759B2 (en) | 2010-11-05 | 2015-07-07 | International Business Machines Corporation | Fencing network direct memory access data transfers in a parallel active messaging interface of a parallel computer |
US9069631B2 (en) | 2010-11-05 | 2015-06-30 | International Business Machines Corporation | Fencing data transfers in a parallel active messaging interface of a parallel computer |
US8527672B2 (en) | 2010-11-05 | 2013-09-03 | International Business Machines Corporation | Fencing direct memory access data transfers in a parallel active messaging interface of a parallel computer |
US8949453B2 (en) | 2010-11-30 | 2015-02-03 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8490112B2 (en) | 2010-12-03 | 2013-07-16 | International Business Machines Corporation | Data communications for a collective operation in a parallel active messaging interface of a parallel computer |
US8484658B2 (en) | 2010-12-03 | 2013-07-09 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8572629B2 (en) | 2010-12-09 | 2013-10-29 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8650262B2 (en) | 2010-12-09 | 2014-02-11 | International Business Machines Corporation | Endpoint-based parallel data processing in a parallel active messaging interface of a parallel computer |
US8775531B2 (en) | 2011-01-06 | 2014-07-08 | International Business Machines Corporation | Completion processing for data communications instructions |
US8732229B2 (en) | 2011-01-06 | 2014-05-20 | International Business Machines Corporation | Completion processing for data communications instructions |
US8892850B2 (en) | 2011-01-17 | 2014-11-18 | International Business Machines Corporation | Endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface of a parallel computer |
US8825983B2 (en) | 2011-02-15 | 2014-09-02 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8528004B2 (en) | 2011-11-07 | 2013-09-03 | International Business Machines Corporation | Internode data communications in a parallel computer |
US8732725B2 (en) | 2011-11-09 | 2014-05-20 | International Business Machines Corporation | Managing internode data communications for an uninitialized process in a parallel computer |
US20140006555A1 (en) * | 2012-06-28 | 2014-01-02 | Arynga Inc. | Remote transfer of electronic images to a vehicle |
US10116463B2 (en) * | 2014-06-13 | 2018-10-30 | Mitsubishi Electric Corporation | Bridging apparatus |
GB2538754B (en) | 2015-05-27 | 2018-08-29 | Displaylink Uk Ltd | Single-chip multi-processor communication |
JP6897443B2 (ja) * | 2017-09-13 | 2021-06-30 | ブラザー工業株式会社 | 制御システム、副制御装置及び制御方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3906445A (en) | 1974-10-21 | 1975-09-16 | Motorola Inc | Alphanumeric terminal for a communications system |
US4672543A (en) * | 1982-08-31 | 1987-06-09 | Sharp Kabushiki Kaisha | Data transmission control apparatus in local network systems |
US4494194A (en) * | 1982-09-30 | 1985-01-15 | Burroughs Corporation | Line support processor for data transfer system |
US4630259A (en) * | 1984-11-14 | 1986-12-16 | At&T Bell Laboratories | Lockup detection and recovery in a packet switching network |
US5047917A (en) * | 1985-07-12 | 1991-09-10 | The California Institute Of Technology | Apparatus for intrasystem communications within a binary n-cube including buffer lock bit |
GB2180127B (en) | 1985-09-04 | 1989-08-23 | Philips Electronic Associated | Method of data communication |
EP0219049B1 (en) | 1985-10-07 | 1992-09-02 | Nec Corporation | High-speed packet-switched communications system with end-to-end flow control and retransmission |
US4748617A (en) * | 1985-12-20 | 1988-05-31 | Network Systems Corporation | Very high-speed digital data bus |
US4745599A (en) | 1987-01-05 | 1988-05-17 | General Electric Company | Random access communication system with contention scheduling of subpacketized data transmissions and scheduled retransmission of unsuccessful subpackets |
EP0303752B1 (en) * | 1987-08-20 | 1993-06-02 | International Business Machines Corporation | Memory access control device in a mixed data format system |
US4887076A (en) | 1987-10-16 | 1989-12-12 | Digital Equipment Corporation | Computer interconnect coupler for clusters of data processing devices |
US5257374A (en) * | 1987-11-18 | 1993-10-26 | International Business Machines Corporation | Bus flow control mechanism |
US4908828A (en) | 1987-12-29 | 1990-03-13 | Indesys, Inc. | Method for error free message reception |
US5077830A (en) | 1988-02-17 | 1991-12-31 | Indesys, Inc. | Method and apparatus to selectively address recipients and recover missing messages on a broadcast distribution network |
US4910733A (en) | 1988-03-15 | 1990-03-20 | Arun Sommani | Rendezvous network protocol with reduced bandwidth and processor time |
JPH024072A (ja) | 1988-06-20 | 1990-01-09 | Fujitsu Ltd | パケット交換方式 |
US5253342A (en) | 1989-01-18 | 1993-10-12 | International Business Machines Corporation | Intermachine communication services |
GB8916489D0 (en) * | 1989-07-19 | 1989-09-06 | British Telecomm | Data communication method and system |
US5701427A (en) | 1989-09-19 | 1997-12-23 | Digital Equipment Corp. | Information transfer arrangement for distributed computer system |
US5208914A (en) * | 1989-12-29 | 1993-05-04 | Superconductor Systems Limited Partnership | Method and apparatus for non-sequential resource access |
US5130986A (en) * | 1990-04-27 | 1992-07-14 | At&T Bell Laboratories | High speed transport protocol with two windows |
CA2043505A1 (en) * | 1990-06-06 | 1991-12-07 | Steven K. Heller | Massively parallel processor including queue-based message delivery system |
US5247694A (en) | 1990-06-14 | 1993-09-21 | Thinking Machines Corporation | System and method for generating communications arrangements for routing data in a massively parallel processing system |
AU8636391A (en) | 1990-10-10 | 1992-05-20 | British Telecommunications Public Limited Company | Network traffic management |
US5339313A (en) | 1991-06-28 | 1994-08-16 | Digital Equipment Corporation | Method and apparatus for traffic congestion control in a communication network bridge device |
US5404353A (en) | 1991-06-28 | 1995-04-04 | Digital Equipment Corp. | Dynamic defer technique for traffic congestion control in a communication network bridge device |
US5371897A (en) * | 1991-08-27 | 1994-12-06 | International Business Machines Corporation | Method for requesting identification of a neighbor node in a data processing I/O system |
DE4131133B4 (de) | 1991-09-19 | 2005-09-08 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen |
US5450546A (en) | 1992-01-31 | 1995-09-12 | Adaptec, Inc. | Intelligent hardware for automatically controlling buffer memory storage space in a disk drive |
US5444860A (en) * | 1992-02-14 | 1995-08-22 | Unisys Corporation | Translator system for message transfers between digital units operating on different message protocols and different clock rates |
FR2691559B1 (fr) * | 1992-05-25 | 1997-01-03 | Cegelec | Systeme logiciel a objets repliques exploitant une messagerie dynamique, notamment pour installation de controle/commande a architecture redondante. |
US5289470A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corp. | Flexible scheme for buffer space allocation in networking devices |
DE69433098T2 (de) | 1993-02-15 | 2004-03-25 | Honda Giken Kogyo K.K. | Vorrichtung zur Übertragung von Daten |
US5612950A (en) * | 1993-05-27 | 1997-03-18 | Rockwell International Corporation | Managing communication on an unstable error-prone channel |
WO1995003657A1 (fr) * | 1993-07-21 | 1995-02-02 | Fujitsu Limited | Central mta |
US5463382A (en) | 1994-04-22 | 1995-10-31 | Motorola, Inc. | Method and apparatus for controlling message transmissions in an acknowledge-back selective call communication system |
JP2699872B2 (ja) | 1994-06-01 | 1998-01-19 | 日本電気株式会社 | データ受信装置およびバッファ管理方法 |
US5487072A (en) | 1994-06-30 | 1996-01-23 | Bell Communications Research Inc. | Error monitoring algorithm for broadband signaling |
CA2226560C (en) * | 1994-07-22 | 2002-07-02 | Erik P. Debenedictis | Method and apparatus for controlling connected computers without programming |
US5570367A (en) | 1994-07-29 | 1996-10-29 | Lucent Technologies Inc. | Asymmetric protocol for wireless communications |
US5422893A (en) | 1994-08-04 | 1995-06-06 | International Busines Machines Corporation | Maintaining information from a damaged frame by the receiver in a communication link |
US5627970A (en) * | 1994-08-08 | 1997-05-06 | Lucent Technologies Inc. | Methods and apparatus for achieving and maintaining optimum transmission rates and preventing data loss in a processing system nework |
US5553083B1 (en) * | 1995-01-19 | 2000-05-16 | Starburst Comm Corp | Method for quickly and reliably transmitting frames of data over communications links |
US5630059A (en) | 1995-02-06 | 1997-05-13 | International Business Machines Corporation | Expedited message transfer in a multi-nodal data processing system |
US5936939A (en) * | 1995-05-22 | 1999-08-10 | Fore Systems, Inc. | Digital network including early packet discard mechanism with adjustable threshold |
US5699500A (en) * | 1995-06-01 | 1997-12-16 | Ncr Corporation | Reliable datagram service provider for fast messaging in a clustered environment |
US5859837A (en) | 1995-06-07 | 1999-01-12 | Advanced Micro Devices Inc. | Flow control method and apparatus for ethernet packet switched hub |
US5732082A (en) | 1995-08-11 | 1998-03-24 | International Business Machines Corp. | System and method for multi-frame received queuing with sorting in an asynchronous transfer mode (ATM) system |
US5664091A (en) * | 1995-08-31 | 1997-09-02 | Ncr Corporation | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol |
JP4160642B2 (ja) * | 1995-09-08 | 2008-10-01 | 株式会社日立製作所 | ネットワークデータ転送方法 |
US5764641A (en) * | 1995-09-08 | 1998-06-09 | Cisco Systems, Inc. | Early and integrated tail packet discard system |
US5721830A (en) * | 1995-09-12 | 1998-02-24 | Pc-Tel, Inc. | Host signal processing communication system that compensates for missed execution of signal maintenance procedures |
US5881247A (en) | 1995-11-30 | 1999-03-09 | Allen-Bradley Company Llc | System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer |
GB2311443A (en) | 1996-03-23 | 1997-09-24 | Ibm | Data message transfer in batches with retransmission |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US5809148A (en) | 1996-05-17 | 1998-09-15 | Motorola, Inc. | Decryption of retransmitted data in an encrypted communication system |
US5694473A (en) * | 1996-05-17 | 1997-12-02 | Motorola, Inc. | Decryption of retransmitted data in an encrypted communication system |
US5801639A (en) * | 1996-07-03 | 1998-09-01 | Motorola, Inc. | Method for optimizing transmission of messages in a communication system |
US5969674A (en) | 1997-02-21 | 1999-10-19 | Von Der Embse; Urban A. | Method and system for determining a position of a target vehicle utilizing two-way ranging |
US5931915A (en) | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6035335A (en) * | 1997-08-26 | 2000-03-07 | International Business Machines Corporation | Optimistic, eager rendezvous transmission system and combined rendezvous system for message processing, and related data structures |
-
1997
- 1997-05-13 US US08/856,619 patent/US5931915A/en not_active Expired - Fee Related
- 1997-12-29 US US08/998,966 patent/US6338091B1/en not_active Expired - Fee Related
- 1997-12-29 US US08/998,965 patent/US6480897B1/en not_active Expired - Lifetime
- 1997-12-29 US US08/999,177 patent/US6337852B1/en not_active Expired - Fee Related
-
1998
- 1998-01-08 TW TW087100198A patent/TW363156B/zh active
- 1998-04-11 KR KR1019980012937A patent/KR100284790B1/ko not_active IP Right Cessation
- 1998-05-07 JP JP12504398A patent/JP3606541B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6338091B1 (en) | 2002-01-08 |
TW363156B (en) | 1999-07-01 |
KR19980086583A (ko) | 1998-12-05 |
US6480897B1 (en) | 2002-11-12 |
JPH114256A (ja) | 1999-01-06 |
US6337852B1 (en) | 2002-01-08 |
KR100284790B1 (ko) | 2001-03-15 |
US5931915A (en) | 1999-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3606541B2 (ja) | 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法 | |
US5577211A (en) | System and method using chained structure queues for ordering of message delivery between connected nodes wherein unsuccessful message portion is skipped and retried | |
JP3208397B2 (ja) | 制御要素転送システム | |
US5887134A (en) | System and method for preserving message order while employing both programmed I/O and DMA operations | |
US5253342A (en) | Intermachine communication services | |
US6542513B1 (en) | Optimistic, eager rendezvous transmission mode and combined rendezvous modes for message processing systems | |
EP0543512A2 (en) | Multiprocessor system | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
EP0725351A2 (en) | Expedited message transfer in a multi-nodal data processing system | |
JP3544390B2 (ja) | 並列計算機で用いられるメッセージ通信方法 | |
JPH06309252A (ja) | 相互接続インタフェース | |
JP2006236391A (ja) | パケットベースの通信ネットワークにおけるメッセージ受信の肯定応答システム及び方法 | |
WO2002031672A2 (en) | Method and apparatus for interprocessor communication and peripheral sharing | |
JPH0673123B2 (ja) | バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 | |
US6856619B1 (en) | Computer network controller | |
US5878226A (en) | System for processing early arrival messages within a multinode asynchronous data communications system | |
JPH065524B2 (ja) | 記憶装置管理方法 | |
KR920004771B1 (ko) | 작업 관련 메세지 흐름 제어방법 및 통신 관리 장치 | |
EP1566028A1 (en) | Data processing systems | |
US6035335A (en) | Optimistic, eager rendezvous transmission system and combined rendezvous system for message processing, and related data structures | |
KR100298961B1 (ko) | 메시지도착통지를위한소스및수신지개시인터럽트시스템 | |
US6098105A (en) | Source and destination initiated interrupt method for message arrival notification | |
JP3644158B2 (ja) | 並列計算機におけるデータ送受信方法 | |
KR20010095103A (ko) | 데이터 블록 전송 방법 및 장치 | |
JP3023339B2 (ja) | メッセージ着信通知方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040803 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040803 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20040803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040803 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040913 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20040913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071015 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |