JP6268283B2 - 航空機用データ通信ネットワーク - Google Patents

航空機用データ通信ネットワーク Download PDF

Info

Publication number
JP6268283B2
JP6268283B2 JP2016521708A JP2016521708A JP6268283B2 JP 6268283 B2 JP6268283 B2 JP 6268283B2 JP 2016521708 A JP2016521708 A JP 2016521708A JP 2016521708 A JP2016521708 A JP 2016521708A JP 6268283 B2 JP6268283 B2 JP 6268283B2
Authority
JP
Japan
Prior art keywords
data
frame
message
descriptor
cvt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016521708A
Other languages
English (en)
Other versions
JP2017501600A (ja
Inventor
ボブレック,パブロ
Original Assignee
ジーイー・アビエイション・システムズ・エルエルシー
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 ジーイー・アビエイション・システムズ・エルエルシー filed Critical ジーイー・アビエイション・システムズ・エルエルシー
Publication of JP2017501600A publication Critical patent/JP2017501600A/ja
Application granted granted Critical
Publication of JP6268283B2 publication Critical patent/JP6268283B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18502Airborne stations
    • H04B7/18506Communications with or from aircraft, i.e. aeronautical mobile service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Astronomy & Astrophysics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、航空機用データ通信ネットワークに関する。
現代の航空機では、アビオニクス「プラットフォーム」は、センサ類、センサデータ集信器、データ通信ネットワーク、無線周波数センサと通信装置、計算要素、エフェクタ、グラフィックディスプレイ装置等の多様な要素から構成される。これらの構成要素は、データ通信ネットワークを介して情報を互いに共有することが必要とされる。
こうしたプラットフォーム要素のうち旧来型のものは個別のサブシステム要素の形態をとっている。そのようなシステムはよく「フェデレーテッド・システム」と呼ばれる。フェデレーテッド・システムは独立パッケージ形式の特定用途向けサブシステムで、専用のロジック、プロセッサ、および入出力インタフェースを備えている。分離された複数のフェデレーテッド・システムはデータソースにおいて共通のサブセットを利用するが、処理リソースやインタフェースをフェデレーテッド・システム間で共有することはしない。
フェデレーテッド・システムへの依存の低減に向けたこれまでの努力により、ARINC653およびARINC664の規格が導入された。ARINC653(A653)はオペレーティングシステムであり、各アプリケーション(例えばフェデレーテッド・システムのある機能と関連するもの)は実行用にタイムスライス区画とメモリスペース区画とを与えられる。これにより、それまで複数のフェデレーテッド・システム機能であったものが、共通のプロセッサをホストとして制御可能となり、アビオニクスデータネットワークへの共通インタフェースと配線とをARINC664第7部(A664p7)に基づいて共有できるようになった。
このようなシステムでは、入力データがサンプリングされてから処理されて出力されるまでの遅延時間が、アプリケーションの結果において十分に小さくなるようにするため、データのサンプリング、パブリッシュ、および送信が従来より高い周波数で行われ、またARINC653区画内で動作するアプリケーションは従来より高い周波数で実行される。データパブリケーションレートの周波数とアプリケーションの実行の周波数はともに、もしデータとその処理とが同期した場合に必要となる周波数よりも高くなる傾向にある。
米国特許出願公開第2011/296379号明細書
一実施形態において、本発明は、データを提供する複数のリモート入力ユニット(RIU)と、そのデータの少なくとも一部を利用する複数の受信器ユニットと、を備えた通信ネットワークにおいてデータ通信を制御する方法に関する。本方法は、データを中央データサーバ(CDS)において受信する工程と、CDS内に現在値テーブル(CVT)を作成する工程であって、CVTはRIUからの直近データから生成される、工程と、受信器ユニットの少なくとも1つに対する、上記データから導かれるカスタムメッセージを、受信器ユニットのうちの上記少なくとも1つのフォーマット要求条件に基づいてCVT内に生成する工程と、カスタムメッセージを通信ネットワークを介して受信器ユニットの上記少なくとも1つに送信する工程と、を含む。
添付の図面は次のとおりである。
本発明の一実施形態による航空機用データ通信ネットワークの概略図である。 本発明の一実施形態によるアビオニクスデータサーバの概略図である。
記載する本発明の諸実施形態は、アビオニクスデータサーバ(ADS)と、航空機用の構成要素であって、任意の発生源によるデータ値を航空機上の任意の宛先に配信する必要性をサポートする構成要素と、を有するアビオニクスデータ通信ネットワークの諸実施形態を対象とする。航空機のすべてのデータ経路がデータ通信ネットワークを経由するように構成することは可能だが、本発明の諸実施形態ではその必要はない。なぜなら、何らかのポイントツーポイントのフロー、例えばADSを経由しても何らメリットのないフローなどが存在するためである。しかし、変換、インターワーキング、処理、同期、トラフィックシェーピング、ポリシング、マルチキャスティング等を必要とする、少なくとも大半のデータフローは、ADSが提供する機能の恩恵を受けることができる。
図1に概略的に示すように、航空機10は、複数のリモート入力ユニット(RIU)12、例えば各種のセンサまたは計器と、航空機10の運行のためにデータ通信ネットワーク16に電気的に接続される少なくとも1つの受信器ユニット14と、を備えるものとして示されている。各RIU12はデータまたはデータフレームをデータ通信ネットワーク16に提供しえ、各受信器ユニット14は生データの少なくとも一部に基づいてメッセージを使用しうる。受信器ユニット14は、例えば、追加的なアビオニクスシステム、プロセッサ、ディスプレイ、または冗長構成による検証システムを備えうる。RIU12および受信器ユニット14は、データの提供および使用を異なるデータ伝送速度で行いうる。それらのデータ伝送速度はデータ通信ネットワークによって効果的に運用される。追加的なRIU12および/または受信器ユニット14、あるいはユニット12、14の設置が想定されている。本発明の一実施形態は航空機環境におけるものとして示されているが、本発明はそれには限定されず、航空機以外の用途、例えば他の移動型用途ならびに非移動型の産業、商用、および住宅用途のデータ通信ネットワークに対して広く応用可能であることが理解されるだろう。
図2は、アビオニクスデータサーバ(ADS)18を含むデータ通信ネットワークのハイレベル・ブロック図である。ADS18は、共通入力インタフェース22に接続される複数の物理的RIU20と、入力ポートスケジューラ24と、記述子ルックアップテーブル(DLT)26、ポリサ27、および記述子マルチキャスト配信器(DMD)29を有するフレーム記述子マネージャ(FDM)25と、中央データサーバ(CDS)28と、パラメトリックメッセージ構成器(PMC)31を有する出力パラメトリックメッセージスケジューラ(PMS)30と、共通出力インタフェース34に接続される複数の物理的受信器ユニット32と、複数の仮想リンク36と、を備えうる。
各RIU20は、1つのデータカプラ38と少なくとも1つのデータキュー40とを介して共通入力インタフェース22に接続され、それら全体が物理入力ポート42を構成している。データカプラ38は物理コネクタからデータフレームを受信する能力を有しえ、例えばEthernetポート等の物理コネクタ、および/またはソフトウエアもしくはプロトコルレイヤ互換機能(MAC(メディアアクセス制御)またはIP(インターネットプロトコル)ルーティング等)、またはシリアルインタフェースを含みうる。これらの物理入力ポート42が全体で1つの入力物理インタフェース44を構成する。図には限られた数の物理入力ポート42しか描いていないが、任意の個数が存在しうることが想定されている。一実施例では48個の入力ポート42を含み、このうち最初の16個のポート42が例えばEthernetポート42でありえ、残りの32個のポートがARINC429インタフェース用である。これ以外の個数のポート、ならびに2種類以上のインタフェースにおけるこれ以外の組み合わせも想定されている。ADS18は、物理的なRIU20および仮想リンク36において複数のデータプロトコルとインタフェース可能である。これには例えば、Ethernet、IEEE802.3、ARINC664第7部(A664p7)、CANバス、ARINC429(A429)、ARINC661、ならびにその他のレガシープロトコル等が挙げられる。インタフェースするプロトコルは物理インタフェースを備えていても、いなくてもよく、また、例えばBluetooth(登録商標)もしくはWiFi等の無線技術を備えうることが想定されている。
共通入力インタフェース22には少なくとも1つの仮想入力ポート46がさらに接続されていてもよい。ポート46は、生データの少なくとも一部をデータキュー40を介してインタフェース22に提供する。仮想入力ポート46は全体で1つの入力仮想インタフェース48を構成する。物理および/または仮想入力ポート42、46のそれぞれは、生データの少なくとも一部を共通入力インタフェース22に提供することができる。
入力ポートスケジューラ24は共通入力インタフェース22から入力を受信し、FDM25およびCDS28に出力を提供する。入力ポートスケジューラ24は到達時刻(ToA)レコーダ50と入力ポート集信器52とをさらに備えうる。ポリサ27はFDM25の動作をモニタしてもよく、かつ/またはFDM25の動作に影響を与えてもよい。DMD29は、FIFO(先入先出)方式で動作する一群の出力ポート単位記述子キュー43に、出力用接続を提供しうる。複数の物理的受信器ユニット32に同一のメッセージを送信する場合、DMD29は複数の出力ポート単位記述子キュー43に同一の記述子を書き込みうる。出力ポート単位記述子キュー43のそれぞれはキュー満量度(fullness)インタフェース70にさらに接続されている。
CDS28は、少なくとも1つの循環バッファ54、1つの現在値テーブル(CVT)56、および1つのパラメトリックメッセージテーブル58を格納するためのメモリを備えている。例えば、CDS28メモリは、ハードディスクドライブ、ソリッドステートドライブ、QDR(quad data rate)メモリ、または冗長構成にされた複数のメモリ素子を含みうる。図示した実施形態では、CDS28は3つの循環バッファ54を備えており、それぞれは動作するデータレートによって定義される。例えば、10メガビット/秒(Mbps)循環バッファ60、100Mbps循環バッファ62、および1ギガビット/秒(Gbps)循環バッファ64である。各循環バッファ54では、入力ポートスケジューラ24により、最も古い格納データが、出力から到達した最新データで上書きされる。
各物理的受信器ユニット32は、1つのデータカプラ38と少なくとも1つのデータキュー40(例えば一群の出力ポート単位データメッセージキュー41)とを介して共通出力インタフェース34に接続され、それら全体が物理出力ポート66を構成している。これらの物理出力ポート66が全体で1つの出力物理インタフェース68を構成する。各物理出力ポート66の各出力ポート単位データメッセージキュー41は、キュー満量度インタフェース70にさらに接続されている。共通出力インタフェース34には少なくとも1つの仮想出力ポート72がさらに接続されていてもよい。ポート72は、データキュー40を介してインタフェース34からメッセージを受信する。仮想出力ポート72は全体で1つの出力仮想インタフェース74を構成する。各物理出力ポート66は、1つのデータメッセージキュー41と任意の数の出力ポート単位記述子キュー43に対応しうることが想定されている。図示した実施形態では、1つ物理出力ポート66、72当たり、例えば1つのデータキュー41と4つの記述子キュー43とが備わっている。
出力パラメトリックメッセージスケジューラ(PMS)30は、例えばルールベース型スケジューラ76といった出力アービタをさらに備えうる。ルールベース型スケジューラ76は、DMD29によって提供される記述子をどの出力ポート単位記述子キュー43から受信するかを、キュー満量度インタフェース70を用いて決定しうる。その記述子は、ある指定のデータフレームをCDS28から読み出して確認するのに用いられる。当該フレームがそうだと確認されると、PMS30は、その記述子の発信元である出力ポート単位記述子キュー43に対応する物理出力ポート66に対し、CDS28からの出力を共通出力インタフェース34を介してさらに提供しうる。
出力パラメトリックメッセージスケジューラ(PMS)30はパラメトリックメッセージ構成器(PMC)31をさらに備えうる。PMC31は、パラメトリックメッセージテーブル58の内容、ならびにCVT56および/または循環バッファ54に格納されるデータ値を用いて(例えば、A429マルチワードメッセージを含む場合)、受信器ユニット32および/または出力ポート66、72が使用するためにメッセージの構築を開始しうる。
PMS30、ルールベース型スケジューラ76、および/またはPMC31は、例えば、ネットワーク上の汎用コンピュータ上で動作する実行可能プログラム、または特定目的のコンピュータ上で動作する実行可能プログラムを含みうる。あるいは、PMS30、ルールベース型スケジューラ76、および/またはPMC31は、ハードコードされた機能ロジックデバイスを含みうる。ルールベース型スケジューラ76は、出力ポート単位記述子キュー43およびキュー満量度インタフェース70から入力を受信し、それにより、CDS28から共通出力インタフェース34に向かうメッセージをPMS30が選択および検証可能にしうる。あるいは、共通出力インタフェース34へのメッセージ出力の構築において用いうるCVT56および/または循環バッファ54のデータ値の選択を、PMS30および/またはPMC31はパラメトリックメッセージテーブル58を用いて行いうる。図では、出力ポート単位記述子キュー43はPMS30とは別個のものとして描かれているが、キュー43がPMS30および/またはルールベース型スケジューラ76内に含まれる実施形態も想定されている。
メッセージを少なくとも1つのデータキュー40および仮想リンク36経由で出力仮想インタフェース74から送信したり、メッセージを入力仮想インタフェース48によって受信したりできるよう、仮想リンク36は、ADS18の追加的なローカルもしくはリモートの構成要素をさらに備えていてもよい。図示した例示的な仮想リンク36は、メッセージに対して処理もしくは計算機能を実行できる少なくとも1つの分散型プロセッサ78、アビオニクスディスプレイに対して(例えばARINC661ウィジェットを用いて)コンテンツを提供できるグラフィックレンダラ80、レガシー航空機システムとインタフェースするための仮想エンドシステム82、冗長ストレージのためのネットワーク大容量ストレージ84、またはPMS30から1つ以上の出力ポート66にメッセージを送出するためのメッセージループバックポート86、を備えている。仮想リンク36は仮想リンクID(VLid)を用いてさらに識別しうることが想定されている。
ADS18はスイッチング機能を支援するように動作し、任意の発生源による生データ値を航空機10上の任意の宛先すなわち受信器ユニット32に配信する必要性をサポートする。本発明の諸実施形態では、すべての生データフローがADS18を経由することは必ずしも必要でないことが想定されている。なぜなら、何らかのポイントツーポイントのフロー、例えばADS18を経由しても何らメリットのないフローなどが存在するためである。しかし、例えば、変換、インターワーキング、処理、同期、トラフィックシェーピング、ポリシング、マルチキャスティング等のスイッチング機能を必要としうるすべての生データフローは、ADS18が提供する機能の恩恵を受けうる。それに加え、検証と妥当性確認または分散処理を目的として、スイッチング容量の増強、冗長構成による安全性対策、ストレージ機器もしくは別のADS18によるデータミラーリングを行うために、同じ航空機10またはデータ通信ネットワーク16上に複数のADS18を備えてもよい。
各物理出力ポート66に複数の出力ポート単位記述子キュー43を備え、それにより、パラメトリックメッセージスケジューラ30がルールベース型アービタ76の解釈によるメッセージ優先度に基づいて記述子を使用できるように複数の経路を提供しえることが想定されている。各物理出力ポート66は任意の数の出力ポート単位記述子キュー43に対応しうることが想定されている。図示した実施形態には例えば4つのキュー43が備わっている。出力ポート単位記述子キュー43は、1つのみの物理出力ポート66または仮想出力ポート72に対して動作することがさらに想定されている。
各記述子キュー43と各出力データキュー41は、キュー41、43の空きの少なさを示す信号をキュー満量度インタフェース70に送信するように構成されている。この信号は、次の記述子をどの出力ポート単位記述子キュー43から受け取るかを選択するためにルールベース型アービタ76およびパラメトリックメッセージスケジューラ30によって使用される。
ADS18の動作について説明する前に、ADS18内で使用されるデータについて簡単に説明すると、データ通信ネットワーク16の動作の理解に役立つだろう。初めに、RIU20が1つのデータフレームをADS18に提供しうる。ここで、データフレームは少なくとも識別子とそれに対応する生データとを含んでいる。入力物理インタフェース22の少なくとも1つおよび/または入力ポートスケジューラ24が、受信したデータフレームをパースし、識別子もしくはパースして得た記述子と、それに対応する、パースして得た生データとを取得する。パースして得た記述子(ADS18によってさらにアップデートされうる)は、生データの目的、例えばデータの送信先やデータの発信元などを識別して記述するために用いられる。一方、パースして得た生データはペイロードを含む。その後、ADS18は記述子を用いて生データの位置を特定し、出力ポート66または72が使用できるように、記述子および/または生データから運用データもしくはメッセージを構築または計算する。
一例において、ADS18の動作は、非同期で接続されたRIU20からデータフレームを受信すること、生データをCDS28メモリ(CVT56、循環バッファ54等)に格納すること、格納したデータフレームからメッセージを作成すること、および作成したメッセージを少なくとも1つの受信器ユニット32に送信すること、ができる。それに加え、直接ループバック機能が備わっていてもよい。これは、パラメトリックメッセージ構成器31によって構築されるフレームを、フレームのスイッチングのために入力ポートに送る手段として機能する。ADS18の各部ならびにADS18の動作について以下に詳しく説明する。
入力物理インタフェースの機能
初めに、1つ以上の物理入力ポート42のRIU20から共通入力インタフェース22にデータが提供される。入力物理インタフェース44は、ある特定の物理入力ポート42によって提供されるデータまたはアナログ信号をデータストリームまたはデータフレームに変換することができる構成要素を、例えばデータカプラ38の一部として備えうる。データストリームまたはデータフレームは、FIFO入力データキュー40に格納される。この例では、データカプラ38は以下に示す入力機能を実行しうる:壊れたワード/フレーム/データの除去、非IPデータフレーム(例えば、0x0800以外のペイロード種別ないし長さフィールド)の除去の可能化、データの第1バイトの到達時刻を示すタイムタグの付与、および後続する転送および処理が行われるまでのデータフレームのキューイング。データフレームが入力ポート42または46キュー40に入ったときに生成されうる出力には、例えば次のものがある:到達ポート(PoA)(データフレームが必ず指定の入力ポート42または46に入るようにする)、第1ワードの到達時刻(ToA)、完成されたフレームのToAに関する1ビットパルス(入力ポートスケジューラ24のToAレコーダ50向け;後述)、フレーム読み出し時のフレーム識別のためのフレーム開始とフレーム終了の標識、およびバイト数で表されるフレーム長。
RIU20との外部インタフェースには一例としてEthernetの枠組みを用いており、各物理入力ポート42に対するデータカプラ38は、メディアアクセスコントローラ(MAC)の受信部に類似し、上記パラメータの生成、格納、および復元を行う補助的なロジックを備えている。また、1つ以上のキュー40、例えば、データFIFOキュー40およびフレーム記述子FIFOキュー40に接続されている。
入力ポートは、外部入力物理インタフェース44に関わるものだけでなく、内部もしくは入力仮想インタフェース48に関わるものをも含むことが想定されている。これには例えば、仮想リンク36の出力に関わるもの、例えばインターワーキング(例えば仮想エンドシステム82やパラメトリックメッセージ構成器31)、分散型プロセッサ78、およびグラフィックレンダラ80に関わるものが挙げられる。
正常性モニタリングのため、入力物理インタフェース44またはデータカプラ38によってポートごとの統計値を維持管理しうる。統計値の例として、受信フレーム数、例えばCRC(周期的冗長検査)エラーによって廃棄されたフレーム数、短い(<64バイト)ために廃棄されたフレーム数、および/またはポートに許容された最大フレームサイズを超えて廃棄されたフレーム数を挙げうる。同様に、入力ポートスケジューラ24によってFDM25に提供される、ある特定のフローインデックスに関係する通過もしくは廃棄フレーム数を示す統計量が、ポリサ27によって維持管理されうる。
入力スケジューラ
入力ポートスケジューラ24は、入力物理および/または仮想インタフェース44、48から受信した生データを、完成されたデータフレームが到着するまでの間にFIFOの順に編成する。この意味において、ADS18のスイッチング部分はストアアンドフォワード設計でありえ、そのため、さまざまなサイズの大きなデータフレームは異なる入力ポート42、46に到達した後に、CDS28等の中央メモリに連続的に格納することができる。ADS18はマスタ時間を提供しうることが想定されている。マスタ時間は、CDS28、CVT56、PMS30、および/または受信器ユニット32をはじめとする航空機のさまざまな構成要素、あるいはデータ通信ネットワーク16上の複数のADS18にわたって、同期されていてもいいし、されていなくてもよい。入力ポートスケジューラ24はまたフレーム記述子管理(FDM)機能を任意選択で制御しうる。そこでは例えばデータフレームはバースされ、識別子もしくは記述子およびそれに対応する生データを含む個々の部分に分解されうる。
到達時刻レコーダ
入力スケジューラの動作は、ToAレコーダ50および1つ以上の入力ポート集信器52をも含みうる。ToAレコーダ50は次に格納するべき入力ポート42、46のデータフレームを、ADS18のマスタ時間信号に基づいて決定する。入力ポート集信器52は、到達データフレームまたはA429ワード群を2つのCDS28宛先のうちの少なくとも1つに集信する。すなわち、潜在的に多数の循環バッファ54(キューイング型データの場合)の1つか、またはCVT56(サンプリング型データの場合)である(これについては後述する)。
例えば、あるデータフレームまたはA429ワードがその物理入力ポート42のデータキュー40に完全に到達するたびに、入力スケジューラ24のToAレコーダ50に1ビットパルスが送出され、そのデータフレームの完了時刻を記録可能にしうる。先に到達したデータフレームが他のポート42、46のデータキュー40から送信されている最中に、複数の短い生データフレームがある所与のポート42または46に到達することがありうる。そのため、ToAレコーダ50は例えば各ポート42、46につき、かつ各データフレームにつき1ビットのみを使用しうるが、これはすべてのポート42、46について完了が揃う相対時間を正確に表す。これらのビットは、全体として、あるクロックサイクル中の、ポート42、46のいずれかにおけるフレーム到達の完了を表しており、到達時刻ワード(TAW)に編成されうる。
ある入力ポート42または46にデータフレームまたはA429ワードが完全に到達するたび、その入力ポート42または46に専用の線を切り替え、TAWの1ビットを立てうる。同様に、あるクロックサイクルの間に到達が完了するたびに、TAW全体がToAレコーダ50に書き込まれ、到達TAW値がFIFOの順に編成されうる。あるクロックサイクルの間にデータフレームまたはA429ワードに新しい完了がない場合、ToAレコーダ50に書き込まれるTAWはない。あるいは、同じクロックサイクル中に複数のポートにおいて複数のデータフレームまたはA429ワードの到達が同時に完了した場合、ToAレコーダ50に書き込まれるTAWにおいて複数ビットが立てられうる。
入力ポート集信器52は、ToAレコーダ50の出力において利用可能な最も古いTAWを受信し、最初に到達が完了したデータフレームまたはA429ワードを決定する。このように、入力ポート集信器52は、次に処理してCDS28に送出するべき入力ポート42、46のデータフレームを決定するポートセレクタの働きをする。複数のフレームまたはワードがクロックサイクルの分解能の期間内に異なるポートに同時に到達を完了し、ToAレコーダ50から受信したTAWにおいて複数のビットが立てられることが起こりうる。その場合、入力スケジューラ24は、ToAレコーダ50の出力から次のTAWワードを受信する前に、データフレームが同時に到達を完了したすべてのポートを、例えばラウンドロビン方式で取り扱う。この操作は、データ到達速度および/またはデータフレームサイズに関係なく、すべての入力ポート42、46に対してデータレートの公平性を保証しうる。
入力ポート集信器
入力ポートスケジューラ24に対して3つの入力ポート集信器52が存在しうる。例えば、1つの入力ポート集信器52はパースされたEthernetフレームまたは生データを集信し、DLT26およびポリサ27に提供する格納情報ならびにフロー識別子とともに、1つ以上の循環バッファ54に書き込めるようにする。記述子はその後、DMD29によって記述子キュー43に書き込まれ、PMS30によってスケジューリングされたタイミングでルールベース型スケジューラ76によって取り扱われうる。
第2の集信器52は、Ethernetフレーム、生データ、および/またはA429ワード群をCVT56に書き込み、PMS30および/またはPMC31が後で使用できるようにしうる。第3の集信器52は、生データおよび/またはA429ワード群(例えばマルチワードメッセージを内包するもの)を、FIFOとして編成された1つ以上の循環バッファ54に書き込み、生データのサンプルの時間順および/またはA429ワード群の順序を維持可能にしうる。これらは以後、A429出力キューと呼ぶことにする。
ToAレコーダ50の処理対象としてある特定の入力ポートが選択されたら、入力ポート集信器52は、選択された入力ポート42または46から得てパースした生データを、CDS28のCVT56または循環バッファ54の少なくとも1つ、および/またはFDM25に転送するようにコーディネートする。
フレーム記述子マネージャ
FDM25は、入力物理インタフェース44の諸機能によって生成されたフレームヘッダ、フレーム長、ToA、およびPoAを用いてデータフレームに対する記述子を作成し、さらにその記述子を該当する出力ポート単位記述子キュー43群にブロードキャストする。FDM25はまた、CDS28に書き込まれた各EthernetフレームまたはA429ワードのフレーム先頭ポインタ(HOFポインタ;パースして得たデータのアドレス識別に使用)、およびフレーム格納時間(ToFS;パースして得たデータの格納が許容されうる期間の識別に使用)を受信しうる。記述子の配信に対してDMD29が用いるルーティング経路には、Ethernetフレーム用とA429データワード用の2つがある。それに加え、これらの経路のそれぞれに対して異なる記述子がある。
フレーム記述子マネージャ(FDM)25は、データ経路ルックアップテーブル(DLT)26、ポリサ27、および記述子マルチキャスト配信器(DMD)29から構成される。DMD29は、同一の記述子を複数の出力ポート単位記述子キュー43に書き込むことを可能にする。DMD29は、DLT26によって出力され、記述子の書き込み先となる出力ポート単位記述子キュー43を識別する一連のビットによって制御される。
入力ルックアップテーブル
入力ポートスケジューラ24には入力ルックアップテーブルが組み込まれうる。入力ルックアップテーブルはデータフローを識別し、いずれかの入力ポート42、46に生じる各フローに一意のインデックスを割り当てるのに使用されうる。このインデックスは、さまざまなデータ経路格納および制御機能に対してフロー識別子の働きをする。例えば、ポリシングパラメータや、DMD29がフレーム記述子を格納するキュー43を示すルーティング用ビットをDLT26が検索する際に、このインデックスはキーの働きをする。このインデックスはまた、フレームデータをCDS28に格納する場所を知るためのアドレス検索にも用いられる。例えば、循環バッファ54の最新オフセットアドレスを検索・格納するために用いられうる。入力ルックアップテーブルは、ランダムアクセスメモリ、ハッシュ方式のロジック&メモリ、または連想メモリ(CAM)を備えうる。連想メモリの出力、すなわちフローインデックスもしくはキーは、ポート番号と、受信データフレームにおいて選択されたビットとによって決定される。例えば、UDP/IP/MACヘッダのどのビットがデータフロー種別を特定するのかを示すために、物理Ethernetポートごとに構成オプションを提供してもよい。あるいは、ARINC429のデータフローは、ARINC429ワードの8ビットラベルを連結した、ARINC429の入力物理ポート番号によって識別しうる。
このフローインデックスはまた、なりすましやデータ破壊に対して確実な保護を提供しうる。例えば、DLT26の出力は、フレームの到達予定ポート(EPoA)を示すフィールドを含みうる。そのフレームが到達した実際のポート番号(入力物理インタフェース44によって報告されるもの)に対するチェックを行ってもよい。両者が不一致の場合に当該フレームを廃棄してもよい。
ARINC429インタフェースの場合、A429タグとポート番号とが連結されたうえ、出力がフローインデックスでありうる個別のルックアップテーブルにアクセスする際にそれが用いられる。
フローインデックスを用いて開始位置とフレーム長とがCDS28の書き込み機能に提供され、それにより、適正数のCDS28位置に対する正しいベースアドレスを起点として、生データフレームの内容が書き込まれうる。
フロー識別子は、DLT26に格納される、ルーティング、ポリシング、および格納パラメータのテーブルに対してアドレス指定を行う。このDLT26の出力ビットフィールドは、データソースの種類ならびに格納位置に応じて異なる解釈をもちうる。Ethernetフレームは、CDS28のうち循環バッファ54またはCVT56の領域に格納できる。A429データワードはCVT56に格納できるほか、48個の出力A429キューの1つに直接送信でき、またその両方を行うことも可能である。バックツーバックのA429メッセージの一時的なエイリアシング、または同一のA429メッセージに属する重複ワードのフィルタリングに対する防止方法を宛先受信器ユニット32が備えていない場合、A429マルチワードメッセージはCVT56に格納しなくてもよい。
一例において、フローインデックスによって選択されるDLT26出力は次の任意の組み合わせを含みうる:CDS28バッファのベースアドレスと、そのベースアドレスがCVT56位置を参照するかどうかを示す1ビット;循環バッファ54のID;循環バッファ54のサイズ;仮想リンク(VL;例えば仮想出力ポート72)アカウント識別子(VLacctID);データが指定の入力ポートに必ず到達するように処理するための予定PoA(EPoA);それがARINC429のワード記述子かどうかを示す1ビットフィールド;当該フレームを受信する出力ポート66、72を示すポートマスクビットベクター;当該記述子が書き込まれる出力ポート単位記述子キュー43の優先度を示すビットフィールド;フレームベースのポリシングにおけるA664p7帯域幅割り当てギャップ(BAG);ポリシング廃棄ビットとポリシングバイパスビット;および上記CVT位置ビットの値に応じて決まる、フレームベースのポリシングにおけるジッタ許容範囲(JitterT)、最大フレーム長(Smax)、またはCVT56フレーム長。
CDS28の書き込み制御機能は、CVT56書き込み操作と循環バッファ54書き込み操作の2種類の書き込み操作をサポートする。DLT26出力はCVT位置ビットを有する。CVT位置ビットは、ベースアドレスフィールド内の値が何らかのCVT56位置であるかどうか(例えばCVT位置ビット=1かどうか)を示す。CVT56書き込み操作を示す任意のフローインデックスに関し、CVT56に書き込まれるフレームは常に同一サイズであるべきである。CVT56のこのビットは、Smaxフィールド内の値が固定長のCVT56フレームであるのか、それとも最大フレームサイズ(Smax)の可変長フレームであるのかをも指定する。後者は非CVT56フレームの場合にポリサ27によって実現される。CVT56フレームの場合、物理インタフェースの機能部によって計算されるフレームサイズがSmaxフィールド内の値と厳密に一致しなければ、そのCVT56フレームは廃棄されうる。同様に、非CVT56フレームの場合、フレームサイズがSmaxより大きければ、そのフレームは廃棄されうる。
CVT56書き込み操作の場合、フレームの位置および長さはあらかじめ決まっているか、または不変である。直近に受信したフレーム内の値が、以前に受信したフレーム内の値に対して単純に上書きされる。DLT26の出力は、CVT56に書き込むフレームのベースアドレスと長さとを直接的に提供する。データをCVT56メモリに書き込むかどうか、すなわち、入力ポートスケジューラ24の入力ルックアップテーブルによって決定されるフローインデックスが、ある所与の物理入力ポート42に到達することを許されるかどうかは、そのPoAによって決定または管理される。物理入力ポート42上の無許可フローは、CVT56への書き込み防止により、CVT56メモリの上書きが不許可になりうる。さらに、上述のように、入力物理インタフェース44によって計算されるフレーム長がSmaxフィールドの値に一致しない場合、そのフレームは廃棄されうる。
なお、他のADS18が同じデータを格納ないしミラーリングできるよう、CVT56に書き込むサンプリングポートデータを有するEthernetフレームをミラーリングすることができる。このミラーリング機能は、例えば、別のADS18に接続された物理出力ポート66にメッセージを送出することによって実施しうる。あるいは、データミラーリングは中央管理型のデータストレージデバイスを用いて実現しうる。中央管理型のデータストレージデバイスは、例えば、仮想入力または出力ポート46または72としてすべてのADS18にアクセス可能でありうる。その一例を仮想リンク36のネットワーク大容量ストレージ84として図示している。CVT56位置にA429ワード群を格納し、それをA429出力キュー41の1つ以上に書き込むことも可能である。ただし、いずれかの入力A429リンクに到達するA429ワードは、最初にPMC31を用いてEthernetフレームにカプセル化しないかぎり、Ethernetポートから送信することはできない(これについては後述する)。
書き込み操作が循環バッファ54書き込み操作であることをDLT26出力が示す場合(例えば、CVT位置ビット=0で、非CVT56フレームを示す場合)、そのフレームは、次に使用可能な循環バッファ54メモリ位置に書き込まれうる。このメモリ位置は、例えば、DLT26出力のあるフィールドから得られる循環ベースアドレスと、入力ポートスケジューラ24によって維持管理されている循環バッファオフセットテーブルと、によって決定される。ベースアドレスとオフセットアドレスは、循環バッファ54内の次の書き込み位置を追跡するために使用されうる。
各循環バッファ54のベースアドレスは、DLT26出力のメモリベースアドレスフィールドによって決定される。DLT26出力の別のフィールドは循環バッファサイズを示す。循環バッファ54に書き込まれる任意のデータワードのアドレスは、循環バッファ54ベースアドレスと循環バッファオフセットとの和である。循環バッファオフセットは、各ワードが書き込まれた後に循環バッファ54サイズを法としてインクリメントされるのに対し、循環バッファベースアドレスは一定に保たれる。データフレームまたはA429ワードの最後のワードが循環バッファ54に書き込まれると、フローインデックスによって示される循環バッファオフセットテーブル内の位置に次の位置のオフセットアドレスが記録され、その循環バッファ54に書き込まれる次のフレームの開始オフセットとして使用可能になる。
本発明の諸実施形態に制限はないが、図示した実施形態は最大256個の循環バッファ(奥行き8K)を備えうる。これにより、一例として、それぞれの物理入力および/または出力ポート42、66に対して1つの循環バッファ54を設けうる。代替例として、フローインデックスごとに1つの循環バッファ54を設けうる。さらに別の例として、個々の循環バッファ54は、あるひとまとまりの仮想出力ポートもしくは仮想トランクを表しうる。「トランク」は一群の出力側仮想ポートに対応する。これらの仮想ポートは任意の物理出力ポート66群または仮想出力ポート72にマッピングできる。例えば、可用性の理由から、同じARINC653(A653)アビオニクスアプリケーション(例えば大気データを処理するアプリケーション)を複数の列線交換ユニット(LRU)に常駐させうる。これらはADS18の異なる物理出力ポート66に接続されうる。ただし、かかるアプリケーションのすべてのインスタンスは1つのトランクグループを形成するように構成しうる。これは、上記すべてのインスタンスが同一の循環バッファ54を共有し、そのデータおよび帯域幅の要求条件を他のA653アプリケーションから完全に切り離すためである。したがって、このような細分性により、循環バッファ54が(分散型の)A653アプリケーションごとにアロケート可能になる。
データが循環バッファ54に書き込まれるたび、記述子マルチキャスト配信機能が記述子を複製する。これは、対応するデータフレームの循環バッファ54における格納位置を示す。これに加え、ルールベース型スケジューラ76および/またはPMS30は出力スケジューリング機能を実行しうる。この機能により、各物理出力ポート66がフレームのコピーを受信することが予想されたときにそれが確実に実行される。
図示した構成では循環バッファ54は3つのみ使用されている。これらは、データレートが同じ物理出力ポート66または受信器ユニット32を共通の循環バッファ54に対応づけることによって割り当てられている。それにより、A664p7のキューイング型データフレームに対して中央バッファが最も効率的に使用される(共有メモリ)。この構成において、すべての10Mbps物理出力ポート66が1つのトランクグループ(10Mbps循環バッファ60)を構成しえ、すべての100Mbps物理出力ポート66が別のトランクグループ(100Mbps循環バッファ62)を構成しえ、すべての1000Mbps(1Gbps)物理出力ポート66がトランクグループ(1Gbps循環バッファ64)を構成しうる。3つの循環バッファ60、62、64があり、かつデータフレームはデータレートが異なる複数の物理出力ポート66に向かいうるが、CDS28が格納するフレームのコピーは1つのみである。フレームが実際に書き込まれる循環バッファ60、62、または64は、そのフレームの複製先となる最も遅い物理出力ポート66のデータレートに対応する。簡単のため、以下では出力データレートが同じ物理出力ポート66群ごとに1つの循環バッファ54、すなわち10Mbpsの60、100Mbpsの62、または1Gbpsの64があると仮定する。
ポリシング機能
ポリシング機能はポリサ27によって実行される。ポリサ27は、FDM25に備わり、かつステートマシンによって制御される特定目的ハードウエアロジックパイプラインでありうる。ポリサ27の機能は受信データがA429データワードかEthernetフレームかによって異なる。ポリサ27は、Ethernetフレーム記述子を記述子マルチキャスト配信器29に送っていいかどうか、ならびに受信データをCDS28のCVT56もしくは循環バッファ54領域のいずれかに格納していいかどうかの判定を行う。定義上、ARINC429フレームは記述子マルチキャスト配信器29に対してEthernetフレーム記述子を生成しない。この例では、CDS28を迂回する別個のデータ経路に対して入力ポートスケジューラ24は個別の記述子を提供しうる。別の例では、ポリサ27はA429データワードをCVT56に格納してよいかどうかを判断しうる。
CVT56に格納されることが予想されるデータフレームの場合、フレーム長が予想フレーム長と異なれば、そのフレームは廃棄される。BAGおよびジッタ許容範囲に関するポリシングは行う必要がない。
循環バッファ54に格納されてポリシングを受けることが予想されるデータフレームの場合、ポリサ27はDLT26のVLacctIDを用いて第2のルックアップを行い、そのVLacctIDを有する以前のフレームの到達時刻を調べてBAGおよびジッタ許容範囲の制約を実行する。当該フレームのEPoAがPoAに一致しない場合、またはフレーム長がその仮想リンク(VL)に対して予想される最大フレーム長Smaxを超える場合、あるいはBAG/ジッタ違反がある場合、ポリサ27は現在のフレーム記述子のマルチキャスト配信を停止しうるとともに、CDS28へのフレームの書き込みを中止しうる。
ポリサ27におけるBAGおよびジッタ許容範囲に対するフレームベースポリシングは、ある循環バッファ54に入力されるデータの最大総合転送速度が、そのバッファからデータを受信する最も遅い(場合によっては仮想的な)ポートに対して最低限必要な生存時間(time−to−live)を確保するために必要な転送速度よりも確実に低くなるようにするために用いられうる。BAGおよびジッタ許容範囲に対するフレームベースポリシングはまた、データ通信ネットワーク16内のいかなる出力ポート66、72もその帯域幅およびレイテンシ余裕を超えないようにするために用いられうる。あるVLacctIDに対して設定された最大データレートを超えた、すなわち、設定されたBAGまたはジッタ許容範囲を満たしていないとポリサ27が判断した場合、記述子が出力ポート単位記述子キュー43に書き込まれることを防止しえ、それによってフレームが物理的受信器ユニット32に送信されるのを防止しうる。
一例として、Ethernetフレーム記述子を記述子マルチキャスト配信機能部に送っていいかどうか、ならびに受信データをCDS28に格納していいかどうかを判定するため、ポリサ27はDLT26から得る6つの値を使用しうる。すなわち、制御ビット(Ctrl)、VLacctID、到達予定ポート(EPoA)、最大フレームサイズ(Smax)、帯域幅割り当てギャップ(BAG)、およびジッタ許容範囲(JitterT)である。A664p7では複数の仮想リンク(VL)が同一のVLアカウントに属することができる。すなわち同じVLacctIDをもつことができ、したがって、そのVLacctIDに対して設定したSmax、BAG、およびJitterTを用いてまとめてポリシングを行うことができる。ポリサ27は実際の到達ポート(PoA)、到達時刻(ToA)、現在時刻(T)、およびフレーム到達表示を入力スケジューラ24から取得する。入力スケジューラ24は現在時刻Tを記録するタイムマネージャを備えている。
記述子マルチキャスト配信
記述子マルチキャスト配信器(DMD)29は、DLT26によって出力される一連のポートマスクビットを用いて、フレーム記述子のコピーを書き込む一群の出力ポート単位記述子キュー43を決定する。PMS30によって循環バッファ54から読み出されるフレームのコピーを受け取る各ポート66または72に対し、記述子のコピーが1つ書き込まれる。ある特定の出力ポート66に対するルールベース型スケジューラ76の動作をPMS30がスケジューリングするとき、PMS30は、CDS28からのフレーム読み出しおよび物理出力ポート66へのフレーム送信に使用する出力を出力する、出力ポート単位記述子キュー43を選択する。なお、CVT56に格納されるEthernetフレームおよびA429データワードはPMS30およびPMC31によってその配信が制御されるため(これについては後述する)、DMD29に頼らなくともよい。
DMD29によって出力される交換型データフレームの記述子は、フレームの第1ワードの位置(HOFポインタ)、フレーム格納時間(ToFS)、フレーム長、優先度(P)、およびポートマスクを含みうる。DMD29がDLT26から受信したポートマスクと優先度を用いて、DMD29は、交換型データフレームの記述子のコピーを受け取る出力ポート単位記述子キュー43群と、その記述子が書き込まれるキュー43の優先度とを示す、出力ポート優先度別のビットを生成する。この仕組みは、例えば、ADS18から受信されなかった各パラメトリックデータフレームのコピーが別のADS18に確実にミラーリングされるようにするために用いられうる。逆に、別のADS18からパラメトリックデータフレームを受信した場合、それはローカル位置のCVT56に格納されうるが、他のADS18に再配信されることはない。これは、ADSを接続する出力ポートに対応する各ポートマスクビット値がゼロに設定される(すなわち出力ポート66または72を特定できない)ことによる。ADSを接続する出力ポートに対応する各ポートマスクビット値をゼロに設定することにより、メッセージが複数のADS18にわたって際限なく伝播して、データ通信ネットワーク16の帯域過負荷が生じる状況が防止されうる。
パラメトリックデータが入ったフレーム(例えば、A/D値を有するEthernetフレーム、ARINC429ワード、離散ビットの値等)は、CDS28のCVT56領域内にある所定の専用位置に格納しうる。一般的な航空機の場合、2つから4つのADS18が存在しえ、機体内のそれ以外のADS18の内容をミラーリングする機能を各ADS18に与える仕組みがそれぞれに備わっている。CVT56に書き込まれる各パラメトリックフレーム(ただし、別のADS18から受信したのではないもの)に対する記述子は、別のADS18に接続されたそれぞれの出力ポート66、72の出力ポート単位記述子キュー43のうち、優先度が最も高いものに対して複製されうる。ルールベース型スケジューラ76のサービス規律により、以下に説明するように、併設されるどのADS18も直近フレームのコピーを受信するようになっている。
中央データサーバの書き込み制御機能
DMD29と並行して、CDS28に向けたフレームをポリサ27が送り出すと、そのフレームは循環バッファ54またはCVT56に格納される。CDS28の書き込み制御機能部への入力には、フレーム格納時間(ToFS)と、入力物理インタフェース44の機能部からのフレーム長と、入力ポートスケジューラ24およびDLT26からの循環バッファ54またはCVT56のメモリ位置とが含まれうる。循環バッファ54またはCVT56のメモリ位置はアドレスカウンタの初期値となり、そのフレームの記述子内に書かれてDMD29に提供される、フレーム先頭ポインタ(HOFポインタ)となる。ToFSは読み出し時のフレーム検証に使用され、そのフレームに属する第1ワードとしてCDS28メモリ内に格納されうる。続いて、後続するすべてのフレームデータワードが、例えば64データビットとECCの形で一度に書き込まれる。1回書き込まれるごとにアドレスカウントがインクリメントされる。書き込みコントローラは、書き込むバイト数と入力物理インタフェース44から得られたフレーム長とを比較する。最後のワードが書き込まれるまでこれが繰り返される。書き込む最後のワードは完全な64ビットワードでなくてもよく、その場合、最後のワードは不足分が付加されて、有効なECCと合わせて64情報ビットにされうる。
図示するように、CDS28の書き込み制御機能部は、10Mbps、100Mbps、または1Gbpsの出力ポート66、72に向かうフレームをそれぞれ格納する3種類の専用循環バッファ60、62、64に合うように構成されうる。格納されるのはフレームの1つのコピーのみだが、出力ポート単位記述子キュー43には、そのフレームへの参照情報を有する記述子の複数コピーがマルチキャストされうる。フレームが格納されうる循環バッファ60、62、または64は、そのフレームをコピーないしマルチキャストする先の最も遅い出力ポート66または72によって決まる。これら循環バッファ60、62、64のそれぞれにフレームを続けて格納する場合、一番古いフレームのワードが最新のフレームによって上書きされるように循環バッファ60、62、64に連続的に格納される。循環バッファ60、62、または64にデータを書き込む場合、フレームの長さは入力物理インタフェース44の機能部がそのフレームについてカウントするバイト数(例えばFrameLength入力)によって決定される。適切に予想された決定論的システムでは、そのすべての出力ポート66、72に対してマルチキャスト処理が完了したわけではない循環バッファ60、62、または64に対し、フレームを早まって上書きすることは絶対に起きるべきではないと想定されている。しかし、64ビットのタイムスタンプToFS(CDS28に書き込まれたフレームの先頭の第1ワード)が、DMD29によってキュー43に書き込まれる記述子内のToFS値と不一致であることによって、上書きは容易に検出されうる。不一致の場合、フレームは廃棄されうる。CDS28からのフレーム読み出しに用いられる記述子が別のフレームによって上書きされた位置を読んでいないことを確認するために、追加的なチェックを行いうる。例えば、キュー43に書き込まれ、かつデータフレームとともにCDS28に格納される記述子に追加的なフレームヘッダビットを含ませることにより、例えば宛先MACアドレスをチェックしうる。
DLT26から得られるビットは、データフレームからパースしたデータがCVT56の静的メモリ位置(サンプリング型データのために確保されている)に書き込むのか、あるいは循環バッファ60、62、または64に書き込むのかを示す。CVT56の位置ビットが例えば「1」に設定されている場合、CDS28のベースアドレスはCVT56の位置を表し、またSmax/フレームサイズの値は、そのベースアドレスを起点に格納される、事前に設定されたフレームサイズだと解釈される。この例ではフレーム長は固定であり、入力インタフェース機能によって示されるフレーム長がILUTによって示されるフレーム長と完全に一致しないかぎり、入力ポートスケジューラ24のポリシング機能はパースされたデータの書き込みを許容しない。これにより、受信フレームサイズエラーの場合にCVT56内のデータにおける潜在的なフレーム間エイリアシングが防止されうる。ベースアドレスはプリセット値としてアドレスカウンタにロードされ、DLT26から読み出したSmax/フレームサイズ値に示されるフレームサイズに達するまで、CDS28への書き込みが行われる。
古すぎる値がCVT56に格納されるのを防止するため、CVT56に格納されるパラメトリックEthernetフレームには64ビットの時刻値が付加される。これはパースされたデータフレームの最終ワードに続いてCVT56に格納される。これらのパラメトリックデータフレームはCVT56に格納されるのに加え、他のADS18に対してミラーリングされる。したがって、他のADS18に接続される物理入力ポート42を先んじて特定し、そのパラメトリックデータフレームが別のADS18から届かなかった場合に、他のADS18に接続された物理出力ポート66の出力ポート単位記述子キュー43のうち優先度が最も高いものに対して記述子のコピーをマルチキャストしうることが必要になりうる。別の言い方をすれば、より最新のデータフレームが非ADSソース(RIU20等)からあるADS18に到達すると、そのデータフレームが追加的なADS18によってできるだけ速やかにミラーリングされやすいよう、各物理出力ポート66で優先度が最も高いキューに対してその記述子のコピーがマルチキャストされうる。逆に、そのデータフレームが別のADS18から到達したら、ADS18に向かう物理出力ポート66に記述子が再配信されることがないよう、記述子マルチキャスト内のポートマスクビットをクリアすることにより、同じデータが際限なく複製されて無限ループに陥ることを防止しうる。
マルチワードメッセージに属さないARINC429データフレームは、PMC31がパラメトリックメッセージにパッケージ化するためにCVT56に書き込まれうる。ARINC429が規定するのは32ビットデータワードだが、CDS28の各CVT56位置は64ビットワードと8ビットのECCである。古すぎるA429ワード群の値がCVT56内に存在することがないよう、各A429ワードには上位32ビットの時間(LSBは216マイクロ秒である)によるタイムタグが付与されている。したがって、CVT56に格納されるそれぞれのA429ワードは、上位32ビットの時間と下位32ビットのA429ワードを有する。
中央データサーバのメモリ
CDS28は、例えばQDR(quad data rate)メモリを使用しうる。これはDDR(double data rate)メモリに比べて奥行きが小さい(shallow)。DDRと同様に同期式であり、かつECCによる保護が可能だが、独立したDDR読み書きデータポートとDDR読み出しアドレスポートをもち、たいていは書き読みアクセスを同時に行うことができる。このタイプのメモリは、特にデータスイッチング用途を目的として設計されたものである。ADS18では、目標スループットを達成するため、CDS28のメモリは例えば250MHzのクロック周波数で動作しうる。例えば、38ビット幅のDDRデュアルデータポートを備えたQDRは、16Gbpsの全二重データをサポートするのに十分な帯域幅を有する。データ要件またはスループットの必要性に基づく代替的なメモリ速度が想定されている。
CDS28は最大256個の循環バッファ54で編成されうるが、図示したCDS28は3つの循環バッファ60、62、64とCVT56の形で編成されている。各循環バッファ60、62、または64がデータ格納のために確保されているのに対し、CVT56は、ADS18がカスタムメッセージを構築する際に用いる、パースされたパラメトリックデータ、ヘッダ、およびアドレスリストを保持する。これについては後述する。
本例のように1Gbps、100Mbps、および10Mbpsのデータ格納のために3つの循環バッファがある場合、フレームが書き込まれる循環バッファは、フレームのマルチキャスト先となる最も遅いポートによって決まる。同一の出力速度によってグループ化されるどの一群のポートに対しても、512個のフレームをその速度で送出するのに要する時間に適合するよう、CDS28は、当該ポート群の総合データ転送速度(すなわち10Mbps、100Mbps、1Gbps)に対して十分な記憶容量を有することが必要である。例えば、それぞれの出力データレートに特化した循環バッファ60、62、または64のサイズにおいて柔軟なアロケーションを実現する一方で、CDS28はCVT56に対して2Mバイトの記憶容量を提供しうる。これは、循環バッファ54の数や、そのデータレートに設定されている入力または出力ポート42、46、66、72の数、パースしたデータフレームの所望保持時間、ならびにそのバッファに含まれるフレームに必要な生存時間に従って、さらに調整されうる。
一例として、デフォルトのアロケーションは、循環バッファ60、62、または64の1つ当たり24Mバイトでありうる。各循環バッファ60、62、または64について、格納時間は8×24M/(ポート速度×ポート数)でありうる。例えば、24Mバイトの循環バッファは、そのバッファにデータを供給する10Mbps入力ポート42、46の数で20秒を割った商、100Mbpsポート42、46の数で2秒を割った商、または1Gbpsポート42、46の数で0.2秒を割った商より大きい格納時間を実現する。各循環バッファのサイズは適宜、設定可能でありうる。入力または出力ポート42、46、66、72における不使用のラインレートは、そのバッファを共用するすべてのポートに対して余った格納時間を提供する。
フレームスイッチングでは、循環バッファ60、62、または64により、パースしたデータフレームに対して固定ブロックサイズを確立する必要性や、空いたバッファアロケーションを記録する必要性がなくなりうる。この特徴がなければ、ADS18全体がシングルイベントアップセット(SEU)によるメモリリークにさらされることが予想される。SEUは中性子等の亜原子粒子によって生じると考えられ、その発生頻度は高度とともに高まり、メモリに格納された値や、場合によってはロジックに格納された値でさえ壊れる可能性がある。循環バッファがオーバーフローした場合は最新データが古いデータを上書きする。ADS18のすべてのFIFOキュー40も循環バッファ54の方式を使用しうる。このように、SEUによって循環バッファ60、62、64の読み書きポインタが壊れたとしても、循環バッファ60、62、または64が完全に上書きされるのに要する時間内に訂正されることが保証される。
出力スケジューリング
PMS30の出力スケジューリング機能部は、CDS28からどのデータを読み出し、それをどの出力ポート66、72が受信するのかを決定する。出力スケジューリング機能を決定するのは、出力ポート単位記述子キュー43、PMS30、パラメトリックメッセージ構成器31、および出力アービタ(ルールベース型スケジューラ76等)の4つの主要機能要素である。ルールベース型スケジューラ76は、各出力ポート66、72に対する優先付けされた4つの記述子キュー43を維持し、かつそれらに従って動作する。各キュー43は512個の記述子を保持するだけの十分な容量を有しうる。出力ポート単位記述子キュー43内にある記述子は、記述子マルチキャスト配信器29がブロードキャスト用バスを用いて書き込んだものである。あるいは、PMS30は、ルールベース型スケジューラ76が次に取り扱うべき出力ポート66、72、またはパラメトリックメッセージテーブル58にアクセスするためにPMC31が使用するべきメッセージ記述子、を示すスケジュールを維持しうる。上記アクセスの目的は、CVT56および/またはA429出力キューから読み出されるデータを用いて構成メッセージを生成することである。
ルールベース型スケジューリング
ルールベース型スケジューラ76はユーザ設定可能な構成要素としてPMS30内で動作する。PMS30は各出力ポート66、72がルールベース型スケジューラ76にアクセスするのを可能にする。スケジューラ76は、いずれかが利用可能な場合に、その4つの優先付けキュー43から記述子を選択するのに用いられる。その記述子はCDS28への読み出しアクセスを行うために使用されうる。PMS30は、例えば、各出力ポート66、72がラウンドロビン方式、時間的に厳密なスケジュール、または所定のアルゴリズムでルールベース型スケジューラ76にアクセスするのを認めうる。それ以外の処理方式、例えば、出力ポート66、72の重要度に基づく追加的もしくは優先付けアクセスの許可を考慮した、重み付けスケジュール等が想定される。CDS28へのアクセス許可において、PMC31は、CDS28に対する帯域保証アクセスが認められた別の出力ポート66、72であると見なされうる。その条件は、例えば、最大帯域保証が1Gbpsで、各アクセス間の最大保証レイテンシが66マイクロ秒未満である。ルールベース型スケジューラ76は、各ポート66、72のアクセス機会において優先付けキュー43のどの記述子を読み出すのかを決定する仲裁を行う。その記述子はその後、CDS28から得たフレームのコピーの読み出し、およびいずれかの出力ポート66、72への送信に用いられる。
ルールベース型スケジューラ76は、各出力ポート単位記述子キュー43から一群の満量度しきい値ビットまたは値を、また各物理出力ポートキュー41からキュー満量度インタフェース70経由でキュー満量度表示を、入力として受信しうる。しきい値ビットは、例えばキュー43の満量度が設定したしきい値を超えたときに「1」に設定され、キュー41に空きが足りずにフレームが受信不可の場合に別のしきい値ビットが必ず「1」に設定されうる。全体として、キュー満量度インタフェース70に含まれるビットは、出力ポート66、72ごとの複数のキュー41、43の満量度を表す。出力ポート単位記述子キュー43に空きが足りない場合、ルールベース型スケジューラ76はキュー43の優先度ごとに処理方法を修正してもよいし、キュー41に空きが足りない場合は、キュー41への追加的フレームの送信を一時的に保留してもよい。例えば、出力ポート66または72を取り扱っている最中に、受信した満量度しきい値に基づいてそのポート66または72の出力ポート単位記述子キュー43の1つ以上に空きが足りないとルールベース型スケジューラ76が判定した場合、スケジューラ76は空きのないキュー43を最初に取り扱うように判断しうる。別の例では、出力ポート66または72を取り扱っている最中に、出力ポートキュー41に空きが足りずに別のフレームを受信できないとルールベース型スケジューラ76が判定した場合、キュー41が別のフレームを受信可能になるまでそのポート66または72の取り扱いを中止することをスケジューラ76は決定しうる。さらに別の例において、取り扱い中の出力ポート66または72に対応するどの出力ポート単位記述子キュー43にも処理するべき記述子がない場合、ルールベース型スケジューラ76は次の出力ポート66または72を取り扱うように制御アクセスをラウンドロビン(もしくは代替的な)方式で切り替えうる。
上述のように、各出力ポート66、72に対して4つの出力ポート単位記述子キュー43が備わっており、それぞれ優先度が与えられている。どのキュー43の記述子を処理するかは、4つの記述子キュー43のそれぞれの満量度に依存する。各キュー43の満量度は、例えば7つのしきい値レベルと空きフラグとによって測定しうる。この例では、7つのしきい値レベルは異なる「満量度」レベルを表しうる。7つのしきい値と空きフラグは優先度エンコーダロジックを用いて3ビット値に変換されうる。この3ビット値により、PMS30が取り扱う記述子を入れる(すなわちCDS28からデータを読み出す)出力ポート単位記述子キュー43が決まる。この12ビットと4ビットカウンタの出力とを用いて、例えば、ルールベース型スケジューラ76のサービスルールが格納されている16K×3のルックアップテーブルのアドレッシングを行う。あるいは、ルールベース型スケジューラ76のルールは、例えば、サービスルールを決定するアルゴリズムであってもよい。このルックアップテーブルへの入力として各ポートに対して4ビットカウンタを備える目的は、静的なしきい値の組み合わせが存在し、同一のキューが不定期間にわたって処理されることになる、理論上の可能性を排除することにある。それは各優先度に与えられる処理速度について下限値を保証するひとつの方法である。
ルールベース型スケジューラ76の優先度に基づき、選択した出力ポート単位記述子キュー43から選択した記述子が読み出されたら、完成されたフレームがCDS28から読み出されてポート41に送信された後、次の出力ポート66、72が、スケジューラ76に処理される記述子をもつことを許可され、CDS28からフレームを受信する機会を認められる。交換型データフレームの場合は、読み出し処理の間に記述子のToFSが格納されたフレームのToFSと比較されうる。両者が不一致であればフレームは廃棄されうる。それぞれの出力Ethernetポートはプログラム可能な最大寿命(MaxAge)をさらに有しうる。ToFSと、入力ポートスケジューラ24の書き込み制御機能部に備わるタイムカウンタの現在値との差がMaxAgeパラメータより大きい場合、そのフレームは廃棄されうる。それ以外の場合、フレームはPMS30によってCDS28から読み出されてその出力ポート66、72に転送され、さらに受信器ユニット32または仮想リンク36に送出される。
パラメトリックメッセージスケジューラ
パラメトリックメッセージスケジューラ(PMS)30はどのメッセージをどの出力ポート66、72に送信するのかをスケジューリングする動作を行う。PMS30はルールベース型スケジューラ76が次に取り扱う出力ポートを、例えばラウンドロビン方式で決定し、ルールベース型スケジューラ76によって選択された出力ポート単位記述子キュー43から受信した記述子を用い、完成されたデータフレームをCDS28内の循環バッファ54から読み出す。読み出したこのデータフレームは、処理中の出力ポート66、72に共通出力インタフェース34を用いて送出される。
PMS30は、PMC31があたかも出力ポートであるかのようにその動作をスケジューリングしえ、また構築するメッセージの記述子をPMC31に渡すことによってPMC31がどのメッセージを構築するかを制御する。PMC31によって受信される記述子は、パラメトリックメッセージテーブル58内の項目のリストに対する参照情報を有する。それらの項目は、CVT56またはA429出力キューから送られるもののうちどのようなデータを、構築するフレームに書くのかを詳しく示す。例えば、PMS30は、アドレスリストへのアドレスおよびリスト長をPMC31に提供しうる。リスト中のアドレスは、CVT56またはA429出力キューに含まれ、構築対象のデータフレームに書かれるデータに関する位置である。
パラメトリックデータフレームの構築は厳密にスケジューリングされうる。一例として、最大4096個のフレーム構築のスケジューリング、ならびにスケジューリングされるデータフレームについて500マイクロ秒の発送分解能がサポートされうる。500マイクロ秒の時間増分を表すカウンタ値のテーブル、カウンタしきい値のテーブル、およびメッセージ記述子のテーブルが存在しえ、そのすべての参照情報は記述子テーブルアドレスカウンタ(DTAC)の項目によって示される。構築されるデータフレームに対する記述子フォーマットについては以下に詳しく説明する。カウンタ値テーブル、カウンタしきい値テーブル、および記述子テーブルの各項目は構築される1つのデータフレームの1つのインスタンスに対応している。
メッセージ構築のスケジューリングは以下のように進行する:4096個のカウント値の完全なテーブルをDTACがスキャンする。各カウント値はインクリメントされ、最大カウントしきい値のテーブルから得られたその最大カウントしきい値と比較される。カウントがそのしきい値より小さければ、インクリメントされた値がカウント値のテーブルに単に書き戻され、メッセージ構築は始まらなくてよい。一方、カウントがメッセージに対してプリセットされた最大値以上の場合、書き戻されるカウント値はゼロであり、DTACの参照情報が示す記述子テーブルの項目の内容の値(送信するカスタムメッセージに対する記述子でありうる)がPMC31に送られ、メッセージ構築機能が開始される。
この例では、構築するメッセージの数が4096未満の場合、使用されない記述子項目が記述子テーブルに存在することになり、メッセージ構築が行われない可能性がある。ある特定の記述子位置項目を無効にすることが望ましい場合は、対応する最大カウントテーブルの項目を、ありえない値、すなわち4096に設定しうる。これは、カウント値に対してビット数が足りない(すなわち11)ことによる。この例において、PMS30は500マイクロ秒ごとに最大4096個のメッセージをスケジューリング可能であるため、PMS30はADS18に対してカスタムメッセージ作成の制限因子になりにくい。あるいは、メッセージ構築のスケジュール分解能を500マイクロ秒刻みとしうる。
パラメトリックメッセージ構築機能
メッセージ構築のスケジューリングが完了したとPMS30が判断すると、記述子を記述子使用可能表示とともにPMC31の機能部に送る。Ethernet/A664p7フレームのデータソースがA429キュー40の1つであるかどうか、および/または、それがCVT56アドレスのリストを用いてCVT56からスキャッタ・ギャザーするデータかどうかを、PMC31が決定しうるような識別情報を、記述子は含んでいる。例えば、A429キュー40内のデータからメッセージを構築するべきことを記述子の最上位ビット(MSB)が示す場合、その記述子は、UDP/IP/MACヘッダ(パラメトリックメッセージテーブル58から直接読み出されてメッセージ構築キュー40に書かれるもの)のベースアドレス(HOLポインタ)と長さ、さらにはそれに後続する、A429キューからのデータを含みうる。
逆に、CVT56内のデータからフレームを構築するべきことをパラメトリックメッセージ記述子のMSBが示している場合、HOLポインタは、メッセージ構築に用いられるパラメトリックメッセージテーブル58およびCVT56アドレス記述子の、順序だち、かつ連続したリストのCVT56におけるベースアドレスである。この例において、長さフィールドはアドレス記述子の上記リストの長さを示す。PMC31は選択されたCVT56データ値をこれらのアドレス記述子を用いて収集する。構築作業時は、最初にアドレス記述子のリストをパラメトリックメッセージテーブル58から読み出す。次に、このアドレス記述子を用い、パラメトリックメッセージテーブル58からの読み出しによってメッセージのヘッダを構築し、CVT56および/またはA429出力キューの選択位置からの読み出しによってメッセージのペイロードを構築する。
完成されたデータフレーム、もしくは「メッセージ」は、ヘッダ、一連のパラメータ値、およびトレーラから構成される。データフレームの各ヘッダフィールドと各パラメータ値とは、上述のようにCDS28の固定だが不連続な位置に格納される。そのため、構築する各データフレームは、それらの分散値をCVT56から読み出す際に使用される、順序だったアドレスリストを備えている必要がある。PMS30のメモリサイズを抑えるため、アドレス記述子のリストそのものはCDS28内の静的なメモリエリア、例えばCVT56のパラメトリックメッセージテーブル58内に保持されうる。
PMS30によってPMC31に供給されるパラメトリックメッセージ記述子は、例えば、18ビットのリスト先頭ポインタ(HOLポインタ)と、32ビットワード単位のアドレスリスト長と、制御ビットのために確保されたフィールドとを含みうる。この例では、HOLポインタは左詰めされ、各アドレスリストが必ず64バイトの境界で始まるようにゼロが付加される。「S」制御ビットは、記述子がA664p7メッセージを対象としたものかどうかをも示しうる。記述子がA664p7メッセージを対象としたものである場合、A664p7シーケンス番号の追跡に、記述子内のEflowIDフィールドが用いられうる。追加的な想定では、パラメトリックメッセージ記述子におけるゼロのMSB値は、メッセージに書き込むべきデータ位置に関する参照情報を間接的に示すアドレスのリストの参照情報を示しうる。これらのアドレスは、例えば、バイト選択制御情報(これは参照情報によって示されるデータ位置をメッセージに組み込む方法を示す)とともに、CVT56内の64ビット位置内に含まれうる。制御フィールドが存在する場合、制御フィールドはLSBまたはMSBアライメント、ビッグエンディアン、リトルエンディアン、またはマングド(munged)ビッグエンディアン形式等を示すコードを含みうる。追加的な制御フィールドの内容および効果が想定されている。
構築中のメッセージがA664p7メッセージの場合、PMC31はそのVLのシーケンス番号(SN)にアクセスするために、PMS30から受信したメッセージ記述子にあるフィールド(EflowID)を使用しうる。SNバイトはA664p7に規定されるルールに従ってインクリメントされ、PMC31によって構築されるメッセージペイロードの最終バイトとして書かれうる。メッセージフレームが完成したら専用のループバックポート86に転送される。ループバックポート86はCRC、例えばCRC−32を計算し、ADS18の共通入力インタフェース22にフレームをループバックで返送する。
構築したメッセージをADS18の共通入力インタフェース22に返送してから受信器ユニット32に転送する理由はいくつかありうる。最大の理由は安全性である。各パラメトリックメッセージフレームの構築は厳密にスケジューリングされているが、単一故障に対する脆弱性回避のため、A664p7フレームは個別のポリサ27ロジックによるポリシングを受けることが必要であることが想定されている。受信器ユニット32がすでにトラフィックシェーピングを実施しているかもしれないのに、A664p7スイッチの入力ポートスケジューラ24にポリシング機能が要求されるのはそのためである。この要件を満たすため、ADS18ではポリサ27がPMS30(したがってPMC31)とは分離されている。
構築されたメッセージをループバックする2つ目の理由はDMD機能の重複を避けることでありうる。ループバックポート86はメッセージに対して有意味な操作を行うものではなく、したがって動作の遅延による制限を必ずしも受けない。そのため、ループバックポート86の処理データレートは例えばギガビットレベルでありうる。ループバックレイテンシに対して生じる影響は、例えば、フレームの記述子を高優先の出力ポート単位記述子キュー43に配信し、かつルールベース型スケジューラ76を適切にプログラミングすることによって無視可能なものにできる。想定では、例えば、それぞれ512バイトの平均長さを有する100個超のメッセージを500マイクロ秒未満で送信する処理をサポートするには、PMC31データをループバックするループバックポート86が1つあれば十分でありうる。しかし、追加的なループバックポート86をADS18内に構成し、それをPMC31が生成したメッセージ専用とすることができる。
ARINC429データの経路
ARINC429データワードは16番から48番までの物理入力ポート42に到達する。到達時刻レコーダ50は次に処理するべき入力ポート42のワードを示す。次に、入力ポートスケジューラ24がデータフレームをパースし、到達ポート(PoA)とA429の8ビットタグとを識別して、それぞれをDLT26に供給する。DLT26は、そのワードをCVT56(および/またはいずれかの循環バッファ54)に格納するかどうか、さらにはA429出力ポート66のうちのどれがそのワードのコピーを受信するべきかを判定する。EthernetまたはA664p7メッセージの構築のため、PMS30はパラメトリックメッセージ記述子をPMC31の機能部に供給する。
マルチワードメッセージに属さないA429ワードもCVT56に格納することができる。その場合、各ワードはLSBが216マイクロ秒である32ビットのタイムタグとともに格納される。この例では、PMC31の機能部は、EthernetまたはA664p7フレームを構築するためにCVT56内の他のパラメータとともにA429ワード群を受け取りうる。
ARINC664第7部のシーケンス番号の同期
追加的な想定では、本発明に記載するデータ通信ネットワーク16は、複数のADS18にわたるA664p7シーケンス番号の同期処理を提供しうる。多くのアビオニクスプラットフォームにおいて、同一の内容をもつA664p7データフレームを同期配信することは、異なるADS18インスタンスに常駐するPMC31機能部にとって好都合でありうる。これは、デュアルエンドシステムLRUを、異なるサーバおよび回路基板に常駐する2つの仮想エンドシステムによって仮想化することと同等である。A664p7シーケンス番号のこの同期処理は、時間同期の確立を確認し、すべてのEflowIDに対するシーケンス番号値を含むメッセージをADS18の間で提供し、さらに指定の未来時間しきい値に達したとき(例えば、シーケンス番号の矛盾が過大になったとき)に、シーケンス番号をゼロにリセットすることを示すメッセージを提供する、メッセージ交換プロトコルを用いて実現しうる。
プロセッサアレイ
ADS18は、1つ以上のプロセッサ78、または分散型プロセッサアレイ78をも提供しうる。図示したように、各プロセッサ78は、スイッチング機能部に接続された、それぞれの仮想入力ポート46および仮想出力ポート72を含む。それらは例えばEthernetポートに見える。プロセッサ78はそのプロセッサ78に供給されるメッセージの計算を行うにあたり、単一の実行スレッドまたは複数の実行スレッドを用いて動作しうる。供給されるメッセージに対して実行される機能は、メッセージのヘッダにある情報に従って駆動される。プロセッサアレイは中央集中型仮想RIU(VRIU)としてADS18の処理を行うように構成されている。例えば、VRIUは、生のセンサデータに対する工学単位の変換、派生パラメータの計算、および/または生データ処理によるリモートアプリケーション向けカスタムメッセージの構築を行うことができる。カスタムメッセージをスケジューリングすることでシステムレイテンシが最小化されるうえ、分散処理の同期が可能になる。
該当するプロセッサ78の一例として、アビオニクスシステムを対象とするクリティカルミッション用途向けに特別に設計された、10/100Ethernetインタフェースを備えたシングルチップ型マイクロプロセッサが挙げられうる。該当するプロセッサ78の別の例として汎用マイクロプロセッサが挙げられうる。これに加え、マイクロプロセッサは、キャッシュメモリと内部メモリの両方にECCを用いるデュアルロックステップCPUをサポートしうる。このメモリとして、不揮発記憶用の内部FLASHメモリを含む。上記のプロセッサ78はADS18に対してスケーラブルな処理アーキテクチャを実現するために用いられうる。さらなる想定では、一連のシリアルまたはパラレル処理スレッドに分解できる実質的に任意のアプリケーションに最適化された並列処理を実現するために、かかるプロセッサ78は、上記のPMS30およびPMC31の機能部と組み合わせて用いられうる。
本明細書に記載するように、メッセージ構築のために記述子がPMC31に送られたときに、PMS30はメッセージを取得、フォーマット、および配信しうる。PMS30によるメッセージのスケジューリングを用いて分散型プロセッサの動作を同期する方法の一例は次のとおりである。プロセッサ78上で動作するスレッドは、それを呼び出すカスタムメッセージの受信時にのみ起動される。プロセッサ78上で動作するスレッドの出力はパラメトリックメッセージでありえ、それは共通入力インタフェース22において仮想入力ポート46によって受信され、入力ポートスケジューラ24によってスケジューリングされ、そしてCVT56に格納されうる。さらに、PMS30は、(上述のように)処理したパラメトリックメッセージに基づく1つのメッセージを取得およびフォーマットし、それを処理のために別のプロセッサ78に配信することにより、プロセッサ78を通して2回目を繰り返しうる。このプロセスは所望の最終結果が得られるまで繰り返しうる。したがって、汎用プロセッサの処理能力を協調的にパイプライン化することで、最適化された分散型のマルチプロセッシングシステムを形成しうる。各スレッドが既知の最大実行ないし処理時間を有する場合、PMS30とPMC31の機能部は利用可能もしくは必要な場合にプロセッサ78の使用をさらに最適化しうる。
別の詳細例は、3つのパラメトリックメッセージに関するデータフローをさらに説明しうる。PMS30は、例えば、第1群のパラメータをCVT56から取得し、第1のプロセッサに対する第1のメッセージを構築する。PMS30はさらに第2群のパラメータを取得して第2のプロセッサに対する第2のメッセージをも構築しうる。第1および第2のプロセッサはメッセージをトリガとするそれぞれの異なるプログラムを並列に実行し、処理結果が入力データ経路経由でCVT56に書き込まれる。PMS30は続いて第1および第2の処理結果から第3のメッセージを構築し、第3のメッセージを追加的な処理のために第1、第2、または第3のプロセッサのいずれかに提供する等の処理を行いうる。これに加え、この例では、第1および第2のプロセッサが第1および第2のメッセージを同時に処理する間、PMS30は2つの追加的なパラメトリックメッセージ、例えば第1および第2のプロセッサで処理するために第4と第5のメッセージを構築しうる。この処理を厳密にパイプライン化することで、プロセッサ78が極めて小さいアイドルタイムで並列処理を行えるようにできる。
ある所与のプロセッサ78が実行するタスク(もしくはスレッド)の選択は、PMS30から受信するメッセージのヘッダによって決まり、そのタスクによって処理されるデータはメッセージ本体に含まれている。タイマのティックからの割り込みに基づいてタスクを切り替える必要はない。これは、上述のようにPMS30メッセージの生成処理が厳密な時間スケジュールを固守するために、タイマティックに基づく割り込みメカニズムが効果的に実現できることによる。したがって、PMS30からのメッセージをプロセッサに割り込み可能とすることで、タイマティックを疑似しうる。各プロセッサ78に対してプライベートRAMを利用可能とすることで、状態の維持や、メッセージ駆動による割り込み後の動作レジュームにおいて、このPMSメッセージによる割り込み駆動処理をプロセッサ78上にマッピングすることがさらに容易になりうる。この割り込み駆動処理の能力は、タスク切り替えないしイベント駆動型割り込みが必要になる前にある所与の処理スレッドが完了まで実行できないような割り込み駆動処理において有用でありうる。メッセージ駆動型割り込みを可能にすると、RIU20等の非同期イベントによって外部ソースから到達するメッセージがCVT56を完全に迂回し、ADS18のスイッチング機能を通して(例えば循環バッファ54の1つを介して)選択されたプロセッサ78に直接送信されることも可能になりうる。
インターワーキング
インターワーキングはあるプロトコルから別のプロトコルへの変換(例えば、異なる入力または出力物理インタフェース44、68によって決まるもの)を行うように設計されうる。1つの重要なインターワーキング機能は仮想エンドシステム(VES)82である。これは例えばADS18に接続されたLRUに対するA664p7インタフェースとして機能し、それにより、ADS18に対する単純なEthernetインタフェースがサポート可能になるほか、例えば巨大なEthernetフレームを使ってCOMポートデータをVES82に転送可能となる。VES82は、さまざまな旧式の、新式の、および/または未来の論理フォーマットおよびプロトコルをサポートしうる。
本明細書に開示する諸実施形態は、アビオニクスデータ通信ネットワーク向けの、協調動作するアビオニクスデータサーバを提供する。上記実施形態で実現されうる1つの利点は、上記実施形態が、航空機データの効率的な収集、ジャストインタイム処理、正確なスケジューリング、ならびに協調型サーバ、システム、受信器ユニット、およびディスプレイへの上記データの配信とともに動作することである。これに加え、上記の実施形態はデータサーバの時間同期を必要とするのみで、分散型プロセッサの間に同期処理を実現する。上記のアビオニクスデータサーバが効率的に動作することで、協調のないネットワーク利用による過剰なネットワークおよび計算用帯域による非効率さが最小化され、帯域効率の向上と電力要件の緩和がもたらされうる。さらに、効率の向上と電力要件の緩和によって熱プロファイルが向上し、それによってより小型の回路パッケージが設計され、スペースとサイズにおいて優れた利点がもたらされうる。航空機の構成要素の設計において取り組むべき重要なファクタは、サイズ、電力要件、および信頼性である。小型化、電力要件、および信頼性は、飛行中における競争上の優位性と相関がある。
上記諸実施形態のもう1つの利点は、出力ポート速度によって分けられた、CDS内の複数の循環バッファを用いることによってデータが適切な速度で上書きされ、データ効率が向上できることである。例えば、低速の出力ポートに向かうフレームは、高速出力ポートに向かう急速到達フレームによって上書きされることがない。この用法により、上書きされる前にデータフレームが使用される可能性が最大化できる。これに加え、循環バッファの使用により、空きないし不使用メモリブロックの記録方法を決定する必要がなくなる。循環バッファによって常に最も古いデータが上書きされ、高速かつシンプルな動作が実現する。
上記の諸実施形態のさらに別の利点は、上記諸実施形態によれば、新式または旧式のエンドシステムならびにスイッチ、例えばA664p7システムの必要性が大幅に制限されるか、または不要になることである。これに加え、上記諸実施形態は、複数のサーバもしくはストレージデバイスにわたるデータのミラーリングを行うため、故障事象における冗長対策を提供する。上記諸実施形態のさらに別の利点は、複数のプロセッサまたは複数のサーバが同じ計算を行う(相互比較が可能になる)ことを可能にすることで、記載したネットワークにおいて処理タスクが冗長的に検証されることである。
上記諸実施形態のさらに別の利点として、ルールベース型スケジューラが、処理するデータおよび出力ポートを1つ以上の満量度表示に基づいて仲裁することで、処理の優先付けが確立できる。処理の優先付けにより、使用されない処理スケジュールを無駄にすることなく、出力スケジューリング機能において適応的だが決定論的な動作が可能になる。
上記には記載していないが、各種実施形態の異なる特徴および構造を所望に従って互いに組み合わせて使用しうる。ある特徴がすべての実施形態に記載されていないからといって、それが存在しないわけではなく、説明の簡略化のために記載していないにすぎないと解釈するべきである。したがって、異なる実施形態のさまざまな特徴を所望に従って混在および適合させることによって新しい実施形態を構成しうる。新しい実施形態は明示的に記載されていてもいいし、いなくてもよい。本明細書に記載する特徴のあらゆる組み合わせもしくは並べ替えは本開示の対象範囲に含まれる。
本明細書は、最良の形態を含む例を用いて本発明を開示している。また、装置もしくはシステムの作製と使用、ならびに内包される方法の実施を含め、当業者が本発明を実施できるように書かれている。本発明の特許可能範囲は特許請求の範囲によって規定されるとともに、当業者が想到する他の例を含みうる。そのような他の例は、特許請求の範囲の文言とは異ならない構造要素を有する場合、あるいは特許請求の範囲の文言と大差のない等価な構造要素を有する場合に、特許請求の範囲の範囲内にあるものと考えられる。
10 航空機
12 リモート入力ユニット(RIU)
14 受信器ユニット
16 データ通信ネットワーク
18 アビオニクスデータサーバ(ADS)
20 リモート入力ユニット(RIU)
22 共通入力インタフェース
24 入力ポートスケジューラ、入力スケジューラ
25 フレーム記述子マネージャ(FDM)
26 ルックアップテーブル(DLT)
27 ポリサ
28 中央データサーバ(CDS)
29 記述子マルチキャスト配信器
30 パラメトリックメッセージスケジューラ
31 パラメトリックメッセージ構成器
32 受信器ユニット
34 共通出力インタフェース
36 仮想リンク
38 データカプラ
40 キュー
41 キュー
42 ポート
43 キュー
44 入力物理インタフェース
46 仮想入力ポート
48 入力仮想インタフェース
50 到達時刻(ToA)レコーダ
52 入力ポート集信器
54 循環バッファ
56 現在値テーブル(CVT)
58 パラメトリックメッセージテーブル
60 循環バッファ
62 循環バッファ
64 循環バッファ
66 物理出力ポート
68 出力物理インタフェース
70 キュー満量度インタフェース
72 仮想出力ポート
74 出力仮想インタフェース
76 ルールベース型スケジューラ、ルールベース型アービタ
78 分散型プロセッサ
80 グラフィックレンダラ
82 仮想エンドシステム
84 ネットワーク大容量ストレージ
86 メッセージループバックポート

Claims (12)

  1. データを提供する複数のリモート入力ユニット(RIU)(12、20)と、前記データの少なくとも一部を利用する複数の受信器ユニット(14、32)と、を備えた通信ネットワーク(16)においてデータ通信を制御する方法であって、
    前記データを中央データサーバ(CDS)(28)において受信する工程と、
    前記CDS(28)内に現在値テーブル(CVT)(56)を作成する工程であって、前記CVT(56)は前記RIU(12、20)からの直近データから生成される、工程と、
    前記受信器ユニット(14、32)の少なくとも1つに対する、前記データから導かれるカスタムメッセージを、複数の循環バッファ(54)に格納されるデータ値と前記受信器ユニット(14、32)の前記少なくとも1つのフォーマット要求条件に基づい生成する工程と、
    前記カスタムメッセージを前記通信ネットワーク(16)を介して前記受信器ユニット(14、32)の前記少なくとも1つに送信する工程と、
    を含み、
    前記複数の循環バッファ(54)の各々は、対応する分散プロセッサのアプリケーションがアロケート可能である、
    方法。
  2. 前記受信器ユニット(14、32)の少なくとも1つに対してカスタムメッセージを生成する前記工程は、前記メッセージを受信する受信器ユニット(14、32)を決定する工程をさらに含み、
    前記メッセージを受信する受信器ユニット(14、32)を決定する前記工程は前記データに基づく、請求項に記載の方法。
  3. 第1の集信器が、パースされたフレームを集信し、格納情報ならびにフロー識別子とともに、循環バッファに書き込む工程と、
    第2の集信器が、前記フレーム、および/または生データを前記CVT(56)に書き込む工程と、
    第3の集信器が、生データを、循環バッファに書き込む工程と、
    を含む、請求項1または2に記載の方法。
  4. 前記データから導かれるカスタムメッセージを生成する前記工程が、任意のメッセージを生成する工程、または前記データを所定のメッセージにフォーマットする工程、の少なくとも1つを含む、請求項1乃至3のいずれかに記載の方法。
  5. 任意のメッセージを生成する前記工程が、前記受信器ユニット(14、32)の前記少なくとも1つが機能をさらに実行するために必要なデータに基づく、請求項4に記載の方法。
  6. 前記データを所定のメッセージにフォーマットする前記工程が、前記受信器ユニット(14、32)の前記少なくとも1つの前記フォーマット要求条件を決定する工程をさらに含む、請求項4に記載の方法。
  7. 前記複数の循環バッファ(54)は、互いに異なるデータレートで動作する循環バッファ(54)を含む、請求項1乃至6のいずれかに記載の方法。
  8. カスタムメッセージを生成する前記工程はアービタによって実行される、請求項1乃至7のいずれかに記載の方法。
  9. 前記アービタはルールベース型スケジューラ(76)またはアルゴリズムの少なくとも1つを含む、請求項8に記載の方法。
  10. 前記アービタは、システムクリティカルな機能、受信された前記直近データ、FIFO(先入先出)方式のスケジューリング、または優先度に基づくスケジューリングの少なくとも1つに左右される、請求項8に記載の方法。
  11. 前記フォーマット要求条件は、フレーム種別、フレームサイズ、データフォーマット、ヘッダ情報、および妥当性確認の情報、の少なくとも1つを含む、請求項1乃至10のいずれかに記載の方法。
  12. 前記フォーマット要求条件は、前記カスタムメッセージをEthernet、IEEE802.3、ARINC664第7部、CANバス、ARINC429、またはARINC661の少なくとも1つのフォーマットで送信するためのフォーマット要求条件をさらに含む、請求項11に記載の方法。
JP2016521708A 2013-10-11 2014-09-09 航空機用データ通信ネットワーク Expired - Fee Related JP6268283B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/052,188 2013-10-11
US14/052,188 US9853714B2 (en) 2013-10-11 2013-10-11 Data communications network for an aircraft
PCT/US2014/054710 WO2015053894A1 (en) 2013-10-11 2014-09-09 Data communications network for an aircraft

Publications (2)

Publication Number Publication Date
JP2017501600A JP2017501600A (ja) 2017-01-12
JP6268283B2 true JP6268283B2 (ja) 2018-01-24

Family

ID=51660589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016521708A Expired - Fee Related JP6268283B2 (ja) 2013-10-11 2014-09-09 航空機用データ通信ネットワーク

Country Status (7)

Country Link
US (1) US9853714B2 (ja)
EP (1) EP3055959B1 (ja)
JP (1) JP6268283B2 (ja)
CN (1) CN105794161B (ja)
BR (1) BR112016007677A2 (ja)
CA (1) CA2926799A1 (ja)
WO (1) WO2015053894A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105583743B (zh) * 2015-12-23 2019-01-01 郑州磨料磨具磨削研究所有限公司 一种金刚石砂轮及其制备方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200527A (zh) * 2016-08-12 2016-12-07 中国航空工业集团公司西安飞行自动控制研究所 一种基于双余度的机载大气数据系统数据获取方法
GB2563894A (en) * 2017-06-29 2019-01-02 Airbus Operations Ltd Data centric messaging
US10334081B2 (en) 2017-08-30 2019-06-25 Honeywell International, Inc. System and method for communicating between a communications management system using ARINC 429 protocol and an internet protocol radio
KR102703487B1 (ko) * 2018-08-03 2024-09-06 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11614871B2 (en) * 2018-09-25 2023-03-28 Ge Aviation Systems Llc Systems and methods for flexible writing of internal data of regulated system
DE102020124731B4 (de) * 2020-09-23 2024-08-22 Volocopter Gmbh Verfahren zum Betreiben eines Fluggeräts, Regelungsarchitektur für ein Fluggerät und Fluggerät mit einer solchen
US20220131598A1 (en) * 2020-10-26 2022-04-28 Ge Aviation Systems Llc Converged avionics data network
FR3118845A1 (fr) * 2021-01-08 2022-07-15 Thales Système d’extrémité pour un système de communication avionique et système de communication avionique associé
US12077315B2 (en) * 2021-09-27 2024-09-03 Rockwell Collins Inc. Trend data for aircraft displays
US11937279B2 (en) * 2022-06-21 2024-03-19 Skyworks Solutions, Inc. Systems, devices, and methods related to configuring a multi-stream network with a messaging schedule

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4217652A (en) 1978-03-01 1980-08-12 Electronic Associates, Inc. Multi-user analog/hybrid system
US5805828A (en) 1996-05-14 1998-09-08 The Boeing Company Method and apparatus for an avionics system utilizing both ARINC 429 and ARINC 629 compliant systems
JP2000056992A (ja) 1998-08-13 2000-02-25 Nec Corp タスクスケジューリングシステム、方法及び記録媒体
US20020144010A1 (en) * 2000-05-09 2002-10-03 Honeywell International Inc. Communication handling in integrated modular avionics
JP3798644B2 (ja) 2001-03-30 2006-07-19 富士通株式会社 中継装置
WO2002084957A2 (en) 2001-04-13 2002-10-24 Motorola, Inc., A Corporation Of The State Of Delaware Manipulating data streams in data stream processors
US7299280B2 (en) 2001-10-17 2007-11-20 The Regents Of University Of California Method and apparatus for TCP with faster recovery
US7301906B2 (en) 2001-12-17 2007-11-27 Lsi Corporation Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks
US7080379B2 (en) 2002-06-20 2006-07-18 International Business Machines Corporation Multiprocessor load balancing system for prioritizing threads and assigning threads into one of a plurality of run queues based on a priority band and a current load of the run queue
JP2004145812A (ja) 2002-10-28 2004-05-20 Ntt Docomo Hokkaido Inc 計測システム、データ処理装置、プログラムおよび記録媒体
ITTO20021009A1 (it) 2002-11-20 2004-05-21 Telecom Italia Lab Spa Procedimento, sistema e prodotto informatico per la
JP3844768B2 (ja) * 2002-11-20 2006-11-15 富士通株式会社 無線端末装置
US20040181638A1 (en) 2003-03-14 2004-09-16 Paul Linehan Event queue system
US7319485B2 (en) * 2003-03-21 2008-01-15 Hewlett-Packard Development Company, L.P. Apparatus and method for recording data in a circular fashion
JP4227556B2 (ja) 2004-05-19 2009-02-18 株式会社日立製作所 情報伝送システム
EP1815647B1 (en) 2004-11-11 2009-08-12 Koninklijke Philips Electronics N.V. Method for priority based queuing and assembling of packets
US7668632B2 (en) 2004-11-22 2010-02-23 The Boeing Company System, method and computer program product for real-time event identification and course of action interpretation
US20060140191A1 (en) 2004-12-29 2006-06-29 Naik Uday R Multi-level scheduling using single bit vector
US7636767B2 (en) * 2005-11-29 2009-12-22 Cisco Technology, Inc. Method and apparatus for reducing network traffic over low bandwidth links
GB0613192D0 (en) 2006-07-01 2006-08-09 Ibm Methods, apparatus and computer programs for managing persistence
US7552285B2 (en) 2006-08-30 2009-06-23 Arm Limited Line fill techniques
US20080158246A1 (en) 2007-01-03 2008-07-03 Tvia, Inc. Digital color management method and system
US7899068B1 (en) 2007-10-09 2011-03-01 Juniper Networks, Inc. Coordinated queuing between upstream and downstream queues in a network device
US8761174B2 (en) * 2009-03-11 2014-06-24 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
FR2955992B1 (fr) * 2010-01-29 2012-04-20 Inst Nat Rech Inf Automat Dispositif de commutation ou de routage modulable
US9063800B2 (en) * 2010-05-26 2015-06-23 Honeywell International Inc. Automated method for decoupling avionics application software in an IMA system
JP2011250310A (ja) 2010-05-28 2011-12-08 Mitsubishi Electric Corp 通信制御装置及び通信制御方法
US8675689B2 (en) 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
US20120250694A1 (en) 2011-03-28 2012-10-04 Tttech Computertechnik Ag Centralized traffic shaping for data networks
US8804507B2 (en) 2011-03-31 2014-08-12 Avaya, Inc. Method and apparatus for temporal-based flow distribution across multiple packet processors
WO2012154092A1 (en) * 2011-05-06 2012-11-15 Saab Ab Configurable input/output processor
US8594132B2 (en) 2011-05-17 2013-11-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Quality of service cognizant scheduler for femtocell base stations
US9048967B2 (en) * 2011-09-23 2015-06-02 Fujitsu Limited Asymmetric OTN network traffic support
JP2013093834A (ja) 2011-10-03 2013-05-16 Alaxala Networks Corp フレーム転送装置、および、フレーム転送方法
US9836989B2 (en) 2012-06-05 2017-12-05 Rockwell Collins, Inc. Training data management method and related system
CN102866985B (zh) * 2012-09-28 2016-03-30 用友网络科技股份有限公司 用于联机分析处理系统的数据格式化装置和方法
US10122645B2 (en) 2012-12-07 2018-11-06 Cisco Technology, Inc. Output queue latency behavior for input queue based device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105583743B (zh) * 2015-12-23 2019-01-01 郑州磨料磨具磨削研究所有限公司 一种金刚石砂轮及其制备方法

Also Published As

Publication number Publication date
CN105794161B (zh) 2019-06-11
US9853714B2 (en) 2017-12-26
CA2926799A1 (en) 2015-04-16
JP2017501600A (ja) 2017-01-12
EP3055959A1 (en) 2016-08-17
EP3055959B1 (en) 2020-04-22
US20150103735A1 (en) 2015-04-16
CN105794161A (zh) 2016-07-20
BR112016007677A2 (pt) 2017-08-01
WO2015053894A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
JP6268283B2 (ja) 航空機用データ通信ネットワーク
JP5868470B2 (ja) 航空機用データ通信ネットワーク
CA2867245C (en) Data communications network for an aircraft
JP5957055B2 (ja) 航空機用データ通信ネットワーク
JP6063425B2 (ja) 航空機用データ通信ネットワーク
US10686714B2 (en) Traffic management for high-bandwidth switching
US20150215226A1 (en) Device and Method for Packet Processing with Memories Having Different Latencies
US10581762B2 (en) Packet scheduling in a switch for reducing cache-miss rate at a destination network node
US11343205B2 (en) Real-time, time aware, dynamic, context aware and reconfigurable ethernet packet classification

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170707

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

R150 Certificate of patent or registration of utility model

Ref document number: 6268283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees