(57)【要約】  一実施態様では、ノードが、第１のネットワーク・インターフェイスと、第２のネットワーク・インターフェイスとを備える。このノードは更に、第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアンと、第１のネットワーク・インターフェイスが送信することを許可されるときに第２のバス・ガーディアン信号をアサートする第２のバス・ガーディアンとを備える。第１のネットワーク・インターフェイスは、第２のバス・ガーディアンが第２のバス・ガーディアン信号をアサートしない限り、送信することを許可されない。第２のネットワーク・インターフェイスは、第１のバス・ガーディアンが第１のバス・ガーディアン信号をアサートしない限り、送信することを許可されない。
2007517427.tif 000002
【特許請求の範囲】
【請求項１】
ノード（１０２）であって、
第１のネットワーク・インターフェイス（１１２）と、
第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と
を備え、
前記第２のネットワーク・インターフェイスは、前記第１のバス・ガーディアンが前記第１のバス・ガーディアン信号をアサートしない限り、送信することを許可されない、
ノード。
【請求項２】
ノード（１０２）であって、
第１のネットワーク・インターフェイス（１１２）と、
第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と、
前記第１のネットワーク・インターフェイスが送信することを許可されるときに第２のバス・ガーディアン信号をアサートする第２のバス・ガーディアン（１３０）と
を備え、
前記第１のネットワーク・インターフェイスは、前記第２のバス・ガーディアンが前記第２のバス・ガーディアン信号をアサートしない限り、送信することを許可されず、
前記第２のネットワーク・インターフェイスは、前記第１のバス・ガーディアンが前記第１のバス・ガーディアン信号をアサートしない限り、送信することを許可されない、
ノード（１０２）。
【請求項３】
第１のチャネル（１０４）と、第２のチャネル（１０４）と、第３のチャネル（１０４）と、第４のチャネル（１０４）とを介して通信するノード（１０２）であって、
前記第１及び第２のチャネルでデータを送信するため、および前記第３及び第４のチャネルからデータを受信するための第１のネットワーク・インターフェイス（１１２）と、
前記第３及び第４のチャネルでデータを送信するため、および前記第１及び第２のチャネルからデータを受信するための第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と
を備え、
前記第２のネットワーク・インターフェイスは、前記第１のバス・ガーディアンが前記第１のバス・ガーディアン信号をアサートしない限り、前記第３及び第４のチャネルでデータを送信することを許可されない、
ノード。
【請求項４】
第１のチャネル（１０４）と、第２のチャネル（１０４）と、第３のチャネル（１０４）と、第４のチャネル（１０４）とを介して通信するノード（１０２）であって、
前記第１及び第２のチャネルでデータを送信するため、および前記第３及び第４のチャネルからデータを受信するためのための第１のネットワーク・インターフェイス（１１２）と、
前記第３及び第４のチャネルでデータを送信するため、および前記第１及び第２のチャネルからデータを受信するための第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と、
前記第１のネットワーク・インターフェイスが送信することを許可されるときに第２のバス・ガーディアン信号をアサートする第２のバス・ガーディアン（１３０）と
を備え、
前記第１のネットワーク・インターフェイスは、前記第２のバス・ガーディアンが前記第２のバス・ガーディアン信号をアサートしない限り、前記第１及び第２のチャネルでデータを送信することを許可されず、
前記第２のネットワーク・インターフェイスは、前記第１のバス・ガーディアンが前記第１のバス・ガーディアン信号をアサートしない限り、前記第３及び第４のチャネルでデータを送信することを許可されない、
ノード。
【請求項５】
請求項４に記載のノードであって、
前記第１のネットワーク・インターフェイスを前記第１のチャネルへ通信可能に結合するための第１の送信ドライバ（１２６）と、
前記第１のネットワーク・インターフェイスを前記第２のチャネルへ通信可能に結合するための第２の送信ドライバ（１２６）と、
前記第２のネットワーク・インターフェイスを前記第３のチャネルへ通信可能に結合するための第３の送信ドライバ（１２６）と、
前記第２のネットワーク・インターフェイスを前記第４のチャネルへ通信可能に結合するための第４の送信ドライバ（１２６）と
を更に備えるノード。
【請求項６】
請求項４に記載のノードであって、前記第１のネットワーク・インターフェイス及び前記第２のネットワーク・インターフェイスが、それぞれ、第１の集積回路及び第２の集積回路を備える、ノード。
【請求項７】
第１のチャネル（１０４）と、第２のチャネル（１０４）と、第３のチャネル（１０４）と、第４のチャネル（１０４）とを介して通信するノード（１０２）であって、
前記第１のチャネルから第１のデータを受信するため、および前記第２のチャネルから第２のデータを受信するための第１のネットワーク・インターフェイス（１１２）と、
前記第３のチャネルから第３のデータを受信するため、および前記第４のチャネルから第４のデータを受信するための第２のネットワーク・インターフェイス（１１２）と
を備え、
前記第１のデータ、前記第２のデータ、前記第３のデータ、及び前記第４のデータの内の少なくとも２つのデータの少なくとも１回の比較を実施し、前記少なくとも１回の比較の結果の関数である少なくとも１つの票決規則について評価する、
ノード。
【請求項８】
請求項７に記載のノードであって、前記第１のネットワーク・インターフェイス及び前記第２のネットワーク・インターフェイスは、それぞれ、第１の集積回路及び第２の集積回路を備える、ノード。
【請求項９】
通信ネットワーク（１００）であって、
複数のノード（１０２）と、
少なくとも第１のチャネル（１０４）、第２のチャネル（１０４）、第３のチャネル（１０４）、及び第４のチャネル（１０４）と
を備え、
前記複数のノードのそれぞれは、
前記第１及び第２のチャネルでデータを送信するため、および前記第３及び第４のチャネルからデータを受信するための第１のネットワーク・インターフェイス（１１２）と、
前記第３及び第４のチャネルでデータを送信するため、および前記第１及び第２のチャネルからデータを受信するための第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と
を含み、
それぞれのノードの前記第２のネットワーク・インターフェイスは、それぞれの前記第１のバス・ガーディアンがそれぞれ前記第１のバス・ガーディアン信号をアサートしない限り、前記第３及び第４のチャネルでデータを送信することを許可されない、
通信ネットワーク。
【請求項１０】
通信ネットワークであって、
複数のノード（１０２）と、
少なくとも第１のチャネル（１０４）、第２のチャネル（１０４）、第３のチャネル（１０４）、及び第４のチャネル（１０４）と
を備え、
前記複数のノードのそれぞれは、
前記第１及び第２のチャネルでデータを送信するため、および前記第３及び第４のチャネルからデータを受信するための第１のネットワーク・インターフェイス（１１２）と、
前記第３及び第４のチャネルでデータを送信するため、および前記第１及び第２のチャネルからデータを受信するための第２のネットワーク・インターフェイス（１１２）と、
前記第２のネットワーク・インターフェイスが送信することを許可されるときに第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（１３０）と、
前記第１のネットワーク・インターフェイスが送信することを許可されるときに第２のバス・ガーディアン信号をアサートする第２のバス・ガーディアン（１３０）と
を含み、
それぞれのノードの前記第１のネットワーク・インターフェイスは、それぞれの前記第２のバス・ガーディアンがそれぞれ前記第２のバス・ガーディアン信号をアサートしない限り、前記第１及び第２のチャネルでデータを送信することを許可されず、
それぞれのノードの前記第２のネットワーク・インターフェイスは、それぞれの前記第１のバス・ガーディアンがそれぞれ前記第１のバス・ガーディアン信号をアサートしない限り、前記第３及び第４のチャネルでデータを送信することを許可されない、
通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、参照により本明細書に組み込まれる、２００３年１１月１９日に出願された米国仮出願第６０／５２３７８６号に関連し、その出願日の利益を主張する。
【０００２】
以下の記載は、一般に、通信システムに関し、特に、分散型のフォールトトレランスの通信システムに関する。
【背景技術】
【０００３】
分散型のフォールトトレランス（耐故障性）通信システムは、例えば、障害の発生が場合によっては１人又は複数の人間の負傷又は死亡に繋がり得るアプリケーションにおいて使用される。かかるアプリケーションは、本明細書では「安全性が重要なアプリケーション（ｓａｆｅｔｙ−ｃｒｉｔｉｃａｌ  ａｐｐｌｉｃａｔｉｏｎ）」と呼ばれる。安全性が重要なアプリケーションの１つの例は、航空機や他の車両に含まれるセンサ及びアクチュエータを監視および管理するために使用されるシステムである。かかる耐故障性通信システムを実装するために使用されるプロトコルの例は、時間トリガ型プロトコル（ｔｉｍｅ−ｔｒｉｇｇｅｒｅｄ  ｐｒｏｔｏｃｏｌ）（ＴＴＰ／Ｃ、ＴＴＰ／Ａ、及びＦｌｅｘＲａｙプロトコル等）、及びＳＡＦＥＢＵＳ（セーフバス）プロトコルを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
典型的には、かかるシステムのインテグリティ、信頼性、及び／又はアベラビリティ（可用性）を高めることが望ましい。
【課題を解決するための手段】
【０００５】
一実施態様では、ノードは、第１のネットワーク・インターフェイスと、第２のネットワーク・インターフェイスとを備える。このノードは更に、第２のネットワーク・インターフェイスが送信することを許可されるときに、第１のバス・ガーディアン信号をアサートする第１のバス・ガーディアン（guardian、守護手段）と、第１のネットワーク・インターフェイスが送信することを許可されるときに、第２のバス・ガーディアン信号をアサートする第２のバス・ガーディアンとを備える。第１のネットワーク・インターフェイスは、第２のバス・ガーディアンが第２のバス・ガーディアン信号をアサートしない限り、送信することを許可されない。第２のネットワーク・インターフェイスは、第１のバス・ガーディアンが第１のバス・ガーディアン信号をアサートしない限り、送信することを許可されない。
【０００６】
別の実施態様では、ノードは、第１のチャネルと、第２のチャネルと、第３のチャネルと、第４のチャネルとを介して通信する。このノードは、第１のチャネルから第１のデータを受信し、第２のチャネルから第２のデータを受信するための第１のネットワーク・インターフェイスと、第３のチャネルから第３のデータを受信し、第４のチャネルから第４のデータを受信するための第２のネットワーク・インターフェイスとを備える。このノードは、第１のデータ、第２のデータ、第３のデータ、及び第４のデータのうちの少なくとも２つのデータを少なくとも１回比較し、その少なくとも１回の比較の結果の関数である少なくとも１つの票決規則（ｖｏｔｉｎｇ  ｒｕｌｅ）について評価する。
【０００７】
特許請求の範囲に記載の本発明に関する１又は複数の諸実施態様の詳細は、添付の図面及び以下の説明において詳しく記載される。以下の記載、図面、及び特許請求の範囲から、その他の特徴及び利点も明らかとなるであろう。
【０００８】
様々な図面において、同様の参照番号及び名称は、同様の要素を示す。
【発明を実施するための最良の形態】
【０００９】
図１は、通信ネットワーク１００のブロック図である。通信ネットワーク１００は、複数のチャネル１０４を介して相互に通信する複数のノード１０２を含む。図１に示される具体的な実施態様では、４つのノード１０２が示されている（これらのノードのそれぞれには、ノードＡ、ノードＢ、ノードＣ、及びノードＤという標識が付されている）。また、かかる一実施態様では、４つのノード１０２は、４つのチャネル１０４を介して相互に通信する。本明細書では、これらの４つのチャネル１０４はそれぞれ個別に、「チャネルＡｘ」、「チャネルＡｙ」、「チャネルＢｘ」、及び「チャネルＢｙ」と呼ばれる。他の実施態様では、ノード１０２は、異なる数のチャネルを介して通信する（例えば、かかる他の一実施態様では、ネットワークのノード１０２は、２つのチャネルを介して通信する）。図１に示され、本明細書で説明される具体的な実施形態では、ノード１０２は、時分割多元接続（ＴＤＭＡ）メディア・アクセス・スキームを使用する。かかる一実施態様では、ＴＴＰ／ＣプロトコルやＦｌｅｘＲａｙプロトコル等の時間トリガ型プロトコルが実装される。他の実施態様では、他のＴＤＭＡプロトコルが実装される。
【００１０】
図２は、ノード１０２の一実施態様のブロック図である。各ノード１０２は、ホスト１１０と、１対のネットワーク・インターフェイス１１２（本明細書では個別に、「ネットワーク・インターフェイスＸ」及び「ネットワーク・インターフェイスＹ」と呼ばれる）とを含む。ホスト１１０は、通信ネットワーク１００を介して通信されるデータを供給するアプリケーション・ソフトウェア１１４を実行する。例えば、一実装形態では、ホスト１１０は、安全性が重要な制御アプリケーションを実行するコンピュータ（又は他のプログラマブル・プロセッサ）である。ホスト１１０は、ネットワーク・インターフェイス１１２を使用して、通信ネットワーク１００内のその他のノード１０２と通信する。ネットワーク・インターフェイス１１２は、とりわけ、ノード１０２がそれぞれネットワーク１００を介して通信するのに必要とされる特有のプロトコル機能を実装する。例えば、一実施態様では、ネットワーク・インターフェイス１１２は、ＴＤＭＡスケジュールに従ってノード１０２がネットワークを介して通信するのを可能にする、ＴＤＭＡ機能を実装する。
【００１１】
一実装形態では、ネットワーク・インターフェイスＸは、ネットワーク・インターフェイスＸによって果たされるものとして本明細書に記載される機能を実行するように設計された１つの集積回路の形で実装され、ネットワーク・インターフェイスＹは、ネットワーク・インターフェイスＹによって果たされるものとして本明細書に記載される機能を実行するように設計された別の集積回路の形で実装される。他の実施態様では、ネットワーク・インターフェイス１１２のそれぞれは、他の方法で実装される（例えば、ネットワーク・インターフェイス１１２によってそれぞれ果たされるものとして本明細書に記載される機能を実行するようにプログラムされたプログラマブル・プロセッサ又は他のプログラマブル・デバイスを使用する）。
【００１２】
ネットワーク・インターフェイス１１２のそれぞれは、２つの送信インターフェイス１２５と、２つの受信インターフェイス１２７とを含む。ネットワーク・インターフェイスＸの送信インターフェイス１２５にはそれぞれ「ＴｘＡ」及び「ＴｘＢ」という標識が付され、ネットワーク・インターフェイスＸの受信インターフェイス１２７にはそれぞれ「ＲｘＡ」及び「ＲｘＢ」という標識が付されている。ネットワーク・インターフェイスＹの送信インターフェイス１２５にはそれぞれ「ＴｙＡ」及び「ＴｙＢ」という標識が付され、ネットワーク・インターフェイスＹの受信インターフェイス１２７にはそれぞれ「ＲｙＡ」及び「ＲｙＢ」という標識が付されている。
【００１３】
ネットワーク・インターフェイス１１２は、ネットワーク・インターフェイス１１２の送信インターフェイス１２５と受信インターフェイス１２７とをチャネル１０４に結合する複数のメディア・ドライバ１２６を含む。メディア・ドライバ１２６は、通信ネットワーク１００において使用されるタイプのチャネル１０４との互換性があり且つそれらと通信する物理レイヤ・デバイスである。例えば、一実施態様では、チャネル１０４は、リニア・バスとして実装され、メディア・ドライバ１２６は、そのタイプのリニア・バス上でデータを送信したりデータを受信すために適当な物理レイヤ・デバイスを備える。他のタイプのチャネル１０４が使用される他の実施態様では、他のタイプのメディア・ドライバ１２６が使用される。
【００１４】
図２に示される実施態様では、８つのメディア・ドライバ１２６が使用される。メディア・ドライバ１２６はそれぞれ、ネットワーク・インターフェイス１１２のそれぞれの送信インターフェイス１２５のそれぞれに結合される。送信インターフェイス１２５に結合されているメディア・ドライバ１２６は、本明細書では「送信」メディア・ドライバ１２６と呼ばれる。図２では、送信インターフェイスＴｘＡに結合されている送信メディア・ドライバ１２６には、「ＴｘＡ」という標識が付され、送信インターフェイスＴｘＢに結合されている送信メディア・ドライバ１２６には、「ＴｘＢ」という標識が付され、送信インターフェイスＴｙＡに結合されている送信メディア・ドライバ１２６には、「ＴｙＡ」という標識が付され、送信インターフェイスＴｙＢに結合されている送信メディア・ドライバ１２６には、「ＴｙＢ」という標識が付されている。それぞれのメディア・ドライバ１２６は、ネットワーク・インターフェイス１１２のそれぞれの受信インターフェイス１２７のそれぞれに結合される。受信インターフェイス１２７に結合されているメディア・ドライバ１２６は、本明細書では「受信」メディア・ドライバ１２６と呼ばれる。図１では、受信インターフェイスＲｘＡに結合されている受信メディア・ドライバ１２６には、「ＲｘＡ」という標識が付され、受信インターフェイスＲｘＢに結合されている受信メディア・ドライバ１２６には、「ＲｘＢ」という標識が付され、受信インターフェイスＲｙＡに結合されている受信メディア・ドライバ１２６には、「ＲｙＡ」という標識が付され、受信インターフェイスＲｙＢに結合されている受信メディア・ドライバ１２６には、「ＲｙＢ」という標識が付されている。
【００１５】
ネットワーク・インターフェイスＸの送信インターフェイスＴｘＡは、それぞれ、チャネルＡｘを介して、ネットワーク１００のノード１０２のそれぞれにおけるネットワーク・インターフェイスＹの受信インターフェイスＲｙＡに結合される。これは、送信メディア・デバイスＴｘＡを介してチャネルＡｘに送信インターフェイスＴｘＡを結合し、受信メディア・デバイスＲｙＡを介してチャネルＡｘにノード１０２のそれぞれの受信インターフェイスＲｙＡを結合することによって、行われる。送信インターフェイスＴｘＡからのデータ出力は、チャネルＡｘを介して送信メディア・デバイスＴｘＡによって送信され、チャネルＡｘからノード１０２のそれぞれの受信メディア・デバイスＲｙＡによって受信される。受信メディア・デバイスＲｙＡは、その受信データを、ノード１０２のそれぞれにおけるネットワーク・インターフェイスＹの受信インターフェイスＲｙＡへ供給する。
【００１６】
ネットワーク・インターフェイスＸの送信インターフェイスＴｘＢは、それぞれ、チャネルＢｘを介して、ネットワーク１００のノード１０２のそれぞれにおけるネットワーク・インターフェイスＹの受信インターフェイスＲｙＢに結合される。これは、送信メディア・デバイスＴｘＢを介してチャネルＢｘに送信インターフェイスＴｘＢを結合し、受信メディア・デバイスＲｙＢを介してチャネルＢｘにノード１０２のそれぞれの受信インターフェイスＲｙＢを結合することによって、行われる。送信インターフェイスＴｘＢからのデータ出力は、チャネルＢｘを介して送信メディア・デバイスＴｘＢによって送信され、チャネルＢｘからノード１０２のそれぞれの受信メディア・デバイスＲｙＢによって受信される。受信メディア・デバイスＲｙＢは、その受信データを、ノード１０２のそれぞれにおけるネットワーク・インターフェイスＹの受信インターフェイスＲｙＢに供給する。
【００１７】
ネットワーク・インターフェイスＹの送信インターフェイスＴｙＡは、それぞれ、チャネルＡｙを介して、ネットワーク１００のノード１０２のそれぞれにおけるネットワーク・インターフェイスＸの受信インターフェイスＲｘＡに結合される。これは、送信メディア・デバイスＴｙＡを介してチャネルＡｙに送信インターフェイスＴｙＡを結合し、受信メディア・デバイスＲｘＡを介してチャネルＡｙにノード１０２のそれぞれの受信インターフェイスＲｘＡを結合することによって、行われる。送信インターフェイスＴｙＡからのデータ出力は、チャネルＡｙを介して送信メディア・デバイスＴｙＡによって送信され、チャネルＡｙからノード１０２のそれぞれの受信メディア・デバイスＲｘＡによって受信される。受信メディア・デバイスＲｘＡは、その受信データを、ノード１０２のそれぞれにおけるネットワーク・インターフェイスＸの受信インターフェイスＲｘＡに供給する。
【００１８】
ネットワーク・インターフェイスＹの送信インターフェイスＴｙＢは、それぞれ、チャネルＢｙを介して、ネットワーク１００のノード１０２のそれぞれにおけるネットワーク・インターフェイスＸの受信インターフェイスＲｘＢに結合される。これは、送信メディア・デバイスＴｙＢを介してチャネルＢｙに送信インターフェイスＴｙＢを結合し、受信メディア・デバイスＲｘＢを介してチャネルＢｘにノード１０２のそれぞれの受信インターフェイスＲｘＢを結合することによって、行われる。送信インターフェイスＴｙＢからのデータ出力は、チャネルＢｙを介して送信メディア・デバイスＴｙＢによって送信され、チャネルＢｙからノード１０２のそれぞれの受信メディア・デバイスＲｘＢによって受信される。受信メディア・デバイスＲｘＢは、その受信データを、ノード１０２のそれぞれにおけるネットワーク・インターフェイスＸの受信インターフェイスＲｘＢに供給する。
【００１９】
１つの使用シナリオでは、ネットワーク１００において使用される特定のＴＤＭＡスケジュールが、特定のノードのネットワーク・インターフェイスＸがその同じノード１０２のネットワーク・インターフェイスＹとは異なるタイム・スロット中に送信を行うようにスケジュールされている、ということを示し得る。別の使用シナリオでは、このＴＤＭＡスケジュールが、特定のノード１０２のネットワーク・インターフェイスＸとネットワーク・インターフェイスＹとが双方とも同じタイム・スロット中に送信を行うようにスケジュールされている、ということを示し得る。また、所与のＴＤＭＡラウンドに関して、ノード１０２が、ネットワーク・インターフェイスＸ及びＹに向けて同じデータを送信しても、ネットワーク・インターフェイスＸ及びＹに向けて異なるデータを送信してもよい。
【００２０】
ネットワーク・インターフェイス１１２のそれぞれは、ネットワーク１００のグローバル・タイム・ベースに同期化される。一実施態様では、ネットワーク・インターフェイス１１２のそれぞれは、それぞれのクロック・ソース１３２に結合される。ネットワーク・インターフェイスＸが結合されているクロック・ソース１３２は、本明細書では「クロック・ソースＸ」と呼ばれ、ネットワーク・インターフェイスＹが結合されているクロック・ソース１３２は、本明細書では「クロック・ソースＹ」と呼ばれる。それぞれのネットワーク・インターフェイス１１２は、それぞれのクロック・ソース１３２と、それぞれのチャネル１０４（図２に示される例では、ネットワーク・インターフェイスＸの場合にはチャネルＡｙ及びＢｙ、ネットワーク・インターフェイスＹの場合にはチャネルＡｘ及びＢｘ）からネットワーク・インターフェイス１１２がそれぞれに受信したデータとを使用して、それ自体をネットワーク１００のグローバル・タイム・ベースに同期させる。例えば、一実施態様では、各ネットワーク・インターフェイス１１２は、受信データのメッセージ到着時間を使用して、そのネットワーク・インターフェイスの使用するクロック・ソース１３２と、ネットワーク１００のグローバル・タイム・ベースとの差異を確認する。図１に示されるようにチャネル１０４を交差結合（ｃｒｏｓｓ−ｃｏｕｐｌｉｎｇ）する（即ち、ネットワーク・インターフェイスＸが、チャネルＡｘ及びＢｘ上で送信を行い、チャネルＡｙ及びＢｙから受信を行い、ネットワーク・インターフェイスＹが、チャネルＡｙ及びＢｙ上で送信を行い、チャネルＡｘ及びＢｘから受信を行う）ことにより、ネットワーク・インターフェイス１１２が、相互に同じグローバル・タイム・ベースに同期されるようになる。
【００２１】
ネットワーク・インターフェイス１１２のそれぞれは、ＴＤＭＡ通信のシーケンス・テーブルのローカル・インスタンシエーションを組み込んだ、スケジュール・テーブル１１３（本明細書では、それぞれ個別に、「スケジュール・テーブルＸ」及び「スケジュール・テーブルＹ」と呼ばれる）を維持する。各スケジュール・テーブル１１３の内容が、ＴＤＭＡ通信のシーケンスに関連するデータ・フロー（即ち、ノードが送信を行う順序や、送信の長さや、個々のバス・ガーディアン１３０によって生成されるＢＧイネーブル信号がいつアサートされるかなど）を特徴付ける。一実施態様では、各スケジュール・テーブル１１３は、ＴＤＭＡデータ・フローの属性も含み、また、データに適用され得る票決規則（制限）を含み得る。例えば、そのデータは、アベラビリティ或いはインテグリティについて、表１の規則に従って選択されてもよい。
【００２２】
ネットワーク・インターフェイスＸ及びＹは、それぞれのスケジュール・テーブル１１３に順に従うように使用されるグローバル・クロック・カウンタを増分するために使用される、フォールトトレランスのクロック同期を実施する。ネットワーク・インターフェイスＸとＹの両方が共通の通信シーケンスを共用し、動作において、ネットワーク・インターフェイスＸとＹの両方が、共用のＴＤＭＡスケジュールに相互に同期するので、各スケジュール・テーブル１１３は、大部分同じである。
【００２３】
ネットワーク・インターフェイスＸ及びネットワーク・インターフェイスＹが、１つ又は複数の同じタイム・スロット中に送信を行うようにスケジュールされている場合は、スケジュール・テーブルＸとＹとは同じである。ネットワーク・インターフェイスＸとネットワーク・インターフェイスＹとが、異なるタイム・スロット中に送信を行うようにスケジュールされている場合は、スケジュール・テーブルＸ及びＹは、大部分同じではあるものの、ローカル・データ・フロー、ＢＧイネーブル信号、及び票決要件に関しては異なるものとなる。
【００２４】
ネットワーク・インターフェイス１１２のそれぞれは、統合型のローカル・バス・ガーディアン１３０を含む。ネットワーク・インターフェイスＸ内に含まれているバス・ガーディアン１３０は、本明細書では「バス・ガーディアンＸ」と呼ばれ、ネットワーク・インターフェイスＹ内に含まれているバス・ガーディアン１３０は、本明細書では「バス・ガーディアンＹ」と呼ばれる。バス・ガーディアンＸは、ネットワーク・インターフェイスＹが送信のためにデータを出力することを許可される時にそれを示すために使用される信号（本明細書では、「ＢＧイネーブル信号Ｘ」又は「イネーブル信号Ｘ」と呼ばれる）を生成し、バス・ガーディアンＹは、ネットワーク・インターフェイスＸが送信のためにデータを出力することを許可される時にそれを示すために使用される信号（本明細書では、「ＢＧイネーブル信号Ｙ」又は「イネーブル信号Ｙ」と呼ばれる）を生成する。ＢＧイネーブル信号Ｘは、１つのバス・ガーディアン・ウィンドウを定義し、そのバス・ガーディアン・ウィンドウにおいて、ネットワーク・インターフェイスＹの送信インターフェイスＴｙＡ及びＴｙＢが送信のためにデータを出力することを許可される。ＢＧイネーブル信号Ｙは、１つのバス・ガーディアン・ウィンドウを定義し、そのバス・ガーディアン・ウィンドウにおいて、ネットワーク・インターフェイスＸの送信インターフェイスＴｘＡ及びＴｘＢが送信のためにデータを出力することを許可される。言い換えれば、ネットワーク・インターフェイスＸは、ＢＧイネーブル信号Ｙがアサートされない限り、送信することを許可されず、ネットワーク・インターフェイスＹは、ＢＧイネーブル信号Ｘがアサートされない限り、送信することを許可されない。
【００２５】
図２に示される実施態様では、バス・ガーディアンＸは、ネットワーク・インターフェイスＸによって維持されるスケジュール・テーブルＸ及びクロック・ソースＸに基づいてＢＧイネーブル信号を生成し、バス・ガーディアンＹは、ネットワーク・インターフェイスＸによって維持されるスケジュール・テーブルＸ及びクロック・ソースＸに基づいてＢＧイネーブル信号を生成する。
【００２６】
図２に示される実施態様では、ネットワーク・インターフェイスＸが、同じクロック・ソース（クロック・ソースＸ）を使用し、ネットワーク・インターフェイスＹとバス・ガーディアンＹとが、同じクロック・ソース（クロック・ソースＹ）を使用する。別の実施態様では、ネットワーク・インターフェイスＸとＹが同じクロック・ソースを使用し、バス・ガーディアンＸとＹが同じクロック・ソースを使用する。
【００２７】
ネットワーク・インターフェイスＹにバス・ガーディアンＸを交差結合し、ネットワーク・インターフェイスＸにバス・ガーディアンＹを交差結合することにより、チャネル１０４のアベラビリティが高められる。
【００２８】
ネットワーク・インターフェイスＸが、スケジュール・テーブルＸ及びクロック・ソースＸに基づいて、現在のタイム・スロット中に送信を行うことを想定されていると判定したとき、ネットワーク・インターフェイスＸは、チャネルＡｘ及びＢｘ上の送信用のデータを、送信インターフェイスＴｘＡ及びＴｘＢそれぞれに対して出力する。送信インターフェイスＴｘＡ及びＴｘＢは、ＢＧイネーブル信号Ｙがアサートされない限り、それぞれの送信メディア・デバイスＴｘＡ及びＴｘＢへ、チャネルＡｘ及びＢｘ上の送信するための受信したデータを転送しない。同様に、ネットワーク・インターフェイスＹが、スケジュール・テーブルＹ及びクロック・ソースＹに基づいて、現在のタイム・スロット中に送信を行うことを想定されていると判定したとき、ネットワーク・インターフェイスＹは、チャネルＡｙ及びＢｙ上の送信用のデータを、送信インターフェイスＴｙＡ及びＴｙＢそれぞれに対して出力する。送信インターフェイスＴｙＡ及びＴｙＢは、ＢＧイネーブル信号Ｘがアサートされない限り、それぞれの送信メディア・デバイスＴｙＡ及びＴｙＢへ、チャネルＡｙ及びＢｙ上の送信するための受信したデータを転送しない。
【００２９】
一つの代替の実施態様（図２では破線を用いて例示される）では、送信メディア・デバイスＴｘＡ及びＴｘＢは、ＢＧイネーブル信号Ｘによって「イネーブル」にされ、送信メディア・デバイスＴｙＡ及びＴｙＢは、ＢＧイネーブル信号Ｙによって「イネーブル」にされる。かかる一実施態様では、ネットワーク・インターフェイスＸが、スケジュール・テーブルＸに基づいて、現在のタイム・スロット中に送信を行うことが企図されていると判定したとき、ネットワーク・インターフェイスＸは、送信メディア・デバイスＴｘＡ及びＴｘＢそれぞれへ（それぞれ送信インターフェイスＴｘＡ及びＴｘＢを介して）、チャネルＡｘ及びＢｘ上の送信用のデータを出力する。しかし、送信メディア・デバイスＴｘＡ及びＴｘＢはそれぞれ、ＢＧイネーブル信号Ｙがバス・ガーディアンＹによってアサートされない限り、受信したデータをチャネルＡｘ及びＢｙ上へ送信しない。同様に、かかる実施態様では、ネットワーク・インターフェイスＹが、スケジュール・テーブルＹに基づいて、現在のタイム・スロット中に送信を行うことが企図されていると判定したとき、ネットワーク・インターフェイスＹは、送信メディア・デバイスＴｙＡ及びＴｙＢそれぞれへ（それぞれ送信インターフェイスＴｙＡ及びＴｙＢを介して）、チャネルＡｙ及びＢｙ上の送信用のデータを出力する。しかしながら、送信メディア・デバイスＴｙＡ及びＴｙＢはそれぞれ、ＢＧイネーブル信号Ｘがバス・ガーディアンＸによってアサートされない限り、受信したデータをチャネルＡｘ及びＢｙ上へ送信しない。
【００３０】
図２に示される実施態様では、ノード１０２は更に、ボータ（ｖｏｔｅｒ、投票装置）１１６を備える。ボータ１１６は、ノード１０２が、ネットワーク１０２内の別の送信元ノード１０２がネットワーク・インターフェイスＸ及びＹを介して（同じタイム・スロット中又は異なるタイム・スロット中に）同じデータを送信した場合に、その送信元ノード１０２から受信したデータを処理するために使用される。かかる送信元ノード１０２が、その同じデータをネットワーク・インターフェイスＸ及びＹで送信することを企図されている場合は、ボータ１１６は、ネットワーク１００から受信されたデータの信頼性を高めるために、複数のチャネルで受信されたデータ内のエラーの検出（及び幾つかの実装形態では、訂正）を行うために、それらのチャネル上で受信されたデータを比較する。かかる実施態様では、ボータ１１６は、それぞれチャネルＡｘ、Ａｙ、Ｂｘ、及びＢｙ上で受信されたデータを、その他のチャネルＡｘ、Ａｙ、Ｂｘ、及びＢｙの内の１又は複数のチャネル上で受信されたデータと比較し、その比較結果の関数である１又は複数の票決規則について評価する。かかる票決規則の例は、表１に示されている。ボータ１１６は、個々の送信元モード１０２が、そのノードのネットワーク・インターフェイスＸおよびネットワーク・インターフェイスＹの両方を使用してデータを送信した後に（即ち、ネットワーク・インターフェイスＸとＹの両方から送信を行うために送信元ノード１０２に割り当てられた１つのタイム・スロット（そのタイム・スロット中にネットワーク・インターフェイスＸとＹの両方から送信が行われる）の後に、或いは、ネットワーク・インターフェイスＸ及びＹにそれぞれ割り当てられた、ネットワーク・インターフェイスＸ及びＹがその間にそれぞれに送信を行う２つの別々のタイム・スロットの後に）、かかる票決処理を実施する。
【００３１】
図２に示される具体的な実施態様では、ボータ１１６は、ホスト１１０上に実装される（例えば、アプリケーション１１４を実行する同じプログラマブル・プロセッサ上で実行するソフトウェアとして）。他の実施態様では、ボータ１１６は、他の方法で実装される（例えば、異なるタイプのプログラマブル・デバイスを使用して、及び／又は特定用途向け集積回路等のハードウェアの形で）。
【００３２】
図２に示される実施態様では、ネットワーク・インターフェイスＸ及びＹは、４つのチャネルで通信する。別の実施態様では、ネットワーク・インターフェイスＸ及びＹは、２つのチャネル（例えば、チャネルＡｘ及びＢｙ）で通信する。かかる一つの代替の実施態様では、ネットワーク・インターフェイスＸは、チャネルＡｘで送信を行い、チャネルＡｘとＢｙの両方からデータを受信し、ネットワーク・インターフェイスＹは、チャネルＢｙで送信を行い、チャネルＡｘとＢｙの両方からデータを受信する。かかる一つの実施態様では、ノード１０２において実施される票決処理は、例えば、２つのチャネルＡｘとＢｙから受信されたデータを比較して、それらの受信データが同じであるかを判定する。２つのチャネル上で受信されたデータが同じである場合、そのデータは、インテグリティのある形で受信されたものと見なされるが、２つのチャネルで受信されたデータが同じでない場合、そのデータは、インテグリティのある形で受信されたと見なされない。
【００３３】
各ノード１０２の動作は、図３ないし図５と関連して説明される。図３は、各ノード１０２において、それぞれネットワーク・インターフェイスＸ及びネットワーク・インターフェイスＹによってデータを受信および送信する方法３００及び３５０に関する、一実施態様の流れ図である。図３に示される方法３００及び３５０に関する実施態様は、図１の通信ネットワーク１００で及び図２のノード１０２でで実装されるものとして説明されるが、方法３００及び３５０に関する他の実施態様を他の様式で実装されることが理解されるであろう。方法３００は、ネットワーク・インターフェイスＸによって実施され、方法３５０は、ネットワーク・インターフェイスＹによって実施される。図３に関して、方法３００及び３５０の処理を実施しているノード１０２は、本明細書では「現在のノード」と呼ばれる。
【００３４】
ネットワーク・インターフェイスＸが、スケジュール・テーブルＸ及びクロック・ソースＸに基づいて、現在のタイム・スロット中に送信を行うことが企図されていると判定したとき（ブロック３０２で検査される）、ネットワーク・インターフェイスＸは、送信インターフェイスＴｘＡ及びＴｘＢそれぞれへ、チャネルＡｘ及びＢｘ上の送信用のデータを供給する（ブロック３０４）。しかしながら、送信インターフェイスＴｘＡ及びＴｘＢはそれぞれ、ＢＧイネーブル信号Ｙがアサートされた場合にのみ（ブロック３０６）、その受信したデータを送信メディア・デバイスＴｘＡ及びＴｘＢへ転送する（これらが次にチャネルＡｘ及びＢｘそれぞれへデータを送信する）（ブロック３０８）。
【００３５】
ネットワーク・インターフェイスＸが、スケジュール・テーブルＸ及びクロック・ソースＸに基づいて、現在のタイム・スロット中に送信を行うことが企図されていないと判定したとき、ネットワーク・インターフェイスＸは、チャネルＡｙ及びＢｙからデータを受信する（ブロック３１０）。このネットワーク・インターフェイスは、ネットワーク・インターフェイスＸの受信インターフェイスＲｘＡにおいてチャネルＡｙからのデータを受信し、ネットワーク・インターフェイスＸの受信インターフェイスＲｘＢにおいてチャネルＢｙからのデータを受信する。受信されたデータは、例えば、処理のためにボータ１１６へ転送される。一実施態様では、ボータ１１６は、図５に関して以下で説明されるように受信データを処理する。
【００３６】
ネットワーク・インターフェイスＹが、スケジュール・テーブルＹ及びクロック・ソースＹに基づいて、現在のタイム・スロット中に送信を行うことが企図されていると判定したとき（ブロック３５２で検査される）、ネットワーク・インターフェイスＹは、送信インターフェイスＴｙＡ及びＴｙＢそれぞれへ、チャネルＡｙ及びＢｙ上の送信用のデータを供給する（ブロック３５４）。しかしながら、送信インターフェイスＴｙＡ及びＴｙＢはそれぞれ、ＢＧイネーブル信号Ｘがアサートされた場合にのみ（ブロック３５６）、その受信したデータを送信メディア・デバイスＴｙＡ及びＴｙＢへ転送する（これらが次に、チャネルＡｙ及びＢｙそれぞれへデータを送信する）（ブロック３５８）。
【００３７】
ネットワーク・インターフェイスＹが、スケジュール・テーブルＹ及びクロック・ソースＹに基づいて、現在のタイム・スロット中に送信を行うことが企図されていないと判定したとき、ネットワーク・インターフェイスＹは、チャネルＡｘ及びＢｘからデータを受信する（ブロック３６０）。ネットワーク・インターフェイスＹは、ネットワーク・インターフェイスＹの受信インターフェイスＲｙＡにおいてチャネルＡｘからのデータを受信し、ネットワーク・インターフェイスＹの受信インターフェイスＲｙＢにおいてチャネルＢｘからのデータを受信する。受信したデータは、例えば、処理のためにボータ１１６へと転送される。一実施態様では、ボータ１１６は、図５に関して以下で説明されるように受信データを処理する。
【００３８】
図４は、バス・ガーディアン・イネーブル信号Ｘ及びＹそれぞれを生成する方法４００及び４５０を示す流れ図である。図４に示される方法４００及び４５０に関する実施態様は、図１の通信ネットワーク１００及び図２のノード１０２を使用して実装されるものとして説明されるが、方法４００及び４５０に関する他の実施態様は他の方法で実装されることが理解されるであろう。方法４００及び４５０はそれぞれバス・ガーディアンＸ及びＹによって実施される。図４に関して、方法４００及び４５０の処理を実施しているノード１０２は、本明細書では「現在のノード」と呼ばれる。
【００３９】
バス・ガーディアン・イネーブル信号Ｘを生成するには、ネットワーク１００において使用される特定のメディア・アクセス・スキームに従って、ネットワーク・インターフェイスＹがその特定の時間において送信することを許可されるかどうかを判定すること（ブロック４０２で検査される）が必要である。この判定が、送信する時間であることを示す場合、バス・ガーディアン・イネーブル信号Ｘが、イネーブルにされる（即ち、アサートされる）（ブロック４０４）。そうでない場合は、バス・ガーディアン・イネーブル信号Ｘが、ディスエーブルにされる（即ち、デアサートされる）（ブロック４０６）。バス・ガーディアンＸは、ＢＧイネーブル信号Ｘをいつアサートすべきかを判定する際に、ネットワーク・インターフェイスＸによって維持されるグローバル通信テーブルを使用し、また、図２に示される実施態様では、クロック・ソースＸを使用して、ネットワーク・インターフェイスＹがいつ送信することを許可されるか（従って、ＢＧイネーブル信号Ｘがいつアサートされるべきか）を判定する。
【００４０】
方法４５０は方法４００と同様である。バス・ガーディアン・イネーブル信号Ｙを生成するには、ネットワーク１００において使用される特定のメディア・アクセス・スキームに従って、ネットワーク・インターフェイスＸがその特定の時間において送信することを許可されるかどうか判定すること（ブロック４５２で検査される）を要する。バス・ガーディアンＹは、ＢＧイネーブル信号Ｙをいつアサートすべきかを判定する際に、ネットワーク・インターフェイスＹによって維持されるグローバル通信テーブルを使用し、また、図２に示される実施態様では、クロック・ソースＹを使用して、ネットワーク・インターフェイスＸがいつ送信することを許可されるか（従って、ＢＧイネーブル信号Ｙがいつアサートされるべきか）を判定する。この判定が、送信する時間であることを示す場合、バス・ガーディアン・イネーブル信号Ｙが、イネーブルにされる（即ち、アサートされる）（ブロック４５４）。そうでない場合は、バス・ガーディアン・イネーブル信号Ｙが、ディスエーブルにされる（即ち、デアサートされる）（ブロック４５６）。
【００４１】
図５は、チャネルＡｘ、Ａｙ、Ｂｘ、及びＢｙで受信されたデータを使用して票決を行う方法５００に関する一実施態様の流れ図である。図５に示される方法５００に関する実施態様は、図１の通信ネットワーク１００及び図２のノード１０２を使用して実装されるものとして説明されるが、方法５００に関する他の実施態様は他の方法で実装されることが理解されるであろう。かかる一実施態様では、方法５００は、ボータ１１６によって実施される。図５に関して、方法５００の処理を実施しているノード１０２は、本明細書では「現在のノード」と呼ばれる。
【００４２】
方法５００は、所与のタイム・スロットの間にチャネルＡｘ、Ａｙ、Ｂｘ、及びＢｙで受信されるデータを受信した後に、チャネルＡｘで受信されたデータと、チャネルＡｙで受信されたデータとを比較するステップ（ブロック５０２）と、チャネルＢｘで受信されたデータと、チャネルＢｙで受信されたデータとを比較するステップ（ブロック５０４）と、チャネルＡｘで受信されたデータと、チャネルＢｙで受信されたデータとを比較するステップ（ブロック５０６）と、チャネルＢｘで受信されたデータと、チャネルＡｙで受信されたデータとを比較するステップ（ブロック５０８）とを含む。かかる一実施形態における一つの実装態様では、それぞれの比較は、比較対象の２つのフレーム全体に関するビット対ビット（ｂｉｔ−ｆｏｒ−ｂｉｔ）比較である。別の実施態様では、それぞれの比較は、比較対象の２つのフレームのそれぞれに含まれるＣＲＣを比較する。これらの比較の結果を用いて、１又は複数の票決規則について評価が行われ（ブロック５１０）。
【００４３】
図５に示される実施態様では、４つの比較の結果から、４ビット・ベクトル（本明細書では、「シンドローム」とも呼ばれる）が生成される。それぞれの比較の結果は、シンドロームのそれぞれのビットに格納され、ここの格納において、比較されたデータが同じである場合はビットが第１の値にセットされ、比較されたデータが同じでない場合はビットが第２の値にセットされる。次いで、受信したデータをどのように使用すべきかを識別するために、票決規則について評価される。例えば、真理値表の一実施態様が表１に示されており、この表は、１組の票決規則を例示する。表１に示される真理値表では、値「Ｔ」は、その関連する比較が真である（即ち、関連する比較において比較されたデータが同じである）ことを表し、値「Ｆ」は、その関連する比較が偽である（即ち、関連する比較において比較されたデータが同じではない）ことを表す。所与の入力シンドロームについて、表１に示される真理値表は、インテグリティの観点から、何れのデータを使用すべきかを示し、また、可用性（アベラビリティ）の観点から、何れのデータを使用すべきかを示す。一実施態様では、票決規則について評価した結果は、チャネルＡｘ、Ａｙ、Ｂｘ、及びＢｙから受信されたデータと共にホスト１１０へ供給される。別の実施態様では、ボータ１１６は、票決規則に従って選択された１つのフレームをホスト１１０での使用のためにホスト１１０へ供給する（票決規則が、ホスト１１０による使用に適したフレームが受信されたことを示す場合）。また、他の実施態様では、他の票決規則が使用される。
【００４４】
【表１】
2007517427.tif 000003
【００４５】
他の実施態様では、他の票決規則が使用される。
【００４６】
本明細書に記載の方法及び技法は、デジタル電子回路の形で、又はプログラマブル・プロセッサ（例えば、専用プロセッサ又はコンピュータ等の汎用プロセッサ）、ファームウェア、ソフトウェアを用いて、或いはそれらの組合せの形で実装されてもよい。これらの技法を実施する装置は、適切な入力デバイス及び出力デバイスと、プログラマブル・プロセッサと、プログラマブル・プロセッサにより実行されるプログラム命令を有形に実現する記憶媒体とを含み得る。これらの技法を実施するプロセスは、入力データに対して演算を行って適切な出力を生成することによって所望の機能を果たすための命令のプログラムを実行するプログラマブル・プロセッサによって、実施されてもよい。これらの技法は、有利なことに、プログラマブル・システムで実行可能な１又は複数のプログラムの形で実装されてもよく、ここにおけるプログラマブル・システムは、データ記憶システムとの間でデータ及び命令の受信および送信を行うように結合された少なくとも１つのプログラマブル・プロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含む。一般に、プロセッサは、リード・オンリー・メモリ及び／又はランダム・アクセス・メモリから命令及びデータを受信する。コンピュータ・プログラム命令及びデータを有形に実現するのに適した記憶デバイスは、全ての形態の不揮発性メモリを含み、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ・デバイス等の半導体メモリ・デバイス、内部ハード・ディスクやリムーバル・ディスク等の磁気ディスク、光磁気ディスク、及びＤＶＤディスクなどを含む。上記のものの何れも、特別に設計された特定用途向け集積回路（ＡＳＩＣ）によって追加されても、或いはＡＳＩＣに組み込まれてもよい。
【００４７】
添付の特許請求の範囲によって定義される本発明の幾つかの実施態様が、説明されてきた。しかしながら、ここに記載された実施態様には、添付の特許請求の範囲に記載の本発明の趣旨及び範囲を逸脱することなく、様々な変更を加えることもできることが理解されるであろう。従って、他の実施態様は、添付の特許請求の範囲の範囲内にある。
【図面の簡単な説明】
【００４８】
【図１】図１は、通信ネットワークのブロック図である。
【図２】図２は、ノードの一実施態様のブロック図である。
【図３】図３は、図２のコントローラによるデータの受信および出力の方法に関する一実施態様の流れ図である。
【図４】図４は、バス・ガーディアン・イネーブル信号を生成する方法を示す流れ図である。
【図５】図５は、複数のチャネルで受信されたデータを使用して票決を行う方法に関する一実施態様の流れ図である。
【図１】
2007517427.tif 000004
【図２】
2007517427.tif 000005
【図３】
2007517427.tif 000006
【図４】
2007517427.tif 000007
【図５】
2007517427.tif 000008
【国際調査報告】
2007517427.tif 000009
2007517427.tif 000010
2007517427.tif 000011
2007517427.tif 000012