JPH06309252A - 相互接続インタフェース - Google Patents

相互接続インタフェース

Info

Publication number
JPH06309252A
JPH06309252A JP6067584A JP6758494A JPH06309252A JP H06309252 A JPH06309252 A JP H06309252A JP 6067584 A JP6067584 A JP 6067584A JP 6758494 A JP6758494 A JP 6758494A JP H06309252 A JPH06309252 A JP H06309252A
Authority
JP
Japan
Prior art keywords
message
interface
node
interconnection
packet
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
JP6067584A
Other languages
English (en)
Other versions
JP3553634B2 (ja
Inventor
Andrew J Wilkes
アンドリュー・ジョン・ウィルクス
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH06309252A publication Critical patent/JPH06309252A/ja
Application granted granted Critical
Publication of JP3553634B2 publication Critical patent/JP3553634B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Abstract

(57)【要約】 【目的】 受信側がビジー状態でも、入来メッセージで
中断せず、メッセージ消失数を減少できる相互接続イン
タフェースを提供することを目的とする。 【構成】 パケット本体、保護キーを含むメッセージを
ホスト・コンピュータから相互接続インタフェース30
0を介して相互接続組織に接続された同様のホスト・コ
ンピュータに伝送し、相互接続インタフェース300の
受信用ターミナル302内のスロット・テーブルにスロ
ット同定値と対応するとともに、ホスト・コンピュータ
・メモリ304に記憶された保護キーを含む記録を蓄積
し、パケットの保護キーガ記録の保護キーと合致する
と、入来メッセージのスロット同定値に対応して記録に
おいて同定されたホスト・コンピュータ・メモリ304
のエリアにパケット本体を蓄積する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、データ処理システム
に関するものであり、より詳細にはマルチプロセッサ式
のデータ処理システムにおいて用いるための改良された
通信システムにおける相互接続インタフェースに関する
ものである。
【0002】
【従来の技術】一つのクラスのマルチプロセッサ式のデ
ータ処理システムは、ある一つの相互接続組織によって
接続された複数のプロセッサノードからなるものであ
る。各プロセッサのノードに典型的に含まれているもの
は、一つのプロセッサ及びローカルRAMである。高速
の相互接続組織によれば、ノード間での通信が維持され
る。ある一つの演算上の問題が複数のノード間で分割さ
れて、異なるノードにおいて利用可能な特別の資源を用
いることによってその効率性を改善し、又は、ある一つ
の結果が利用可能であるのに先だって経過されねばなら
ないリアルタイムを改善するようにされる。従って、一
つのノード上で実行するプロセスは、該当のシステムの
他のノードにおいて実行される演算に依存することにな
る。種々のプロセスが相互接続組織を介して通信され、
情報の交換がなされるとともにプロセスの同期がとられ
る。
【0003】このようなシステムの実行能力のレベル
は、第1のノード上を実行するプロセスから第2のノー
ド上を実行するプロセスへと、メッセージを伝送するこ
とができる速度に依存している。各ノードに典型的に含
まれているインタフェース回路は、メッセージの送信及
び受信を管理するものである。先行技術の通信システム
においては、メッセージを受信しているノードが、該当
のメッセージが受信されたか否かの制御をする。第1の
ノード上のプロセスが第2のノード上のプロセスへのメ
ッセージの伝送を所望するときには、第1のノード上の
インタフェース回路が相互接続組織を介してメッセージ
を伝送し、そして、第2のノードにおけるインタフェー
ス回路からの確認(acknowledgement )を待つ。
【0004】
【発明が解決しようとする課題】該当のメッセージが第
2のノード上のインタフェース回路に到達したときに
は、メッセージが受信されるか、又は、該メッセージが
失われるかの二つの可能性がある。ノードがビジー過ぎ
るか又はメッセージを処理するのには満杯であるときに
は、このッセージは失われることになる。受信側は、メ
ッセージが失われたことを指示するメッセージを戻すか
若しくは沈黙の状態に留まる。いずれの場合にしても、
送信側はある時間の経過後に該当のメッセージを再送せ
ねばならない。不都合なことに、送信側には別の通信を
試行するための最適の時点を定める手段が備えられてい
ない。その理由は、最適の時点で要求されることは受信
側のノードにおいて実行しているプロセスについての知
識であり、これらのプロセスは送信側には明白ではない
ことにある。その結果として、この送信は、典型的に
は、ある所定の時間だけ待機し、これに次いで別の通信
を試行するようにプログラムされている。送信の通信開
始が早すぎるときには、受信側はまだビジー状態にあ
り、メッセージは再び失われることになる。メッセージ
が伝送され、失われる度に、相互接続組織の使用の効率
性が低下される。この低下した効率性により、他のノー
ドで実行している他のプロセスがより遅くなるようにさ
れるが、その理由は、これら他のプロセスは、相互接続
組織における十分なバンド幅を最大の速度で実行するよ
うにアクセスできないことにある。メッセージを再送す
る前の送信の待機時間が長過ぎるときには、第1のメッ
セージの主題として委任されたタスクの結果を含む第2
のノードからの戻りのメッセージを待機して止められて
いることから、この送信上のプロセスは、より低い最大
速度で実行することができる。
【0005】メッセージが第2のノードによって受け入
れられるときであっても、この先行技術の通信技術はま
だ非効率のものである。ある一つのメッセージが受信側
に到達すると、受信側におけるインタフェース回路がプ
ロセッサを中断して、入来するメッセージを扱う必要の
あることが、このセッサに対して告知される。このメッ
セージが長いものであるときには、それは典型的には幾
つかのブロックに分割される。各ブロックの到達により
典型的には個別の中断が発生される。これらの中断を処
理することにより、プロセッサが他のタスクに関してビ
ジー状態にある場合の、このプロセッサのスループット
に重大な低下が生じるようにされる。原理的にいえば、
幾つかのブロックに分割された一つの長いメッセージに
関連する中断は、その最大のメッセージを格納するのに
十分なバッファを備えたインタフェース回路を用いるこ
とによって回避することができる。しかしながら、この
ようなシステムでも、まだメッセージ毎に1回だけプロ
セッサを中断させる。これに加えて、受信側では、入来
するメッセージが受信側のローカルメモリに配置される
べき場所及びこのメッセージを移動させる際の受信側の
ローカルメモリにおけるそれらの宛先を定めるために、
典型的に著しく長い処理時間を費やす。
【0006】また、先行技術によるこのタイプのシステ
ムは、送信の観点からも非効率のものである。第1に、
プロセスにおいてメッセージの伝送が所望される毎に、
オペレーティングシステムの呼出しを求めることによっ
て実行されねばならない。多くのプロセスが単一のノー
ド上を実行しているときには、他のプロセスにより用い
られて、一つのプロセスを悪化させる資源の可能性が常
に存在する。一つのプロセスがインタフェース回路及び
/又は相互接続組織に対する無制限のアクセスを有する
ときには、このような悪化は可能性があるものである。
これに加えて、保護がなされねばならないものは、第2
のノード上でプロセスを「アタック」し、又は、相互接
続組織に優越する第1のノード上のプロセスに対してで
ある。先行技術においては、これらの保護は典型的には
オペレーティングシステム内で構築されている。通信の
受信側においては、そのオペレーティングシステムによ
り、受信側のメモリに書き込むことの許容がテストされ
る。送信側においては、そのオペレーティングシステム
により、一つのプロセスが他のプロセスとして仮装する
ことを停止される。不都合なことに、オペレーティング
システムの呼出しにより、通信のプロセスが低速にされ
る。
【0007】先行技術に係る別の問題は、初めてオンラ
インになったとき、システムが新規なプロセッサノード
の弱点であることにある。新規なプロセッサがマルチプ
ロセッサシステムに付加されたときには、それは保護さ
れない状態で起動される。この時間中は、それは誤りを
ともなってロードされ、その結果として不可能化され
る。先行技術においては、この問題に対する解決策とし
て利用可能なものはない。
【0008】先行技術の相互接続システムに係る更に別
の問題は、規則的なメッセージを搬送する同じ相互接続
組織を用いることにより、プロセスに待ち時間の短い
(low-latency )同期化を付与する技術が欠如している
ことである。異なるノードを実行させるプロセスを同期
化させることは重要なことが多い。例えば、多くの適用
において、プロセッサの全てによって用いられるデータ
値を変更することは、一時に一つのプロセスだけに与え
ることができる。先行技術のシステムにおいては、個別
の相互接続組織を通して、又は、オペレーティングシス
テムの呼出しを介してのいずれかによって同期が与えら
れる。前者の解決策によれば相互接続組織のハードウエ
アのコストが著しく上昇することは明かであり、また、
後者の解決策は多くの適用に対して遅過ぎるものであ
る。
【0009】広範な言い方をすれば、この発明の目的
は、改良されたマルチコンピュータの相互接続インタフ
ェースを提供することにある。
【0010】この発明の別の目的は、受信側がビジー状
態にあるために失われるメッセージの数が、先行技術の
システムと比較して著しく減少される相互接続インタフ
ェースを提供することにある。
【0011】この発明の更に別の目的は、既にビジー状
態にあるときに、受信側が入来メッセージによって中断
されることがない相互接続インタフェースを提供するこ
とにある。
【0012】この発明の更に別の目的は、メッセージを
伝送する間にシステム上の他のプロセスからの偶発的な
又は悪意のあるアタックから各プロセスを保護するため
の、オペレーティングシステムの呼び出しが必要とされ
ない相互接続インタフェースを提供することにある。
【0013】この発明の更に別の目的は、入来メッセー
ジを受信側のメモリに格納する場所を定めるために、受
信側で消費される時間量が節減される相互接続インタフ
ェースを提供することにある。
【0014】この発明の更に別の目的は、規則的なメッ
セージトラフィックのために用いられるのと同じ相互接
続組織を用い、集積化され、保護され、待ち時間の短い
同期化操作がなされる相互接続インタフェースを提供す
ることにある。
【0015】
【課題を解決するための手段】この発明は、ある一つの
ホストコンピュータを複数のホストコンピュータを含む
マルチコンピュータのデータ処理システム内の相互接続
組織に接続させるための相互接続インタフェースであ
る。ホストコンピュータは相互に通信する相互接続組織
に接続されている。それぞれのホストコンピュータは、
相互接続組織上でメッセージの送信及び受信をすること
により、同種の相互接続インタフェースを有する他のホ
ストコンピュータと通信する。それぞれのメッセージに
は一つ又は複数のパケットが含まれており、それぞれの
パケットには、パケット本体、パケット識別情報、保護
キー及びスロット識別値である。相互接続インタフェー
スに含まれているものは、一つの受信用ターミナル及び
一つ又は複数の送信用ターミナルである。受信用ターミ
ナルにおいては、相互接続組織に接続されている他のコ
ンピュータからのメッセージを受信する。受信用端末に
は複数の記録を格納するためのスロットテーブルが含ま
れており、それぞれの記録は、相互接続組織上を伝送さ
れるメッセージに含まれているスロット識別値の可能性
のある一つのものに対応している。各記録に含まれてい
る情報は、ホストコンピュータのメモリにおける対応領
域の位置及びサイズを識別するものである。メモリのこ
の領域は、対応するスロット識別値を有する受信したメ
ッセージを格納するために用いられる。各記録には、保
護キー及び入来メッセージの構成を特定する情報も含ま
れている。ある一つの特定の記録を参照する入来メッセ
ージ内の保護キーは、記録に格納されている保護キーに
合致せねばならない。ある一つの受信用ターミナルは、
パケットにおける保護キーが記録に格納されている保護
キーと合致したときには、相互接続組織を介して受信さ
れたパケットを、入来メッセージ内のスロット識別値に
対応する記録において識別されるホストコンピュータの
メモリ領域に格納する。受信用ターミナルには、ホスト
コンピュータによる処理を待機している受信メッセージ
を特定する情報を格納するための複数のリストも含まれ
ている。
【0016】送信用ターミナルは、相互接続組織上でメ
ッセージを伝送するために用いられる。各送信用ターミ
ナルに含まれている保護レジスタは、送信用ターミナル
によって伝送されるメッセージのパケットに含まれるべ
き送信用保護キーを格納するためのものである。各送信
用ターミナルに設けられるものは、相互接続組織上をメ
ッセージの意図された受信側に伝送されるべき、メッセ
ージの位置上の情報である。送信用ターミナルにおいて
はメッセージのためのパケットが発生され、そして、相
互接続組織を介してパケットが伝送される。各パケット
には送信用の保護キーが含まれている。この発明の好適
な実施例においては、保護キーが格納されるレジスタは
オペレーティングシステムによってのみ書き込むことが
可能にされる。
【0017】
【実施例】図1は、この発明による相互接続インタフェ
ースシステムが用いられる典型的なマルチプロセッサシ
ステムのブロック図である。データ処理システム10に
は複数のプロセッサノード(以下、ノードという)が含
まれている。例示的なノードは12及び14で示されて
いる。各ノードにはローカルRAM16を有するホスト
コンピュータであるプロセッサ15が含まれている。あ
る一つの特定のノードにおけるプロセッサは、相互接続
組織11を介して他のノードにおけるプロセッサとの通
信をする。該当する技術においては多様なインタフェー
ス組織の設計が知られている。ここでの検討の目的のた
めには、相互接続組織11がある一つの送信用ノードか
らある一つの受信用ノードまでの経路を提供することを
注意すれば十分である。それぞれの処理用ノードは、相
互接続インタフェース17を介して相互接続組織11に
接続されている。
【0018】この発明と先行技術の相互接続インタフェ
ースとの間の一つのキーの差異は、送信側と受信側との
間の通信をいずれの相互接続インタフェースが制御する
かの識別をすることにある。先行技術の設計において
は、受信側が制御することは、受信側に対するメッセー
ジの伝送が成功したかどうか、及び、受信側のメモリの
どこにこのメセージが配置されたかということである。
一般的にいって、各インタフェース回路は、そのノード
においてメモリのブロックを制御する。典型的には、メ
モリの一部はインタフェース回路内にあり、メモリの一
部はローカルRAM内にある。先行技術のシステムにお
いて、ある一つの特定のノード上でメモリの割当てをす
ることは、問題のノードにおける相互接続インタフェー
ス及び/又はプロセッサによって制御される。利用可能
なメモリがフルであるとき、又は、インタフェース上を
到来するメッセージを処理するために、プロセッサがよ
り優先度の高いタスクによってビジー過ぎるときには、
先行技術においてはメッセージが失われることになる。
【0019】この発明に係る相互接続インタフェースを
用いるシステムにおいては、各潜在的な送信は、受信側
でのメモリの部分を管理する。このメモリは送信側によ
って伝送されるデータを格納するために用いられる。ノ
ード12上でのプロセスに対する特定のタスクを実行す
るためにノード14上でのプロセスに命令を出す、ノー
ド12からノード14へのメッセージについて考察す
る。ノード12上での相互接続インタフェース17はメ
ッセージが挿入されるべきスペースのブロックを管理し
ていることから、ノード12上での相互接続インタフェ
ースは、ノード14にメッセージのためのスペースがあ
ることを「知る」。ノード14上でのプロセスがそのタ
スクを完了したときには、受信側のプロセスは通常は
「タスク処理完了(done with task)」メッセージを伝
送する。このメッセージは、また、該当のタスクを開始
させたメッセージのために用いられたメモリが現在はフ
リーであることを、ノード12上での相互接続インタフ
ェースに信号を出すためにも用いられる。このために、
ノード12上での相互接続インタフェース17は、各潜
在的な受信側に割り当てられるメモリの状態を常に知っ
ていることになる。送信側としては受信側での送信の資
源の状態を知っていることから、メッセージを受信する
ために受信側で割り当てられたメモリが不十分であると
きには、送信側はメッセージの伝送を回避することがで
きる。このために、受信側でのスペースの欠如のために
メッセージが失われる問題は、この発明によって回避さ
れる。
【0020】また、この発明に係る相互接続インタフェ
ースによれば、ホストがビジー過ぎて、新規なメッセー
ジが到来した旨の信号を出して中断をするサービスがで
きないときに、ホストの中断の防止もする。この発明を
用いるデータ処理システムにおいては、相互接続インタ
フェースで導出されたタスクについて作業していないと
きにのみ、相互接続インタフェースによりそのノードに
おけるプロセッサの中断がなされる。ホストプロセッサ
が相互接続インタフェースを介して伝送されたタスクに
ついて既に作業をしているときには、ホストプロセッサ
を中断することなく、新規のメッセージが作業キューに
対して付加される。この発明の実施例では、実行されて
いるタスクよりも優先度が低い相互接続インタフェース
導出のタスクについてホストプロセッサが作業している
ときに、中断がホストプロセッサに伝送されることも、
当業者には明かなことである。
【0021】ここで、この発明に係る相互接続インタフ
ェース100の部分のより詳細なブロック図である図2
を参照すると、データ及びプログラムの格納のためのロ
ーカルRAM103がホストコンピュータである中央演
算装置(以下、CPUと記す)102が含まれているプ
ロセッサに対する相互接続組織からのメッセージを受信
するようにされている。送信用ターミナル、受信用ター
ミナルとしての機能を含む相互接続インタフェース10
0に含まれているインタフェースである相互接続組織イ
ンタフェース104は、相互接続組織上でメッセージを
送受信するためのものである。相互接続組織インタフェ
ース104によれば、相互接続組織上でデータを実際に
伝送することが必要とされる種々のプロトコルが管理さ
れる。このような相互接続組織インタフェースは当業者
には周知のことであるから、ここではインタフェース1
04について詳述しない。また、相互接続インタフェー
ス100には受信制御手段であるコントローラ105も
含まれていて、下記に説明される種々の論理的な動作が
なされる。コントローラ105も、該当の技術において
は通常のものである。
【0022】これも相互接続インタフェース100に含
まれている固有のローカルメモリ106は、入来するメ
ッセージに関連した情報を格納するために用いられる。
スロット107の記録を格納するためのスロットテーブ
ルとしてのローカルメモリ106には、「スロット」と
して参照される複数の記録が含まれている。例示的なス
ロットは107において示されている。各スロットに格
納されている情報は、相互接続組織上の相互接続インタ
フェース100に接続されているある一つの特定のプロ
セッサに割り当てられたローカルRAM103における
メッセージ領域を記述するためのものである。ある一つ
のスロットに格納された情報にはローカルRAM103
におけるアドレスが含まれており、問題のプロセッサか
らのメッセージはここで格納され、また、その量のスペ
ースが割り当てられることになる。
【0023】これも各スロットに含まれている保護キー
は、誤指向のメッセージに対して保護を与えるためのも
のである。メッセージ内の各入来パケットが、このメッ
セージにおいて特定されたスロットに格納されたと同じ
保護キーを有していることを要求することにより、保護
を与えることがなされる。
【0024】これも各スロットに含まれているスペース
は、当該スロット内のデータによって制御される受信メ
ッセージの構成を特定する情報を格納するためのもので
ある。ある一つの特定のメッセージに対して、このスペ
ースは2個のサブグループの値に分割されているものと
して観察される。その第1のサブグループにおいては、
ある一つの受信メッセージについての事項が特定され
る。これに含まれるものは、該当するメッセージの長
さ、及び、このスロットによって制御されるメモリブロ
ックの始まりに関してメッセージが始まる位置である。
その第2のサブグループは、マルチパケットメッセージ
の受信を制御するために用いられる。
【0025】上述された実施例ではローカルメモリ10
6に格納されたスロット「テーブル」が用いられている
けれども、当業者には明かであるように、実際のテーブ
ルをローカルメモリとしてのローカルRAM103に格
納することができる。この場合において、スロットテー
ブルからのエントリは、キャッシュメモリにおいて用い
られるのと類似の態様で、ローカルRAM103との間
で移動することができる。
【0026】長文のメッセージは典型的にはパケットに
分割されて、相互接続組織を介して個別に伝送される。
多くのインタフェース組織はパケットからパケットへと
変化する予測不能な通過時間を有しているために、ある
特定のメッセージに対するパケットの到着は順不同にな
る。ある時点において唯一のメッセージだけがある一つ
の特定のスロットに伝送されている、という簡単な場合
について考察してみる。コントローラ105は、該当の
メッセージが完全である時点を決定できねばならない。
このタスクにおいてコントローラ105を助けるために
は、各々のスロットにはメッセージ識別フィールド及び
カウンタ用のフィールドが含まれており、メッセージ識
別フィールドに格納されている識別値を有するメッセー
ジに対して受信されるべく残留しているパケットのトラ
ックが維持される。送信側がメッセージの伝送をセット
アップすると、メッセージ識別及びパケットカウントが
これらのフィールドにロードされる。
【0027】新規なメッセージの到着は、残っているパ
ケットのカウントが0であることによって検知される。
新規なメッセージの到着では、メッセージ内のパケット
のカウントは0ではない。このパケットのために、パケ
ット残留カウンタは、該新規なメッセージ及び再ロード
されるべきメッセージ識別フィールドに対応するカウン
トに適切にセットされるようになる。このメッセージに
対する各連続するパケットはカウントが減少するように
なる。より詳細に後述されるように、いずれのパケット
でも相互接続組織において遅れる可能性があることか
ら、相互接続インタフェースは、メッセージのパケット
が、いかなる既知の順序でも受信されることを予測する
ことはできない。このために、各々のパケットは、スロ
ット情報のセットアップのために必要な、全ての決定的
な情報を反復する。例えば各々のパケットに含まれてい
るものは、メッセージ内のパケットの数、問題のパケッ
トのパケットナンバー、メッセージ識別値及び保護キー
である。
【0028】メッセージ識別フィールドは、メッセージ
の再伝送の間のエラーを回避するために用いられる。メ
ッセージの伝送の間にエラーが生じたときには、送信側
はメッセージの再伝送をするように指示される。受信側
は、再伝送の間に到着する先行の試行からパケットを防
護し、パケット残留カウンタが誤って減少することがな
いようにせねばならない。先行するメッセージのパケッ
トの一つが相互接続組織内で遅れるときには、このよう
な状況が生起する可能性がある。このような状況を回避
するために、メッセージ識別フィールドは、それぞれの
新規なメッセージの始めにおいて再ロードされる。先行
するメッセージからの遅いパケットは、そのメッセージ
識別フィールドにおいて異なる値を有していることか
ら、遅いパケットは無視される。
【0029】上記の説明では、スロット毎に進行してい
るメッセージは一つだけであるとされた。各スロットに
対して多くのメッセージが進行することが許容される場
合には、各スロットに含まれるものは、許容されたメッ
セージ毎の、複数のメッセージ識別フィールド及びパケ
ットカウントフィールドである。ローカルRAM103
におけるオフセット及びメッセージ長フィールドも、可
能性のある多くのメッセージの各々に対して含まれる。
【0030】これに加えて、多くのメッセージが存在す
るときには、各スロットに対してメッセージカウントが
格納される。このメッセージカウントにより、ホストコ
ンピュータとしてのCPU102に対するメッセージ到
着の告知が、指示された数のメッセージが到着した後で
のみなされることを、送信側に対して特定化するために
許容するようにされる。このフィールドに対するデフォ
ルト値は0である。即ち、各入来するメッセージにおけ
る受信側に告知するようにされる。カウントが0よりも
大きい値にセットされたときには、カウントは各完了し
たメッセージ上で減少し、カウントが0に到達したとき
にのみ告知がなされる。
【0031】メッセージが完全に受信されたときには、
コントローラ105は、告知の記録を作業キュー108
に配置する。CPU102が先行のメッセージに応答し
て既に満杯であるときには、中断が生起することはな
い。この場合において、CPU102は、作業キュー1
08を介して受け入れたタスクが終了した後で、作業キ
ュー108をチェックするようにプログラムされてい
る。メッセージが完了したときに、CPU102が相互
接続インタフェースで導出されたタスクについて作業し
ていなかったとすると、CPU102はCPU102に
対する中断を発生させて、メッセージが待機している旨
をこのCPUに告知するようにされる。
【0032】コントローラ105は、また、種々のプロ
トコルエラーに対する入来メッセージのチェックもす
る。例えば、プロセッサに対して割り当てられたメモリ
領域に対して長過ぎるメッセージの伝送要求、誤りの保
護キーを有するパケット等に対するチェックをする。エ
ラーの状態は、好適には、送信側よりもメッセージを受
信する側で処理される。エラーが受信側において検出さ
れたときには、受信側のオペレーティングシステムは、
更に別の問題が送信によって発生されることを防止する
ための動作をするように告知される。誤りのあるメッセ
ージを発生させる問題を送信側が有しているときに好適
であることは、該メッセージの受信側が、マルチプロセ
ッサの環境を管理するオペレーティングシステムの部分
に対して、このような状態の存在を指示することであ
る。オペレーティングシステムのこの部分は、これに次
いで、欠点のあるノードを再ブートさせるための動作を
することができる。送信側がこのようなエラーをしてい
るときには、それ自体でそれらを訂正することに依存す
ることはできない。実際のところ、エラーは伝送ノード
における悪意のあるプロセスの結果である可能性があ
る。後の場合においては、伝送ノードから離れるような
制御がされねばならない。
【0033】上述された実施例では相互接続インタフェ
ースに格納された単一の作業キューが用いられているけ
れども、当業者には明かであるように、異なる優先度を
有する多くの作業キューを用いることができる。これに
加えて、実際の作業キューはホストメモリ、すなわちロ
ーカルRAM103に配置することができる。この場合
においては、作業キューに対するポインタが相互接続イ
ンタフェースに格納されることになる。
【0034】この発明による相互接続インタフェースの
受信部分についての上述された実施例は、小さいメッセ
ージに対して最も良好に使用される。その理由は、この
実施例においては、ローカルRAM103における物理
的メモリが、送信側がメッセージを伝送できる全体的な
時間的周期にわたり、それぞれに有効な可能性のある送
信側に対して割り当てられることにある。メモリの大き
さは、対応の送信から予測される最長のメッセージを受
信するのに十分なものでなければならない。
【0035】大きいデータの伝送のために、この発明に
よる相互接続インタフェースにおいては、伝送と同時に
スペースが割り当てられるプロトコルが好適に用いられ
る。この状況においては、送信側は、受信する側が要求
するスペースにおいて、オペレーティングシステムに対
してメッセージを伝送する。受信側のオペレーティング
システムがスペースを割当て、そして、それを記述した
情報を新規なスロットに配置する。これに次いで、スロ
ットナンバー及び保護キーが、伝送を実行する際に用い
られる希望の送信に対して戻される。データが受信側に
おいて処理されるときには、スロットが再指定されて、
メモリ(ローカルメモリ)が他の使用に戻される。
【0036】その開始において、各ノードには、システ
ム内の他のノードと互いにメッセージのサービスをする
ための最低限の大きさのメモリが割り当てられ、これら
のメモリブロックを指摘するためにローカルメモリ10
6における対応のスロットが初期化される。このため
に、システムがパワーアップされたときには、各ノード
は全ての他のノードからのメッセージを受信できるよう
にされる。これらの初期的なスロットは、ブートストラ
ップスロットととして参照される。
【0037】ブートストラップスロットに対して選択さ
れるキーは、スロットが割り当てられるノードアドレス
を伝送する機能である。初期のキーは、いずれのノード
でもキーを算出できるように選択される。しかしなが
ら、可能性のあるキーから用いられるキーの数は、劣性
のあるノードが偶発的にキーを発生させる公算が小さい
ように、十分に小さいものとされる。新規なノードの始
めの動作は、より低い予測性の態様において導出される
ものに対して、これらのキーにおける変更を協議するこ
とである。このようにすることで、あるノードにおける
悪意のある処理(例えば、ウイルス)に対する防護が付
与されて、他のノードに対するメッセージの伝送が可能
にされる。
【0038】実行中のシステムに対するノードの動的な
付加は、通常のブートストラップと同じやり方で達成さ
れる。ある一つのノードは、それと通信していないノー
ドと、システムを排除された(又は付加されなかった)
ものとの間の差異を決定することができない。このため
に、各ノードがローカルメモリとシステム内に潜在的に
存在する可能性があるすべてのノードに対するスロット
とを保留するときには、新規なノードは常に付加される
ことができる。
【0039】最大数のノードは大きいけれども、活動的
なノードの数が小さいときには、この手順により、各ノ
ードにおけるメモリについて、受け入れ難い大きさの無
駄が生じる可能性がある。この無駄を回避するために、
幾つかのノードは「ブートサーバ」として指定されるこ
とができる。全ての可能性のあるノードのために、メモ
リはこれらのノードに割り当てられる。ブートサーバに
より、いずれのノードが活動的であるかが決定される。
他のノードに保留されるスロットは、活動的であるとし
て知られているノードに対するだけのものである。ある
一つの新規なノードがオンラインにされると、この新規
なノードは、それに応答するブートサーバに対するシス
テムを探索する。ブートサーバは、これに次いで、ノー
ドにおけるオペレーティングシステム間での通信のため
のスロットを割り当てることを開始する他のノードに対
して、新規なノードの存在を通知する。
【0040】一つのノードにおいて実行中のプロセス
が、他のノードにおいて動作しているプロセスに対して
メッセージの伝送を所望したとすると、この希望の伝送
プロセスにより、そのノードにおけるオペレーティング
システムに対するセットアップの要求がなされる。オペ
レーティングシステムにより、メッセージの戻りに対す
る送信側のノードにおけるスロットが設定され、これに
次いで、受信側ノードにおけるオペレーティングシステ
ムに対する開始の間に、オペレーティングシステムのス
ロットセットアップに対して、オペレーティングシステ
ムを介してメッセージが伝送される。受信側ノードにお
けるオペレーティングシステムは、これに次いで、伝送
側のプロセスに対するスロットを設定し、受信側のプロ
セスに対して、制御される送信側におけるスロットの数
を告知する。
【0041】この発明による相互接続インタフェースが
他の相互接続インタフェースからのメッセージを受信す
るやり方について上記のように説明してきたが、これか
らは、送信及び受信の双方において相互接続インタフェ
ースによって用いられるデータ構成及びコントロールレ
ジスタについて、より詳細な検討をする。この発明を用
いるデータプロセッサにおいては、全ての通信は、ター
ミナルとして参照される端点を介して実行される。図3
のブロック図は、この発明による相互接続インタフェー
ス300の好適な実施例を示すものである。相互接続イ
ンタフェース300に備えられているものは、一つの受
信用ターミナル302及び一つ又は複数の送信用ターミ
ナル303である。ターミナルの全ては、ホストコンピ
ュータのメモリにおける参照位置に対する単一のメモリ
マッピングテーブルを共有しており、また、この発明に
おいて用いられる種々のレジスタが、ホストコンピュー
タにおけるメモリアドレスとして現れている。かくし
て、ホストコンピュータは、ロード命令及び格納命令を
それぞれに介して、種々のレジスタの読み取り及び書き
込みをすることができる。また、メモリマッピングテー
ブルは、種々のレジスタに対するアクセスを制限する手
段も付与するようにされる。オペレーティングシステム
にのみアクセス可能なアドレスにレジスタを指定するこ
とにより、レジスタを駄目にする誤りのあるプロセスの
可能性が著しく低下される。インタフェース手段として
のインタフェースハードウエア308により、相互接続
組織に対するインタフェースが付与される。
【0042】一般的に、ターミナルで格納又は抽出され
るメッセージは、それぞれに、ホストコンピュータメモ
リ304で受け入れられ、又は、これから送出されるも
のである。この配列により、種々のターミナルにおける
中間バッファに対するメッセージの転送コストが軽減さ
れる。インタフェースハードウエアは図2においては1
00で示されているものであり、上記されたインタフェ
ースハードウエアているものであり、上記されたものは
受信用ターミナルの一例である。
【0043】この発明による好適な実施例において用い
られる送信用ターミナルは、DMA(ダイレクトメモリ
アクセス)モード及びダイレクトモードとして参照され
る二つの異なるモードで動作することができる。図4の
ブロック図は、送信用ターミナル400を示すものであ
る。送信用ターミナル400によって実行される種々の
動作は、受信制御手段であるコントローラ401によっ
て制御される。DMAモードにおいて、送信用ターミナ
ルは、好適にはホストコンピュータシステムメモリの一
部である入力キュー408からの作業をする。より詳細
に後述されるように、入力キューに含まれているディス
クリプタのリストは、相互接続組織を介して伝送される
用意のある、ホストコンピュータメモリにおけるメッセ
ージの位置を特定するものである。これらのメッセージ
は適当な順序でコントローラ401により処理される。
ダイレクトモードにおいては、相互接続組織を介して伝
送されるべき単一のメッセージが、ダイレクト送信レジ
スタ406の内容によって識別される。メッセージはバ
ッファ400が典型的である一つ又は複数のFIFO
(先入れ先出し)バッファ409に格納されている。ダ
イレクトモードは典型的には短い待ち時間を必要とする
短いメッセージのために用いられる。
【0044】先に記載されたように、多くのプロセスが
システムの各ノードで実行することができるマルチコン
ピュータシステムにおいて、防護の事項は極めて重要な
ことである。システムは、異なるプロセスを装い、ま
た、システムの他のノードにおいて格納されているデー
タを駄目にする一つのノードにおける誤りのあるプロセ
スから保護されねばならない。通信の防護を確実にする
この発明によって用いられる一つの方法は、各メッセー
ジに保護キーを含ませることである。このメッセージに
おける保護キーの値は、受信側ノードの受信用ターミナ
ルにおける対応のエントリの値と合致せねばならない。
このレジスタは、送信用ターミナルに接続されたノード
におけるオペレーティングシステムによって書き込まれ
るだけである。保護キーのレジスタは「信託された」オ
ペレーティングシステムソフトウエアによってのみアク
セスされることから、誤りのあるメッセージを伝送する
ことによって他のノードにおけるプロセスを駄目にでき
る、一つのノードにおいて実行しているプロセスの可能
性が著しく低減される。
【0045】DMAモードで動作しているときには、タ
ーミナルのメッセージ伝送は、ホストメモリから相互接
続組織に対して直接的になされる。保護レジスタ、レジ
スタセット402は、このモードの動作に必要とされる
種々の値を格納するために設けられている。ターミナル
によって完成されるべき伝送タスクのリストは、ノード
のローカルRAM内に配置されたDMA入力キュー40
8に格納されている。各タスクに含まれているものは、
ターミナルを介して伝送されるべきメッセージの記述で
ある。この記述は、以下の検討においてはセンドワーク
ディスクリプタ(send-work-descriptor)として参照さ
れる。キューの位置及びサイズを特定するデータは、レ
ジスタセットとしてのDMAレジスタ402におけるレ
ジスタに格納されている。この情報は、オペレーティン
グシステムによってのみ書き込まれるものである。DM
Aレジスタ402に含まれているポインタは、DMA入
力キューにおいてターミナルによって調査された最後の
センドワークディスクリプタの物理アドレスに対するも
のである。
【0046】この発明の好適な実施例におけるセンドワ
ークディスクリプタの内容は4個のフィールドに分割さ
れる。その第1のフィールドでは、意図された受信が識
別される。これに含まれているものは、このーバのノー
ドの識別、受信側のメモリ受け入れターミナルにおける
スロットの数、及び、問題のメッセージが受信側のメッ
セージスペースに配置されるべきアドレスを特定するオ
フセットである。その第2のフィールドで識別されるも
のは、送信側のメモリにおける物理アドレスに対するポ
インタ、及び、このポインタによって特定された送信の
メッセージスペースにおけるメッセージのオフセットで
ある。その第3のフィールドはメッセージタイプを特定
するために用いられる。この発明の好適な実施例におい
て、メッセージは、伝送メッセージ又は「リモートゲッ
ト(remote-get)」メッセージのいずれかである。ある
一つのリモートゲットメッセージのために、受信側のメ
モリにおいて特定された領域のコピーが、送信側に戻る
ように伝送される。このプロトコルは、データを含む戻
りメッセージによって追従される、受信側からのデータ
を要求するメッセージと同等のものである。しかしなが
ら、この場合においては、受信側におけるインタフェー
スハードウエアにより、受信側を擾乱させることなく戻
りメッセージが発生される。終りに、最後のフィールド
で特定されるものは、メッセージの長さ、及び、受信側
の告知のために用いられる識別コードである。
【0047】DMAレジスタ402には、DMA入力キ
ュー408の開始の物理アドレス及びキューの長さを格
納するためのレジスタグループも含まれている。これら
のレジスタはオペレーティングシステムによって書き込
まれる。DMAレジスタセット402には、相互接続イ
ンタフェースがキューにおいて処理を開始したという、
最後のセンドワークディスクリプタの物理アドレスを特
定する現在位置ポインタも含まれている。
【0048】これもDMAレジスタ402に含まれてい
るものは、メッセージの処理の間に多くの例外のいずれ
かが生じたときのエラーデータを格納するためのステイ
タスレジスタ、問題のターミナルに対する優先レベルを
格納するためのレジスタ、及び、現在のタスクの状態を
指示するためのレジスタである。それぞれの送信用ター
ミナルは関連した優先度を有している。この発明の好適
な実施例においては二つの優先レベルが用いられてい
る。その一つはコントロールメッセージのような高い優
先度のトラフィックであり、他の一つはバルクデータ転
送のようなより低い優先度のトラフィックである。優先
度はパケットレベルにおいて賦課される。即ち、より高
い優先度のメッセージは、次に続くパケット境界におい
て、より低い優先度のメッセージに先立つことになる。
この発明の好適な実施例において、ターミナルの優先度
を特定するレジスタは、オペレーティングシステムによ
る書き込みが可能なものだけである。
【0049】DMAレジスタ402には、その中に格納
されている動作を開始させるためのコントロールレジス
タも含まれている。ある適切なコードがこのレジスタに
書き込まれると、コントローラ401においては、この
コードによって識別された伝送動作が開始される。
【0050】この発明の好適な実施例においては、DM
A入力キュー408におけるワークアイテムのリスト
が、物理的メモリの隣接ブロックにおけるサーキュラー
ベクトル(circular vector )としてフォーマット化さ
れる。送信用ターミナルは始めのセンドワークディスク
リプタを開始させることにより動作され、その処理がな
され、そして、これに次いで次続のものに進行される。
送信用ターミナルが0のノード識別を有するセンドワー
クディスクリプタに到達すると、作業が停止され、継続
に先立つノード内のプロセッサからの入力を待機するよ
うにされる。送信用ターミナルがベクトルの端部に到達
すると、受信用ターミナルはベクトルにおける始めのア
ドレスに対して再び巻き込まれる。
【0051】当業者には明かであるように、リスト構造
を用いて各ターミナルとホストプロセッサとの間で通信
を体系化するためには、多くの異なる可能性のある配列
がある。相互接続インタフェースにおける種々のターミ
ナルの状態を定めることをホストプロセッサが許容する
いかなる構成のものでも、この発明から離れることなく
使用することができる。
【0052】先に注意されたように、ダイレクトモード
は、短い待ち時間を要する短いメッセージの伝送のため
に用いられる。この発明の好適な実施例においては、こ
れらのメッセージは、短いコントロールメッセージ又は
フェッチアンドオピメッセージ(Fetch-and-Opmessage
)のいずれかである。ある一つのフェッチアンドオピ
メッセージによれば、受信側のメモリにおいて特定され
た位置の内容が戻され、また、メッセージの一部である
一つ又は複数のオペランドにおいて、受信側である種の
動作をするようにされる。直接的なターミナルに含まれ
ている付加的なコントロールレジスタセット404は、
アプリケーションのアドレススペースにマッピングさ
れ、そして、ロード/格納命令を用いて、アプリケーシ
ョンによって直接的にアクセスされる。付加的なレジス
タによれば、センドワークディスクリプタにおいて正常
に生成された情報が格納される。メッセージが格納され
るローカルRAMにおけるアドレスを特定するのに代え
て、メッセージが格納されるFIFOバッファ409の
識別が付与される。DMAレジスタには、進行中の活動
のタイプ、例外が生じたときのエラーデータ、及び、あ
る一つの結果がフェッチアンドオピオペレーションから
利用可能であるか否かを指示するレジスタを指示するよ
うな、ステイタスレジスタのセットも含まれている。D
MAレジスタに含まれている一つのレジスタは、最後の
フェッチアンドオピからの戻りの値を保持するためのも
のである。
【0053】直接的なターミナルを用いてメッセージを
伝送するために、ローカルプロセッサは、ターミナルが
アイドル状態になるまで待機する。そして、受信側のノ
ード、スロット、開始アドレス及び告知データが、ダイ
レクトターミナルにおけるコントロールレジスタセット
に書き込まれる。これに次いで、伝送されるべきパケッ
トがFIFOバッファ409に書き込まれる。このこと
は、単一アドレスに対する単一ワード格納動作のシーケ
ンス、又は、幾つかのバイトを一時に発するためのキャ
ッシュラインフラッシュ(cache-line-flush)動作のい
ずれかとして達成できる。最後に、ある一つの伝送コマ
ンドが送信用ターミナルにおけるコントロールレジスタ
セットに書き込まれる。
【0054】リモートのフェッチアンドオピが、伝送動
作と同様な態様で実行される。ただし、メッセージ本体
に代えてオペランドが付与されている。そして、この動
作の結果は、通常、動作が一度完了されると検索される
べきことが必要とされる。オペランドがFIFOバッフ
ァ409に書き込まれ、OPコマンドがコントロールレ
ジスタセットに書き込まれることを除き、その手順は上
述されたことと同様である。フェッチアンドオピメッセ
ージに供されるステイタスレジスタが、結果が用意され
ていることを指示したときには、結果を求めている受信
側に対してメッセージが伝送される。
【0055】この発明による相互接続インタフェースに
おける活動的な送信用ターミナルの数は、ハードウエア
によってセットされる最大数まで動的に変動させること
ができる。これで付与される方法は、システムの実行能
力に対するハードウエアのコストの妥協をさせることで
ある。大きなシステム又は短い待ち時間の相互接続が特
に重要であるシステムは、より多くのターミナルを用い
ることが可能であり、付加的なハードウエアのコストを
受ける。要求される厳しさがより緩やかなより小さいシ
ステムでは、僅かなターミナルで十分な実行能力を達成
することができる。ハードウエアにおいて備えられてい
るよりも多くのターミナルがシステムに求められたとき
には、そのオペレーティングシステムは、ターミナルの
数を効果的に多重化させるソフトウエアを用いることが
できる。しかしながら、このような増大では、ノードに
おける実行能力に鑑みて遥かに高いコストが加えられ
る。
【0056】ターミナルは、ダイレクトモード及びDM
Aモードの双方で同時に活動的になることができる。ダ
イレクトモードの転送は、それらがDMAキューの先頭
に挿入されているかのようにして扱われる。この発明の
好適な実施例においては、各モードに対して、個別の保
護キーレジスタがコントロールレジスタセット404に
おいて備えられる。
【0057】基本的なターミナルの動作は非同期のもの
である。初期的には伝送が要求され、必要であるときに
は、幾らかの時間後に結果との集合(rendezvous)がな
される。「送信」動作に対しては、集合を明白にするこ
とを必要としない。
【0058】「リモートゲット」動作では、ターミナル
がより同期的なモードで動作することが要求される。こ
の場合においては、送信用ターミナルは、戻りを「得
る」までブロックされる。センドワークディスクリプタ
はメッセージの本体として組み立てられ、そのメッセー
ジは「リモートゲット」の動作タイプをもって伝送され
る。メッセージが受信側に到着したときには、それは送
信側からの戻りメッセージを発生させるために用いられ
る。メッセージが受信側に到着したときには、それはこ
のようなメッセージのために保留されたバッファに入力
され、適当な優先レベルが付与される。この発明の好適
な実施例においては、要求側の優先レベルが用いられ
る。メッセージの機能フィールドは、値「送信」に強制
される。より高い優先度のメッセージが存在しないとき
には、送信は実際にはローカルの相互接続インタフェー
スによって処理される。
【0059】受信ターミナルは、告知システム及びそれ
に関連のキューについて、殆ど単独で関係している。告
知キューは、DMAの要求を処理するために用いられた
ものと類似の態様で管理されている。しかしながら、こ
の場合においては、告知キユーにおいてアイテムを扱う
際に進行される距離及び現在の告知のセットを処理する
ことが終了したかどうかを、インタフェースに指示する
ものはローカルプロセッサである。このデータの交換
は、受信用ターミナルの一部によりレジスタに書き込む
ことによって処理される。
【0060】メッセージが受信されると、このメッセー
ジを記述したデータが、受信用ターミナルによって告知
キュー301における次続のフリースロットに書き込ま
れる。メッセージエントリに含まれているものは、告知
を発生した受信用ターミナルにおけるスロットのスロッ
ト数、メッセージ識別タグ、メッセージ領域におけるメ
ッセージの位置、及び、このメッセージの長さである。
告知キューにおけるエントリの処理の終了をプロセッサ
が指示したとき、そして、このときにのみ、この発明の
好適な実施例においては中断が発生される。プロセッサ
によって告知が取り扱われると、告知キューのスロット
における値がクリアされて、エントリの再使用が可能で
あることを、インタフェースに対して指示するようにさ
れる。
【0061】この発明の好適な実施例においては、告知
キュー301が複数のテーブルに分割される。各テーブ
ルは異なる優先レベルを有している。プロセッサによ
り、優先度が最高のテーブルにおける動作が始めに完了
される。
【0062】当業者には明かであるように、この発明
は、通常のASICセル及び/又はゲートアレイを含む
マイクロプロセッサ又は専用ハードウエアから構成する
ことができる。
【0063】この発明に対する種々の修正は、これまで
の説明や添付された図面から、当業者には明かなところ
である。従って、この発明は、特許請求の範囲の欄にお
ける記載事項によってのみ限定されるべきである。
【0064】以上、本発明の各実施例について詳述した
が、以下、各実施例を要約する。 1. 相互に通信する相互接続組織(11)に接続され
るように、複数のホストコンピュータ(15,102)
を含むマルチコンピュータデータ処理システム内の相互
接続組織(11)に対してローカルメモリ(16,10
3,304)を有するホストコンピュータ(15,10
2)を接続するための相互接続インタフェース(17,
300)であり、各前記ホストコンピュータ(15,1
02)が、前記相互接続組織(11)上でメッセージを
伝送することにより、同種の相互接続インタフェース
(17,300)を有する他の前記ホストコンピュータ
(15,102)と通信し、各前記メッセージが1つ又
は複数のパケットを有し、各パケットが、パケット本
体、パケット識別情報、保護キー及びスロット識別値を
有する相互接続インタフェースにおいて、前記相互接続
組織(11)及び前記ホストコンピュータ(15,10
2)に対して接続を付与するためのインタフェース手段
(104,308)と、前記相互接続組織(11)から
のメッセージを受信するために前記インタフェース手段
(104,308)に接続され、夫々前記スロット識別
値のある1つの可能性があるものに対応し、かつ前記ホ
ストコンピュータ(15,102)の前記ローカルメモ
リ(16,103,304)の対応領域を識別する情
報、保護用キー及び入来メッセージの構成を特定する情
報を含む複数の記録を格納するためのスロットテーブル
手段(106)を有する受信ターミナル(100,30
2,400)と、前記相互接続インタフェースに対する
入来メッセージを処理するために前記インタフェース手
段(104,308)に接続され、前記パケットの前記
保護キーが前記記録(107)に格納された前記保護キ
ーと合致しているときは、前記入来メッセージの前記ス
ロット識別値に対応する前記記録(107)内で識別さ
れた前記ホストコンピュータ(15,102)の前記ロ
ーカルメモリ(16,103,304)領域に、前記パ
ケット本体を格納させる受信制御手段(105,40
1)と、を具備した相互接続インタフェース(17,3
00)である。
【0065】2. 前記受信制御手段(105,40
1)が、前記ホストコンピュータによる処理を待機する
リストを格納するための手段と、入来メッセージの全て
のパケットが前記ホストコンピュータ(15,102)
の前記ローカルメモリ(16,103,304)領域に
格納されるとき、処理を待機するメッセージの前記リス
ト(108,301)に登録させるための手段とを含む
前記1に記載の相互接続インタフェース(17,30
0)である。
【0066】3. 前記受信制御手段(105,40
1)が、入来メッセージの全てのパケットが前記ホスト
コンピュータ(15,102)の前記ローカルメモリ
(16,103,304)領域に格納されたとき、そし
て前記ホストコンピュータ(15,102)がメッセー
ジの前記リストによって特定されたメッセージを処理し
ていないときにのみ、前記ホストコンピュータ(15,
102)を中断させるための手段を含む前記2に記載の
相互接続インタフェース(17,300)である。
【0067】4. 前記相互接続組織(11)上にメッ
セージを送信するための送信用ターミナル(303,4
00)が、前記送信用ターミナルによって送信されるメ
ッセージの全パケットに含まれるべき送信保護キーを格
納するための保護レジスタ(404)と、前記相互接続
組織(11)上で伝送されるべきメッセージの位置及び
前記メッセージについて意図される受信を特定するため
のメッセージ識別手段と、前記相互接続組織(11)上
で前記特定されたメッセージを含むパケットを発生及び
伝送するための送信制御手段(401)とを有し、各前
記パケットが、前記送信保護キーと前記メッセージの前
記受信側に取り付けられた前記相互接続インターフェー
ス(17,300)上で、前記スロットテーブル手段
(106)内の記録(107)を特定するスロット識別
値とを有する前記1に記載の相互接続インタフェース
(17,300)である。
【0068】5. 前記保護レジスタ(404)の内容
が、前記相互接続インタフェース(17,300)に接
続された前記ホストコンピュータ(15,102)のオ
ペレーティングシステムによってのみ変更可能である前
記4に記載の相互接続インタフェース(17,300)
である。
【0069】6. 前記メッセージ識別手段が、入力ジ
ョブキュー(408)の位置を特定するための手段と、
前記入力ジョブキューの前記ワークディスクリプタ記録
の1つに対して、1つのポインタを格納するためのDM
Aポインタ手段とを有し、前記入力ジョブキュー(40
8)が、夫々メッセージについて意図された受信、前記
スロットテーブル手段(106)における記録(10
7)及び前記ホストコンピュータ(15,102)にお
ける前記メッセージの位置を特定する情報を含む複数の
ワークディスクリプタ記録を有する前記4に記載の相互
接続インタフェース(17,300)である。
【0070】7. 前記入力ジョブキューの位置を特定
するための前記手段が、前記ホストコンピュータ(1
5,102)の前記入力ジョブキューのアドレスを格納
するための手段と、前記ホストコンピュータ(15,1
02)のオペレーティングシステムによってのみ変更可
能である前記6に記載の相互接続インタフェース(1
7,300)である。
【0071】8. 前記メッセージ識別手段が、メッセ
ージについて意図された受信を特定する情報を格納する
ための受信識別手段、前記スロットテーブル手段(10
6)の記録及び前記メッセージが格納されるバッファを
含む前記4に記載の相互接続インタフェース(17,3
00)である。
【0072】9. 1つ又は複数のFIFOバッファ
(409)を有し、前記受信識別手段によって特定され
る前記バッファが、前記FIFOバッファの1つを有す
る前記8に記載の相互接続インタフェース(17,30
0)である。
【0073】10. プロセッサノード及び該プロセッ
サノードが相互通信するためのメッセジを送受信する相
互接続機構を有するマルチコンピュータデータ処理シス
テムのプロセッサノード間を通信するための方法であっ
て、 (a). 第1のプロセッサノードから第2のプロセッ
サノードに、パケット本体、送信用保護キー及びスロッ
ト識別値を有する少なくとも一つのパケットを有するメ
ッセージを伝送する工程と、 (b). 第1のプロセッサノードから入来したメッセ
ージのパケットに含まれている送信用保護キーが、第2
のプロセッサノードにおいて格納されている保護キーと
合致したときに、第2のプロセッサノードにおいて決定
する工程と、 (c). 送信用保護キーが格納された保護キーと合致
したことが前記決定工程(b)において決定されたと
き、第1のプロセッサノードから到来したメッセージの
パケット本体を第2のプロセッサノードのローカルメモ
リの格納領域に格納する工程であって、このローカルメ
モリの格納領域が第1のプロセッサノードから入来した
メッセージのパケットに含まれているスロット識別値を
用いて識別される工程と、を含む方法である。
【0074】11. 前記スロット識別値が第2のプロ
セッサノード内のスロットテーブルの記録を識別し、前
記記録が少なくともローカルメモリの格納領域及び格納
されている保護キーを識別する情報を含む前記10に記
載の方法である。
【0075】12. 前記記録が、入来するメッセージ
の構成を特定する情報を含む前記11に記載の方法であ
る。
【0076】13. 前記スロットテーブルの各記録
が、前記相互接続組織に接続されたプロセッサノードの
一つに関連される前記11に記載の方法である。
【0077】
【発明の効果】以上詳細に説明したように、本発明によ
れば、ローカルメモリを有する複数のホストコンピュー
タが相互に相互接続組織を介して通信を行うに際に、パ
ケット本体、パケット識別情報、保護キー、スロット識
別値を有する1個又は複数のパケットを含むメッセージ
をインタフェース手段及びローカルメモリの対応領域を
識別する情報、保護キー、入来メッセージを識別する情
報を含む記録を格納するスロットテーブルを有する受信
ターミナルからなる相互接続インタフェースを介して相
互接続組織に伝送し、パケットの保護キーが記録に含ま
れる保護キーと合致している場合には、入来メッセージ
のスロット識別値に対応して記録において識別されたホ
ストコンピュータのローカルメモリの領域にパケット本
体を相互接続インタフェースの受信制御手段で格納する
ようにしたので、受信側がビジー状態でも、入来メッセ
ージで中断されることがなく、且つメッセージの失われ
る数を減少できる。また、メッセージ伝送中に、他のプ
ロセスからの偶発的あるいは悪意のあるアタックから各
プロセスを保護するためのオペレーティングシステムの
呼び出しが不要であるとともに、入来メッセージを受信
側で格納する場所を決定するのに要する時間を短縮でき
る。さらに、規則的なメッセージを用いるのと同じ相互
接続組織を使用して集積化とプロセスの保護及び待ち時
間の短縮が可能となる。
【図面の簡単な説明】
【図1】本発明による相互接続インタフェースが用いら
れる典型的なマルチプロセッサのブロック図である。
【図2】メッセージを受信する本発明による相互接続イ
ンタフェース100の部分についてのより詳細にされた
ブロック図である。
【図3】本発明による相互接続インタフェースの好適な
実施例のブロック図である。
【図4】本発明による相互接続インタフェースにおける
送信用ターミナルのブロック図である。
【符号の説明】
10 データ処理システム 11 相互接続組織 12,14 ノード 15 プロセッサ 16,103 ローカルRAM 17,100,300 相互接続インタフェース 102 CPU 104 相互接続組織インタフェース 105,401 コントローラ 106 ローカル・メモリ 107 スロット 108 作業キュー 302 受信用ターミナル 303 送信用ターミナル 304 ホスト・コンピュータ・メモリ 308 インタフェース・ハードウエア 400 送信用ターミナル 408 入力キュー 409 FIFOバッファ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 相互に通信する相互接続組織(11)に
    接続されるように、複数のホストコンピュータ(15,
    102)を含むマルチコンピュータデータ処理システム
    内の相互接続組織(11)に対してローカルメモリ(1
    6,103,304)を有するホストコンピュータ(1
    5,102)を接続するための相互接続インタフェース
    (17,300)であり、各前記ホストコンピュータ
    (15,102)が、前記相互接続組織(11)上でメ
    ッセージを伝送することにより、同種の相互接続インタ
    フェース(17,300)を有する他の前記ホストコン
    ピュータ(15,102)と通信し、各前記メッセージ
    が1つ又は複数のパケットを有し、各パケットが、パケ
    ット本体、パケット識別情報、保護キー及びスロット識
    別値を有する相互接続インタフェースにおいて、 前記相互接続組織(11)及び前記ホストコンピュータ
    (15,102)に対して接続を付与するためのインタ
    フェース手段(104,308)と、 前記相互接続組織(11)からのメッセージを受信する
    ために前記インタフェース手段(104,308)に接
    続され、夫々前記スロット識別値のある1つの可能性が
    あるものに対応し、かつ前記ホストコンピュータ(1
    5,102)の前記ローカルメモリ(16,103,3
    04)の対応領域を識別する情報、保護用キー及び入来
    メッセージの構成を特定する情報を含む複数の記録を格
    納するためのスロットテーブル手段(106)を有する
    受信ターミナル(100,302,400)と、 前記相互接続インタフェースに対する入来メッセージを
    処理するために前記インタフェース手段(104,30
    8)に接続され、前記パケットの前記保護キーが前記記
    録(107)に格納された前記保護キーと合致している
    ときは、前記入来メッセージの前記スロット識別値に対
    応する前記記録(107)内で識別された前記ホストコ
    ンピュータ(15,102)の前記ローカルメモリ(1
    6,103,304)領域に、前記パケット本体を格納
    させる受信制御手段(105,401)と、を具備した
    ことを特徴とする相互接続インタフェース(17,30
    0)。
JP06758494A 1993-04-05 1994-03-11 相互接続インターフェース Expired - Lifetime JP3553634B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US042,957 1993-04-05
US08/042,957 US5448698A (en) 1993-04-05 1993-04-05 Inter-processor communication system in which messages are stored at locations specified by the sender

Publications (2)

Publication Number Publication Date
JPH06309252A true JPH06309252A (ja) 1994-11-04
JP3553634B2 JP3553634B2 (ja) 2004-08-11

Family

ID=21924664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06758494A Expired - Lifetime JP3553634B2 (ja) 1993-04-05 1994-03-11 相互接続インターフェース

Country Status (2)

Country Link
US (1) US5448698A (ja)
JP (1) JP3553634B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991223A (ja) * 1995-09-20 1997-04-04 Nec Corp リソースビジー制御方式
CN105389120A (zh) * 2014-09-02 2016-03-09 英特尔公司 支持通过活动消息的rma api
JP2017191464A (ja) * 2016-04-13 2017-10-19 富士通株式会社 情報処理システム、送信装置および情報処理システムの制御方法

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962526A (ja) * 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
US5956486A (en) * 1995-12-20 1999-09-21 Hickman; Paul Lawrence Method and apparatus for monitoring multiple electronic mail systems
JP3134808B2 (ja) * 1997-06-04 2001-02-13 日本電気株式会社 フレームリレー伝送装置
US6092110A (en) 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
US6158008A (en) * 1997-10-23 2000-12-05 At&T Wireless Svcs. Inc. Method and apparatus for updating address lists for a packet filter processor
US6212610B1 (en) * 1998-01-07 2001-04-03 Fujitsu Limited Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support
US6209064B1 (en) 1998-01-07 2001-03-27 Fujitsu Limited Cache coherence unit with integrated message passing and memory protection for a distributed, shared memory multiprocessor system
US6631448B2 (en) 1998-03-12 2003-10-07 Fujitsu Limited Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
DE19843249A1 (de) * 1998-09-11 2000-03-16 Francotyp Postalia Gmbh Verfahren zur Dateneingabe in ein Dienstgerät und Anordnung zur Durchführung des Verfahrens
US6526452B1 (en) 1998-11-17 2003-02-25 Cisco Technology, Inc. Methods and apparatus for providing interfaces for mixed topology data switching system
US6484207B1 (en) * 1998-11-17 2002-11-19 Cisco Technology, Inc. Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted
US6463065B1 (en) 1998-11-17 2002-10-08 Cisco Technology, Inc. Mixed topology data switching system
US6665673B1 (en) 1998-11-17 2003-12-16 Cisco Technology, Inc. Channel communication system
AU4238100A (en) 1999-04-12 2000-11-14 Sony Electronics Inc. Asynchronous data transmission with scattering page tables
WO2000065781A1 (en) 1999-04-23 2000-11-02 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
US7073069B1 (en) 1999-05-07 2006-07-04 Infineon Technologies Ag Apparatus and method for a programmable security processor
EP1183603A4 (en) * 1999-05-07 2009-01-07 Infineon Technologies Ag DEVICE AND METHOD FOR A PROGRAMMABLE SAFETY PROCESSOR
US6487186B1 (en) * 1999-06-28 2002-11-26 Rockwell Collins, Inc. Method and apparatus for managing communication resources using bootstrap slots
US6587959B1 (en) * 1999-07-28 2003-07-01 Emc Corporation System and method for addressing scheme for use on clusters
US6839562B2 (en) * 2000-04-11 2005-01-04 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
US6791994B1 (en) 2000-04-19 2004-09-14 Rockwell Collins, Inc. Method and apparatus for assigning receive slots in a dynamic assignment environment
JP2001333137A (ja) * 2000-05-23 2001-11-30 Mitsubishi Electric Corp 自主動作通信制御装置及び自主動作通信制御方法
US6885651B1 (en) 2000-08-29 2005-04-26 Rockwell Collins Maintaining an adaptive broadcast channel using both transmitter directed and receiver directed broadcasts
US6810022B1 (en) 2000-08-29 2004-10-26 Rockwell Collins Full duplex communication slot assignment
US6781967B1 (en) 2000-08-29 2004-08-24 Rockwell Collins, Inc. Scheduling techniques for receiver directed broadcast applications
US7328232B1 (en) * 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
US6657632B2 (en) * 2001-01-24 2003-12-02 Hewlett-Packard Development Company, L.P. Unified memory distributed across multiple nodes in a computer graphics system
US7865440B2 (en) * 2001-10-11 2011-01-04 International Business Machines Corporation Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
US6873331B2 (en) * 2002-03-29 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for passing messages among processing nodes in a distributed system
US7176914B2 (en) * 2002-05-16 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for directing the flow of data and instructions into at least one functional unit
US20040107240A1 (en) * 2002-12-02 2004-06-03 Globespan Virata Incorporated Method and system for intertask messaging between multiple processors
US7149897B2 (en) * 2003-07-25 2006-12-12 The United States Of America As Represented By The Secretary Of The Navy Systems and methods for providing increased computer security
US7629979B2 (en) * 2003-08-20 2009-12-08 Hewlett-Packard Development Company, L.P. System and method for communicating information from a single-threaded application over multiple I/O busses
US7385999B1 (en) 2003-10-20 2008-06-10 Rockwell Collins, Inc. Heuristics for combining inter-channel and intra-channel communications in a wireless communications environment
US7403780B2 (en) 2004-02-19 2008-07-22 Rockwell Collins, Inc. Hybrid open/closed loop filtering for link quality estimation
US7826372B1 (en) 2004-03-26 2010-11-02 Rockwell Collins, Inc. Network routing process for regulating traffic through advantaged and disadvantaged nodes
US7382799B1 (en) 2004-05-18 2008-06-03 Rockwell Collins, Inc. On-demand broadcast protocol
US7310380B1 (en) 2004-05-28 2007-12-18 Rockwell Collins, Inc. Generic transmission parameter configuration
US7397810B1 (en) 2004-06-14 2008-07-08 Rockwell Collins, Inc. Artery nodes
US20060233174A1 (en) * 2005-03-28 2006-10-19 Rothman Michael A Method and apparatus for distributing switch/router capability across heterogeneous compute groups
US7606171B1 (en) 2005-07-28 2009-10-20 Rockwell Collins, Inc. Skeletal node rules for connected dominating set in ad-hoc networks
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US7948999B2 (en) * 2007-05-04 2011-05-24 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7889657B2 (en) * 2007-05-04 2011-02-15 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7890670B2 (en) * 2007-05-09 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US7779173B2 (en) * 2007-05-29 2010-08-17 International Business Machines Corporation Direct memory access transfer completion notification
US8037213B2 (en) 2007-05-30 2011-10-11 International Business Machines Corporation Replenishing data descriptors in a DMA injection FIFO buffer
US7765337B2 (en) * 2007-06-05 2010-07-27 International Business Machines Corporation Direct memory access transfer completion notification
US8478834B2 (en) * 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US8018951B2 (en) 2007-07-12 2011-09-13 International Business Machines Corporation Pacing a data transfer operation between compute nodes on a parallel computer
US20090031001A1 (en) * 2007-07-27 2009-01-29 Archer Charles J Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer
US7890597B2 (en) * 2007-07-27 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US8959172B2 (en) * 2007-07-27 2015-02-17 International Business Machines Corporation Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer
US20090119460A1 (en) * 2007-11-07 2009-05-07 Infineon Technologies Ag Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space
US8249072B2 (en) * 2009-03-12 2012-08-21 Oracle America, Inc. Scalable interface for connecting multiple computer systems which performs parallel MPI header matching
US9009350B2 (en) * 2008-04-01 2015-04-14 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US9225545B2 (en) * 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US8843651B2 (en) 2009-06-30 2014-09-23 Oracle America, Inc. Software aware throttle based flow control
US8122301B2 (en) * 2009-06-30 2012-02-21 Oracle America, Inc. Performing remote loads and stores over networks
US9596186B2 (en) * 2009-06-30 2017-03-14 Oracle America, Inc. Multiple processes sharing a single infiniband connection
US8095617B2 (en) * 2009-06-30 2012-01-10 Oracle America Inc. Caching data in a cluster computing system which avoids false-sharing conflicts
US8234407B2 (en) * 2009-06-30 2012-07-31 Oracle America, Inc. Network use of virtual addresses without pinning or registration
US8544026B2 (en) * 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
JP5541275B2 (ja) * 2011-12-28 2014-07-09 富士通株式会社 情報処理装置および不正アクセス防止方法
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
US20130227243A1 (en) * 2012-02-23 2013-08-29 Freescale Semiconductor, Inc Inter-partition communication in multi-core processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802220A (en) * 1985-03-20 1989-01-31 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for multi-channel communication security
US4774707A (en) * 1986-09-10 1988-09-27 General Electric Company Random access communication system with scheduled data transmission and asynchronous contention scheduling
US5048085A (en) * 1989-10-06 1991-09-10 International Business Machines Corporation Transaction system security method and apparatus
US5243643A (en) * 1990-11-01 1993-09-07 Voiceples Corporation Voice processing system with configurable caller interfaces
US5347514A (en) * 1993-03-26 1994-09-13 International Business Machines Corporation Processor-based smart packet memory interface

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991223A (ja) * 1995-09-20 1997-04-04 Nec Corp リソースビジー制御方式
CN105389120A (zh) * 2014-09-02 2016-03-09 英特尔公司 支持通过活动消息的rma api
JP2016053946A (ja) * 2014-09-02 2016-04-14 インテル コーポレイション アクティブメッセージによるrmaapiのサポート
US9632973B2 (en) 2014-09-02 2017-04-25 Intel Corporation Supporting RMA API over active message
JP2017191464A (ja) * 2016-04-13 2017-10-19 富士通株式会社 情報処理システム、送信装置および情報処理システムの制御方法

Also Published As

Publication number Publication date
JP3553634B2 (ja) 2004-08-11
US5448698A (en) 1995-09-05

Similar Documents

Publication Publication Date Title
JP3553634B2 (ja) 相互接続インターフェース
CA1277382C (en) Inter-processor communication protocol
US20180375782A1 (en) Data buffering
EP1856623B1 (en) Including descriptor queue empty events in completion events
JP3208397B2 (ja) 制御要素転送システム
US5931915A (en) Method for processing early arrival messages within a multinode asynchronous data communications system
US5047917A (en) Apparatus for intrasystem communications within a binary n-cube including buffer lock bit
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
EP2362298A1 (en) Transmit completion event batching
JPH06202883A (ja) プロセス間通信装置及び通信方法
US5790813A (en) Pre-arbitration system allowing look-around and bypass for significant operations
JP2007534073A (ja) ユーザーレベルスタック
US7640549B2 (en) System and method for efficiently exchanging data among processes
EP2383658B1 (en) Queue depth management for communication between host and peripheral device
JPH065524B2 (ja) 記憶装置管理方法
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
US7130936B1 (en) System, methods, and computer program product for shared memory queue
US20070079077A1 (en) System, method, and computer program product for shared memory queue
KR100298961B1 (ko) 메시지도착통지를위한소스및수신지개시인터럽트시스템
EP1936514B1 (en) Apparatus and method for controlling issue of requests to another operation processing device
JP2736237B2 (ja) 遠隔メモリアクセス制御装置
JP2924783B2 (ja) リモートリード処理方法およびその装置
JP3644158B2 (ja) 並列計算機におけるデータ送受信方法
Whitcroft et al. The CBIC: Architectural support for message passing
JPH11212900A (ja) システム制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

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: 20040427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term