JPH0413739B2 - - Google Patents

Info

Publication number
JPH0413739B2
JPH0413739B2 JP1234493A JP23449389A JPH0413739B2 JP H0413739 B2 JPH0413739 B2 JP H0413739B2 JP 1234493 A JP1234493 A JP 1234493A JP 23449389 A JP23449389 A JP 23449389A JP H0413739 B2 JPH0413739 B2 JP H0413739B2
Authority
JP
Japan
Prior art keywords
message
messages
processor
network
data
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 - Lifetime
Application number
JP1234493A
Other languages
English (en)
Other versions
JPH02118747A (ja
Inventor
Marukomu Nechisu Fuiritsupu
Henrii Haatoku Debitsudo
Kurarensu Sutotsukuton Richaado
Kyameron Watoson Maachin
Kuronsho Debitsudo
Ebaado Shemaa Jatsuku
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.)
Teradata Corp
Original Assignee
Teradata Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US06/250,022 external-priority patent/US4412285A/en
Priority claimed from US06/250,094 external-priority patent/US4445171A/en
Application filed by Teradata Corp filed Critical Teradata Corp
Publication of JPH02118747A publication Critical patent/JPH02118747A/ja
Publication of JPH0413739B2 publication Critical patent/JPH0413739B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】
(産業上の利用分野) メツセージ伝送ネツトワーク、バス・ネツトワ
ーク、及びメツセージを複数のプロセツサへブロ
ードカストする方法に関するものである。 (従来の技術) 高い信頼性を備えた形式の電子計算機(エレク
トロニツク・コンピユータ)が出現して以来、こ
の技術分野に従事する者が考察を重ねてきたシス
テムに、複数のコンピユータを使用するシステム
であつてそれらのコンピユータが相互に関連性を
保ちつつ動作することによつて、所与の1つのタ
スクの全体が実行されるようにしたシステムがあ
る。そのようなマルチプロセツサ・システムのう
ちのあるシステムでは、1つの大型コンピユータ
が、それ自身の優れた速度と容量とを利用してプ
ログラムの複雑な部分を実行すると共に、複雑さ
の程度の低いタスクや緊急度の低いタスクについ
ては、それを小型で速度の遅い衛星プロセツサに
委任し(割当て)、それによつて、この大型コン
ピユータの負担やこの大型コンピユータに対する
リクエストの量が減少するようにしたものがあ
る。この場合、大型コンピユータは、サブタスク
の割当てを行なうこと、小型プロセツサ(=上記
衛星プロセツサ)を常に作動状態に保つこと、そ
れらの小型プロセツサの使用可能性と動作効率と
を確認すること、それに統一された結果が得られ
るようにすることを担当しなければならない。 以上とは別の方式を採用している別種のマルチ
プロセツサ・システムのなかには、多数のプロセ
ツサと1つの共通バス・システムとを使用するシ
ステムであつてそれらの複数のプロセツサには本
質的に互いに等しい機能が付与されているシステ
ムがある。この種のシステムにおいては、しばし
ば、他の部分からは独立した制御用コンピユータ
ないし制御システムを用いて、所与のサブタスク
に関する個々のプロセツサの使用可能性並びに処
理能力を監視することと、プロセツサ間のタスク
及び情報の転送経路を制御することとが行なわれ
ている。また、プロセツサそれ自体が、他のプロ
セツサのステータス並びに利用可能性の監視と、
メツセージ及びプログラムの転送経路の決定とを
行なえるように、夫々のプロセツサの構成及び動
作が設定されているものもある。以上の種々のシ
ステムに共通する重大な欠点は、オーバーヘツド
機能及び保守機能を実行するために、ソフトウエ
アが必要とされ且つ動作時間が消費されるという
ことにあり、そしてそれによつて、本来の目的の
実行に影響が及ぶことになる。転送経路の決定及
び監視に関する仕事量が、それらの仕事に関与す
るプロセツサの総数の2次の関数で増加して、つ
いにはオーバーヘツド機能のために不適当な迄の
努力が費やされるようになることもある。 以下の数件の特許公報は従来技術の例を示すも
のである。 米国特許公報第3962685号−ベル・イール
(Belle Isle) 同第3962706号−デニス(Dennis)他 同第4096566号−ボーリー(Borie)他 同第4096567号−ミラード(Millard)他 同第4130865号−ハート(Heart)他 同第4136386号−アヌーンチアータ
(Annunziata)他 同第4145739号−ダニング(Dunning)他 同第4151592号−スズキ(Suzuki)他 初期のバイナツク(“Binac”:2個の互いにパ
ラレルに接続されたプロセツサを用いる)や、そ
れに類似した種々のシステムが使用されていた頃
から既に、マルチプロセツサ方式は冗長性を備え
た実行能力を提供するものであつて、そのため動
作するシステムの全体の信頼性を著しく向上させ
得るものであるということが認識されていた。実
際にマルチプロセツサ・システムを構成するとい
うことに対しては、これまでのところ、かなりの
制約が存在しているが、その制約は主としてソフ
トウエアが膨大なものとなつてしまうことに起因
する制約である。にもかかわらず、例えばリアル
タイムの用途等のように、システムのダウンタイ
ム(運転休止時間)が容認され得ないような種々
の状況においては、マルチプロセツサ動作が特に
有利であるため、これまでに様々なマルチプロセ
ツサ・システムが開発されてきたが、ただし、そ
れらのシステムは動作自体は良好であるが、オー
バーヘツドのためにソフトウエアと動作時間のか
なりの分量を割かなければならないものであつ
た。そのような従来のシステムは、米国特許公報
第3445822号、同第3566363号、及び同第3593300
号にその具体例が示されている。これらの特許公
報はいずれも、複数のコンピユータがそれらの間
で共用される1つのメイン・メモリをアクセスす
るようにしたシステムに関するものであり、この
システムにおいては更に、タスクを個々のプロセ
ツサに好適に割当てるために、処理能力と処理要
求量とが比較されるようになつている。 従来技術の更に別の例としては、米国特許公報
第4099233号がある。この公報のシステムでは、
複数のプロセツサが1つのバスを共用しており、
また、バツフア・レジスタを内蔵している制御ユ
ニツトを用いて送信側ミニプロセツサと受信側ミ
ニプロセツサとの間のデータ・ブロツクの転送が
行なわれる。このシステムのコンセプトは、欧州
において分散型の郵便物分類システムに利用され
ている。 米国特許公報第4228496号は、商業的に成功し
たマルチプロセツサ・システムに関するものであ
り、このシステムでは、複数のプロセツサの間に
設けられた複数のバスがバス・コントローラに接
続されており、このバス・コントローラが、デー
タ送出状況の監視と、プロセツサ間で行なわれる
複数のデータ転送に対する優先順位の判定を行な
つている。また、各々のプロセツサは、複数の周
辺装置のうちのある1つの装置を制御するように
接続可能となつている。 ゼロツクス、ヒユーレツト・パツカード、及び
インテルによつて共同で推進されている「イーサ
ネツト」システム(“Ethernet”system)(米国
特許公報第4063220号及び同第4099024号)は、複
数のプロセツサ並びに周辺装置の間の相互通信の
問題に対処するための、更に別の方式を提示して
いる。全てのユニツト(=プロセツサや周辺装置
等)はそれらのユニツトの間で共用される多重ア
クセス・ネツトワークに接続されており、そして
それらのユニツトは優先権を獲得すべく互いに競
合することになる。衝突検出は時刻優先方式で行
なわれており、そのために、大域的な処理能力を
制御することと、コーデイネートすることと、明
確に把握することとが、容易でなくなつている。 以上に説明した種々のシステムをそれらの細部
まで完全に理解するためには、以上に言及した特
許公報やその他の関連参考文献を詳細に分析する
必要がある。しかしながら、タスクの分担が行な
われる場合にはそれらのシステムはいずれも、デ
ータ転送に関する優先権の判定やプロセツサの選
択を行なうために膨大な量の相互通信と管理制御
とが必要とされるということだけは、簡単に概観
するだけでも理解されよう。システムを拡張して
更に多くのプロセツサを含むようにする場合にど
のような問題が発生するかは異なつたシステムの
夫々ごとに違つてくるため一様ではないが、しか
しながら以上のシステムはいずれも、そのような
拡張を行なえばシステム・ソフトウエアや応用プ
ログラミング、ハードウエア、或いはそれら3つ
の全てが複雑化することになる。また、若干の考
察により理解されることであるが、1組ないし2
組の論理的に受動的なオーミツク・バスが採用さ
れているために、それに固有の制約がマルチプロ
セツサ・システムの規模と能力とに対して課せら
れている。相互通信をより容易に行なえるように
するために採用可能な技法には様々なものがあ
り、その一例としては、最近発行された米国特許
公報第4240143号に示されているところの、サブ
システムを大域的資源にグループ分けするという
技法等があるが、しかしながら、非常に多くのプ
ロセツサが用いられている場合には当然のことな
がら利用できるトラフイツクの量はその限界に達
してしまい、また、遅延時間が様々な値を取ると
いうことによつて、克服し難い問題が生じてい
る。1個ないし複数個のプロセツサがロツク・ア
ウト状態ないしデツドロツク状態になるという状
況が発生することもあり、そのような状況に対処
するには、問題を解決するための更なる回路とソ
フトウエアとが必要とされる。以上から、プロセ
ツサの個数を、例えば1024個というような個数に
まで大幅に拡張することは、従来は実際的でなか
つたことが明らかである。 多くの様々な応用用途において、以上に説明し
た既存の諸技法の制約から逃れて、最新の技法を
最大源に利用することが望まれている。現在採用
可能な技法のうちで最も低コストの技法は、大量
生産されているマイクロプロセツサと、大容量の
回転デイスク型の記憶装置とを基礎とした技法で
あり、そのような記憶装置の例としては、密閉式
ケースの内部においてヘツドとデイスクとの間の
間隔を非常に小さいものとした、ウインチエス
タ・テクノロジー製の装置等がある。マルチプロ
セツサ・システムを拡張するに際しては、ソフト
ウエアが不適当な迄に複雑化することなくシステ
ムを拡張できることが要望されており、更には、
ソフトウエアがその拡張に伴なつて複雑化するこ
とが全くないようにして拡張できることすら要望
されている。また更に、機能の全体を、限定され
たないしは反復して実行される複数の処理タスク
へと動的に細分できる分散型構造をもつような特
徴を有する計算機問題を処理できる能力が要望さ
れている。略々全てのデータベース・マシンが、
そのような問題分野に属しており、また、この問
題分野には更に、ソート処理、パターンの認識及
び相関算出処理、デジタル・フイルタリング処
理、大規模マトリクスの計算処理、物理的な系の
シユミレーシヨン、等々のその他の典型的な問題
例も含まれる。これらのいずれの処理が行なわれ
る状況においても、個々に処理される複数のタス
クを比較的簡明なものとし、しかもそれらのタス
クを広範に分散することが要求され、そのため、
瞬間的タスク負荷が大きなものとなる。そのよう
な状況が、従来のマルチプロセツサ・システムに
非常な困難を伴なわせていたのであり、その理由
は、そのような状況はオーバーヘツドに費やされ
る時間とオーバーヘツドのためのソフトウエアの
量とを増大させる傾向を有していること、並び
に、システムを構成する上で実際上の支障が生じ
てくることにある。例えば受動的な共用バスが採
用されている場合には、伝播速度並びにデータ転
送所要時間が、トランザクシヨンを処理する上で
の可能処理速度に対する絶対的な障壁を成してい
る。 従つてデータベース・マシンは、マルチプロセ
ツサ・システムの改良が必要とされていることの
好い例である。大規模データベース・マシンを構
成する上での基本的な方式にはこれまでに3種類
の方式が提案されており、それらは、階層方式、
ネツトワーク方式、それにリレーシヨナル方式で
ある。これらのうちでリレーシヨナル方式のデー
タベース・マシンは、関係(リレーシヨン)を示
す表を用いることによつて、ユーザが複雑な系の
中の所与のデータに容易にアクセスできるように
するものであり、この方式のマシンは、強力な潜
在能力を有するものであると認識されている。こ
の従来技術について説明している代表的な刊行物
には、例えばIEEEコンピユータ・マガジンの
1979年3月号の第28頁に掲載されている、D.C.P.
スミス並びにJ.M.スミスミによる「リレーシヨ
ナル・データベース・マシン」という表題の論文
(article entitled“Relational Data Base
Machine”,published by D.C.P.Smith and J.
M. Smith,in the March 1979issue of IEEE
Computer magazine,p.28)、米国特許公報第
4221003号、並びに同公報中に引用されている諸
論文等がある。 また、ソーテイング・マシンは、コンピユーテ
イング・アーキテクチヤの改良が必要とされてい
ることの好い例である。ソーテイング・マシン理
論の概説は、D.E.クヌース(Knuth)著「サーチ
ング及びソーテイング」の第220〜第246頁
(“Searching and Sorting”by D.E.Knuth,
pp.220−246,published(1973)by Addison−
Wesley Publishing Co.,Reading,
Massachusetts)に記載されている。この文献に
は様々なネツトワーク並びにアルゴリズムが開示
されており、それらの各々に付随する制約を理解
するためにはそれらを詳細に考察しなければなら
ないが、ただしそれらについて一般的に言えるこ
とは、それらはいずれも、ソーテイングという特
定の目的だけを指向した、特徴的に複雑な方式で
あるということである。更に別の例として、L.
A.モラー(L.A.Mollaar)によつて提示されてい
るものがあり、これは、「IEEE・トランザクシヨ
ン・オン・コンピユータ」、C−28巻、第6号
(1979年6月)、第406〜413頁に掲載されている
「リスト・マージング・ネツトワークの構造」と
いう表題の論文(article entitled“A Design
for a List Merging Network”,in the
IEEE Transactions on Computers,Vol.C−28
No.6,June 1979 at pp.406−413)に記載され
ている。この論文に提案されているネツトワーク
においては、ネツトワークのマージ・エレメント
を外部から制御するという方式が採用されてお
り、また、このネツトワークは、特殊な機能を実
行するためのプログラミングを必要としている。 汎用のマルチプロセツサ・システムが実行する
ことができなければならない諸機能には、種々の
方式でサブタスクを分配する機能、サブタスクを
実行しているプロセツサのステータスを確認する
機能、メツセージのマージとソートを行なう機
能、データを訂正及び変更する機能、それに、い
つ及びどのように資源が変化したかを(例えば、
あるプロセツサがいつオンラインから外れ、いつ
オンラインに復帰したかを)確認する機能等があ
る。以上のような機能を実行するために、これま
では、オーバーヘツドのための過大なソフトウエ
アとハードウエアとを用いる必要があつた。 一例を挙げるならば、例えばデータベース・マ
シン等のマルチプロセツサ・システムにおいて
は、プロセツサ間のメツセージの転送経路を指定
するに際して、特定の1つのプロセツサを転送先
として選択したり、或いは1つのクラスに属する
複数のプロセツサを選択したり、また更には、プ
ロセツサそのものを指定するのではなく、ハツシ
ユ方式等によつてプロセツサに分配されているデ
ータベースの部分を指定するという方式で、転送
先プロセツサを選択するということが、しばしば
必要となる。公知のシステムの中には前置通信シ
ーケンスを利用しているものがあり、それによつ
て送信側プロセツサと、1個或いは複数の特定の
受信側プロセツサとの間のリンケージを確立する
ようにしている。このリンケージを確立するため
にはリクエストや肯定応答を何回も反復して送出
しなければならず、また起こり得るデツドロツク
状態を克服するために、更なるハードウエア並び
にソフトウエアを使用しなければならない。前置
通信シーケンスを利用していないシステムでは、
1つのプロセツサによつて、或いはバス・コント
ローラによつて管制が行なわれており、この管制
は、送信側プロセツサが送信準備完了状態にある
こと、受信側プロセツサが受信準備完了状態にあ
ること、これらのプロセツサの間のリンケージか
らその他のプロセツサが締め出されていること、
並びに無関係な送信が行なわれていないことを、
確認するためのものである。この場合にもまた、
オーバーヘツドに依存することと、デツドロツク
を回避するために複雑とならざるを得ないことと
によつて、システムを拡張する(例えばプロセツ
サの個数を16個以上にする)につれて保守機能が
不適当な迄に膨張してしまうのである。 最近のマルチプロセツサ・システムに要求され
ている要件の更に別の例として、1個或いは複数
個のプロセツサによつて実行されているサブタス
クのステータスを、システムが確実に判定するた
めの方法に関係するものがある。基本的に要求さ
れている点は、所与のプロセツサに対してそのプ
ロセツサのステータスについての問合せを行なう
能力を備えていなければならないということであ
り、しかも、そのステータスがその問合せよつて
影響を及ぼされることがないように、且つ、応答
の内容に多義性が生じることがないように、その
問合せが行なわれなければならないということで
ある。ステータス表示のテストとセツトとを中断
のない一連の操作として行なう機能を特徴的に表
わすための用語として、現在当業界においては
「セマフオ(semaphore)」という用語が使用され
ている。このセマフオという特徴を備えているこ
とは望ましいことであるが、ただし、この特徴を
組込むに際しては、実行効率の低下やオーバーヘ
ツドの負荷の増加を伴なわないようにしなければ
ならない。このようなステータスの判定は、更に
マルチプロセツサ・システムにおいてソート/マ
ージ動作を実行する際に極めて重要なものとなる
が、それは、大きなタスクの中に含まれている複
数のサブタスクの夫々の処理結果を組み合わせる
ためには、それらのサブタスクが適切に処理完了
された後でなければ1つに組み合わせることがで
きないからである。更に別の要件として、プロセ
ツサがその「現在」ステータスを報告できなけれ
ばならないこと、そしてサブタスクの実行は、マ
ルチプロセツサの動作シーケンスに対して割込み
と変更とが繰返されても、ただ1回だけ行なわれ
るようにしなければならないということがある。
殆どの既存のシステムでは、プロセツサの実行ル
ーチンが中断可能とされているためにこの点に関
して重大な問題が生じている。即ち、容易に理解
されることであるが、複数のプロセツサが互いに
関連を有する複数のサブタスクを実行しているよ
うな場合には、それらの個々のプロセツサのレデ
イネス状態の程度(=どのような動作が可能な状
態にあるかの程度)についての問合せとそれに対
する応答とに関わる動作シーケンスが膨大なオー
バーヘツドを必要とすることがあり、しかも、そ
のための専用のオーバーヘツドは、プロセツサの
個数が増大するに従つていよいよ不適当なまでに
増大する。 (発明が解決しようとする問題点) 以上に述べたところの例を示す従来のマルチプ
ロセツサ・システムにおける典型的な短所は、い
わゆる「分散更新」の問題に関するものであり、
この問題は即ち、複数個の処理装置の各々にその
コピーが格納されている情報を更新する必要があ
るということである。ここで言う情報とは、デー
タ・レコードから成る情報の場合もあり、また、
システムの動作を制御するために用いられる情報
の場合もある。このシステムの動作の制御とは、
例えば、必要なステツプが誤つて重複実行された
り全く実行されなかつたりすることのないように
して、処理が開始され、停止され、再開され、一
時中断され、或いはロール・バツクないしロー
ル・フオワードされるようにすること等の制御の
ことである。従来のシステムにおいては、分散更
新の問題の種々の解決法はいずれもかなりの制約
を伴なうものであつた。それらの解決法の中に
は、一度に2個のプロセツサだけを対象としてい
るに過ぎないものもある。また更に別の解決法と
して相互通信プロトコルを利用しているものも幾
つかあるが、それらのプロトコルは非常に複雑な
ため、現在でも、それらのプロトコルが適切なも
のであることを数学的厳密さをもつて証明するこ
とには非常な困難が伴なつている。 それらのプロトコルが複雑になつている原因
は、「大域的セマフオ」を構成している、中断さ
れることのない1回の動作により全てのプロセツ
サにおいて「テスト・アンド・セツト」されると
いう外面的性質を持つ制御ビツトを、備える必要
があるということにある。斯かる制御ビツトが複
数の別々のプロセツサの内部に夫々に設けられ、
しかもそれらのプロセツサの間の通信に付随する
遅延時間がまちまちであるため、不可避的に不完
全なものとなり得る通信チヤネルによつてノイズ
が発生され、また更にエラーの発生率も増大する
ことになる。従つて「中断されることのない1回
の動作」という特徴を備えることは、その1つの
動作を構成している複数の部分々々が、夫々に多
種多様で、しかも中断可能であり、そしてそれら
を同時にはアクセスすることができず、更にはそ
れらがアクセスとアクセスとの間に不調を生じが
ちである場合には、困難を伴なうものであるとい
うことが、当業者には容易に理解されよう。 (問題点を解決するための手段) 本発明は、要約すれば、メツセージを意図的に
互いに同時に送出する複数の異なつたプロセツサ
を個々のターミナルを介して相互連結する双方向
ネツトワークを提供するものである。このネツト
ワークは、複数の能動システム・サブユニツトで
ある複数のノードを含んでおり、それらのサブユ
ニツト即ちノードは、受取つた複数のメツセージ
に内包されているデータに応答して1つの最優先
メツセージを選択する。それらのサブユニツトは
アペツクス(頂点)へ向つて収束して行くツリー
構造の中の複数の階層を成すように配列されてお
り、アペツクスにおいては1つのないし共通の最
優先メツセージが得られるようになつており、こ
の最優先メツセージは、段階を成している複数の
サブユニツトを通つて下方へ向けて、複数のター
ミナルへと送り返される。 (作用) 以上の構造において、複数のサブユニツトは、
収束方向(上流方向)においてはソートないしマ
ージを行ない、また拡散方向(下流方向)におい
てはブロードカストを行なうというように、夫々
の方向で異なつた機能を果たしている。更には、
動作中に制御信号がサブユニツトからターミナル
へ送り返されるようになつている。 (実施例) 以下、この発明の実施例を図面を参照して説明
する。 (データベース管理システム) 第1図に総括的に示されているシステムは、本
発明の概念をデータベース管理に応用したものを
具体例として示すものである。更に詳細に説明す
ると、このシステムは一つまたは複数のホスト・
コンピユータ・システム10,12と協働するよ
うに構成されており、それらのホスト・コンピユ
ータ・システムは、例えばIBM370フアミリーま
たはDEC−PDP−11フアミリーに属するコンピ
ユータ・システム等であつて、この具体例の目的
に沿うように既存の一般的なオペレーテイング・
システム及び応用ソフトウエアで動作するように
なつている。IBMの用語法に拠れば、ホスト・
コンピユータ・とデータベース・コンピユータと
の間の主要相互通信回線網はチヤネルと呼ばれて
おり、また同じものがDECの用語法に拠れば
「ユニバス」または「マスバス」或いはそれらの
用語を多少変形した用語で呼ばれている。以上の
コンピユータ・システムのうちのいずれかが用い
られるにせよ、或いは他のメーカーのメインフレ
ーム・コンピユータが用いられるにせよ、このチ
ヤネル、即ちバスは、そこへデータベース・タス
ク及びサブタスクが送出されるところのオーミツ
クな転送経路、即ち論理的に受動的な転送経路で
ある。 第1図の具体例は、ホスト・システム10,1
2に組み合わされたバツクエンド・プロセツサ複
合体を示している。この図のシステムは、タスク
及びサブタスクをホスト・システムから受入れ、
莫大なデータベース記憶情報のうちの該当する部
分を参照し、そして適切な処理済メツセージ或い
は応答メツセージを返すというものであり、それ
らの動作は、このバツクエンド・プロセツサ複合
体の構成の如何にかかわらず、それ程高度ではな
いソフトウエアによる管理以外は、ホスト・シス
テムには要求されない方式で実行されるようにな
つている。従つて、ユーザのデータベースを新た
な方式のマルチプロセツサ・システムとして構成
することが可能とされており、このマルチプロセ
ツサ・システムにおいては、データを、容量を大
幅に拡張することのできるリレーシヨナル・デー
タベース・フアイルとして組織することができ、
しかもこの拡張は、ユーザのホスト・システムの
内部に備えられているオペレーテイング・システ
ムや既存の応用ソフトウエアを変更する必要なし
に行なうことができるようになつている。独立シ
ステム(スタンド・アローン・システム)として
構成した具体例について、以下に第20図を参照
しつつ説明する。 当業者には理解されるように、リレーシヨナ
ル・データベース管理に関する動作機能は、1つ
の動作機能の全体を、少なくとも一時的には他か
ら独立して処理可能な複数の処理タスクへと分割
することができるような動作機能である。その理
由は、リレーシヨナル・データベースでは記憶さ
れている複数のデータ・エントリがアドレス・ポ
インタによつて相互依存的に連結されていないか
らである。更に当業者には理解されるように、リ
レーシヨナル・データベース管理以外にも、限定
されたタスクないし反復実行されるタスクを動的
に小区分して独立的に処理するこという方法を用
い得るようなの多くのデータ処理環境が存在して
いる。従つて、本発明の具体例を説明するに際し
ては、特に要望が強くまた頻繁に聞かれるところ
の、データベース管理における処理の問題に関連
させて説明するが、しかしながら本明細書に開示
する新規な方法並びに構成は、それ以外にも広範
な用途を持つものである。 大規模なデータ管理システムは、複数のプロセ
ツサ(マルチプル・プロセツサ)を使用する場合
には潜在的な利点と不可避的に付随する困難との
両方を備えることになる。何億個にも及ぶ莫大な
数のエントリ(記述項)を、記憶装置の中に、容
易にかつ迅速にアクセスできる状態で保持しなけ
ればならない。一方、リレーシヨナル・データベ
ースのフオーマツトとしておけば、広範なデー
タ・エントリ及び情報の取り出し動作を同時並行
的に実行することができる。 ただし、圧倒的大多数のデータベース・システ
ムにおいては、データベースの完全性(インテグ
リテイ)を維持することが、トランザクシヨン・
データを迅速に処理することと同様に重要となつ
ている。データの完全性は、ハードウエアの故障
や停電、それにその他のシステム動作に関わる災
害の、その前後においても維持されていなければ
ならない。更には、データベース・システムは、
応用ソフトウエア・コードの中のバグ(bug)を
はじめとするユーザ側のエラーの後始末を行なう
ために、データベースを以前の既知の状態に復元
できる能力を備えていなければならない。しか
も、データが誤つて失われたり入力されたりする
ことがあつてはならず、また、イベントが新たな
データに関係するものであるのか、或いは過去の
エラーの訂正に関係するものであるのか、それと
もデータベースの一部分の校正に関係するもので
あるのかに応じて、ある特定のエントリに関係し
ているデータベース部分の全てが変更されるよう
になつていなければならない。 従つて、完全性のためには、データのロールバ
ツク及び回復の動作、誤りの検出及び修正の動
作、並びにシステムの個々の部分のステータスの
変化の検出及びその補償の動作に加えて、更に、
ある程度の冗長度もデータベースシステムには必
要である。これらの目的を達成するためには、シ
ステムが多くの異なつた特殊なモードで用いられ
なければならないこともあり得る。 さらに、最近のシステムでは、その形式が複雑
なものになりがちな任意内容の問合せ
(discretionary query)を受入れる能力と、必要
とあらば相互作用的な方式で応答する能力とを持
つていることが要求される。たとえその問合せが
複雑なものであつたとしても、システムにアクセ
スしようとする人達がそのシステムの熟練者であ
ることを要求されるようなことがあつてはならな
い。 大規模生産の業務に関連して生じるかも知れな
い任意内容の問合せの例には、次のようなものが
ある。 A 生産管理を行なう管理者が、在庫品のうちの
1品目についてのリストを要求するのみなら
ず、生産高が前年同月比で少なくとも10%以上
低下している部品の、その月間生産高を超えて
いるような全ての部品在庫を明記した在庫品リ
ストを、要求するかもしれない。 B マーケテイング・マネージヤーが、ある特定
の勘定が90日延滞を生じているか否かを問合せ
るばかりでなく、特に不景気な地域に在住して
いる過去に120日を超過したことのある顧客に
関して、一律に90日の受取債権を要求するかも
しれない。 C 人事担当の重役が、所与の1年間に2週間を
超える病欠のあつた従業員の全てを一覧表にす
ることを求めるのみならず、直前の5年間のう
ちの2年以上について、その釣のシーズンの間
に1週間以上の病欠をした10年勤続以上の長期
勤続従業員の全てを一覧表にすることを求める
かもしれない。 以上の例のいずれにおいても、ユーザは、コン
ピユータに格納されている情報をそれまでにはな
されなかつた方法で関連付けることによつて、事
業において直面している本当の問題を見極めよう
とするわけである。その問題を生じている分野に
関してユーザが経験を積んでいれば、従つてユー
ザに直感力と想像力とがあれば、コンピユータの
訓練を受けたことのない専門家が、複雑な問合せ
を処理できるデータベースシステムを自由自在に
使用できるのである。 最近のマルチプロセツサ・システムは、これら
のように多くの、そしてしばしば互いに相反する
要求事項に対しては、念入りに作成されたオーバ
ーヘツド用ソフトウエア・システム並びに保守用
ソフトウエア・システムを用いることによつて対
応しようと努めているのであるが、それらのソフ
トウエア・システムは本質的にシステムを容易に
拡張することの妨げとなるものである。しかしな
がら、拡張性という概念は強く求められている概
念であり、その理由は、業務ないし事業が成長す
ると、それに付随して既存のデータベース管理シ
ステムを拡張して使用を継続することが望まれる
ようになり、この場合、新しいシステムとソフト
ウエアの採用を余儀なくされることは好まれない
からである。 マルチプロセツサ・アレイ 第1図について説明すると、本発明に係る典型
的な一具体例のシステムは多数のマイクロプロセ
ツサを含んでおり、それらのマイクロプロセツサ
には重要な2つの重要な種類があり、それらは本
明細書では夫々、インターフエイス・プロセツサ
(IFP)とアクセス・モジユール・プロセツサ
(AMP)と称することにする。図中には2個の
IFP14,16が示されており、それらの各々は
別々のホスト・コンピユータ10ないし12の入
出力装置に接続されている。多数のアクセス・モ
ジユール・プロセツサ18〜23もまた、このマ
ルチプロセツサ・アレイとも称すべきものの中に
含まれている。ここでの「アレイ」という用語
は、おおむね整然とした直線状或いはマトリツク
ス状に配列された、1組のプロセツサ・ユニツ
ト、集合とされたプロセツサ・ユニツト、ないし
は複数のプロセツサ・ユニツトを指す、一般的な
意味で用いられており、従つて、最近「アレイ・
プロセツサ」と呼ばれるようになつたものを意味
するのではない。図中には、このシステムの概念
を簡明化した例を示すために僅かに8個のマイク
ロプロセツサが示されているが、はるかに多くの
IFP及びAMPを用いることが可能であり、通常
は用いられることになる。 IFP14,16及びAMP18〜23は、内部
バスと周辺装置コントローラにダイレクト・メモ
リ・アクセスをするメイン・メモリとを有してい
るインテル8086型16ビツトマイクロプロセツサを
内蔵している。いろいろなメーカーの非常に多様
なマイクロプロセツサ及びマイクロプロセツサシ
ステム製品の任意のものを利用できる。この「マ
イクロプロセツサ」は、このアレイの中で使用で
きるコンピユータないしプロセツサの一形式の具
体的な一例に過ぎず、なぜならば、このシステム
の概念は、用途によつて必要とされる計算力がミ
ニコンピユータまたは大型コンピユータのもので
ある場合には、それらを使つてうまく利用できる
からである。この16ビツトのマイクロプロセツサ
は、相当のデータ処理力を備え、しかも広範な
種々の利用可能なハードウエア及びソフトウエア
のオプシヨンに置換えることができる標準的な置
換え可能な構成とされている、低コストの装置の
有利な一例である。 IFPとAMPとは互いに類似の、能動ロジツク
と制御ロジツクとびインターフエイスとを含む回
路、マイクロプロセツサ、メモリ、及び内部バス
を採用しており、それらについては夫々第1図と
第8図とを参照しつつ後に説明する。ただし、こ
れら二つのプロセツサ形式は、夫々のプロセツサ
形式に関連する周辺装置の性質、及びそれらの周
辺装置に対する前記ロジツクが異なつている。当
業者には容易に理解されるように、異なつた周辺
装置コントローラを備え異なつた機能的任務を付
与されたその他のプロセツサ形式を本発明に組入
れることも容易である。 各マイクロプロセツサには高速ランダム・アク
セス・メモリ26(第8図に関連して説明する)
が備えられており、この高速ランダム・アクセ
ス・メモリは、入出力メツセージのバツフアリン
グを行うことに加え、システムの他の部分と独特
な方法で協働することによつて、メツセージ管理
を行なう。手短に説明すると、この高速ランダ
ム・アクセス・メモリ26は、可変長の入力メツ
セージ(この入力のことを「受信」という)のた
めの循環バツフアとして働き、シーケンシヤルに
メツセージを出力するための(この出力のことを
「送信」という)メモリとして機能し、ハツシ
ユ・マツピング・モード及び他のモードで用いる
ためのテーブル索引部分を組込み、そして受信メ
ツセージ及び送信メツセージを整然と順序立てて
取扱うための制御情報を記憶する。メモリ26は
更に、マルチプロセツサモード選択のとき、並び
にデータ、ステータス、制御、及び応答の各メツ
セージのトラフイツクを取扱うときに独特の役目
を果たすように用いられる。後に詳細に説明する
ように、それらのメモリは更に、メツセージの中
のトランザクシヨン・アイデンテイテイに基づい
て局所的及び大域的なステータス判定と制御機能
とが極めて能率的な方法で処理され通信されるよ
うな構成とされている。IFP14,16及び
AMP18〜23の各々に備えられている前記ロ
ジツク28(第13図に関連しては後に説明す
る)は、当該モジユール内のデータ転送及びオー
バーヘツド機能の実行に用いられる。 IFP14,16は各々インターフエイス制御回
路30を備えており、このインターフエイス制御
回路30はIFPをそのIFPに組み合わされている
ホスト・コンピユータ10ないし12のチヤネル
またはバスに接続している。これに対してAMP
18〜23では、このインターフエイス制御回路
に相当する装置はデイスク・コントローラ32で
あり、このデイスク・コントローラ32は一般的
な構造のものであつても良く、AMP18〜23
を、それらに個別に組み合わせられた磁気デイス
ク・ドライブ38〜43と夫々にインターフエイ
スするのに用いられるものである。 磁気デイスク・ドライブ38〜43はこのデー
タベース管理システムに二次記憶装置、即ち大容
量記憶装置を提供している。本実施例において
は、それらの磁気デイスク・ドライブは例えばウ
インチエスター・テクノロジー(Winchester
technology)等の実績のある市販の製品から成
るものとし、それによつて、バイト当りコストが
極めて低廉でしかも大容量、高信頼性の記憶装置
が得られるようにしている。 これらのデイスク・ドライブ38〜43には、
リレーシヨナル・データベースが分散格納方式で
格納されており、これについては第22図に簡易
化した形で示されている。各々のプロセツサとそ
れに組み合わされたデイスク・ドライブとに対し
ては、データベースの部分集合を成す複数のレコ
ードが割当てられ、この部分集合は「一次的」部
分集合であり、またそれらの一次的部分集合は互
いに素の部分集合であると共に全体として完全な
データベースを構成するものである。従つてn個
記憶装置の各々はこのデータベースの1/nを保持 することになる。各々のプロセツサには更に、バ
ツクアツプ用のデータの部分集合が割当てられ、
それらのバツクアツプ用部分集合も互いに素の部
分集合であり、各々がこのデータベースの1/nを 構成するものである。第22図から分るように、
一次的フアイルの各々は、その一次的フアイルが
収容されているプロセツサとは異なつたプロセツ
サに収容されているバツクアツプ用フアイルによ
つて複製されており、これにより、互いに異なつ
た分配の仕方で分配された2つの各々が完全なデ
ータベースが得られている。このように、一次的
データ部分集合とバツクアツプ用データ部分集合
とが冗長性を持つて配置されていることによつて
データベースの完全性(インテグリテイ)の保護
がなされており、その理由は、単発の故障であれ
ば、大規模な数ブロツクに亙る複数のデータや複
数のグループを成す複数のリレーシヨンに対して
実質的な影響を及ぼすことはあり得ないからであ
る。データベースの分配は、同じく第22図に示
されているように、種々のフアイルのハツシング
動作と関連を有しており、また、ハツシユ・マツ
ピング・データをメツセージの中に組込むことと
も関連を有している。各々のプロセツサに収容さ
れているフアイルは、2進数列のグループとして
示される簡単なハツシユ・バケツト(hash
bucket)によつて指定されるようになつている。
従つて、それらのバケツトによつて指定される関
係の表(テーブル)に基づいて、リレーシヨナ
ル・データベース・システムの中のリレーシヨン
(関係)及びタプル(組:tuple)を配置すべき場
所を定めることができる。ハツシング・アルゴリ
ズムを利用して、このリレーシヨナル・データベ
ース・システムの内部において、キーからバケツ
トの割当てが求められるようになつており、その
ため、このデータベース・システムの拡張及び改
変を容易に行なうことができる。 記憶容量をどれ程の大きさに選択するかは、デ
ータベース管理上のニーズ、トランザクシユンの
量、及びその記憶装置に組み合わされているマイ
クロプロセツサの処理力に応じて定められるもの
である。複数のデイスク・ドライブを1個の
AMPに接続したり、1台のデイスク・フアイル
装置を複数のAMPに接続することも可能である
が、そのような変更態様は通常は特殊な用途に限
られるであろう。データベースの拡張は、典型的
な一例としては、マルチプロセツサ・アレイにお
けるプロセツサの個数(及びプロセツサに組み合
わされたデイスク・ドライブの個数)を拡張する
ことによつて行なわれる。 能動ロジツク・ネツトワーク 秩序立つたメツセージ・パケツトの流れを提供
するという目的とタスクの実行を容易にするとい
う目的とは、新規な能動ロジツク・ネツトワーク
構成体50を中心とした、独特のシステム・アー
キテクチユア並びにメツセージ構造を採用するこ
とによつて達成される。この能動ロジツク・ネツ
トワーク構成体50は、複数のマイクロプロセツ
サの複数の出力に対して、階層を登りながらそれ
らの出力を収束させて行く昇順階層を成す、複数
の双方向能動ロジツク・ノード(bidirectional
active logic node)54によつて構成されてい
る。それらのノード54は、3つのポートを備え
た双方向回路から成るものであり、この双方向回
路はツリー・ネツトワーク(tree network:樹
枝状の構造を持つネツトワーク)を形成すること
ができ、その場合には、そのツリー構造のベース
の部分においてマイクロプロセツサ14,16お
よび18〜23に接続される。 当業者には理解されるように、ノードは、ロジ
ツク・ソースの数が2を超えて、例えば4または
8であるときに設けることができ、この場合、同
時にまた、ソース入力の数を多くするという問題
も組合せロジツクを更に付加するという問題に変
換してしますことができる。 図の参照を容易にするために、すべてのノード
(N)のうち、第1階層に属しているものはそれ
ぞれプリフイツクス「」で表わし、また第2階
層に属しているものはそれをプリフイツクス
「」で表わし、以下同様とする。同一の階層に
属している個々のノードは、下添字「12……」
によつて表わし、従つて、例えば第1階層の第4
ノードであれば「IN4」と表わすことができる。
ノードのアツプ・ツリー側(即ち上流側)には
「Cポート」と名付けられた1つのポートが備え
られており、このCポート隣接する高位の階層に
属しているノードの2つのダウン・ツリー・ポー
トのうちの一方に接続されており、それらのダウ
ン・ツリー・ポートは夫々「Aポート」および
「Bポート」と名付けられている。これら複数の
階層は、最上部ノード即ち頂点ノード54aへと
収束しており、この頂点ノード54aは、上流へ
向けられたメツセージ(アツプ・ツリー・メツセ
ージ)の流れの向きを逆転して下流方向(ダウ
ン・ツリー方向)へ向ける、収束および転回のた
めの手段として機能している。2組のツリー・ネ
ツトワーク50a,50bが使用されており、そ
れら2組のネツトワークにおけるノードどうし、
それに相互接続部どうしは互いに並列に配置され
ており、それによつて大規模システムに望まれる
冗長性を得ている。ノード54どうし、そしてそ
れらのネツトワークどうしは互いに同一であるの
で、それらのネツトワークのうちの一方のみを説
明すれば充分である。 説明を分り易くするために先ず第1に理解して
おいて頂きたいことは、シリアルな信号列の形態
とされている多数のメツセージ・パケツトが、多
くのマイクロプロセツサの接続によつて能動ロジ
ツク・ネツトワーク50へ同時に送出され、或い
は同時に送出することが可能とされているという
ことである。複数の能動ロジツク・ノード54は
その各々が2進数ベースで動作して2つの互いに
衝突関係にある衝突メツセージ・パケツトの間の
優先権の判定を行ない、この優先権の判定は、そ
れらのメツセージパケツト自体のデータ内容を用
いて行なわれる。更には、1つのネツトワークの
中のすべてのノード54は1つのクロツク・ソー
ス56の制御下に置かれており、このクロツク・
ソース56は、メツセージパケツトの列を頂点ノ
ード54aへ向けて同期して進めることができる
ような態様で、それらのノード54に組み合わさ
れている。このようにして、シリアルな信号列の
中の、連続する各々のバイト等の増分セグメント
が次の階層へと進められ、このバイトの進行は、
別のメツセージの中のそのバイトに対応するバイ
トがこのネツトワーク50内の別の経路をたどつ
て同様に進行するのと同時に行なわれる。 互いに競合する信号列の間に優先権を付与する
ためのソートが、アツプ・ツリー方向へ移動して
いるメツセージパケツトに対して行なわれ、これ
によつて最終的には、頂点ノード54aから下流
へ向けて方向転換されるべき単一のメツセージ列
が選択される。以上のようにシステムが構成され
ているため最終的な優先権についての判定をメツ
セージパケツト内のある1つの特定の点において
行なう必要はなくなつており、そのため、個々の
ノード54において実行されている2つの互いに
衝突しているパケツト間の2進数ベースの判定以
外のものを必要とすることなしに、メツセージの
転送を続けて行なうことができるようになつてい
る。この結果、このシステムは空間的および時間
的にメツセージの選択とデータの転送とを行なう
ようになつているわけであるが、ただし、バスの
支配権を得たり、送信プロセツサあるいは受信プ
ロセツサを識別したり、またはプロセツサ間のハ
ンドシエイキング操作を実行する目的のために、
メツセージ伝送を遅延させるようなことはない。 更に、特に認識しておいて頂きたいことは、幾
つかのプロセツサが全く同一のバケツトを同時に
送信した場合には、その送信が成功したならば、
それらの送信プロセツサの全てが成功したのと同
じことになるということである。この性質は時間
とオーバーヘツドを節約するので大型マルチプロ
セツサ複合体の有効な制御を行うのに極めて有用
である。 ノード54は更に双方向方式で作動するため、
妨害を受けることのない、下流方向へのメツセー
ジ・パケツトの分配を可能にしている。所与のノ
ード54において、そのアツプ・ツリー側に設け
られたポートCで受取られた下流方向メツセージ
は、このノードのダウン・ツリー側に設けられた
ポートA及びポートBの両方へ分配され、更に、
このノードに接続された隣接する低位の階層に属
する2つのノードの両方へ転送される。コモン・
クロツク回路56の制御の下にメツセージ・パケ
ツトは同期してダウン・ツリー方向へ進められ、
そして全てのマイクロプロセツサへ同時にブロー
ドカウス(broadcast:一斉伝達)され、それに
よつて、1つまたは複数のプロセツサが、所望の
処理タスクの実行ができるようになるか、または
応答を受入れることができるようになる。 ネツトワーク50は、そのデータ転送速度が、
マイクロプロセツサのデータ転送速度と比較して
より高速であり、典型的な例としては2倍以上の
高速である。本実施例においては、ネツトワーク
50は120ナノ秒のバイト・クロツク・インタバ
ルをもつており、そのデータ転送速度はマイクロ
プロセツサの5倍の速度である。各ノード54
は、その3つのポートの各々が、そのノードに接
続されている隣接する階層に属するノードのポー
トか、或いはマイクロプロセツサに接続されてお
り、この接続は1組のデータ・ライン(本実施例
においては10本)と制御ライン(本実施例におい
ては2本)とによつてなされており、2本の制御
ラインは夫々、クロツク信号とコリジヨン信号
(衝突信号)とに割当てられている。データ・ラ
インとクロツク・ラインとは対になすようにして
配線され、アツプ・ツリー方向とダウン・ツリー
方向とでは別々のラインとされている。コリジヨ
ン・ラインはダウン・ツリー方向にのみ伝播を行
なうものである。以上の接続構造は全二重式のデ
ータ経路を形成しており、どのラインについても
その駆動方向を「反転」するのに遅延を必要とし
ないようになつている。 次に第3図に関して説明すると、10本のデー
タ・ラインは、ビツト0〜7で表わされている8
ビツト・バイトを含んでおり、それらが10本のデ
ータ・ラインのうちの8本を占めている。Cで表
わされている別の1本のラインは制御ラインであ
り、このラインは特定の方法でメツセージパケツ
トの異なる部分を明示するのに用いられる制御シ
ーケンスを搬送する。10番目のビツトは本実施例
においては奇数パリテイ用に使用されている。当
業者には理解されるように、このシステムは以上
のデータ経路中のビツトの数を増減しても良く、
そのようにビツトの数を変更しても容易に動作さ
せることができる。 バイト・シーケンス(バイトの列)は、一連の
複数のフイールドを構成するように配列され、基
本的には、コマンド・フイールド、キー・フイー
ルド、転送先選択フイールド、及びデータ・フイ
ールドに分割されている。後に更に詳細に説明す
るように、メツセージはただ1つだけのフイール
ドを用いることもあり、また検出可能な「エン
ド・オブ・メツセージ」コードをもつて終了する
ようになつている。メツセージ間に介在する「ア
イドル・フイールド(idle field:遊びフイール
ド)」は、Cライン上並びにライ0〜7上のとぎ
れのない一連の「1」によつて表わされ、いかな
るメツセージパケツトも得られない状態にあると
きには常にこれが転送されている。パリテイ・ラ
インは更に、個々のプロセツサのステータスの変
化を独特の方式で伝えるためにも使用される。 「アイドル状態(idle state:遊び状態)」はメ
ツセージとメツセージとの間に介在する状態であ
つて、メツセージ・パケツトの一部分ではない。
メツセージ・パケツトは通常、タグを含む2バイ
トのコマンド・ワードで始まり、このタグは、そ
のメツセージがデータ・メツセージであればトラ
ンザクシヨン・ナンバ(TN)の形とされてお
り、また、そのメツセージが応答メツセージであ
れば発進元プロセツサID(OPID)の形とされい
る。トランザクシヨン・ナンバは、システムの中
において様々なレベルの意義を有するものであ
り、多くの種類の機能的通信及び制御の基礎を成
すものとして機能するものである。パケツトは、
このコマンド・ワードの後には、可変長のキー・
フイールドと固定長の転送先選択ワード
(destination selection word:DSW)とのいず
れか或いは双方を含むことができ、これらは可変
長のデータ・フイールドの先頭の部分を成すもの
である。キー・フイールドは、このキー・フイー
ルド以外の部分においてはメツセージどうしが互
いに同一であるという場合に、それらのメツセー
ジの間のソーテイングのための判断基準を提供す
るという目的を果たすものである。DSWは、多
数の特別な機能の基礎を提供するものであり、ま
た、TNと共に特に注意するのに値するものであ
る。 このシステムは、ワード同期をとられているイ
ンターフエイスを用いて動作するようになつてお
り、パケツトを送信しようとしている全てのプロ
セツサは、コマンド・ワードの最初のバイトを互
いに同時にネツトワーク50へ送出するようにな
つている。ネツトワークは、これに続く諸フイー
ルドのデータ内容を利用して、各ノードにおいて
2進数ベースでソーテイングを行ない、このソー
テイングは、最小の数値に優先権が与えられると
いう方式で行なわれる。連続するデータ・ビツト
の中で、ビツトCを最も大きい量である見なし、
ビツト0を最も小さい量であると見なすならば、
ソーテイングの優先順位は以下のようになる。 1 ネツトワーク50へ最初に送出されたもの、 2 コマンド・コード(コマンド・ワード)が最
小値であるもの、 3 キー・フイールドが最小値であるもの、 4 キー・フイールドが最短であるもの、 5 データ・フイールド(転送先選択ワードを含
む)が最小値であるもの、 6 データ・フイールドが最短であるもの。 ここで概観を説明しているという目的に鑑み、
特に記しておかねばならないことは、ノード54
において優先権の判定が下されたならば、コリジ
ヨン表示(=衝突表示、以下AcolまたはBcolと
称する)が、この優先権の判定において敗退した
方の送信を受取つた方の経路に返されるというこ
とである。このコリジヨン表示によつて、送信を
行なつているマイクロプロセツサは、ネツトワー
ク50がより高い優先順位の送信のために使用さ
れているため自らの送信は中止されており、従つ
て後刻再び送信を試みる必要があるということを
認識することができる。 単純化した具体例が、第2図の種々の図式に示
されている。この具体例は、ネツトワーク50が
4個の別々のマイクロプロセツサを用いたツリー
構造に配列された高速ランダム・アクセス・メモ
リと協働して動作するようにしたものであり、そ
れら4個のマイクロプロセツサは更に詳しく説明
すると、IFP14と、3個のAMP18,19及
び20とである。計10面の副図2A,2B,……
2Jは、その各々が、t=0からt=9までの連
続する10個の時刻標本のうちの1つに対応してお
り、そしてそれらの時刻の各々における、このネ
ツトワーク内のマイクロプロセツサの各々から送
出される互いに異なつた単純化された(4個の文
字からなる)シリアル・メツセージの分配の態
様、並びに、それらの種々の時刻における、ポー
トとマイクロプロセツサとの間の通信の状態を示
している。単に第2図とだけ書かれている図面
は、信号の伝送の開始前のシステムの状態を示し
ている。以上の個々の図において、ナル状態
(null state:ゼロの状態)即ちアイドル状態で
あるためには、「□」で表される伝送が行なわれ
ていなければならないものとしている。最小値を
とるデータ内容が優先権を有するという取決めが
あるため、第2A図中のAMP19から送出され
るメツセージ・パケツト「EDDV」が、最初に
このシステムを通して伝送されるメツセージ・パ
ケツトとなる。図中の夫々のメツセージは、後に
更に詳細に説明するように、マイクロプロセツサ
の中の高速ランダム・アクセス・メモリ(H.S.
RAMと呼称することもある)の内部に保持され
ている。H.S.RAM26は、第2図には概略的に
示されている入力用領域と出力用領域とを有して
おり、パケツトは、t=0の時点においては、こ
の出力領域の中にFIFO(先入れ先出し)方式で垂
直に並べて配列されており、それによつて、転送
に際しては図中のH.S.RAM26に書込まれてい
るカーソル用矢印に指示されているようにして取
り出すことができるようになつている。この時点
においては、ネツトワーク50の中のすべての伝
送は、ナル状態即ちアイドル状態(□)を示して
いる。 これに対して、第2B図に示されているt=1
の時点においては、各々のメツセージパケツトの
先頭のバイトが互いに同時にネツトワーク50へ
送出され、このときすべてのノード54はいまだ
にアイドル状態表示を返しており、また、第1階
層より上のすべての伝送状態もアイドル状態とな
つている。第1番目のクロツク・インタバルの間
に夫々のメツセージの先頭のバイトが最下層のノ
ードN1及びN2の内部にセツトされ、t=2
において(第2C図)競合に決着が付けられ、そ
して上流方向への伝送と下流方向への伝送の双方
が続けて実行される。ノードN1はその両方の
入力ポートに「E」を受取つており、そしてこれ
を上流方向の次の階層へ向けて転送していて、ま
た下流方向へは両方の送信プロセツサへ向けて未
判定の状態を表示している。しかしながらこれと
同じ階層に属しているノードN2は、プロセツ
サ19からの「E」とプロセツサ20からの
「P」との間の衝突に際しての優先権の判定を、
「E」の方に優先権があるものと判定しており、
そして、ポートAをアツプ・ツリー側のポートC
に結合する一方、マイクロプロセツサ20へ
Bcol信号を返している。Bcol信号がマイクロプ
ロセツサ20へ返されると、N2ノードは実際
上、そのA入力ポートがC出力ポートにロツクさ
れたことになり、それによつて、マイクロプロセ
ツサ19からのシリアルな信号列が頂点ノード
N1へ伝送されるようになる。 N1ノードにおいては最初の二つの文字はど
ちらも「ED」であり、そのため第2C図に示す
ように、このノードではt=2の時刻には、判定
を下すことは不可能となつている。更には、3つ
のマイクロプロセツサ14,15及び19から送
出された共通の先頭の文字「E」は、t=3(第
2D図)の時刻にN1頂点ノードに達し、そし
てこの文字「E」は、同じくそれら全てのメツセ
ージに共通する第2番目の文字「D」がこの頂点
ノードN1へ転送されるときに、その転送の向
きを反転されて下流方向へ向けられる。この時点
ではノードN1は未だ判定を下せない状態にあ
るが、しかしながらこのときには、一連のマイク
ロプロセツサ14,18及び19からの夫々の第
3番目の文字「F」、「E」及び「D」がこのノー
ドN1へ送信されつつある。マイクロプロセツ
サ20がBcol信号を受取るということはこのプ
ロセツサ20が優先権を得るための競合において
敗退したことを意味しており、それゆえこのプロ
セツサ20はBcol信号を受取つたならばアイド
ル表示(□)を送出し、またそれ以降もこのアイ
ドル表示(□)だけを送出する。夫々の出力バツ
フアに書込まれている夫々のカーソル矢印は、マ
イクロプロセツサ20はその初期状態に戻されて
いるがその他のマイクロプロセツサは連続する一
連の文字を送り続けていることを示している。従
つてt=4(第2E図)の時刻における重要な出
来事は、ノードN1のポートに関する判定が行
なわれることと、それに、先頭の文字(「E」)
が、全てのラインを通つて第1階層のノード階層
へ向けて反転伝送されることである。t=5(第
2F図)の時刻には2回目の衝突が表示され、こ
の場合、ノードN1のBポートが競合に勝利し、
Acolが発生される。 続く数回のクロツク・タイムの間は、シリアル
な信号列の下流方向へのブロードカストが継続し
て行なわれ、t=6(第2G図)の時刻には、メ
ツセージの先頭の文字が全てのH.S.RAM26の
入力用領域の部分の中にセツトされる。ここでも
う1つ注意しておいて頂きたいことは、ノード
N1において先に行なわれた優先権の判定はこの
時点において無効とされるということであり、そ
の理由は、プロセツサ18から送出された第3番
目の文字(「E」)がマイクロプロセツサ19から
送出された第3番目の文字(「D」)との競合に敗
退したときに、より高位の階層のノードN1か
らAcolの表示がなされるためである。第2H図
中においてカーソル矢印が表わしているように、
マイクロプロセツサ14,18及び20はそれら
の初期状態に戻されており、また、勝利したマイ
クロプロセツサ19は、その全ての送信をt=4
の時刻に既に完了している。第2H図、第2I
図、及び第2J図から分るように、全ての入力バ
ツフアの中へ、次々に優先メツセージ「EDDV」
がロードされて行く。t=8(第2I図)におい
て、このメツセージは既に第1階層から流れ出て
しまつており、また、頂点ノードN1はt=7
において既にリセツトされた状態になつている
が、それは、マイクロプロセツサへ向けて最後の
下流方向文字が転送されるときには、既にアイド
ル信号だけが互いに競合しているからである。t
=9(第2J図)の時刻には、第1階層に属して
いるノードN1及びN2はリセツトされてお
り、そして、敗退したマイクロプロセツサ14,
18及び20の全ては、ネツトワークが再びアイ
ドルを指示しているときにメツセージの先頭の文
字を送出することによつて、ネツトワーク上にお
ける優先権を得るための競合を再度行なうことに
なる。実際には後に説明するように、勝利したマ
イクロプロセツサへ肯定応答信号が伝送されるの
であるが、このことは、本発明を最大限に一般化
したものにとつては必須ではない。 メツセージがこのようにして全てのマイクロプ
ロセツサへブロードカストされた後には、このメ
ツセージは、必要に応じてそれらのマイクロプロ
セツサのいずれかによつて、或いはそれらの全て
によつて利用される。どれ程のマイクロプロセツ
サによつて利用されるかは、動作のモードと実行
される機能の如何に応じて異なるものであり、そ
れらの動作モードや機能には様々なバリエーシヨ
ンが存在する。 (大域的な相互通信と制御) 一群の互いに競合するメツセージのうちの1つ
のメツセージに対してネツトワークが優先権を与
える方法として上に説明した具体例は、プライマ
リ・データ・メツセージの転送に関する例であ
る。しかしながら、複雑なマルチプロセツサ・シ
ステムが、現在求められている良好な効率と多用
途に亙る汎用性とを備えるためには、その他の多
くの種類の通信とコマンドとを利用する必要があ
る。備えられていなければならない主要な機能に
は、プライマリ・データの転送に加えて、広い意
味でマルチプロセツサのモードと呼ぶことのでき
るもの、メツセージに対する肯定応答、ステータ
ス表示、並びに制御信号が含まれている。以下の
章は、種々のモード並びにメツセージが、どのよ
うにして優先権付与のためのソーテイングと通信
とを行なうソーテイング・コミユニケーシヨン・
ネツトワークと協働するかについて、大域的な観
点から、即ちマルチプロセツサ・システムの観点
から説明した概観を提示するものである。更に詳
細に理解するためには、第8図及び第13図と、
それらの図についての後述の説明とを参照された
い。 一斉分配モード、即ちブロードカスト・モード
においては、メツセージは特定の1個または複数
個の受信プロセツサを明示することなく、全ての
プロセツサへ同時に送達される。このモードが用
いられるのは、典型的な例を挙げるならば、応
答、ステータス問合せ、コマンド、及び制御機能
に関してである。 受信プロセツサが明示されている必要がある場
合には、メツセージ・パケツトそれ自体の中に含
まれている転送先選択情報が、そのパケツトを局
所的に(=個々のプロセツサにおいて)受入れる
か拒絶するかを判断するための判定基準を提供す
るようになつている。例を挙げれば、受信プロセ
ツサ・モジユールの内部のインターフエイス・ロ
ジツクが、高速RAM26に記憶されているマツ
プ情報に従つて、そのパケツトのデータがそのイ
ンターフエイス・ロジツクが組込まれている特定
のプロセツサが関与する範囲に包含されるものか
否かを識別する。高速RAM内のマツプ・ビツト
を種々に設定することによつて様々な選択方式の
判定基準を容易に設定することがてき、それらの
選択方式には、例えば、特定の受信プロセツサの
選択、(「ハツシング」により)格納されているデ
ータベースの一部分の選択、ロジカル・プロセツ
サ・タイプ(「クラス」)の選択、等々がある。ブ
ロードカストを局所的アクセス制御(=個々のプ
ロセツサにおいて実行されるアクセス制御)と共
に用いることは、データベース管理システムにと
つては特に有益であり、それは、小さなオーバー
ヘツド用ソフトウエアしか必要とせずに、広範に
分散されたリレーシヨナル・データベースの任意
の部分や、複数の大域的に既知となつているロジ
カル・プロセスのうちの任意のものの分散された
局所的コピーに、アクセスすることができるから
である。従つてこのシステムは、メツセージの転
送先として、1つの転送先プロセツサを特定して
選択することもでき、また、1つのクラスに属す
る複数の資源を特定して選択することもできる 更にまた、ハイ・レベルののデータベース問合
せは、しばしば、データベースの別々の部分の間
の相互参照と、所与のタスクについての一貫性を
有するレフアレンス(識別情報)とを必要とす
る。メツセージに組込まれたトランザクシヨン・
ナンバ(TN)は種々の特質を持つものである
が、その中でも特に、そのような大域的なトラン
ザクシヨンのアイデンテイテイ(同定情報)及び
レフアレンスを提供するものである。多数のタス
クを、互いに非同期的に動作するローカル・プロ
セツサ・モジユール(局所的プロセツサ・モジユ
ール)によつて同時並行的に処理することができ
るようになつており、また、各々のタスクないし
サブタスクは適当なTNを持つようにされてい
る。TNとDSW(転送先選択ワード)とコマンド
とを様々に組合わせて用いることによつて、実質
的に無限の融通性が達成されるようになつてい
る。その割当てと処理とが非同期的に行なわれて
いる極めて多数のタスクに対して、広範なソー
ト/マージ動作(sort/merge operation)を適
用することができるようになつている。TNにつ
いては、それを割当てることと放棄することとが
可能となつており、またマージ動作については、
その開始と停止とが可能とされている。ある種の
メツセージ、例えば継続メツセージ等について
は、その他のメツセージの伝送に優先する優先権
を持つようにすることができる。TNと、それに
そのTNに関するステータスを更新するローカ
ル・プロセツサとを利用することにより、ただ1
つの問合せだけで所与のTNについての大域的資
源のステータスを判定することができるようにな
つている。分散型の更新もまた一回の通信で達成
できるようになつている。本発明のシステムは、
以上の全ての機能が、ソフトウエアを拡張したり
オーバーヘツドの負担を著しく増大させることな
く、実行されるようにするものである。 本発明を用いるならばその結果として、従来技
術において通常見られる個数のマイクロプロセツ
サよりはるかに多くの個数のプロセツサを備えた
マルチプロセツサ・システムを、問題タスクに対
して非常に効果的に動作させることが可能にな
る。現在ではマイクロプロセツサは低価格となつ
ているため、問題領域において高性能を発揮する
システムを、それも単に「ロー」パワー(“raw”
power)が高性能であるというだけではないシス
テムを、実現することができる。 全てのメツセージのタイプと種々のサブタイプ
とを包含する一貫性のある優先順位プロトコル
が、ネツトワークに供給される種々様々なメツセ
ージの全てを包括するように定められている。応
答メツセージ、ステータス・メツセージ、並びに
制御メツセージはプライマリ・データ・メツセー
ジとは異なる形式のメツセージであるが、それら
も同じように、ネツトワークの競合/マージ動作
(contention/merge operation)を利用し、そ
してそれによつて、転送されている間に優先権の
付与を受ける。本システムにおける応答メツセー
ジは、肯定応答(ACK)か、否定応答(NAK)
か、或いは、そのプロセツサがそのメツセージに
対して有意義な処理を加えるための資源を持つて
いないことを表わす表示(「非該当プロセツサ
(not applicable processor)」−NAP)である。
NAK応答は、ロツク(lock)状態、エラー状
態、ないしはオーバーラン(overrun)状態を表
示する幾つかの異なつたタイプのうちのいずれで
あつても良い。発信元プロセツサは1つだけであ
ることも複数個ある場合もあるが、発信元プロセ
ツサはメツセージの送信を終了した後には以上の
ような応答を必要とするため、応答メツセージに
はプライマリ・データ・メツセージより高位の優
先順位が与えられている。 本システムは更にSACKメツセージ(ステータ
ス肯定応答メツセージ:status
acknowledgment message)を用いており、こ
のSACKメツセージは、特定のタスク即ちトラン
ザクシヨンに関する、ある1つのローカル・プロ
セツサのレデイネス状態(どのような動作が可能
であるかという状態:readiness state)を表示
するものである。このSACK応答の内容は局所的
に(=個々のプロセツサにおいて、即ちローカ
ル・プロセツサにおいて)更新されると共に、ネ
ツトワークからアクセスできる状態に保持され
る。斯かるSACK応答は、ネツトワークのマージ
動作と組合わされることによつて、所与のタスク
即ちトランザクシヨンに関する単一の問合せによ
る大域的ステータス報告が得られるようにしてい
る。ステータス応答は優先順位プロトコルに従う
ため、ある1つのトランザクシヨン・ナンバに関
する応答のうちのデータ内容が最小の応答が自動
的に優先権を得ることになり、それによつて最低
のレデイネス状態が大域的なシステム状態として
確定され、しかもこれは中断されることのない1
回の動作によつて行なわれる。更に、このような
SACK表示はある種のプライマリ・メツセージと
共に用いられることもあり、それによつて、例え
ばシステムの初期化やロツクアウト動作等の、
様々なプロトコルが設定される。 種々のメツセージのタイプに関する優先順位プ
ロトコルは先ず最初にコマンド・コードについて
定義されており、このコマンド・コードは、第1
1図に示すように各メツセージ及び応答の先頭に
立つコマンド・ワードの、その最初の6ビツトを
使用している。これによつてメツセージのタイプ
及びサブタイプに関して充分な区別付けができる
ようになつているが、ただし、より多段階の区別
付けをするようにすることも可能である。第11
図を参照すれば分るように、本実施例において
は、SACK応答は7つの異なつたステータス・レ
ベルを区別して表わす(更には優先権判定のため
の基準をも提供する)ものとされている。応答メ
ツセージの場合には、以上の6ビツトの後に、10
ビツトのOPIDの形式としたタグが続く(第3図
参照)。TNとOPIDとはいずれも更なるソーテイ
ング用判定基準としての機能を果たすことがで
き、その理由は、これらのTNとOPIDとはタグ
領域の内部において異なつたデータ内容を持つか
らである。 各プライマリ・メツセージがネツトワークを介
して伝送された後には、全てのプロセツサのイン
ターフエイス部が、たとえそれがNAPであろう
とも、ともかく応答メツセージを発生する。それ
らの応答メツセージもまたネツトワーク上で互い
に競合し、それによつて、単一または共通の勝利
した応答メツセージが全てのプロセツサへブロー
ドカストされる。敗退したメツセージパケツトは
後刻再び同時送信を試みられることになるが、こ
の再度の同時送信は非常に短い遅延の後に行なわ
れ、それによつてネツトワークが実質的に連続的
に使用されているようにしている。複数のプロセ
ツサがACK応答を送出した場合には、それらの
ACK応答はOPIDに基づいてソーテイングされる
ことになる。 本発明を用いるならばその結果として、タスク
の開始と停止と制御、並びにタスクに対する問合
せを、極めて多数の物理的プロセツサによつて、
しかも僅かなオーバーヘツドで、実行することが
可能となる。このことは、多数のプロセツサのロ
ー・パワー(raw power)を問題状態の処理の
ために効果的に使うことを可能としており、なぜ
ならば、このロー・パワーのうちのシステムのコ
ーデイネーシヨン(coordination)及び制御に割
かれてしまう量が極めて少なくて済むからであ
る。コーデイネーシヨンと制御のオーバーヘツド
は、いかなる分散型処理システムにおいても、そ
の効率に対する根本的な制約を成すものである。 大域的な制御(即ちネツトワークの制御)を目
的としている場合には、種々のタイプの制御通信
が用いられる。従つて、「マージ停止」、「ステー
タス要求」、及び「マージ開始」の各メツセージ
や、あるタスクの割当てのためのメツセージ並び
にあるタスクの放棄のためのメツセージは、デー
タ・メツセージと同一のフオーマツトとされてお
り、それ故それらのメツセージもまた、ここでは
プライマリ・メツセージと称することにする。そ
れらの制御メツセージも同様にTNを含んでお
り、そして優先順位プロトコルの中の然るべき位
置に位置付けられている。このことについては後
に第10図及び第11図に関して説明することに
する。 「大域的セマフオ・バツフア・システム」とい
う用語を先に使用したのは、第1図に示された高
速ランダム・アクセス・メモリ26及び制御ロジ
ツク28が、マルチプロセツサのモードの選択と
ステータス表示及び制御指示の双方向通信との両
方において、重要な役割りを果たしているという
事実があるからである。この大域的セマフオ・バ
ツフア・システムはアクセスの二重性を提供する
ものであり、このアクセスの二重性とは、高速で
動作するネツトワーク構造体50とそれより低速
で動作するマイクロプロセツサとの双方が、メモ
リ26内のメツセージ、応答、制御、ないしはス
テータス表示を、遅延なしに、そしてネツトワー
クとマイクロプロセツサとの間の直接通信を必要
とすることなく、参照することができるようにし
ているということである。これを実現するため
に、制御ロジツク28が、メモリ26を差込みワ
ード・サイクル(interleaved woed cycle)で
時間多重化(タイム・マルチプレクシング)して
ネツトワーク50とマイクロプロセツサとへ接続
しており、これによつて結果的に、メモリ26を
共通してアクセスすることのできる別々のポート
が作り上げられているのと同じことになつてい
る。大域的資源、即ちネツトワーク50と複数の
マイクロプロセツサとは、トランザクシヨン・ナ
ンバを、メモリ26のうちのトランザクシヨンの
ステータスを格納するために割振られている部分
へのロケートを行なうアドレス・ロケータとし
て、利用することができる。局所的なレベル(=
個々のプロセツサのレベル)において、あらゆる
種類の使用可能状態を包含する所与のトランザク
シヨンに関するサブタスクのステータスを、マイ
クロプロセツサの制御の下にメモリ26の内部に
更新し、そして制御ロジツク28によつてバツフ
ア・システムにロツクするということが行なわれ
る。7種類の異なつた作動可能状態のうちの1つ
を用いることによつて、エントリをメモリ26の
異なつた専用部分から好適に取出すことができる
ようになつている。ネツトワークから問合せを受
取つたならば、プロセツサのステータスの通信が
行なわれて(即ち「セマフオ」が読出されて)、
それに対する優先権の判定がネツトワークの中で
行なわれ、その際、完了の程度の最も低いレデイ
ネス状態が優先権を得るようになつている。以上
の構成によつて、1つの問合せに対する全てのプ
ロセツサからの迅速なハードウエア的応答が得ら
れるようになつている。従つて所与のタスクに関
する分散された複数のサブタスクの全てが実行完
了されているか否かについて、遅滞なく、且つソ
フトウエアを用いることなく、知ることができ
る。更にこのシステムでは、通信を行なうプロセ
ツサ・モジユールのいずれもがトランザクシヨ
ン・ナンバの割当てを行なえるようになつてお
り、このトランザクシヨン・ナンバ割当ては、使
用可能な状態にあるトランザクシヨン・ナンバ
を、メツセージに使用し或いは各々の大域的セマ
フオ・バツフア・システム内において使用するた
めに割当てる動作である。 以上の、トランザクシヨンのアイデンテイテイ
とステータス表示とを統合した形で使用するとい
うことの好適な具体的態様には、複数のプロセツ
サの各々が所与の判定基準に関わる全てのメツセ
ージを順序正しく送出することを要求されるよう
にした、複合的マージ動作がある。もし従来技術
に係るシステムであれば、先ず各々のプロセツサ
が自身のタスクを受取つてその処理を完了し、然
る後にその処理の結果を、最終的なマージ動作を
実行するある種の「マスタ」プロセツサへ転送す
るという方式を取らねばならないであろう。従つ
てそのマスタプロセツサが、そのシステムの効率
に対する重大なネツクとなるわけである。 大域的レデイネス状態が、作用が及ぶプロセツ
サの全ての準備のできた状態にあるということを
確証したならば、夫々のプロセツサに備えられた
メモリ26における最高の優先順位を有するメツ
セージが互いに同時にネツトワークへ送出され、
そしてそれらのメツセージに対しては、前述の如
く、マージが行なわれる間に優先権の判定がなさ
れる。幾つものグループのメツセージについて
次々と再送信の試みがなされ、その結果、複数の
メツセージを当該トランザクシヨン・ナンバに関
優先順位の高いものから低いものへと順に並べ、
その最後には最低の優先順位のものがくるように
した、シリアルなメツセージ列が発生される。特
別のコマンド・メツセージに従つて、このシステ
ムは、マージ動作をその途中で停止することと途
中から再開することとが可能とされており、その
ため、互いに同時刻に実行の途中にある複数のマ
ージ動作が、このネツトワーク50を共有してい
るという状態が存在し得るようになつており、そ
れによつてこのシステムの資源を極めて有効に利
用することが可能となつている。 従つて、いかなる時刻においても、このネツト
ワーク50に接続されている動作中のプロセツサ
の全てが、様々なトランザクシヨン・ナンバに関
係した複数のメツセージに関する動作を互いに非
同期的に実行していられるようになつている。1
つのステータス問合せによつて同一のトランザク
シヨン・ナンバ即ち「現在」トランザクシヨン・
ナンバの参照が行なわれたなら、全てのプロセツ
サが、用意されているステータス・レベルのうち
の1つをもつて互いに同期して応答を行なう。例
を挙げると、「マージ開始(START MERGE)」
メツセージは、ある特定のトランザクシヨン・ナ
ンバによつて指定される大域的セマフオのテスト
(=調査)を行なわせ、もしこのテストの結果得
られた大域的状態が「準備完了」状態であれば
(即ち「送信準備完了(SEND READY)」また
は「受信準備完了(RECEIVE READY)」のい
ずれかび状態であれば)、現在トランザクシヨ
ン・ナンバ(present transaction number:
PTN)の値がこの「マージ開始」メツセージに
含まれて伝送されたTNの値に等しくセツトされ
る。(もしテストの結果得られた大域的状態が
「準備完了」状態でなかつたならば、PTNの値は
「TN0(これはトランザクシヨン・ナンバ(TN)
が「0」であるという意味である)」という値に
戻されることになる)。 更には「マージ停止(STOP MERGE)」メツ
セージも、現在トランザクシヨン・ナンバを
「0」にリセツトする。このようにして「TN0」
は、ある1つのプロセツサから他の1つのプロセ
ツサへのメツセージ(ポイント・ツー・ポイン
ト・メツセージ)のために使用される「デイフオ
ルト」値のトランザクシヨン・ナンバとして利用
されている。別の言い方をすれば、この「TN0」
によつて、「ノン・マージ(non−merge)」モー
ドの動作が指定されるのである。 この大域的相互通信システムは、メツセージの
構成については第3A、第3B、第3C、及び第
11図に示されているものを、また、高速ランダ
ム・アクセス・メモリ26の構成については第8
図及び第10図に示されているものを採用してい
る。更に詳細な説明は、後に第5、第7、第9、
及び第13図に関連させて行なうことにする。 第3A〜第3C図及び第11図から分るよう
に、応答に用いられるコマンド・コードは00から
0F(16進数)までであり、また、プライマリ・メ
ツセージに用いられるコマンド・コードは10(16
進数)からより大きな値に亙つている。従つて応
答はプライマリ・メツセージに対して優先し、第
11図に示した並べ順では最小の値が先頭にくる
ようにしてある。 高速RAMメモリ26″(第8図)の内部の1
つの専用格納領域(同図において「トランザクシ
ヨン・ナンバ」と書かれている領域)が、第12
図のワード・フオーマツト(前述の7種類のレデ
イネス状態、TN割当済状態、並びにTN非割当
状態)を格納するために使用されている。このメ
モリ26″のその他の複数の専用部分のなかには、
入力(受信メツセージ)のための循環バツフア
と、出力メツセージのための格納空間とが含まれ
ている。このメモリ26″のもう1つの別の分離
領域がメツセージ完了ベクトル領域として使用さ
れており、この領域は、送信完了した出力メツセ
ージにポインタを置くことができるようにするも
のであり、これによつて、出力メツセージの格納
空間を有効に利用できるようになつている。 以上から理解されるように、メモリ26及び制
御ロジツク28については、それらのキユーイン
グ(queuing)機能並びにデータ・バツフアリン
グ機能は確かに重要なものであるが、それらと共
に、大域的トランザクシヨンを個々のプロセツサ
に関して分散させて処理するところの多重共同動
作が独特の重要性を有するものとなつている。 (能動ロジツ・ノード) 冗長性をもつて配設されている2つのネツトワ
ークのいずれにおいても、第1図の複数の能動ロ
ジツク・ノード54は夫々が互いに同一の構成と
されているが、ただし例外として、各ネツトワー
クの頂点にある方向反転ノード54だけは、上流
側ポートを備えず、その替わりに、下流方向へ方
向反転するための単なる信号方向反転経路を備え
ている。第4図に示すように、1個のノード54
を、機能に基づいて2つのグループに大きく分割
することができる。それらの機能的グループのう
ちの一方メツセージと並びにコリジヨン信号(衝
突番号)の伝送に関係するものであり、他方は共
通クロツク信号の発生並びに再伝送に関係するも
のである。クロツク信号に対しては、異なつたノ
ードにおける夫々のクロツク信号の間にスキユー
が存在しないように、即ちゼロ・スキユーとなる
ように、同期が取られる。以上の2つの機能グル
ープは互いに独立したものではなく、その理由
は、ゼロ・スキユー・クロツク回路が信号伝送シ
ステムの重要な部分を形成しているからである。
ワード・クロツク(シリアルな2つのバイトから
なる)とバイト・クロツクとの両方が用いられ
る。ここで特に述べておくと、この能動ロジツ
ク・ノード54の状態を設定ないしリセツトする
際にも、また、異なつた動作モードを設定する際
にも、この能動ロジツク・ノード54を外部から
制御する必要はなく、また実際にそのような制御
が行なわれることはない。更には、夫々のノード
54が互いに同一の構造であるため、最近のIC
技術を使用してそれらのノードを大量生産するこ
とが可能であり、それによつて、信頼性を向上さ
せつつ、かなりのコストの低下を実現することが
できる。 先に言及したA,B及びCの夫々の「ポート」
は、その各々が10本の入力データ・ラインと10本
の出力データ・ラインとを備えている。例えばA
ポートでは、入力ラインはAで表わされ、出力
ラインはA0で表わされている。各々のポート毎
に、上流方向クロツク・ライン及び下流方向クロ
ツク・ラインと共に、1本の「コリジヨン」ライ
ン(即ち「衝突」ライン)が用いられている(例
えばAポートにはAcolが用いられている)。Aポ
ート及びBポートの夫々のデータ・ラインはマル
チプレクサ60に接続されており、このマルチプ
レクサ60は、互いに競合する2つのワードのう
ちの優先する方のワード、或いは(それらの競合
ワードが互いに同一の場合には)その共通ワード
を、データ信号C0として、上流側ポート(Cポ
ート)に接続されているアツプ・レジスタ62へ
スイツチングして接続する。これと同時に、より
高位の階層のノードから送出されてCポートで受
取られた下流方向データが、ダウン・レジスタ6
4内へシフト・インされ、そしてそこからシフ
ト・アウトされて、Aポート及びBポートの両方
に出力として発生する。 バイトからなるシリアルな上流方向への信号列
のうちの一方はブロツクされ得るわけであるが、
しかしながらそれによつて上流方向ないし下流方
向への余分な遅延が発生することはなく、そして
複数のワードが、ワード・クロツク並びにバイ
ト・クロツクの制御の下に、切れ目のない列を成
して、アツプ・レジスタ62及びダウン・レジス
タ64を通して進められて行くのである。 Aポート及びBポートへ同時に供給された互い
に競合するバイトどうしは、第1及び第2のパリ
テイ検出器66,67へ送られると共に比較器7
0へも送られ、この比較器70は、8個のデータ
ビツトと1個の制御ビツトとに基づいて、最小の
値のデータ内容が優先権を得るという方式で優先
権の判定を行なう。この優先権判定のためのプロ
トコルにおいては、「アイドル」信号、即ちメツ
セージが存在していないときの信号は、とぎれる
ことなく続く「1」の列とされている。パリテ
イ・エラーは、例えば過剰な雑音の存在等の典型
的な原因や、その他の、信号伝送ないし回路動作
に影響を与える何らかの要因によつて生じ得るも
のである。しかしながら本実施例のシステムにお
いては、パリテイ・エラー表示は、更に別の重要
な用途のためにも利用されている。即ち、あるマ
イクロプロセツサが動作不能状態へ移行すると、
その移行がそのたび毎にマーキングされ、このマ
ーキングは、パリテイ・ラインを含めた全ての出
力ラインが高レベルになる(即ちその値が「1」
になる)ことによつて行なわれ、従つてそれによ
つて奇数パリテイ・エラー状態が発生されるよう
になつている。このパリテイ・エラー表示は、1
つのエラーが発生したならネツトワーク内を「マ
ーカ(marker)」として伝送され、このマーカに
よつて、システムは、大域的資源に変化が生じた
ことを識別すると共にその変化がどのようなもの
かを判定するためのプロシージヤを開始すること
ができるようになつている。 1対のパリテイ検出器66,67と比較器70
とは、信号を制御回路72へ供給しており、この
制御回路72は、優先メツセージ・スイツチング
回路74を含み、また、優先権の判定がなされた
ならば比較器70の出力に応答してマルチプレク
サ60を2つの状態のうちのいずれかの状態にロ
ツクするように構成されており、更に、下流方向
へのコリジヨン信号を発生並びに伝播するように
構成されている。移行パリテイ・エラー伝播回路
76の名前のいわれは、この回路が、先に説明し
た同時に全てのラインが「1」とされるパリテ
イ・エラー状態をネツトワークの中に強制的に作
り出すものだからである。リセツト回路78はこ
のノードを初期状態に復帰させるためのものであ
り、エンド・オブ・メツセージ(end of
message:EOM)検出器80を含んでいる。 以上に説明した諸機能並びに後に説明する諸機
能が実行されるようにするためには、各々の能動
ロジツク・ノードにおいてマイクロプロセツサ・
チツプを使用してそれらの機能を実行するように
しても良いのであるが、しかしながら、第5図の
状態図と以下に記載する論理式とに従つてそれら
の機能が実行されるようにすることによつて、更
に用意に実行することが可能となる。第5図の状
態図において、状態S0はアイドル状態を表わす
と共に、互いに競合しているメツセージどうしが
同一であるために、一方のポートを他方のポート
に優先させる判定が下されていない状態をも表わ
している。S1状態及びS2状態は夫々、Aポート
が優先されている状態及びBポートが優先されて
いる状態である。従つて、Bのデータ内容がA
のデータ内容より大きく且つAにパリテイ・
エラーが存在していない場合、または、Bにパ
リテイ・エラーが存在している場合(これらのA
にパリテイ・エラーが存在していないという条
件と、BIにパリテイ・エラーが存在していると
いう条件とは、夫々、及びBIPEと表記さ
れ、フリツプ・フロツプの状態によつて表わされ
る)には、Aポートが優先されている。AとB
とに関して以上と逆の論理状態(論理条件)
は、この装置がS2状態へ移行すべき状態(条件)
として存在するものである。より高位の階層のノ
ードから、その階層において衝突が発生した旨の
表示が発せられたならば、その表示は、下流方向
信号の中に入れられてCOLNとして送り返さ
れてくる。この装置は、それがS0状態、S1状態、
及びS2状態のうちのいずれの状態にあつた場合
であつてもS3状態へと移行し、そしてこのコリ
ジヨン信号を下流方向へAcol及びBcolとして転
送する。S1状態ないしS2状態にあるときには、
このノードは既に判定を下しているため、同様の
方式でコリジヨン信号が下流方向へ、より低位の
階層の(2つの)ノードへと送出されており、こ
のとき、優先メツセージスイツチング回路74
は、状況に応じてAポート或いはBポートにロツ
クされている。 リセツト回路78はEOM検出器80を含んで
おり、この検出器80を用いて、ノードのS3か
らS0へのリセツト(第5図)が行なわれる。第
1のリセツトモードは、第6図に示すようにプラ
イマリ・メツセージの中のデータ・フイールドを
終結させているエンド・オブ・メツセージ
(EOM)フイールドを利用するものである。1つ
のグループを成す複数のフリツプ・フロツプと複
数のゲートとを用いて、次式の論理状態が作り出
される。 URINC・URC・URCDLY ここで、URCはアツプ・レジスタの中の制御
ビツトを表わし、URINCはこのアツプ・レジス
タへ入力される入力信号の中の制御ビツトの値を
表わし、そしてURCDLYはアツプ・レジスタ遅
延フリツプ・フロツプ内のC値(=制御ビツトの
値)を表わしている。 第6図に示すように、制御ビツトの列の中の、
連続する2個のビツトを1組としたビツト対(ビ
ツト・ペア)が、ある種のフイールドを明示する
と共に、1つのフイールドから次のフイールドへ
の移行を明示するようにしてある。例を挙げる
と、アイドル時に用いられる「1」のみが続く制
御ビツト状態から、「0、1」のビツト・シーケ
ンス(=ビツト対)への移行は、フイールドの開
始を明示するものである。この、「0、1」のシ
ーケンスは、データ・フイールドの開始を識別す
るのに用いられる。これに続く「1、0」の制御
ビツトのストリング(列)は、内部フイールドな
いしはサブフイールドを表示しており、またエン
ド・オブ・メツセージ(EOM)は「0、0」の
制御ビツト対によつて識別される。「1、0」の
ビツト対のストリングのあとに「0、0」のビツ
ト対がくる状態は、他にはない状態であり、容易
に識別することができる。URINC信号、URC信
号、及びURCDLY信号はまとめてアンド(論理
積)をとられ、これらの各々の信号は互いにバイ
ト・クロツク1つ分づつ遅延した関係にある。そ
れらのアンドをとつた結果得られる信号の波形
は、メツセージ・パケツトが始まるまでは高レベ
ルで、この開始の時点において低レベルに転じ、
そしてこのデータ(=メツセージ・パケツト)が
続いている間、低レベルにとどまる波形である。
この波形は、EOMが発生されてからバイト・ク
ロツク2つ分が経過した後に、高レベルへ復帰す
る。この、波形URINC・URC・URCDLYが正
に転じる遷移によつて、EOMが検出される。第
5図に付記されているように、この正遷移によつ
てS1またはS2からS0への復帰動作がトリガされ
るものである。 より高位の階層のノードがリセツトされると、
それによつて状態となり、これは衝突
状態が消失したことを表わす。この論理状態は、
S3から基底状態であるS0への復帰動作を開始さ
せる。注意して頂きたいことは、この
状態は、エンド・オブ・メツセージがネツトワー
ク50の階層を次々と「走り抜けて」いくのにつ
れて、下方へ、それらの階層へ伝播していくとい
うことである。以上のようにして、各々のノード
はメツセージの長さの長短にかかわらず自己リセ
ツトできるようになつている。更に注意して頂き
たいことは、ネツトワークの初期状態の如何にか
かわらず、アイドル信号が供給されたならば全て
のノードがS0状態にリセツトされるということ
である。 コリジヨン信号は複数のプロセツサ・モジユー
ルにまで戻される。それらのモジユールはこのコ
リジヨン状態情報を記憶し、そしてアイドル・シ
ーケンスを送信する動作へと復帰し、このアイド
ル・シーケンスの送信は競合において勝利を得た
プロセツサが送信を続けている間中行なわれてい
る。プロセツサは、COLNからへの
遷移を検出し次第、新たな送信を開始することが
できるようにされている。更にこれに加えて、プ
ロセツサは、Nをネツトワーク内の階層の数とす
るとき、2N個のバイト・クロツクの時間に亙つ
てアイドル信号を受信し続けたならば新たな送信
を開始することができるようにされており、それ
は、このような状況もまた、前者の状況と同じ
く、先に行なわれた送信がこのネツトワーク内に
残つてはいないということを表わすものだからで
ある。これらの新たな送信を可能にするための方
式のうちの後者に依れば、初めてネツトワークに
参加するプロセツサが、トラフイツクさえ小さけ
ればネツトワークとの間でメツセージ同期状態に
入ることができ、そのためこの初参加のプロセツ
サは、このネツトワーク上の他のプロセツサとの
間の相互通信を開始する際して、別のプロセツサ
からのポーリングを待つ必要がない。 パリテイ・エラー状態は第5図の状態図の中に
に記されているが、次の論理式に従つて設定され
るものである。 PESIG=AIPE・+BIPE・
BIPEDLY このPESIGの論理状態が真であるならば、ア
ツプ・レジスタへの入力信号URINは、(URIN
0……URIN 7、C、P=1……1、1、1)
である。上の論理式を満足するために、移行パリ
テイ・エラー伝播回路76は、AIPE用、即ちA
入力のパリテイ・エラー用フリツプ・フロツプ
と、遅延フリツプ・フロツプ(AIPEDLY)とを
含んでいる。後者のフリツプ・フロツプは、
AIPEの設定状態に従つて、それよりバイト・ク
ロツク1つ分遅れて状態を設定される。従つてA
入力に関して言えば、AIPE用フリツプ・フロツ
プがパリテイ・エラーによつてセツト状態とされ
たときに、PESIG値がバイト・クロツク1つ分
の間ハイ・レベルとなり、そのため、この
PESIG信号はパリテイ・エラーの最初の表示が
なされたときに1回だけ伝播されるわけである。
複数のデータ・ビツト、制御ビツト、並びにパリ
テイ・ビツトの全てが「1」の値であるときにも
それと同じ状態が生じるが、それは、大域的資源
の状態についての先に説明した移行が発生したと
きに生じる状態である。それによつて全てのライ
ンがハイ・レベルに転じ、全てが「1」の状態を
強制的に作り出されて総数偶数状態(奇数パリテ
イ状態)が確立され、その結果、先に説明した状
態にAIPEフリツプ・フロツプとAIPEDLYフリ
ツプ・フロツプとがセツトされてパリテイ・エラ
ーを表示するようになる。以上の構成は、Bポー
トで受取つたメツセージ・パケツトがパリテイ・
エラー、或いはステータスの変化を表示するため
の強制的パリテイ表示を含んでいる場合にも、同
様の方式で動作する。 雑音の影響やその他の変動要素に起因して発生
するパリテイ・エラーは、通常は、プロセツサの
動作に影響を及ぼすことはなく、その理由は、冗
長性を有する二重のネツトワークを用いているか
らである。監視(モニタ)や保守のためには、イ
ンジケータ・ライト(=表示灯:不図示)を用い
てパリテイ・エラーの発生を表示するようにす
る。ただし、ステータスの変化を示す1回のみ伝
播するパリテイ・エラーについては、それによつ
て、その変化の重要性を評価するためのルーチン
が開始される。 第4図に示すようにこのノード54に使用され
ているクロツキング・システムは、ネツトワーク
内に用いられている階層の数にかかわらず、全て
のノード要素におけるクロツクとクロツクとの間
のスキユー(skew)がゼロとなるようにするた
めの、即ちゼロ・スキユー状態を保守するため
の、独特の手段を提供するものである。クロツク
回路86は、第1及び第2の排他的ORゲート8
8,89を含んでおり、夫々AとBで示されてい
るそれらの排他的ORゲートの出力は、加算回路
92によつて、それらの間に減算(即ち「B−
A」の演算)が行なわれるように結合されてお
り、この加算回路92の出力は、低域フイルタ9
4を通された後に、フエーズ・ロツク・ループで
ある発振器(PLO)96から送出される出力の
位相を制御している。第1の排他的ORゲート8
8への入力は、このPLO96の出力と、隣接す
るより高位の階層のノード要素から絶縁駆動回路
97を介して供給される下流方向クロツクとであ
る。このクロツクのラインには「ワード・クロツ
ク」と記されており、このワード・クロツクは、
隣接するより高位の階層から既知の遅延τの後に
得られるものであり、そしてこの同じクロツク信
号が、もう1つの絶縁駆動回路98を介して、隣
接するより高い階層のそのノードへ返されるよう
になつている。第2の排他的ORゲート89への
入力は、このワード・クロツクと、隣接するより
低位の階層からのクロツク・フイードバツクとか
ら成り、この低位の階層も同様に、このPLO9
6から信号を受取つている。 上記のワード・クロツク・ラインは、第3の排
他的ORゲート100の2つの入力へ接続されて
おり、それら両方の入力は、直接的に接続されて
いるものと、τc遅延線101を介して接続されて
いるものとである。これによつて、ワード・クロ
ツクの2倍の周波数をもち、このワード・クロツ
クに対してタイミングの合つた、バイト・クロツ
ク信号を得ている。 以上のクロツク回路86の作用は、第7図のタ
イミング・ダイアグラムを参照すればより良く理
解できよう。クロツク・アウト信号(クロツク出
力信号)は、PLO96の出力である。このクロ
ツキング・システムの最大の目的は、ネツトワー
ク内の全てのノードに関するクロツク出力信号ど
うしの間にゼロ・タイム・スキユー状態を保持す
ることにあるのであるから、当然のことながら、
それらのクロツク出力信号どうしはその公称周波
数もまた互いに同一でなければならばい。ノード
間の伝送ラインによる遅延τは、略々一定の値に
なるようにするが、この遅延の値それ自体は長い
時間に設定することも可能である。ここに開示し
ている方法を採用するならば、ネツトワーク並び
にノードのバイト・クロツク速度を実機システム
において採用されている速度(公称120ns)とし
た場合に、28フイート(8.53m)もの長さにする
ことが可能である。当業者には容易に理解される
ように、可能最大個数のプロセツサ・モジユール
が目いつぱいに実装されているのではないネツト
ワークには、更に階層を付加することによつて、
この28フイートの整数倍の長さを容易に得ること
ができる。その場合、それに対応して待ち時間、
即ちそのネツトワークを通して行なわれる伝送の
伝送時間は増大する。 第7図中のクロツク・アウト信号のすぐ下の波
形によつて示されているように、隣接するより高
位の階層から得られるワード・クロツクはクロツ
ク・アウト信号と同じような波形であるが、ただ
しτだけ遅れている。このワード・クロツクが、
全てのノードに共通する根本的タイミング基準を
成すのであるが、そのようなことが可能であるの
は、個々のクロツク・アウト信号の前縁をその回
路の内部で制御することができ、そしてそれらの
前縁をワード・クロツクに先行させることによつ
て、全てのノードが同期した状態に保持されるよ
うにすることができるからである。波形A及び波
形Bを参照すると分るように、第1のORゲート
88が発生するパルスAは、ワード・クロツクの
前縁の位置で終了しており、一方、第2のORゲ
ート89が発生するパルスBは、その前縁がワー
ド・クロツクの前縁と一致している。このBパル
スの後縁は、隣接するより低位の階層のモジユー
ルからのフイードバツク・パルスの開始の位置に
定められ、このフイードバツク・パルスはτだけ
遅延しているため、Bパルスはその持続時間が一
定となつている。クロツク回路86は、パルスA
の持続時間をパルスBの持続時間と同一に保持す
るように作用するが、そのように作用する理由
は、PLO96の位相を進めて同期状態が確立さ
れるようにするにつれて、加算回路92の出力信
号(減算「B−A」を行なつた信号)がゼロへ近
付いて行くからである。実際には、破線で示され
ているように好適な位置より先行していることも
遅れていることもあるA信号の前縁に対して調節
を加えて、このA信号の前縁がワード・クロツク
の前縁より時間τだけ先行する位置にくるように
する。全てのノードにおいて、クロツク・アウト
信号の前縁がこの好適公称位置に位置するように
なれば、ワード・クロツクどうしの間にゼロ・ス
キユー状態が存在することになる。従つてネツト
ワークに接続されている夫々のプロセツサは、あ
るプロセツサから別のプロセツサまでの経路の全
長に関する制約から解放されているが、それは、
遅延が累積することが無いということと、伝播時
間に差が生じないということとに因るものであ
る。 二倍周波数のバイト・クロツクを発生させるた
めに、遅延線101によつて、遅延時間τcだけ遅
れたワード・クロツクが複製されており、この遅
延線101もゲート100へ信号を供給してい
る。従つて、第7図中のバイト・クロツクと記さ
れている波形から分るように、ワード・クロツク
の前縁と後縁の両方の位置に、持続時間τcを有す
るバイト・クロツク・パルスが発生される。この
パルスの発生は、各々のワード・クロツクのイン
タバルの間に2回づつ生じており、しかも、全て
ノードにおいて、ワード・クロツクと同期して生
じている。以上の説明においては、ノードとノー
ドとの間の伝送ラインによつて発生される遅延は
階層から階層への伝送方向がどちら方向であつて
も殆ど同一であり、そのため、事実上、このシス
テム内の全てのワード・クロツク並びにバイト・
クロツクが、互いに安定な位相関係に保たれると
いうことを、当然の前提としている。従つて局所
的に(=個々のノードの内部で)発生されるバイ
ト・クロツクは、各々のノードにおいて、メツセ
ージの2バイト・ワード(=2個のバイトから成
るワード)の、その個々のバイトのためのクロツ
キング機能を提供している。 以上の能動ロジツク・ノードは、同時に送出さ
れたメツセージ・パケツトどうしの間の競合をそ
のデータ内容に基づいて決着させるようにしてい
る場合には常に、潜在的な利点を有するものであ
る。これに対し、例えば、1981年2月17日付で発
行された米国特許第4251879号公報「デジタル通
信ネツトワークのための速度非依存型アービタ・
スイツチ(Speed Independent Arbiter Switch
for Digital Communication Nbiworks)」に示
されているものをはじめとする、大多数の公知に
システムは、時間的に最初に受信された信号がど
れであるのかを判定することを目指しており、外
部に設けた処理回路または制御回路を使用するも
のとなつている。 (プロセツサ・モジユール) 第1図の、システム全体の概略図の中に図示さ
れている個々のプロセツサは、夫々、インターフ
エイス・プロセツサ(IFP)14及び16と、ア
クセス・モジユール・プロセツサ(AMP)18
〜23の具体例として示されており、また、これ
らのプロセツサは、大まかに複数の主要要素に再
区分してある。これらのプロセツサ・モジユール
(IFP及びAMP)の構成についての更に詳細な具
体例は、第1図の機能的な大まかな再区分との間
に対応関係を有するものとなるが、ただしそれば
かりでなく、かなり多くの更なる再区分をも示す
ものとなる。本明細書で使用するところの「プロ
セツサ・モジユール」なる用語は、第8図に図示
されているアセンブリの全体を指すものであり、
このアセンブリは、以下に説明する任意選択の要
素を備えることによつて、IFP或いはAMPのい
ずれかとして機能することができるようになる。
また、「マイクロプロセツサ・システム」という
用語は、マイクロプロセツサ105を内蔵したシ
ステム103を指すものであり、ここでマイクロ
プロセツサ105は、例えば、インテル8086型
(Intel 8086)16ビツト・マイクロプロセツサ等
である。このマイクロプロセツサ105のアドレ
ス・バス並びにデータ・バスは、マイクロプロセ
ツサ・システム103の内部において、例えばメ
インRAM107等の一般的な周辺システム、並
びに周辺機器コントローラ109に接続されてい
る。この周辺機器コントローラ109は、プロセ
ツサ・モジユールがAMPでありしかも周辺機器
がデイスク・ドライブ111である場合に用い得
るものの一例として示すものである。これに対し
て、このプロセツサ・モジユールをIFPとして働
かせる場合には、破線で描いた長方形の中に示さ
れているように、このコントローラ即ちインター
フエイスを、例えばチヤネル・インターフエイス
に取り替えれば良い。そのような具体例のIFP
は、ホスト・システムのチヤネル即ちバスとの間
の通信を行なうものとなる。このマイクロプロセ
ツサ・システム103には従来の一般的なコント
ローラやインターフエイスを用いることができる
ので、それらのコントローラやインターフエイス
については更に詳細に説明する必要はない。 1つのマイクロプロセツサ毎に1台のデイス
ク・ドライブを用いることが費用と性能の両方の
面において有利であるということを示し得ること
に注目すべきである。そのような方式が有利であ
るということは、データベースに関しては一般的
に言えることであるが、ただし、ときには、1つ
のマイクロプロセツサが複数の二次記憶装置にア
クセスできるようにマイクロプロセツサを構成す
ることが有益なこともある。概略図においては、
図を簡明にするために、その他の通常用いられて
いるサブシステムが組み込まれている点について
は図示省略してある。この省略されたサブシステ
ムは例えば割込みコントローラ等であり、割込み
コントローラは、半導体を製造しているメーカー
が自社製のシステムに組み合わせて使用するため
に供給しているものである。また、本発明が提供
し得る冗長性と信頼性とを最大限に達成すること
のできる、プロセツサ・モジユールへ電源を供給
するために適切な手段を、講じることの重要性に
ついても当業者には理解されよう。 マイクロプロセツサ・システム103における
任意選択要素として示されている周辺機器コント
ローラ109とチヤネル・インターフエイスと
は、第1図中のIFPインターフエイスとデイス
ク・コントローラとに相当するものである。これ
に対して第1図の高速RAM26は、実際には、
第1のH.S.RAM26′と第2のH.S.RAM26″
とから成つており、それらの各々は、タイム・マ
ルチプレクシング(時間多重化)によつて、機能
の上からは事実上の3−ポート・デバイスとされ
ており、それらのポートのうちの1つ(図中に
「C」と記されているポート)を介してマイクロ
プロセツサのバス・システムと接続されている。
H.S.RAM26′,26″の各々は、夫々に第1な
いし第2のネツトワーク・インターフエイス12
0,120′と協働し、それによつて、夫々が第
1及び第2のネツトワーク50a及び50b(こ
れらのネツトワークは第8図には示されていな
い)と、入力(受信)ポートA及び出力(送信)
ポートBを介して通信を行なうようになつてい
る。このように互いに冗長性を有する2つのシス
テムとなつているため、第2のネツトワーク・イ
ンターフエイス120′と第2のH.S.RAM2
6″を詳細に説明するだけで良い。ネツトワー
ク・インターフエイス120,120′について
は第13図に関連して更に詳細に示され説明され
ているが、それらは、大きく再区分するならば以
下の4つの主要部分に分けることができる。 第2のネツトワーク50bからの10本の入力ラ
インを、インターフエイス・データ・バス並びに
インターフエイス・アドレス・バスを介してH.
S.RAM26″のAポートへ接続している、入力レ
ジスタ・アレイ/コントロール回路122。 第2のネツトワーク50bへの出力ラインを、
インターフエイス・データ・バス並びにインター
フエイス・アドレス・バスと、第2のH.S.RAM
26″のBポートとへ接続している、出力レジス
タ・アレイ/コントロール回路124。 インターフエイス・アドレス・バス並びにイン
ターフエイス・データ・バスと、H.S.RAM2
6″のAポート並びにBポートとへ接続された、
マイクロプロセツサ・バス・インターフエイス/
コントロール回路126。 ネツトワークからワード・クロツクを受取り、
そして、インターフエイス120′を制御するた
めの互いに同期し且つ適切な位相関係にある複数
のクロツクを発生する、クロツク発生回路12
8。 第2のネツトワーク・インターフエイス12
0′とH.S.RAM26″とは、マイクロプロセツ
サ・システム103と協働することによつて、高
速で動作するネツトワークとそれと比較してより
低速で動作するプロセツサとの間のデータ転送を
コーデイネートしており、また更に、それらの異
なつたシステム(=ネツトワーク・システムとプ
ロセツサ・システム)の間で交換されるメツセー
ジの、待ち行列を作る機能も果たしている。マイ
クロプロセツサ・バス・インターフエイス/コン
トロール回路126は、マイクロプロセツサ・シ
ステムと協働して(読出し/書込み機能:R/W
機能)を実行するためのものであると言うことが
でき、このマイクロプロセツサ・システムは(少
なくともそれがインテル8086型である場合には)
H.S.RAM26″に直接データを書込む能力と、
このH.S.RAM26″からデータを受取る能力と
を備えている。 IFPの構造とAMPの構造とは、その作用に関
しては互いに類似したものであるが、しかしなが
ら、H.S.RAM26″の内部の入力メツセージ格
納領域の大きさと出力メツセージ格納領域の大き
さとに関しては、IFPとAMPとの間に相当の差
異が存在することがある。リレーシヨナル・デー
タベース・システムにおいては、IFPは、ネツト
ワークを絶えず利用してホスト・コンピユータの
要求を満たせるようにするために、H.S.RAM2
6″の内部に、高速ネツトワークから新たなメツ
セージを受取るための、大きな入力メツセージ格
納空間を備えている。AMPについてはこれと逆
のことが言え、それは、高速ネツトワークへ送出
される処理済メツセージ・パケツトのために、よ
り多くの格納空間が使用できるようになつていな
ければならないからである。H.S.RAM26″は
マイクロプロセツサ・システム103の中のメイ
ンRAM107と協働しての動作も行ない、この
メインRAM107は各々のネツトワークのため
のメツセージ・バツフア・セクシヨンを備えてい
る。 マイクロプロセツサ・システム103のため
の、メインRAM107内部のシステム・アドレ
ス空間の割当ての態様は第9図に示されており、
それについて簡単に説明しておく。一般的な方式
に従つて、ランダム・アクセスのための記憶容量
が増加された場合に使用される拡張用の空間を残
すようにしてシステム・ランダム・アクセス機能
に割当てられたアドレスと、I/Oアドレス空間
と、ROM及びPROM(EPROMを含む)の機能
のために割当てられたアドレス空間とを有するも
のとなつている。更に、システム・アドレス空間
のうちの幾つかの部分が、夫々、第1及び第2の
高速RAM26′,26″から送られてくるメツセ
ージ・パケツトと、それらの高速RAMへ送り出
されるメツセージ・パケツトのために割当てられ
ている。これによつてシステムの動作に非常な融
通性が得られており、それは、マイクロプロセツ
サ105がH.S.RAM26″をアドレスすること
が可能であるようにしても、メインRAM107
の働きによつて、ソフトウエアとハードウエアと
の相互依存性に殆ど拘束されないようにできるか
らである。 再び第8図を関して説明するが、既に述べたよ
うに、2つの方向からアクセスすることのできる
H.S.RAM26″は、マイクロプロセツサ・モー
ドの制御、分散型の更新、並びにメツセージ・パ
ケツトの流れの管理における、中心的機能を実行
するように構成されている。これらの目的や更に
別の目的を達成するために、H.S.RAM26″は
複数の異なつた内部セクタに区分されている。第
8図に示されている様々なセクタの相対的な配置
の態様は、このシステムの中の個々のプロセツ
サ・モジユールの全てにおいて採用されているも
のであり、また、それらのセクタの境界を指定し
ている具体的なアドレスは、実際のあるシステム
において用いられているアドレスを示すものであ
る。ここで注意して頂きたいことは、これらのメ
モリ・セクタの大きさとそれらの相対的な配置と
は、具体的なシステムの状況次第で大きく変り得
るものだということである。図示例では16ビツト
のメモリ・ワードが採用されている。選択マツプ
及び応答デイレクトリは、初期設定の間に一度だ
け書込めば良いような種類の専用ルツクアツプ・
テーブルであり、一方、トランザクシヨン・ナン
バ・セクシヨンの方は、動的改定自在な(=動作
している間に何度も内容を変更することができる
ようにした)ルツクアツプ・テーブルを提供して
いる。 選択マツプのメモリ・セクシヨンはロケーシヨ
ン0から始まつているが、この具体例では、基本
的にこのメモリ・セクシヨンの内部において4つ
の異なつたマツプが使用されるようになつてお
り、それらのマツプは相互に関連する方式で利用
されるものである。メツセージ・パケツトの中に
内包されている転送先選択ワード(destination
selection word:DSW)が、H.S.RAM26″内
の専用の選択マツプと共同するようにして用いら
れる。この転送先選択ワードは、計16個のビツト
から成り、そしてそのうちの12個のビツト・ポジ
シヨンを占めるマツプ・アドレスとその他の4個
のビツトを占めるマツプ選択データとを含む1024
個の16ビツト・メモリ・ワードは、その各々が4
つのマツプ・アドレス値を含んでいる。DSWに
明示されているアドレス値に従つてH.S.RAMへ
1回のメモリ・アクセスを行なうだけで、4つの
全てのマツプについてのマツプ・ビツトが得ら
れ、その一方で、そのDSWに含まれているマツ
プ選択ビツトが、どのマツプを用いるべきかを決
定するようになつている。 第15図は、以上のマツプ・セクシヨンの概念
的な構造を示しており、同図においては、各々の
マツプがあたかも物理的に分離した4096×1ビツ
トのRAMから成るものであるかのように図示さ
れている。実施する際の便宜を考慮に入れれば、
第8図に示されているように、全てのマツプ・デ
ータがH.S.RAMの単一の部分に格納されるよう
にするのが便利である。DSW管理セクシヨン1
90(第13図)が、H.S.RAMの1個の16ビツ
ト・ワードから得られる第15図の4つのマツプ
の、その各々からの4個のビツトに対するマルチ
プレクシング動作を制御している。当業者には理
解されるように、この方式の利点は、H.S.RAM
のその他の部分をアクセスするのに用いられるの
と同じ手段を用いて、プロセツサがマツプを初期
設定できるという点にある。 更には、3つの異なつたクラス(分類)の転送
先選択ワードが使用され、またそれに対応して、
選択マツプの格納ロケーシヨンが、ハツシユ選択
部分、クラス選択部分、及び転送先プロセツサ識
別情報(destination processor identification:
DPID)選択部分に分割されている。このDPID
は、当該プロセツサ105が、そのメツセージ・
パケツトの転送先として意図された特定のプロセ
ツサであるか否かを明示するものである。これに
対して、クラス選択部分は、当該プロセツサが、
そのメツセージ・パケツトを受取るべき特定の処
理クラスに属する複数のプロセツサのうちの1つ
であるか否か、即ちそのプロセツサ・グループの
メンバーであか否かを明示するものである。ハツ
シユ値は、リレーシヨナル・データベース・シス
テムの内部にデータベースが分配される際の分配
方法に応じて格納されており、この分配方法は、
そのシステムに採用されている、特定のリレーシ
ヨンのためのアルゴリズム、並びに分散格納方式
に従つたものとなる。この具体例におけるハツシ
ユ値は、プロセツサの指定をするに際しては、そ
のプロセツサがそのデータに対して一次的な責任
とバツクアツプ用の責任とのいずれか一方をもつ
ものとして指定することができるようになつてい
る。従つて、以上の複数の選択マツプによつて、
H.S.RAM26″を直接アドレスして、プロセツ
サが転送先であるか否かを判断する、という方法
を取れるようになつている。この機能は、優先権
を付与されたメツセージを全てのネツトワーク・
インターフエイス120へブロードカストすると
いう方法と互いに相い補う、相補的な機能であ
り、そして割込みを行なうことなくマイクロプロ
セツサ105のステータスの局所的なアクセスが
できるようにしている機能でもある。 H.S.RAM26″の中の、他の部分からは独立
した1つのセクシヨンが、大域的に分散されてい
る諸活動のチエツク及び制御をするための中枢的
な手段しとて機能している。既に述べたように、
また第3図に示されているように、ネツトワーク
50bへ送出され、またこのネツトワーク50b
から受取る種々の処理の夫々に対しては、トラン
ザクシヨン・ナンバ(TN)が割当てられてい
る。メツセージの中にTNが内包されているの
は、各々のプロセツサ・システム103が自ら受
容したサブタスクを互いに独立して実行する際の
大域的なトランザクシヨン・アイデンテイテイ
(トランザクシヨン識別情報)とするためである。
H.S.RAM26″内の、複数の使用可能なトラン
ザクシヨン・ナンバのアドレスを格納するための
専用のブロツクが、それらのサブタスクを実行す
る際にマイクロプロセツサ・システム103によ
つて局所的に制御及び更新されるステータス・エ
ントリ(=ステータスについての記述項)を収容
している。TNは、相互通信機能が実行される際
に、局所的にもまた大域的にも、様々な異なつた
利用法で用いられる。トランザクシヨン・ナンバ
は、サブタスクを識別するため、データを呼出す
ため、コマンドを与えるため、メツセージの流れ
を制御するため、並びに大域的な処理のダイナミ
クスの種類を特定するために用いられる。トラン
ザクシヨン・ナンバは、大域的通信の実行中に割
当てたり、放棄したり、変更したりすることがで
きる。これらの特徴については以下の記載におい
て更に詳細に説明する。 TNの特徴のうち、最も複雑ではあるがおそら
く最も効果的な特徴と言えるのは、ソート・ネツ
トワーク(ソーテイング機能を有するネツトワー
ク)と協働することによつて、所与の制御処理に
関するローカル・プロセツサ(=個々のプロセツ
サ・モジユール)のステータスの分散型更新を可
能にするという、その能力である。各々の制御処
理(即ちタスクないしマルチプロセツサの活動)
はそれ自身のTNをもつている。 レデイネス状態(プロセツサがどのような動作
をする準備が整つているかの状態)の値が、H.
S.RAM26″のトランザクシヨン・ナンバ・セク
シヨンに保持されるようになつており、このレデ
イネス状態の値は、マイクロプロセツサ・システ
ム103の制御の下に局所的に(=個々のプロセ
ツサ・モジユールの内部で)変更される。マイク
ロプロセツサ・システム103は、第10図の応
答デイレクトリの中の適当なエントリ(例えば
SACK/Busy)(アドレスは「050D(16進数)」)
を初期設定することができ、そしてそれによつて
複製されたとおりのイメージを転送することによ
つて、このSACK/Busyのステータスの、H.S.
RAM26″への入力する。あるTNアドレス(=
トランザクシヨン・ナンバに対応する格納位置)
に入力されているエントリは、H.S.RAM26″
のAポート及びBポートを介して、そしてインタ
ーフエイス120′を経由して、ネツトワーク5
0bからアクセスすることが可能となつている。
問合せは、ステータス・リクエスト(ステータス
要求)のコマンド・コード(第11図参照)と
TNとを含む「ステータス・リクエスト」メツセ
ージを用いて行われる。インターフエイス12
0′は、指定されたTNのTNアドレスに格納され
ている内容を用いて、然るべきフオーマツトで書
かれた応答メツセージを格納している応答デイレ
クトリを参照する。所与のTNに関する大域的ス
テータス問合せを第2のネツトワーク・インター
フエイス120′が受取つたならば、それによつ
て、ハードウエア的な制御しか受けていない直接
的な応答が引き出される。前置通信は不要であ
り、また、マイクロプロセツサ・システム103
が割込みを受けたり影響を及ぼされたりすること
もない。しかしながら、「ロツク(lock)」表示が
インターフエイス120′へ転送されることによ
つてステータスの設定が行なわれた場合には、マ
イクロプロセツサ・システム103は割込みを禁
止し、またインターフエイス120′が、アドレ
ス「0501(16進数)」から得られるロツク・ワード
を、後刻その排除が行なわれるまで通信し続け
る。 レデイネス状態のワード・フオーマツトは、第
12図の「ビズイ(busy:動作実行中の状態)」
から「イニシヤル(initial:初期状態)」までの
7種類の状態で示され、この第12図は、実際の
あるシステムにおいて採用されている有用な一具
体例を図示している。レデイネス状態をより多く
の種類に分類するような変更例やより少ない種類
に分類する変更例も可能であるが、同図に示され
ている7種類の状態を用いることによつて、多く
の用途に適する広範な制御を行なうことができ
る。H.S.RAM26″の中の個々のTNの状態レベ
ル(=個々のTNアドレスに格納されているエン
トリが表わしているレデイネス状態のレベル)を
継続的に更新し、それによつて、サブタスクの利
用可能性やサブタスクの処理の進捗状況が反映さ
れるようにしておくことは、マイクロプロセツ
サ・システムの責任とされている。このような更
新は、第12図に示されたフオーマツトを用い
て、H.S.RAM26″内のTNアドレスに書込みを
行なうことによつて、容易に実行することができ
る。 第10図において、各々のステータス応答(状
態応答)は、「05」から「0D」(16進数)までの
ものについては、いずれもその先頭の部分がステ
ータス肯定応答コマンド・コード(status
acknowledgment command code:SACK)で
始まつている。ネツトワークへ送出されるそれら
のSACK応答は、実際には、第10図のコマン
ド・コードと、第12図のワード・フオーマツト
の数字部分と、発信元プロセツサID(OPID)と
から構成されており、これについては第11図に
示すとおりである。従つて、それらのSACK応答
は、第11図に示された総合的優先順位規約の内
部において、ひとまとまりの優先順位サブグルー
プを形成している。OPIDが優先順位規約に関し
て意味を持つているわけは、たとえば、複数のプ
ロセツサがある1つのTNに関して働いている
が、ただしそれらのいずれもが「ビズイ」状態に
あるという場合には、ブロードカストされる最優
先メツセージの判定がこのOPIDに基づいて行な
われることになるからである。転送並びにシステ
ムのコーデイネーシヨンも、このデータ
(OPID)に基づいて行うことができる。 SACKメツセージ(=SACK応答)に対して優
先順位規約が定められていることと、複数のマイ
クロプロセツサ・システム103から同時に応答
が送出されるようにしたことと、ネツトワーク5
0bにおいて動的に(=伝送を行ないながら)優
先権の判定が行なわれるようにしたこととによつ
て、従来のシステムと比較して、所与のタスクに
関する大域的資源のステータスの判定が、大幅に
改善された方法で行なわれるようになつている。
それによつて得られる応答は、一義性を持ち、規
定にない状態を表わすことは決してなく、更に
は、ソフトウエアを必要とせずローカル・プロセ
ツサ(=個々のプロセツサ・モジユール)に時間
を費消させることもない。従つて、例えばタスク
の実行を妨げる頻繁なステータス要求によつてデ
ツドロツクが生じてしまうようなことは決してな
い。様々なステータス・レベルにおいて、マルチ
プロセツサの多くの任意選択動作を利用すること
ができる。ローカル・プロセツサどうしが互いに
独立して動作を続けることができ、しかも単一の
問合せによつて、1つの、大域的な、優先権を与
えられた応答が引き出されるということは、かつ
てなかつたことである。 第12図に示されている一連の状態について、
ここで幾らか詳しく説明しておけば、理解に役立
つであろう。「ビズイ」状態と「ウエイテイング
(waiting:待ち)」状態とは、割当てられた、即
ち委任されたサブタスクに関して、次第により完
成に近い段階へとこれから進んで行くことになる
状態であり、「ウエイテイング」状態の方は、更
なる通信ないしイベントを必要としている状態を
表わしている。これらの「ビズイ」並びに「ウエ
イテイング」の状態は、TNのステータスがより
高いレベルへと上昇して行き、ついにはそのTN
に関するメツセージ・パケツトを送信ないし受信
できるステータス・レベルにまで到達するとい
う、レベル上昇の例を示すものである。 一方、メツセージ・パケツトを送信ないし受信
する際には、以上とはまた別のTNの特徴であ
る、メツセージ制御におけるTNの能力が発揮さ
れることになる。マイクロプロセツサ・システム
103が送信すべきメツセージをもつようになる
と、ステータス表示は「送信準備完了(send
ready)」に変る。マイクロプロセツサ・システ
ム103は、ステータス表示を更新することに加
えて、第12図のワード・フオーマツトを用いて
「ネクスト・メツセージ・ベクタ」の値をH.S.
RAM26″へ入力する。この入力されたエント
リは、該当する出力メツセージをH.S.RAM2
6″のどのロケーシヨンから取り出せば良いかを
明示するものである。このベクタは、ある特定の
TNに関係する複数の出力メツセージを1本につ
なげる(=チエーン(chain)する)ために、ネ
ツトワーク・インターフエイス120′において
内部的に使用されるものである。 以上の機能に関連した機能が、「受信準備完了
(receive ready)」状態の間に実行される。この
「受信準備完了」状態においては、TNの格納ロ
ケーシヨン(=TNアドレス)に、マイクロプロ
セツサ・システム103から得られる入力メツセ
ージ・カウント値が保持されるようになつてお
り、この入力メツセージ・カウント値は、所与の
TNに関連して受信することのできるメツセージ
の個数に関係した値である。このカウント値は、
入力メツセージが次々と転送されて来るのに合せ
てデクリメントされ、ついにはゼロになることも
ある。ゼロになつたならばそれ以上のメツセージ
を受取ることはできず、オーバラン(overrun)
状態の表示がなされることになる。以上のように
して、TNを利用してネツトワーク50bとマイ
クロプロセツサ・システム103との間の伝送の
速度を調節することができるようになつている。 局所的な(=個々のプロセツサについての)局
面について説明すると、個々のプロセツサにおい
ては、処理が実行されている間、TNは送信メツ
セージ及び受信メツセージの中に、システム全体
で通用する一定不変の基準として保持されてい
る。「TN0」状態、即ちデイフオルト状態は、メ
ツセージをノン・マージ・モードで用いるべきで
あるという事実を明示するための、局所的コマン
ドとしての機能をも果たすものである。 更に大域的な観点から説明すると、「TN0」
と、「TN>0」である種々の値とを、互いに異
なる性質のものとして区別することによつて、
TNを利用している複数のコマンド機能のうちの
1つのコマンド機能が規定されている。即ち、そ
のようにTNを区別することによつて、「マー
ジ/ノン・マージ」のいずれかを表わす特性記述
(キヤラクタライゼーシヨン)が各々のメツセー
ジ・パケツトに付随することになり、それによつ
て、複数のメツセージに対して優先権の判定とソ
ートとを行なうという、有力なシステムの動作方
式が得られているのである。同様に、「アサイン
ド(Assigned:割当てがなされている状態)」、
「アンアサインド(Unassigned:割当てがなされ
ていない状態)」、「非関与プロセツサ(Non−
Participant)」、並びに「イニシヤル」というス
テータスを用いて、大域的相互通信と制御の機能
が遂行されるようになつている。「アンアサイン
ド」状態は、それ以前にプロセツサがTNを放棄
した場合の状態であり、従つてそれは、TNを再
活性化させる新たなプライマリ・メツセージを受
取る必要がある状態である。もし状態表示が「ア
サインド」であるべきときにプロセツサが「アン
アサインド」を表示しているならば、これはTN
が適切に入力されなかつたということを示してい
るのであるから、訂正動作が実行されなければな
らない。もしTNが「アンアサインド」であるべ
きときに「アサインド」となつているならば、こ
れは、不完全な転送が行なわれているか、或いは
新たな1つのTNを求めて2つのプロセツサの間
で競合が行なわれていることの表われである場合
がある。これらの「アサインド」と「アンアサイ
ンド」とは、いずれもレデイネス状態としては扱
われず、その理由は、それらの表示がなされてい
る段階では、プロセツサは、まだそのTNに関す
る作業を始めていない状態にあるからである。 更には、「イニシヤル」状態と「非関与プロセ
ツサ」状態も、大域的資源の関係で重要である。
オン・ラインに入ろうとしているプロセツサ、即
ち、このシステムへの加入手続きを行なわなけれ
ばならないプロセツサは「イニシヤル」状態にあ
り、この態は、このプロセツサをオン・ラインへ
入れるためには管理上のステツプを踏む必要があ
ることを表わしている。所与のタスクに関して
「非関与プロセツサ」状態にあるプロセツサは、
局所的にはいかなる処理も実行する必要はない
が、しかしながらこのTNを追跡監視することに
より、このTNが不注意により不適切に使用され
ることのないようにする必要がある。 再び第10図に関して説明すると、H.S.RAM
26″の専用デイレクトリ即ち参照セクシヨンは、
以上に説明したタイプ以外にも、ハードウエア的
に応答を発生させるために使用される、優先順位
を付与された、複数のその他のタイプのメツセー
ジも含んでいる。NA(not assigned:「割当てを
受けていない」の意)というエントリは、将来の
使用に備えて準備され、使用可能な状態で保持さ
れている。3種類の異なつたタイプのNAK応答
(オーバラン、TNエラー、ロツク(Locked)の
各NAK応答)は、そのデータ内容が最も小さな
値とされており、従つて最も高い優先順位にある
が、それは、それらのNAK応答がエラー状態を
示すものだからである。複数のSACK応答の後に
ACK応答、そしてNAP応答(非該当プロセツサ
応答)が続き、それらは優先順位が低下して行く
順序で並べられている。この具体例の構成では、
2つの応答用コマンド・コードが機能を割当てら
れておらず(即ちNAとされており)、それらは
将来の使用に備えて使用可能な状態とされてい
る。以上に説明したデイレクトリは、ソフトウエ
アによつて初期設定することができしかもハード
ウエアによつて利用されるため、広範な種々の応
答メツセージ・テキストのうちからどのようなも
のでも、迅速に且つ柔軟性をもつて発生させるこ
とができる。 以上のデイレクトリの中の、その他の部分から
は独立している1つの独立部分を使用して、
TOP、GET、PUT、並びにBOTTOMの夫々の
アドレス、即ち、入力メツセージのための循環バ
ツフアの機能に関するポインタと、それに完了出
力メツセージのポインタとが、格納されている。
こらのポインタは、夫々、入力メツセージの管理
と出力メツセージの管理とにあてられているH.
S.RAM26″の夫々の専用セクタと協働して機能
を果たすようになつている。入力メツセージのた
めには循環バツフア方式が用いられており、この
場合、H.S.RAM26″のデイレクトリ・セクシ
ヨンに格納されている「TOP」が、入力メツセ
ージのための上限アドレス位置を指定する可変ア
ドレスとなつている。同じデイレトクリ・セクシ
ヨンに格納されているPUTアドレスは、次に受
信するメツセージを回路がどこに格納すべきかと
いうアドレス位置を指定するものである。GET
アドレスは、ソフトウエアがバツフアの空白化を
行なつているアドレス位置をハードウエアで認識
できるようにするために、ソフトウエアによつて
設定され且つ更新され続けるものである。 入力メツセージ・バツフアの管理は、PUTを
バツフアの下限(bottom)のアドレスにセツト
し、そしてGETアドレスがTOPに等しくなつて
いる状態から開始するという方法で、行なわれ
る。ソフトウエアによつて定められている動作上
のルールは、GETがPUTと等しい値にセツトさ
れてはならないということであり、もしそのよう
にセツトされたならば、不定状態(アンビギユア
ス・コンデイシヨン)が生じてしまうことにな
る。入力メツセージがH.S.RAM26″の中の入
力メツセージ・バツフアへ入力されると、メツセ
ージそれ自体の中に含まれているメツセージ長さ
値が、次に入力して来るメツセージの始点を決定
し、続いて、デイレクトリに格納されている
PUTアドレスに対し、次に入力して来るメツセ
ージを受入れるべきバツフア内の格納ロケーシヨ
ンを表示させるための変更が加えられる。以上の
ようにしたため、マイクロプロセツサ・システム
103は、自らの作業能力が許すときに、入力メ
ツセージの取り出しを行なうことができようにな
つている。 H.S.RAM26″内の出力メツセージ格納空間
に格納されているデータは、他の部分からは独立
した循環バツフアの内部に保持されている出力メ
ツセージ完了ベクトル、並びにH.S.RAM26″
内のネクスト・メツセージ・ベクタと共に用いら
れる。個々のメツセージの編集(アセンブル)並
びに格納は、任意のロケーシヨンにおいて行なう
ことができ、また、互いに関連する複数のメツセ
ージについては、それらをネツトワーク上へ送出
するためのつなぎ合わせ(チエーン)を行なうこ
とができるようになつている。H.S.RAM26″
のデイレクトリ・セレクシヨンでは、TOP、
BOTTOM、PUT、並びにGETの夫々のアドレ
スが既に説明したようにして入力され且つ更新さ
れており、それによつて、出力メツセージ完了バ
ツフア内のロケーシヨンについての動的な現在指
標が維持されている。メツセージ完了ベクタは、
出力メツセージ格納空間内に格納されているメツ
セージであつてもしかも既に適切に転送がなされ
たことが受信した応答によつて示されているメツ
セージを指し示すための、指標となるアドレスを
構成している。後に説明するように、このシステ
ムは、マイクロプロセツサ・システム103が出
力メツセージの入力を容易に行なえるようにして
いる一方で、このマイクロプロセツサ・システム
103が複雑な連結ベクタ・シーケンスを整然と
した方式で扱えるようにしており、それによつ
て、出力メツセージ格納空間が効率的に使用さ
れ、メツセージ・チエーンの転送ができるように
している。 応答に関連して先に説明した第11図のプロト
コルは、応答に続けてプライマリ・メツセージに
ついても規定されている。複数種類の応答メツセ
ージが互いに連続して並べられており、16進数の
コマンド・コードが昇順に図示されている。プラ
イマリ・メツセージのグループの中では、マージ
停止メツセージ(このメツセージは、基本的制御
メツセージであるノン・マージ制御メツセージで
もある)が、そのデータ内容が最小値となつてお
り、従つて最高の優先順位にある。このメツセー
ジは、ネツトワーク内並びにプロセツサ・モジユ
ールにおけるマージ・モードを終了させる、制御
通信を構成している。 極めて多くの異なつたタイプのプライマリ・デ
ータ・メツセージを昇順の優先順位を定めて利用
することができ、またそれらには、応用上の要求
事項とシステム的な要求事項とに基づいて、優先
順位に関する分類を加えることができる。先に述
べたように、他のメツセージの後に続けられる継
続メツセージに対しては、それに関する先行メツ
セージ・パケツトからの連続性を維持できるよう
にするために、高い優先順位をもたせるようにす
ることができる。 4種類のプライマリ・メツセージから成る、第
11図中の最下段のグループは、優先順位の高い
方から低い方へ向かつて、ステータス応答をえる
ことを必要とする唯一のタイプのステータス・メ
ツセージであるステータス・リクエスト・メツセ
ージ、「TN放棄」と「TN割当て」とを要求する
夫々の制御メツセージ、そして、更に優先順位の
低い「マージ開始」制御メツセージを含んでい
る。 以上の構成は、後に説明する更に詳細な具体例
から明らかなように、多くの用途に用い得る動作
を可能とするものである。プロセツサ・モジユー
ルは、現在トランザクシヨン・ナンバ(present
transaction number:PTN)に基づいて動作す
るようになつており、この場合、そのPTNが外
部的に、ネツトワークからの命令によつて指定さ
れたものであろうとも、また、連続した動作を実
行している間に内部的に発生されたものであろう
とも、同じことである。マージ動作が実行されて
いるときには、プロセツサ・モジユールは、大域
的レフアレンス、即ちトランザクシヨン・アイデ
ンテイテイ(=トランザクシヨン識別するための
情報)を利用してその動作を実行しているのであ
り、このトランザクシヨン・アイデンテイテイは
TNによつて定められている。マージ動作の開
始、停止、及び再開は、簡単なメツセージの変更
だけを利用して行なわれる。サブタスクが、メツ
セージをマージすることを必要としていない場合
や、他のメツセージとの間に特に関係をもつてい
ないメツセージ・パケツトが発生されたような場
合には、それらのメツセージは「TN0」に対し
て出力するための待ち行列(キユー)を成すよう
に並べられ、そして、現在トランザクシヨン・ナ
ンバによつて定められた、基本状態即ちデイフオ
ルト状態(0である)が真状態を維持している間
に転送が行なわれる。この「TN0」状態は、マ
ージ・モードが用いられていないときには、メツ
セージを転送のための待ち行列を成すように並べ
ることを可能にしている。 (ネツトワーク・インターフエイス・システム) これより第13図に関して説明するが、同図
は、本発明のシステムに用いるのに適したインタ
ーフエイス回路の一具体例を更に詳細に示すもの
である。この「ネツトワーク・インターフエイ
ス・システム」の章の説明には本発明を理解する
上では必ずしも必要ではない多数の詳細な特徴が
含まれているが、それらの特徴は、実機のシステ
ムには組み込まれているものであり、それゆえ本
発明の要旨に対する種々の具体例の位置付けを明
確にするために説明中に含めることにした。具体
的なゲーテイングのための構成並びに詳細構造で
あつて、本発明の主題ではなく、しかも周知の手
段に関するものについては、多種多様な代替構成
を採用することも可能であるので、説明を省略な
いし簡略化することにした。第13図は、第8図
に示されている第2のネツトワーク・インターフ
エイス120′並びにH.S.RAM26″の詳細図で
ある。2つのネツトワークのための夫々のインタ
ーフエイス120,120′は互いに同様の方式
で機能しており、それゆえ、一方のみについて説
明すれば十分である。 第13A図において、同図のインターフエイス
に接続されている方の能動ロジツク・ネツトワー
ク50からの入力は、マルチプレクサ142と公
知のパリテイ・チエツク回路144とを介して、
ネツトワーク・メツセージ管理回路140へ供給
されている。マルチプレクサ142は更にマイク
ロプロセツサ・システムのデータ・バスに接続さ
れており、これによつて、このデータ・バスを介
してメツセージ管理回路140へアクセスするこ
とが可能となつている。この特徴により、マイク
ロプロセツサ・システムが、インターフエイスを
ステツプ・バイ・ステツプ・テスト・モードで動
作させることが可能となつており、そして、この
インターフエイスがネツトワークとあたかもオ
ン・ライン状態で接続されているかのように、デ
ータの転送が行なわれるようになつている。ネツ
トワークからの入力は受信用ネツトワーク・デー
タ・レジスタ146へ供給されるが、その際、直
接このレジスタ146の第1のセクシヨンへ入力
されるバイト・データと、受信用バイト・バツフ
ア148を介してこのレジスタ146へ入力され
るバイト・データとがあり、受信用バイト・バツ
フア148は、第1のセクシヨンへのバイト・デ
ータの入力が行なわれた後に、自らのバイト・デ
ータをこのレジスタ146の別のセクシヨンへ入
力する。これによつて、受信した各々のワードを
構成している2つのバイトの両方が、受信用ネツ
トワーク・データ・レジスタ146に入力され、
そしてそこに、利用可能な状態で保持されること
になる。 これから伝送される出力メツセージは、送信用
ネツトワーク・データ・レジスタ150へ入力さ
れ、また、通常のパリテイ発生回路132の内部
においてパリテイ・ビツトが付加される。メツセ
ージは、ネツトワーク・メツセージ管理回路14
0からそれに接続されているネツトワークへ送出
されるか、或いは、(テスト・モードが用いられ
る場合には)マイクロプロセツサ・システム・デ
ータ・バスへ送出される。このインターフエイス
の内部におけるメツセージ管理を行う目的で、ラ
ンダム・アクセス・メモリ168に格納されてい
る送信メツセージのフオーマツトは、メツセー
ジ・データと共に識別用データをも含むものとさ
れている。第21A図から分るように、コマン
ド、タグ、キー、並びにDSWのいずれをも、こ
れから伝送されるプライマリ・データに組合わせ
ておくことができる。 第13A図に示されている構成は、本質的に第
8図に示されている構成と同一であるが、ただし
第8図では、インターフエイス・データ・バス並
びにインターフエイス・アドレス・バスが、H.
S.RAM26″の入力ポートAと入力ポートBとに
別々に接続され、また、マイクロプロセツサ・シ
ステム103のアドレス・バス並びにデータ・バ
スが、独立したCポートに接続されているように
図示されている。しかしながら実際には、第13
A図から分るように、このような互いに独立した
2方向からのアクセスは、このインターフエイス
の内部において行なわれるH.S.RAM26″にお
ける入力アドレス機能及び出力アドレス機能の時
分割マルチプレクシングによつて達成されてい
る。マイクロプロセツサのデータ・バスとアドレ
ス・バスとは、夫々ゲート145と149とを介
してインターフエイスの夫々のバスに接続されて
おり、それによつてマイクロプロセツサが非同期
的に、それ自身の内部クロツクに基づいて動作で
きるようになつている。 採用されているタイミング体系は、クロツク・
パルスと、位相制御波形と、位相細分波形とに基
づいたものとなつており、この位相細分波形は、
インターフエイス・クロツク回路156(第13
図)によつて発生され、また第14図に示すタイ
ミング関係をもつものとなつている(第14図に
ついても後に説明する)。インターフエイス・ク
ロツク回路156は最も近くのノードからネツト
ワーク・ワード・クロツクを受取つており、また
フエイズ・ロツク・クロツク・ソース157は、
第4図に関連して先に説明した如きゼロ・タイ
ム・スキユーを維持するための手段を含んでい
る。240nsのネツトワーク内の公称ネツトワー
ク・ワード・クロツク速度が、インターフエイ
ス・クロツク回路156の内部において時間的に
細分され、これが行なわれるのは、フエイズ・ロ
ツクされた状態に保持されている倍周器(詳細に
は示さない)が、持続時間が40nsの基準周期を定
める高速クロツク(第14図にPLCLKとして示
されている)を提供しているからである。基本的
なワード周期を定めているのは、全周期が240ns
で半サイクルごとに反転する、図中にCLKSRA
と記されている周期信号である。このCLKSRA
と同一の周波数と持続時間とをもつ信号が他に2
つ、PLCLKに基づいて分周器158によつて発
生されており、これらの信号は夫々がCLKSRA
からPLCLKの1サイクル分及び2サイクル分だ
け遅延した時刻に発生されており、また、夫々が
CLKSRB及びCLKSRCという名称を与えられて
いる。 以上の諸々の信号に基づいて、制御ロジツク1
59が、「IO GATE」、「RECV GATE」、並び
に「SEND GATE」と称されるタイミング波形
(以下、ゲート信号ともいう)を作り出しており、
これらのタイミング波形は、ワード周期の互いに
連続する3等分されたインタバルの夫々を表示す
るものである。これらのインタバルには、「IOフ
エイズ」、「受信フエイズ」、「送信フエイズ」とい
う該当する名称がつけられている。上記ゲート信
号によつて定められたこれらのフエイズは、その
各々が更に、「IO CLK」信号、「RECV CLK」
信号、並びに「SEND CLK」信号によつて、2
つの等分された半インタバルへと細分されてお
り、これらの細分信号は、各々のフエイズの後半
部分を定めている。バイト・クロツキング機能
は、「BYTE CTRL」信号と「BYTE CLK」信
号とによつて管理されている。 以上のIOフエイズ、RECVフエイズ(受信フ
エイズ)、及びSENDフエイズ(送信フエイズ)
は、ランダム・アクセス・メモリ168とマイク
ロプロセツサ・システムのバスが、時分割多重化
(タイム・マルチプレクシング)された動作を行
なえるようにするための、基礎を提供するもので
ある。インターフエイスは、高速ネツトワークと
の間で、1回のワード周期あたり1個のワードし
か受信ないし送信することができず、しかも明ら
かに、受信と送信とは決して同時には行なわれな
い。マイクロプロセツサ・システムとの間で行な
われる転送の転送速度は、このネツトワークとの
間の転送速度よりかなり低くなつているが、たと
え両者が等しい速度であつたとしても、インター
フエイス回路の能力にとつて過大な負担となるこ
とはない。このインターフエイスのシステムの構
成は、ランダム・アクセス・メモリ168へのダ
イレクト・アクセスによつて大部分の動作が実行
されるようになつており、従つて内部的な処理つ
まりソフトウエアが、殆んど必要とされないよう
になつている。従つて、このシステムが各々のワ
ード周期の中の連続する複数のフエイズを周期的
に経過していくにつれて、複数のワードが次々
に、しかも互いに衝突することなく、それらのワ
ードのための所定の複数の信号経路に沿つて進め
られて行き、それによつて種々の機能が実行され
るようになつている。例を挙げれば、バスへのメ
ツセージの送出が、マイクロプロセツサからのメ
ツセージの受取りの合間に行なわれるようにし、
しかもそれらの各々がメモリ168の異なつた部
分を用いて交互に行なわれるようにすることがで
きる。 マイクロプロセツサ・システムのデータ・バス
とネツトワーク・インターフエイスとの間の相互
通信は、IO管理回路160(このIOのことを読
出し/書込み(Read/Write)と言うこともあ
る)の中で行われる。マイクロプロセツサ・シス
テムから送られてくるワードをゲーテイングする
ための書込みゲート162と、マイクロプロセツ
サ・システムへワードを送り出すためのシステム
読出しレジスタ164とによつて、マイクロプロ
セツサのバスと、ネツトワーク・インターフエイ
スへのバス・インターフエイスとの間が接続され
ている。 更にメモリ・アドレス・レジスタ165とパリ
テイ発生器/チエツク回路166とが、ネツトワ
ーク・インターフエイス・サブシステムに組込ま
れている。この具体例では、前記高速メモリ(=
H.S.RAM)は4Kワード×17ビツトのランダム・
アクセス・メモリ168から成り、このメモリの
内部的な再区分のしかたと、このメモリの内部に
設けられている複数の専用メモリ領域部分の使用
法とについては、既に説明したとおりである。こ
のランダム・アクセス・メモリの大きさ(=容
量)は、具体的な個々の用途における必要に合わ
せて、縮小したり拡張したりすることが容易にで
きる。 受信メツセージ・バツフア管理回路170が、
マイクロプロセツサのデータ・バスに接続されて
おり、更にはメモリ168のアドレス・バスにも
接続されている。「受信メツセージ(received
messages)」という用語は、ネツトワークから入
力してきて循環バツフアの中の「PUT」という
格納ロケーシヨンへ入力されるメツセージを指し
示すためにに用いられることもあり、また、この
入力の後に、そのようにして循環バツフア内へ入
力されたメツセージをマイクロプロセツサへ転送
するが、その転送のことを指し示すために用いら
れることもある。このマイクロプロセツサへの転
送が行なわれるときには、「GET」の値が、マイ
クロプロセツサ・システムへ転送すべき受信メツ
セージの取出しを実行するに際しシステムがどの
ロケーシヨンから連続した取出し動作を行なうべ
きかを指定する。ランダム・アクセス・メモリ1
68のアクセスに用いられる複数のアドレス値
が、GETレジスタ172、TOPレジスタ17
4、PUTカウンタ175、及びBOTTMレジス
タ176に夫々入力されている。PUTカウンタ
175は、BOTTOMレジスタ176によつて指
定されている初期位置から1づつインクリメント
されることによつて更新される。TOPレジスタ
174は、もう一方の側の境界の指標を与えるも
のである。TOPの値とBOTTMの値とはいずれ
も、ソフトウエア制御によつて操作することがで
き、それによつて、受信メツセージ・バツフアの
大きさとH.S.RAMにおける絶対格納ロケーシヨ
ンとの両方を変更することが可能となつている。
PUTレジスタの内容がTOPレジスタの内容に等
しくなつたならばPUTレジスタはリセツトされ
てBOTTOMレジスタの内容と等しくされ、それ
によつて、このバツフアを循環バツフアとして利
用できるようになつている。以上のGETレジス
タ、TOPレジスタ、BOTTOMレジスタ、並び
にPUTカウンタは、入力メツセージ用循環バツ
フアと出力メツセージ完了循環バツフアとの両方
を管理するのに用いられている。 GETレジスタ172への入力はソフトウエア
の制御下において行なわれるが、それは、バツフ
ア中においてそのとき取扱われているメツセージ
の長さに応じて、次のアドレス(ネクスト・アド
レス)が決定されるからである。GETレジスタ
172、PUTカウンタ175、並びにTOPレジ
スタ174の夫々の出力に接続された比較回路1
78と179は、オーバラン状態を検出及び表示
するために使用されている。オーバラン状態は
GETの値とPUTの値とが等しい値に設定された
場合や、GETの値をTOPの値より大きな値に設
定しようとする試みがなされた場合に生じる状態
である。これらのいずれの場合にも、オーバラン
のステータス表示が送出されることになり、しか
もこのステータス表示はオーバラン状態が訂正さ
れるまで送出され続けることになる。 「受信メツセージ」循環バツフアを構成し動作
させる際の、以上のような連続的な方式は、この
システムに特に適した方式である。衝突(コンフ
リクト)を回避するための相互チエツクを可能と
しておくことによつて、「PUT」をハードウエア
で管理し、かつ「GET」を動的に管理すること
ができるようになつている。しかしながら、これ
以外の方式のバツフア・システムを採用すること
も可能である。ただしその場合には、おそらく回
路並びにソフトウエアに関して、ある程度の余分
な負担が加わることになろう。ここで第21B図
について触れておくと、メモリ168の内部に格
納されている受信メツセージのフオーマツトは更
に、マツプ結果、データ長さ、並びにキー長さの
形の識別データを含んでおり、それらのデータが
どのようにして得られるかについては後に説明す
る。 このインターフエイスの内部のDSW管理セク
シヨン190は、転送先選択ワード・レジスタ1
92を含んでおり、この転送先選択ワード・レジ
スタ192へは、これからアドレス・バスへ転送
される転送先選択ワード(DSW)が入力される。
DSWを使用してメモリ168の専用DSWセクシ
ヨンをアドレスすると、このメモリ168からデ
ータ・バス上へ送出された出力がデータを返し、
このデータに基づいてDSW管理セクシヨン19
0が、そのメツセージパケツトが当該プロセツサ
を転送先としたものであるか否かを判定すること
ができるようになつている。第13A図から分る
ように、転送先選択ワードは、2ビツトのマツ
プ・ニブル(nybl)アドレスと、10ビツトのマツ
プ・ワード・アドレスと、マツプ選択のための4
ビツトとから成つている。これらのうちの「ニブ
ル」アドレスは、メモリ168からのワードのサ
ブセクシヨンを記述するのに用いられている。マ
ツプ選択のための4ビツトは、マツプ結果比較器
194へ供給され、この比較器194はマルチプ
レクサ196を介してメモリ168から関連した
マツプ・データを受取つている。マルチプレクサ
196は16ビツトのデータを受取つており、この
16個のビツトは、DSWの中に含まれているマツ
プ・ワード・アドレスの10ビツトによつて指定さ
れるアドレスに格納されている4つの異なつたマ
ツプ・データ・ニブルを表わしている。メモリ1
68は、ここで行なわれる比較が容易なように、
その専用マツプ・セクシヨンが特に比較に適した
形態に構成されている。マルチプレクサ196へ
その制御のために供給されている、DSWの中の
残りの2ビツトによつて、4つのマツプ・ニブル
のうちの該当する1つのマツプ・ニブルが選択さ
れる。比較が行なわれ、その比較の結果得られた
マツプ・コードが、マツプ結果レジスタ197へ
入力され、そしてメモリ168へ入力されている
入力メツセージの中へ挿入される。もし、この比
較の結果、選択されたマツプのいずれの中にも
「1」のビツトが存在していないことが判明した
場合には、「拒絶」信号が発生されて、当該プロ
セツサ・モジユールはそのメツセージ・パケツト
を受取るものとして意図されてはいないことが表
示される。 第15図について説明すると、同図には、メモ
リ168の専用の転送先選択セクシヨンを細分す
るための好適な方法であつてしかもマツプ結果の
比較を行うための好適な方法が、概略的に図示さ
れている。各々のマツプは4096ワード×1ビツト
で構成されており、更に、個別プロセツサID用
セクタ、クラスID用セクタ、及びハツシング用
セクタに細分されている(第8図参照)。12個の
アドレス・ビツト(10ビツトのマツプ・アドレス
と2ビツトのニブル)を用いて、共通マツプ・ア
ドレスが選択されると、それによつて各々のマツ
プから1ビツト出力が得られる。(第13図のマ
ルチプレクサとそのニブルは、図を簡明にするた
めに第15図には示していない)。それら4つの
パラレルなビツト出力は、4つのANDゲートか
ら成るANDゲート群198において、マツプ選
択のための4ビツトと比較することができるよう
になつており、その結果、1つ以上の一致が得ら
れた場合には、ORゲート199の出力が「真」
状態になる。このマツプ結果は、第13A図のマ
ツプ結果レジスタ197へ入力することができ、
それによつて、そのメツセージがメモリ168に
受入れられるようになる。以上とは異なる場合に
は、そのメツセージは拒絶され、NAKが送信さ
れることになる。 コマンド・ワード管理セクシヨン200は、コ
マンド・ワードを受取るコマンド・レジスタ20
2を含んでいる。コマンド・ワードのTNフイー
ルドは、それを用いてアドレス・バスをアクセス
することができ、そのアクセスによつて、指標と
されている受信TNが調べられて適当な応答メツ
セージが決定される(第18図参照)。更には、
「マージ開始」コマンドが実行されているときに
は、TNフイールドからPTNR(現在トランザク
シヨン・ナンバ・レジスタ)206へのデータ転
送経路が確保されており、これは、「マージ開始」
コマンドに合わせてPTN(現在トランザクシヨ
ン・ナンバ)の値を変更できるようにするためで
ある。 メモリ168へ入力された入力メツセージは、
第21図に関して説明すると、アドレス・ベクタ
を利用できるようにするために、データ・フイー
ルドやキー・フイールドが用いられている場合に
はそれらのフイールドの長さ値をも含むものとな
つている。それらの長さ値は、受信データ長さカ
ウンタ210と受信キー長さカウンタ211とに
よつて求められ、これらのカウンタの各々は、入
力ソースから夫々のカウンタに該当するフイール
ドが提供される際に、それらのフイールドに含ま
れている一連のワードの個数を数えるようになつ
ている。 更には、送信メツセージ管理セクシヨン220
が用いられており、このセクシヨンは、処理済の
パケツトをメモリ168に格納するための受入れ
機能と、それらの格納されたパケツトを後刻ネツ
トワークへ送出する機能と包含している。このセ
クシヨン220は、送信トランザクシヨン・ベク
タ・カウンタ222、送信データ長さカウンタ2
24、及び送信キー長さカウンタ226を含んで
おり、これらのカウンタはデータ・バスに、双方
向的に接続されている。送信トランザクシヨン・
ベクタ・カウンタ222はアドレス・バスに接続
されており、一方、送信データ長さカウンタ22
4はアドレス発生器228に接続されていて、こ
のアドレス発生器228が更にアドレス・バスに
接続されている。出力バツフア・セクシヨンと第
8図の出力メツセージ完了ベクタ・セクシヨンを
構成する循環バツフアとの両方を用いてメツセー
ジの送出が行なわれる。ただしこの具体例では、
複数のメツセージ・パケツトが逐次入力された後
に、それらが今度はベクタによつて定められた順
序で取出されるようになつている。 このインターフエイスの内部においては、独立
した夫々の動作フエイズが、互いに排他的な時間
に実行されるようになつており、このような時分
割方式を採用したことによつて、メモリ168
は、ネツトワークのクロツク速度でネツトワーク
からのメツセージ・パケツトを受取つて供給する
ことと、内部的な動作を効率的な高い速度で実行
することと、それ自身の遅いクロツク速度で非同
期的に動作しているマイクロプロセツサ・システ
ムとの間で通信を行なうこととが、可能とされて
いる。様々なカウンタやレジスタへ向けたメツセ
ージのゲーテイング動作を制御するために、位相
制御回路が制御ビツトに応答して動作しており、
制御ビツトは、コマンド、DSW、データ、それ
にメツセージ内の個々のフイールドを示すその他
の信号を発生するものである。送信状態制御回路
250、受信状態制御回路260、並びにR/W
(読出し/書込み)状態制御回路270は、クロ
ツク・パルスを受取り、データ内のフイールドを
識別し、そして、送信、受信、それにプロセツサ
のクロツク動作が行なわれている間の、データの
流れのシーケンシングを制御するものである。 このインターフエイスの制御は3つの有限状態
マシン(FSM)によつて行われ、それらのFSM
は、その各々が送信フエイズ、受信フエイズ、及
びプロセツサ(R/W)フエイズのためのもので
ある。それらのFSMは、プログラマブル・ロジ
ツク・アレイ(PLA)、状態レジスタ、並びにア
クシヨンROMを使用して、一般的な方式で構成
されている。各々のFSMは、ネツトワークのク
ロツク・サイクルの1回ごとに1つ次の状態へ進
められる。発生すべき制御信号の数が多いため、
PLAの出力はさらにアクシヨンROMによつて符
号化される。当業者には容易に理解されるよう
に、ネツトワークの動作のために必然的に必要と
なる、FSMモード用に書かれ、それゆえ一般的
な細部構造と動作とをもつ制御シーケンスの翻訳
は、仕事量こそ多いものの単純なタスクである。 第17図及び第19図の状態ダイアグラムと第
18図のマトリクス・ダイアグラムとを添付図面
中に含めてあるのは、かなり複雑なシステムに採
用することのできる内部構造設計上の特徴に関す
る、包括的な細目を提示するためである。第17
図は受信フエイズに関する図、第19図は送信フ
エイズに関する図であり、これらの図において用
いられている表記法は、この明細書及び図面の他
の場所で用いられている表記法に対応している。
例えば次の用語がそうである。 RKLC=Receive Key Length Counter(受信キ
ー長さカウンタ) RDLA=Receive Data Length Counter(受信デ
ータ長さカウンタ) RNDR=Receive Network Data Word
Register(受信ネツトワーク・データ・ワー
ド・レジスタ) PUTC=Put Counter(PUTカウンタ) GETR=Get Register(GETレジスタ) 従つて状態ダイアグラムは、第13図及び明細
書と対照させて参照すれば、略々説明なしでも理
解することができる。それらの状態ダイアグラム
は、複雑なメツセージ管理並びにプロセツサ相互
間通信に関わる、様々なシーケンスと条件文とを
詳細に示している。第17図(第17A図)にお
いて、「応答を発生せよ」と「応答を復号せよ」
とのラベルが書込まれている夫々の状態、並びに
破線の長方形で示されている夫々の条件文は、第
18図のマトリクス・ダイアグラムに記載されて
いる、指定された応答及び動作に従うものであ
る。第18図は、所与のTNに関するプライマ
リ・メツセージとレデイネス状態との任意の組み
合わせに対し、発生される応答と実行される動作
との両方を示すものである。当然のことである
が、正常なシステムの動作がなされているときに
は、ある程度のメツセージの拒絶はあるものの、
エラー状態はまれにしか発生しない。 第17図と第19図のいずれにおいても、条件
判断に関しては、その多くのものが複数の判断を
同時に実行することができるようになつている
が、これに対して状態ステツプの方は、1つづつ
変更されていくようになつている。いずれの場合
においても、送信動作と受信動作とは外部からの
制御を必要せずに定められた進行速度で進められ
て行く動作であり、それは、メツセージの構成と
ネツトワークの動作方式とが既に説明したように
なつているためである。 典型的なプロセツサ・システムやマルチプロセ
ツサ・システムにおいて採用されている多くの特
徴には、本発明に密接な関係を持つてはいないも
のがあり、従つてそれらについては特に記載しな
い。それらの特徴の中には、パリテイ・エラー回
路、割込み回路、それに、ワツチドツク・タイマ
や極めて多様な記験機能等の活動をモニタするた
めの種々の手段等がある。 (システムの動作の具体例) 以下に説明するのは、第1図、第8図、及び第
13図を総合したシステムが、ネツトワーク及び
H.S.RAMと協働しつつ種々の動作モードで内部
的にどのように働くかを示す幾つかの具体例であ
る。それらの具体例は、優先順位規定と、ここで
採用されているアドレツシング方式と、トランザ
クシヨン・アイデンテイテイとの間の相互関係
が、どのようにして局所的制御と大域的相互通信
との両方の機能を提供するのかを示すものであ
る。 プライマリ・データ・メツセージの送受信 ここでは、その他の図に加えて更に第16図に
ついても説明するが、第16図は、プライマリ・
メツセージの最終的な受入れに関わる諸状態の、
簡略化した状態ダイアグラムである。メツセージ
がバツフア或いはメモリに受信されても、図示の
論理的状態が満たされないうちは、受入れ(アク
セプタンス)が達成されたことにはならない。図
ではイベント(事象)のシリアルな列として示さ
れているが、本来は複数の判定がパラレルに、即
ち同時に行なわれるようになつており、それは、
夫々の条件が互いに関与しないものであつたり、
或いは、ある動作段階へ達するための中間段階の
飛越しが、回路によつて行なわれたりするためで
ある。 第1図のネツトワークの上のメツセージは、第
13A図の受信ネツトワーク・データ・レジスタ
146の中を、EOM状態が識別されるまでの間
通過させられ、その状態が識別されたときに、メ
ツセージが完了したことが認識される。「ロツク
(LOCK)」状態が存在している場合には、システ
ムは第8図のH.S.RAM26″の中の応答デイレ
クトリを参照して、NAK/LOCK拒絶メツセー
ジを送出する。 そうでない場合、即ち「ロツク」状態が存在し
ていない場合には、システムはマツプ比較チエツ
クへ移り、このチエツクは第13A図に示したイ
ンターフエイスの中のDSW管理セクシヨン19
0の内部で実行される。「マツプ出力=1」で表
わされる、適切な比較結果が存在している場合に
は、システムはそのメツセージを受信し続けるこ
とができる。そのような比較結果が存在していな
い場合には、そのメツセージは拒絶され、NAP
が送出される。 該当するマツプが判定されたならば、それによ
つてシステムはTNステータスを検査する準備が
整つたことになり、このTNステータスの検査は
第8図に示されているTNのデイレクトリを参照
することによつて行なわれる(ここでTNステー
タスとは厳密には所与のTNに関するプロセツサ
のステータスのことであり、従つてH.S.RAM内
のTNアドレスに格納されているエントリによつ
て表わされているレデイネス状態のことである)。
更に詳しく説明すると、このTNステータスの検
査は、局所的ステータス(=個々のプロセツサ・
モジユールのステータス)が「受信準備完了」で
あるか否かを判定するために行なわれる。ここで
は、先行するあるプライマリ・メツセージによつ
てTNの割当てが既になされているものと仮定し
ている。 この検査の結果、TNが「実行終了(done)」
状態、「非関与プロセツサ」状態、または「イニ
シヤル」状態のいずれかのステータスであること
が判明した場合には、「NAP」拒絶メツセージが
送出される(ここでTNといつているのは、厳密
にはH.S.RAM内のTNアドレスに格納されてい
るエントリのことであるが、以下、混同のおそれ
のない限りこのエントリのことも単にTNと称す
ることにする)。もしこの判明したステータスが、
他の規定外の状態であつたならば、送出される拒
絶メツセージは「NAK/TNエラー」であり、
以上の2つのタイプの拒絶メツセージもまた、第
8図の応答デイレクトリから取り出される。ステ
ータスが「受信準備完了」であつたならば、更に
もう1つの別の判定が行なわれることになる。 このもう1つの別の判定とは、「入力オーバラ
ン」に関するものであり、この判定は、既に説明
したように、第13A図の入出力管理バツフア・
セクシヨン170の内部において、GETアドレ
スとPUTアドレスとを比較することによつて行
なわれる。更にはトランザクシヨン・ナンバも、
受信メツセージ・カウントの値がゼロでないかど
うかについて検査され、このカウント値がゼロで
あれば、それは、同じく入力オーバランを表示し
ているのである。オーバラン状態が存在している
場合には、「NAK/入力オーバラン」が送出さ
れてそのメツセージは拒絶される。 以上のすべて条件が満足されていたならば、
H.S.RAM26″内の応答デイレクトリから
「ACK」メツセージ(肯定応答メツセージ)が取
り出されてネツトワーク上へ送出され、他のプロ
セツサ・モジユールとの間で優先権が争われるこ
とになる。それらの他のプロセツサ・モジユール
のうちには、同じように受信メツセージに対する
肯定応答を送出したものもあるかもしてない。こ
の時点で、もしネツトワークから受取る共通応答
メツセージ(この「共通」とはマージされたとい
う意味である)が「ACK」メツセージであつて、
従つて、受信プロセツサ・モジユールとして選択
された「全ての」プロセツサ・モジユールが、先
に受信したメツセージの受入れが可能であること
が明示されている場合には、その受信メツセージ
の受入れがなされる。もしこの応答が「ACK」
以外のいずれかの形であれば、先の受信メツセー
ジは「全ての」プロセツサから拒絶される。 受信並びに応答についてのこの具体例において
は、プライマリ・メツセージが受信された後に
は、全てのプロセツサが、ACK応答、NAK応
答、及びNAP応答のうちのいずれか1つを発生
することに注目されたい。プロセツサは、これら
の応答メツセージのうちのいずれか1つを受取つ
たならば、その直後にプライマリ・メツセージの
伝送を試みることができる。(プロセツサは、こ
の伝送の試みを、ネツトワークを通り抜けるため
の合計待ち時間相当の遅延に等しいかまたはそれ
より大きい遅延の後に行なうこともでき、それに
ついては既に「能動ロジツク・ノード」の章で説
明したとおりである)。もう1つ注目して頂きた
いことは、もし、幾つかのプロセツサが互いに
「同一の」メツセージを送信したならば、結果的
にそれらのメツセージの全てがネツトワーク上の
競合を勝ち抜いたことになることも、あり得ると
いうことである。その場合には、それらの送信プ
ロセツサの「全て」がACK応答を受取ることに
なる。このことは、後出の具体例で詳細に説明す
る、ブロードカスト(一斉伝送)及び大域的セマ
フオ・モードの動作に関して重要である。 実際に使用されている本発明の実機例は、これ
までに説明したものに加えて更により多くの種類
の応答を含むと共に様々な動作を実行するように
なつている。第18図はそれらの応答と動作と
を、LOCK、TNエラー、及びオーバランの各割
込み状態、予め識別されている9つの異なつたス
テータス・レベル、それに肯定応答(ACK)及
び非該当プロセツサ応答に対するものとして、縦
列に並べた各項目で示している。 あるプロセツサ・モジユールがメツセージの送
信準備を完了したときには、第13図のPTNレ
ジスタ206に格納されているPTN値は使用可
能状態となつており、従つて必要とされるのは
TNステータスが「送信準備完了」状態にあるこ
との確認だけである。第12図から分るように、
「送信準備完了」のエントリ(記述項)は、出力
メツセージのためのネクスト・メツセージ・ベク
タ・アドレスを含んでいる。アセンブルが完了し
た出力メツセージはネツトワーク上へ送出され、
そしてもし競合に敗退したならば、PTNが途中
で変更されない限り、伝送が成功するまでこの送
出動作が反復され、そして成功したなら応答を受
取ることになる。伝送が成功して肯定応答を受取
つたならば、アドレス・ベクタが変更される。ネ
クスト・メツセージ・ベクタが、現在メツセージ
の中の第2番目のワード(第21A図)から取り
出され、このワードは送信トランザクシヨン・ベ
クタ・カウンタ222からランダム・アクセス・
メモリ168へ転送される。出力メツセージ・セ
クシヨンがオーバラン状態になければ、PUTカ
ウンタ175が「1」だけ進められ、このオーバ
ラ状態は、PUTがGETに等しくなることによつ
て表示される。尚、送信トランザクシヨン・ベク
タ・カウンタ222から転送されるネクスト・メ
ツセージ・ベクタは、H.S.RAMの中の現在トラ
ンザクシヨン・ナンバ・レジスタ206によつて
指定されているトランザクシヨン・ナンバ・アド
レスへ入力される。もし、この新たなTNが「送
信準備完了」状態のものであれば、この入力され
たベクタの値は、再び、このトランザクシヨン・
アイデンテイテイに関係している次のメツセージ
(メクスト・メツセージ)の格納位置を指し示し
ている。H.S.RAMの中に格納されている出力メ
ツセージのフオーマツトについては、第21図を
参照されたい。 ただし、メツセージを送出する際のメツセージ
管理には、PTNの内部的な、或いは外部からの
変更をはじめとする、多くの異なつた形態の動作
を含ませておくことができる。エラー状態、オー
バラ状態、ないしロツク状態によつて、システム
がトランザクシヨン・ナンバを「TN0」にシフ
トするようにしておくことができ、このシフトに
よつて、システムはノン・マージ・モードに復帰
し、そして「TN0」におけるステータスの検査
を、「送信準備完了」状態が識別されるか或いは
新たなTNの割当てがなされるまで、続けること
になる。かなり複雑な具体例に採用することので
きる状態並びに条件を示したものとして、第19
図(第19A図)のフローチヤートを参照された
い。 出力メツセージ完了バツフアの例 メツセージの伝送の完了が「ロツク(LOCK)」
を除いたその他の任意の応答メツセージによつて
明示されたならば、新たに完了した出力メツセー
ジ・バツフアを指し示すポインタが、H.S.RAM
の出力メツセージ完了循環バツフア・セクシヨン
(第8図参照)に格納される。このポインタは、
上記出力メツセージ・バツフアのアドレスを表わ
す単なる16ビツト・ワードである。(出力メツセ
ージ・バツフアのフオーマツトは第21図に示さ
れている。出力メツセージ・バツフアには、ネツ
トワークから受取つた応答メツセージを記録する
場所が含まれていることに注目されたい)。 出力メツセージ完了循環バツフアは、ネツトワ
ーク・インタフエースのハードウエア120と、
マイクロプロセツサ105の上に置かれた監視プ
ログラムとの間の、通信の機能を果たすものであ
る。このマイクロプロセツサの中に備えられてい
るプログラムは、これから出力されるメツセージ
をH.S.RAMの中に格納する。これに続く次の例
で詳細に説明するが、複数の出力メツセージを一
緒に鎖状に連結し(チエーンし)、しかもその際、
TNがこの鎖(チエーン)の先頭のポインタとし
て働くようにすることができ、これによつて作業
の複雑なシーケンスを形成することができる。そ
の他の特徴としては、ネツトワークを複数のTN
の間で多重化即ち時分割(マルチプレクシング)
することができるため(これについても後に詳述
する)、ネツトワーク内の諸処に存在する様々な
事象に応じた種々の順序でメツセージを出力する
ことができる。 更にまた、伝送に成功したパケツトによつて占
められていたH.S.RAM内の格納空間を迅速に回
復し、それによつてその格納空間を、これから出
力される別の出力パケツトのために再使用できる
ようにすることが重要である。出力メツセージ完
了循環バツフアが、この機能を果たしている。 あるデータ・メツセージの送信が成功裏に終了
して「ロツク」応答以外の応答を受信したなら
ば、ネツトワーク・インターフエイスは、H.S.
RAM内の「0510(16進数)」に格納されている
PUTポインタ(第10図参照)を「1」だけ進
め、また、この送信が完了したばかりの出力メツ
セージの先頭のワードのアドレスをPUTレジス
タ内のアドレスへ格納する。(PUTポインタの値
が「0512(16進数)」に格納されているTOPポイ
ンタの値より大きくなると、PUTポインタは
「0513(16進数)」に格納されているBOTポインタ
(=BOTTOMポインタ)と同じになるように最
初にリセツトされる)。PUTポインタがGETポ
インタ(格納位置「0511(16進数)」)より大きく
なるようならば、循環バツフアが、オーバランし
ているのであり、そのため「エラー割込み」がマ
イクロプロセツサへ向けて発生される。 マイクロプロセツサの内部で実行されているソ
フトウエアによつて、GETポインタが指示して
いる出力メツセージ・バツフアが非同期的に調べ
られる。プロセツサは、実行を要求された何らか
の処理を完了したならば、GETポインタを「1」
だけ進める(このGETの値は、TOPの値より大
きくなるとBOTの値にリセツトされる)。GET
=PUTとなつている場合には、処理せねばなら
ない出力メツセージはもはや存在していない。そ
うでない場合には、更に別の出力メツセージが成
功裏に送信を完了した状態にあるので、それらの
出力メツセージを処理せねばならない。この処理
には、H.S.RAMの出力バツフアの格納空間を空
きスペースに戻すことが含まれており、従つてこ
のスペースを他のパケツトのために再使用するこ
とできる。 ここで注目しておくべき重要なことは、出力メ
ツセージ完了循環バツフアと入力メツセージ循環
バツフアとは互いに別個のものであり、そのため
これら2つの循環バツフアは、夫々が別々の
PUT、GET、TOP、及びBOTの各ポインタに
よつて管理されているということである。構成の
しかたによつては、第13図に示されているよう
に、これら両方の循環バツフアが、循環バツフア
管理ハードウエア170を共用するようにもでき
るが、そのような構成が必須なわけではない。 初期設定の手順 各プロセツサ・モジユールは、そのプロセツ
サ・モジユール自身の高速ランダム・アクセス・
メモリ168(第13図)の内部のTNをアクセ
スする機能を備えており、このメモリ168に
は、潜在的に使用可能な複数のTNの、そのデイ
レクトリが含まれている。ただし、割当てられて
いないTNは、そのTNに関連付けられている格
納位置に格納されているトランザクシヨン・ナン
バ値によつて、割当てられていない旨が明確に表
示されている。従つて、マイクロプロセツサ・シ
ステム103は、割当てられていないトランザク
シヨン・ナンバを識別し、そしてそれらのうちの
1つを、所与のトランザクシヨン・アイデンテイ
テイに関して他のプロセツサ・モジユールとの間
の通信を開始するのに使用するために選択するこ
とができる。 トランザクシヨン・ナンバは、ローカル・マイ
クロプロセツサ(=プロセツサ・モジユール内の
マイクロプロセツサ)の制御の下に、局所的に割
当てられ且つ更新されるが、ネツトワーク内の全
域における大域的制御は、「TN放棄命令」及び
「TN割当命令」というプライマリ制御メツセー
ジを用いて行なわれる。同一のTNを要求する可
能性のある互いに競合する複数のプロセツサ・モ
ジユールの間にデツドロツク状態が発生すること
は決してなく、そのわけは、ネツトワークが、よ
り小さな番号を付けられているプロセツサの方に
優先権を与えるからである。そのTNを得ようと
したプロセツサのうちで優先権を得られなかつた
残りのプロセツサは「NAK/TNエラー」応答
を受取ることになり、この応答は、それらのプロ
セツサが別のTNを確保することを試みなければ
ならないということを表示するものである。従つ
て、それらのトランザクシヨン・アイデンテイテ
イの確保並びに照合を、システムの内部で及び局
所的に行なう際の、完全なフレキシビリテイが得
られている。 更に注目して頂きたいことは、TNの反復使用
は、「TN0」である基本伝送モードと、TNがゼ
ロより大きいマージ・モードとの間の、シフトに
よつて行なわれているということである。従つて
このシステムは、ただ1回のTNのブロードカス
ト式の伝送によつて、その動作の焦点だけでなく
その動作の性質をも変えることができる。 大域的ステータスの変化を伝達するための更に
別の、そして特に有用な方式は、第4図に関して
既に説明した強制パリテイ・エラーの伝播であ
る。この独特の表示方式は、その他の伝送の間に
はさみ込まれて伝送されると、中止されたシステ
ム資源が調査され、そして適切な動作が実行され
ることになる。 プロセツサ対プロセツサ通信 プロセツサ通信として、2種類の特別の形態の
ものがあり、その一方は特定の1つの転送先プロ
セツサへ向けて行なわれる通信であり、他方は、
1つのクラスに属する複数のプロセツサを転送先
として行なわれる通信である。これらの両タイプ
の伝送はいずれもDSWを利用しており、また、
これらの伝送はいずれも、ノン・マージ・モード
のブロードカストによつて実行される。 特に1つの発信元プロセツサと1つの転送先プ
ロセツサとの間での通信を行なう際には、DSW
の中に転送先プロセツサ識別情報(destination
processor identification:DPID)を入れて使用
する。第8図を参照しつつ説明すると、この
DPIDの値を用いて各々の受信プロセツサ・モジ
ユールのH.S.RAM26″の選択マツプ部分がア
ドレスされると、転送先として意図された特定の
プロセツサ・モジユールだけが、肯定的な応答を
発生してそのメツセージを受入れる。肯定応答が
送信され、しかもそれが最終的に成功裏に受信さ
れたならば、両者のプロセツサは、要求されてい
る将来の動作のいずれでも実行できる状態にな
る。 ある1つのメツセージを、ある1つの制御プロ
セスに関係する、1つのクラスに属する複数のプ
ロセツサが受信すべき場合には、DSW内のマツ
プ・ニブルとマツプ・アドレスとによつて、H.
S.RAMの選択マツプ部分の中の対応するセクシ
ヨンが指定される。そして、全ての受信プロセツ
サが夫々に肯定応答を送出し、それらの肯定応答
は、発信元プロセツサ・モジユールへ到達するた
めの競合を、この通信のための往復送受信が最終
的に完了するまで続けることになる。 全域ブロードカスト・モードのプロセツサ通信
は、プライマリ・データ・メツセージ、ステータ
ス・メツセージ、制御メツセージ、並びに応答メ
ツセージの、各メツセージの通信に用いることが
できる。優先順位プロトコルと、優先権を付与す
る機能を備えたネツトワークとの、両者の固有の
能力によつて、その種のメツセージをその他の種
類のメツセージのシーケンスの中に容易に挿入で
きるようになつている。 ハツシング・モードのプロセツサ選択は、リレ
ーシヨナル・データベース・システムにおけるデ
ータ処理のタスクを実行する際には、他から飛び
抜けて多用されるプロセツサ選択方式である。一
次的データ(=バツクアツプ用ではないメインの
データ)についての互いに素の(=同一の要素を
共有しない)複数のデータ部分集合と、バツクア
ツプ用データについての互いに素の複数のデータ
部分集合とが、適当なアルゴリズムに従つて、異
つた複数の二次記憶装置の中に分配されている。
1つのプロセツサが一次的データの部分集合を分
担し別の1つのプロセツサがバツクアツプ用デー
タの部分集合を分担しているためにそれら2つの
プロセツサが同時に応答した場合には、一次的デ
ータについてのメツセージの方に優先権が与えら
れる。この条件が補償されるようにするために
は、優先順位のより高いコマンド・コード(第1
2図参照)を選択するようにすれば良い。データ
ベースの信頼性及び完全性の維持も、以上の様々
なマルチプロセツサ・モードを利用することによ
つて達成され、その場合、発生した個々の状況に
対して最も有利なようにそれらのモードが適用さ
れる。例を挙げるならば、一次的データのある部
分集合を分担している二次記憶装置が故障した場
合には、特別のプロセツサ対プロセツサ通信を利
用してそれを更新することができる。またエラー
の訂正やデータベースの一部分のロールバツク
は、これと同様の方式で、或いはクラス・モード
で動作させることによつて、行なうことができ
る。 トランザクシヨン・ナンバの例 トランザクシヨン・ナンバという概念により、
マルチプロセツサ・システムの制御のための新規
にして強力なハードウエア機構が得られている。
本システムにおいては、トランザクシヨン・ナン
バは「大域的セマフオ」を構成しており、また、
ネツトワークに対するメツセージの送受信と、複
数のプロセツサに分配されたある1つの所与のタ
スクのレデイネス状態の確認との夫々において、
重要な役割りを果たしている。 トランザクシヨン・ナンバ(TN)は、H.S.
RAM26の中の16ビツト・ワードとして物理的
に実現されている。このワードは、様々な機能を
果たせるように、第12図に示すようなフオーマ
ツトとされている。TNはH.S.RAMに格納され
るため、マイクロプロセツサ105とネツトワー
ク・インターフエイス120とのいずれからもア
クセスすることができる。 大域的セマフオ 「セマフオ」という用語は、コンピユータ科学
関係の文献において、互いに非同期的に実行され
る複数の処理の制御に用いられる変数を指し示す
ための用語として、一般的に使用されるようにな
つている。セマフオは、中断されることのない1
回の操作でそれを「テスト・アンド・セツト」す
ることができるという性質をもつている。 一例として、「アンアサインド
(UNASSIGNED:割当てがなされていない状
態)」と、「アサインド(ASSIGNED:割当てが
なされている状態)」との2つの状態を取り得る
セマフオ変数について考察することにする。この
場合には、テスト・アンド・セツト動作は次のよ
うに定義される:もしセマフオが「アンアサイン
ド」状態にあつたならば、そのセマフオを「アサ
インド」状態にセツトして成功を表示すること;
反対にセマフオが既に「アサインド」状態にあつ
たならば、そのセマフオを「アサインド」状態の
ままにしておいて「失敗」を表示すること。従つ
て、このセマフオに拠れば、セマフオのテスト・
アンド・セツトに成功した処理は自らのタスクを
続行することができ、一方、それに失敗した処理
は、そのセマフオが「アンアサインド」状態にリ
セツトされるのを待つか、或いは、等価の別の資
源を制御している別のセマフオをテスト・アン
ド・セツトすることを試みるかの、いずれかを余
儀なくされる。容易に理解できることであるが、
仮にテスト・アンド・セツト動作が中断されるよ
うなことがあり得るとするならば、2つの処理が
同時に同じ資源にアクセスしてしまう可能性が生
じ、それによつて予測することのできない誤つた
結果が生じてしまうおそれがある。 いかなるマルチプロセツサ・システムも、シス
テムの資源へのアクセスを制御するために、セマ
フオと同一視することのできる概念を、ハードウ
エアによつて実際に具体化している。しかしなが
ら、従来のシステムは、1コピーのセマフオ(=
部数が1部のセマフオ、即ち1箇所だけに設けら
れるセマフオ)しか維持することができない。そ
こで、複数のコピーのセマフオ(=部数が複数の
セマフオ、即ち複数箇所に設けられるセマフオ)
を、各プロセツサに1コピーづつ設けて維持する
ようにすれば、単にテストするだけのセマフオの
アクセスのために競合が発生する回数を低減する
という目的と、後に説明するその他の用途に多価
のセマフオ変数を利用するという目的との、双方
のために望ましい。問題は、セマフオの多数のコ
ピーに対し、完全に同期した操作を加えねばなら
ないということであり、もしこのことが守られな
かつたならば、それを強化するためにセマフオが
設けられているところの、資源へのアクセスの完
全性が失われてしまうことになる。 複数コピーのセマフオ、即ち「大域的」セマフ
オは、本システムによつて提供される。次に示す
表は、大域的セマフオに関する動作を、単一セマ
フオ(1コピーのセマフオ)と対比したものであ
る。
【表】 本実施例のシステムにおいては、「TN割当
(ASSIGN TN)」コマンドと「TN放棄
(RELINQUISH TN)」コマンドとが、大域的
セマフオとして利用されているトランザクシヨ
ン・ナンバに対するテスト・アンド・セツト機能
とリセツト機能とを夫々に担つている。第12図
について説明すると、「NAK/TNエラー」応答
が失敗を表示し、一方、「SACK/アサインド」
応答が成功を表示する。 複数のノードを同期してクロツキングするため
に用いられている同期クロツキング方式や、全て
のプロセツサへ同時に最優先パケツトを伝送する
ブロードカスト動作をはじめとする、このネツト
ワークの特質は、大域的セマフオという概念を実
際に具体化する上での基礎を成すものである。こ
の概念が実施されているために、このシステムは
所望のシステム資源の複数のコピーの、その割付
け(アロケーシヨン)、割付け解除(デアロケー
シヨン)、並びにアクセスの制御を、単にその資
源にTNを付与することによつて行なえるように
なつている。ここで注目すべき重要なことは、分
散された資源の制御を、単一セマフオの場合と
略々同程度の小規模なソフトウエア・オーバヘツ
ドで、実行できるようになつているということで
ある。このことは従来のシステムに対する非常な
進歩であり、なぜならば、従来のシステムは、分
散型の資源を管理できないか、或いは、複雑なソ
フトウエアによるプロトコルが必要とされ且つハ
ードウエア的なネツクを生じてしまうかの、いず
れかだからである。 レテイネス状態 「ビズイ(BUSY)」、「ウエイテイング
(WAITING)」、「準備完了(READY)」(送信と
受信の夫々の準備完了)、「終了(DONE)」、及
び「非関与プロセツサ(NON−
PARTICIPANT)」から成る1組の値(第12
図参照)が、あるTNを付与されたタスクの、そ
のレデイネス状態を速やかに確認する能力を提供
している。このシステムでは、以上の各状態の意
味するところは、次の表が示すようになつてい
る。
【表】 「TN割当」コマンドを用いて、タスクへの
TNの付与が動的に行なわれるようになつてい
る。成功表示(「TN割当」メツセージに対する
「SACK/アサインド」応答)は、すべての動的
可能なプロセツサが成功裏にTNのタスクへの割
当てを完了したことを示す。第11図に関して注
目すべきことは、「NAK/TNエラー」応答は高
い優先順位(小さな値)をもつているため、いず
れかのプロセツサのネツトワーク・インターフエ
イス120がTNの使用に関する衝突を検出した
ならば、全てのプロセツサが失敗応答を受取ると
いうことである。更に、ネツトワーク上を伝送さ
れるこの失敗応答のOPID(発信元プロセツサID)
フイールドは、衝突のあつたプロセツサのうちの
第1番目の(付された番号が最小の)プロセツサ
を表示することになる。この事実は、診断ルーチ
ンに利用される。 各々のプロセツサは、ソフトウエアの働きによ
り、タスクを処理し、そしTNを「ビズイ」、「ウ
エイテイング」、「送信準備完了」、「受信準備完
了」、「終了」または「非関与プロセツサ」のうち
の該当するものにセツトする。最初の「TN割
当」を発令したプロセツサを含めどのプロセツサ
も、任意の時刻に、「ステータス・リクエスト」
コマンド或いは「マージ開始」コマンドを発令す
ることによつて、タスク(TN)がどの程度に完
了しているかという状態を容易に確認することが
できる。 「ステータス・リクエスト」は、多価の(=多
種の値を取り得る)大域的セマフオの1回のテス
トと同じことである。第11図から分るように、
優先順位が最も高いステータス応答(SACK)メ
ツセージがネツトワーク上の競合を勝ち抜き、そ
の結果、最も低いレデイネス状態が表示されるこ
とになる。更に、そのOPIDフイールドは、その
最低のレデイネス状態にあるプロセツサのうちの
第1番目の(付された番号が最小の)プロセツサ
のアイデンテイテイ(素性)を表示することにな
る。 この後者の特性を用いて、複数のプロセツサに
分配されたタスクの完了を「待機」するための、
「ノン・ビズイ(non−bysy)」の形態が定められ
ている。最初に「TN割当」を発令したプロセツ
サは初代も「ウエイト・マスタ」であるとされ
る。このプロセツサは次に、任意の基準に基づい
て、他のいずれかのプロセツサを新たな「ウエイ
ト・マスタ」に指定する。この新たな「ウエイ
ト・マスタ」は、それ自身が所望のレデイネス状
態に到達したならば、「マージ開始」或いは「ス
テータス・リクエスト」のいずれかを発令するこ
とによつて、全てのプロセツサに対する問合せを
行なう。もし他のプロセツサの全てが準備完了状
態となつていたならば、SACKがその旨を表示す
ることになる。もし幾つかのプロセツサが尚、準
備完了状態にはなかつたならば、SACK応答の
OPIDフイールドが、レデイネス状態が最低のプ
ロセツサのうちの第1番目のものを表示すること
になる。「ウエイト・マスタ」はそのプロセツサ
に対し、新しい「ウエイト・マスタ」になるよう
に命令する。結局最後には全てのプロセツサが準
備完了状態となるのであるが、それまでの間、こ
のシステムは、少なくとも一つのプロセツサが準
備完了状態に到達したことを知らされる都度、ス
テータスの問合せを試みるだけである。従つてこ
のシステムは、結果を出さずに資源を消費する周
期的なステータス問合せという負担を負わされる
ことがない。更にこの方式によれば、最後に完了
する処理が終了した丁度その時刻に、全てのプロ
セツサが仕事を完了したということをシステムが
確実に知ることになる。当業者には理解されるよ
うに、本発明の概念の範囲内でその他の多種多様
な「待機」の形態を採用することができる。 「マージ開始」コマンドは、1つの特殊な種類
のテスト・アンド・セツト命令である。大域的セ
マフオのステータスが「送信準備完了」または
「受信準備完了」である場合には、現在トランザ
クシヨン・ナンバ・レジスタ(PTNR)206
(第13図参照)が「マージ開始」メツセージ
(第3図参照)内のトランザクシヨン・ナンバの
値にセツトされ、これによつてPTNRレジスタ
の設定が行なわれる。作動中のプロセツサのいず
れかが、より低位のレデイネス状態にある場合に
は、PTNRの値は変更されない。 「マージ停止」コマンドは、以上の動作に対応
するリセツト動作であつて、すべての動作中のプ
ロセツサのPTNRを無条件に「TN0」にリセツ
トするものである。 後に説明するように、PTNRによつて指定さ
れている現在大域的タスク(current global
task)に関係するメツセージだけが、ネツトワー
ク・インターフエイス120から出力されるよう
になつている。従つて、「マージ開始」コマンド
及び「マージ停止」コマンドは、複数のタスクの
間でネツトワークを時間多重化、即ち時分割(タ
イム・マルチプレクシング)することのできる能
力を提供しており、従つてそれら複数のタスク
は、任意に中止、及び/または再開することがで
きるようになつている。 本発明の細部の特徴で重要なものに、ネツトワ
ーク・インターフエイス120が、ネツトワーク
からのコマンドによるTNのアクセスと、マイク
ロプロセツサ105によるTNのアクセスとが、
決して同時に行なわれないようにしているという
ことがある。本実施例においては、これは、受信
状態制御回路260から読出し/書込み状態制御
回路270へ送られている信号によつて達成され
ており、この信号は、TNを変更する可能性のあ
るネツトワークからのコマンドの処理が行なわれ
ているときには必ず「肯定」状態とされている。
この信号が「肯定」状態にある短い時間の間は、
プロセツサは、H.S.RAMへのアクセスを、制御
回路270によつて禁止されている。当業者には
理解されるように、本発明の範囲内で、以上の構
成の代りになる多種多様な代替構成を採用するこ
とができる。 受信制御 TNの更に別の機能に、入力メツセージの制御
がある。「TN割当」コマンドを用いることによ
つて、所与のタスクに対して、複数のプロセツサ
における入力メツセージ・ストリームを関連付け
ることができる。所与のプロセツサの中の当該タ
スクに割当てられているTNが「受信準備完了」
にセツトされているときには、そのTNは更に、
そのプロセツサが受入れる用意のあるパケツトの
個数を表わすカウント値を併せて表示している
(第12図)。ネツトワーク・インターフエイス1
20は、個々のパケツトを成功裏に受信するたび
毎にこのカウント値をデクリメントし(このデク
リメントはTNのワードから算術的に「1」を減
じることによつて行なわれる)、このデクリメン
トはこのカウント値がゼロに達するまで続けられ
る。カウント値がゼロに達したときには
「NACK/オーバラン」応答が発生され、それに
よつて、パケツトを送出しているプロセツサに対
し、このNACK応答を発しているプロセツサが
より多くの入力パケツトを受入れる用意ができる
まで待機しなければならないことが知らされる。
更にまた、第18図から分るように、このときに
はPTNRの「TN0」へのリセツトも併せて行な
われる。 以上の動作メカニズムにより、ネツトワークを
流通するパケツトの流れの制御を直截的に行なえ
るようになつている。またそれによつて、1つの
プロセツサに未処理のパケツトが多量に詰め込ま
れることがないように、そしてそのプロセツサが
システムにとつてのネツクになつてしまうことが
ないように、保証されている。 送信制御 第21A図について説明すると、同図から分る
ように、H.S.RAMに格納されている各メツセー
ジは、新TNベクタ(=ネクスト・メツセージ・
ベクタ)の値を収容するためのフイールドを含ん
でいる。メツセージを送信してそれに対する応答
を成功裏に受信したならば、この送信したばかり
のメツセージに含まれていた新TNベクタが、H.
S.RAMの中の現在トランザクシヨン・ナンバを
格納するためのアドレスへ(PTNRから転送さ
れて)格納される。従つて、TNは個々のメツセ
ージが送出されるたび毎に更新され、また、メツ
セージの伝送に成功した際にはTNが自動的に所
望の状態にセツトされるようにすることが可能と
なつている。 第12図について説明すると、「送信準備完了」
のTNのフオーマツトは、14ビツトのH.S.RAM
内のアドレスを含んでおり、このアドレスは、所
与のタスク(TN)に関して次に出力すべきパケ
ツトを指し示すのに用いられている。従つて、
H.S.RAMの中に格納されているTNは、種々の
タスクに関するメツセージの、先入先出式
(FIFO)待ち行列の、その先頭を指し示すヘツ
ド・ポインタとしての機能も果たしている。従つ
て、所与の1つのタスク(TN)に関する限りに
おいては、各プロセツサは、新TNベクタのチエ
ーンによつて定められた順序で、パケツトの送出
を試みることになる。 先に説明した、複数のTN(タスク)の間でネ
ツトワークを高速で多重化(マルチプレクシン
グ)するための機能と組合わせることによつて、
多くのプロセツサの間に分配された何組もの複雑
な組合せのタスクを、極めて小規模なソフトウエ
ア・オーバヘツドで管理できるようになることは
明らかである。ネツトワークと、インターフエイ
スと、プロセツサとの共同動作によつて提供され
ている構成は、そのコピーを数百個のプロセツサ
の間に分配することができ、更には数千個のプロ
セツサの間にすら分配することのできる資源及び
タスクに対して、資源の割付けと割付け解除、タ
スクの中止と再開、それにその他の制御を行なう
ための好適な構成である。 DSW(転送先選択ワード)の例 転送先選択ワード(第3図)は、DSWロジツ
ク190(第13図)及びH.S.RAM26(第8
図)のDSWセクシヨンと協働することによつて、
以下のことを可能とする複数のモードを提供する
ものである。即ち、それらのモードとは、各々の
受信プロセツサのネツトワーク・インターフエイ
ス120が、受信中のメツセージは当該ネツトワ
ーク・インターフエイスに組合わされているマイ
クロプロセツサ105によつて処理されることを
意図したものか否かの判定を、迅速に下せるよう
にするための複数のモードである。既に説明した
ように、受信メツセージの中に含まれている
DSWは、H.S.RAMのDSWセクシヨンに格納さ
れているニブルを選択すると共に、そのニブルと
比較される。 プロセツサ・アドレス 第8図に示されているように、H.S.RAMの
DSWセクシヨンの1つの部分がプロセツサ・ア
ドレス選択ニブルの格納にあてられている。本シ
ステムにおいては、搭載可能な1024個のプロセツ
サの各々に対して、H.S.RAMのこの部分に含ま
れているビツト・アドレスのうちの1つが関連付
けられている。当該プロセツサのID(アイデンテ
イテイ)に関連付けられたビツト・アドレスのビ
ツトは「1」にセツトされており、一方、このセ
クシヨン内のその他の全てのビツトは「0」にさ
れている。従つて各々のプロセツサは、このセク
シヨンの中の1つのビツトだけが「1」にセツト
されている。 ハツシユマツプ H.S.RAMのDSWセクシヨンの別の1つの部分
が、ハツシユ・マツプ(複数)の格納にあてられ
ている。本システムにおいては、マツプ選択ビツ
トのうちの2つのビツトがそれらのハツシユ・マ
ツプにあてられており、それによつて、4096個の
可能な値を全て含む完全な集合が2組得られてい
る。ハツシユト・モード(hashed mode)にお
いては、二次記憶装置に格納されているレコード
のためのキーが、ハツシング・アルゴリズムに従
つて設定され、それによつて0から4095までの間
の「バケツト」の割当てが行なわれる。所与の
「バケツト」に収容されているレコードを担当し
ているプロセツサは、そのアドレスが当該バケツ
トのバケツト・ナンバに対応しているマツプ・ビ
ツトの中に「1」のビツトがセツトされている。
その他のビツトは「0」にされている。複数個の
マツプ・ビツトをセツトするだけで、所与のプロ
セツサに複数のバケツトを担当させることができ
る。 この実施例の構成においては、容易に理解され
るように、マツプ・ビツトのセツテイングを以下
の方式で行なえるようになつている。即ち、その
方式とは、所与の1つのマツプ選択ビツトについ
ては、各ビツト・アドレスがただ一つのプロセツ
サにおいてのみ「1」にセツトされており、しか
も、いかなるビツト・アドレスも必ずいずれかの
プロセツサにおいて「1」にセツトされていると
いう方式である。この方式を採用したことの直接
の結果として、各々のプロセツサ(AMP)が、
データベースのレコードの互いに別個で互いに素
の部分集合を分担し、しかも、システムの全体と
しては、レコードの全てを含む完全な集合が存在
するようになつている。 以上の具体例はリレーシヨナル・データベース
の課題を例に引いて説明されているが、当業者に
は容易に理解されるように、課題の互いに素の部
分集合をマルチプロセツサ復合体の中の個々のプ
ロセツサに分担させることができる課題領域であ
ればどのような課題領域にでも、これと同じ方式
を適用することができる。 更にもう1つ注目に値することは、完全なマツ
プを2つ備えることによつて、以上に説明した方
式を、一方のマツプによれば所与のあるプロセツ
サに割当てられているバケツト、他方のマツプに
おいてはそれとは異なつたプロセツサに割当て得
るように、構成することができるということであ
る。ここで、一方のマツプを「一次的」なものと
し、他方のマツプを「バツクアツプ用」のものと
すれば、直接の帰結として、所与のあるプロセツ
サ上では一次的なものであるレコードが、別のプ
ロセツサ上では確実にバツクアツプされるように
することができる。更に、所与の1つのプロセツ
サをバツクアツプするプロセツサの個数について
は、いかなる制約もない。 当業者には理解されるように、本発明の範囲内
で実現できる互いに別個のマツプの数は3以上に
することもでき、また、バケツトの数も任意の個
数とすることができる。 クラス 先に説明したプロセツサ・アドレスとハツシ
ユ・マツプのいずれの場合にも、全てのプロセツ
サについてその所与の1つのビツト・アドレスを
調べれば、そのビツト・アドレスが1つのプロセ
ツサにおいてだけ「1」にセツトされており、そ
の他の全てのプロセツサ内の対応するビツト・ア
ドレスは「0」にセツトされていることが分か
る。しかしながら、複数のプロセツサ内において
対応するビツト・アドレスが「1」にセツトされ
ているような方式も可能であるし、有用でもあ
る。この方式は「クラス・アドレス」モードとい
われる方式である。 クラス・アドレスは、そのコピーが複数のプロ
セツサ内に存在する処理手順ないし機能の名称と
考えることができる。該当する処理手順ないし機
能を備えているプロセツサは、いずれも対応する
ビツト・アドレスに「1」ビツトがセツトされて
いる。 クラス・アドレスへ宛ててメツセージを送出す
るためには、DSW(第3図)内の該当するクラ
ス・アドレスがセツトされる。H.S.RAMの中の
該当する位置のビツトが「1」にセツトされてい
ることによつて当該クラスに「所属」しているこ
とが示されている全ての動作可能なプロセツサ
は、その送出されたメツセージ・パケツトに対し
て「ACK」で応答することになる。当該クラス
に所属していないプロセツサはNAPで応答する。 従つてDSWは、マルチプロセツサ・システム
内のメツセージの流れを制御するのに必要な経路
指定計算がハードウエアによつて行なわれるよう
にしている。また、プログラムを、システムの
様々な機能がいずれのプロセツサの中に備えられ
ているのかという知識とは、無関係なものとする
ことができる。更には、マツプはH.S.RAMの一
部であり、従つてマイクロプロセツサ105から
アクセスできるため、ある機能を1つのプロセツ
サから別のプロセツサへ動的に再配置することが
可能である。 マージの例 複雑なマルチプロセツサ・システムにおいて
は、一連の相互に関連した複数の動作の実行が、
タスクによつて必要とされることがある。これは
特に、複雑な問合せを取扱うリレーシヨナル・デ
ータベース・システムについて言えることであ
り、そのようなデータベース・システムにおいて
は、データをアセンブルしてフアイルを形成し、
しかもアセンブルされた後には特定の方式で複数
のプロセツサへ再分配できるようなフアイルを形
成するために、複数の二次記憶装置を参照するこ
とが必要とされることがある。以下に示す例は、
第1、第8、及び13図のシステムが、TNと、
DSWと、それに大域的セマフオとに対して操作
を加えることによつて、そのような機能をいかに
容易に実行できるようになつているかを、手短に
説明するものである。 まず第1に、マージ・コーデイネータ(典型的
な例としてはマージ・コーテイネータはIFP14
ないし16であるが、必ずしもそれに限られるも
のではない)が、ある1のフアイルをマージして
形成することになる(即ちデータ・ソースとして
機能する)1つのクラスに属する複数のAMPを、
(AMP18〜23の中から)識別する。割当てが
なされていない1つのTNが選択され、そしてデ
ータ・ソース機能を識別するために割当てられ
る。このフアイルを別の1組のAMP(それらは元
のデータ・ソースのプロセツサであつてもよい)
へ分配ないしハツシングするするという第2の主
要機能に対しては、そのときまで割当てをされて
いなかつた別のTNが割当てられる。 このマージ機能のためのコーデイネータは、第
1のTNに関係するフアイルの、マージングの作
業を行なうことになるクラスに属する複数のプロ
セツサを、DSWを用いて識別する。このマージ
ングの作業に関与する関与プロセツサは、その
TNのステータスのレベルを上昇させて「ビズ
イ」または「ウエイテイング」ステータスとし、
その後に、マージ動作の制御が、マージ動作に関
与している関与プロセツサのうちの1つへ渡され
る(即ちコーデイネータの仕事が委任される)。
以上の複数の関与プロセツサ(それら以外の全て
のプロセツサ・モジユールはそのトランザクシヨ
ン・ナンバに関しては非関与プロセツサである)
の各々は、このように規定されたマージのタスク
に関するメツセージ・パケツトを受信してそれに
対する肯定応答を送出した後には、そのプロセツ
サ自身のサブタスクの実行を、そのステータス・
レベルを適宜更新しながら進行させて行く。そし
て、マージ・コーデイネータの仕事を委任されて
いるプロセツサがそれ自身のタスクを終了したな
らば、そのプロセツサは、その他の全ての関与プ
ロセツサに対して、当該トランザクシヨン・ナン
バに関するステータスを知らせるよう、ステータ
ス・リクエストを送出し、それによつて、関与プ
ロセツサのうちでレデイネス状態が最低のプロセ
ツサを表示している応答を受取ることができる。
マージ動作の制御は、このレデイネス状態が最低
のプロセツサへ渡され、この後には、このプロセ
ツサが、自身の作業が終了した際にその他全ての
関与プロセツサをポーリングすることができるよ
うになる。以上のプロセスは、必要とあらば、関
与プロセツサの全てが準備完了状態となつている
ことを示す応答が受信されるまで、続けさせるこ
とができる。そのような応答が受信された時点に
おいてコーデイネータとして働いていたプロセツ
サは、続いて、DSWを利用して当該クラスに属
している関与プロセツサを識別しつつ、H.S.
RAM26へのメツセージの転送を開始し、この
メツセージの転送に伴なつて、ステータス・レベ
ルが該当する出力メツセージ・ベクタ情報により
「送信準備完了」へと更新される。これに続いて
実行されるポーリングの結果、全ての関与AMP
が送信準備完了状態にあることが判明したなら
ば、コーデイネータは、その特定のTNについて
のマージ開始コマンドを発令する。 マージ動作が実行されている間に、処理済のデ
ータ・パケツトは、結果をリレーシヨナル・デー
タベースに従つて二次記憶装置へ分配するための
1つのクラスに属する複数のプロセツサ・モジユ
ールへ宛てて、転送されることになる。それらの
複数の受信プロセツサが、このとき発信元となつ
ている複数のプロセツサと同じものであると否と
にかかわらず、この分配に関与するクラスに所属
する関与プロセツサ(即ち上記受信プロセツサ)
は、DSWによつて識別され、またそのトランザ
クシヨンは新たなTNによつて識別される。この
新しいトランザクシヨンに関わる関与プロセツサ
の全てに対して、この新たなTNが割当てられる
ことになり、また、それらの関与プロセツサは、
それらのレデイネス状態のレベルを上昇させて
「受信準備完了」とすることになる。このDSW
は、クラス指定ではなく、ハツシング選択指定の
ものとすることもできるが、いずれの場合におい
ても、マージが実行されている間は、関与プロセ
ツサの全てが、ブロードカストされるメツセージ
を受信できる状態におかれている。「マージ開始」
が発令されたならば、送出動作に関与すべき送出
関与プロセツサの各々から複数のメツセージ・パ
ケツトが、しかも夫々のプロセツサから互いに同
時に、ネツトワーク上へ送出され、それらのメツ
セージ・パケツトに対しては動的に(=伝送中
に)優先権の判定が行なわれる。各々の送出関与
プロセツサが、それ自身の1組のメツセージを送
信完了したならば、それらの各々の送出関与プロ
セツサは、一定の形に定められている「エンド・
オブ・フアイル(End of File)」メツセージの
送信を試み、この「エンド・オブ・フアイル」メ
ツセージは種々のデータメツセージより優先順位
が低い。関与プロセツサの全てが「エンド・オ
ブ・フアイル」メツセージを送出するようになる
までは、この「エンド・オブ・フアイル」メツセ
ージはデータ・メツセージとの競合に敗退し続
け、そして全ての関与プロセツサから送出される
ようになつたならば、ようやく、「エンド・オ
ブ・フアイル」メツセージの転送が達成される。
この転送が達成されると、コーデイネータは「エ
ンド・オブ・マージ(End of Merge)」メツセ
ージを送出し、また、それに続いて「TN放棄」
を実行することができ、この「TN放棄」によつ
てこのトランザクシヨンは終了する。オーバラン
状態、エラー状態、ないしはロツク状態に対して
は、マージ即ち送信を始めからやり直すことによ
つて適切に対処することができる。 ある1つのTNに関するマージ動作が終了した
ならば、このシステムは、TNのシーケンスの中
の、続く次のTNへとシフトすることができる。
この新たなTNに該当する複数のメツセージ・パ
ケツトの待ち行列を、各々のプロセツサ・モジユ
ールが作り終つたならば、それらのプロセツサ・
モジユールは、マージ動作を実行させるためのネ
ツトワークに対する働きかけを再び開始すること
が可能となる。個別に実行されるプロセツサ内マ
ージ動作に加え、更に以上のようにネツトワーク
内マージ動作が効率的に利用されるために、この
システムは、従来のシステムに対して著しく優れ
た、極めて大規模なソート/マージ・タスクを実
行することができるようになつている。本発明を
採用した場合に、システム内のある1つのフアイ
ルをソートするために必要な時間は、レコードの
個数をn個、プロセツサの個数をm個とすると
き、以下の式で表わすことができる。 C1n/mlog2n/m+C2n この式において、C2は定数であり、この実施
例に関しては、100バイト・メツセージが用いら
れている場合には約10マイクロ秒と見積られ、ま
たC1は、典型的な16ビツト・マイクロプロセツ
サが使用されている場合に、約1ミリ秒と見積ら
れる定数である。様々に組み合わせたnとmとの
組合せに対する、概略のソート/マージ時間が、
秒を単位として次の表に示されており、それらの
値は100バイト・レコードが用いられている場合
の値である。
【表】 以上の表に示されている具体例の数字を従来の
システムと比較して評価するのは容易なことでは
ない。その理由は、相互に関連を有する2種類の
ソート処理シーケンス(プロセツサによるソート
とネツトワークによるソート)が関与しているか
らであり、たま、そもそも、かかる能力を有する
システムが殆んど存在していないからである。更
に、本システムではその長さが長大でしかも可変
なメツセージがソート及びマージされるのに対し
て、一般的な多くのソート能力は、数バイトない
し数ワードについて能力評価がなされている。 更に別の重要な要因として、本システムはマル
チプロセツサそのものであつて、ソート/マージ
処理の専用システムではないということがある。
本システムは、局所的にも大域的にも、マージ動
作とノン・マージ動作との間を完全なフレキシビ
リテイをもつてシフトすることができ、しかもこ
のシフトを、ソフトウエア的な不利益を生じるこ
となく、また、システム効率に損失を生じさせる
こともなく、行なえるようになつている。 タスク・リクエスト/タスク応答のサイクルの例 第1図に関し、ネツトワーク50に接続されて
いるプロセツサ14,16、ないし18〜23は
いずれも、他の1個または複数個のプロセツサに
タスクを実行させるためのタスク・リクエスト
を、メツセージ・パケツトの形態の然るべきフオ
ーマツトで形成する機能を有している。リレーシ
ヨナル・データベース・システムにおいては、こ
れらのタスクの殆んどはホスト・コンピユータ1
0,12をその発生源とし、インターフエイス・
プロセツサ14,16を介してシステム内へ入力
されるものであるが、ただし、このことは必要条
件ではない。然るべきフオーマツトで形成された
このメツセージ・パケツトは、他のプロセツサか
らのパケツトとの間で争われるネツトワーク上の
競合の中へ投入され、そして、他のタスクの優先
順位のレベル並びにこのプロセツサにおける動作
状態のレベル次第で、時には優先権を得ることに
なる。タスクは、1つのメツセージ・パケツトに
よつてその内容を指定されていることもあり、ま
た、複数の継続パケツトによつて指定されている
こともあるが、後に続く継続パケツトは、デー
タ・メツセージのグループ(第11図参照)の中
では比較的高い優先順位レベルを割当てられ、そ
れによつて、後に続く部分を受信するに際しての
遅延ができるだけ短くなるようにしている。 メツセージ・パケツトには、トランザクシヨ
ン・アイデンテイテイ(=トランザクシヨン識別
情報)が、トランザクシヨン・ナンバの形で含ま
れている。このトランザクシヨン・ナンバは、処
理結果を引き出す上での方式に関するモードであ
るノン・マージ・モード即ちデイフオルト・モー
ド(「TN0」)と、マージ・モード(「TN0」以外
の全てのTN)とを、選択に応じて区別するとい
う性質を本来的に備えている。更に、メツセー
ジ・パケツトにはDSWが含まれている。この
DSWは、実質的に、転送先プロセツサとマルチ
プロセツサ動作のモードとを指定するものであ
り、この指定は、特定のプロセツサの指定、複数
のプロセツサから成るクラスの指定、或いはハツ
シングの指定によつて行なわれ、本実施例におい
ては、ハツシングは、リレーシヨナル・データベ
ースの一部分のハツシングである。ネツトワーク
50を介してターゲツト・プロセツサ(指定転送
先プロセツサ)へブロードカストされるメツセー
ジ・パケツトは、そのプロセツサにおいて局所的
に受入れられて(=そのプロセツサ自身への受入
れが適当であるとの判断がそのプロセツサ自身に
よつてなされて)、そして、受信した旨の認証が
肯定応答(ACK)によつて行なわれる。プロセ
ツサ14,16及び18〜23の全てが、EOM
(エンド・オブ・メツセージ)のあとに続いてネ
ツトワーク50へ互いに同時に応答を送出する
が、しかしながら、指定転送先プロセツサから送
出されたACKが優先権を獲得し、そして発信元
プロセツサに受信されることになる。 続いて指定転送先プロセツサは、送られてきた
メツセージが、局所H.S.RAM(=個々のプロセ
ツサ・モジユールに備えられているH.S.RAM)
とインターフエイス120と(第8図及び第13
図)を介して局所マイクロプロセツサに転送され
るときに、このリクエスト・パケツト(=送られ
てきたメツセージ)が要求している処理を非同期
的に(=当該プロセツサ・モジユール以外の要素
とは同期せずに)実行する。リレーシヨナル・デ
ータベースに関するタスクが実行される場合に
は、DSWは互いに素のデータ部分集合(この部
分集合はその部分集合のためのデイスク・ドライ
ブに格納されている)のある部分を指定するのが
通常の例であるが、ただし、時には、格納されて
いるデータベースを参照することを必要としない
タスクが実行されることもある。特定の演算やア
ルゴリズムを個々のプロセツサによつて実行する
ようにしても良く、また指定転送先プロセツサと
して複数のプロセツサが指定された場合には、そ
れらのプロセツサの各々が、タスク全体の互いに
素の部分集合についての仕事を実行するようにす
ることができる。可変長のメツセージ・パケツト
は、リクエスト・メツセージによつて、実行すべ
き動作とデータベース・システム内の参照すべき
フアイルとの指定が行なえるように構成されてい
る。ここで注意すべきことは、所与の1つのタス
クに関するメツセージ・パケツトが大量に存在し
ている場合もあるということであり、その場合に
は、ネツトワークの内部で行なわれるソートのた
めの弁別基準となる適当な特徴を付与するため
に、任意採用可能なキー・フイールド(第3図)
が重要になつてくるということである。 応答を行なおうとしている各プロセツサによつ
て発生されるタスク応答パケツトは、マイクロプ
ロセツサから、第1図の制御ロジツク28を介し
て局所H.S.RAM26へと転送され、そこでは、
タスク応答パケツトは第21A図の送出メツセー
ジ・フオーマツトの形で格納される。タスク応答
が、継続パケツトの使用を必要とするものである
場合には、そのような継続パケツトは先頭パケツ
トの後に続いて、ただし継続のためのより高い優
先順位を与えられた上で、送出される。システム
が、マージ・モードで動作しており、且つ、各々
のプロセツサがある1つのトランザクシヨン・ナ
ンバに関する多数のパケツトを発生している場合
には、それらのパケツトを先ず局所的に(=個々
のプロセツサの内部において)ソート順でチエー
ンし、その後に、ネツトワーク50上でマージを
行なうことによつて大域的なソート順に並べるよ
うにすることができる。 タスク結果パケツトは、プロセツサ14,16
及び18〜23からネツトワーク50へ、同時送
出パケツト群を成すように送出され、そして1つ
の最優先メツセージ・パケツトが、所定のネツト
ワーク遅延ののちに、全てのプロセツサへブロー
ドカストにより送り返される。それらのタスク結
果パケツトの転送は、そのタスクの性質に応じ
て、最初にリクエスト・メツセージを発信した発
信元プロセツサをその転送先として行なわれるこ
ともあり、また、1個ないし複数個の他のプロセ
ツサを転送先として行なわれることもあり、更に
は、既に説明した複数のマルチプロセツサ・モジ
ユールのうちのいずれのモードで転送を行なうこ
ともできる。リレーシヨナル・データベース・シ
ステムにおいて最も一般的に行なわれる事例は、
ハツシングを利用して転送先の選択を行ないつ
つ、マージと再分配とを同時に実行するというも
のである。従つてそのことからも理解されるよう
に、「タスク・リクエスト/タスク応答」のサイ
クルの中では、各々のプロセツサが、発信元プロ
セツサとしても、コーデイネータ・プロセツサと
しても、また、応答側プロセツサとしても動作す
ることができ、更には、それらの3つの全てとし
て動作することもできるようになつている。多く
の「タスク・リクエスト/タスク応答」サイクル
が関与してくるため、プロセツサ14,16及び
18〜23、並びにネツトワーク50は、それら
のタスクの間で多重化(マルチプレクシング)さ
れるが、ただしこの多重化は、時間を基準にする
と共に更に優先順位をも基準にして行なわれる。 複雑な問合せの例 リレーシヨナル・データベース・システムにお
いては、ホスト・コンピユータ10,12を利用
して、また更に、タプル(tuples)と一次的デー
タ及びバツクアツプ用データの互いに素のデータ
部分集合とを規定するアルゴリズムに従つてリレ
ーシヨナル・データベースを複数のデイスク・ド
ライブ38〜43の間に分配するようにした分配
法を利用して、複雑な問合せがホスト・コンピユ
ータ10または12から、IFP14または16を
介してシステムへ入力される。この入力された問
合せのメツセージ・パケツトは、先ず最初にIFP
14または16によつて詳細に解析され、この解
析は、ホスト・コンピユータからのメツセージ
を、AMP18〜23に対してタスクの実行を要
求するための複数のタスク・リクエストへと変換
するために行なわれるものである。IFP14ない
し16は、その動作を開始するに際して、1個な
いし複数個の特定のAMPから情報を引き出すた
めのリクエスト・パケツトを送出し、それによつ
て、ホスト・コンピユータからのメツセージのシ
ステム詳細な解析に必要なシステム内データを得
ることが必要な場合もある。ホスト・コンピユー
タからのリクエストの処理に必要なデータを得た
ならば、IFP14ないし16は、AMP18〜2
3との間で何回かの「タスク・リクエスト/タス
ク応答」サイクルを実行することができ、また、
データを実際に処理して、ホスト・コンピユータ
からのリクエストを満足させることができる。以
上の処理シーケンスにおいては、上に挙げたタス
ク・リクエストとタスク応答とから成るサイクル
が用いられ、また、そのサイクルは任意の長さに
亙つて継続することができる。続いて、IFP14
ないし16は、IFPインターフエイスを介してホ
スト・コンピユータと通信する。ホスト・コンピ
ユータへのこの応答は、単に、ホスト・コンピユ
ータ10または12が次の複雑な問合せを発生す
るために必要とするデータを提供するためのもの
であることもある。 (独立型マルチプロセツサシステム) 第1図に関連して先に説明した本発明に係るシ
ステムの基本的実施例は、ホスト・コンピユータ
並びに現在使用されているホスト・コンピユータ
用のソフトウエア・パツケージと組み合わせて使
用することのできる、後置プロセツサ(バツクエ
ンド・プロセツサ)の例を示すものである。しか
しながら、既に言及したように、本発明は広範な
種々の処理用途において、また特に、大容量の中
央処理能力を必要とすることなく処理タスクを容
易に細分及び分配できるような種類の処理用途に
おいて、格別の利点を有するものである。第20
図は、本発明に係る独立型(スタンド・アローン
型)マルチプロセツサ・システムの簡単な構成の
一実施例を図示している。第20図において、複
数のプロセツサ300はいずれもインターフエイ
ス302を介して能動ロジツク・ネツトワーク3
04へ接続されており、このネツトワークは既に
説明したものと同様のネツトワークである。デー
タの完全性を強化するために、冗長性を有する能
動ロジツク・ネツトワーク304を採用するよう
にしても良い。この実施例においても、プロセツ
サ300には16ビツト・マイクロプロセツサ・チ
ツプを使用することができ、また、充分な容量の
メインRAMメモリを組込むことができるように
なつている。この図には9つのプロセツサ300
のみが示されており、また、それらのプロセツサ
の各々には異なつた種類の周辺機器が接続されて
いるが、これは、このシステムの多用途性を示す
ためである。実際には、このシステムは更に多く
のプロセツサをネツトワークに備えることにより
はるかに効率的になるのであるが、しかしなが
ら、比較的少数のプロセツサしか備えていない場
合であつても、システムの信頼性とデータの完全
性と関して格別の利点が得られるものである。 この実施例においては、複数のプロセツサ30
0を不便のない充分な距離をとつて互いから物理
的に離隔させることができ、それは、データ転送
速度が先の実施例について述べた速度である場合
にノード間の最大間隔が28フイート(5.5m)に
もなるため、大規模なアレイを成す複数のプロセ
ツサを、建物の1つのフロア、ないしは隣接する
幾つかのフロアの上に、むやみに込み合うことの
ないように設置して、利用することができるから
である。 独立型システムでは、先に説明した後置プロセ
ツサの実施例の場合と比較して、周辺機器コント
ローラ並びに周辺機器それ自体に、はるかに多く
の種類のものが用いられる。ここでは便宜的に、
個々の入出力デバイスは、夫々が別個のプロセツ
サに接続されているものとする。例えば、キーボ
ード312とデイスプレイ314とを備えた入出
力端末装置310は、端末コントローラ320を
介して、同端末装置310のためのプロセツサ3
00に接続されている。ただし、比較的動作速度
が遅い端末装置の場合には、かなりの規模の端末
装置ネツトワークを1個の16ビツト・プロセツサ
で制御することも不可能ではない。この図示の入
出力端末装置は、手動操作キーボード等の手動操
作入力処理装置がどのようにしてシステムに接続
されるのかについての一例を示しているにすぎな
い。プロセツサ300の処理能力を利用してこの
端末装置310をワードプロセツサとして構成す
ることもでき、そしてこのワードプロセツサが、
ネツトワーク304を介してデータベースや他の
ワードプロセツサ、或いは種々の出力装置と通信
できるようにすることもできる。例えばリジツ
ド・デイスク・ドライブ322等の大容量二次記
憶装置を、デイスクコントローラ324を介し
て、その記憶装置のためのプロセツサに接触する
ことができる。また、容易に理解されるように、
大規模システムには、より多数のデイスク・ドラ
イブを用いたり、或いは異なつた形態の大容量記
憶装置を用いるようにすれば良い。プリンタ32
6並びにプロツタ330等の出力装置は、夫々、
プリンタ・コントローラ328とプロツタ・コン
トローラ332とを介して、それらの出力装置の
ためのプロセツサ300にインターフエイスして
いる。不図示の他のシステムとの間の対話は通信
コントローラ338を介して、そして通信システ
ム336を経由して行なわれ、通信システム33
6としては例えば、テレタイプ・ネツトワーク
(TTY)や、更に大規模なネツトワークのうちの
1つ(例えばエサーネツト(Ethernet))等が用
いられる。プロセツサ300のうちの幾つかが、
周辺装置を接続することなく単にネツトワーク3
04に接続されることもある(不図示)。 双方向のデータ転送が行なわれる可能性がある
のは、テープ・ドライブ(テープ駆動機構)34
0及びテープ・ドライブ・コントローラ342が
用いられている場合、それに、コントローラ34
6が接続されたフロツピ・デイスク・ドライブ3
44が用いられている場合等である。一般にテー
プ・ドライブは、オン・ライン接続して使用する
際の大きな記憶容量を提供するばかりでなく、デ
イスク・ドライブのバツクアツプにも利用可能で
ある。このバツクアツプの目的には、密閉式リジ
ツド・デイスク装置に、ある時点までに格納され
たデータを保存するためにテープが用いられる。
このようなバツクアツプ動作は、通常、低負荷の
時間帯(例えば夜間または週末等)に行なわれる
ため、ネツトワーク304を用いて長い「ストリ
ーミング」転送を行なうことができる。更には、
システムの初期設定の際のプログラムの入力のた
めには、フロツピ・デイスク・ドライブ344が
使用されることがあるため、ネツトワークの使用
時間のうちの幾分かをこの「ストリーミング」の
モードにあてて、かなりの量のデータを転送する
こともできる。光学文字読取器350は、更に別
の入力データのソースとして機能するものであ
り、その入力データは、そのコントローラ352
を介してシステムへ入力される。尚、単に「他の
装置354」とだけ記されている周辺装置は、コ
ントローラ356を介してシステムに接続するこ
とによつて、必要に応じたその他の機能を発揮す
るようにすることができるものである。 別々のプロセツサ・モジユールから夫々のメツ
セージ・パケツトを互いに同時に送出し、そして
それらのメツセージ・パケツトに対して優先権の
判定を行なつて、1つの、或いは共通の最優先メ
ツセージ・パケツトが所定の一定の時間内に全て
プロセツサ・モジユールへ同時にブロードカスト
されるようにするという方式を使用しているた
め、オン・ライン状態にある個々のプロセツサの
いずれもが、このシステム内の他のプロセツサ・
モジユールに等しくアクセスできるようになつて
いる。優先順位を付与されたトランザクシヨン・
ナンバ並びにレデイネス状態表示と、メツセージ
内に含まれた転送先選択エントリとを利用してい
るこの大域的セマフオ・システムによつて、どの
プロセツサもコントローラとして働くことが可能
となつているため、このシステムは、階層的な方
式でも、また非階層的な方式でも動作可能となつ
ている。本システムが、ソフトウエアの精査や変
更を必要とすることなく拡張或いは縮小すること
ができるということも、非常に重要である。 既に説明したメツセージ長さよりかなり長い
が、なお比較的長さの限られているメツセージに
対するアクセスが必要な場合であつても、そのよ
うなアクセスを実行することができる。例を挙げ
れば、複雑なコンピユータ・グラフイクス装置
(不図示)に関して、精巧な2次元図形及び3次
図形を作成するために、膨大なデータベースの特
定の部分にだけアクセスすることが必要とされる
場合がある。また、ワード・プロセツサ・システ
ムに関して、オペレータ(操作者)の操作速度が
遅いために、データベースのうちから、一度に僅
かなデータのシーケンスのみが必要とされる場合
もある。これらの状況、並びにそれに類似した状
況においては、本システムの、可変長のメツセー
ジを取扱うことのできる能力、並びに継続メツセ
ージに優先権を付与することのできる能力が有益
なものとなる。処理能力を集中させることを必要
とする状況や、甚だしく長いメツセージの転送を
必要とする状況は、このシステムの使用に限界を
与えるが、それ以外の状況においては、本システ
ムは非常に有利に機能する。種々の異なつたデー
タ形式の操作とそれに伴なうのソート機能ないし
マージ機能関わる動的な状況は、いずれも本発明
が有利に機能する状況に該当する。複雑なデータ
を収集し、照合し、そして解析することを含む経
営意志決定はその種の状況の一例であり、また、
定期刊行物のための、映像入力や図形入力の作成
及び編集も、その一例である。 (結論) 当業者には明らかなように、第1図のシステム
は、ソフトウエアを変更することを必要とせずに
そこに含まれるプロセツサの個数を任意の個数に
(ただしデータ転送容量によつて決定される実際
上の限界の個数までに)拡張することが可能であ
る。更にこれも明らかなことであるが、同図のシ
ステムは、夫々の処理装置のステータスの確認、
タクス並びにプロセツサの優先順位の設定、それ
にプロセツサの処理能力の効率的な利用の確保の
ための、管理及びオーバーヘツトのソフトウエア
の必要量を大幅に減少させている。 明白な利益が得られるのは、データベース・シ
ステムや、その他の、データベース・システムと
同様に1つのタスクの全体を、互いに独立して処
理することのできる複数のサブタスクへ細分する
ことが適当なシステム等の場合である。例えばリ
レーシヨナル・データベースに関して言えば、二
次記憶装置の容量が格段に増大した場合にも、更
になるデータベースを一次的データとバツクアツ
プ・データとからなるデータ構造の中に適切に統
合するだけで良いのである。換言すれば、ネツト
ワークを限りなく拡張することが可能であり、そ
れが可能であるのは、標準化された交点装置即ち
ノードを2進数的に発展して行く接続方式で連結
しているために、それらの個々のノードにおいて
実行される機能が拡張によつて変化することがな
いからである。更には、ノードの動作についての
設定処理シーケンスや外部制御も不要である。従
つて本発明に係るシステムが、第1図に示されて
いるように、1台ないし複数台のホスト・コンピ
ユータのバツクエンド・プロセツサとして機能す
るように接続されている場合には、システムのユ
ーザはオペレーテイング・システムのソフトウエ
アも、応用ソフトウエアも変更することなしに、
データベースを任意に拡張(或いは縮小)するこ
とができる。ホスト・プロセツサ・システム(=
ホスト・コンピユータ)の側から見れば、このバ
ツクエンド・プロセツサはその構成の如何にかか
わらず「透明な」ものとなつており、なぜならば
その構成が変化してもこのバツクエンド・プロセ
ツサとホスト・プロセツサ・システムとの間の対
話の態様には変化は生じないからである。このバ
ツクエンド・プロセツサに別のホスト・プロセツ
サ・システムの仕事をさせるように切り換えるた
めには、単にIFPがその新たなホスト・プロセツ
サ・システムのチヤネルないしバスとの間で適切
に会話するようにするだけで良い。 ある実機の具体例においてネツトワークの構成
に拠れば、ネツトワーク内のメツセージ転送に甚
だしい遅延を生じることなく、またプロセツサ間
の競合に起因する不適当な程の遅延も生じること
なしに、1つのアレイに1024個までのマイクロプ
ロセツサを包含して使用することができるように
なつている。本明細書で説明した実施例を、1024
個を超えるプロセツサを含むように拡張するには
どのようにすれば良いかは、当業者には明白であ
ろう。1つのシステムに1024個のプロセツサを用
いる場合、実機の具体例では能動ノード間の最大
ライン長さは28フイートになることが分つてお
り、このライン長さであればアレイを構成する上
で問題が生じることはない。ネツトワークに起因
する遅延時間は、いかなるメツセージについても
一定の時間2τNであり、ここでτはバイト・クロ
ツクの間隔、Nは階層構造の中の階層の数であ
る。明らかに、階層を更に1つ増することによつ
てプロセツサの個数を倍にしても、遅延時間は僅
かに増加するに過ぎない。データ・メツセージで
あれば略々必然的に長いメツセージとなるため
(約200バイト程度の長さとなる)、また、競合す
るメツセージの全てについての優先権の判定が、
データをネツトワークに沿つて転送している間に
行なわれるため、このネツトワークは従来のシス
テムと比較して、はるかに高い利用効率でデー
タ・メツセージの転送を行なえるものとなつてい
る。 本システムの重要な経済上の特徴並びに動作上
の特徴のなかには、標準化された能動ロジツク回
路がソフトウエアの替わりに、そして更にはネツ
トワーク・システムにおけるフアームウエアの替
わりにも用いられているという事実によつて得ら
れている特徴がある。即ちこの事実によつて、近
代的なLSI並びにVLSIの技術を利用してプロセ
ツサのコストと周辺装置のコストとを含めた全体
のコストに対して相対的に低コストで、信頼性の
高い回路を組込むことができるようになつている
のである。 ソフトウエアに時間と経費とを費やさねばなら
ないのは、データベース管理等の問題領域のタス
クに関係するような、重要な部分についてだけに
限定されている。例を挙げれば、本システムの構
成に拠れば、データベースの完全性を維持するた
めに必要な諸機能の全てを、メツセージ・パケツ
トの構成並びにネツトワークの構成に基づく範囲
内で実行し得るようになつている。ポーリング、
ステータスの変更、並びにデータの復旧等の機能
はシステムの内部において実行される。 更に別の重要な考慮すべき点として、本発明の
ネツトワークは、その高速データ転送の性能が、
従来のオーミツクな配線バスに充分匹敵する程に
優れたものであるということがある。複数のメツ
セージ・パケツトが互いに同時に送出され、それ
らが伝送されている間に優先権の判定がなされる
ため、従来の方式においてステータス・リクエス
トとそれに対する応答の送出、並びに優先権の判
定に伴なつていた遅延が、回避されているからで
ある。更には、プロセツサの個数が莫大な個数で
あつてもノード間の接続構造の長さを所定の長さ
以下に抑えることが可能であるため、バス内の伝
播時間がデータ転送速度に対する制約となること
がない。 本システムは、マイクロプロセツサ及びネツト
ワークの使用効率という点において最適状態に迫
るものであることが判明している。これらの点に
関して重要なことは、全てのマイクロプロセツサ
がビズイ状態に保たれるようにすることと、ネツ
トワークが一杯に有効利用されるようにすること
とである。「IFP−ネツトワーク−AMP」の構成
は、事実上それらのことを可能にしており、その
理由は、自らが送出したネツトワーク・パケツト
が優先権を獲得するための競合において敗退した
マイクロプロセツサは、なるたけ早い適当な時刻
に再度送信を試みるだけで良く、そのためバスの
デユーテイ・サイクルが高いレベルに維持される
からである。高速ランダム・アクセス・メモリも
またこの効果を得るために寄与しており、なぜな
らば、高速ランダム・アクセス・メモリは処理す
べき入力メツセージ・パケツトと送出すべき出力
メツセージ・パケツトとの両方をその内部に集積
しているため、各々のプロセツサが作業のバツク
ログを常時入手できると共に、ネツトワークもま
たメツセージパケツトのバツクログを入手できる
ようになつているからである。全ての入力バツフ
アが満杯になつたならば、プロセツサがその事実
を知らせる表示をネツトワーク上へ送出する。ま
た、IFPに用いられている、ホスト・コンピユー
タからのメツセージを受取るための入力バツフア
が満杯になつたならば、そのことを知らせる表示
がチヤネル上に送出される。従つて本システム
は、内部的にもまた外部的にも自己調歩式となつ
ている。 本システムは、以上に説明したようなアーキテ
クチヤとメツセージの構成とを利用することによ
つて、汎用マルチプロセツサ・システムに必要と
されるその他の多くの機能をも実行できるように
構成されている。例えば従来技術においては、大
域的資源のステータスの変化を評価及び監視する
ための方式に関して非常な注意が払われていた。
これに対して本発明に拠れば、パリテイ・エラー
の発生とプロセツサの使用可能性の変化という事
実との両方を伝達するための手段として、パリテ
イ・チヤネルのみが備えられ使用されている。1
個ないし複数個のプロセツサがシヤツト・ダウン
した場合には、そのシヤツト・ダウンが、その発
生と略々同時にシステム中に伝達され、それによ
つて割込みシーケンスの実行を開始することがで
きるようになつている。複数の応答を優先順位に
従つてソートするという方式が採用されているた
め、大域的な能力の変化が生じた場合にその変化
がどのような性質のものであるかを、従来と比較
してはるかに小規模の回路とシステム・オーバヘ
ツドとによつて特定することが可能となつてい
る。 大域的セマフオと能動ロジツク・ネツトワーク
とを採用したことによつて達成されている、一回
の問合せにより優先権の判定を経て得られる大域
的応答は、非常に深いシステム的な意味を持つて
いる。この方式により問合せをブロードカストす
ることによつて曖昧性のない一義的な大域的結果
が得られるため、複雑なソフトウエア並びにオー
バヘツドが不要とされている。分散型更新等のス
テータス設定動作は、多数の同時動作が複数の異
なつたプロセツサで実行されている際にも実行可
能となつている。 本システムは更に、以上のようなネツトワーク
とトランザクシヨン・ナンバと転送先選択ワード
とを用いることによつて、マルチプロセツサ・シ
ステムにおける仕事の分配並びに処理結果の収集
に関する優れた能力を発揮している。種々のマル
チプロセツサ・モードと制御メツセージとを利用
することができ、また、優先順位のプロトコルを
操作するだけで、優先順位の種々のレベルを容易
に設定しまた変更することができるようになつて
いる。全てのプロセツサへ同時にブロードカスト
することのできる能力と、ネツトワーク中でメツ
セージのソートを行なえる能力とが組み合わさる
ことによつて、いかなるプロセツサ・グループ或
いはいかなる個々のプロセツサを転送先とするこ
とも可能となつていると共に、処理結果を適切な
順序で引き出すことも可能となつている。従つ
て、リレーシヨナル・データベース・システムに
対する複雑な問合せが入力されたならば、そのこ
とによつてデータベース動作に必要なあらゆる処
理シーケンスが開始されるようになつている。 本システムの更に別の利点は、リレーシヨナ
ル・データベース・システム等のマルチプロセツ
サ・システムに、容易に冗長性を導入できること
にある。二重ネツトワークと二重インターフエイ
スとを備えているため、一方のネツトワークが何
らかの原因で故障した場合にもシステムが動作し
続けられるようにする冗長性が得られている。デ
ータベースを互いに素の一時的部分集合とバツク
アツプ用部分集合という形で分配してあるため、
データ喪失の確率が最小のレベルにまで低減され
ている。故障が発生したり変更が加えられたりし
た場合にも、用途の広い種々の制御機能が利用可
能であるためにデータベースの完全性を維持し得
るようになつている。
【図面の簡単な説明】
第1図は、新規な双方向ネツトワークを含む、
本発明に係るシステムのブロツク図である。第2
図および第2A図〜第2J図は、第1図に示され
た簡単な構造の実施例のネツトワークにおけるデ
ータ信号並びに制御信号の伝送の態様を示す、時
間の経過に沿つた連続する一連の説明図であり、
第2図は信号伝送の開始前の時点における状態を
示す図、また、第2A図〜第2J図は、夫々、t
=0からt=9までの連続する10箇所の時点にお
ける時間標本の一つに対応している図である。第
3図は、第1図に示されたシステムに採用されて
いるメツセージ・パケツトの構成を図示する説明
図である。第4図は、第1図に示された新規な双
方向ネツトワーク用いられている能動ロジツク・
ノード並びにクロツク回路に関する、同ネツトワ
ークの更なる細部構造を示すブロツク図である。
第5図は、前記能動ロジツク・ノードの内部の
様々な動作状態を示す、状態図である。第6図
は、前記能動ロジツク・ノードの内部において行
なわれるエンド・オブ・メツセージの検出動作を
説明するためのタイミング・ダイアグラムであ
る。第7図は、第4図に示したクロツク回路の動
作を説明するための、タイミング波形のダイアグ
ラムである。第8図は、第1図に示したシステム
に使用することのできる、高速ランダム・アクセ
ス・メモリを含むプロセツサ・モジユールのブロ
ツク図である。第9図は、第8図に示したマイク
ロプロセツサ・システムのメインRAMの内部の
アドレスの割当て状況を示す図である。第10図
は、第8図に示された高速ランダム・アクセス・
メモリの、1つの参照部分の内部におけるデータ
の配置態様のブロツク図である。第11図は、前
記システムに用いられているメツセージの優先順
位プロトコルを示すチヤートである。第12図
は、トランザクシヨン・ナンバのワード・フオー
マツトを図示する説明図である。第13図および
第13A図は、第1図及び第8図に示したシステ
ムの、その内部に備えられている各プロセツサモ
ジユールに用いられているインターフエイス回路
のブロツク図であり、第13図の右側に第13A
図を置くことによつて1枚につながる図である。
第14図は、第13図のインターフエイス回路に
おいて用いられている様々なクロツク波形及びフ
エイズ波形を図示するタイミング・ダイアグラム
である。第15図は、転送先選択ワードに基づい
てマツピングを行なうための、メモリ構成の更な
る詳細とマツピングの一方式とを図示するブロツ
ク図である。第16図は、入力データ・メツセー
ジを受信した際のステータスの変化を示す、簡略
化したフローチヤートである。第17図および第
17A図は、メツセージの受信が行なわれている
ときのステータスの変化を示すフローチヤートで
あり、第17図を第17A図の上縁部に接して並
べることにより1枚につながる図である。第18
図は、様々なプライマリ・メツセージとそれらに
対して発生される種々の応答との間の関係、並び
に、様々なプライマリ・メツセージとそれらに応
答して実行される動作との間の関係を示す表であ
る。第19図および第19A図は、メツセージの
送信が行なわれているときのステータスの変化を
示すフローチヤートであり、第19図を第19A
図の上縁部に接して並べることにより1枚につな
がる図である。第20図は、本発明に係るスタン
ド・アローン型システムのブロツク図である。第
21図は第21A図及び第21B図から成り、前
記高速ランダム・アクセス・メモリに格納されて
いるメツセージを示す図である。第22図は、デ
ータベース・システム内の複数の異なつたプロセ
ツサの間にデータベースの夫々の部分を分配する
ための、分配方式の可能な一例を示す簡略化した
模式図である。 10,12……ホスト・コンピユータ、14,
16……インターフエイス・プロセツサ、18〜
23……アクセス・モジユール・プロセツサ、2
4……マイクロプロセツサ、26……高速ランダ
ム・アクセス・メモリ、28……制御ロジツク、
32……デイスク・コントローラ、38〜43…
…デイスク・ドライブ、50……能動ロジツク・
ネツトワーク構造、54……ノード、56……ク
ロツク・ソース、120,120′……ネツトワ
ーク・インターフエイス、103……マイクロプ
ロセツサ・システム。

Claims (1)

  1. 【特許請求の範囲】 1 互いに衝突する複数のメツセージを受取るた
    めの複数のターミナルを有する、メツセージ伝送
    ネツトワークであつて、 前記複数のターミナルの間に延在する複数の信
    号伝送手段を備え、該信号伝送手段の各々は、複
    数の伝送リンクによつてシリアルに連結された複
    数の双方向メツセージ・スイツチング・ノードを
    含んでおり、 前記複数のメツセージ・スイツチング・ノード
    は、前記複数のターミナルから共通の1つの方向
    反転ノードへと収束して行く収束構造を成すよう
    に互いに連結されており、且つ、前記複数のメツ
    セージ・スイツチング・ノードは、前記複数のタ
    ーミナルのうちのいずれかからのメツセージを、
    前記共通方向反転ノードを介して拡散方向(反収
    束方向)へ向けて、全ての前記ターミナルへ送り
    返すための手段を含んでいる、 メツセージ伝送ネツトワーク。 2 前記複数のメツセージ・スイツチング・ノー
    ドの各々が、互いに衝突するメツセージの間の優
    先権の判定をそれらのメツセージのデータ内容に
    基づいて行なうための手段と、優先権を有する1
    つのメツセージないし共通のメツセージのみを伝
    送するための手段とを含んでいる、請求項1記載
    のメツセージ伝送ネツトワーク。 3 前記複数のメツセージ・スイツチング・ノー
    ドが、連続階層構造を成すように配列された能動
    ロジツク手段から成り、該能動ロジツク手段は、
    伝送されているメツセージに応答して、連続した
    メツセージの伝送が行われているときに、収束方
    向へ流れているメツセージを所定の優先権プロト
    コルに従つてマージするためのものである、請求
    項2記載のメツセージ伝送ネツトワーク。 4 前記メツセージが複数のシリアルな列を成し
    ており、前記能動ロジツク手段は連続するタイ
    ム・フレームの間にそれらのシリアルな列を互い
    に同期させて前記複数のノードに沿つて収束方向
    と拡散方向との両方向へ進めるための手段を含む
    ものである、請求項3記載のメツセージ伝送ネツ
    トワーク。 5 前記複数のメツセージ・スイツチング・ノー
    ドと前記複数の伝送リンクとが、優先権を得られ
    なかつた伝送の、その伝送経路に沿つて衝突表示
    を送出するための手段を含んでいる、請求項2記
    載のメツセージ伝送ネツトワーク。 6 前記複数のメツセージ・スイツチング・ノー
    ドの各々が、収束側の1つのポートと拡散側の2
    つのポートとを含んでおり、該複数のメツセー
    ジ・スイツチング・ノードが、バイナリ・ツリー
    構造を成すように配列されており、且つ、該複数
    のメツセージ・スイツチング・ノードの各々が、
    双方向のデータ・ラインと単方向性の制御ライン
    とを含んでおり、且つ、前記メツセージは可変長
    のシリアルな列であり、前記伝送リンクの長さが
    所定の長さを越えていない、請求項5記載のメツ
    セージ伝送ネツトワーク。 7 前記ネツトワークが、複数のメツセージ・ス
    イツチング・ノードとそれらの相互連結構造とか
    ら成る組を2組含み、それらの組が前記複数のタ
    ーミナルへ、互いに冗長性をもつて且つ互いに並
    列に接続されている、請求項1記載のメツセージ
    伝送ネツトワーク。 8 前記各組の前記複数のメツセージ・スイツチ
    ング・ノードが、階層を上昇するにつれて収束し
    て行く階層構造を成すように配列されており、前
    記メツセージ・スイツチング・ノードの各々が双
    方向能動ロジツク・ノードであり、更に、前記ノ
    ードの前記階層構造が、互いに衝突するメツセー
    ジどうしの間の優先権の判定を初段階の階層レベ
    ル並びに中間段階の階層レベルにおいて行なうた
    めの手段を含んでおり、それによつて、阻止され
    ることのない下流方向メツセージを前記ターミナ
    ルの全てへブロードカストするという方式で1つ
    の最優先メツセージの通信が行なわれるようにし
    た、請求項7記載のメツセージ伝送ネツトワー
    ク。 9 前記能動ロジツク・ノードが、上流方向メツ
    セージのための上流方向レジスタ手段と比較器手
    段とマルチプレクサ手段、上流方向メツセージの
    衝突並びにパリテイ・エラーを表示するための制
    御ライン伝送リンク手段、下流方向レジスタ手
    段、及び局所的クロツク手段を含んでいる、請求
    項8記載のメツセージ伝送ネツトワーク。 10 複数のターミナルの各々をそれらのターミ
    ナルの残りの全てに接続するためのバス・ネツト
    ワークであつて、前記複数のターミナルが互いに
    衝突する複数の情報パケツトを送出するものにお
    いて、 複数の能動ノード回路を備え、それらの能動ノ
    ード回路は、収束するツリー構造を成すように互
    いに接続されていると共に、前記ターミナルのい
    ずれかからの情報パツケトを、前記ターミナルの
    全てへ向けて送り返すアペツクス・ノード手段を
    含んでおり、 前記ノード回路の各々に設けられたマージ/伝
    送手段を備え、該マージ/伝送手段は、アツプ・
    ツリー方向へ流れる情報パケツトをマージすると
    共に、ダウン・ツリー方向へ流れる情報パケツト
    を条件の如何にかかわらず伝送し、それによつて
    前記アペツクス・ノード手段からのダウン・ツリ
    ー方向の伝送が実質的に同時に前記複数のターミ
    ナルによつて受信されるようにしている、 バス・ネツトワーク。 11 前記複数のノード回路の各々が、互いに競
    合するパケツトどうしの間の優先権の裁定をそれ
    らのパケツトのデータ内容に基づいて行なうため
    の優先権裁定手段を含み、更に、前記ネツトワー
    クが、前記複数のノード回路を、2進数的に拡大
    して行く階層構造を成すように互いに接続する伝
    達手段と、情報パケツトのセグメントを連続する
    タイム・フレームの間に階層から階層へと移動さ
    れるための手段とを含んでいる、請求項10記載
    のバス・ネツトワーク。 12 前記情報パケツトがデータのシリアルな列
    から成り、且つ、前記複数のノード回路が、互い
    に競合する情報パケツトの間の優先権を得られな
    かつたことを表示するための手段と、この優先権
    を得られなかつたことの表示を階層から階層へと
    下流方向へ伝達する単方向性の制御ラインと、該
    複数のノード回路の各々をその他のノード回路或
    いは前記ターミナルへと接続している複数の並列
    なデータ導体とを含んでいる、請求項11記載の
    バス・ネツトワーク。 13 前記ノード回路の各々に備えられた前記優
    先権裁定手段が、互いに競合する情報パケツトの
    中の最小のデータ内容を判定するための手段を含
    んでおり、且つ、該ノード回路が、優先権の裁定
    に応答して優先権を得られなかつた側のポートで
    受け取つている情報パケツトの回路経路を遮断す
    るための手段を含んでいる、請求項12記載のバ
    ス・ネツトワーク。 14 一群の互いに競合するメツセージの中の1
    つのメツセージないし共通のメツセージを複数の
    プロセツサへブロードカストする方法であつて、 互いに競合するメツセージの間の裁定をそれら
    のメツセージのデータ内容に基づくソートを行な
    うことによつて実行し、それにより特定の時間内
    に1つの最優先メツセージを得るステツプと、 前記最優先メツセージを前記複数のプロセツサ
    の全てへ同時にプロードカストするステツプと、
    を含む方法。 15 ネツトワーク内において互いに衝突するメ
    ツセージを異なつた複数のソースの間で伝送する
    方法であつて、 複数のメツセージを、収束する階層構造内の階
    層から階層へと互いに同期して前進させ、且つ、
    その前進の間に、優先順位のより低いメツセージ
    を遮断することによつてそれらのメツセージをマ
    ージする、同期前進ステツプと、 特定のソースからのメツセージを遮断されたこ
    との表示を、前記階層を経由して前記異なつた複
    数のソースへ送り返すステツプと、 前記階層構造の最上階層において1つのメツセ
    ージないし共通のメツセージを得るステツプと、 前記1つのメツセージないし共通のメツセージ
    を前記階層構造の前記階層を経由して戻り方向へ
    同期して前進させることにより、前記1つのメツ
    セージないし共通のメツセージをブロードカスト
    し、それによつて、前記1つのメツセージないし
    共通のメツセージを前記異なつた複数のソースの
    全てへ分配する、ブロードカスト・ステツプと、
    を含む方法。 16 前記同期前進ステツプが、上流方向へ流れ
    る間に互いに衝突する複数対のメツセージの、そ
    の各メツセージ対の間の比較を前記階層の各々に
    おいて行なうことにより実行されるマージ動作か
    ら成り、且つ、前記プロードカスト・ステツプ
    が、下流方向への阻止されることのない分配動作
    から成る、請求項15記載の方法。
JP1234493A 1981-04-01 1989-09-07 メッセージ伝送ネットワーク、バス・ネットワーク、及びメッセージを複数のプロセッサヘブロードカストする方法 Granted JPH02118747A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US06/250,022 US4412285A (en) 1981-04-01 1981-04-01 Multiprocessor intercommunication system and method
US250022 1981-04-01
US06/250,094 US4445171A (en) 1981-04-01 1981-04-01 Data processing systems and methods
US250094 1981-04-01

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP57052374A Division JPS57201931A (en) 1981-04-01 1982-04-01 Data processing apparatus and method

Publications (2)

Publication Number Publication Date
JPH02118747A JPH02118747A (ja) 1990-05-07
JPH0413739B2 true JPH0413739B2 (ja) 1992-03-10

Family

ID=26940538

Family Applications (13)

Application Number Title Priority Date Filing Date
JP1234491A Expired - Lifetime JP2555450B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システム
JP1234500A Expired - Lifetime JPH0750463B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセージ送信及び受信方法
JP1234495A Expired - Fee Related JPH0792791B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセージ通信制御システム
JP1234493A Granted JPH02118747A (ja) 1981-04-01 1989-09-07 メッセージ伝送ネットワーク、バス・ネットワーク、及びメッセージを複数のプロセッサヘブロードカストする方法
JP1234492A Granted JPH02132560A (ja) 1981-04-01 1989-09-07 リレーショナル・データベース・マシン、データベース・コンピュータ・システム及びデータベース管理システムとその方法
JP1234499A Granted JPH02118709A (ja) 1981-04-01 1989-09-07 データ伝送システム及びクロッキングシステム
JP1234496A Expired - Lifetime JP2560118B2 (ja) 1981-04-01 1989-09-07 コンピュ−ティング・システム
JP1234494A Expired - Lifetime JP2607696B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサシステム及びその利用方法
JP1234501A Expired - Lifetime JP2555451B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセ−ジ・パケットのマ−ジ方法
JP1234498A Expired - Lifetime JPH0619762B2 (ja) 1981-04-01 1989-09-07 ネットワーク・システムのためのノード回路
JP1234497A Expired - Fee Related JPH0750462B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システム
JP3263082A Expired - Lifetime JP2628811B2 (ja) 1981-04-01 1991-09-12 マルチプロセッサ・システムにおけるタスクの処理及びメッセージの送受信制御方法
JP3263081A Expired - Lifetime JP2651473B2 (ja) 1981-04-01 1991-09-12 マルチプロセッサ・システムにおけるメッセージの通信制御方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP1234491A Expired - Lifetime JP2555450B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システム
JP1234500A Expired - Lifetime JPH0750463B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセージ送信及び受信方法
JP1234495A Expired - Fee Related JPH0792791B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセージ通信制御システム

Family Applications After (9)

Application Number Title Priority Date Filing Date
JP1234492A Granted JPH02132560A (ja) 1981-04-01 1989-09-07 リレーショナル・データベース・マシン、データベース・コンピュータ・システム及びデータベース管理システムとその方法
JP1234499A Granted JPH02118709A (ja) 1981-04-01 1989-09-07 データ伝送システム及びクロッキングシステム
JP1234496A Expired - Lifetime JP2560118B2 (ja) 1981-04-01 1989-09-07 コンピュ−ティング・システム
JP1234494A Expired - Lifetime JP2607696B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサシステム及びその利用方法
JP1234501A Expired - Lifetime JP2555451B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システムにおけるメッセ−ジ・パケットのマ−ジ方法
JP1234498A Expired - Lifetime JPH0619762B2 (ja) 1981-04-01 1989-09-07 ネットワーク・システムのためのノード回路
JP1234497A Expired - Fee Related JPH0750462B2 (ja) 1981-04-01 1989-09-07 マルチプロセッサ・システム
JP3263082A Expired - Lifetime JP2628811B2 (ja) 1981-04-01 1991-09-12 マルチプロセッサ・システムにおけるタスクの処理及びメッセージの送受信制御方法
JP3263081A Expired - Lifetime JP2651473B2 (ja) 1981-04-01 1991-09-12 マルチプロセッサ・システムにおけるメッセージの通信制御方法

Country Status (1)

Country Link
JP (13) JP2555450B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69232425T2 (de) * 1991-07-10 2002-10-10 Hitachi Ltd Sortierverfahren in einer verteilten Datenbank und Zugangsverfahren dazu
JPH0540472U (ja) * 1991-11-07 1993-06-01 大建工業株式会社 外装材取付け部材
JP2638441B2 (ja) * 1993-09-09 1997-08-06 日本電気株式会社 リレー式ファイル転送方式
JP2843768B2 (ja) * 1994-08-22 1999-01-06 日本電気株式会社 データベースアクセス制御方式
DE102004013629B4 (de) * 2004-03-19 2023-06-01 Volkswagen Ag Kommunikationssystem für ein Kraftfahrzeug
JP5093986B2 (ja) * 2005-01-19 2012-12-12 富士通株式会社 プロセッサ間通信方法及びプロセッサ間通信装置
JP5738812B2 (ja) * 2012-08-29 2015-06-24 京セラドキュメントソリューションズ株式会社 マルチプロセッシングシステムにおけるオブジェクト間通信装置
JP5738811B2 (ja) * 2012-08-29 2015-06-24 京セラドキュメントソリューションズ株式会社 マルチプロセッシングシステムにおけるオブジェクト間通信装置
CN113487151A (zh) * 2021-06-23 2021-10-08 广东润建电力科技有限公司 基于5g消息的智能用电与需求侧响应方法、系统及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615177B2 (ja) * 1975-01-16 1986-02-17 Hitachi Ltd
US4251879A (en) 1979-05-02 1981-02-17 Burroughs Corporation Speed independent arbiter switch for digital communication networks
JPS589624B2 (ja) * 1979-07-03 1983-02-22 日本電信電話株式会社 同報通信方式
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
JPH0697823B2 (ja) * 1988-07-15 1994-11-30 三菱電機株式会社 電動機及びその製造方法

Also Published As

Publication number Publication date
JP2628811B2 (ja) 1997-07-09
JPH05324573A (ja) 1993-12-07
JPH05290002A (ja) 1993-11-05
JPH02118759A (ja) 1990-05-07
JP2555451B2 (ja) 1996-11-20
JPH02132560A (ja) 1990-05-22
JPH0792791B2 (ja) 1995-10-09
JPH02140035A (ja) 1990-05-29
JP2607696B2 (ja) 1997-05-07
JPH02118756A (ja) 1990-05-07
JPH0426726B2 (ja) 1992-05-08
JPH0245221B2 (ja) 1990-10-08
JPH02118760A (ja) 1990-05-07
JPH0619762B2 (ja) 1994-03-16
JP2555450B2 (ja) 1996-11-20
JPH0750462B2 (ja) 1995-05-31
JPH02118747A (ja) 1990-05-07
JPH02118761A (ja) 1990-05-07
JPH02138656A (ja) 1990-05-28
JPH02118762A (ja) 1990-05-07
JPH02118709A (ja) 1990-05-07
JPH02118763A (ja) 1990-05-07
JPH0750463B2 (ja) 1995-05-31
JP2560118B2 (ja) 1996-12-04
JP2651473B2 (ja) 1997-09-10

Similar Documents

Publication Publication Date Title
JPH0226254B2 (ja)
EP0233993B1 (en) Message transmission network
US5276899A (en) Multi processor sorting network for sorting while transmitting concurrently presented messages by message content to deliver a highest priority message
US4945471A (en) Message transmission system for selectively transmitting one of two colliding messages based on contents thereof
EP0234803B1 (en) Method for the dynamic partitioning of parallel processors
US4989131A (en) Technique for parallel synchronization
JPH0413739B2 (ja)
Reynolds et al. Isotach networks
CA1198523A (en) Multi-processor intercommunication system and method
Jensen A distributed function computer for real-time control
JPH0690703B2 (ja) グロ−バルデツドロツク検出方式
Concepcion Trans. Nat. Acad. Sci & Tech.(Phils.) 1987.9: 51� 63
Prasad et al. Mutual Exclusion in Distributed Systems
More Load balancing on multiprocessor systems