(57)【特許請求の範囲】
【請求項１】
航空機の航行に関するデータを提供する複数のリモート入力ユニット（ＲＩＵ）（２０）および前記航空機（１０）の航行のために前記データの少なくともいくつかに基づいてメッセージを使用する加入者ユニット（３２）を有する前記航空機（１０）用のデータ通信ネットワークであって、
前記ＲＩＵ（２０）に非同期的に接続され、前記ＲＩＵから到着した順番に前記データを受け取る中央データサーバ（ＣＤＳ）（２８）と、
前記ＣＤＳ（２８）内に設けられ、かつ前記複数のＲＩＵからの前記データの現在のバージョンを記憶する現在値テーブル（ＣＶＴ）（５６）と、
前記ＣＶＴ（５６）からメッセージを前記メッセージの優先度に基づいて選択し、かつ前記メッセージに関する少なくとも対応する加入者ユニット（３２）へ選択された前記メッセージを送るメッセージスケジューラ（３０）と、
を備える、データ通信ネットワーク。
【請求項２】
前記メッセージが、所定のメッセージフォーマットまたはカスタムメッセージフォーマットのうちの少なくとも一方を有する、請求項１に記載のデータ通信ネットワーク。
【請求項３】
前記所定のメッセージフォーマットまたは前記カスタムメッセージフォーマットのうちの少なくとも一方を形成することが可能な仮想末端システム（８２）、メッセージコンストラクタ、またはプロセッサ（７８）のうちの少なくとも１つをさらに備える、請求項２に記載のデータ通信ネットワーク。
【請求項４】
前記プロセッサ（７８）が、分散型プロセッサアレイを備える、請求項３に記載のデータ通信ネットワーク。
【請求項５】
前記ネットワークが、イーサネット、ＩＥＥＥ８０２．３、ＡＲＩＮＣ６６４第７部、ＣＡＮバス、ＡＲＩＮＣ４２９、またはＡＲＩＮＣ６６１のうちの少なくとも１つを介して前記ＲＩＵ（２０）または前記加入者ユニット（３２）のうちの少なくとも一方とインターフェースで接続することが可能である、請求項１から４のいずれかに記載のデータ通信ネットワーク。
【請求項６】
前記ＣＤＳ（２８）が、メモリをさらに備える、請求項１から５のいずれかに記載のデータ通信ネットワーク。
【請求項７】
前記メモリが、少なくとも１つの環状バッファを備える、請求項６に記載のデータ通信ネットワーク。
【請求項８】
前記メッセージが、前記少なくとも１つの環状バッファ（５４）に記憶される、請求項７に記載のデータ通信ネットワーク。
【請求項９】
多数の環状バッファ（５４）が、異なるデータ送信レートで動作し、前記少なくとも１つのメッセージが、前記加入者ユニット（３２）と同じデータ送信レートを有する前記少なくとも１つのバッファ（５４）に記憶される、請求項８に記載のデータ通信ネットワーク。
【請求項１０】
前記メッセージスケジューラ（３０）が、前記ネットワーク上の汎用コンピュータ上で実行される実行可能なプログラム、前記ネットワーク上の特殊用途コンピュータ上で実行される実行可能なプログラム、または前記ネットワーク上の特殊論理回路のうちの少なくとも１つを備える、請求項１から９のいずれかに記載のデータ通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、航空機用データ通信ネットワークに関する。
【背景技術】
【０００２】
現代の航空機に関して、アビオニクス「プラットフォーム」は、センサ、センサデータコンセントレータ、データ通信ネットワーク、無線周波数センサおよび通信装置、計算素子、エフェクタ、ならびにグラフィカルディスプレイなどの様々な要素から構成される。これらのコンポーネントは、データ通信ネットワークを介して相互に情報を共有しなければならない。
【０００３】
これらのプラットフォーム要素の古い典型は、多くの場合に「連合システム」と呼ばれる個別サブシステム要素の形態である。連合システムは、独自の専用論理回路、プロセッサ、および入力／出力インターフェースを有する独立型パッケージ内の用途特定サブシステムである。多数の別々の連合システムは、データソースの共通サブセットに依存するが、連合システム間で処理リソースおよびインターフェースを共有することに欠けている。
【０００４】
連合システムへの依存を削減するための従前の努力の成果は、ＡＲＩＮＣ６５３規格およびＡＲＩＮＣ６６４規格の導入をもたらした。ＡＲＩＮＣ６５３（Ａ６５３）は、例えば、連合システム機能に関係する各アプリケーションが、独自のタイムスライスパーティションおよび中で実行すべき独自のメモリ空間パーティションを認可されるオペレーティングシステムである。これによって、多数の連合システム機能であったものが、共通プロセッサ上でホストされ、かつＡＲＩＮＣ６６４第７部（Ａ６６４ｐ７）に基づくアビオニクスデータネットワークへの共通インターフェースおよび配線を共有することが可能になった。
【０００５】
これらのシステムでは、データを、高い頻度でサンプリングし、公表し、および送信し、そしてアプリケーションによって作られる結果が十分に低い入力データサンプリング時間対処理後出力遅延を有することを確実にするために、ＡＲＩＮＣ６５３パーティションにおいて実行されるアプリケーションをさらに頻繁に実行する。データ公表レートの頻度およびアプリケーション実行の頻度の両者は、データとその処理を同期させた場合には、必要であるはずのものよりもさらに頻繁である傾向がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１２／０２０７１８３号明細書
【発明の概要】
【０００７】
一実施形態では、本発明は、データを提供する複数のリモート入力ユニット（ＲＩＵ）および航空機の航行のためにデータの少なくともいくつかに基づいてメッセージを使用する加入者ユニットを有する航空機用のデータ通信ネットワークに関し、データ通信ネットワークは、ＲＩＵに非同期的に接続された中央データサーバ（ＣＤＳ）と、ＣＤＳ内に設けられ、かつデータの現在のバージョンを記憶する現在値テーブル（ＣＶＴ）と、ＣＶＴからメッセージを形成し、かつメッセージに関する少なくとも対応する加入者ユニットへメッセージを送るメッセージスケジューラとを含む。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態による航空機用のデータ通信ネットワークの模式図である。
【図２】本発明の一実施形態によるアビオニクスデータサーバの模式図である。
【発明を実施するための形態】
【０００９】
本発明の説明する実施形態は、アビオニクスデータサーバ（ＡＤＳ）、およびデータ値の任意のソースを航空機上の任意の宛先へ配信するための必要性をサポートする航空機用のコンポーネントを有するアビオニックスデータ通信ネットワークに向けられる。可能ではあるが、本発明の実施形態は、例えば、ＡＤＳを通過する利点がないある種のポイントツーポイントフローがあるので、航空機のすべてのデータパスがデータ通信ネットワークを通過しなければならないという必要条件を課すことを必要としない。しかしながら、変換、インターワーキング、処理、同期化、トラフィックシェーピング、ポリシング（ｐｏｌｉｃｉｎｇ）、マルチキャスティング、等を必要とするデータフローの少なくとも大部分は、ＡＤＳが提供する機能から利益を得ることが可能である。
【００１０】
図１に模式的に示したように、複数のリモート入力ユニット（ＲＩＵ）１２、例えば、様々なセンサまたは計器および航空機１０の航行のためにデータ通信ネットワーク１６に電気的に接続された少なくとも１つの加入者ユニット１４を有する航空機１０が示される。各ＲＩＵ１２は、データ通信ネットワーク１６へデータまたはデータフレームを提供することができ、そして各加入者ユニット１４は、生データのうちの少なくともいくつかに基づいてメッセージを使用することができる。加入者ユニット１４は、例えば、追加のアビオニクスシステム、プロセッサ、ディスプレイ、または冗長性確認システムを含むことができる。ＲＩＵ１２および加入者ユニット１４は、データ通信ネットワークによって効率的に管理される様々なデータ伝送レートでデータを提供し、かつ使用することができる。追加のＲＩＵ１２および／もしくは加入者ユニット１４、またはユニット１２、１４の配置が想定される。本発明の１つの実施形態を航空機環境において示したが、本発明は、そのようには限定されず、他の移動体アプリケーション、ならびに非移動体の産業用、商業用、および住宅用アプリケーション、などの非航空機アプリケーションにおけるデータ通信ネットワークへの一般的なアプリケーションを有することが理解されるであろう。
【００１１】
図２は、アビオニクスデータサーバ（ＡＤＳ）１８を含むデータ通信ネットワークの高レベルブロック図を示す。ＡＤＳ１８は、共通受信インターフェース２２に接続された複数の物理ＲＩＵ２０、受信ポートスケジューラ２４、記述子ルックアップテーブル（ＤＬＴ）２６とポリサ２７と記述子マルチキャストディストリビュータ（ＤＭＤ）２９とを有するフレーム記述子マネージャ（ＦＤＭ）２５、中央データサーバ（ＣＤＳ）２８、パラメトリックメッセージコンストラクタ（ＰＭＣ）３１を有する送信パラメトリックメッセージスケジューラ（ＰＭＳ）３０、共通送信インターフェース３４に接続された複数の物理加入者ユニット３２、および複数の仮想リンク３６を備えることができる。
【００１２】
各ＲＩＵ２０は、１つのデータカップリング３８および少なくとも１つのデータキュー４０を介して共通受信インターフェース２２に接続され、物理受信ポート４２を規定する。データカップリング３８は、物理コネクタからデータフレームを受信する能力を有することができ、そして例えば、イーサネット（登録商標）ポートなどの物理コネクタ、および／またはメディアアクセスコントロール（ＭＡＣ）もしくはインターネットプロトコル（ＩＰ）ルーティングなどのソフトウェアもしくはプロトコルレイヤ互換性、またはシリアルインターフェースを含むことができる。集合的に、物理受信ポート４２は、受信物理インターフェース４４を規定する。限定した数の物理受信ポート４２を示したが、始めから１６個のポート４２を、例えば、イーサネット（登録商標）ポート４２とすることができ、残りの３２個のポートがＡＲＩＮＣ４２９インターフェース用である４８個の受信ポート４２を含む１つの実施例を含め、任意の数とすることができることが想定される。代わりの数のポートが想定され、同様に２つ以上のインターフェースの代わりの区分が想定される。ＡＤＳ１８は、複数の物理ＲＩＵ２０ならびに、仮想リンク３６データプロトコル、例えば、イーサネット（登録商標）、ＩＥＥＥ８０２．３、ＡＲＩＮＣ６６４第７部（Ａ６６４ｐ７）、ＣＡＮバス、ＡＲＩＮＣ４２９（Ａ４２９）、ＡＲＩＮＣ６６１、および他の古いプロトコル、等、とインターフェースをとることが可能である。インターフェースプロトコルは、物理インターフェースを有しても有さなくてもよく、例えば、ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉＦｉ（登録商標）などのワイヤレス技術を含むことができることが想定される。
【００１３】
共通受信インターフェース２２を、少なくとも１つの仮想受信ポート４６にさらに接続することができ、ここでは、ポート４６は、データキュー４０を介してインターフェース２２へ少なくともいくつかの生データを提供する。集合的に、仮想受信ポート４６は、受信仮想インターフェース４８を規定する。各物理および／または仮想受信ポート４２、４６は、共通受信インターフェース２２へ少なくともいくつかの生データを提供することが可能である。
【００１４】
受信ポートスケジューラ２４は、共通受信インターフェース２２から入力を受信し、ＦＤＭ２５およびＣＤＳ２８へ出力を提供し、そして到着時間（ＴｏＡ）レコーダ５０および受信ポートコンセントレータ５２をさらに備えることができる。ポリサ２７は、ＦＤＭ２５の動作をモニタするおよび／または影響を与えることができる。ＤＭＤ２９は、先入れ先出し（ＦＩＦＯ）設定で動作するパー送信ポート記述子キュー４３のセットへの出力接続を提供することができる。ＤＭＤ２９は、同じメッセージを１つよりも多くの物理加入者ユニット３２へ送信しようとする場合に、パー送信ポート記述子キュー４３のうちの１つよりも多くへ同じ記述子を書き込むことができる。各パー送信ポート記述子キュー４３を、キューフルネスインターフェース７０にさらに接続する。
【００１５】
ＣＤＳ２８は、少なくとも１つの環状バッファ５４、現在値テーブル（ＣＶＴ）５６、およびパラメトリックメッセージテーブル５８を記憶するためのメモリを備える。例えば、ＣＤＳ２８メモリは、ハードディスクドライブ、ソリッドステートドライブ、クワッドデータレート（ＱＤＲ）メモリ、または冗長用に配列された複数のメモリ素子を含むことができる。図示した実施形態では、ＣＤＳ２８は、３つの環状バッファ５４を備え、動作するデータレートによって各々が規定され、例えば、毎秒１０メガビット（Ｍｂｐｓ）環状バッファ６０、１００Ｍｂｐｓ環状バッファ６２、および毎秒１ギガビット（Ｇｂｐｓ）環状バッファ６４である。各環状バッファ５４では、最も古い記憶したデータを、受信ポートスケジューラ２４によって、出力から到着する最も新しいデータを用いて上書きする。
【００１６】
各物理加入者ユニット３２を、１つのデータカップリング３８およびパー送信ポートデータメッセージキュー４１のセットなどの少なくとも１つのデータキューを介して共通送信インターフェース３４に接続し、物理送信ポート６６を規定する。集合的に、物理送信ポート６６は、送信物理インターフェース６８を規定する。各物理送信ポート６６の各パー送信ポートデータメッセージキュー４１を、キューフルネスインターフェース７０にさらに接続する。共通送信インターフェース３４を、少なくとも１つの仮想送信ポート７２にさらに接続することができ、ここでは、ポート７２は、インターフェース３４からデータキュー４０を介してメッセージを受信する。集合的に、仮想送信ポート７２は、仮想送信インターフェース７４を規定する。各物理送信ポート６６を、１つのデータメッセージキュー４１であるが任意の数のパー送信ポート記述子キュー４３と関係付けることができることが想定され、図示した実施形態では、例えば、物理送信ポート６６、７２当たり１つのデータキュー４１および４つの記述子キュー４３を有することをともなう。
【００１７】
送信パラメトリックメッセージスケジューラ（ＰＭＳ）３０は、送信アービタ（ａｒｂｉｔｅｒ）、例えば、ルールベーススケジューラ７６をさらに備えることができ、送信アービタは、キューフルネスインターフェース７０を使用することができ、これからＤＭＤ２９によって提供された記述子を受信するためのパー送信ポート記述子キュー４３のうちの１つを決定する。ＣＤＳ２８から指定されたデータフレームを読み取り、確認するために、その記述子を使用する。フレームをこのように確認する場合には、ＰＭＳ３０は、ＣＤＳ２８から共通送信インターフェース３４を介して物理送信ポート６６へ出力をさらに提供することができ、物理送信ポート６６は、記述子をそこから受信したパー送信ポート記述子キュー４３に関係付ける。
【００１８】
送信パラメトリックメッセージスケジューラ（ＰＭＳ）３０は、パラメトリックメッセージコンストラクタ（ＰＭＣ）３１をさらに備えることができ、ＰＭＣ３１は、パラメトリックメッセージテーブル５８のコンテンツならびにＣＶＴ５６および／または（例えば、Ａ４２９マルチワードメッセージを含む場合には）環状バッファ５４に含まれるデータ値を使用することができ、加入者ユニット３２および／または送信ポート６６、７２による使用のためにメッセージの作成を始める。
【００１９】
ＰＭＳ３０、ルールベーススケジューラ７６、および／またはＰＭＣ３１は、例えば、ネットワーク上の汎用コンピュータ上で実行する実行可能なプログラム、または特定用途コンピュータ上で実行する実行可能なプログラムを含むことができる。あるいは、ＰＭＳ３０、ルールベーススケジューラ７６、および／またはＰＭＣ３１は、ハードコードされた機能論理デバイスを含むことができる。ルールベーススケジューラ７６は、パー送信ポート記述子キュー４３およびキューフルネスインターフェース７０から入力を受信することができ、ＰＭＳ３０がＣＤＳ２８から共通送信インターフェース３４へのメッセージを選択しかつ確認することを可能にする。あるいは、ＰＭＳ３０および／またはＰＭＣ３１は、パラメトリックメッセージテーブル５８を使用することができ、共通送信インターフェース３４へのメッセージ出力を作成するために、ＣＶＴ５６および／または環状バッファ５４からのどのデータ値を使用することができるかを選択することができる。パー送信ポート記述子キュー４３がＰＭＳ３０とは別であるように図示しているが、キュー４３を、ＰＭＳ３０および／またはルールベーススケジューラ７６内に含むことができる実施形態が、想定される。
【００２０】
仮想リンク３６は、ＡＤＳ１８の追加のローカルコンポーネントまたはリモートコンポーネントをさらに備えることができ、これによってメッセージを、仮想送信インターフェース７４から少なくとも１つのデータキュー４０および仮想リンク３６を介して送信することができ、受信仮想インターフェース４８によって受信することができる。示した例の仮想リンク３６は、メッセージについて処理またはコンピュータ処理機能を実行することが可能な少なくとも１つの分散型プロセッサ７８、アビオニックスディスプレイ用の（例えば、ＡＲＩＮＣ６６１ウィジェットを使用して）コンテンツを提供することが可能なグラフィックスレンダラ８０、古い航空機システムとのインターフェースを行うための仮想末端システム８２、冗長ストレージ用のネットワーク大量ストレージメモリ８４、またはＰＭＳ３０から１つまたは複数の送信ポート６８へメッセージを送信するためのメッセージループバックポート８６を含む。仮想リンク３６を、仮想リンクＩＤ（ＶＬｉｄ）を使用してさらに識別することができることが想定される。
【００２１】
ＡＤＳ１８は、スイッチング機能をサポートするように動作し、生データ値の任意のソースを航空機１０上の任意の宛先または加入者ユニット３２へ配信する必要性をサポートする。例えば、ＡＤＳ１８を通過する利点がないであろうある種のポイントツーポイントフローがあるので、本発明の実施形態は、すべての生データフローがＡＤＳ１８を通過しなければならないという必要条件を課すことを必ずしも必要としなくてもよいことが想定される。しかしながら、スイッチング機能、例えば、変換、インターワーキング、処理、同期化、トラフィックシェーピング、ポリシング、マルチキャスティング、等、を必要とすることがあるすべての生データフローは、ＡＤＳ１８が提供する機能から利益を得ることができる。加えて、確認および検証、または分散型処理のためにストレージデバイスまたはもう１つのＡＤＳ１８を介して追加のスイッチング能力、冗長安全対策、データミラーリングを提供するために、１つよりも多くのＡＤＳ１８を、同じ航空機１０またはデータ通信ネットワーク１６上に設けることができる。
【００２２】
各物理送信ポート６６を、多数のパー送信ポート記述子キュー４３を用いて構成することができ、ルールベースアービタ７６によって解釈されるようにメッセージの優先度に基づいて、パラメトリックメッセージスケジューラ３０によって使用されるように記述子のために多数のパスを提供することができることが想定される。各物理送信ポート６６は、任意の数のパー送信ポート記述子キュー４３に対応することができることが想定され、図示した実施形態では例えば、４つのキュー４３を有することをともなう。パー送信ポート記述子キューが１つだけの物理送信ポート６６または仮想送信ポート７２を受け持つことがさらに想定される。
【００２３】
各記述子キュー４３および各送信データキュー４１は、キュー４１、４３がどれだけ満たされているかを示す信号をキューフルネスインターフェース７０へ送信するように構成され、この信号はルールベースアービタ７６およびパラメトリックメッセージスケジューラ３０によって使用され、次の記述子を、どのパー送信ポート記述子キュー４３から受信すべきであるかを選択する。
【００２４】
ＡＤＳ１８の動作を説明する前に、ＡＤＳ１８全体を通して使用されるデータを簡単に検討することは、データ通信ネットワーク１６の動作を理解する際の助けになるであろう。最初に、ＲＩＵ２０は、ＡＤＳ１８へデータフレームを提供することができ、ここではデータフレームは、少なくとも識別子および対応する生データを有する。受信物理インターフェース４４および／または受信ポートスケジューラ２４のうちの少なくとも一方は、受信したデータフレームを、識別子、または解析した記述子、および解析した対応する生データへと解析する。生データの目的、例えば、どこへデータを送信すべきであるか、またはどこからデータを送信するかを特定しかつ記述するために、ＡＤＳ１８によってさらに更新することができる解析した記述子を使用し、一方で解析した生データは、ペイロードを含む。ＡＤＳ１８は、生データの位置を特定するために記述子を後で使用し、送信ポート６６、７２によって使用するために、記述子および／または生データをオペレーションデータまたはメッセージへと作成するまたは計算することができる。
【００２５】
一例では、ＡＤＳ１８の動作は、非同期的に接続されたＲＩＵ２０からデータフレームを受信し、ＣＶＴ５６または環状バッファ５４などのＣＤＳ２８メモリに生データを記憶し、記憶したデータフレームからメッセージを形成し、そして形成したメッセージを少なくとも１つの加入者ユニット３２へ送ることが可能である。加えて、フレーム用の対策として働く、直接ループバック能力があり、フレームスイッチング用の受信ポートのところに現れるようにパラメトリックコンストラクタ３１によって作成される。ＡＤＳ１８の個別の部分およびＡＤＳ１８動作が、詳細に説明されるであろう。
【００２６】
受信物理インターフェース機能
先ず、データを、１つまたは複数の物理インターフェースポート４２のＲＩＵ２０から共通受信インターフェース２２へ提供する。受信物理インターフェース４４は、例えば、データカップリング３８の一部として、特定の物理受信ポート４２によって提供されるデータまたは類似の信号を、データストリームまたはデータフレームへと変換することが可能なコンポーネントを含むことができ、データストリームまたはデータフレームは、ＦＩＦＯ受信データキュー４０に記憶される。この例では、データカップリング３８は、下記の受信機能すなわち、破壊したワード／フレーム／データを削除すること、非ＩＰデータフレーム（例えば、ペイロードタイプ／０ｘ０８００に等しくない長さフィールド）を削除することが可能である、データの最初のバイトの到着時間をタイムタグすること、ならびに後続の伝送および処理をペンディングにするデータフレームを待ち行列に入れることを実行することができる。データフレームとして生成されることがあるいくつかの出力は、受信ポート４２、４６に入り、キュー４０は、データフレームが指定された受信ポート４２、４６にだけ入ることを強調する到着ポート（ＰｏＡ）、最初のワードの到着時間（ＴｏＡ）、（下記に説明する受信ポートスケジューラ２４のＴｏＡレコーダ５０に関する）完了したフレームのＴｏＡ用の１ビットパルス、フレームが読み出されたときにフレーム描写のためのフレームの開始指標およびフレームの終了指標、ならびにバイト数でのフレーム長である。
【００２７】
ＲＩＵ２０への外部インターフェース用のイーサネット（登録商標）パラダイムを使用して、例として、各物理受信ポート４２に関するデータカップリング３８は、メディアアクセスコントローラ（ＭＡＣ）の受信部に似ており、上に名前を挙げたパラメータを生成し、記憶し、再生するための補助的な論理回路を有し、１つまたは複数のキュー４０、例えば、データＦＩＦＯキュー４０およびフレーム記述子ＦＩＦＯキュー４０に接続される。
【００２８】
受信ポートは、単に外部受信物理インターフェース４４に関係付けられるものだけではなく、同様に、インターワーキング（例えば、仮想末端システム８２、パラメトリックメッセージコンストラクタ３１）などの仮想リンク３６、分散型プロセッサ７８、およびグラフィックスレンダラ８０の出力に関係付けられたものなどの内部または受信仮想インターフェース４８から構成されることが想定される。
【００２９】
運転状態モニタリングの目的で、ポート毎の統計値を、受信物理インターフェース４４またはデータカップリング３８によって維持管理することができる。これらは、受信したフレーム数、例えば、巡回冗長検査（ＣＲＣ）エラーのために破棄したフレーム数、破棄した小さな（＜６４バイト）フレーム数、および／またはポートにおいて許容される最大フレームサイズを超える破棄したフレーム数を含むことができる。同様に、統計値を、入力ポートスケジューラ２４よってＦＤＭ２５へ提供する特定のフローインデックスに関付けられる渡したまたは破棄したフレーム数を指示するポリサ２７によって維持管理することができる。
【００３０】
受信スケジューラ
受信ポートスケジューラ２４は、受信物理および／または仮想インターフェース４４、４８から受信した生データをＦＩＦＯ順へと体系化し、完了したデータフレーム到着をペンディングにする。この意味で、ＡＤＳ１８のスイッチング部分を、ストアアンドフォワード設計とすることができ、その結果、様々なサイズの大きなデータフレームが、異なる受信ポート４２、４６に到着した後に、ＣＤＳ２８などの中央メモリ内に連続して記憶することが可能である。ＡＤＳ１８は、マスタ時間を提供し、これは、ＣＤＳ２８、ＣＶＴ５６、ＰＭＳ３０、および／もしくは加入者ユニット３２を含む様々な航空機コンポーネント、またはデータ通信ネットワーク１６の多数のＡＤＳ１８の全体にわたって同期させることも同期させないこともあることが想定される。受信ポートスケジューラ２４はまた、任意選択でフレーム記述子管理（ＦＤＭ）機能を制御することができ、ここでは例えば、データフレームを、識別子または記述子、および対応する生データを含む別々の部分へと解析することができる。
【００３１】
到着時間レコーダ
受信スケジューラ動作は、ＴｏＡレコーダ５０および１つまたは複数の受信ポートコンセントレータ５２をやはり含むことができる。ＴｏＡレコーダ５０は、ＡＤＳ１８のマスタ時間信号に基づいて、どの受信ポート４２、４６のデータフレームを次に記憶するかを決定する。受信ポートコンセントレータ５２は、２つのＣＤＳ２８宛先のうちの少なくとも一方に、（キューイングタイプのデータのケースでは）可能性のある多くの環状バッファ５４のうちの１つ、またはサンプリングタイプのデータのケースではＣＶＴ５６（下記に説明する）に、到着するデータフレームまたはＡ４２９ワードを集中させる。
【００３２】
例えば、データフレームまたはＡ４２９ワードがその物理受信ポート４２のデータキュー４０に完全に到着するときにはいつも、１ビットパルスを、受信スケジューラ２４のＴｏＡレコーダ５０へ送ることができ、データフレームの完了時間を記録することができる。前に到着したデータフレームを他のポート４２、４６のデータキュー４０の外へ転送する間に、いくつかの短い生データフレームにとっていずれかの所与のポート４２、４６に到着することが可能である。この理由で、ＴｏＡレコーダ５０は、例えば、ポート４２、４６毎にデータフレーム当たりたった１ビットを使用することができるが、これはすべてのポート４２、４６について相対的な完了時間の組合せを正確に表すことが想定される。あるクロックサイクル中にポート４２、４６のいずれかへのフレームの完了した到着を集合的に表すビットを、到着時間ワード（ＴＡＷ）へと体系化することができる。
【００３３】
データフレームまたはＡ４２９ワードが受信ポート４２、４６のところに到着し終わる毎に、その入力ポート４２、４６に専用のラインをトグルで切り替えることができ、かつＴＡＷのビットを設定することができる。同様に、あるクロックサイクル中の任意の完了した到着は、全体のＴＡＷをＴｏＡレコーダ５０へと書き込むようにさせることができ、ＦＩＦＯ順に到着ＴＡＷ値を体系化する。あるクロックサイクル中に新しいデータフレームまたはＡ４２９ワードの完了がない場合には、ＴＡＷは、ＴｏＡレコーダ５０に書き込まれない。あるいは、データフレームまたはＡ４２９ワードが同じクロックサイクル中に多数のポートに同時に到着し終わる場合には、ＴｏＡレコーダ５０へと書き込む１ビットよりも多くのＴＡＷを設定することができる。
【００３４】
受信ポートコンセントレータ５２は、ＴｏＡレコーダ５０の出力部のところで利用可能な最も古いＴＡＷワードを受信し、どのデータフレームまたはＡ４２９ワードが最初に到着を完了したかを決定する。受信ポートコンセントレータ５２は、このようにポートセレクタとして作用し、ポートセレクタは、どの受信ポート４２、４６のデータフレームを次に処理し、ＣＤＳ２８へ転送するかを決定する。クロックサイクルの分解能内で異なるポートに同時に到着を完了したフレームまたはワードおよびＴｏＡレコーダ５０から受信したＴＡＷは、多数のビットセットを有するであろうことが可能である。そのケースでは、次のＴＡＷワードをＴｏＡレコーダ５０の出力から受信する前に、受信スケジューラ２４は、例えば、ラウンドロビン順で、同時に到着を完了したデータフレームのすべてのポートを使えるようにするであろう。この動作は、受信ポートのデータ到着レートおよび／またはデータフレームサイズに無関係にすべての受信ポート４２、４６に対するデータレートの公平さを保証することができる。
【００３５】
受信ポートコンセントレータ
受信ポートスケジューラ２４用に３つの受信ポートコンセントレータ５２がある場合がある。例えば、１つの受信ポートコンセントレータ５２は、解析したイーサネット（登録商標）フレームまたは生データを、そのストレージ情報ならびにＤＬＴ２６およびポリサ２７に提供したフロー識別子とともに１つまたは複数の環状バッファ５４へと書き込むために集中させることができ、これは、ＤＭＤ２９によって記述子キュー４３へと書き込み、そしてＰＭＳ３０によってそのように行うことをスケジュールされると、ルールベーススケジューラ７６によって使えるようにされる記述子を結果としてもたらすことができる。
【００３６】
第２のコンセントレータ５２は、ＰＭＳ３０および／またはＰＭＣ３１による後の利用のために、ＣＶＴ５６へとイーサネット（登録商標）フレーム、生データ、および／またはＡ４２９ワードを集中させることができる。第３のコンセントレータ５２は、生データのサンプルの時間順および／またはＡ４２９ワードの順番を保護するために、生データおよび／またはＡ４２９ワード（例えば、マルチワードメッセージを含むもの）をＦＩＦＯとして体系化された１つまたは複数の環状バッファ５４へと集中させることができる。これらを、以降Ａ４２９出力キューと呼ぶ。
【００３７】
一旦、特定の受信ポートをＴｏＡレコーダ５０による運用のために選択すると、受信ポートコンセントレータ５２は、選択した受信ポート４２、４６からＣＤＳ２８のＣＶＴ５６もしくは環状バッファ５４のうちの少なくとも１つおよび／またはＦＤＭ２５への解析した生データの転送を調整する。
【００３８】
フレーム記述子マネージャ
受信物理インターフェース４４機能によって生成したフレームヘッダ、フレーム長、ＴｏＡおよびＰｏＡは、ＦＤＭ２５によって使用され、データフレーム用の記述子を作成し、パー送信ポート記述子キュー４３のセットへその記述子をブロードキャストする。ＦＤＭ２５は、ＣＤＳ２８に書き込んだ各イーサネット（登録商標）フレームまたはＡ４２９ワードのフレームポインタのヘッド（解析したデータのアドレスを識別するための、ＨＯＦｐｏｉｎｔｅｒ）およびフレームストレージ時間（解析したデータをどれだけ長く満足できる程度に記憶することができるかを識別するための、ＴｏＦＳ）をやはり受信することができる。記述子配信のためにＤＭＤ２９によって使用される２つの異なるルーティングパス、１つはイーサネット（登録商標）フレーム用、１つはＡ４２９データワード用、がある。加えて、これらのパスの各々について異なる記述子がある。
【００３９】
フレーム記述子マネージャＦＤＭは、データパスルックアップテーブル（ＤＬＴ）２６、ポリサ２７、および同じ記述子が多数のパー送信ポート記述子キュー４３に書き込まれることを可能にする記述子マルチキャストディストリビュータ（ＤＭＤ）２９から構成される。ＤＭＤ２９を、ＤＬＴ２６によって出力されるビットの集合によって制御し、このビットの集合は、どのパー送信ポート記述子キュー４３に記述子を書き込むべきかを識別する。
【００４０】
受信ルックアップテーブル
受信ルックアップテーブルを受信ポートスケジューラ２４へと組み込むことができ、データフローを識別し、かつ受信ポート４２、４６のうちの１つから始まる各フローに固有のインデックスを割り当てるために使用することができる。このインデックスは、様々なデータパスストレージおよび制御機能のためのフロー識別子として働く。例えば、インデックスは、ポリシングパラメータおよびルーティングビットを検索するためにＤＬＴ２６のためのキーとして働き、ルーティングビットは、ＤＭＤ２９がフレーム記述子をどのキュー４３へと記憶することができるかを指示する。ＣＤＳ２８内のフレームデータをどのアドレスに記憶するかを検索するために、インデックスをやはり使用し、例えば、環状バッファ５４の最新のオフセットアドレスを検索し記憶するためにインデックスを使用することができる。受信ルックアップテーブルは、ランダムアクセスメモリ、ハッシングロジックおよびメモリ、またはコンテントアドレッサブルメモリ（ＣＡＭ）を含むことができ、ＣＡＭの出力、フローインデックス、またはキーを、ポート番号および受信したデータフレームの選択したビットによって決定する。例えば、パー物理イーサネット（登録商標）ポートベースで、ＵＤＰ／ＩＰ／ＭＡＣヘッダのどのビットがデータフローのタイプを識別するかを指示するために、設定選択肢を提供することができる。あるいは、ＡＲＩＮＣ４２９データフローを、ＡＲＩＮＣ４２９ワードの８ビットラベルと結び付けられた着信ＡＲＩＮＣ４２９物理ポート番号によって識別することができる。
【００４１】
このフローインデックスは、偽装またはデータ破壊に対するフェイルセーフ保護をやはり提供することができる。例えば、ＤＬＴ２６出力は、あるフレームについての予想される到着ポート（ＥＰｏＡ）を示すフィールドを含むことができる。検査を、受信物理インターフェース４４によって報告されるような、そのフレームが到着した実際のポート番号に対して行うことができる。これらが一致しない場合には、フレームを破棄することができる。
【００４２】
ＡＲＩＮＣ４２９インターフェースに関して、Ａ４２９タグおよびポート番号を結び付け、出力をフローインデックスとすることができる別のルックアップテーブルにアクセスするために使用する。
【００４３】
フローインデックスを使用して、開始位置およびフレーム長を、ＣＤＳ２８書込み機能のために提供し、その結果、生データフレームのコンテンツを、正しいベースアドレスで始まりＣＤＳ２８位置の適正な数にわたって書き込むことができる。
【００４４】
フロー識別子は、ルーティング、ポリシング、およびＤＬＴ２６内に記憶したストレージパラメータテーブルを扱う。このＤＬＴ２６の出力ビットフィールドは、データソースおよびどこに記憶するかに応じて、様々な解釈を行うことができる。イーサネット（登録商標）フレームを、ＣＤＳ２８の環状バッファ５４またはＣＶＴ５６領域に記憶することが可能である。Ａ４２９データワードを、ＣＶＴ５６に記憶することが可能である、または４８個の送信Ａ４２９キューのうちの１つに直接送ることが可能である、または両方が可能である。宛先加入者ユニット３２が、バックツーバックＡ４２９メッセージの一時的なエイリアシングまたは同じＡ４２９メッセージに属する重複したワードをフィルタリングすることを防止する方法を持たない限り、Ａ４２９マルチワードメッセージをＣＶＴ５６に記憶しないことがある。
【００４５】
一例では、フローインデックスによって選択されるＤＬＴ２６出力は、ＣＤＳ２８バッファベースアドレスに加えてこのベースアドレスがＣＶＴ５６位置を参照するかどうかを示す１ビット、環状バッファ５４ＩＤ、環状バッファ５４サイズ、仮想リンク（ＶＬ、例えば、仮想送信ポート７２）アカウント識別子（ＶＬａｃｃｔＩＤ）、データだけがその指定された受信ポートに入ることを強要する予想されるＰｏＡ（ＥＰｏＡ）、これがＡＲＩＮＣ４２９ワード記述子であるかどうかを示す１ビットフィールド、どちらの送信ポート６６、７２がフレームを受信するかを示すポートマスクビットベクトル、記述子を書き込もうとするパー送信ポート記述子キュー４３の優先度を示すビットフィールド、フレームベースポリシングのためのＡ６６４ｐ７帯域幅割当てギャップ（ＢＡＧ）、ポリシング破棄ビットおよびポリシングバイパスビット、ならびにフレームベースポリシングの最大フレーム長（Ｓｍａｘ）または上に述べたＣＶＴ位置ビットに応じたＣＶＴ５６フレーム長についてのジター許容誤差（ＪｉｔｔｅｒＴ）、の任意の組合せを含むことができる。
【００４６】
ＣＤＳ２８書込み制御機能は、２つのタイプの書込み動作、すなわちＣＶＴ５６書込み動作および環状バッファ５４書込み動作をサポートする。ＤＬＴ２６出力は、ＣＶＴ位置ビットを有し、ベースアドレス内の値がＣＶＴ５６位置であるかどうか（例えば、ＣＶＴ位置ビット＝１であるかどうか）を示す。ＣＶＴ５６書込み動作を指示する任意の所与のフローインデックスに関して、ＣＶＴ５６へと書き込んだフレームは、常に同じサイズのものであるべきである。ＣＶＴ５６ビットもまた、Ｓｍａｘフィールド内の値がＣＶＴ５６フレームの固定長、または可変長フレームの最大フレームサイズ（Ｓｍａｘ）であるかどうかを指示し、これは非ＣＶＴ５６フレームのケースではポリサ２７によって強調される。ＣＶＴ５６フレームに関して、物理インターフェース機能によって計算されたフレームサイズが、Ｓｍａｘフィールド内の値に正確に一致しない場合には、ＣＶＴ５６フレームを破棄することができる。同様に、非ＣＶＴ５６フレームに関して、フレームサイズがＳｍａｘよりも大きい場合には、フレームを破棄することができる。
【００４７】
ＣＶＴ５６書込み動作のケースでは、フレームの位置および長さは、事前に決定されるまたは固定である。最も最近受信したフレーム内の値は、以前に受信したフレーム内の値を単に上書きする。ＤＬＴ２６の出力は、ＣＶＴ５６へと書き込むべきフレームのベースアドレスおよび長さを直接提供する。データがＣＶＴ５６メモリへと書き込まれるかどうかを、すなわち、受信ポートスケジューラ２４の受信ルックアップテーブルによって決定されるフローインデックスが、所与の物理受信ポート４２に到着することを認められるかどうかを、そのＰｏＡによって決定するまたはポリシングする。物理受信ポート４２上の非認可のフローは、ＣＶＴ５６へと書き込まれることを妨げられることによってＣＶＴ５６メモリを破壊することを許されないことがある。さらにその上、上に述べたように、受信物理インターフェース４４によって計算されたフレーム長がＳｍａｘフィールドに一致しない場合には、フレームを破棄することができる。
【００４８】
ＣＶＴ５６に書き込まれるサンプリングポートデータを含むイーサネット（登録商標）フレームをミラーリングすることが可能であり、そのように他のＡＤＳ１８は、同じデータを記憶するまたはミラーリングすることができることに留意すること。このミラーリングを、例えば、もう１つのＡＤＳ１８に接続された物理送信ポート６６へメッセージを提供することによって実現することができる。あるいは、データミラーリングを、例えば、仮想受信または送信ポート４６、７２としてすべてのＡＤＳ１８にアクセス可能であり得る集中型データストレージデバイスを使用して実現することができる。この一例を、ネットワーク大量ストレージ８４仮想リンク３６として示す。Ａ４２９ワードをＣＶＴ５６位置に記憶し、これをＡ４２９出力キュー４１のうちの１つまたは複数に書き込むこともやはり可能である。受信Ａ４２９リンクのうちの１つに到着するＡ４２９ワードは、しかしながら、ＰＭＣ３１を使用してイーサネット（登録商標）フレームへと最初に圧縮されない限り、イーサネット（登録商標）ポートを出ることができない（下記に説明する）。
【００４９】
書込み動作が環状バッファ５４書込み動作であることを、ＤＬＴ２６出力が示す場合には（例えば、ＣＶＴ位置ビット＝０である場合には、非ＣＶＴ５６フレームを示す）、例えば、ＤＬＴ２６出力のフィールドから取得される環状ベースアドレスおよび受信ポートスケジューラ２４によって維持管理される環状バッファオフセットテーブルによって決定されるような次に利用可能な環状バッファ５４メモリ位置に、フレームを書き込むことができる。ベースアドレスおよびオフセットアドレスを、環状バッファ５４内で書き込まれるべき次の位置を追跡するために使用することができる。
【００５０】
各環状バッファ５４のベースアドレスを、ＤＬＴ２６出力のメモリベースアドレスフィールドによって決定する。ＤＬＴ２６出力のもう１つのフィールドは、環状バッファサイズを示す。環状バッファ５４へと書き込まれた任意のデータワードのアドレスは、環状バッファ５４ベースアドレスおよび環状バッファオフセットの合計である。環状バッファオフセットは、環状バッファベースアドレスを固定したままで各ワードを書き込んだ後で環状バッファ５４サイズを法として増加される。データフレームまたはＡ４２９ワードの最後のワードを環状バッファ５４へと書き込んだ後で、次の位置のオフセットアドレスを、フローインデックスによって指示された環状バッファオフセットテーブル内の位置に記録し、同じ環状バッファ５４へと書き込まれる次のフレームの開始オフセットとして利用できるようにする。
【００５１】
本発明の実施形態を制限しないが、図示した実施形態は、８Ｋ深さの２５６個の環状バッファを有することができる。例として、これは環状バッファ５４を各物理受信および／または送信ポート４２、６６に対して作ることを可能にすることができる。代替例として、環状バッファ５４を、各フローインデックス毎に作ることができる。さらにもう１つの例として、各環状バッファ５４は、仮想出力ポートまたは仮想トランクの集合を表すことができる。「トランク」は、仮想ポートの送信セットに関係付けられる。これらの仮想ポートを、物理送信ポート６６または仮想出力ポート７２の任意のセット上へとマッピングすることが可能である。例えば、同じＡＲＩＮＣ６５３（Ａ６５３）アビオニクスアプリケーションは、例えば、エアーデータを処理するアプリケーションは、可用性の理由で多数の列線交換ユニット（ＬＲＵ）上に存在することができる。これらを、ＡＤＳ１８の異なる物理送信ポート６６に接続することができる。しかし、アプリケーションのインスタンスのすべてを、１つのトランクグループを形成するように設定することができ、その結果、すべてのインスタンスは同じ環状バッファ５４を共有し、他のＡ６５３アプリケーションとはデータおよび帯域幅必要条件を完全に分離することができる。このように、このレベルのグラニュラリティは、環状バッファ５４が（分散型の）Ａ６５３アプリケーション毎に割り当てられることを可能にする。
【００５２】
データを環状バッファ５４へと書き込むときはいつでも、記述子マルチキャスト配信機能は、バッファ５４内の関係するデータフレームのストレージの位置を示す記述子を複製する。加えて、ルールベーススケジューラ７６および／またはＰＭＳ３０は、送信スケジューリング機能を動作させることができ、この機能は、そのようにすることが想定される場合に、各物理送信ポート６６がフレームのコピーを受信することを確実にする。
【００５３】
図示した構成では、３つだけの環状バッファ５４を使用する。これらを、物理送信ポート６６または共通環状バッファ５４と同じデータレートを有する加入者ユニット３２に関係付けることよって割り当てる。これは、Ａ６６４ｐ７キューイングタイプデータフレームに関して中央バッファの最も効率的な（共有メモリ）利用を提供する。この構成では、すべての１０Ｍｂｐｓ物理送信ポート６６は、１つのトランクグループ（１０Ｍｂｐｓ環状バッファ６０）を形成することができ、すべての１００Ｍｂｐｓ物理送信ポート６６は、もう１つのトランクグループ（１００Ｍｂｐｓ環状バッファ６２）を形成することができ、そしてすべての１０００Ｍｂｐｓ（１Ｇｂｐｓ）物理送信ポートは、トランクグループ（１Ｇｂｐｓ環状バッファ６４）を形成することができる。３つの環状バッファ６０、６２、６４があるが、そしてデータフレームを異なるデータレートを有する物理送信ポート６６に向けることができるが、ＣＤＳ２８は、フレームの１つのコピーを記憶するだけであろう。フレームを書き込む環状バッファ６０、６２、６４は、そのフレームを複製しようとする最も遅い物理送信ポート６６のデータレートに対応する。簡潔さの目的で、この文書の残りは、同じ送信データレートを有する物理送信ポート６６のセット、すなわち１０Ｍｂｐｓ６０、１００Ｍｂｐｓ６２、または１Ｇｂｐｓ６４、毎に１つの環状バッファ５４があることを仮定するであろう。
【００５４】
ポリシング機能
ポリシング機能を、ポリサ２７によって実行し、ポリサを、ステートマシンによって制御されるＦＤＭ２５内の特定用途ハードウェアロジックパイプラインとすることができる。ポリサ２７機能は、着信データがＡ４２９データワードであるかまたはイーサネット（登録商標）フレームであるかどうかに依存する。ポリサ２７は、イーサネット（登録商標）フレーム記述子が、記述子マルチキャストディストリビュータ２９へと渡されることを認められるかどうか、および着信データが、ＣＤＳ２８のＣＶＴ５６または環状バッファ５４領域内のいずれかに記憶されることを認められるかどうかを決定する判断を行う。定義によって、ＡＲＩＮＣ４２９フレームは、記述子マルチキャストディストリビュータ２９用のイーサネット（登録商標）フレーム記述子を生成しない。この例では、受信ポートスケジューラ２４は、ＣＤＳ２８をバイパスする別のデータパスのために別の記述子を提供することができる。もう１つの例では、ポリサ２７は、Ａ４２９データワードをＣＶＴ５６に記憶することができるかどうかを決定することができる。
【００５５】
ＣＶＴ５６内に記憶するように想定されたデータフレームに関して、フレーム長が想定したフレーム長に等しくない場合には、フレームを破棄する。ＢＡＧまたはジター許容誤差ポリシングは強調される必要がない。
【００５６】
環状バッファ５４内に記憶されかつポリシングされるように想定されるデータフレームに関して、ポリサ２７は、ＤＬＴ２６のＶＬａｃｃｔＩＤを使用してセカンダリルックアップを実行して、ＢＡＧおよびジター許容誤差制約を強調するためにそのＶＬａｃｃｔＩＤを有する前のフレームの到着時間を決定する。フレームのＥＰｏＡがＰｏＡと一致しない場合、またはフレーム長が仮想リンク（ＶＬ）に対して想定される最大フレーム長、Ｓｍａｘ、を超える場合、またはＢＡＧ／ジター違反がある場合には、ポリサ２７は、現在のフレーム記述子のマルチキャスト配信をディスエーブルにすることができ、ＣＤＳ２８へのフレームの書込みを回避することができる。
【００５７】
環状バッファ５４に入るデータの最大総計レートが、そのバッファから外へのデータを受信する最も遅い（おそらく仮想）ポートについての最小の必要な有効時間（ｔｉｍｅ−ｔｏ−ｌｉｖｅ）を確実にするために必要なものよりも低いことを確実にするために、ポリサ２７内のフレームベースＢＡＧおよびジター許容誤差ポリシングを使用することができる。データ通信ネットワーク１６内の送信ポート６６、７２がその帯域幅および遅延バジェットを超えないことを確実にするために、フレームベースＢＡＧおよびジター許容誤差ポリシングをやはり使用することができる。所与のＶＬａｃｃｔＩＤ用に設定した最大データレートを超えていること、すなわち、設定したＢＡＧまたはジター許容誤差を満足しないことを、ポリサ２７が決定する場合には、記述子がパー送信ポート記述子キュー４３に書き込まれることを防止することができ、これによってフレームが物理加入者ユニット３２へ送信されることを防止する。
【００５８】
例として、ポリサ２７は、ＤＬＴ２６から取得した６つの値、すなわち制御ビット（Ｃｔｒｌ）、ＶＬａｃｃｔＩＤ、予想される到着ポート（ＥＰｏＡ）、ならびにイーサネット（登録商標）フレーム記述子が記述子マルチキャスト配信機能へと渡されることを認められるかどうかおよび着信データがＣＤＳ２８に記憶されることを認められるどうかを決定するための、最大フレームサイズ（Ｓｍａｘ）、帯域幅割当てギャップ（ＢＡＧ）、およびジター許容誤差（ＪｉｔｔｅｒＴ）を使用することができる。Ａ６６４ｐ７は、多数の仮想リンク（ＶＬ）が同じＶＬアカウントに属すること、すなわち、同じＶＬａｃｃｔＩＤを有することを認め、これによって、そのＶＬａｃｃｔＩＤ用に設定されたＳｍａｘ、ＢＡＧおよびＪｉｔｔｅｒＴを使用して一緒にポリシングされることを認める。ポリサ２７は、現在の時間Ｔを追跡し続ける時間マネージャを含む受信スケジューラ２４から、実際の到着ポート（ＰｏＡ）、到着時間（ＴｏＡ）、現在の時間（Ｔ）、およびフレーム到着指標を取得する。
【００５９】
記述子マルチキャスト配信
記述子マルチキャストディストリビュータ（ＤＭＤ）２９は、ＤＬＴ２６によって出力されたポートマスクビットの集合を使用して、パー送信ポート記述子キュー４３のどのセットがフレーム記述子のコピーを用いて書き込まれるかを決定する。記述子の１つのコピーは、ＰＭＳ３０によって環状バッファ５４から読み出されるべきフレームのコピーを受信すべき各ポート６６、７２に対して書き込まれる。ＰＭＳ３０が特定の送信ポート６６に対してルールベーススケジューラ７６の動作をスケジュールすると、ＣＤＳ２８からフレームを読み出しかつ物理送信ポート６６へフレームを送信するためにその出力を使用することができるパー送信ポート記述子キュー４３を選択する。ＣＶＴ５６に記憶されたイーサネット（登録商標）フレームおよびＡ４２９データワードは、これらの配信がＰＭＳ３０およびＰＭＣ３１によって制御されるので、ＤＭＤに依存しない（下記に説明する）ことに留意することができる。
【００６０】
切り替えたデータフレーム用にＤＭＤ２９によって出力された記述子は、フレームの最初のワードの位置（ＨＯＦｐｏｉｎｔｅｒ）、フレームストレージ時間（ＴｏＦＳ）、フレーム長、優先度（Ｐ）、およびポートマスクを含むことができる。ＤＭＤ２９がＤＬＴ２６から受信したポートマスクおよび優先度を使用して、ＤＭＤ２９は、送信ポート当たりのビット優先度を生成して、どのパー送信ポート記述子キュー４３が切り替えたデータフレーム記述子のコピーおよびその記述子を配置すべきキュー４３の優先度を受領することになるかを指示する。例えば、ＡＤＳ１８から受信しなかった各パラメトリックデータフレームのコピーをもう１つのＡＤＳ１８にミラーリングすることを確実にするために、この機構を使用することができる。逆に、パラメトリックデータフレームをもう１つのＡＤＳ１８から受信する場合には、パラメトリックデータフレームをローカルＣＶＴ５６に記憶することができるが、ＡＤＳ接続された送信ポートに対応する各ポートマスクビット値をゼロに設定するという理由で（すなわち、送信ポート６６、７２を識別することに失敗することによって）、パラメトリックデータフレームを他のＡＤＳ１８に再配信しない。ＡＤＳ接続された送信ポートに対応する各ポートマスクビット値をゼロに設定することによって、メッセージが、データ通信ネットワーク１６上での帯域幅過負荷をもたらすことがある多数のＡＤＳ１８間に漫然と伝わることを防止することができる。
【００６１】
パラメトリックデータを含むフレーム（例えば、Ａ／Ｄ値、ＡＲＩＮＣ４２９ワード、（１つまたは複数の）離散したビットの値、等を有するイーサネット（登録商標）フレーム）を、ＣＤＳ２８のＣＶＴ５６領域内の専用の所定の位置に記憶することができる。典型的な航空機上では、２つから４つのＡＤＳ１８がある場合があり、これらは、機体内の他のＡＤＳ１８のコンテンツをミラーリングする能力を各ＡＤＳ１８に提供するための機構を含む。ＣＶＴ５６へと書き込まれた（しかし、もう１つのＡＤＳ１８から受信しなかった）各パラメトリックフレーム用の記述子を、もう１つのＡＤＳ１８に接続された各送信ポート６６、７２の最も高い優先度のパー送信ポート記述子キュー４３上へと複製することができる。下記に説明するように、いずれかの仲間のＡＤＳ１８が最も最近のフレームのコピーを受信することを、ルールベーススケジューラ７６の運用規律は確実にするであろう。
【００６２】
中央データサーバ書込み制御機能
ＤＭＤ２９と同時に、ポリサ２７がＣＤＳ２８に宛てたフレームを渡す場合には、フレームを環状バッファ５４またはＣＶＴ５６に記憶する。ＣＤＳ２８書込み制御機能への入力は、フレームストレージ時間（ＴｏＦＳ）、受信物理インターフェース４４機能からのフレーム長、加えて受信ポートスケジューラ２４およびＤＬＴ２６からの環状バッファ５４またはＣＶＴ５６メモリ位置を含むことができる。環状バッファ５４またはＣＶＴ５６メモリ位置は、アドレスカウンタの初期値になり、フレームの記述子に含まれるべきＤＭＤ２９へ提供するフレームポインタのヘッド（ＨＯＦｐｏｉｎｔｅｒ）になる。読出しにおいてフレーム確認のために使用するＴｏＦＳを、ＣＤＳ２８メモリ内にフレームに属する最初のワードとして記憶することができ、すべての後続のフレームデータワードは、例えば、６４データビットに加えてＥＣＣとして１回に１つ書き込まれるように続き、アドレスカウンタを各書込みの後で増加することをともなう。書込み制御は、実施した書込みのバイト数を受信物理インターフェース４４から取得したフレーム長と比較する。これは最後のワードを書き込むまで続く。書き込まれた最後のワードは、完全な６４ビットワードではないことがあり、この場合には、最後のワードを、有効なＥＣＣとともに６４情報ビットに埋め込むことができる。
【００６３】
説明したように、ＣＤＳ２８書込み制御機能を、それぞれ１０Ｍｂｐｓ、１００Ｍｂｐｓ、または１Ｇｂｐｓ送信ポート６６、７２に宛てられたフレームに記憶するための専用の３つの異なる環状バッファ６０、６２、６４に対して設定することができる。フレームの１つだけのコピーを常に記憶し、一方で、フレームを参照する記述子の多数のコピーを、パー送信ポート記述子キュー４３へマルチキャストすることができる。フレームを記憶することができる環状バッファ６０、６２、６４は、そのフレームをコピー／マルチキャストしようとする最も遅い送信ポート６６、７２に依存する。これらの環状バッファ６０、６２、６４の各々に記憶した連続するフレームは、最も古いフレームのワードが最も新しいフレームによって上書きされる状態で、バッファ６０、６２、６４内に連続して記憶される。データを環状バッファ６０、６２、６４に書き込むときには、物理受信インターフェース４４機能によってそのフレームについてカウントしたバイト数（例えば、ＦｒａｍｅＬｅｎｇｔｈ入力）によって、フレーム長を決定する。適正に提供された決定的システムでは、マルチキャストすることがそのすべての送信ポート６６、７２に対して完了しなかったフレームの環状バッファ６０、６２、６４への早まった上書きは、決して生じないはずであることが想定される。それにもかかわらず、ＤＭＤ２９によってキュー４３へと書き込まれた記述子に含まれたＴｏＦＳ値との、ＣＤＳ２８へのフレームのヘッドのところに書き込まれた最初のワードであった６４ビットタイムスタンプＴｏＦＳのミスマッチによって、上書きを容易に検出することができる。ミスマッチの場合には、フレームを破棄することができる。ＣＤＳ２８からフレームを読み出すために使用した記述子が、もう１つのフレームによって上書きされた位置を読み取らないことを確認するために、追加の検査を実行することができる。例えば、キュー４３へと書き込まれ、かつＣＤＳ２８にデータフレームとともに記憶された記述子内に追加のフレームヘッダビットを含ませることによって、例えば、宛先ＭＡＣアドレスを検査することができる。
【００６４】
ＤＬＴ２６からのビットは、データフレームから解析したデータが、サンプリングタイプデータ用に確保されるスタティックＣＶＴ５６メモリ位置または環状バッファ６０、６２、６４へと書き込まれるかどうかを示す。ＣＶＴ５６位置ビットが、例えば、１に設定されると、ＣＤＳ２８ベースアドレスは、ＣＶＴ５６位置を示し、Ｓｍａｘ／ＦｒａｍｅＳｉｚｅ値は、そのベースアドレスのところで始まり記憶されるべき事前に設定したフレームサイズとして解釈される。この例では、フレーム長は一定であり、受信ポートスケジューラ２４のポリシング機能は、受信インターフェース機能によって指示されるフレーム長がＩＬＴＵによって指示されるフレーム長と正確に一致しない限り、解析したデータを書き込むことを認めないであろう。これは、受信したフレームサイズエラーのケースではＣＶＴ５６内のデータの潜在的なフレーム間エイリアシングを防止することができる。ベースアドレスを、アドレスカウンタへプリセットとしてロードし、ＤＬＴ２６から読み出したＳｍａｘ／ＦｒａｍｅＳｉｚｅ値によって指示されるフレームサイズに達するまで、ＣＤＳ２８に書き込まれる。
【００６５】
ＣＶＴ５６に記憶された古い値と引き換えに保護するために、ＣＶＴ５６に記憶されたパラメトリックイーサネット（登録商標）フレームは、６４ビット時間値を付加され、これを、ＣＶＴ５６内の解析したデータフレームの最後のワードに続けて記憶する。これらのパラメトリックデータフレームを、ＣＶＴ５６に記憶することに加えて、他のＡＤＳ１８にミラーリングする。したがって、他のＡＤＳ１８に接続された物理受信ポート４２を予防的に識別し、その結果、パラメトリックデータフレームがもう１つのＡＤＳ１８から届かなかった場合に、記述子のコピーを、他のＡＤＳ１８に接続された物理送信ポート６６の最も高い優先度のパー送信ポート記述子キュー４３にマルチキャストすることができることを必要とすることがある。別の言い方をすれば、より最新のデータフレームが（ＲＩＵ２０などの）非ＡＤＳソースからＡＤＳ１８に到着する場合には、その記述子のコピーを、各物理送信ポート６６の最も高い優先度のキューにマルチキャストすることができ、その結果、データフレームを、できるだけ早く追加のＡＤＳ１８によっておそらくミラーリングする。逆に、データフレームがもう１つのＡＤＳ１８から届いた場合には、記述子マルチキャスト内のポートマスクビットをクリアすることができ、無限ループにおいて同じデータのエンドレスの複製を防止するために、記述子を、ＡＤＳ１８に宛てられた任意の物理送信ポート６６へ再配信しないことを確実にする。
【００６６】
マルチワードメッセージに属さないＡＲＩＮＣ４２９データフレームを、ＰＭＣ３１によってパラメトリックメッセージへと圧縮するためにＣＶＴ５６に書き込むことができる。ＡＲＩＮＣ４２９は、３２ビットデータワードを特定する、けれどもＣＤＳ２８内の各ＣＶＴ５６位置は、６４ビットワードに加えて８ビットのＥＣＣである。ＣＶＴ５６内のＡ４２９ワードの古い値と引き換えに保護するために、各Ａ４２９ワードは、時間の３２ＭＳＢ（ＬＳＢは２１６マイクロ秒である）を用いて時間タグを付けられる。したがって、ＣＶＴ５６に記憶されたＡ４２９ワードは、ＭＳＢとして時間の３２ビットおよびＬＳＢとして３２ビットＡ４２９ワードを有する。
【００６７】
中央データサーバメモリ
ＣＤＳ２８は、例えば、ダブルデータレートメモリ（ＤＤＲ）と比較してシャローであるクアドデータレート（ＱＤＲ）メモリを使用することができる。ＤＤＲのように、ＱＤＲメモリは、同期型であり、ＥＣＣ保護されることが可能であるが、大部分が同時並行の読取りアクセスおよび書込みアクセスを行い、独立したＤＤＲ読取り／書込みデータポートおよびＤＤＲ読取りアドレスポートを有する。これらのメモリは、データスイッチングアプリケーションのために特定して設計される。ＡＤＳ１８において、スループット目標を満足させるために、ＣＤＳ２８メモリを、例えば、２５０ＭＨｚでクロックパルスを送ることができる。例えば、デュアル３８ビットワイドＤＤＲデータポートを有するＱＤＲは、１６Ｇｂｐｓの全二重データをサポートするために十分な帯域幅を有する。代替メモリ速度が、データ必要条件またはスループット必要性に基づいて想定される。
【００６８】
ＣＤＳ２８を、２５６個までの環状バッファ５４を用いて体系化することができるとはいえ、図示したＣＤＳ２８を、３つの環状バッファ６０、６２、６４に加えてＣＶＴ５６として体系化する。各環状バッファ６０、６２、６４は、データストレージ用に確保され、一方で、ＣＶＴ５６は、解析したパラメトリックデータ、ヘッダ、および下記に説明するようにＡＤＳ１８によりカスタムメッセージを作成するために使用されるであろうアドレスリストを保持する。
【００６９】
我々の例による１Ｇｂｐｓ、１００Ｍｂｐｓ、および１０Ｍｂｐｓデータストレージ用に３つの環状バッファがあるケースでは、フレームをどの環状バッファに配置するかは、フレームをマルチキャストする最も遅いポートに依存する。同じ送信レートによってグループ分けされたポートの任意のセットに関して、ＣＤＳ２８は、ポートの総計のデータレート（すなわち、１０Ｍｂｐｓ、１００Ｍｂｐｓ、１Ｇｂｐｓ）において十分なストレージを持たなければならず、このレートで５１２個のフレームを排出するためにかかる時間に適合する。例えば、ＣＤＳ２８は、ＣＶＴ５６用に２Ｍバイトのストレージを提供することができ、一方で、送信データレートの各々に専用の環状バッファ６０、６２、６４のサイズについて柔軟な割当てを可能にする、この送信データレートを、環状バッファ５４の数、いくつの受信または送信ポート４２、４６、６６、７２がそのレートで設定されるか、所望の解析データフレーム保持時間、およびそのバッファ内に含まれるフレームの必要不可欠な有効時間にしたがってさらに調節することができる。
【００７０】
例として、デフォルト割当てを、環状バッファ６０、６２、６４当たり２４Ｍバイトとすることができる。各環状バッファ６０、６２、６４に関して、ストレージ時間を、８＊２４Ｍ／（ＰｏｒｔＳｐｅｅｄ＊ポート数）とすることができる。例えば、２４Ｍバイト環状バッファは、バッファに供給する１０Ｍｂｐｓ受信ポート４２、４６の数で２０秒を割り算したもの、１００Ｍｂｐｓポート４２、４６の数で２秒を割り算したもの、または１Ｇｂｐｓポート４２、４６の数で０．２秒を割り算したものよりも長いストレージ時間を与える。各環状バッファのサイズは、必要に応じて設定可能であってもよい。任意の受信または送信ポート４２、４６、６６、７２におけるいずれかの未使用のラインレートは、そのバッファを共有するすべてのポートのための残余のストレージ時間を与える。
【００７１】
フレームスイッチングに関して、環状バッファ６０、６２、６４は、解析したデータフレームについて固定のブロックサイズを確定しなければならないことおよび空いているバッファ割当てを追跡し続けなければならないことを未然に防ぐことができ、これはそうでなければ、全体のＡＤＳ１８は、１つのイベント異常（ＳＥＵ）に起因するメモリリークを受けるはずである。ＳＥＵは、ニュートロンなどの原子よりも小さい粒子によって引き起こされると考えられ、その発生頻度は高度とともに増加し、メモリ内に記憶された値および論理回路さえ破壊することが可能である。環状バッファがオーバーフローするケースでは、最新のデータは古いものを上書きする。ＡＤＳ１８内のすべてのＦＩＦＯキュー４０は、環状バッファ５４パラダイムをやはり使用することができる。このようにして、環状バッファ６０、６２、６４の読出しおよび書込みポインタを破壊するいずれかのＳＥＵは、バッファ６０、６２、６４を完全に上書きするためにかかる時間の長さ内で訂正されることが保証される。
【００７２】
送信スケジューリング
ＰＭＳ３０の送信スケジューリング機能は、どのデータをＣＤＳ２８から読み出し、どの送信ポート６６、７２がデータを受信するかを決定する。送信スケジューリング機能を、４つの主要な機能素子、すなわちパー送信ポート記述子キュー４３、ＰＭＳ３０、パラメトリックメッセージコンストラクタ３１、およびルールベーススケジューラ７６などの送信アービタによって決定する。ルールベーススケジューラ７６は、各送信ポート６６、７２に対する４つの優先記述子キュー４３にしたがって維持管理し動作する。各キュー４３は、５１２個の記述子を保持するために十分な容量を有することができる。パー送信ポート記述子キュー４３内の記述子は、記述子マルチキャストディストリビュータ２９によってブロードキャストバスを使用して書き込まれた。あるいは、ＰＭＳ３０は、ルールベーススケジューラ７６がどの送信ポート６６、７２を次に使えるようにすべきであるか、またはＰＭＣ３１がパラメトリックメッセージテーブル５８にアクセスするためにどのメッセージ記述子を使用し、ＣＶＴ５６からおよび／またはＡ４２９出力キューから読み出したデータを使用して作成したメッセージを発信すべきであるかを示すスケジュールを維持管理することができる。
【００７３】
ルールベーススケジューリング
ルールベーススケジューラ７６は、ＰＭＳ３０内のユーザ設定可能なコンポーネントとして動作する。ＰＭＳ３０は、１つが利用可能である場合に、４つの優先度キュー４３から記述子を選択するために使用するルールベーススケジューラ７６に、各ポート６６、７２がアクセスすることを可能にする。この記述子を、ＣＤＳ２８への読出しアクセスを行うために使用することができる。ＰＭＳ３０は、例えば、各送信ポート６６、７２が、ラウンドロビン方式で、厳格に時間を指定したスケジュールで、または所定のアルゴリズムでルールベーススケジューラ７６にアクセスすることを認可することができる。他の運用方式、例えば、送信ポート６６、７２の重要性に基づく追加または優先アクセスを認可することを考慮した重み付けしたスケジュールが、想定される。ＣＤＳ２８へのアクセスを認可することに関して、例えば、１Ｇｂｐｓの最大の保証された帯域幅および６６マイクロ秒未満の各アクセス間の最大の保証された遅延で、ＣＤＳ２８への保証された帯域幅アクセスを認可されるもう１つの送信ポート６６、７２として、ＰＭＣ３１を考えることができる。ルールベーススケジューラ７６は、どの優先度キュー４３の記述子を、各ポート６６、７２のアクセス機会中に読み出すかを決定する仲裁（ａｒｂｉｔｒａｔｉｏｎ）を行う。ＣＤＳ２８から取得したフレームのコピーを読み出し、１つの送信ポート６６、７２へ送信するために、その記述子を次に使用する。
【００７４】
ルールベーススケジューラ７６は、各パー送信ポート記述子キュー４３からのフルネスしきい値ビットまたは値のセット、ならびに各パー送信ポートデータメッセージキュー４１からキューフルネスインターフェース７０を介してキューフルネス指示を入力として受領することができ、ここでは、しきい値ビットを、例えば、キュー４３のフルネスが設定したしきい値を超えるときに１に設定することができ、かつもう１つのしきい値ビットを、キュー４１がフレームを受領するためにはいっぱいであるときには、１に設定する。まとめて、キューフルネスインターフェース７０に含まれるビットは、送信ポート６６、７２毎に多数のキュー４１、４３のフルネスを表す。パー送信ポート記述子キュー４３がいっぱいである場合には、ルールベーススケジューラ７６は、優先度ベースでパーキュー４３に関する運用方法を修正することができる、またはキュー４１がいっぱいである場合には、キュー４１に追加のフレームを送ることを一時的に中断することができる。例えば、送信ポート６６、７２を使えるようにしている間に、そのポート６６、７２のパー送信ポート記述子キュー４３のうちの１つまたは複数が、受信したフルネスしきい値に基づいていっぱいであることを、ルールベーススケジューラ７６が決定する場合には、スケジューラ７６は、最初にいっぱいのキュー４３を使えるようにすることを判断することができる。もう１つの例では、送信ポート６６、７２を使えるようにしている間に、送信ポートキュー４１がもう１つのフレームを受領するためにはいっぱいであることを、ルールベーススケジューラ７６が決定する場合には、スケジューラ７６は、キュー４１がもう１つのフレームを受領することが可能になるまでそのポート６６、７２を使えるようにすることを先行して回避するように判断することができる。さらにもう１つの例では、使えるようにされる送信ポート６６、７２用のいずれかのパー送信ポート記述子キュー４３内に取り扱う記述子がない場合には、ルールベーススケジューラ７６は、ラウンドロビンタイプの（または交互の）方式で次の送信ポート６６、７２を使えるようにするように制御アクセスを切り替えることができる。
【００７５】
前に説明したように、各送信ポート６６、７２に対して優先度を付けた４つのパー送信ポート記述子キュー４３がある。どのキュー４３が取り扱われる記述子を有するようになるかは、４つの記述子キュー４３の各々のフルネスに依存する。各キュー４３のフルネスを、例えば、７つのしきい値レベル、加えて空フラッグによって測定することができる。この例では、７つのしきい値レベルは、「フルネス」の変化するレベルを示すことができる。優先度エンコーダロジックを使用して、７つのしきい値および空フラッグを、３ビット値へと変換することができ、これは、どのパー送信ポート記述子キュー４３がＰＭＳ３０によって使えるようにされる（すなわち、ＣＤＳ２８からデータを読み出される）記述子を有するかを決定する。これらの１２ビット、加えて４ビットカウンタの出力を、例えば、ルールベーススケジューラ７６の運用ルールを記憶した１６Ｋ×３ルックアップテーブルを処理するために使用することができる。あるいは、ルールベーススケジューラ７６のルールを、例えば、運用ルールを決定するためのアルゴリズムとすることができる。このルックアップテーブルへの入力として各ポートについて４ビットカウンタを有することの目的は、確定しない時間間隔の間、使えるようにされる同じキューを生じさせるスタティックしきい値組合せを有することの理論的な可能性を避けるためである。これは、各優先度に与えられる運用のレートの下境界を保証するための方法である。
【００７６】
ルールベーススケジューラ７６優先度に基づいて、選択した記述子を選択したパー送信ポート記述子キュー４３から読み出した後で、完全なフレームは、ＣＤＳ２８から読み出され、そして次の送信ポート６６、７２がスケジューラ７６によって使えるようにされる記述子を有することを認められかつＣＤＳ２８からフレームを受信する機会を認可される前に、ポート４１へ送信される。スイッチングしたデータフレームに関して、読出しプロセス中に、記述子のＴｏＦＳを、記憶したフレームの記述子と比較することができる。これらが一致しない場合には、フレームを破棄することができる。各送信イーサネット（登録商標）ポートは、追加でプログラマブル最大エイジ（ＭａｘＡｇｅ）を有し、ＴｏＦＳと入力ポートスケジューラ２４書込み制御機能内の時間カウンタの現在の値との差がＭａｘＡｇｅパラメータよりも大きい場合には、フレームを破棄することができる。それ以外は、フレームを、ＰＭＳ３０によってＣＤＳ２８から読み出し、その送信ポート６６、７２へ転送し、そして加入者ユニット３２または仮想リンク３６へ送信する。
【００７７】
パラメトリックメッセージスケジューラ
パラメトリックメッセージスケジューラ（ＰＭＳ）３０は、どのメッセージをどの送信ポート６６、７２へ送るかをスケジュールするために動作する。ＰＭＳ３０は、例えば、ラウンドロビン方式で、そしてルールベーススケジューラ７６によって選択されたパー送信ポートキュー４３から受信した記述子を使用して、どの送信ポートが、ルールベーススケジューラ７６によって次に使えるようにされるかを決定し、完全なデータフレームを、ＣＤＳ２８内の環状バッファ５４から読み出す。この読み出したフレームを、共通送信インターフェース３４を使用して使えるようにされる送信ポート６６、７２へ送信する。
【００７８】
ＰＭＳ３０は、ＰＭＣ３１が送信ポートであるかのようにＰＭＣ３１の動作をスケジュールすることができ、作成すべきメッセージについての記述子としてＰＭＳを取り扱うことによって、どのメッセージをＰＭＣ３１によって作成するかを制御する。ＰＭＣ３１によって受信された記述子は、パラメトリックメッセージテーブル５８内のエントリのリストを参照し、このテーブルは、ＣＶＴ５６またはＡ４２９出力キューからのどんなデータが作成するフレームへと配置されるかを詳述する。例えば、ＰＭＳ３０は、アドレスリストへのアドレスおよびリスト長をＰＭＣ３１に提供することができる。リスト内のアドレスは、作成しようとするデータフレームへと配置されるべきであるＣＶＴ５６またはＡ４２９出力キューに含まれたデータについての位置である。
【００７９】
パラメトリックデータフレームの作成を、厳密にスケジュールすることができる。例として、４０９６個までのフレーム作成のスケジューリングを、５００マイクロ秒のスケジュールしたデータフレーム起点分解能でサポートすることができる。５００マイクロ秒の時間増加を表すカウンタ値のテーブル、カウンタしきい値のテーブル、およびメッセージ記述子のテーブルがあってもよく、これらのすべてを、記述子テーブルアドレスカウンタ（ＤＴＡＣ）のエントリによって参照する。作成しようとするデータフレームの記述子フォーマットを、下記にさらに説明する。カウンタ値テーブル、カウンタしきい値テーブル、および記述子テーブルの各エントリを、作成しようとするデータフレームのインスタンスと関係付ける。
【００８０】
メッセージ作成のスケジューリングは、次のように進む。ＤＴＡＣは、４０９６個のカウンタ値の完全なテーブルをスキャンする。各カウンタ値を、増加させ、最大カウントしきい値のテーブルから取得したその最大カウントしきい値と比較する。カウントがそのしきい値よりも小さい場合には、増加した値を、単純にカウント値のテーブルへと書き戻し、メッセージ作成をトリガしないことがある。しかしながら、カウントがメッセージについて事前設定した最大値以上である場合には、カウント値書き戻しは、ゼロであり、そして送信すべきカスタムメッセージ用の記述子とすることができるＤＴＡＣによって参照した記述子テーブルエントリのコンテンツの値を、メッセージ作成機能を始めるためにＰＭＣ３１へ渡す。
【００８１】
この例では、４０９６個よりも少ない作成すべきメッセージがある場合には、メッセージ作成を決して行わせないことが可能な記述子テーブル内の未使用の記述子エントリがあるであろう。特定の記述子位置エントリをディスエーブルにすることが望ましい場合には、対応する最大カウントテーブルエントリを、カウント値にとっては不十分なビット数（すなわち、１１）のために、達することができないある値、すなわち、４０９６に設定することができる。この例では、ＰＭＳ３０が、５００マイクロ秒毎に４０９６個までのメッセージのスケジューリングが可能であるので、ＰＭＳ３０は、ＡＤＳ１８用のカスタムメッセージを作り出す際の限定要因にはなりそうもないであろう。あるいは、任意のメッセージの作成についてのスケジュール分解能を、５００マイクロ秒の増分にすることができる。
【００８２】
パラメトリックメッセージ作成機能
メッセージ作成をスケジュールすることをＰＭＳ３０が決定すると、ＰＭＳ３０は、ＰＭＣ３１機能へ記述子利用可能指示とともに記述子を渡す。記述子は、識別情報を含み、その結果、イーサネット（登録商標）／Ａ６６４ｐ７フレーム用のデータソースがＡ４２９キュー４０のうちの１つからであるかどうかおよび／またはＣＶＴ５６アドレスのリストを使用してＣＶＴ５６からスキャッタギャザすべきであるデータであるかどうかを、ＰＭＣ３１は決定することができる。例えば、記述子の最上位ビット（ＭＳＢ）が、メッセージをＡ４２９キュー４０内のデータから作成すべきであることを示す場合には、記述子は、ベースアドレス（ＨＯＬｐｏｉｎｔｅｒ）およびＵＤＰ／ＩＰ／ＭＡＣヘッダの長さを含むことができ、このヘッダ長さは、パラメトリックメッセージテーブル５８から直接読み取られ、１つまたは複数のＡ４２９キューからのデータが後に続くメッセージ作成キュー４０へと配置される。
【００８３】
逆に、パラメトリックメッセージ記述子のＭＳＢが、フレームをＣＶＴ５６内のデータから作成すべきであることを示す場合には、ＨＯＬｐｏｉｎｔｅｒは、パラメトリックメッセージテーブル５８の順番に並べられ連続するリストのＣＶＴ５６内のベースアドレスおよびメッセージの作成において使用されるべきであるＣＶＴ５６アドレス記述子である。この例では、長さフィールドは、アドレス記述子のそのリストの長さを示す。ＰＭＣ３１は、選択したＣＶＴ５６データ値を集めるためにこれらのアドレス記述子を使用する。作成中には、アドレス記述子のリストを、パラメトリックメッセージテーブル５８から最初に読み出す。アドレス記述子を次に使用して、パラメトリックメッセージテーブル５８から読み出すことによってメッセージのヘッダを、ならびにＣＶＴ５６および／またはＡ４２９出力キューの選択した位置から読み出すことによってメッセージのペイロードを作成する。
【００８４】
完全なデータフレームまたは「メッセージ」は、ヘッダ、パラメータ値のリスト、およびトレイラから構成される。各データフレームヘッダフィールドおよび各パラメータ値を、上に説明したように、ＣＤＳ２８の固定であるが不連続の位置に記憶する。これゆえ、作成しようとする各データフレームは、ＣＶＴ５６からこれらの散らばった値を読み出すために使用されるであろうアドレスの順番に並べたリストを含まなければならない。ＰＭＳ３０メモリを小さく保つために、アドレス記述子のリストは、ＣＤＳ２８内のメモリの固定的な領域、例えば、ＣＶＴ５６のパラメトリックメッセージテーブル５８内にそれ自体を維持管理することができる。
【００８５】
ＰＭＳ３０によってＰＭＣ３１へ供給されたパラメトリックメッセージ記述子は、例えば、１８ビットのリストポインタのヘッド（ＨＯＬｐｏｉｎｔｅｒ）、３２ビットワードでのアドレスのリストの長さ、および制御ビット用に確保したフィールドを含むことができる。この例では、ＨＯＬｐｏｉｎｔｅｒを、左シフトさせかつゼロを付け加えることができ、その結果、各アドレスリストは、６４バイト境界においてだけ始まる。「Ｓ」制御ビットは、記述子がＡ６６４ｐ７メッセージ用であるか否かをやはり示すことができる。記述子がＡ６６４ｐ７メッセージ用である場合には、記述子内のＥｆｌｏｗＩＤフィールドを、Ａ６６４ｐ７シーケンス番号を追跡するために使用することができる。ゼロのパラメトリックメッセージ記述子ＭＳＢ値は、メッセージへと書き込まれるデータ位置を間接的に参照するアドレスのリストを参照することができることがさらに想定される。これらのアドレスを、例えば、参照したデータ位置をどのようにしてメッセージへと圧縮するかを示すバイト選択および制御情報とともに、ＣＶＴ５６内の６４ビット位置内に含むことができる。存在する場合には、制御フィールドは、ＬＳＢまたはＭＳＢアライメント、ビッグエンディアン、リトルエンディアン、またはマングドビッグエンディアンフォーマット、等を示すためのコードを含むことができる。さらなる制御フィールドコンテンツおよび効果が、想定される。
【００８６】
作成されるメッセージがＡ６６４ｐ７メッセージである場合には、ＰＭＣ３１は、ＰＭＳ３０から受信したメッセージ記述子内のフィールド（ＥｆｌｏｗＩＤ）を使用することができ、そのＶＬのシーケンス番号（ＳＮ）にアクセスすることができる。ＳＮバイトを、Ａ６６４ｐ７に記述されたルールにしたがって増加させ、ＰＭＣ３１によって作成されたメッセージペイロードの最後のバイトとして配置することができる。一旦、メッセージフレームが完了すると、メッセージフレームは、専用のループバックポート８６へと転送され、このループバックポート８６は、ＣＲＣ−３２などのＣＲＣを演算し、ループバック方式でＡＤＳ１８の共通受信インターフェース２２へとフレームを転送して戻す。
【００８７】
加入者ユニット３２へ転送する前に、ＡＤＳ１８の共通受信インターフェース２２へ作成したメッセージを送り返すことに関する多数の理由があり得る。主要な理由は、安全性である。各パラメトリックメッセージフレームの作成が厳密にスケジュールされるとはいえ、１つの故障に対する脆弱性を巧みに回避するために、Ａ６６４ｐ７フレームを別のポリサ２７ロジックによってポリシングしなければならないことが想定される。加入者ユニット３２がトラフィックシェーピングを既に実行することができるとしても、これが、Ａ６６４ｐ７スイッチにおける受信ポートスケジューラ２４のポリシング機能を必要とする理由である。ＡＤＳ１８内では、この必要条件を満足させるためにＰＭＳ３０（およびこれゆえＰＭＣ３１）から、ポリサ２７を分離する。
【００８８】
ループバックで作成したメッセージに関する第２の理由は、ＤＭＤ機能の重複を避けることであり得る。ループバックポート８６は、メッセージについて重要な動作を実行しておらず、したがって、動作遅延によって制限されないことがある。結果的に、ループバックポート８６のオペレーションデータレートを、例えば、ギガビットレートとすることができる。ループバック遅延への結果としてもたらされる影響を、例えば、フレームの記述子を高優先度パー送信ポート記述子キュー４３に配信すること、および適切にルールベーススケジューラ７６をプログラミングすることによって、無視できる程度にすることが可能である。例えば、５００マイクロ秒未満のうちに各々が５１２バイトの平均長さを有する１００個よりも多くのメッセージを送信することをサポートするために、ループバックＰＭＣ３１に対して１つのループバックポート８６が十分であり得ることが想定される。しかしながら、追加のループバックポート８６を、ＡＤＳ１８内に設定し、ＰＭＣ３１が生成したメッセージに専用にすることが可能である。
【００８９】
ＡＲＩＮＣ４２９データパス
ＡＲＩＮＣ４２９データワードは、１６から４８の番号を付けた物理受信ポート４２に到達する。到着時間レコーダ５０は、次にどの受信ポート４２のワードを使えるようにすべきかを指示する。次に、受信ポートスケジューラ２４は、データフレームを解析して、到着ポート（ＰｏＡ）およびＡ４２９  ８ビットタグを識別し、各々をＤＬＴ２６へ供給する。ＤＬＴ２６は、ワードをＣＶＴ５６（および／または任意の環状バッファ５４）に記憶すべきかどうか、およびＡ４２９送信ポート６６のどれがワードのコピーを受信するかを決定する。ＰＭＳ３０は、ＰＭＣ３１機能へパラメトリックメッセージ記述子を供給し、イーサネット（登録商標）メッセージまたはＡ６６４ｐ７メッセージを作成する。
【００９０】
マルチワードメッセージの一部ではないＡ４２９ワードもまた、ＣＶＴ５６に記憶することが可能である。このケースでは、各ワードを、ＬＳＢが２１６マイクロ秒である３２ビット時間タグとともに記憶する。この例では、ＰＭＣ３１機能は、ＣＶＴ５６内の他のパラメータと一緒にＡ４２９ワードを取ることができて、イーサネット（登録商標）フレームまたはＡ６６４ｐ７フレームを作成する。
【００９１】
ＡＲＩＮＣ６６４第７部シーケンス番号同期
本明細書において説明したデータ通信ネットワーク１６は、多数のＡＤＳ１８にわたるＡ６６４ｐ７シーケンス番号同期を提供することができることがさらに想定される。多くのアビオニクスプラットフォームでは、異なるＡＤＳ１８インスタンス上に存在するＰＭＣ３１機能にとって同一のコンテンツを有するＡ６６４ｐ７データフレームを同期させて配信することが有利なことがある。これは、デュアル末端システムＬＲＵの仮想化と同然であるが、異なるサーバおよび回路ボード上に存在する２つの仮想末端システムを有する。このＡ６６４ｐ７シーケンス番号同期を、メッセージ交換プロトコルを使用して達成することができ、このプロトコルは、時間同期が実現されることを確認し、すべてのＥｆｌｏｗＩＤについてのシーケンス番号の値を含むＡＤＳ１８間にメッセージを提供し、指定された将来の時間しきい値で、例えば、シーケンス番号の相違が大きくなり過ぎるときにゼロへのシーケンス番号のリセットを指示するメッセージを提供する。
【００９２】
プロセッサアレイ
ＡＤＳ１８はまた、１つもしくは複数のプロセッサ７８、または分散型プロセッサアレイ７８を設けることができる。示したように、各プロセッサ７８は、スイッチング機能に接続され、例えば、イーサネット（登録商標）ポートとして見られるプロセッサ独自の仮想受信および仮想送信ポート７２を含む。プロセッサ７８は、そのプロセッサ７８に供給されたメッセージの計算を実行するために、１つの実行スレッドまたは多数の実行スレッドを使用して動作することができる。供給されたメッセージ上に実行する機能を、メッセージのヘッダ中の情報によって駆動する。プロセッサアレイは、集中型仮想ＲＩＵ（ＶＲＩＵ）としてＡＤＳ１８を取り扱うように構成される。例えば、ＶＲＩＵは、生のセンサデータからエンジニアリングユニット変換を実行すること、導き出したパラメータを演算すること、および／または生データを処理することによってリモートアプリケーション用のカスタムメッセージを作成することが可能である。カスタムメッセージのスケジューリングは、システム遅延を最小にし、分散型処理の同期を可能にする。
【００９３】
利用可能なプロセッサ７８の一例は、アビオニックスシステム用のクリティカルミッションアプリケーションのために特に設計された１０／１００イーサネット（登録商標）インターフェースを有するシングルチップマイクロプロセッサを含むことができる。利用可能なプロセッサ７８のもう１つの例を、汎用マイクロプロセッサとすることができる。加えて、マイクロプロセッサは、キャッシュメモリおよび内部メモリの両方においてＥＣＣを有するデュアルロックステップＣＰＵをサポートすることができ、内部メモリは、不揮発性ストレージ用の内部フラッシュメモリを含む。前述のプロセッサ７８を、ＡＤＳ１８用のスケーラブル処理アーキテクチャをイネーブルにするために使用することができる。このようなプロセッサ７８を、前述のＰＭＳ３０およびＰＭＣ３１機能と組み合わせて使用することができ、シリアル処理スレッドまたはパラレル処理スレッドの集合へと分解することが可能である仮想的に任意のアプリケーションに関する最適化した並列処理を提供することを、加えて想定することができる。
【００９４】
本明細書において記述したように、メッセージを作成するために記述子をＰＭＣ３１へ送ると、ＰＭＳ３０は、メッセージを獲得し、フォーマット化し、配信することができる。分散型プロセッサの動作を同期させるためにどのようにしてメッセージのＰＭＳ３０スケジューリングを使用することが可能であるかの例は、次の通りである。プロセッサ７８上で実行するスレッドは、スレッドを引用するカスタムメッセージを受信するときだけ起動されるである。プロセッサ７８上で実行するスレッドの出力を、パラメトリックメッセージとすることができ、このメッセージを、共通受信インターフェース２２において仮想受信ポート４６によって受信することができ、受信ポートスケジューラ２４によってスケジュールすることができ、そしてＣＶＴ５６に記憶することができる。その上、ＰＭＳ３０は、処理のためにもう１つのプロセッサ７８への（上に説明したように）処理したパラメトリックメッセージに基づいて、メッセージを獲得し、フォーマット化し、配信することによってプロセッサ７８を介して２回目を繰り返すことができる。このプロセスは、所望の最終結果を実現するまで繰り返すことができる。このプロセスは、所望の最後の結果が得られるまで繰り返すことができる。したがって、汎用プロセッサの処理能力を、協働してパイプライン化することができ、最適化した分散型のマルチプロセシングシステムを形成することができる。各スレッドが、知られている最大実行時間または処理時間を有する場合には、ＰＭＳ３０およびＰＭＣ３１機能は、利用可能なときまたは必要なときにプロセッサ７８の利用をさらに最適化することができる。
【００９５】
もう１つの詳細な例は、３つのパラメトリックメッセージに関するデータフローをさらに説明することができる。ＰＭＳ３０は、例えば、ＣＶＴ５６からパラメータの第１のセットを獲得し、第１のプロセッサ用の第１のメッセージを作成する。ＰＭＳ３０はまた、パラメータの第２のセットを獲得することができ、第２のプロセッサ用の第２のメッセージを作成することができる。第１および第２のプロセッサは、それ自体の異なるメッセージがトリガするプログラムを並列に実行し、受信データパスを介して、処理した結果をＣＶＴ５６へと書き込む。ＰＭＳ３０は、第１および第２の処理した結果から第３のメッセージを引き続いて作成することができ、第３のメッセージを追加処理のために第１、第２、または第３のプロセッサのいずれかに提供することができる、等々。加えて、この例では、第１および第２のプロセッサが、第１および第２のメッセージを同時に処理している間に、ＰＭＳ３０は、２つの追加のパラメトリックメッセージ、例えば、第１および第２のプロセッサにおいて処理するための第４および第５のメッセージを作成することができる。この処理を厳密にパイプライン化することが可能であり、その結果、プロセッサ７８は、非常に短いアイドル時間で並列に実行することが可能である。
【００９６】
所与のプロセッサ７８がどのタスク（またはスレッド）を実行するかの選択を、プロセッサがＰＭＳ３０から受信するメッセージのヘッダによって決定し、そのタスクによって処理したデータを、メッセージのボディに含ませる。上に説明したように、ＰＭＳ３０メッセージの生成が厳密な時間スケジュールを厳守するので、タイマチックに基づく割込み機構を効果的に実現することが可能であるという理由で、タイマチックからの割込みに基づくタスクスイッチングに対する必要性がない。このように、プロセッサに割り込むためにＰＭＳ３０からのメッセージをイネーブルにすることによって、タイマチックをまねることができる。プロセッサ７８へのこのＰＭＳメッセージ割込み駆動型処理をマッピングすることを、各プロセッサ７８用のプライベートＲＡＭの可用性によってさらに容易にすることができ、状態を保持し、メッセージ駆動型割込みに続く動作を再開することができる。タスクスイッチまたはイベント駆動型割込みが生じなければならない前に、所与の処理スレッドが終わりまで実行不可能であるところでは、この割込み駆動型処理能力は、割込み駆動型処理にとって有用であり得る。メッセージ駆動型割込みをイネーブルにする場合には、いくつかの非同期的なイベントに起因して、ＲＩＵ２０などの外部ソースから到達するメッセージにとって、完全にＣＶＴ５６をバイパスすることおよび選択したプロセッサ７８へ直接（例えば、環状バッファ５４のうちの１つを介して）ＡＤＳ１８のスイッチング機能を通して送ることが、やはり可能である場合がある。
【００９７】
インターワーキング
インターワーキングを、例えば、異なる受信または送信物理インターフェース４４、６８によって決定されるように、１つのプロトコルからもう１つへの変換を実行するように設計することができる。１つの鍵となるインターワーキング機能は、仮想末端システム（ＶＥＳ）８２であり、これは、例えば、ＡＤＳ１８に接続された任意のＬＲＵ用のＡ６６４ｐ７インターフェースとして働き、ＡＤＳ１８への単純なイーサネット（登録商標）インターフェースをサポートするため、および、例えば、ＣＯＭポートデータをＶＥＳ８２へ伝達するためにジャンボイーサネット（登録商標）フレームを使用するためにＬＲＵをイネーブルにする。ＶＥＳ８２は、多数の古い、現在の、および／または将来の論理フォーマットおよびプロトコルをサポートすることができる。
【００９８】
本明細書において開示した実施形態は、協働した動作をともなうアビオニクスデータ通信ネットワーク用のアビオニクスデータサーバを提供する。上記の実施形態において実現することができる１つの利点は、上に記述した実施形態が、航空機データの効率的な収集、ジャストインタイム処理、的確なスケジューリング、ならびに協働型サーバ、システム、加入者ユニット、およびディスプレイへのそのデータの配信を用いて動作することである。加えて、上に記述した実施形態は、分散型プロセッサ間で同期した処理を提供する一方で、データサーバを時間同期させることが必要であるだけである。上に記述したアビオニクスデータサーバの効率的な動作のために、協働していないネットワーク利用に起因する過剰なネットワークおよびコンピュータ処理の帯域幅の非効率さを最小化することができ、帯域幅効率の向上、および低い電力要求を結果としてもたらす。さらにその上、効率の向上および低い電力要求のために、より小さな回路パッケージを、より小さな熱プロファイルのために設計することができ、優れた空間およびサイズ利便性を結果としてもたらす。航空機コンポーネントを設計する際に、対処すべき重要な因子は、サイズ、電力必要条件、および信頼性である。サイズの縮小、電力必要条件、および信頼性は、飛行中の競争できる利点と相互に関係する。
【００９９】
上に記述した実施形態のもう１つの利点は、送信ポート速度によって分離されたＣＤＳ内の多数の環状バッファを利用することであり、適切なレートでデータを上書きすることによってデータ効率の向上を可能にし、その結果、例えば、遅い送信ポートに宛てられたフレームは、早い送信ポートに対する早く到着するフレームによっては上書きされない。この利用は、データフレームが上書きされる前に使用されるという最大の確率を可能にする。加えて、環状バッファの利用は、空いているまたは未使用のメモリブロックを追跡し続ける方法を決定するための必要性を削除する。最も古いデータは、環状バッファを使用して常に上書きされ、早く複雑でない動作を提供する。
【０１００】
上記の実施形態のさらにもう１つの利点は、上に記述した実施形態が、現在のまたは古い末端システムおよび、Ａ６６４ｐ７システムなどのスイッチを著しく制限するまたは削除することである。加えて、上に記述した実施形態は、多数のサーバまたはストレージデバイスにわたってデータをミラーリングすることを提供し、故障の場合の冗長性対策を提供する。上に記述した実施形態のさらにもう１つの利点は、多数のプロセッサまたは多数のサーバが相互に比較することができる同じ計算を実行することを可能にすることによって、記述したネットワークが、処理タスクの冗長な確認を提供することである。
【０１０１】
上に記述した実施形態のさらにもう１つの利点では、ルールベーススケジューラは、１つまたは複数のフルネス指標に基づいて使えるようにするデータおよび送信ポートを決定することを行い、運用優先度を設定することを可能にする。運用優先度は、未利用の運用スケジュールをむだにせずに送信スケジューリング機能の適応性があり、しかも決定的な動作を可能にする。
【０１０２】
まだ記述されていないという点で、様々な実施形態の異なる特徴および構造を、望むように相互に組み合わせて使用することができる。その１つの特徴が実施形態のすべてにおいて図示されないことがあることは、その特徴がなくてもよいと解釈すべきであることを意味せず、記述の簡潔さのために行われる。したがって、新しい実施形態が明確に記述されるか否かにかかわらず、新しい実施形態を形成するために、異なる実施形態の様々な特徴を望むようにうまく組み合わせることができる。本明細書において記述した特徴のすべての組合せまたは並べ替えを、この開示によって保護する。
【０１０３】
この明細書は、最良の形態を含む本発明を開示するため、ならびにいかなる当業者でも、任意のデバイスまたはシステムを作成することおよび使用すること、および任意の組み込んだ方法を実行することを含む本発明を実行することをやはり可能にするために例を使用する。本発明の特許可能な範囲は、特許請求の範囲によって規定され、当業者なら思い付く別の例を含むことができる。このような別の例が特許請求の範囲の文面かと異ならない構造的要素を有する場合、またはこのような別の例が特許請求の範囲の文面とは実質的でない差異しか有さない等価な構造的要素を含む場合には、このような別の例は、特許請求の範囲の範囲内であるものとする。
【符号の説明】
【０１０４】
１０  航空機
１２  リモート入力ユニット（ＲＩＵ）
１４  加入者ユニット
１６  データ通信ネットワーク
１８  アビオニクスデータサーバ（ＡＤＳ）
２０  物理ＲＩＵ
２２  共通受信インターフェース
２４  受信ポートスケジューラ
２６  記述子ルックアップテーブル（ＤＬＴ）
２７  ポリサ
２８  中央データサーバ（ＣＤＳ）
２９  記述子マルチキャストディストリビュータ（ＤＭＤ）
３０  送信パラメトリックメッセージスケジューラ（ＰＭＳ）
３１  パラメトリックコンストラクタ（ＰＭＣ）
３２  物理加入者ユニット
３４  共通送信インターフェース
３６  仮想リンク
３８  データカップリング
４０  データキュー
４１  パー送信ポートデータメッセージキュー
４２  物理受信ポート
４３  パー送信ポート記述子キュー
４４  受信物理インターフェース
４６  仮想受信ポート
４８  受信仮想インターフェース
５０  到着時間（ＴｏＡ）レコーダ
５２  受信ポートコンセントレータ
５４  環状バッファ
５６  現在値テーブル（ＣＶＴ）
５８  パラメトリックメッセージテーブル
６０  １０Ｍｂｐｓ環状バッファ
６２  １００Ｍｂｐｓ環状バッファ
６４  １Ｇｂｐｓ環状バッファ
６６  物理送信ポート
６８  送信物理インターフェース
７０  キューフルネスインターフェース
７２  仮想送信ポート
７４  仮想送信インターフェース
７６  ルールベーススケジューラ
７８  分散型プロセッサ
８０  グラフィックスレンダラ
８２  仮想末端システム（ＶＥＳ）
８４  ネットワーク大量ストレージ
８６  ループバックポート
【図１】
0005957055.tif 000002
【図２】
0005957055.tif 000003