JP2008523726A - 編組リング型ネットワーク上の自己チェックペア - Google Patents

編組リング型ネットワーク上の自己チェックペア Download PDF

Info

Publication number
JP2008523726A
JP2008523726A JP2007545666A JP2007545666A JP2008523726A JP 2008523726 A JP2008523726 A JP 2008523726A JP 2007545666 A JP2007545666 A JP 2007545666A JP 2007545666 A JP2007545666 A JP 2007545666A JP 2008523726 A JP2008523726 A JP 2008523726A
Authority
JP
Japan
Prior art keywords
node
channel
nodes
data
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007545666A
Other languages
English (en)
Other versions
JP4944791B2 (ja
Inventor
ホール,ブレンダン
ポーリッシュ,ミハエル
ドリスコル,ケヴィン・アール
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.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Publication of JP2008523726A publication Critical patent/JP2008523726A/ja
Application granted granted Critical
Publication of JP4944791B2 publication Critical patent/JP4944791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media

Abstract

一実施形態において、1つ以上の自己チェックペア(700)は、トランスポートレイヤ(例えば、編組リング型トポロジを有するネットワーク内)におけるデータの条件付きの伝播に対応するネットワーク(100)内のアプリケーションレイヤで実装される。

Description

以降の説明は、一般に通信システムに関し、より詳細には分散型のフォルトトレラントな通信システムに関する。
本出願は、以下(ここですべて参照によって組み込まれる)の一部継続出願である。
2004年11月19日に出願された「UNSYNCHRONOUS MODE BROTHER’S KEEPER BUS GUARDIAN FOR A RING NETWORKS」という名称の米国特許出願第10/933,931号(代理人整理番号H0005059−1633)(本明細書では、「H0005059−1633出願」として参照される)は、2003年11月19日に出願された米国仮出願番号60/523,892および2003年11月19日に出願された米国仮出願番号60/523,865(双方を参照により本明細書に組み込む)の利点について特許請求している。 2004年11月19日に出願された「CLIQUE AGGREGATION IN TDMA NETWORKS」という名称の米国特許出願第10/994,209号(代理人整理番号H0009280−1633)は、2003年11月19日に出願された米国仮出願番号60/523,892および2003年11月19日に出願された米国仮出願番号60/523,865の利点について特許請求している。 2004年11月19日に出願された「SYNCHRONOUS MODE BROTHER’S KEEPER BUS GUARDIAN FOR A TDMA BASED NETWORK」という名称の米国特許出願第10/993,936号(代理人整理番号H0009281−1633)は、2003年11月19日に出願された米国仮出願番号60/523,892および2003年11月19日に出願された米国仮出願番号60/523,865の利点について特許請求している。 2004年11月19日に出願された「HIGH INTEGRITY DATA PROPAGATION IN A BRAIDED RING」という名称の米国特許出願第10/993,933号(代理人整理番号H0009279−1633)は、2003年11月19日に出願された米国仮出願番号60/523,892および2003年11月19日に出願された米国仮出願番号60/523,865の利点について特許請求している。 2004年11月19日に出願された「DIRECTIONAL INTEGRITYENFORCEMENT IN A BIDIRECTIONAL BRAIDED RING NETWORK」という名称の米国特許出願第10/993,932号(代理人整理番号H0009283−1633)は、2003年11月19日に出願された米国仮出願番号60/523,892および2003年11月19日に出願された米国仮出願番号60/523,865の利点について特許請求している。 2004年11月19日に出願された「MESSAGE ERROR VERIFICATION USING CHECKING WITH HIDDEN DATA」という名称の米国特許出願第10/993,162号(代理人整理番号H0005061−1633)は、本明細書では「H0005061−1633出願」として参照され、参照により本明細書に組み込まれる。
分散型のフォルトトレラントな通信システムは、例えば1つの不具合が場合によっては1人または複数の人間の負傷または死亡につながる可能性のあるアプリケーションにおいて使用される。このようなアプリケーションは、本明細書では「安全が決定的に重要となるアプリケーション」と呼ばれる。安全が決定的に重要となるアプリケーションの一例は、航空機あるいはその他のエアロスペースビークル内に含まれるセンサおよび作動装置をモニタおよび管理するために使用されるシステム内に存在する。
そのような安全が決定的に重要となるアプリケーションにおいて使用するために一般に検討される1つのアーキテクチャが、TTA(Time−Triggered Architecture)である。TTAシステムにおいては、複数のノードが、例えばTTP/C(Time Triggered Protocol/C)あるいはFLEXRAYプロトコルを使用して、2つの複製された高速の通信チャネルを介して相互に通信する。いくつかの実施形態においては、そのようなTTAシステム内のノードのうちの少なくとも1つが、例えばTTP/A(Time Triggered Protocol/A)を使用して、2つの複製された低速のシリアル通信チャネルを介して1つまたは複数のセンサおよび/または作動装置に結合される。
このようなTTAシステムの1つの構成においては、さまざまなノードが、2つの複製された通信チャネルを介して相互に通信し、これらの通信チャネルのそれぞれは、スター型トポロジを使用して実装される。このような構成においては、それぞれのチャネルは、1つの独立した中央集中型のバスガーディアンを含む。このような中央集中型のバスガーディアンのそれぞれは、それぞれのチャネルごとの単一障害点を表す。別の構成においては、TTAシステムは、リニアバス型トポロジを使用して実装され、ここでは、さまざまなノードが、2つの複製された通信チャネルを介して相互に通信し、それぞれのノードは、そのノードが結合されるそれぞれの通信チャネルごとに別々の独立したバスガーディアンを含む。すなわち、2つの通信チャネルが使用される場合には、それぞれのノードは、2つの独立したバスガーディアンを含む。しかし、それぞれのノード内に複数の独立したバスガーディアンを提供することは、(例えば、それぞれのノード内に複数のバスガーディアンを提供することに関連してコストが増加するために)一部のアプリケーションには適さない可能性がある。
一実施形態において、ネットワークは、第1および第2のリングを形成する第1および第2のチャネルで相互に通信可能にそれぞれ結合されている複数のノードからなる。ネットワークは、さらに複数のノードのうち少なくとも2つのノードからなる少なくとも1つの自己チェックペアを含む。各ノードは、第1のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合している。各ノードは、第2のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合している。自己チェックペアの2つのノードは、相互に隣り合ったノードである。各ノードが第1の方向における第1のチャネルに沿ってデータの第1の中継されたユニットを中継するときに、当該ノードは、データの第1の中継されたユニットと共に、データの第1の中継されたユニットの整合性の指標情報を中継する。各ノードが第2の方向における第2のチャネルに沿ってデータの第2の中継されたユニットを中継するときに、当該ノードは、データの第2の中継されたユニットと共に、データの第2の中継されたユニットの整合性の指標情報を中継する。自己チェックペアの2つのノードの各ノードは、第1の方向における第1のチャネル上および第2の方向における第2のチャネル上で通信されるデータのうちのデータのある特定のユニットについて、自己チェックペア内に含まれる2つのノード以外のノードへ、第1および第2のチャネルから当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスに関する情報をそれぞれ送信し、自己チェックペアに含まれる2つのノードとは別のノードから、それぞれ第1のチャネルおよび第2のチャネルから当該別のノードによって受信されたデータの特定のユニットの第1および第2のインスタンスに関する情報を受信し、自己チェックペアに関する、当該ノードによって実行される処理用として、第1および第2のチャネルから当該ノードによってそれぞれ受信された第1および第2のインスタンスに関する情報、および、第1および第2のチャネルから自己チェックペアの2つのノード以外によってそれぞれ受信された第1および第2のインスタンスに関する情報、のうち少なくとも1つをベースにして当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択する。
他の一実施形態において、ネットワークは、第1および第2のチャネルで相互に通信可能にそれぞれ結合されている複数のノードと、複数のノードのうち少なくとも2つのノードからなる少なくとも1つの自己チェックペアからなる。各ノードは、第1のチャネルを介して、第1のチャネル上でデータを送信するノードである、少なくとも1つの第1の送信先ノードと、第1のチャネルからデータを受信するノードである、少なくとも1つの第1の受信元ノードとに通信可能に結合されている。
各ノードは、第2のチャネルを介して、第2のチャネルでデータを送信するノードである、少なくとも1つの第2の送信先ノードと、第2のチャネルからデータを受信するノードである、少なくとも1つの第2の受信元ノードとに通信可能に結合されている。自己チェックペアの2つのノードの第1は、自己チェックペアの2つのノードの第2に対して、それぞれ第1の受信元ノードおよびそれぞれ第2の送信先ノードからなる。自己チェックペアの2つのノードの第2は、自己チェックペアの2つのノードの第1に対して、それぞれ第2の受信元ノードおよびそれぞれ第1の送信先ノードからなる。各ノードが第1のチャネルに沿ってデータの第1の中継されたユニットを中継するときに、当該ノードは、データの第1の中継されたユニットと共にデータの第1の中継されたユニットの整合性の指標情報を中継する。各ノードが第2のチャネルに沿ってデータの第2の中継されたユニットを中継するときに、当該ノードは、データの第2の中継されたユニットと共にデータの第2の中継されたユニットの整合性の指標情報を中継する。自己チェックペアの2つの各ノードが、第1のチャネル上および第2のチャネル上で通信されるデータの特定のユニットに関して、自己チェックペア内に含まれる2つのノード以外のノードへ、第1および第2のチャネルから当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスについての情報をそれぞれ送信し、自己チェックペア内に含まれる2つのノードとは別のノードから、第1のチャネルおよび第2のチャネルから当該別のノードによって受信されたデータの特定のユニットの第1および第2のインスタンスについての情報をそれぞれ受信し、自己チェックペアに関する、当該ノードによって実行される処理用として、第1および第2のチャネルからの当該ノードによってそれぞれ受信された第1および第2のインスタンスに関する情報、および第1および第2のチャネルから自己チェックペアの2つのノード以外によってそれぞれ受信された第1および第2のインスタンスに関する情報、のうち少なくとも1つをベースにして当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択する。
別の実施形態は、第1および第2のリングを形成する第1および第2のチャネルを通して相互に通信可能にそれぞれ結合された複数のノードからなるネットワーク内で使用される方法からなる。各ノードは、第1のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合されている。各ノードは、第2のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合されている。ネットワークは、相互に隣り合ったノードである2つのノードを含む少なくとも1つの自己チェックペアからなる。前記方法は、複数のノードの各ノードによって、第1のチャネルに沿って、データの第1の中継されたユニットの整合性の指標情報を伴う、第1のチャネル上でそれぞれのノードによって受信されたデータの第1のユニットを中継することからなる。前記方法は、さらに複数のノードの各ノードによって、第2のチャネルに沿って、データの第2の中継されたユニットの整合性の指標情報を伴う、第2のチャネル上でそれぞれのノードによって受信されたデータの第2のユニットを中継することからなる。前記方法は、さらに第1および第2のチャネル上で通信されるデータの特定のユニットに関して、自己チェックペアの2つのノードの各ノードにおいて、自己チェックペア内に含まれる2つのノードと別のノードへ、第1および第2のチャネルから当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスに関する情報をそれぞれ送信し、自己チェックペア内に含まれる2つのノード以外から、第1および第2のチャネルから当該別のノードによって受信されたデータの特定のユニットの第1および第2のインスタンスに関する情報をそれぞれ受信し、自己チェックペアに対して、当該ノードによって実行される処理用として、第1および第2のチャネルから当該ノードによってそれぞれ受信された第1および第2のインスタンスに関する情報および第1および第2のチャネルから自己チェックペアの2つのノード以外によってそれぞれ受信された第1および第2のインスタンスに関する情報のうち少なくとも1つをベースにして当該ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択する。
別の実施形態において、自己チェックペアは、第1および第2のノードからなる。第1および第2の各ノードは、少なくとも第1および第2のチャネルとそれぞれのノードを通信可能に結合するためのインターフェースを含む。第1および第2のチャネルは、それぞれ第1および第2のリングからなる。第1および第2のノードは、相互に隣り合ったノードである。第1および第2のチャネル上で中継されるデータの各ユニットに関して、データの中継されたユニットの整合性の指標情報は、データの中継されたユニットと共に中継される。ネットワーク上で通信されるデータの特定のユニットに関して、第1および第2の各ノードは、第1のチャネルから受信したデータの特定のユニットの第1のインスタンスおよび第2のチャネルから受信したデータの特定のユニットの第2のインスタンスについての情報を交換し、自己チェックペアの第1および第2の各ノードは、それぞれのノードによって実行される処理用として、第1および第2のチャネルからの当該ノードによってそれぞれ受信される第1および第2のインスタンスに関する情報、および第1および第2のチャネルから自己チェックペアの2つのノード以外によってそれぞれ受信された第1および第2のインスタンスに関する情報、のうち少なくとも1つをベースにして各ノードによって受信されたデータの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択する。
特許請求される本発明の1つまたは複数の実施形態の詳細については、添付の図面および以降の説明において示される。その他の特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
さまざまな図面における同様の参照番号および記号は、同様の要素を示す。
図1は、通信ネットワーク100の一実施形態を示すブロック図である。通信ネットワーク100は、複数のノード102を含む。ネットワーク100のそれぞれのノード102は、少なくとも1つのチャネル106に通信可能に結合される。データがチャネル106内を流れる所与の方向に向かって、チャネル106は、それぞれのノード102を、そのノード102にとってデータの受信元である少なくとも2つの他のノード102(本明細書では「受信元ノード」とも呼ばれる)と、そのノード102にとってデータの送信先である少なくとも2つの他のノード102(本明細書では「送信先ノード」とも呼ばれる)と直接に(すなわち、1つのホップのみで)通信可能に結合する。一実施形態においては、受信元ノード102のうちの1つが、「一次」受信元ノード102として指定され、その他の受信元ノード102が、「二次」受信元ノード102として指定される。1つのノード102が、チャネル106上で所与の方向にデータを「中継」する場合には、そのノード102は、そのチャネル106およびその方向に関するデータを一次受信元ノード102から受信し、そのチャネル106およびその方向に関する受信データを、そのノード102用に指定された送信先ノードのそれぞれへとその同じチャネルに沿って転送する。1つのノードによって二次受信元ノード102から受信されたデータは、後述のさまざまな比較オペレーションのために使用され、および/または適切なデータが一次受信元ノードから受信されない場合には中継される。1つの所与のノード102が、チャネル106に沿って所与の方向にデータを「送信」する場合には(すなわち、その所与のノード102が、ネットワーク100上でやり取りされるデータのソースである場合には)、そのノード102は、そのチャネル102および方向に関するデータを、そのノード102用に指定された送信先ノード102のそれぞれへ送信する。
図1に示されている特定の実施形態においては、複数のノード102は、「編組リング型の」トポロジを有するリング104内に配置され、そこでは複数のノード102は、複数の通信チャネル106を介して相互に通信する。図1に示されている特定の実施形態においては、8つのノード102が、2つの複製された通信チャネル106を介して相互に通信する。その他の実施形態においては、異なる数および/またはタイプのノード102および/またはチャネル106、ならびに/あるいは異なるネットワークトポロジが使用される。
ネットワーク100の実施形態は、さまざまなメディアアクセススキームを使用して実装される。例えば図1に示されている実施形態は、ここでは、TDMA(time division multiple access)メディアアクセススキーム(例えば、TTP/CあるいはFLEXRAYプロトコルで実施されるメディアアクセススキーム)を使用して実装されるものとして説明される。その他の実施形態においては、その他のメディアアクセススキームが使用される。
図1に示されている8つのノード102はまた、図1においてAからHの文字で個々にラベル付けされ、また本明細書では個々に「ノードA」、「ノードB」などと呼ばれる。本明細書において使用される際、「隣のノード」(あるいは単に「隣」)とは、リング104内における所与のノード102のすぐ次のノードのことである。それぞれのノード102は、2つの「隣のノード」102、すなわち時計方向のもの(本明細書では「時計方向の隣のノード」あるいは「時計方向の隣」とも呼ばれる)と、反時計方向のもの(本明細書では「反時計方向の隣のノード」あるいは「反時計方向の隣」とも呼ばれる)とを有する。例えばノードAにとっての隣のノード102とは、時計方向のノードHと、反時計方向のノードBである。
さらに、本明細書において使用される際、所与のノード102にとっての「隣の隣のノード」(あるいは単に「隣の隣」)とは、その所与のノード102の隣のノード102のさらに隣のノード102のことである。それぞれのノード102は、2つの隣の隣のノード102、すなわち時計方向のもの(本明細書では「時計方向の隣の隣のノード」あるいは「時計方向の隣の隣」とも呼ばれる)と、反時計方向のもの(本明細書では「反時計方向の隣の隣のノード」あるいは「反時計方向の隣の隣」とも呼ばれる)とを有する。例えばノードAにとっての2つの隣の隣のノードとは、時計方向のノードGと、反時計方向のノードCである。
2つの通信チャネル106は、それぞれ「チャネル0」および「チャネル1」として図1において個々にラベル付けされている(また本明細書でも、そのように呼ばれる)。図1に示されている実施形態においては、チャネル106のそれぞれは、複数のポイントツーポイントの一方向性のシリアルリンク108を使用して形成される。チャネル0は、ノード102をリング104に沿って時計方向に相互接続し、チャネル1は、ノード102をリング104に沿って反時計方向に相互接続する。その他の実施形態においては、その他のタイプのリンクが使用される。例えば、そのようなその他の一実施形態においては、双方向性のリンクが使用され、本明細書に記載のデバイス、システム、および技術は、通信が発生するそれぞれの方向ごとに実行される。
本明細書において使用される際、リンク108が、第1のノード102「から」第2のノード102「へ」接続されるものとして説明される場合には、そのリンク108は、そのリンク108を介してデータを第2のノード102へ送信するための第1のノード102用の通信パスを提供する。すなわち、その一方向性のリンク108の方向は、第1のノード102から第2のノード102へという方向である。
リンク108は、それぞれのノード102からそのノードの時計方向の隣のノード102へ接続される。リンク108はまた、それぞれのノード102からそのノードの時計方向の隣の隣のノード102へも接続される。例えば、1つのリンク108が、ノードAからノードHへ接続され、1つのリンク108が、ノードAからノードGへ接続される。これらの時計方向のリンク108は、チャネル0を構成し、図1においては実線を使用して示されている。
リンク108は、それぞれのノード102からそのノードの反時計方向の隣のノード102へ接続される。リンク108はまた、それぞれのノード102からそのノードの反時計方向の隣の隣のノード102へも接続される。例えば、1つのリンク108が、ノードAからノードBへ接続され、1つのリンク108が、ノードAからノードCへ接続される。これらの反時計方向のリンク108は、チャネル1を構成し、図1においては破線を使用して示されている。
所与のノード102をそのノードのそれぞれ時計方向および反時計方向の隣のノードへ接続するリンク108は、本明細書では「ダイレクト」リンク108とも呼ばれる。所与のノード102をそのノードのそれぞれ時計方向および反時計方向の隣の隣のノードへ接続するリンク108は、本明細書では「スキップ」リンク108とも呼ばれる。
図1に示されている特定の実施形態においては、チャネル0に関して、それぞれのノード102ごとの受信元ノードは、そのノードの反時計方向の隣および反時計方向の隣の隣であり、それぞれのノード102ごとの送信先ノードは、そのノードの時計方向の隣および時計方向の隣の隣である。本明細書に記載の実施形態においては、一次受信元ノードは、各ノードの反時計方向の隣である(ただし、その他の実施形態においては、一次受信元ノードは、そのノードの反時計方向の隣の隣である)。図1に示されている特定の実施形態においては、チャネル1に関して、それぞれのノード102ごとの受信元ノードは、そのノードの時計方向の隣および時計方向の隣の隣であり、それぞれのノード102ごとの送信先ノードは、そのノードの反時計方向の隣および反時計方向の隣の隣である。本明細書に記載の実施形態においては、一次受信元ノードは、各ノードの時計方向の隣である(しかし、他の実施形態においては、一次受信元ノードは、そのノードの時計方向の隣の隣である)。
図1に示されている特定の実施形態においては、ネットワーク100は、ピアツーピアネットワークとして実装され、そこでは、それぞれの送信は、ネットワーク100のそれぞれのノード102によって受信されるよう意図されている。その他の実施形態においては、それぞれの送信は、特定の宛先ノードを対象とする。さらに、本明細書に記載の実施形態では、データは、ネットワーク100内においてデータのフレームの形態でやり取りされるが、その他の実施形態においては、データのその他のユニットがネットワーク100を介してやり取りされるものと理解されたい。
図2から図6までは、図1中に示すネットワーク100の実施形態において実行されるトランスポートレイヤ処理の様々な実施形態を説明している。図7から図10までは、少なくともいくつかのトランスポートレイヤ処理中の上位で実装される図1中に示すネットワーク100の実施形態において実行される(トランスポートレイヤと比較すると)高位レベルの処理の様々な実施形態を説明している。
本明細書において、ここで記載されている実施形態では、トランスポートレイヤ処理は、2つの−非同期化モードおよび同期化モードという少なくとも2つのモードで動作する。同期化モードで動作している場合には、ネットワーク100内のノード102は、グローバルタイムベースに同期化され、TDMAメディアアクセススキームに従って送信を行う。このようなTDMAメディアアクセススキームに伴って、ネットワーク100内のノード102が所与のスケジュール期間またはラウンド中のどの時点で送信を行うかを確定するために、スケジュールが使用される。所与のスケジュール期間中に、ネットワーク100内のさまざまなノード102は、送信を行うためのそれぞれのタイムスロットを割り当てられる。すなわち、任意の所与のタイムスロットに関して、そのタイムスロットに割り当てられたノード102は、そのタイムスロットの間に送信を行うことができる(本明細書では「スケジュールされたノード」102とも呼ばれる)。この実施形態においては、スケジュールされたノードは、図2に関連して後述する処理を実行する。ネットワーク100内のその他のノード102は、図3A〜3Bおよび4A〜4Bに関連して後述する少なくともいくつかの中継処理を実行する。
ノード102が、非同期化モードで動作している場合には、それらのノード102は、まだグローバルタイムベースに同期化されておらず、まだTDMAスケジュールに従って送信を行っていない。一実施形態において、非同期モードで動作中のネットワーク100内のノード102によって実行される処理の少なくとも一部が、例えば、H0005059−1633出願の中で説明されている。
図2は、図1のネットワーク100内においてデータを送信する方法200の一実施形態を示す流れ図である。図2に示されている方法200の実施形態については、ここでは、本明細書において図1〜5に関連して記載されている実施形態内で実施されるものとして説明する。方法200は、TDMAスケジュールに従って同期化モードで動作している1つのノード102によって実行される。それぞれのノード102は、このような実施形態においては、そのノード102が、スケジュールされたノード102である場合に(すなわち、現在のタイムスロットが、TDMAスケジュールによってそのノード102に割り当てられている場合に)、方法200の処理を実行する。図2のコンテキストにおいては、方法200の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。一実施形態においては、現在のノード102によって実行されるものとしてここで説明されている機能の少なくとも一部は、そのノード102内に含まれるコントローラ内に実装される。方法200のその他の実施形態は、その他の方法で実装される。
現在のノード102は、その現在のノード102がTDMAスケジュールに従ってネットワーク100上で送信を行うことができるとその現在のノード102が判断した場合に(ブロック202)、方法200の処理を実行する。ネットワーク100内のそれぞれのノード102は、そのような判断を行うのに必要な情報を保持する。図1〜5の実施形態においては、そのような情報は、TDMAスケジュール、およびノード102が同期化される対象であるグローバルタイムベースに関連する情報を含む。
現在のノード102が送信を行うことができ、かつそのノード102が、送信すべきデータを有する場合には(これは、ブロック204においてチェックされる)、その現在のノード102は、データのフレームを、チャネル0に沿って、その現在のノードの時計方向の隣および時計方向の隣の隣へ送信し(ブロック206)、チャネル1に沿って、その現在のノードの反時計方向の隣および反時計方向の隣の隣へ送信する(ブロック208)。現在のノード102は、そのフレームをその現在のノードの時計方向の隣および反時計方向の隣へ、それぞれのダイレクトリンク108を使用して送信する。現在のノード102は、そのフレームをその現在のノードの時計方向の隣の隣および反時計方向の隣の隣へ、それぞれのスキップリンク108を使用して送信する。このような実施形態の一実装形態においては、現在のノード102は、チャネル0上のフレームをその現在のノードの時計方向の隣および時計方向の隣の隣へ送信する第1のトランシーバと、チャネル1上のフレームをその現在のノードの反時計方向の隣および反時計方向の隣の隣へ送信する第2のトランシーバとを含む。
1図3Aは、図1のネットワーク100内においてデータを中継する方法300の一実施形態を示す流れ図である。1つのノードがデータを「中継」する場合には、そのノード102は、1つまたは複数の受信元ノードからデータを受信し、その受信したデータを1つまたは複数の送信先ノードへと転送する。すなわち、ノード102がデータを中継している場合には、そのノード102は、そのノード102が他のノードへと転送しているデータのソースではない。図3Aに示されている方法300の実施形態については、ここでは、本明細書において図1〜5に関連して記載されている編組リング型の実施形態内で実施されるものとして説明する。その他の実施形態においては、方法300は、その他のネットワークトポロジを使用して実施される。方法300を実施できるその他のネットワークトポロジの一例が、2つの「シンプレックス」リングチャネルを含むネットワークトポロジである。このようなシンプレックスリング型ネットワークの一実装形態においては、ネットワークは、図1に示されているトポロジと同様のトポロジを使用するが、それぞれのノードをその時計方向の隣の隣および反時計方向の隣の隣へ通信可能に結合するスキップリンクは存在しない。
方法300は、TDMAスケジュールに従って同期化モードで動作している1つのノード102によって実行される。それぞれのノード102は、このような実施形態においては、そのノードの両隣のうちの一方が、現在のタイムスロットにとってのスケジュールされたノード102である場合に、方法300の処理を実行する。図3Aのコンテキストにおいては、方法300の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。一実施形態においては、現在のノード102によって実行されるものとしてここで説明されている機能の少なくとも一部は、そのノード102内に含まれるコントローラ内に実装される。方法300のその他の実施形態は、その他の方法で実装される。
現在のノード102は、その現在のノード102の両隣のうちの一方が現在のタイムスロットの間に送信を行うようにスケジュールされているとその現在のノード102が判断した場合に(これは、ブロック302においてチェックされる)、方法300の処理を実行する。このような隣は、この図3Aのコンテキストにおいては「スケジュールされた隣」とも呼ばれる。図1〜5の実施形態においては、現在のノード102は、TDMAスケジュールと、そのノード102が同期化される対象であるグローバルタイムベースとを含む情報に基づいて、この判断を行う。
現在のノード102が、その両隣のうちの一方が現在のタイムスロットにとってのスケジュールされたノードであると判断した場合には、その現在のノード102は、そのスケジュールされた隣から発生してその現在のノード102によって受信されたフレームを、そのスケジュールされた隣から、そのスケジュールされた隣をその現在のノード102へ結合するダイレクトリンク108を介して中継するだけである。すなわち現在のノード102が、スケジュールされた隣以外のノード102から発生するフレームを受信した場合には、その現在のノード102は、そのフレームを中継しない。
現在のノード102が、スケジュールされた隣からのフレームの受信を開始した場合には(これは、ブロック304においてチェックされる)、その現在のノード102は、その送信が、ネットワーク100内において実施される1つまたは複数のポリシーに準拠しているかどうかをチェックする。図3Aに示されている特定の実施形態においては、現在のノード102は、送信が、例えば、そこにおいて送信を開始しなければならない特定のウィンドウを指定する時間的なポリシーに準拠しているかどうかをチェックする(これは、ブロック306においてチェックされる)。TTP/CあるいはFLEXRAYプロトコルがサポートされるこのような実施形態の一実装形態においては、現在のノード102は、送信が、サポートされるプロトコルの時間的な送信要件に準拠しているかどうかをチェックする。図3Aに示されている実施形態においては、送信が時間的なポリシーに準拠していない場合には(例えば、SOS(slightly−off−specification)の障害が発生した場合には)、現在のノード102は、現在のフレームを中継しない(ブロック308)。(図3A内で点線を使用して示されている)代替実施形態においては、送信が時間的なポリシーに準拠していない場合には、現在のノード102は、その送信が時間的なポリシーに準拠していないことを示す情報(例えば、添付または共有された整合性フィールド)と共に現在のフレームを中継する(ブロック309)。別の実施形態(図示せず)においては、送信が時間的なポリシーの第1の側面に準拠していない場合には、現在のノード102は、その送信を中継せず、またその送信が(第1の側面には準拠している一方で)その時間的なポリシーの別の側面に準拠していない場合には、現在のノード102は、その送信がそのポリシーのその側面に準拠していないことを示す情報と共に現在のフレームを中継する。
送信が時間的なポリシーに準拠している場合には、現在のノード102は、その送信が1つまたは複数のその他のポリシーに準拠しているかどうかをチェックする(ブロック310)。例えば一実施形態においては、現在のノード102は、送信が1つまたは複数のセマンティックポリシー(例えば、セマンティックなプロトコル状態のフィルタリングを実施するポリシー)に準拠しているかどうかをチェックする。それぞれのフレームが、そのフレームのコンテンツに基づいて計算されるCRC(cyclic redundancy check)フィールドを含む別の実施形態においては、現在のノード102は、そのCRCフィールドをチェックして、スケジュールされたノードからその現在のノード102へそのフレームを送信する過程で何らかのエラーがそのフレーム内に取り込まれているかどうかを判断する。このようなポリシーの別の例は、コード化層実施ポリシーである。別の例においては、フレーム長ポリシーが使用され、現在のノード102は、現在のフレームの長さをチェックする(このような例においては、フレーム長ポリシーに準拠しない場合には、例えば図3Aのブロック309に関連して説明したように処理が行われることになる)。
送信が、その他のポリシーのうちの1つまたは複数に準拠していない場合には、現在のノード102は、その送信を中継しない(ブロック308)。(図3A内で破線を使用して示されている)代替実施形態においては、現在のノード102は、その送信が1つまたは複数のポリシーに準拠していないことを示す情報(例えば、添付または共有された整合性フィールド)と共に現在のフレームを中継する(ブロック309)。別の実施形態(図示せず)においては、送信が第1のポリシーに準拠していない場合には、現在のノード102は、その送信を中継せず、またその送信が(第1のポリシーには準拠している一方で)別のポリシーに準拠していない場合には、現在のノード102は、その送信が後者のポリシーに準拠していないことを示す情報と共に現在のフレームを中継する。
あるいは、送信がすべてのポリシーに準拠している場合には、現在のノード102は、現在のフレームを、その現在のフレームの受信元であるチャネルに沿って、その現在のノードの次の隣および次の隣の隣へ中継する(ブロック312)。例えば、スケジュールされたノードがノードAであり、現在のノードがノードBである場合には、その現在のノードは、現在のフレームをノードC(チャネル1に沿ってノードBの次の隣)へ、およびノードD(チャネル1に沿ってノードBの次の隣の隣)へ中継する。
その他の実施形態においては、現在のノード102は、送信が、上述のポリシーにとって代わりとなるあるいは追加となるその他のポリシーに準拠しているかどうかをチェックする。例えば、このようなその他の一実施形態においては、現在のノード102は、スケジュールされたノードによる送信の方向に関する整合性を(例えば、図12に関連して後述する方法で)チェックし、そのフレームが方向に関する整合性を伴って送信されたかどうかを示すフィールドをそのフレームに添付する。
図3Bは、図1のネットワーク100内においてデータを中継する方法350の別の実施形態を示す流れ図である。図3Bに示されている方法350の実施形態については、ここでは、本明細書において図1〜5に関連して記載されている編組リング型の実施形態内で実施されるものとして説明する。その他の実施形態においては、方法350は、その他のネットワークトポロジを使用して実施される。方法350を実施できるその他のネットワークトポロジの一例が、2つの「シンプレックス」リングチャネルを含むネットワークトポロジである。このようなシンプレックスリング型ネットワークの一実装形態においては、ネットワークは、図1に示されているトポロジと同様のトポロジを使用するが、それぞれのノードをその時計方向および反時計方向の隣の隣へ通信可能に結合するスキップリンクは存在しない。
方法350は、TDMAスケジュールに従って同期化モードで動作している1つのノード102によって実行される。それぞれのノード102は、このような実施形態においては、そのノードの両隣のうちの一方が、現在のタイムスロットにとってのスケジュールされたノード102である場合に、方法350の処理を実行する。図3Bのコンテキストにおいては、方法350の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。一実施形態においては、現在のノード102によって実行されるものとしてここで説明されている機能の少なくとも一部は、そのノード102内に含まれるコントローラ内に実装される。方法350のその他の実施形態は、その他の方法で実装される。
現在のノード102は、その現在のノード102の両隣のうちの一方が現在のタイムスロットの間に送信を行うようにスケジュールされているとその現在のノード102が判断した場合に(これは、ブロック352においてチェックされる)、方法350の処理を実行する。このような隣は、この図3Bのコンテキストにおいては「スケジュールされた隣」とも呼ばれる。図1〜5の実施形態においては、現在のノード102は、TDMAスケジュールと、そのノード102が同期化される対象であるグローバルタイムベースとを含む情報に基づいて、この判断を行う。
方法350においては(図3Aの方法300と同様に)、現在のノード102が、その両隣のうちの一方が現在のタイムスロットにとってのスケジュールされたノードであると判断した場合には、その現在のノード102は、そのスケジュールされた隣から発生してその現在のノード102によって受信されたフレームを、そのスケジュールされた隣から、そのスケジュールされた隣をその現在のノード102へ結合するダイレクトリンク108を介して中継するだけである。すなわち現在のノード102が、スケジュールされた隣以外のノード102から発生するフレームを受信した場合には、その現在のノード102は、そのフレームを中継しない。しかし図3Aの方法300の場合とは異なり、図3Bの方法350においては、現在のノード102は、ブロック308〜310に関連付けられている「バスガーディアン」の処理を実行しない。
現在のノード102が、スケジュールされた隣からのフレームの受信を開始した場合には(これは、ブロック354においてチェックされる)、その現在のノード102は、その受信したフレームを、そのフレームの受信元であるチャネルに沿って、その現在のノードの次の隣および次の隣の隣へ中継する(ブロック356)。例えば、スケジュールされたノードがノードAであり、現在のノードがノードBである場合には、その現在のノードは、ノードAから受信したフレームをノードC(チャネル1に沿ってノードBの次の隣)へ、およびノードD(チャネル1に沿ってノードBの次の隣の隣)へ中継する。
図4A〜4Bは、図1のネットワーク100内においてデータを中継する方法400の一実施形態を示す流れ図である。図4A〜4Bに示されている方法400の実施形態については、ここでは、本明細書において図1〜5に関連して記載されている実施形態内で実施されるものとして説明する。方法400は、TDMAスケジュールに従って同期化モードで動作している1つのノード102によって実行される。それぞれのノード102は、このような実施形態においては、そのノード102が現在のタイムスロットの間に送信を行うようにスケジュールされておらず、かつそのノードの両隣のいずれもが現在のタイムスロットの間に送信を行うようにスケジュールされていない場合に、方法400の処理を実行する。図4A〜4Bのコンテキストにおいては、方法400の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。一実施形態においては、現在のノード102によって実行されるものとしてここで説明されている機能の少なくとも一部は、そのノード102内に含まれるコントローラ内に実装される。方法400のその他の実施形態は、その他の方法で実装される。
現在のノード102は、その現在のノード102が現在のタイムスロットの間に送信を行うようにスケジュールされておらず、かつその現在のノードの両隣のいずれもが現在のタイムスロットの間に送信を行うようにスケジュールされていない場合に(これは、図4Aのブロック402においてチェックされる)、方法400の処理を実行する。図1〜5の実施形態においては、現在のノード102は、TDMAスケジュールと、そのノード102が同期化される対象であるグローバルタイムベースとを含む情報に基づいて、この判断を行う。
現在のノード102が現在のタイムスロットの間に送信を行うようにスケジュールされておらず、かつその現在のノードの両隣のいずれもが現在のタイムスロットの間に送信を行うようにスケジュールされておらず、またその現在のノード102が、チャネル0上におけるその現在のノードの反時計方向の隣からのフレームの受信を開始したとその現在のノード102が判断した場合には(これは、ブロック404においてチェックされる)、その現在のノード102は、チャネル0上におけるその現在のノードの反時計方向の隣から受信されているフレームを、チャネル0上におけるその現在のノードの反時計方向の隣の隣から受信されている任意のフレームと比較する(ブロック406)。図4に示されている実施形態においては、ビットごとの比較が実行される。さらに、図5に関連して後述するように、複数のフレームが、わずかに異なる時点で現在のノード102において受信される可能性が高いため、受信される複数のフレームをデスキューするためにデスキュー機能が使用される。現在のノード102は、チャネル0上におけるその現在のノードの反時計方向の隣から受信されているフレームを、チャネル0に沿って、その現在のノードの時計方向の隣および時計方向の隣の隣へ中継する(ブロック408)。現在のフレームが中継され、比較が完了した後、現在のノード102は、その比較の結果を示す情報を、その現在のノードの反時計方向の隣から受信されたフレーム内に含めて、あるいはそのフレームの後に中継する(ブロック410)。現在のノード102は、その比較の結果を示す情報を、チャネル0に沿って、その現在のノードの時計方向の隣および時計方向の隣の隣へ中継する。一実施形態においては、比較の結果を示す情報は、現在のノード102が、その現在のノードの反時計方向の隣から受信されたフレームに添付する1ビットの添付された整合性フィールドを含む。別の実施形態においては、共有された整合性フィールドが、それぞれのフレームの終わりに含まれる。このような実施形態においては、現在のノード102は、2つのフレームが同一ではないことを比較が示す場合には、共有された整合性フィールドを「負の」値(例えば、「0」の値)に設定し、あるいは2つのフレームが同一であることを比較が示す場合には、共有された整合性フィールドを変更しない。
現在のノード102が、(例えば所定のタイムアウト期間が経過しても)チャネル0上におけるその現在のノードの反時計方向の隣からのフレームを受信せず、その一方でチャネル0上におけるその現在のノードの反時計方向の隣の隣からのフレームの受信を開始した場合には(これは、ブロック412においてチェックされる)、その現在のノード102は、その現在のノードの反時計方向の隣の隣から受信されているフレームを、チャネル0に沿って、その現在のノードの時計方向の隣および時計方向の隣の隣へ中継する(ブロック414)。そのフレームが中継された後、現在のノード102は、チャネル0に関してその現在のノード102において「ミスマッチ」があったことを示す情報を、そのフレーム内に含めて、あるいはそのフレームの後に中継する(ブロック416)。現在のノード102は、この情報を、チャネル0に沿って、その現在のノードの時計方向の隣および時計方向の隣の隣へ中継する。現在のノード102の反時計方向の隣から受信されたフレームはないため、反時計方向の隣から受信されたフレームが、その現在のノード102の反時計方向の隣の隣から受信されたフレームと同一であることはない。
現在のノード102が、チャネル0上におけるその現在のノードの反時計方向の隣からの、あるいはチャネル0上におけるその現在のノードの反時計方向の隣の隣からのフレームを受信しない場合には、その現在のノード102は、現在のタイムスロットの間にチャネル0に沿っていかなるデータも中継しない(ブロック418)。
現在のノード102は、チャネル1から受信したフレームに対しても同じ処理を実行する。現在のノード102が現在のタイムスロットの間に送信を行うようにスケジュールされておらず、かつその現在のノードの両隣のいずれもが現在のタイムスロットの間に送信を行うようにスケジュールされておらず、またその現在のノード102が、チャネル1上におけるその現在のノードの時計方向の隣からのフレームの受信を開始したとその現在のノード102が判断した場合には(これは、図4Bのブロック420においてチェックされる)、その現在のノード102は、チャネル1上におけるその現在のノードの時計方向の隣から受信されているフレームを、チャネル1上におけるその現在のノードの時計方向の隣の隣から受信されている任意のフレームと比較する(ブロック422)。図4に示されている実施形態においては、ビットごとの比較が実行される。さらに、複数のフレームが、わずかに異なる時点で現在のノード102において受信される可能性が高いため、受信される複数のフレームをデスキューするためにデスキュー機能が使用される。現在のノード102は、チャネル1上におけるその現在のノードの時計方向の隣から受信されているフレームを、チャネル1に沿って、その現在のノードの反時計方向の隣および反時計方向の隣の隣へ中継する(ブロック424)。現在のフレームが中継され、比較が完了した後、現在のノード102は、その比較の結果を示す情報を、その現在のノードの時計方向の隣から受信されたフレーム内に含めて、あるいはそのフレームの後に中継する(ブロック426)。現在のノード102は、その比較の結果を示す情報を、チャネル1に沿って、その現在のノードの反時計方向の隣および反時計方向の隣の隣へ中継する。一実施形態においては、添付された整合性フィールドが使用される。別の実施形態においては、共有された整合性フィールドが使用される。
現在のノード102が、(例えば所定のタイムアウト期間が経過しても)チャネル1上におけるその現在のノードの時計方向の隣からのフレームを受信せず、その一方でチャネル1上におけるその現在のノードの時計方向の隣の隣からのフレームの受信を開始した場合には(これは、ブロック428においてチェックされる)、その現在のノード102は、その現在のノードの時計方向の隣の隣から受信されているフレームを、チャネル1に沿って、その現在のノードの反時計方向の隣および反時計方向の隣の隣へ中継する(ブロック430)。そのフレームが中継された後、現在のノード102は、チャネル1に関してその現在のノード102において「ミスマッチ」があったことを示す情報を、そのフレーム内に含めて、あるいはそのフレームの後に中継する(ブロック432)。現在のノード102は、この情報を、チャネル1に沿って、その現在のノードの反時計方向の隣および反時計方向の隣の隣へ中継する。現在のノード102の時計方向の隣から受信されたフレームはないため、時計方向の隣から受信されたフレームが、その現在のノード102の時計方向の隣の隣から受信されたフレームと同一であることはない。
現在のノード102が、チャネル1上におけるその現在のノードの時計方向の隣からの、あるいはチャネル1上におけるその現在のノードの時計方向の隣の隣からのフレームを受信しない場合には、その現在のノード102は、現在のタイムスロットの間にチャネル1に沿っていかなるデータも中継しない(ブロック434)。
一例においては、現在のノード102がノードAであり、ノードEが、現在のタイムスロットの間に送信を行うようにスケジュールされているノードである。このような例においては、ノードAは、チャネル0のそれぞれのダイレクトリンク108を介してノードB(ノードAの反時計方向の隣)からのフレームを受信し、このフレームを、ノードAがチャネル0のそれぞれのスキップリンク108を介してノードC(ノードAの反時計方向の隣の隣)から受信する任意のフレームと比較する。ノードAは、ノードBから受信しているフレームと、その比較の結果を示す情報とを、ノードH(チャネル0に沿ってノードAの次の隣)へ、およびノードG(チャネル0に沿ってノードAの次の隣の隣)へ中継する。このような例においては、ノードAはまた、チャネル1のそれぞれのダイレクトリンク108を介してノードH(ノードAの時計方向の隣)からのフレームを受信し、このフレームを、ノードAがチャネル1のそれぞれのスキップリンク108を介してノードG(ノードAの時計方向の隣の隣)から受信する任意のフレームと比較する。ノードAは、ノードHから受信したフレームと、その比較の結果を示す情報とを、ノードB(チャネル1に沿ってノードAの次の隣)へ、およびノードC(チャネル1に沿ってノードAの次の隣の隣)へ中継する。
図4に示されている実施形態においては、ダイレクトリンク108とスキップリンク108の双方の上で現在のノード102によって複数のフレームが受信された場合には、その現在のノード102は、ダイレクトリンク108上で受信されたフレームを中継する。その他の実施形態においては、ダイレクトリンク108とスキップリンク108の双方の上で現在のノード102によって複数のフレームが受信された場合には、その現在のノード102は、スキップリンク108上で受信されたフレームを中継する。
図5は、一例においては、それぞれ図3および4A〜4Bの方法300および400の比較および中継処理を実施するために使用されるノード102の論理コンポーネントを示すブロック図である。特定の比較および中継処理を実行しているノード102は、図5のコンテキストにおいては、現在のノード102と呼ばれる。チャネル0上で受信されたフレームに対する比較および中継処理を実行するために使用される現在のノード102の論理コンポーネントが、図5に示されている。チャネル1上で受信されたフレームに対する比較および中継処理は、図5に示されている論理コンポーネントと同様の論理コンポーネントを使用して実行されるということを理解されたい。
図5に示されている例においては、現在のノード102は、第1のダイレクトリンクインターフェース502を含み、この第1のダイレクトリンクインターフェース502は、その現在のノード102をチャネル0の反時計方向のダイレクトリンク108へ通信可能に結合し、このチャネル0の反時計方向のダイレクトリンク108は、その現在のノードの反時計方向の隣へ接続される。現在のノード102はまた、第1のスキップリンクインターフェース504を含み、この第1のスキップリンクインターフェース504は、その現在のノード102をチャネル0の反時計方向のスキップリンク108へ通信可能に結合し、このチャネル0の反時計方向のスキップリンク108は、その現在のノードの反時計方向の隣の隣へ接続される。ダイレクトリンクFIFO(first−in−first−out)バッファ506は、第1のダイレクトリンクインターフェース502に結合され、スキップリンクFIFOバッファ508は、第1のスキップリンクインターフェース504に結合される。第1のダイレクトリンクインターフェース502および第1のスキップリンクインターフェース504は、それぞれダイレクトリンク108およびスキップリンク108からデータを受信し、その受信したデータをそれぞれダイレクトリンクFIFOバッファ506およびスキップリンクFIFOバッファ508内に保存する。
現在のノード102は、第2のダイレクトリンクインターフェース510を含み、この第2のダイレクトリンクインターフェース510は、その現在のノード102をチャネル0の時計方向のダイレクトリンク108へ通信可能に結合し、このチャネル0の時計方向のダイレクトリンク108は、その現在のノードの時計方向の隣へ接続される。現在のノード102はまた、第2のスキップリンクインターフェース512を含み、この第2のスキップリンクインターフェース512は、その現在のノード102をチャネル0の時計方向のスキップリンク108へ通信可能に結合し、このチャネル0の時計方向のスキップリンク108は、その現在のノードの時計方向の隣の隣へ接続される。
図5に示されている例においては、現在のノード102は、デスキューおよび比較モジュール514を含み、このデスキューおよび比較モジュール514は、その現在のノードの反時計方向の隣および反時計方向の隣の隣から受信したフレームを「デスキュー」および比較する。図5に示されている特定の例においては、現在のノード102は、単一の送信機516を含み、この送信機516は、その現在のノードの時計方向の隣とその現在のノードの時計方向の隣の隣の双方へデータを送信するために使用される。送信機516の出力は、その現在のノードの時計方向の隣およびその現在のノードの時計方向の隣の隣へそれぞれ送信するために、第2のダイレクトリンクインターフェース510と第2のスキップリンクインターフェース512の双方に結合される。
所与のタイムスロットの間の所与の送信中に、現在のノード102は、通常では第1のダイレクトリンクインターフェース502および第1のスキップリンクインターフェース504上におけるそれぞれのフレームの受信を別々の時点において開始する。例えば、図4のブロック406〜410および414〜418に関連して比較および中継処理が実行される場合には、現在のノード102は、所与の送信中に、通常では第1のスキップリンクインターフェース504上におけるフレームの受信を、第1のダイレクトリンクインターフェース502上における対応するフレームの受信を開始する前に開始する。これは、このような例では、第1のスキップリンクインターフェース504において受信されるフレームが、第1のダイレクトリンクインターフェース502上で受信されるフレームよりも1つ少ないホップを介して進むためである(すなわち、第1のスキップリンクインターフェース504上で受信されるフレームが、現在のノードの反時計方向の隣を「スキップ」するためである)。
図5に示されている例においては、デスキューおよび比較モジュール514ならびに送信機516は、FIFOバッファ506と508の双方が半分満たされるまで待ってから、受信したデータの比較および中継を実行する。その他の実施形態においては、上述のデスキュー技術に加えて、あるいはその代わりに、その他のデスキュー技術が使用される。
図5に示されている特定の例においては、受信された2つのフレームに対するビットごとの比較が、デスキューおよび比較モジュール514によって実行される。
データが第1のダイレクトリンクインターフェース502において受信されると、その受信されたデータは、ダイレクトリンクFIFOバッファ506の入力端へと書き込まれる。また、データがスキップリンクインターフェース504において受信されると、その受信されたデータは、スキップリンクFIFOバッファ508の入力端へと書き込まれる。フレームが第1のダイレクトリンクインターフェース502上において受信されているかどうかの判断は、そのインターフェース502から受信したデータ内から、フレームの始まりを示す区切り文字を検出することによって行われる。同様に、フレームが第1のスキップリンクインターフェース504上において受信されているかどうかの判断は、そのインターフェース504から受信したデータ内から、フレームの始まりを示す区切り文字を検出することによって行われる。
フレームが第1のダイレクトリンクインターフェース502と第1のスキップリンクインターフェース504の双方の上において受信されている場合に、FIFOバッファ506と508の双方が半分満たされると、デスキューおよび比較モジュール514は、第1のFIFOバッファ506および第2のFIFOバッファ508のそれぞれの出力端からのビットの受信を開始し、送信機516は、FIFOバッファ506の出力端からのビットの受信を開始する。デスキューおよび比較モジュール514は、第1のFIFOバッファ506および第2のFIFOバッファ508からビットを受信すると、受信した2つのフレームに対するビットごとの比較を実行する。送信機516は、第1のFIFOバッファ506からビットを受信すると、その受信したビットを、チャネル0に沿って、反時計方向の隣および反時計方向の隣の隣へ中継する。デスキューおよび比較モジュール514は、双方のフレームの終わりを比較すると、それらの2つのフレームが同一であったか否かを示すビットを送信機516へ出力する。送信機516は、デスキューおよび比較モジュール514によって出力されたビットを受信し、中継されるフレームの後にそのビットを送信することによって、中継されるフレームの終わりにそのビットを「添付」する。
フレームが第1のダイレクトリンクインターフェース502上において受信されており、その一方で第1のスキップリンクインターフェース504上では受信されていない場合に、第1のFIFOバッファ506が半分満たされると、デスキューおよび比較モジュール514ならびに送信機516は、第1のFIFOバッファ506の出力端からのビットの受信を開始する。デスキューおよび比較モジュール514は、現在のノード102においてチャネル0に対してミスマッチが生じていることを示すビットを送信機516へ出力する。送信機516は、第1のFIFOバッファ506からビットを受信すると、その受信したビットを、チャネル0に沿って、反時計方向の隣および反時計方向の隣の隣へ中継する。送信機516は、デスキューおよび比較モジュール514によって出力されたビットを受信し、中継されるフレームの後にそのビットを送信することによって、中継されるフレームの終わりにそのビットを「添付」する。
図4の方法400用に実行される処理に関しては、フレームが第1のスキップリンクインターフェース504上において受信されており、その一方で第1のダイレクトリンクインターフェース502上では受信されていない場合に、第2のFIFOバッファ508が半分満たされると、デスキューおよび比較モジュール514ならびに送信機516は、第2のFIFOバッファ508の出力端からのビットの受信を開始する。デスキューおよび比較モジュール514は、現在のノード102においてチャネル0に対してミスマッチが生じていることを示すビットを送信機516へ出力する。送信機516は、第2のFIFOバッファ508からビットを受信すると、その受信したビットを、チャネル0に沿って、反時計方向の隣および反時計方向の隣の隣へ中継する。送信機516は、デスキューおよび比較モジュール514によって出力されたビットを受信し、中継されるフレームの後にそのビットを送信することによって、中継されるフレームの終わりにそのビットを「添付」する。
ネットワーク100の実施形態は、ネットワーク100の複数のノード102が同期モードで動作している間の改善されたフォルトトレランスを提供する。例えばネットワーク100の実施形態は、改善された移送の利用可能度および改善された移送の整合性を提供する。改善された移送の利用可能度は、例えば2つの独立した反対方向の通信チャネル0および1を使用することによって提供される。ネットワーク100内のノード102によって送信されるデータは、2つの独立した通信パスを介してネットワーク100内のその他のノード102のそれぞれへと進む。例えばネットワーク100のノードAによって送信されるデータは、チャネル0上をノードAからノードB、C、D、およびEへと反時計方向に進む第1のパスを介して、またチャネル1上をノードAからノードH、G、F、およびEへと時計方向に進む第2のパスを介して、ノードEへと進む。結果として、これらのパスのうちの一方の上に何らかの単一障害点が生じても、データをノードEへと首尾よく進めることができる別のパスが存在することになる。
図1〜4に示されている実施形態においては、ネットワーク100の全体へ送信されるそれぞれのフレーム内にCRCプロトコルフィールドが含まれる。このようなCRCフィールドは、偶発的なエラーに対処するのに非常に適している。送信側のノードと、その送信側のノードの時計方向の隣および反時計方向の隣との間におけるダイレクトリンク108上のノイズに起因するエラーは、このような偶発的な性格を有する。しかしアクティブなインターステージによってもたらされるエラーは、本質的に相互に関連付けられる可能性があり、これによってCRCフィールドは、そのようなエラーに対処するのにあまり適さなくなる可能性がある。方法400の処理を実行する際にノード102によって実行されるビットごとの比較は、前のノードによってもたらされるいかなるエラーをも検出し、それによって、このようなアクティブなインターステージによって引き起こされるエラーに対処する。このように中継を行うことによって、ネットワーク100内における移送の整合性が改善される。
図6は、このようなノード102が同期化モードで動作している間に図1のネットワーク100内において発生する間抜けなタイミングでのでしゃばりな送信による障害の一例を示すブロック図である。図6に示されている例においては、ネットワーク100内のそれぞれのノード102は、図2〜4の方法200、300、および400を実施する。この例においては、ノードAは、ノードEが送信を行うようにスケジュールされているタイムスロットの間に、間抜けなタイミングでのでしゃばりな送信による障害を有する。この障害によって、ノードAは、チャネル0に沿ってノードAの時計方向の隣のノードHへ、およびチャネル1に沿ってノードAの反時計方向の隣のノードBへ送信を行う。ノードHが、ノードAによって送信されたフレームをチャネル0から受信した場合に、ノードHが、ノードA(ノードHの反時計方向の隣)から受信したフレームと、ノードB(ノードHの反時計方向の隣の隣)から受信したフレームの間で行う比較は、それらの2つのフレームが同一ではないことを示すであろう。結果として、ノードHは、ノードAから受信したフレームを、ミスマッチがノードHにおいて生じたことを示す情報と共にチャネル0上において中継する。同様に、ノードBが、ノードAによって送信されたフレームをチャネル1から受信した場合に、ノードBが、ノードA(ノードBの時計方向の隣)から受信したフレームと、ノードB(ノードBの時計方向の隣の隣)から受信したフレームの間で行う比較は、それらの2つのフレームが同一ではないことを示すであろう。結果として、ノードBは、ノードAから受信したフレームを、ミスマッチがノードHにおいて生じたことを示す情報と共にチャネル1上において中継する。
ノードAの送信によって影響を受けるチャネル0およびチャネル1のリンク108が、破線を使用して図6に示されている。チャネル0内におけるノードAからノードHへのダイレクトリンク108、ならびにチャネル0内におけるノードHからノードGへ、ノードGからノードFへ、およびノードFからノードEへのダイレクトリンクおよびスキップリンク108は、ノードAによる障害を伴った送信によって影響を受ける。チャネル1内におけるノードAからノードBへのダイレクトリンク108、ならびにチャネル1内におけるノードBからノードCへ、ノードCからノードDへ、およびノードDからノードEへのダイレクトリンクおよびスキップリンク108は、ノードAによる障害を伴った送信によって影響を受ける。
ノードEによってチャネル0に沿って送信されたデータは、チャネル0のこの部分におけるリンク108がノードAの送信によって影響を受けないため、ノードD、C、およびBによって受信され、中継される。同様に、ノードEによってチャネル1に沿って送信されたデータは、チャネル1のこの部分におけるリンク108がノードAの送信によって影響を受けないため、ノードF、G、およびHによって受信され、中継される。ノードAの送信によって影響を受けず、ノードEが首尾よく送信を行うことができるチャネル0およびチャネル1のリンク108が、実線を使用して図6に示されている。このようにして、ノードEによって送信されたデータは、ノードAにおいて間抜けなタイミングでのでしゃばりな送信による障害が発生しているにもかかわらず、リング104内におけるノード102のそれぞれに到達することができる。
別の例では、ノード102が同期化モードで動作している間に、図1の通信ネットワーク100内においてSOS(slightly−off−specification)の不具合あるいは障害が発生している。SOSの障害は、1つのフレームが、ネットワーク100内における複数のノード102の受信ウィンドウ内で受信され、かつネットワーク100内におけるその他のノード102の受信ウィンドウのわずかに外側にある場合に発生する。SOSの不具合が発生すると、ノード102の前者のセットは、そのフレームを正しいフレームとして受け入れ、その一方でノード102の後者のセットは、そのフレームを間違ったフレームとして拒絶する。すなわち、ネットワーク100内における正当なノード102の別々のセットが、同一のフレームに対して別々の見方を有することになり、これは望ましくない。
この例では、ノードAにおいてSOSの不具合が発生している。このような不具合においては、ノードAの送信用としてノードAに割り当てられているタイムスロットの間に、障害を抱えるノードAは、ある時点で送信を行い、その結果、(もしもノードAの送信が、リング104の全体に完全に中継されるならば)ノードB、C、H、およびGは、その送信を正しいものとして受信し、ノードD、E、およびFは、その送信を間違ったものとして受信することになる。
ノードBおよびHは、ノードAの隣として、ノードAによる送信が、ネットワーク100内において実施される時間的なポリシーに準拠しているかどうかをチェックする。このような例においては、ノードBは、チャネル1上においてノードAから受信されたフレームが時間的なポリシーに準拠していないと判断し、したがってチャネル1に沿ってそれ以上そのフレームを中継しない。同様に、ノードHは、チャネル0上においてノードAから受信されたフレームが時間的なポリシーに準拠していないと判断し、したがってチャネル0に沿ってそれ以上そのフレームを中継しない。このようにして、そうしたSOSの不具合の影響が緩和される。
図12は、図1のネットワーク100内における方向的な整合性を検知する方法の一実施形態を示す流れ図である。図12に示されている方法1200の実施形態については、ここでは、図1に示されているネットワーク100を使用して実装されるものとして説明するが、その他の実施形態は、その他のネットワーク内においてその他の方法で実装される。図12のコンテキストにおいては、方法1200の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。一実施形態においては、現在のノード102によって実行されるものとしてここで説明されている機能の少なくとも一部は、そのノード102内に含まれるコントローラ内に実装される。方法1200のその他の実施形態は、その他の方法で実装される。
所与のノード102(この図12のコンテキストにおいては、「送信側の」ノード102と呼ばれる)がデータを送信する際、その送信側のノード102の両隣のノードのそれぞれは、その送信側のノード102がネットワーク100のチャネル0と1の双方の上で同じデータを送信しているかどうか(すなわち、そこで送信側のノード102が方向的な整合性を伴って送信を行っているかどうか)を判断するために、方法1200を実行する。方法1200は、例えばネットワーク100内のノード102が、複数のノードが1つのTDMAスケジュールに従って送信を行う同期化モードで動作している場合に実行することができる。このような実施形態においては、方法1200は、図3Aあるいは図3Bに関連して前述した処理に加えて、両隣のノードによって実行することができる。方法1200はまた、例えばネットワーク100内のノード102が(例えばシステムの起動中に)非同期化モードで動作している場合に実行することもできる。このような実施形態においては、方法1200は、H0005059−1633出願にて説明した処理に加えて、両隣のノードによって実行することができる。
送信側のノード102が送信を行う場合には、その送信側のノードの両隣は、自分たちがその送信側のノードから受信するそれぞれのフレームを、それらの両隣を相互に通信可能に結合するスキップリンク108を介してやり取りする。図12に示されているように、現在のノード102が、その両隣のうちの一方から発生したフレームを受信した場合には(これは、ブロック1202においてチェックされる)、その現在のノード102は、自分がその隣から(すなわち、送信側のノードから)受信しているフレームを、その送信側のノードの他方の隣へ転送する(ブロック1204)。現在のノード102は、送信側のノード102からのフレームを、その現在のノード102をその送信側のノードへ通信可能に結合するダイレクトリンク108から受信する。請求項12のコンテキストにおいては、現在のノード102が送信側のノード102からフレームを受信するチャネルは、ここでは「現在のチャネル」と呼ばれる。現在のノード102は、自分が送信側のノードから受信するフレームを、その送信側のノード102の他方の隣へ、その現在のノード102を現在のチャネル以外のチャネル内の他方の隣へ通信可能に結合するスキップリンク108を介して転送する。
送信側のノードの他方の隣は、自分が送信側のノードから受信するフレームを、現在のノード102へ、その他方の隣を現在のチャネル内のその現在のノード102へ通信可能に結合する他のスキップリンク108を介して転送する。図12のコンテキストにおいては、送信側のノードの他方の隣によって現在のノード102へ転送されるフレームは、ここでは「他のフレーム」とも呼ばれる。現在のノード102は、他のフレームを受信する(ブロック1206)。現在のノード102は、自分が送信側のノードから受信しているフレームを、自分が他方の隣から受信している他のフレームと比較する(ブロック1208)。一実施形態においては、この比較はビットごとの比較である。
現在のノード102は、自分が送信側のノード102から受信しているフレームを、現在のチャネルに沿って中継する(ブロック1210)。例えば送信側のノード102が、現在のノード102の時計方向の隣である場合には、その現在のノード102は、送信側のノード102からチャネル1を介してフレームを受信し、その受信したフレームを、チャネル1に沿って、その現在のノード102の反時計方向の隣および隣の隣へ中継する。送信側のノード102が、現在のノード102の反時計方向の隣である場合には、その現在のノード102は、送信側のノード102からチャネル0を介してフレームを受信し、その受信したフレームを、チャネル0に沿って、その現在のノード102の時計方向の隣および隣の隣へ中継する。
送信側のノードによって送信されたフレームの全体が、現在のノード102によって中継され、そのフレームと、他方の隣によってその現在のノード102へ転送された他のフレームとの比較が完了した後、その現在のノード102は、その比較の結果を示す情報を、送信側の隣から受信されたフレーム内に含めて、あるいはそのフレームの後に、現在のチャネルに沿って中継する(ブロック1212)。一実施形態においては、比較の結果を示す情報は、図4A〜4Bおよび5に関連して前述したように、現在のノード102が、送信側のノードから受信されたフレームに添付する1ビットの添付された整合性フィールドを含む。別の実施形態においては、図4A〜4Bおよび5に関連して前述したように、共有された整合性フィールドが、それぞれのフレームの終わりに含まれる。
例えば、送信側のノードが図1のノードAであり、現在のノードがノードBである場合には、送信側のノードの他方の隣はノードHである。このような例においては、現在のノード(ノードB)は、自分がノードAから受信するフレームを、ノードBをノードHへ通信可能に結合するチャネル0のスキップリンク108を介して、他方の隣(ノードH)へ転送する。同様に、他方の隣(ノードH)は、自分がノードAから受信するフレームを、ノードHをノードBへ通信可能に結合するチャネル1のスキップリンク108を介して、現在のノード(ノードB)へ転送する。ノードBは、自分がノードAから受信するフレームを、自分がノードHから受信するフレームと比較する。ノードBは、ノードAから受信したフレームを、チャネル1に沿ってノードC(ノードBの反時計方向の隣)へ、およびノードD(ノードBの反時計方向の隣の隣)へ中継する。ノードBは、ノードAから受信したフレームの全体を中継し、比較を完了すると、(この例においては)その中継されたフレームに1ビットのフィールドを添付する。
一実施形態において、図2〜6および図12に関連して上述したトランスポートレイヤ機能(functionality)の最上位に実装された、より高いレイヤでの機能も、このようなトランスポートレイヤ機能の様々な特徴の利点を有している。図7〜10に関連して説明した典型的実施形態において、このような高いレイヤの機能は、アプリケーションレイヤ内で生じるバリュー−ドメイン(value−domain)のフレームエラーを軽減するため、図2〜6および図12に関連して上述したトランスポートレイヤ機能によって提供される1つ以上の特徴を使用できるように実装される。図7は、アプリケーションレイヤで自己チェックペアを実装できるように構成される図1のネットワーク100の一実施形態のブロック図である。個々の各ノード102は、図2〜6および図12に関連して上述したトランスポートレイヤ機能の少なくとも一部を実現する。アプリケーションレイヤでの1つ以上の自己チェックペア700は、ネットワーク100内に設置される。図7中に示す実施形態において、例えば、自己チェックペア700は、ノードAおよびノードB(またここでは、個別に「ペアA/B」と呼ばれる)として設置され、別の自己チェックペア700は、ノードEおよびノードF(またここでは、個別に「ペアE/F」と呼ばれる)として設置される。
各自己チェックペア700において、各ペアの2つのノード102は、各ノード102の出力が1ビット毎同一であるような複製判別方法を使って、アプリケーションレイヤで動作することが要求される。これは、簡単なビット毎の票決(voting)を可能にする。一実施形態において純粋計算ベースの複製が実装されている場合、複製決定論(replica―determinizm)は、ペアの中のノード102が、双方とも同一の内部状態ベクトル(すなわち、同一の履歴状態)を持ち、かつ次の計算フレームで使用される入力データベクトルについて一致していることが要求される。一般的に自己チェックペアのノードは、受信したデータの複数インスタンスのうちどれを自己チェックペアによって実行する処理の中で使用するべきかを決定するために、(「票決」や「選択」演算として一般に呼ばれる演算の中から)1つ以上の比較オペレーションを実行する。図7に示す実施形態において、図1〜6および図12に関連して上述したトランスポートレイヤ処理内で実行される比較は、前記自己チェックペア700によって実行されるこのような票決あるいは選択オペレーションを実現するために利用される。
図8は、自己チェックペア700のメンバーによって実行される、より高いレイヤ処理の少なくとも一部を実現する方法80の一実施形態の流れ図である。図8中に示す実施形態において、ネットワーク100内の各ノード102は、ネットワーク100上でフレームを送信、中継および受信するために、図2〜6に関連して上述した処理の少なくとも一部をトランスポートレイヤで実装する。図8のコンテキストでは、方法800の処理を実行するノード102は、ここでは「現在の」ノード102と呼ばれる。現在のノード102がメンバーであるような自己チェックペア700は、またここでは「現在の」ペア700として呼ばれる。一実施形態において、現在のノード102によって実行されているとしてここで説明された機能の少なくとも一部は、ノード102内に含まれるコントローラ内で実装される。方法800の他の実施形態は、別の方法で実装される。
現在のペア700によって実行される複製判別計算(replica−determinate computation)の原因となる、各送信されたフレームに対し、方法800が現在のノード102によって実行される。ネットワーク100内でフレームが送信されるとき、現在のノード102で実装されたトランスポートレイヤ機能は、送信されるフレームの2つを上限とするインスタンス−チャネル0から「受信された」1つのインスタンス(ブロック802)、およびチャネル1から「受信された」1つのインスタンス(ブロック804)を現在のノード102上に実装されたアプリケーションレイヤ機能へ供給する。図8中に示す特定の実施形態において、所与のチャネルに関して、トランスポートレイヤ機能がアプリケーションレイヤ機能へ供給する送信フレームのインスタンスは、(例えば、図3A〜図3Bおよび図4A〜図4Bに関連して上述したように)トランスポートレイヤ機能がそのチャネルに沿って中継する送信されたフレームのインスタンスである。このようなインスタンスは、送信されたフレームのインスタンスに追加される、あるいは含まれる、1つ以上の比較状態インジケータを含むであろう。前記インスタンスに対する比較状態インジケータが、インスタンスが受信されたそのチャネルに沿って現在のノード102あるいは任意の以前のノード102でミスマッチが発生しないことを示す場合、そのインスタンスは、ここでは「整合性を伴って」受信されてきたと呼ばれる。前記インスタンスに対する比較状態インジケータが、インスタンスが受信されたそのチャネルに沿って現在のノード102あるいは任意の以前のノード102でミスマッチが発生したことを示すならば、そのインスタンスは、ここでは「整合性を伴わないで」受信されてきたと呼ばれる。
チャネルから整合性を伴って受信した、送信されたフレームの各インスタンスについて、現在のノード102は、そのチャネルに沿って102の以前のすべてノードがそのチャネルから送信されたフレームについて同じデータを受信したと見なす。例えば、ノードAがチャネル0から送信されたフレームのインスタンスを整合性を伴って受信するとき、ノードAは、ノードB(チャネル0に沿って以前のノード)が送信されたフレームに関して、チャネル0から同じデータを受信したと見なす。同様にノードBがチャネル1から送信されたフレームのインスタンスを整合性を伴って受信するとき、ノードBは、ノードA(チャネル1に沿って以前のノード)が送信されたフレームに関して、チャネル1から同じデータを受信したと見なす。
図8中に示す実施形態における、ペア700によって実行される複製判別計算の原因となる送信された各フレームに関して、ペア700のメンバーノード102は、3ビットベクトル(またここでは「シンドローム」と呼ばれる)を交換する。現在のノード700の各メンバーノード102は、チャネル0から受信した、送信されたフレームのインスタンスおよびチャネル1から受信した、送信されたフレームのインスタンスをベースにしたシンドロームを生成する。各シンドロームは、そのシンドロームを生成したノード102がチャネル0から送信されたフレームのインスタンスを整合性を伴って受信したかどうかを示す1ビット(またここでは「チャネル−0ビット」と呼ばれる)、ノード102がチャネル1から送信されたフレームのインスタンスを整合性を伴って受信したかどうかを示す1ビット(またここでは「チャネル−1ビット」と呼ばれる)、およびチャネル0から受信したインスタンスが、チャネル1から受信したインスタンスとマッチするかどうかを示す1ビットを含む。自己チェックペア700のメンバーノード102は、シンドロームを交換し、該シンドロームは、ペア700によって実行される次の複製判別計算に使用される送信フレームのインスタンスを選択するために、各メンバーノード102によって使用される。
図8に示す実施形態において、現在のノード102は、チャネル0から受信した、送信されたフレームのインスタンスおよびチャネル1から受信した、送信されたフレームのインスタンスをベースとしてシンドロームを生成(ブロック806)する。現在のノード102と現在のペアの別のメンバーノード102は、シンドロームを交換(ブロック808)する。そのシンドロームは、現在のノードと現在のペアの別のメンバーノードとの間のチャネル0とチャネル1内のダイレクトリンク108を使って交換される。したがって、シンドロームの交換に関して、現在のペアのメンバーノード102の間でいかなる追加的結合も要求されない。
一実施形態において、前記シンドローム交換は、所定のタイムスロットの間に生じる。図7のネットワーク100に関するTDMAスケジュール900の一例が図9中に示されている。スケジュール900は、シンドロームを交換するために、図7の自己チェックペア700のそれぞれに割り当てられたタイムスロット902を含んでいる。図8中に示す例において、ペアA/BおよびペアE/Fは、タイムスロット902の間、シンドロームを交換する。一実施形態において、「レギュラーの」タイムスロットのために使用される同じトランスポートレイヤ機能がシンドローム交換送信のために使用される。このような実施形態において、タイムスロット902の間、ペアA/BおよびE/Fがシンドロームを交換するとき、そのタイムスロット902の間、ネットワーク100内の他のノード102は、それらが受信するあらゆるフレームを無視するように構成される。
一実施形態において、現在のペア700によって実行される複製判別計算の原因となるネットワーク100上で送信された各フレームに関して、現在のペア700のメンバーによるシンドロームの生成および交換は、前記フレームが送信される特定のタイムスロットの間に発生する。別の実施形態において、現在のペア700のメンバーは、所与のスケジュールラウンドの間、すべてのフレームを受信し、その後、現在のペア700によって実行される複製判別計算の原因となるすべての受信したフレームに対して単一の合成シンドロームを生成し、交換する。
図8中に示される実施形態において、シンドローム交換後、現在のノード102(および現在のペア700の他のメンバーノード102)は、現在のペア700(すなわち現在のペア700の各メンバーノード102)によって実行されることになっている複製判別計算の中で使用するべき送信されたフレームのインスタンスを選択(ブロック810)する。送信されたフレームのインスタンスの選択方法の一例を図10中に示す。しかし、他の実施形態は他の方法で実装されることが理解されよう。
図10は、図7の自己チェックペア700によって実行される複製判別計算の中で使用する、送信されたフレームのインスタンスを選択する方法1000の一実施形態の流れ図である。方法1000の実施形態は、自己チェックペア700の各メンバーノード内で実装される。図10のコンテキストにおいて、方法1000の処理を実行しているノード102は、ここでは「現在の」ノード102と呼ばれる。現在のノード102がメンバーである自己チェックペア700は、またここでは「現在の」ペア700と呼ばれる。一実施形態において、現在のノード102によって実行されるようなここで説明した機能の少なくとも一部は、ノード102の中に含まれるコントローラ内に実装される。方法1000の他の実施形態は、別の方法で実装される。
現在のペア700によって実行される複製判別計算の原因となる送信された各フレームに対して、ペア700の各メンバーノード102によって受信される前記送信されたフレームのどのインスタンスがその計算の中で使用されるべきかを判別するために、方法1000が現在のノード102によって実行される。図10中に示される実施形態において、方法1000は、所与のフレームに対するインスタンスが受信された後実行され、および対応するシンドロームは、メンバーノード102によって生成され、そして交換される。
図10中に示される実施形態において、現在のノード102は、送信されたフレームのソースが自己チェックペア(あるいは他の高い整合性のソース)であるかどうかを最初にチェック(ブロック1002)する。このような実施形態においては、送信されたフレームのどのインスタンスを使用するべきかの選択は、その送信されたフレームのソースの種類に依存している。図10中に示される実施形態において、2つのタイプのソース――自己チェックペアノード700および「シンプレックス」ソースがある。シンプレックスソースとして動作するとき、単一のノード102は、自己チェックペア700のメンバー以外として送信する。図7中に示すネットワーク100において、ノードAおよびBは、ペアA/Bの一部であり、ノードEおよびFは、ペアE/Fの一部である。
一実施形態において、送信されたフレームのソースの種類は、TDMAスケジュールを使用しながら現在のノード102によって識別される。例えば、図9中に示されるように、TDMAスケジュール900は、ペアA/Bに割り当てられるタイムスロット904を含む。タイムスロット904の間、ノードAおよびBは、ネットワーク100のチャネル0および1上のペアA/Bとしてフレームを送信する。またスケジュール900は、ペアE/Fに割り当てられるタイムスロット906を含む。タイムスロット906の間、ノードEおよびFは、ネットワーク100のチャネル0および1上のペアE/Fとしてフレームを送信する。スケジュール900はまた、ノードC、D、C、H、BおよびFにそれぞれ割り当てられるタイムスロット908、910、912、914、916および918を含み、そこにおいてそれぞれのノード102は、シンプレックス方法で(すなわち自己チェックペア700のメンバーとしてではないものとして)送信する。この実施形態において、ノードは、自己チェックペアのメンバーとしても単独のシンプレックスソースとしても、送信してもよいことに留意されたい。例えば、ノードBおよびFは、タイムスロット904および906内ではペアA/BおよびE/Fのメンバーとしてそれぞれ送信し、そしてタイムスロット916および918内ではシンプレックスソースとしてそれぞれ送信する。
図10中に示される方法1000の実施形態において、送信されたフレームのソースが自己チェックペアであって、かつ現在のノード102が送信されたフレームの少なくとも1つのインスタンスを整合性を伴って受信した場合(ブロック1004でされるチェック)、現在のノード102は、複製判別計算(ブロック1006)の実行のため、その様な整合性を伴って受信されたインスタンスの1つを選択する。送信されたフレームのソースが自己チェックペア700であり、かつ現在のノード102が所与のチャネルから送信されたフレームのインスタンスを整合性を伴って受信するとき、現在のノード102は、現在のペア700の他のメンバーノード102が同じチャネルから送信されたフレームの同一のインスタンスを受信したと見なす。さらに送信されたフレームのソースが自己チェックペア700であるとき、現在のノード102は、そのソース(すなわち送信中の自己チェックペア)が、双方のチャネル上で同じデータを送信すると見なし、および現在のノード102が双方のチャネルから送信されたフレームのインスタンスを整合性を伴って受信するようなイベントにおいて、現在のノード102は、受信したこれら2つのインスタンスが相互に同一であり、かつ現在のペア700の他のメンバーノード102が双方のチャネルから送信されたフレームのインスタンスを整合性を伴って受信したと見なし、これらの受信したインスタンスがまた相互に同一であり、現在のノード102によって受信された2つのインスタンスと同一であると見なす。したがって現在のノード102が双方のチャネルからの送信されたフレームのインスタンスを整合性を伴って受信するイベント中に、現在のペア700の各メンバーノード102は、どちらかのチャネルから受信したインスタンスを選ぶことが可能であり、現在のペア700のメンバーノード102は、同じチャネルから受信したインスタンスを選択する必要性はない。一実施形態において、1つのチャネルを好むバイアス(bias)がある。つまり、現在のノード102が双方のチャネルから送信されたフレームのインスタンスを整合性を伴って受信するイベントにおいて、現在のノード102は、他のチャネルを経由したチャネルから受信したインスタンスを選択する(しかし、このような場合、1つのチャネルを好むようなバイアスが要求されることはない)。
送信されたフレームのインスタンスが現在のノード102によって整合性を伴って受信されず、チャネル0から受信した、送信されたフレームのインスタンスが、チャネル1から受信した、送信されたフレームのインスタンスと同一である場合(ブロック1008でされるチェック)、現在のノード102は、複製判別計算実行用にいずれかのインスタンスを選択(ブロック1010)する。送信されたフレームのソースが自己チェックペア700であり、かつチャネル0から現在のノード102によって受信したインスタンスがチャネル1から現在のノード102によって受信したインスタンスとマッチするとき、現在のノード102は、現在のペア700の他のメンバーノード102によって受信した双方のインスタンスは、相互に同一であって、現在のノード102によって受信したインスタンスと同一であると見なす。したがってこの状況においては、現在のペア700の各メンバーノード102は、いずれかのチャネルから受信したインスタンスを選ぶことが可能であり、さらに現在のペア700のメンバーノード102は、同じチャネルから受信したインスタンスを選択する必要性はない。一実施形態においては、1つのチャネルを好むバイアスがある(しかし、このような場合、1つのチャネルを好むようなバイアスが要求されることはない)。
送信されたフレームの双方のインスタンスが現在のノード102によって整合性を伴わずに受信され、かつその2つのインスタンスが同一でない場合、現在のノード102は、いくつかのデフォルトアクション(ブロック1012)を実行する。現在のノード102によって実行する特定のアクションは、典型的アプリケーション依存である。例えば、前記実施形態の一実現例においては、現在のノード102は、複製判別計算を実行しない。別の実施形態においては、現在のノード102は、複製判別計算実行に使用するため、送信されたフレームに代わりに、ある既知の正しいデータ(例えば同じソースからの最後の既知の正しいフレーム)を選択する。他の実施形態においては、他のデフォルトアクションが実行される。このような状況において、現在のノード102は、現在のペア700の他のメンバーノード102が、いずれのチャネルからも送信されたフレームのインスタンスを整合性を伴って受信しなかったと見なし、さらに他のメンバーノード102によって受信された2つのインスタンスが同一でなく、したがって他のメンバーノード102は、その送信されたフレームに関して現在のノード102と同じデフォルトアクションを実行すると見なす。
図10中に示される方法1000の実施形態において、送信されたフレームのソースが自己チェックぺアでない場合、現在のノード102は、現在のノード102および現在のペア700の他のメンバーノード102の双方が同じチャネルから送信されたフレームのインスタンスを整合性を伴って受信したかどうかをチェックする(ブロック1014内でされるチェック)。そうならば、現在のノード102は、複製判別計算の実行用に、送信されたフレームのインスタンスを選択する(ブロック1016)。図10中に示される一実施形態において、送信されたフレームのソースが、自己チェックペアではなく(しかも図12に関連して上述した方向に関する整合性機能も使用されていない)、かつ現在のノード102が双方のチャネルから整合性を伴ってインスタンスを受信するとき、それにもかかわらず、2つの受信したインスタンスが同一でないというケースがあるかもしれない。したがってこのような実施形態において、現在のペア700のメンバーノード102は、チャネルの1つ(またここでは「一次(primary)チャネル」と呼ばれる)を好むバイアスを有する。これは、以下、現在のペア700の双方のメンバーノード102が双方のチャネルから整合性を伴ってインスタンスを受信し、双方のメンバーノード102が一次チャネルから受信したインスタンスを選択するというイベントにおいてである。
代替実施例において、図12に関連して上述した方向に関する整合性機能がネットワーク100内のノード102のトランスポートレイヤで使用される。前記代替実施例において、送信されたフレームのソースが自己チェックペアでないとき、各インスタンス中に含まれる整合性情報は、送信されたフレームが方向に関する整合性を伴って送信されたかどうか示すことであろう。このような実施形態において、現在のペア700の各メンバーノードは、チャネルの1つから(方向に関する整合性を含んで)インスタンスを整合性を伴って受信するとき、受信するインスタンスが他のチャネル上で(方向に関する整合性を含んで)ノード102によって整合性を伴って受信されたいかなるインスタンスとも同一と見なし、(方向に関する整合性を含んで)いずれかのチャネルから他のメンバーノード102によって整合性を伴って受信された任意のインスタンスと同一と見なす。したがって、このような実施形態において、現在のペア700の各メンバーノードによって選択されたインスタンスは、それぞれのインスタンスが(方向に関する整合性を含んで)各メンバーノードによって整合性を伴って受信された場合は、同じチャネルから受信される必要はない。
図10中に示される実施形態において、現在のノード102および現在のペア700の他のメンバーノード102の双方が同じチャネルから送信されたフレームのインスタンスを整合性を伴って受信していない場合、現在のノード102は、チャネル0上で受信されたインスタンスが現在のノード102とその他のメンバーノード102の双方に対してチャネル1上で受信したインスタンスと同一であるかどうかチェックする(ブロック1018)。同一の場合、現在のノード102は、複製判別計算の実行用に、何れかのインスタンスを選択する(ブロック1020)。一実施形態において、1つのチャネルを好むバイアスがある。現在のノード102は、その他のメンバーノード102によって生成されたシンドロームを使用して、現在のペア700のその他のメンバーノード102によってチャネル0上で受信されたインスタンスが、その他のノード102によってチャネル1上で受信されたインスタンスと同一であるかどうか判別する。
現在のノード102およびその他のメンバーノード102の双方が、同じチャネルから送信されたフレームのインスタンスを整合性を伴って受信せず、かつ現在のノード102およびその他のメンバーノード102がチャネル0および1上で同一のインスタンスを受信しなかった場合、現在のノード102は、アプリケーション依存のデフォルトアクションを実行する(ブロック1012)。図10中に示される実施形態において、送信されたフレームのソースがシンプレックスソースであるとき、現在のノード102は、送信されたフレームのソースが自己チェックペア600であるときに実行するのと同様のデフォルトアクションを実行する。他の実施形態において、送信されたフレームのソースがシンプレックスソースであるとき実行するデフォルトアクションは、送信されたフレームのソースが自己チェックペア600であるとき、実行されるデフォルトアクションとは異なる。
図7〜10中に示される実施形態において、図1〜3のリング型伝播機能の暗黙的カバレッジと結合されたときのインスタンス選択機能は、自己チェックペア600の2つのメンバーノード102が、複製判別計算を実行するときに、同一のデータ上で動作することを保証する。しかし、このようなアプローチは、ペア700のメンバーノード102での局部的な内部障害を解決しない。例えば、履歴状態の破損(例えば、中性子誘発ビット反転(neutron induced bit flips)、あるいはシングルイベントアップセット)は、また計算一致性にも影響するかもしれない。このようなエラーを検出するために、一実施例においては、ペア700のメンバーノード102の間で交換されるシンドロームは、履歴状態(あるいは他のデータ)のCRC(あるいは他のエラー検出および/または訂正コード)を含むように拡張される。ペア700のメンバーノード102は、CRC値を比較することによって、このようなエラーが発生したか判定するために交換されたCRCデータを使用する。その様なエラーが発生すると、メンバーノード102は、即座のリカバリーアクション(たとえばロールバック、以前の履歴データが残っている場合、あるいは、再インテグレーション、あるいはモードの復帰)を実行することが可能である。具体的なリカバリアクションは、典型的アプリケーション依存である。
前記履歴状態CRC機能は、一実施例において、ペア700の2つのメンバーノード102が電源投入時、首尾よく会合する(rendezvous)ことを保証するために使用される。例えば、一実装例において、各メンバーノード102は、複製判別計算(あるいは他の処理)を始める前に、履歴状態が一致する(交換されたCRC値を介してチェックされる)まで待つ。他の実施形態においては、シンドロームは、他の情報を含む。例えば、このような別の一実施形態において、シンドロームは、ソフトウェアおよびバージョン識別子を含む。これらの識別子は、処理の電源投入時、例えば、ペア700のメンバーノード102がその上で同じソフトウェアを実行している事を保証するために使用される。一旦ペア700のメンバーノード102が同じ履歴状態(および/またはソフトウェア)を持っていることを照合すると、図7〜10および図1〜3に関連して上述した機能は、計算開始時、メンバーノード102が複製判別法で適切に動作することを保証するように働く。
図7の自己チェックペア700が送信するとき、2つのメンバーノード102は、その同じフレームをネットワーク100内の他のノード102へ送信しなければならない。最大限のカバレッジ(coverage)のため、ネットワーク100内の他のノード102は、自己チェックペア700からのフレームを受信することを検証する。図7〜10中に示される実施形態において、このような検証は、図2〜6に関連して上述されたバスガーディアンならびに中継機能の中で提供される暗黙的チャネルカバレッジを使用しながら実行される。このような実施形態の一実装において、ネットワーク100内の他のノード102は、いずれのソースから受信したフレームも同じ方法で処理されているので、(シンプレックスソースに対するのと反対に)自己チェックペアが、送信中であるということを認識する必要はない。しかし、このような動作のためのアプローチに関して、ペア700のメンバーノード102からの送信は、適当かつ厳密に(すなわち、ネットワーク100の予期される伝播中継内で)調整されていることが必要である。
世界的に認められている耐障害性の時間基準の精度は多数ビットセル(1マイクロ秒から5マイクロ秒のオーダ)であり、ペアの2つのメンバー間のローカル会合(local rendezvous)が、要求される同期レベルを達成するために使用される。一実施形態においては、ダイレクトリンク108を使用する「ハルト―リリース(halt−release)」プロトコルが使用される。このような実装において、自己チェックペア700が送信するときに、ペア700の「より速い」メンバーノード102は、割り当てられたタイムスロットのはじめにアイドル(IDLE)プリアンブルをまず送信する。より速いノード102が「より遅い」メンバーノード102が送信を開始することを検知するまで、より速いノード102は、そのアイドルプリアンブルを送信し続ける。より遅いノードは、より速いノード102の存在を検知しながら、最小のプリアンブルを送信する。それは速いノードにとって、それを検知し、より速いノードの実際の送信開始を調整するのに十分に長いプリアンブルである。一実装において、その精密な時間は、グローバルTDMAスケジュールテーブル内の適切なパラメータを使用したプライオリ(priori)を構成する。このアプローチ(あるいは同様のアプローチ)を使用すると、送信中の自己チェックペア700の2つのメンバーノード102の間の時間差は、ネットワーク100の予期される名目上の伝播遅延(例えば、約1から3ビットセル)内に厳密に調整可能である。自己チェックペア700のメンバーノード102の送信を厳密に調整するため前記会合機能を実行することによって、ネットワーク100の他のノード102で実装されるデスキューおよび比較機能は、FIFOバッファサイズの増加を必要とせずに利用することができる。
他の実施形態においては、純粋な自己チェックペアの構成に加えて、もしくはその代わりに、2つの隣り合ったノード102の間のダイレクトリンク108が、ローカルセンサデータのような他のデータタイプとの交換、および/または一致のために、これら2つの隣り合ったノード102間の「プライベート」チャネルとして使用される。このような実施形態において、完全な生のデータは、その2つの隣り合ったノード102の間で交換される。図9のタイムスロット902中のシンドロームの交換に関して、ネットワーク100内の隣り合ったノード102の複数の異なるペアは、同じタイムスロットの間にセンサデータを交換することができる。
また、他の実施形態において、他のハイブリッドな自己チェックペア組織が、ノード102のサブセットのみでタスクおよび/あるいは送信を複製判別方法で動作するように実装される。例えば、図9に関連して上述したように、図7〜10に関連して上述した実施形態において、ノードBおよびFは、タイムスロット904および906内でペアA/BおよびE/Fのメンバーとしてそれぞれ送信し、タイムスロット916および918内でシンプレックスソースとして、それぞれ送信する。各「クリティカルな」送信は、グローバルなタイムスケジュール内で(例えば、ソースが自己チェックペアあるいはシンプレックスソースかどうか識別することによって)特徴付けられるので、隣り合ったノードの動作は、「バスガーディアン」から自己チェックペア700のメンバーノード102へ、ラウンドツーラウンドおよび/あるいはスロットツースロットから変わる。例えば、ノードAは、タイムスロット904の間、ペアA/Bのメンバーとして送信し、そしてタイムスロット916の間、ノードBに対するバスガーディアンノードとして動作する。
本明細書に記載のシステム、デバイス、方法、および技術は、さまざまなタイプのプロトコル(例えば、TTP/CやFLEXRAYなどのタイムトリガードプロトコル)を実装するノードにおいて実装することができる。図11は、図1に示されているネットワーク100のそれぞれのノード102を実装するのに適しているノード1100の典型的な一実施形態を示すブロック図である。図11に示されているノード1100は、TTP/Cプロトコルを実装している(ただし、本明細書に記載のシステム、デバイス、方法、および技術は、TTP/Cプロトコルの代わりに、あるいはTTP/Cプロトコルに加えて、その他のプロトコルを使用して実装することもできるという点を理解されたい)。それぞれのノード1100は、ホスト1110およびTTP/Cコントローラ1112を含む。ホスト1110は、ネットワーク100を介してやり取りされるデータを提供するアプリケーションソフトウェア1114を実行する。例えば一実装形態においては、ホスト1110は、安全が決定的に重要となるコントロールアプリケーションを実行するコンピュータである。ホスト1110は、TTP/Cコントローラ1112を使用して、通信ネットワーク100内のその他のノード102と通信する。TTP/Cコントローラ1112は、TTP/Cプロトコルの機能を実施する。TTP/Cプロトコルは、3つの基本的なサービスを、ホスト1110上で実行されるアプリケーションソフトウェア1114に提供する。TTP/Cプロトコルは、決定論的なメッセージ送信、グローバルタイムベース、およびメンバーシップサービスを提供し、それによってそれぞれのノード1100は、現在どのノードが送信を行っているかがわかる。
TTP/Cコントローラ1112は、ホスト1110と、TTP/Cコントローラ1112のその他のコンポーネントとの間におけるインターフェースとして機能するCNI(communication network interface)1116を含む。図11に示されている実施形態においては、CNI1116は、デュアルポートメモリ1118(ここでは、CNIメモリ1118とも呼ばれる)を使用して実装される。CNIメモリ1118は、ホスト1110によって、およびTTP/Cコントローラ1112内に含まれているTTP/Cコントローラユニット1120によってアクセスされる。このような実施形態の一実装形態においては、CNIメモリ1118は、SRAM(static random access memory)を使用して実装される。バスインターフェース1122は、CNIメモリ1118を複数のバス1124(例えばデータバス、アドレスバス、および/またはコントロールバス)に結合し、これらのバス1124を介して、ホスト1110は、CNIメモリ1118との間においてデータの読み取りおよび書き込みを行う。その他の実施形態においては、CNIメモリ1118は、その他の方法で(例えば、シリアルインターフェースを使用して)アクセスされる。
TTP/Cコントローラユニット1120は、TTP/Cプロトコルを実装するのに必要な機能を提供する。このような実施形態の一実装形態においては、TTP/Cコントローラユニット1120は、プログラマブルプロセッサ(例えば、マイクロプロセッサ)を使用して実装され、このプログラマブルプロセッサは、TTP/Cコントローラユニット1120によって実行される機能を実施するための命令と共にプログラムされる。このような実施形態においては、命令メモリ1126は、TTP/Cコントローラユニット1120に結合される。TTP/Cコントローラユニット1120によって実行されるプログラム命令は、プログラム命令メモリ1126内に格納される。一実装形態においては、プログラムメモリ1126は、読み取り専用のメモリデバイス、あるいはフラッシュメモリデバイスなどの不揮発性のメモリデバイスを使用して実装される。
TTP/Cコントローラ1112はまた、MEDL(message descriptor list)メモリ1128を含み、ここには、TDMA(time−division multiple access)スケジュール、動作モード、およびクロック同期化パラメータに関する構成情報が保存される。MEDLメモリ1128は通常、例えばフラッシュメモリデバイスおよび/またはSRAM(static random access memory)デバイスを使用して実装される。CNIメモリ1118、プログラムメモリ1126、およびMEDLメモリ1128のサイズはいずれも、ホスト1110上で実行されるアプリケーションソフトウェア1114、TTP/コントローラユニット1120上で実行されるプログラム命令、および/または(後述する)バスガーディアン1132の特定のニーズに基づいて選択される。さらに、CNIメモリ1118、プログラムメモリ1126、およびMEDLメモリ1128は、別々のコンポーネントとして図11に示されているが、いくつかの実施形態においては、CNIメモリ1118、プログラムメモリ1126、および/またはMEDLメモリ1128は、1つまたは複数のメモリデバイスへと統合される。
単一のバスガーディアン1132は、TTP/Cコントローラ1112とリンク1108の間におけるインターフェースとして機能する。図11に示されている実施形態の一実装形態においては、バスガーディアン1132は、例えば1つまたは複数のUART(universal asynchronous receiver/transmitter)デバイスを含み、この1つまたは複数のUARTデバイスは、図1に示されているシリアルな、一方向性のポイントツーポイントの、一方向性のリンク108からデータを受信して、そうしたリンク108を介してデータを送信および中継するために使用される。
バスガーディアン1132によってリンク108から受信されるデータは、TTP/Cプロトコルに従って処理するためにTTP/Cコントローラ1112へ渡される。TTP/Cコントローラ1112によって送信されることになるデータは、TTP/Cコントローラユニット1120によってバスガーディアン1132へ渡される。バスガーディアン1132は、TTP/Cコントローラ1112がリンク108上における送信をいつ許可されるか、およびリンク108から受信されたデータをいつ中継するかを決定する。一実装形態においては、バスガーディアン1112は、図2および3に関連して前述した機能の少なくとも一部を実装する。バスガーディアン1132は、データをいつ送信および中継するかを判断するために、TTP/Cコントローラ1120のMEDLメモリ1128内に保存されているMEDL情報にアクセスする。したがって、それぞれのノード102内に含まれるバスガーディアン1132は、そのノード102にとって、およびそのノードの両隣のそれぞれにとって、バスガーディアン1132として機能する。このようにして、それぞれのノード102内の単一のバスガーディアン1132を使用するだけで、ネットワーク100内のノード102に関して、複数のバスガーディアンに関連付けられているフォルトトレランスを達成することができる。
TTP/Cコントローラ1112およびバスガーディアン1132は、別々のコンポーネントとして図11に示されているが、このような実施形態の一実装形態においては、TTP/Cコントローラ1112およびバスガーディアン1132によって提供される機能は、単一の集積回路デバイスへ統合されるということを理解されたい。このような実装形態においては、さらなるリソースの節約(例えばコスト、スペース、および電力)を達成することができる。このような一実装形態においては、プログラマブルプロセッサは、適切なプログラム命令と共にプログラムされ、この適切なプログラム命令は、プログラマブルプロセッサによって実行されると、TTP/Cコントローラ1112およびバスガーディアン1132によって実行されるものとしてここで説明されている機能の少なくとも一部を実行する。その他の実施形態および実装形態においては、TTP/Cコントローラ1112(あるいはその1つまたは複数のコンポーネント)およびバスガーディアン1132(あるいはその1つまたは複数のコンポーネント)は、別々のコンポーネントを使用して実装される。
本明細書に記載のシステム、デバイス、方法、および技術は、図1に示されている特定の編組リング型のトポロジ以外のネットワークトポロジを有するネットワーク内に実装することができる。例えば、本明細書に記載のシステム、デバイス、方法、および技術の少なくとも一部は、ネットワークのさまざまなノードの間において提供されるノード間の接続がさらに多いネットワーク内に実装することができる。このようなネットワークの一例が、「メッシュ型の」ネットワークである。このようなメッシュ型の実施形態の一例においては、それぞれのノードは、(「完全な」メッシュ型のネットワークトポロジの場合には)ネットワーク100内における他のすべてのノードへ、あるいは(「部分的な」メッシュ型のネットワークトポロジの場合には)ネットワーク内における他のノードのサブセットへ通信可能に結合される。このようなそれぞれのノードごとに、およびこのようなメッシュ型のネットワーク内において定義される所与のチャネル内のデータの所与のフローごとに、そのノードが結合されるノードの少なくとも1つのサブセットが、そのノードにとっての受信元ノードとして指定され、そのノードが結合されるノードの少なくとも1つのサブセットが、送信先ノードとして指定される。
さらに、本明細書に記載のシステム、デバイス、方法、および技術の少なくとも一部は、ネットワークのさまざまなノードの間において提供されるノード間の接続がさらに少ないネットワーク内に実装することができる。このようなネットワークの一例が、2つの「シンプレックス」リングチャネルを含むネットワークである。このような一実装形態は、図1に示されている方法で実装されるが、それぞれのノードをその時計方向の隣の隣および反時計方向の隣の隣へ通信可能に結合するスキップリンクは存在しない。例えば方法300の実施形態は、このようなシンプレックスリング型ネットワーク内において使用するのに適している。
さらに、本明細書に記載のさまざまなシステム、デバイス、方法、および技術は、単一のネットワーク内にすべて一緒に実装する必要はなく、このようなシステム、デバイス、方法、および技術のさまざまな組合せを実装することができるという点を理解されたい。
本明細書に記載の方法および技術は、デジタル電子回路内に、あるいはプログラマブルプロセッサ(例えば専用プロセッサや、コンピュータなどの汎用プロセッサ)、ファームウェア、ソフトウェア、またはそれらの組合せと共に実装することができる。これらの技術を具体化する装置は、適切な入力デバイスおよび出力デバイスと、プログラマブルプロセッサと、そのプログラマブルプロセッサによって実行するためのプログラム命令を目に見える形で具体化するストレージメディアとを含むことができる。これらの技術を具体化するプロセスは、入力されたデータ上で動作して適切な出力を生成することによって所望の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行することができる。これらの技術は、有利なことに、データストレージシステムからデータおよび命令を受信するために、ならびにデータストレージシステムへデータおよび命令を送信するために結合されている少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラマブルシステム上で実行可能な1つまたは複数のプログラム内に実装することができる。一般にプロセッサは、読み取り専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受け取ることになる。コンピュータプログラム命令およびデータを目に見える形で具体化するのに適したストレージデバイスとしては、例えばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵型のハードディスクおよび取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびにDVDディスクを含むすべての形態の不揮発性メモリが含まれる。これらのいずれも、特別に設計されたASIC(application−specific integrated circuit)によって補強するか、あるいはそうしたASIC内に組み込むことができる。
添付の特許請求の範囲によって定義される本発明の複数の実施形態について説明した。これにかかわらず、特許請求される本発明の趣旨および範囲から逸脱することなく、説明した実施形態に対するさまざまな修正を行うことができるということが理解できるであろう。したがって、その他の実施形態は、添付の特許請求の範囲内に収まるものである。
通信ネットワークの一実施形態を示すブロック図である。 図1のネットワーク内においてデータを送信する方法の一実施形態を示す流れ図である。 図1のネットワーク内においてデータを中継する方法の一実施形態を示す流れ図である。 図1のネットワーク内においてデータを中継する方法の一実施形態を示す流れ図である。 図1のネットワーク内においてデータを中継する方法の一実施形態を示す流れ図である。 図1のネットワーク内においてデータを中継する方法の一実施形態を示す流れ図である。 一例においては、図3および4A〜4Bに示されている方法の比較および中継処理を実施するために使用されるノードの論理コンポーネントを示すブロック図である。 このようなノードが同期化モードで動作している間に図1のネットワーク内において発生する間抜けなタイミングでのでしゃばりな送信による障害の一例を示すブロック図である。 自己チェックペアを実装するために、アプリケーションレイヤで構成される図1のネットワークの一実施形態のブロック図である。 自己チェックペアのメンバーによって実行される上位レイヤ処理の少なくとも一部を実装する方法の一実施形態のフロー図である。 図7のネットワークに対するTDMAスケジュールの一例を示す図である。 図7の自己チェックペアによって実行される複製判別計算で使用するための送信されたフレームのインスタンスを選択する方法の一実施形態のフロー図である。 図1に示されているネットワークのそれぞれのノードを実装するのに適しているノードの一実施形態を示すブロック図である。 図1のネットワーク内における方向的な整合性を検知する方法の一実施形態を示す流れ図である。

Claims (10)

  1. 第1および第2のリング(104)を形成する第1および第2のチャネル(106)で相互に通信可能にそれぞれ結合されている複数のノード(102)と、
    前記複数のノードのうち少なくとも2つのノードからなる少なくとも1つの自己チェックペア(700)とからなるネットワーク(100)であって、
    各ノードは、前記第1のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合し、
    各ノードは、前記第2のチャネルを介して、前記第1の方向における前記第1の隣のノードおよび前記第2の方向における前記第2の隣のノードと通信可能に結合し、
    前記自己チェックペアの前記2つのノードは、相互に隣り合ったノードであって、
    各ノードが前記第1の方向における前記第1のチャネルに沿ってデータの第1の中継されたユニットを中継するときに、当該ノードは、前記データの第1の中継されたユニットと共に、前記データの第1の中継されたユニットの整合性の指標情報を中継し、
    各ノードが前記第2の方向における前記第2のチャネルに沿ってデータの第2の中継されたユニットを中継するときに、当該ノードは、前記データの第2の中継されたユニットと共に、前記データの第2の中継されたユニットの整合性の指標情報を中継し、
    前記自己チェックペアの前記2つの各ノードは、前記第1の方向における前記第1のチャネル上および前記第2の方向における前記第2のチャネル上で通信されるデータのうちあるデータの特定のユニットについて、
    前記自己チェックペア内に含まれる前記2つのノード以外のノードへ、前記第1および第2のチャネルから当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスに関する情報を、それぞれ送信し、
    前記自己チェックペア内に含まれる前記2つのノードとは別のノードから、前記第1のチャネルおよび第2のチャネルから当該別のノードによって受信された前記データの特定のユニットの第1および第2のインスタンスに関する情報を、それぞれ受信し、
    自己チェックペアに関して当該ノードによって実行される処理用として、
    前記第1および第2のチャネルから当該ノードによってそれぞれ受信された前記第1および第2のインスタンスに関する情報、および
    前記第1および第2のチャネルから前記自己チェックペアの前記2つのノード以外によってそれぞれ受信された前記第1および第2のインスタンスに関する情報、
    のうち少なくとも1つをベースにして、当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択することを特徴とするネットワーク。
  2. 前記チェックペアの前記2つのノードが複製判別計算を実行することを特徴とする請求項1記載のネットワーク。
  3. 各ノードは、前記第1のチャネルを介して、前記第1の方向における第1の隣の隣のノードおよび前記第2の方向における第2の隣の隣のノードと通信可能に結合し、
    各ノードは、前記第2のチャネルを介して、前記第1の方向における第1の隣の隣のノードおよび前記第2の方向における第2の隣の隣のノードと通信可能に結合していることを特徴とする請求項1記載のネットワーク。
  4. 各ノードが前記第1の方向における前記第1のチャネルに沿って前記データの第1の中継されたユニットを中継するときに、当該ノードが、当該ノードの前記第1の隣のノードおよび前記第1の隣の隣のノードに向かって、前記データの第1の中継されたユニットおよび前記データの第1の中継されたユニットの整合性の指標情報を中継し、
    各ノードが前記第2の方向における前記第2のチャネルに沿って前記データの第2の中継されたユニットを中継するときに、当該ノードが、当該ノードの前記第2の隣のノードおよび前記第2の隣の隣のノードに向かって、前記データの第2の中継されたユニットおよび前記データの第2の中継されたユニットの整合性の指標情報を中継することを特徴とする請求項3記載のネットワーク。
  5. 前記データの第1の中継されたユニットの整合性の指標情報が、前記それぞれのノードによって実行される、当該ノードのそれぞれ第2の隣のノードから前記第1のチャネル上で受信したデータと、当該ノードのそれぞれ第2の隣の隣のノードから受信したデータとの間の比較の指標情報からなり、
    前記データの第2の中継されたユニットの整合性の指標情報が、前記それぞれのノードによって実行される、当該ノードのそれぞれ第1の隣のノードから前記第2のチャネル上で受信したデータと、当該ノードのそれぞれ第1の隣の隣のノードから受信したデータとの間の比較の指標情報からなることを特徴とする請求項3記載のネットワーク。
  6. 前記第1のチャネルが、各ノードに対して
    第1の方向における当該ノードの第1の隣のノードへ通信可能に結合する第1のダイレクトリンク(108)と、
    第1の方向における当該ノードの第1の隣の隣のノードへ通信可能に結合する第1のスキップリンク(108)と、
    第2の方向における当該ノードの第2の隣のノードへ通信可能に結合する第2のダイレクトリンク(108)と、
    第2の方向における当該ノードの第2の隣の隣のノードへ通信可能に結合する第2のスキップリンク(108)とからなり、
    前記第2のチャネルが、各ノードに対して
    第1の方向における当該ノードの第1の隣のノードへ通信可能に結合する第1のダイレクトリンク(108)と、
    第1の方向における当該ノードの第1の隣の隣のノードへ通信可能に結合する第1のスキップリンク(108)と、
    第2の方向における当該ノードの第2の隣のノードへ通信可能に結合する第2のダイレクトリンク(108)と、
    第2の方向における当該ノードの第2の隣の隣のノードへ通信可能に結合する第2のスキップリンク(108)とからなることを特徴とする請求項3記載のネットワーク。
  7. 前記自己チェックペアの前記2つの各ノードによって前記第1および第2のチャネルからそれぞれ受信された前記データの特定のユニットの第1および第2のインスタンスについての情報が、当該ノードによって前記第1および第2のチャネルからそれぞれ受信された前記データの特定のユニットの第1および第2のインスタンスをベースにしてそれぞれのノードによって生成されたシンドロームからなることを特徴とする請求項1記載のネットワーク。
  8. 第1および第2のチャネル(106)で相互に通信可能に結合されている複数のノード(102)と、
    前記複数のノードのうち少なくとも2つのノードからなる少なくとも1つの自己チェックペア(700)とからなるネットワーク(100)であって、
    前記第1のチャネルを介して各ノードが、
    前記第1のチャネル上でデータを送信するノードである、少なくとも1つの第1の送信先ノードと、
    前記第1のチャネルからデータを受信するノードである、少なくとも1つの第1の受信元ノードとに通信可能に結合されており、
    前記第2のチャネルを介して各ノードが、
    前記第2のチャネルでデータを送信するノードである、少なくとも1つの第2の送信先ノードと、
    前記第2のチャネルからデータを受信するノードである、少なくとも1つの第2の受信元ノードとに通信可能に結合されており、
    前記自己チェックペアの前記2つのノードの第1が、前記自己チェックペアの前記2つのノードの第2に対して、それぞれ前記第1の受信元ノードおよびそれぞれ前記第2の送信先ノードからなり、
    前記自己チェックペアの前記2つのノードの第2が、前記自己チェックペアの前記2つのノードの第1に対して、それぞれ前記第2の受信元ノードおよびそれぞれ前記第1の送信先ノードからなり、
    各ノードが前記第1のチャネルに沿ってデータの第1の中継されたユニットを中継するときに、当該ノードは、前記データの第1の中継されたユニットと共に前記データの第1の中継されたユニットの整合性の指標情報を中継し、
    各ノードが前記第2のチャネルに沿ってデータの第2の中継されたユニットを中継するときに、当該ノードは、前記データの第2の中継されたユニットと共に前記データの第2の中継されたユニットの整合性の指標情報を中継し、
    前記自己チェックペアの前記2つの各ノードが、前記第1のチャネル上および前記第2のチャネル上で通信されるデータの特定のユニットに関して、
    前記自己チェックペア内に含まれる前記2つのノード以外のノードへ、前記第1および第2のチャネルから当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスについての情報を、それぞれ送信し、
    前記自己チェックペア内に含まれる前記2つのノードとは別のノードから、前記第1のチャネルおよび第2のチャネルから当該別のノードによって受信された前記データの特定のユニットの第1および第2のインスタンスについての情報を、それぞれ受信し、
    自己チェックペアに関して当該ノードによって実行される処理用として、
    前記第1および第2のチャネルから当該ノードによってそれぞれ受信された前記第1および第2のインスタンスに関する情報、および
    前記第1および第2のチャネルから前記自己チェックペアの前記2つのノード以外によってそれぞれ受信された前記第1および第2のインスタンスに関する情報、のうち少なくとも1つをベースにして、当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択することを特徴とするネットワーク。
  9. 第1および第2のリング(104)を形成する第1および第2のチャネル(106)を通して相互に通信可能にそれぞれ結合された複数のノード(102)からなるネットワーク(100)内で使用される方法であって、各ノードは、前記第1のチャネルを介して、第1の方向における第1の隣のノードおよび第2の方向における第2の隣のノードと通信可能に結合し、各ノードは、前記第2のチャネルを介して、前記第1の方向における前記第1の隣のノードおよび前記第2の方向における前記第2の隣のノードと通信可能に結合されており、前記ネットワークは、相互に隣り合ったノードである2つのノードを含む少なくとも1つの自己チェックペア(700)を含み、
    前記複数のノードの各ノードによって、前記第1のチャネルに沿って、前記データの第1の中継されたユニットの整合性の指標情報を伴う、前記第1のチャネル上でそれぞれのノードによって受信された前記データの第1のユニットを中継し、
    前記複数のノードの各ノードによって、前記第2のチャネルに沿って、前記データの第2の中継されたユニットの整合性の指標情報を伴う、前記第2のチャネル上でそれぞれのノードによって受信された前記データの第2のユニットを中継し、
    前記第1および第2のチャネル上で通信されるデータの特定のユニットに関して、前記自己チェックペアの前記2つのノードの各ノードにおいて、
    前記自己チェックペア内に含まれる前記2つのノード以外へ、前記第1および第2のチャネルから当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスに関する情報を、それぞれ送信し、
    前記自己チェックペア内に含まれる前記2つのノードとは別のノードから、前記第1および第2のチャネルから当該別のノードによって受信された前記データの特定のユニットの第1および第2のインスタンスについての情報を、それぞれ受信し、
    自己チェックペアに関して、当該ノードによって実行される処理用として、
    前記第1および第2のチャネルから当該ノードによってそれぞれ受信された前記第1および第2のインスタンスに関する情報および
    前記第1および第2のチャネルから前記自己チェックペアの2つのノード以外によってそれぞれ受信された前記第1および第2のインスタンスに関する情報のうち少なくとも1つをベースにして、当該ノードによって受信された前記データの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択することを特徴とする方法。
  10. 第1および第2のノード(102)からなる自己チェックペア(700)であって、
    前記第1および第2の各ノードは、少なくとも第1および第2のチャネル(106)とそれぞれのノードを通信可能に結合するためのインタフェース(113)を含み、前記第1および第2のチャネルは、それぞれ第1および第2のリング(104)を含み、
    前記第1および第2のノードは、相互に隣り合ったノードであり、
    前記第1および第2のチャネル上で中継されるデータの各ユニットに関して、前記データの中継されたユニットの整合性の指標情報は、前記データの中継されたユニットと共に中継され、
    前記ネットワーク上で通信されるデータの特定のユニットに関して、
    前記第1および第2の各ノードは、前記第1のチャネルから受信した前記データの特定のユニットの第1のインスタンスおよび前記第2のチャネルから受信した前記データの特定のユニットの第2のインスタンスについての情報を交換し、
    前記自己チェックペアの前記第1および第2の各ノードは、それぞれのノードによって実行される処理用として、
    前記第1および第2のチャネルから当該ノードによってそれぞれ受信された前記第1および第2のインスタンスに関する情報、および
    前記第1および第2のチャネルから前記自己チェックペアの2つのノード以外によってそれぞれ受信された前記第1および第2のインスタンスに関する情報、のうち少なくとも1つをベースにして、前記それぞれのノードによって受信された前記データの特定のユニットの第1および第2のインスタンスのうち少なくとも1つを選択することを特徴とする自己チェックペア。
JP2007545666A 2004-12-10 2005-12-09 編組リング型ネットワーク上の自己チェックペア Active JP4944791B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/010,249 US7372859B2 (en) 2003-11-19 2004-12-10 Self-checking pair on a braided ring network
US11/010,249 2004-12-10
PCT/US2005/044633 WO2006063237A1 (en) 2004-12-10 2005-12-09 Self-checking pair on a braided ring network

Publications (2)

Publication Number Publication Date
JP2008523726A true JP2008523726A (ja) 2008-07-03
JP4944791B2 JP4944791B2 (ja) 2012-06-06

Family

ID=36085615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007545666A Active JP4944791B2 (ja) 2004-12-10 2005-12-09 編組リング型ネットワーク上の自己チェックペア

Country Status (4)

Country Link
US (1) US7372859B2 (ja)
EP (1) EP1820103A1 (ja)
JP (1) JP4944791B2 (ja)
WO (1) WO2006063237A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818161B2 (en) 2008-12-25 2010-10-19 Kabushiki Kaisha Toshiba Apparatus and method for UART emulation

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334219B1 (en) 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
USRE42236E1 (en) 1995-02-06 2011-03-22 Adc Telecommunications, Inc. Multiuse subcarriers in multipoint-to-point communication using orthogonal frequency division multiplexing
US7280564B1 (en) 1995-02-06 2007-10-09 Adc Telecommunications, Inc. Synchronization techniques in multipoint-to-point communication using orthgonal frequency division multiplexing
US7543077B1 (en) * 2000-09-19 2009-06-02 Stragent, Llc Ternary content addressable memory embedded in a central processing unit
US7281142B2 (en) * 2004-09-07 2007-10-09 International Business Machines Corporation Apparatus, system, and method for securely providing power supply commands
US7668084B2 (en) * 2006-09-29 2010-02-23 Honeywell International Inc. Systems and methods for fault-tolerant high integrity data propagation using a half-duplex braided ring network
US7596153B2 (en) * 2006-10-13 2009-09-29 Honeywell International Inc. Clock-state correction and/or clock-rate correction using relative drift-rate measurements
WO2008054735A1 (en) * 2006-10-30 2008-05-08 Interdigital Technology Corporation Method and apparatus for encoding and decoding high speed shared control channel data
US7889683B2 (en) * 2006-11-03 2011-02-15 Honeywell International Inc. Non-destructive media access resolution for asynchronous traffic in a half-duplex braided-ring
US7912094B2 (en) * 2006-12-13 2011-03-22 Honeywell International Inc. Self-checking pair-based master/follower clock synchronization
US7656881B2 (en) * 2006-12-13 2010-02-02 Honeywell International Inc. Methods for expedited start-up and clique aggregation using self-checking node pairs on a ring network
US7778159B2 (en) * 2007-09-27 2010-08-17 Honeywell International Inc. High-integrity self-test in a network having a braided-ring topology
US8817597B2 (en) 2007-11-05 2014-08-26 Honeywell International Inc. Efficient triple modular redundancy on a braided ring
US8213706B2 (en) * 2008-04-22 2012-07-03 Honeywell International Inc. Method and system for real-time visual odometry
US8130773B2 (en) * 2008-06-25 2012-03-06 Honeywell International Inc. Hybrid topology ethernet architecture
US8521035B2 (en) * 2008-09-05 2013-08-27 Ketra, Inc. Systems and methods for visible light communication
US8456092B2 (en) 2008-09-05 2013-06-04 Ketra, Inc. Broad spectrum light source calibration systems and related methods
US8674913B2 (en) 2008-09-05 2014-03-18 Ketra, Inc. LED transceiver front end circuitry and related methods
US9509525B2 (en) * 2008-09-05 2016-11-29 Ketra, Inc. Intelligent illumination device
US9276766B2 (en) * 2008-09-05 2016-03-01 Ketra, Inc. Display calibration systems and related methods
US10210750B2 (en) 2011-09-13 2019-02-19 Lutron Electronics Co., Inc. System and method of extending the communication range in a visible light communication system
US8773336B2 (en) 2008-09-05 2014-07-08 Ketra, Inc. Illumination devices and related systems and methods
WO2010027459A2 (en) * 2008-09-05 2010-03-11 Firefly Green Technologies Inc. Optical communication device, method and system
US8179787B2 (en) * 2009-01-27 2012-05-15 Smsc Holding S.A.R.L. Fault tolerant network utilizing bi-directional point-to-point communications links between nodes
US8471496B2 (en) 2008-09-05 2013-06-25 Ketra, Inc. LED calibration systems and related methods
US8767840B2 (en) * 2009-02-11 2014-07-01 Taiwan Semiconductor Manufacturing Company, Ltd. Method for detecting errors and recovering video data
US8339993B2 (en) * 2009-05-07 2012-12-25 Honeywell International Inc. Dynamic fault-tolerant configuration support and re-configuration of a braided ring network
US8156371B2 (en) * 2009-06-16 2012-04-10 Honeywell International Inc. Clock and reset synchronization of high-integrity lockstep self-checking pairs
USRE49454E1 (en) 2010-09-30 2023-03-07 Lutron Technology Company Llc Lighting control system
US9386668B2 (en) 2010-09-30 2016-07-05 Ketra, Inc. Lighting control system
US8749172B2 (en) 2011-07-08 2014-06-10 Ketra, Inc. Luminance control for illumination devices
US8908675B2 (en) 2012-01-13 2014-12-09 Honeywell International Inc. Virtual pairing for consistent data broadcast
US8949983B2 (en) 2012-02-21 2015-02-03 Honeywell International Inc. System and method for integrity reconstitution
US8767767B2 (en) 2012-02-21 2014-07-01 Honeywell International Inc. System and method for out-of-band signaling
US8976790B2 (en) 2012-08-03 2015-03-10 Honeywell International Inc. Disjoint data path routing for integrity and availability augmentation
US9237620B1 (en) 2013-08-20 2016-01-12 Ketra, Inc. Illumination device and temperature compensation method
US9360174B2 (en) 2013-12-05 2016-06-07 Ketra, Inc. Linear LED illumination device with improved color mixing
US9651632B1 (en) 2013-08-20 2017-05-16 Ketra, Inc. Illumination device and temperature calibration method
USRE48956E1 (en) 2013-08-20 2022-03-01 Lutron Technology Company Llc Interference-resistant compensation for illumination devices using multiple series of measurement intervals
US9769899B2 (en) 2014-06-25 2017-09-19 Ketra, Inc. Illumination device and age compensation method
US9155155B1 (en) 2013-08-20 2015-10-06 Ketra, Inc. Overlapping measurement sequences for interference-resistant compensation in light emitting diode devices
US9247605B1 (en) 2013-08-20 2016-01-26 Ketra, Inc. Interference-resistant compensation for illumination devices
US9332598B1 (en) 2013-08-20 2016-05-03 Ketra, Inc. Interference-resistant compensation for illumination devices having multiple emitter modules
US9345097B1 (en) 2013-08-20 2016-05-17 Ketra, Inc. Interference-resistant compensation for illumination devices using multiple series of measurement intervals
US9578724B1 (en) 2013-08-20 2017-02-21 Ketra, Inc. Illumination device and method for avoiding flicker
USRE48955E1 (en) 2013-08-20 2022-03-01 Lutron Technology Company Llc Interference-resistant compensation for illumination devices having multiple emitter modules
US9736895B1 (en) 2013-10-03 2017-08-15 Ketra, Inc. Color mixing optics for LED illumination device
US9603113B2 (en) * 2013-10-29 2017-03-21 Qualcomm Incorporated Distributed algorithm for constructing and maintaining a hierarchical structure for device-to-device synchronization
US9146028B2 (en) 2013-12-05 2015-09-29 Ketra, Inc. Linear LED illumination device with improved rotational hinge
US9736903B2 (en) 2014-06-25 2017-08-15 Ketra, Inc. Illumination device and method for calibrating and controlling an illumination device comprising a phosphor converted LED
US9557214B2 (en) 2014-06-25 2017-01-31 Ketra, Inc. Illumination device and method for calibrating an illumination device over changes in temperature, drive current, and time
US10161786B2 (en) 2014-06-25 2018-12-25 Lutron Ketra, Llc Emitter module for an LED illumination device
US9392663B2 (en) 2014-06-25 2016-07-12 Ketra, Inc. Illumination device and method for controlling an illumination device over changes in drive current and temperature
US9510416B2 (en) 2014-08-28 2016-11-29 Ketra, Inc. LED illumination device and method for accurately controlling the intensity and color point of the illumination device over time
US9392660B2 (en) 2014-08-28 2016-07-12 Ketra, Inc. LED illumination device and calibration method for accurately characterizing the emission LEDs and photodetector(s) included within the LED illumination device
US9237623B1 (en) 2015-01-26 2016-01-12 Ketra, Inc. Illumination device and method for determining a maximum lumens that can be safely produced by the illumination device to achieve a target chromaticity
US9237612B1 (en) 2015-01-26 2016-01-12 Ketra, Inc. Illumination device and method for determining a target lumens that can be safely produced by an illumination device at a present temperature
US9485813B1 (en) 2015-01-26 2016-11-01 Ketra, Inc. Illumination device and method for avoiding an over-power or over-current condition in a power converter
CN107113278B (zh) * 2015-07-29 2019-10-22 华为技术有限公司 邻居建立的方法、设备和系统
US11272599B1 (en) 2018-06-22 2022-03-08 Lutron Technology Company Llc Calibration procedure for a light-emitting diode light source
US10992516B2 (en) * 2018-12-13 2021-04-27 Honeywell International Inc. Efficient self-checking redundancy comparison in a network
US11303584B2 (en) 2018-12-13 2022-04-12 Honeywell International Inc. Dual fault-tolerant network using guardian interlocking
US20220070083A1 (en) 2020-09-02 2022-03-03 Honeywell International Inc. Unicast addressing for redundant communication paths
US11431613B2 (en) 2020-09-02 2022-08-30 Honeywell International Inc. Compressed and efficient byzantine agreement
US11652663B1 (en) 2022-01-28 2023-05-16 Honeywell International Inc. Controller area network braided ring

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1581803A (en) 1978-03-21 1980-12-17 Standard Telephones Cables Ltd Data transmission system
GB2028062B (en) 1979-08-17 1982-07-21 Standard Telephones Cables Ltd Transmission system
US4428046A (en) 1980-05-05 1984-01-24 Ncr Corporation Data processing system having a star coupler with contention circuitry
US4417334A (en) 1981-04-16 1983-11-22 Ncr Corporation Data processing system having dual-channel system bus
DE3238692A1 (de) 1982-10-19 1984-04-19 Siemens AG, 1000 Berlin und 8000 München Datenuebertragungssystem
JPS60152143A (ja) 1984-01-20 1985-08-10 Fuji Xerox Co Ltd システムタイミング同期方式
AT382253B (de) 1984-06-22 1987-02-10 Austria Mikrosysteme Int Lose gekoppeltes verteiltes computersystem
US4630254A (en) 1984-10-26 1986-12-16 Trw Inc. Controlled star network
GB2175775A (en) 1985-05-28 1986-12-03 Stc Plc Data transmission system
GB8528891D0 (en) 1985-11-23 1986-01-02 Int Computers Ltd Data transmission system
US4856023A (en) 1986-07-23 1989-08-08 Ncr Corporation System for maintaining low bit error rate in a starcoupled network of direct coupled stations
DE58908572D1 (de) 1989-02-20 1994-12-01 Licentia Gmbh Sternförmiges netz für die datenkommunikation zwischen stationen.
GB2232512A (en) 1989-05-31 1990-12-12 Plessey Telecomm Processor unit networks
GB8923351D0 (en) 1989-10-17 1989-12-06 Stc Plc Multifrequency optical network
US5257266A (en) 1991-02-27 1993-10-26 General Dynamics Corporation, Space Systems Division Computer and communications systems employing universal direct spherics processing architectures
US5307409A (en) 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption
US5386424A (en) 1993-03-31 1995-01-31 Honeywell, Inc. Apparatus and method for transmitting information between dual redundant components utilizing four signal paths
DE4429953B4 (de) 1994-08-24 2012-06-06 Wabco Gmbh Serielles Bussystem
US5557778A (en) 1994-11-07 1996-09-17 Network Devices, Inc. Star hub connection device for an information display system
US5896508A (en) 1995-02-23 1999-04-20 Advanced Micro Devices, Inc. Hub-network adapter device for a file server personal computer
US6272538B1 (en) 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
DE19633744C2 (de) 1996-08-22 1999-07-22 Baumueller Anlagen Systemtech Ringgraph in einem elektrischen Antriebssystem
US6052753A (en) 1997-01-21 2000-04-18 Alliedsignal Inc. Fault tolerant data bus
US6374078B1 (en) 1998-04-17 2002-04-16 Direct Wireless Corporation Wireless communication system with multiple external communication links
US6618359B1 (en) 1998-10-07 2003-09-09 Nortel Networks Limited Error recovery in a mixed protocol networks
US6226676B1 (en) 1998-10-07 2001-05-01 Nortel Networks Corporation Connection establishment and termination in a mixed protocol network
EP1171985B1 (en) 1999-04-15 2006-08-02 Breach Security, Inc. Monitoring integrity of transmitted data
DE19922171B4 (de) 1999-05-12 2009-08-27 Infineon Technologies Ag Kommunikationssystem mit einem Kommunikationsbus
US7088921B1 (en) 1999-06-11 2006-08-08 Lucent Technologies Inc. System for operating an Ethernet data network over a passive optical network access system
AT407582B (de) 1999-08-13 2001-04-25 Fts Computertechnik Gmbh Nachrichtenverteilereinheit mit integriertem guardian zur verhinderung von ''babbling idiot'' fehlern
US6594802B1 (en) 2000-03-23 2003-07-15 Intellitech Corporation Method and apparatus for providing optimized access to circuits for debug, programming, and test
US6707913B1 (en) 2000-04-11 2004-03-16 Verizon Laboratories Inc. Network interface
US6513092B1 (en) 2000-04-18 2003-01-28 Nec Eluminant Technologies, Inc. 1:N protection switching architecture for common processing units
US7085560B2 (en) 2000-05-31 2006-08-01 Wahoo Communications Corporation Wireless communications device with artificial intelligence-based distributive call routing
KR100385116B1 (ko) 2000-09-02 2003-05-22 국방과학연구소 다중 장애 허용망 구조를 이용한 패킷 처리 방법
US6925497B1 (en) 2000-09-26 2005-08-02 Microsoft Corporation Systems and methods for controlling the number of clients that access a server
EP1598714B1 (en) 2000-12-13 2016-09-28 LG Electronics Inc. Apparatus and method for remotely controlling household appliances
JP2003087243A (ja) 2001-06-28 2003-03-20 Hitachi Ltd データ検証方法、データ検証装置およびその処理プログラム製品
EP1280024B1 (en) 2001-07-26 2009-04-01 Freescale Semiconductor, Inc. Clock synchronization in a distributed system
US7050395B1 (en) 2001-11-30 2006-05-23 Redback Networks Inc. Method and apparatus for disabling an interface between network element data processing units
DE10223007A1 (de) 2002-05-22 2003-12-11 Bosch Gmbh Robert Verfahren und Vorrichtung zur Übertragung von Informationen in einem Netzwerk sowie entsprechendes Netzwerk
DE20220280U1 (de) 2002-05-22 2003-10-02 Bosch Gmbh Robert Vorrichtung zur Übertragung von Information in einem Netzwerk sowie entsprechendes Netzwerk
JP4309629B2 (ja) 2002-09-13 2009-08-05 株式会社日立製作所 ネットワークシステム
DE50306182D1 (de) 2003-04-14 2007-02-15 Alcatel Transp Solution D Gmbh Verfahren zur signaltechnisch sicheren Datenübertragung
WO2005053270A2 (en) 2003-11-19 2005-06-09 Honeywell International Inc. Mobius time-triggered communication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818161B2 (en) 2008-12-25 2010-10-19 Kabushiki Kaisha Toshiba Apparatus and method for UART emulation

Also Published As

Publication number Publication date
JP4944791B2 (ja) 2012-06-06
WO2006063237A1 (en) 2006-06-15
US20050152379A1 (en) 2005-07-14
US7372859B2 (en) 2008-05-13
EP1820103A1 (en) 2007-08-22

Similar Documents

Publication Publication Date Title
JP4944791B2 (ja) 編組リング型ネットワーク上の自己チェックペア
JP2007511986A (ja) 双方向性の編組リング型ネットワーク内における方向的な整合性の強化
US7656881B2 (en) Methods for expedited start-up and clique aggregation using self-checking node pairs on a ring network
US7668084B2 (en) Systems and methods for fault-tolerant high integrity data propagation using a half-duplex braided ring network
US20080144668A1 (en) Self-checking pair-based master/follower clock synchronization
EP2573982A1 (en) System and method for testing a communications network having a central bus guardian (cbg) to detect a faulty condition associated with the cbg
US8498276B2 (en) Guardian scrubbing strategy for distributed time-triggered protocols
Gessner et al. A fault-tolerant ethernet for hard real-time adaptive systems
EP3668020B1 (en) Dual fault-tolerant network using guardian interlocking
US7668204B2 (en) Port driven authentication in a network
EP2573981A2 (en) System and method for encoding a slot table for a communications controller
US11665112B2 (en) Self-checking node
Driscoll et al. Maximizing fault tolerance in a low-s WaP data network
JP2006319381A (ja) 緊急メッセージ送信方法
JP6330541B2 (ja) データ送受信システム、データ送信装置、データ送受信システムの制御方法
EP4221105A1 (en) Controller area network braided ring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110901

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120302

R150 Certificate of patent or registration of utility model

Ref document number: 4944791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250