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

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

Info

Publication number
JP5957055B2
JP5957055B2 JP2014202744A JP2014202744A JP5957055B2 JP 5957055 B2 JP5957055 B2 JP 5957055B2 JP 2014202744 A JP2014202744 A JP 2014202744A JP 2014202744 A JP2014202744 A JP 2014202744A JP 5957055 B2 JP5957055 B2 JP 5957055B2
Authority
JP
Japan
Prior art keywords
data
message
frame
port
descriptor
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
JP2014202744A
Other languages
English (en)
Other versions
JP2015076884A (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 JP2015076884A publication Critical patent/JP2015076884A/ja
Application granted granted Critical
Publication of JP5957055B2 publication Critical patent/JP5957055B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/06Airborne or Satellite Networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、航空機用データ通信ネットワークに関する。
現代の航空機に関して、アビオニクス「プラットフォーム」は、センサ、センサデータコンセントレータ、データ通信ネットワーク、無線周波数センサおよび通信装置、計算素子、エフェクタ、ならびにグラフィカルディスプレイなどの様々な要素から構成される。これらのコンポーネントは、データ通信ネットワークを介して相互に情報を共有しなければならない。
これらのプラットフォーム要素の古い典型は、多くの場合に「連合システム」と呼ばれる個別サブシステム要素の形態である。連合システムは、独自の専用論理回路、プロセッサ、および入力/出力インターフェースを有する独立型パッケージ内の用途特定サブシステムである。多数の別々の連合システムは、データソースの共通サブセットに依存するが、連合システム間で処理リソースおよびインターフェースを共有することに欠けている。
連合システムへの依存を削減するための従前の努力の成果は、ARINC653規格およびARINC664規格の導入をもたらした。ARINC653(A653)は、例えば、連合システム機能に関係する各アプリケーションが、独自のタイムスライスパーティションおよび中で実行すべき独自のメモリ空間パーティションを認可されるオペレーティングシステムである。これによって、多数の連合システム機能であったものが、共通プロセッサ上でホストされ、かつARINC664第7部(A664p7)に基づくアビオニクスデータネットワークへの共通インターフェースおよび配線を共有することが可能になった。
これらのシステムでは、データを、高い頻度でサンプリングし、公表し、および送信し、そしてアプリケーションによって作られる結果が十分に低い入力データサンプリング時間対処理後出力遅延を有することを確実にするために、ARINC653パーティションにおいて実行されるアプリケーションをさらに頻繁に実行する。データ公表レートの頻度およびアプリケーション実行の頻度の両者は、データとその処理を同期させた場合には、必要であるはずのものよりもさらに頻繁である傾向がある。
米国特許出願公開第2012/0207183号明細書
一実施形態では、本発明は、データを提供する複数のリモート入力ユニット(RIU)および航空機の航行のためにデータの少なくともいくつかに基づいてメッセージを使用する加入者ユニットを有する航空機用のデータ通信ネットワークに関し、データ通信ネットワークは、RIUに非同期的に接続された中央データサーバ(CDS)と、CDS内に設けられ、かつデータの現在のバージョンを記憶する現在値テーブル(CVT)と、CVTからメッセージを形成し、かつメッセージに関する少なくとも対応する加入者ユニットへメッセージを送るメッセージスケジューラとを含む。
本発明の一実施形態による航空機用のデータ通信ネットワークの模式図である。 本発明の一実施形態によるアビオニクスデータサーバの模式図である。
本発明の説明する実施形態は、アビオニクスデータサーバ(ADS)、およびデータ値の任意のソースを航空機上の任意の宛先へ配信するための必要性をサポートする航空機用のコンポーネントを有するアビオニックスデータ通信ネットワークに向けられる。可能ではあるが、本発明の実施形態は、例えば、ADSを通過する利点がないある種のポイントツーポイントフローがあるので、航空機のすべてのデータパスがデータ通信ネットワークを通過しなければならないという必要条件を課すことを必要としない。しかしながら、変換、インターワーキング、処理、同期化、トラフィックシェーピング、ポリシング(policing)、マルチキャスティング、等を必要とするデータフローの少なくとも大部分は、ADSが提供する機能から利益を得ることが可能である。
図1に模式的に示したように、複数のリモート入力ユニット(RIU)12、例えば、様々なセンサまたは計器および航空機10の航行のためにデータ通信ネットワーク16に電気的に接続された少なくとも1つの加入者ユニット14を有する航空機10が示される。各RIU12は、データ通信ネットワーク16へデータまたはデータフレームを提供することができ、そして各加入者ユニット14は、生データのうちの少なくともいくつかに基づいてメッセージを使用することができる。加入者ユニット14は、例えば、追加のアビオニクスシステム、プロセッサ、ディスプレイ、または冗長性確認システムを含むことができる。RIU12および加入者ユニット14は、データ通信ネットワークによって効率的に管理される様々なデータ伝送レートでデータを提供し、かつ使用することができる。追加のRIU12および/もしくは加入者ユニット14、またはユニット12、14の配置が想定される。本発明の1つの実施形態を航空機環境において示したが、本発明は、そのようには限定されず、他の移動体アプリケーション、ならびに非移動体の産業用、商業用、および住宅用アプリケーション、などの非航空機アプリケーションにおけるデータ通信ネットワークへの一般的なアプリケーションを有することが理解されるであろう。
図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は、物理コネクタからデータフレームを受信する能力を有することができ、そして例えば、イーサネット(登録商標)ポートなどの物理コネクタ、および/またはメディアアクセスコントロール(MAC)もしくはインターネットプロトコル(IP)ルーティングなどのソフトウェアもしくはプロトコルレイヤ互換性、またはシリアルインターフェースを含むことができる。集合的に、物理受信ポート42は、受信物理インターフェース44を規定する。限定した数の物理受信ポート42を示したが、始めから16個のポート42を、例えば、イーサネット(登録商標)ポート42とすることができ、残りの32個のポートがARINC429インターフェース用である48個の受信ポート42を含む1つの実施例を含め、任意の数とすることができることが想定される。代わりの数のポートが想定され、同様に2つ以上のインターフェースの代わりの区分が想定される。ADS18は、複数の物理RIU20ならびに、仮想リンク36データプロトコル、例えば、イーサネット(登録商標)、IEEE802.3、ARINC664第7部(A664p7)、CANバス、ARINC429(A429)、ARINC661、および他の古いプロトコル、等、とインターフェースをとることが可能である。インターフェースプロトコルは、物理インターフェースを有しても有さなくてもよく、例えば、bluetooth(登録商標)またはWiFi(登録商標)などのワイヤレス技術を含むことができることが想定される。
共通受信インターフェース22を、少なくとも1つの仮想受信ポート46にさらに接続することができ、ここでは、ポート46は、データキュー40を介してインターフェース22へ少なくともいくつかの生データを提供する。集合的に、仮想受信ポート46は、受信仮想インターフェース48を規定する。各物理および/または仮想受信ポート42、46は、共通受信インターフェース22へ少なくともいくつかの生データを提供することが可能である。
受信ポートスケジューラ24は、共通受信インターフェース22から入力を受信し、FDM25およびCDS28へ出力を提供し、そして到着時間(ToA)レコーダ50および受信ポートコンセントレータ52をさらに備えることができる。ポリサ27は、FDM25の動作をモニタするおよび/または影響を与えることができる。DMD29は、先入れ先出し(FIFO)設定で動作するパー送信ポート記述子キュー43のセットへの出力接続を提供することができる。DMD29は、同じメッセージを1つよりも多くの物理加入者ユニット32へ送信しようとする場合に、パー送信ポート記述子キュー43のうちの1つよりも多くへ同じ記述子を書き込むことができる。各パー送信ポート記述子キュー43を、キューフルネスインターフェース70にさらに接続する。
CDS28は、少なくとも1つの環状バッファ54、現在値テーブル(CVT)56、およびパラメトリックメッセージテーブル58を記憶するためのメモリを備える。例えば、CDS28メモリは、ハードディスクドライブ、ソリッドステートドライブ、クワッドデータレート(QDR)メモリ、または冗長用に配列された複数のメモリ素子を含むことができる。図示した実施形態では、CDS28は、3つの環状バッファ54を備え、動作するデータレートによって各々が規定され、例えば、毎秒10メガビット(Mbps)環状バッファ60、100Mbps環状バッファ62、および毎秒1ギガビット(Gbps)環状バッファ64である。各環状バッファ54では、最も古い記憶したデータを、受信ポートスケジューラ24によって、出力から到着する最も新しいデータを用いて上書きする。
各物理加入者ユニット32を、1つのデータカップリング38およびパー送信ポートデータメッセージキュー41のセットなどの少なくとも1つのデータキューを介して共通送信インターフェース34に接続し、物理送信ポート66を規定する。集合的に、物理送信ポート66は、送信物理インターフェース68を規定する。各物理送信ポート66の各パー送信ポートデータメッセージキュー41を、キューフルネスインターフェース70にさらに接続する。共通送信インターフェース34を、少なくとも1つの仮想送信ポート72にさらに接続することができ、ここでは、ポート72は、インターフェース34からデータキュー40を介してメッセージを受信する。集合的に、仮想送信ポート72は、仮想送信インターフェース74を規定する。各物理送信ポート66を、1つのデータメッセージキュー41であるが任意の数のパー送信ポート記述子キュー43と関係付けることができることが想定され、図示した実施形態では、例えば、物理送信ポート66、72当たり1つのデータキュー41および4つの記述子キュー43を有することをともなう。
送信パラメトリックメッセージスケジューラ(PMS)30は、送信アービタ(arbiter)、例えば、ルールベーススケジューラ76をさらに備えることができ、送信アービタは、キューフルネスインターフェース70を使用することができ、これからDMD29によって提供された記述子を受信するためのパー送信ポート記述子キュー43のうちの1つを決定する。CDS28から指定されたデータフレームを読み取り、確認するために、その記述子を使用する。フレームをこのように確認する場合には、PMS30は、CDS28から共通送信インターフェース34を介して物理送信ポート66へ出力をさらに提供することができ、物理送信ポート66は、記述子をそこから受信したパー送信ポート記述子キュー43に関係付ける。
送信パラメトリックメッセージスケジューラ(PMS)30は、パラメトリックメッセージコンストラクタ(PMC)31をさらに備えることができ、PMC31は、パラメトリックメッセージテーブル58のコンテンツならびにCVT56および/または(例えば、A429マルチワードメッセージを含む場合には)環状バッファ54に含まれるデータ値を使用することができ、加入者ユニット32および/または送信ポート66、72による使用のためにメッセージの作成を始める。
PMS30、ルールベーススケジューラ76、および/またはPMC31は、例えば、ネットワーク上の汎用コンピュータ上で実行する実行可能なプログラム、または特定用途コンピュータ上で実行する実行可能なプログラムを含むことができる。あるいは、PMS30、ルールベーススケジューラ76、および/またはPMC31は、ハードコードされた機能論理デバイスを含むことができる。ルールベーススケジューラ76は、パー送信ポート記述子キュー43およびキューフルネスインターフェース70から入力を受信することができ、PMS30がCDS28から共通送信インターフェース34へのメッセージを選択しかつ確認することを可能にする。あるいは、PMS30および/またはPMC31は、パラメトリックメッセージテーブル58を使用することができ、共通送信インターフェース34へのメッセージ出力を作成するために、CVT56および/または環状バッファ54からのどのデータ値を使用することができるかを選択することができる。パー送信ポート記述子キュー43がPMS30とは別であるように図示しているが、キュー43を、PMS30および/またはルールベーススケジューラ76内に含むことができる実施形態が、想定される。
仮想リンク36は、ADS18の追加のローカルコンポーネントまたはリモートコンポーネントをさらに備えることができ、これによってメッセージを、仮想送信インターフェース74から少なくとも1つのデータキュー40および仮想リンク36を介して送信することができ、受信仮想インターフェース48によって受信することができる。示した例の仮想リンク36は、メッセージについて処理またはコンピュータ処理機能を実行することが可能な少なくとも1つの分散型プロセッサ78、アビオニックスディスプレイ用の(例えば、ARINC661ウィジェットを使用して)コンテンツを提供することが可能なグラフィックスレンダラ80、古い航空機システムとのインターフェースを行うための仮想末端システム82、冗長ストレージ用のネットワーク大量ストレージメモリ84、またはPMS30から1つまたは複数の送信ポート68へメッセージを送信するためのメッセージループバックポート86を含む。仮想リンク36を、仮想リンクID(VLid)を使用してさらに識別することができることが想定される。
ADS18は、スイッチング機能をサポートするように動作し、生データ値の任意のソースを航空機10上の任意の宛先または加入者ユニット32へ配信する必要性をサポートする。例えば、ADS18を通過する利点がないであろうある種のポイントツーポイントフローがあるので、本発明の実施形態は、すべての生データフローがADS18を通過しなければならないという必要条件を課すことを必ずしも必要としなくてもよいことが想定される。しかしながら、スイッチング機能、例えば、変換、インターワーキング、処理、同期化、トラフィックシェーピング、ポリシング、マルチキャスティング、等、を必要とすることがあるすべての生データフローは、ADS18が提供する機能から利益を得ることができる。加えて、確認および検証、または分散型処理のためにストレージデバイスまたはもう1つのADS18を介して追加のスイッチング能力、冗長安全対策、データミラーリングを提供するために、1つよりも多くのADS18を、同じ航空機10またはデータ通信ネットワーク16上に設けることができる。
各物理送信ポート66を、多数のパー送信ポート記述子キュー43を用いて構成することができ、ルールベースアービタ76によって解釈されるようにメッセージの優先度に基づいて、パラメトリックメッセージスケジューラ30によって使用されるように記述子のために多数のパスを提供することができることが想定される。各物理送信ポート66は、任意の数のパー送信ポート記述子キュー43に対応することができることが想定され、図示した実施形態では例えば、4つのキュー43を有することをともなう。パー送信ポート記述子キューが1つだけの物理送信ポート66または仮想送信ポート72を受け持つことがさらに想定される。
各記述子キュー43および各送信データキュー41は、キュー41、43がどれだけ満たされているかを示す信号をキューフルネスインターフェース70へ送信するように構成され、この信号はルールベースアービタ76およびパラメトリックメッセージスケジューラ30によって使用され、次の記述子を、どのパー送信ポート記述子キュー43から受信すべきであるかを選択する。
ADS18の動作を説明する前に、ADS18全体を通して使用されるデータを簡単に検討することは、データ通信ネットワーク16の動作を理解する際の助けになるであろう。最初に、RIU20は、ADS18へデータフレームを提供することができ、ここではデータフレームは、少なくとも識別子および対応する生データを有する。受信物理インターフェース44および/または受信ポートスケジューラ24のうちの少なくとも一方は、受信したデータフレームを、識別子、または解析した記述子、および解析した対応する生データへと解析する。生データの目的、例えば、どこへデータを送信すべきであるか、またはどこからデータを送信するかを特定しかつ記述するために、ADS18によってさらに更新することができる解析した記述子を使用し、一方で解析した生データは、ペイロードを含む。ADS18は、生データの位置を特定するために記述子を後で使用し、送信ポート66、72によって使用するために、記述子および/または生データをオペレーションデータまたはメッセージへと作成するまたは計算することができる。
一例では、ADS18の動作は、非同期的に接続されたRIU20からデータフレームを受信し、CVT56または環状バッファ54などのCDS28メモリに生データを記憶し、記憶したデータフレームからメッセージを形成し、そして形成したメッセージを少なくとも1つの加入者ユニット32へ送ることが可能である。加えて、フレーム用の対策として働く、直接ループバック能力があり、フレームスイッチング用の受信ポートのところに現れるようにパラメトリックコンストラクタ31によって作成される。ADS18の個別の部分およびADS18動作が、詳細に説明されるであろう。
受信物理インターフェース機能
先ず、データを、1つまたは複数の物理インターフェースポート42のRIU20から共通受信インターフェース22へ提供する。受信物理インターフェース44は、例えば、データカップリング38の一部として、特定の物理受信ポート42によって提供されるデータまたは類似の信号を、データストリームまたはデータフレームへと変換することが可能なコンポーネントを含むことができ、データストリームまたはデータフレームは、FIFO受信データキュー40に記憶される。この例では、データカップリング38は、下記の受信機能すなわち、破壊したワード/フレーム/データを削除すること、非IPデータフレーム(例えば、ペイロードタイプ/0x0800に等しくない長さフィールド)を削除することが可能である、データの最初のバイトの到着時間をタイムタグすること、ならびに後続の伝送および処理をペンディングにするデータフレームを待ち行列に入れることを実行することができる。データフレームとして生成されることがあるいくつかの出力は、受信ポート42、46に入り、キュー40は、データフレームが指定された受信ポート42、46にだけ入ることを強調する到着ポート(PoA)、最初のワードの到着時間(ToA)、(下記に説明する受信ポートスケジューラ24のToAレコーダ50に関する)完了したフレームのToA用の1ビットパルス、フレームが読み出されたときにフレーム描写のためのフレームの開始指標およびフレームの終了指標、ならびにバイト数でのフレーム長である。
RIU20への外部インターフェース用のイーサネット(登録商標)パラダイムを使用して、例として、各物理受信ポート42に関するデータカップリング38は、メディアアクセスコントローラ(MAC)の受信部に似ており、上に名前を挙げたパラメータを生成し、記憶し、再生するための補助的な論理回路を有し、1つまたは複数のキュー40、例えば、データFIFOキュー40およびフレーム記述子FIFOキュー40に接続される。
受信ポートは、単に外部受信物理インターフェース44に関係付けられるものだけではなく、同様に、インターワーキング(例えば、仮想末端システム82、パラメトリックメッセージコンストラクタ31)などの仮想リンク36、分散型プロセッサ78、およびグラフィックスレンダラ80の出力に関係付けられたものなどの内部または受信仮想インターフェース48から構成されることが想定される。
運転状態モニタリングの目的で、ポート毎の統計値を、受信物理インターフェース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は、ADS18のマスタ時間信号に基づいて、どの受信ポート42、46のデータフレームを次に記憶するかを決定する。受信ポートコンセントレータ52は、2つのCDS28宛先のうちの少なくとも一方に、(キューイングタイプのデータのケースでは)可能性のある多くの環状バッファ54のうちの1つ、またはサンプリングタイプのデータのケースではCVT56(下記に説明する)に、到着するデータフレームまたはA429ワードを集中させる。
例えば、データフレームまたはA429ワードがその物理受信ポート42のデータキュー40に完全に到着するときにはいつも、1ビットパルスを、受信スケジューラ24のToAレコーダ50へ送ることができ、データフレームの完了時間を記録することができる。前に到着したデータフレームを他のポート42、46のデータキュー40の外へ転送する間に、いくつかの短い生データフレームにとっていずれかの所与のポート42、46に到着することが可能である。この理由で、ToAレコーダ50は、例えば、ポート42、46毎にデータフレーム当たりたった1ビットを使用することができるが、これはすべてのポート42、46について相対的な完了時間の組合せを正確に表すことが想定される。あるクロックサイクル中にポート42、46のいずれかへのフレームの完了した到着を集合的に表すビットを、到着時間ワード(TAW)へと体系化することができる。
データフレームまたはA429ワードが受信ポート42、46のところに到着し終わる毎に、その入力ポート42、46に専用のラインをトグルで切り替えることができ、かつTAWのビットを設定することができる。同様に、あるクロックサイクル中の任意の完了した到着は、全体のTAWをToAレコーダ50へと書き込むようにさせることができ、FIFO順に到着TAW値を体系化する。あるクロックサイクル中に新しいデータフレームまたはA429ワードの完了がない場合には、TAWは、ToAレコーダ50に書き込まれない。あるいは、データフレームまたはA429ワードが同じクロックサイクル中に多数のポートに同時に到着し終わる場合には、ToAレコーダ50へと書き込む1ビットよりも多くのTAWを設定することができる。
受信ポートコンセントレータ52は、ToAレコーダ50の出力部のところで利用可能な最も古いTAWワードを受信し、どのデータフレームまたはA429ワードが最初に到着を完了したかを決定する。受信ポートコンセントレータ52は、このようにポートセレクタとして作用し、ポートセレクタは、どの受信ポート42、46のデータフレームを次に処理し、CDS28へ転送するかを決定する。クロックサイクルの分解能内で異なるポートに同時に到着を完了したフレームまたはワードおよびToAレコーダ50から受信したTAWは、多数のビットセットを有するであろうことが可能である。そのケースでは、次のTAWワードをToAレコーダ50の出力から受信する前に、受信スケジューラ24は、例えば、ラウンドロビン順で、同時に到着を完了したデータフレームのすべてのポートを使えるようにするであろう。この動作は、受信ポートのデータ到着レートおよび/またはデータフレームサイズに無関係にすべての受信ポート42、46に対するデータレートの公平さを保証することができる。
受信ポートコンセントレータ
受信ポートスケジューラ24用に3つの受信ポートコンセントレータ52がある場合がある。例えば、1つの受信ポートコンセントレータ52は、解析したイーサネット(登録商標)フレームまたは生データを、そのストレージ情報ならびにDLT26およびポリサ27に提供したフロー識別子とともに1つまたは複数の環状バッファ54へと書き込むために集中させることができ、これは、DMD29によって記述子キュー43へと書き込み、そしてPMS30によってそのように行うことをスケジュールされると、ルールベーススケジューラ76によって使えるようにされる記述子を結果としてもたらすことができる。
第2のコンセントレータ52は、PMS30および/またはPMC31による後の利用のために、CVT56へとイーサネット(登録商標)フレーム、生データ、および/またはA429ワードを集中させることができる。第3のコンセントレータ52は、生データのサンプルの時間順および/またはA429ワードの順番を保護するために、生データおよび/またはA429ワード(例えば、マルチワードメッセージを含むもの)をFIFOとして体系化された1つまたは複数の環状バッファ54へと集中させることができる。これらを、以降A429出力キューと呼ぶ。
一旦、特定の受信ポートをToAレコーダ50による運用のために選択すると、受信ポートコンセントレータ52は、選択した受信ポート42、46からCDS28のCVT56もしくは環状バッファ54のうちの少なくとも1つおよび/またはFDM25への解析した生データの転送を調整する。
フレーム記述子マネージャ
受信物理インターフェース44機能によって生成したフレームヘッダ、フレーム長、ToAおよびPoAは、FDM25によって使用され、データフレーム用の記述子を作成し、パー送信ポート記述子キュー43のセットへその記述子をブロードキャストする。FDM25は、CDS28に書き込んだ各イーサネット(登録商標)フレームまたはA429ワードのフレームポインタのヘッド(解析したデータのアドレスを識別するための、HOFpointer)およびフレームストレージ時間(解析したデータをどれだけ長く満足できる程度に記憶することができるかを識別するための、ToFS)をやはり受信することができる。記述子配信のためにDMD29によって使用される2つの異なるルーティングパス、1つはイーサネット(登録商標)フレーム用、1つはA429データワード用、がある。加えて、これらのパスの各々について異なる記述子がある。
フレーム記述子マネージャFDMは、データパスルックアップテーブル(DLT)26、ポリサ27、および同じ記述子が多数のパー送信ポート記述子キュー43に書き込まれることを可能にする記述子マルチキャストディストリビュータ(DMD)29から構成される。DMD29を、DLT26によって出力されるビットの集合によって制御し、このビットの集合は、どのパー送信ポート記述子キュー43に記述子を書き込むべきかを識別する。
受信ルックアップテーブル
受信ルックアップテーブルを受信ポートスケジューラ24へと組み込むことができ、データフローを識別し、かつ受信ポート42、46のうちの1つから始まる各フローに固有のインデックスを割り当てるために使用することができる。このインデックスは、様々なデータパスストレージおよび制御機能のためのフロー識別子として働く。例えば、インデックスは、ポリシングパラメータおよびルーティングビットを検索するためにDLT26のためのキーとして働き、ルーティングビットは、DMD29がフレーム記述子をどのキュー43へと記憶することができるかを指示する。CDS28内のフレームデータをどのアドレスに記憶するかを検索するために、インデックスをやはり使用し、例えば、環状バッファ54の最新のオフセットアドレスを検索し記憶するためにインデックスを使用することができる。受信ルックアップテーブルは、ランダムアクセスメモリ、ハッシングロジックおよびメモリ、またはコンテントアドレッサブルメモリ(CAM)を含むことができ、CAMの出力、フローインデックス、またはキーを、ポート番号および受信したデータフレームの選択したビットによって決定する。例えば、パー物理イーサネット(登録商標)ポートベースで、UDP/IP/MACヘッダのどのビットがデータフローのタイプを識別するかを指示するために、設定選択肢を提供することができる。あるいは、ARINC429データフローを、ARINC429ワードの8ビットラベルと結び付けられた着信ARINC429物理ポート番号によって識別することができる。
このフローインデックスは、偽装またはデータ破壊に対するフェイルセーフ保護をやはり提供することができる。例えば、DLT26出力は、あるフレームについての予想される到着ポート(EPoA)を示すフィールドを含むことができる。検査を、受信物理インターフェース44によって報告されるような、そのフレームが到着した実際のポート番号に対して行うことができる。これらが一致しない場合には、フレームを破棄することができる。
ARINC429インターフェースに関して、A429タグおよびポート番号を結び付け、出力をフローインデックスとすることができる別のルックアップテーブルにアクセスするために使用する。
フローインデックスを使用して、開始位置およびフレーム長を、CDS28書込み機能のために提供し、その結果、生データフレームのコンテンツを、正しいベースアドレスで始まりCDS28位置の適正な数にわたって書き込むことができる。
フロー識別子は、ルーティング、ポリシング、およびDLT26内に記憶したストレージパラメータテーブルを扱う。このDLT26の出力ビットフィールドは、データソースおよびどこに記憶するかに応じて、様々な解釈を行うことができる。イーサネット(登録商標)フレームを、CDS28の環状バッファ54またはCVT56領域に記憶することが可能である。A429データワードを、CVT56に記憶することが可能である、または48個の送信A429キューのうちの1つに直接送ることが可能である、または両方が可能である。宛先加入者ユニット32が、バックツーバックA429メッセージの一時的なエイリアシングまたは同じA429メッセージに属する重複したワードをフィルタリングすることを防止する方法を持たない限り、A429マルチワードメッセージをCVT56に記憶しないことがある。
一例では、フローインデックスによって選択されるDLT26出力は、CDS28バッファベースアドレスに加えてこのベースアドレスがCVT56位置を参照するかどうかを示す1ビット、環状バッファ54ID、環状バッファ54サイズ、仮想リンク(VL、例えば、仮想送信ポート72)アカウント識別子(VLacctID)、データだけがその指定された受信ポートに入ることを強要する予想されるPoA(EPoA)、これがARINC429ワード記述子であるかどうかを示す1ビットフィールド、どちらの送信ポート66、72がフレームを受信するかを示すポートマスクビットベクトル、記述子を書き込もうとするパー送信ポート記述子キュー43の優先度を示すビットフィールド、フレームベースポリシングのためのA664p7帯域幅割当てギャップ(BAG)、ポリシング破棄ビットおよびポリシングバイパスビット、ならびにフレームベースポリシングの最大フレーム長(Smax)または上に述べたCVT位置ビットに応じたCVT56フレーム長についてのジター許容誤差(JitterT)、の任意の組合せを含むことができる。
CDS28書込み制御機能は、2つのタイプの書込み動作、すなわちCVT56書込み動作および環状バッファ54書込み動作をサポートする。DLT26出力は、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フィールドに一致しない場合には、フレームを破棄することができる。
CVT56に書き込まれるサンプリングポートデータを含むイーサネット(登録商標)フレームをミラーリングすることが可能であり、そのように他のADS18は、同じデータを記憶するまたはミラーリングすることができることに留意すること。このミラーリングを、例えば、もう1つのADS18に接続された物理送信ポート66へメッセージを提供することによって実現することができる。あるいは、データミラーリングを、例えば、仮想受信または送信ポート46、72としてすべてのADS18にアクセス可能であり得る集中型データストレージデバイスを使用して実現することができる。この一例を、ネットワーク大量ストレージ84仮想リンク36として示す。A429ワードをCVT56位置に記憶し、これをA429出力キュー41のうちの1つまたは複数に書き込むこともやはり可能である。受信A429リンクのうちの1つに到着するA429ワードは、しかしながら、PMC31を使用してイーサネット(登録商標)フレームへと最初に圧縮されない限り、イーサネット(登録商標)ポートを出ることができない(下記に説明する)。
書込み動作が環状バッファ54書込み動作であることを、DLT26出力が示す場合には(例えば、CVT位置ビット=0である場合には、非CVT56フレームを示す)、例えば、DLT26出力のフィールドから取得される環状ベースアドレスおよび受信ポートスケジューラ24によって維持管理される環状バッファオフセットテーブルによって決定されるような次に利用可能な環状バッファ54メモリ位置に、フレームを書き込むことができる。ベースアドレスおよびオフセットアドレスを、環状バッファ54内で書き込まれるべき次の位置を追跡するために使用することができる。
各環状バッファ54のベースアドレスを、DLT26出力のメモリベースアドレスフィールドによって決定する。DLT26出力のもう1つのフィールドは、環状バッファサイズを示す。環状バッファ54へと書き込まれた任意のデータワードのアドレスは、環状バッファ54ベースアドレスおよび環状バッファオフセットの合計である。環状バッファオフセットは、環状バッファベースアドレスを固定したままで各ワードを書き込んだ後で環状バッファ54サイズを法として増加される。データフレームまたはA429ワードの最後のワードを環状バッファ54へと書き込んだ後で、次の位置のオフセットアドレスを、フローインデックスによって指示された環状バッファオフセットテーブル内の位置に記録し、同じ環状バッファ54へと書き込まれる次のフレームの開始オフセットとして利用できるようにする。
本発明の実施形態を制限しないが、図示した実施形態は、8K深さの256個の環状バッファを有することができる。例として、これは環状バッファ54を各物理受信および/または送信ポート42、66に対して作ることを可能にすることができる。代替例として、環状バッファ54を、各フローインデックス毎に作ることができる。さらにもう1つの例として、各環状バッファ54は、仮想出力ポートまたは仮想トランクの集合を表すことができる。「トランク」は、仮想ポートの送信セットに関係付けられる。これらの仮想ポートを、物理送信ポート66または仮想出力ポート72の任意のセット上へとマッピングすることが可能である。例えば、同じARINC653(A653)アビオニクスアプリケーションは、例えば、エアーデータを処理するアプリケーションは、可用性の理由で多数の列線交換ユニット(LRU)上に存在することができる。これらを、ADS18の異なる物理送信ポート66に接続することができる。しかし、アプリケーションのインスタンスのすべてを、1つのトランクグループを形成するように設定することができ、その結果、すべてのインスタンスは同じ環状バッファ54を共有し、他のA653アプリケーションとはデータおよび帯域幅必要条件を完全に分離することができる。このように、このレベルのグラニュラリティは、環状バッファ54が(分散型の)A653アプリケーション毎に割り当てられることを可能にする。
データを環状バッファ54へと書き込むときはいつでも、記述子マルチキャスト配信機能は、バッファ54内の関係するデータフレームのストレージの位置を示す記述子を複製する。加えて、ルールベーススケジューラ76および/またはPMS30は、送信スケジューリング機能を動作させることができ、この機能は、そのようにすることが想定される場合に、各物理送信ポート66がフレームのコピーを受信することを確実にする。
図示した構成では、3つだけの環状バッファ54を使用する。これらを、物理送信ポート66または共通環状バッファ54と同じデータレートを有する加入者ユニット32に関係付けることよって割り当てる。これは、A664p7キューイングタイプデータフレームに関して中央バッファの最も効率的な(共有メモリ)利用を提供する。この構成では、すべての10Mbps物理送信ポート66は、1つのトランクグループ(10Mbps環状バッファ60)を形成することができ、すべての100Mbps物理送信ポート66は、もう1つのトランクグループ(100Mbps環状バッファ62)を形成することができ、そしてすべての1000Mbps(1Gbps)物理送信ポートは、トランクグループ(1Gbps環状バッファ64)を形成することができる。3つの環状バッファ60、62、64があるが、そしてデータフレームを異なるデータレートを有する物理送信ポート66に向けることができるが、CDS28は、フレームの1つのコピーを記憶するだけであろう。フレームを書き込む環状バッファ60、62、64は、そのフレームを複製しようとする最も遅い物理送信ポート66のデータレートに対応する。簡潔さの目的で、この文書の残りは、同じ送信データレートを有する物理送信ポート66のセット、すなわち10Mbps60、100Mbps62、または1Gbps64、毎に1つの環状バッファ54があることを仮定するであろう。
ポリシング機能
ポリシング機能を、ポリサ27によって実行し、ポリサを、ステートマシンによって制御されるFDM25内の特定用途ハードウェアロジックパイプラインとすることができる。ポリサ27機能は、着信データがA429データワードであるかまたはイーサネット(登録商標)フレームであるかどうかに依存する。ポリサ27は、イーサネット(登録商標)フレーム記述子が、記述子マルチキャストディストリビュータ29へと渡されることを認められるかどうか、および着信データが、CDS28のCVT56または環状バッファ54領域内のいずれかに記憶されることを認められるかどうかを決定する判断を行う。定義によって、ARINC429フレームは、記述子マルチキャストディストリビュータ29用のイーサネット(登録商標)フレーム記述子を生成しない。この例では、受信ポートスケジューラ24は、CDS28をバイパスする別のデータパスのために別の記述子を提供することができる。もう1つの例では、ポリサ27は、A429データワードをCVT56に記憶することができるかどうかを決定することができる。
CVT56内に記憶するように想定されたデータフレームに関して、フレーム長が想定したフレーム長に等しくない場合には、フレームを破棄する。BAGまたはジター許容誤差ポリシングは強調される必要がない。
環状バッファ54内に記憶されかつポリシングされるように想定されるデータフレームに関して、ポリサ27は、DLT26のVLacctIDを使用してセカンダリルックアップを実行して、BAGおよびジター許容誤差制約を強調するためにそのVLacctIDを有する前のフレームの到着時間を決定する。フレームのEPoAがPoAと一致しない場合、またはフレーム長が仮想リンク(VL)に対して想定される最大フレーム長、Smax、を超える場合、またはBAG/ジター違反がある場合には、ポリサ27は、現在のフレーム記述子のマルチキャスト配信をディスエーブルにすることができ、CDS28へのフレームの書込みを回避することができる。
環状バッファ54に入るデータの最大総計レートが、そのバッファから外へのデータを受信する最も遅い(おそらく仮想)ポートについての最小の必要な有効時間(time−to−live)を確実にするために必要なものよりも低いことを確実にするために、ポリサ27内のフレームベースBAGおよびジター許容誤差ポリシングを使用することができる。データ通信ネットワーク16内の送信ポート66、72がその帯域幅および遅延バジェットを超えないことを確実にするために、フレームベースBAGおよびジター許容誤差ポリシングをやはり使用することができる。所与のVLacctID用に設定した最大データレートを超えていること、すなわち、設定したBAGまたはジター許容誤差を満足しないことを、ポリサ27が決定する場合には、記述子がパー送信ポート記述子キュー43に書き込まれることを防止することができ、これによってフレームが物理加入者ユニット32へ送信されることを防止する。
例として、ポリサ27は、DLT26から取得した6つの値、すなわち制御ビット(Ctrl)、VLacctID、予想される到着ポート(EPoA)、ならびにイーサネット(登録商標)フレーム記述子が記述子マルチキャスト配信機能へと渡されることを認められるかどうかおよび着信データがCDS28に記憶されることを認められるどうかを決定するための、最大フレームサイズ(Smax)、帯域幅割当てギャップ(BAG)、およびジター許容誤差(JitterT)を使用することができる。A664p7は、多数の仮想リンク(VL)が同じVLアカウントに属すること、すなわち、同じVLacctIDを有することを認め、これによって、そのVLacctID用に設定されたSmax、BAGおよびJitterTを使用して一緒にポリシングされることを認める。ポリサ27は、現在の時間Tを追跡し続ける時間マネージャを含む受信スケジューラ24から、実際の到着ポート(PoA)、到着時間(ToA)、現在の時間(T)、およびフレーム到着指標を取得する。
記述子マルチキャスト配信
記述子マルチキャストディストリビュータ(DMD)29は、DLT26によって出力されたポートマスクビットの集合を使用して、パー送信ポート記述子キュー43のどのセットがフレーム記述子のコピーを用いて書き込まれるかを決定する。記述子の1つのコピーは、PMS30によって環状バッファ54から読み出されるべきフレームのコピーを受信すべき各ポート66、72に対して書き込まれる。PMS30が特定の送信ポート66に対してルールベーススケジューラ76の動作をスケジュールすると、CDS28からフレームを読み出しかつ物理送信ポート66へフレームを送信するためにその出力を使用することができるパー送信ポート記述子キュー43を選択する。CVT56に記憶されたイーサネット(登録商標)フレームおよびA429データワードは、これらの配信がPMS30およびPMC31によって制御されるので、DMDに依存しない(下記に説明する)ことに留意することができる。
切り替えたデータフレーム用にDMD29によって出力された記述子は、フレームの最初のワードの位置(HOFpointer)、フレームストレージ時間(ToFS)、フレーム長、優先度(P)、およびポートマスクを含むことができる。DMD29がDLT26から受信したポートマスクおよび優先度を使用して、DMD29は、送信ポート当たりのビット優先度を生成して、どのパー送信ポート記述子キュー43が切り替えたデータフレーム記述子のコピーおよびその記述子を配置すべきキュー43の優先度を受領することになるかを指示する。例えば、ADS18から受信しなかった各パラメトリックデータフレームのコピーをもう1つのADS18にミラーリングすることを確実にするために、この機構を使用することができる。逆に、パラメトリックデータフレームをもう1つのADS18から受信する場合には、パラメトリックデータフレームをローカルCVT56に記憶することができるが、ADS接続された送信ポートに対応する各ポートマスクビット値をゼロに設定するという理由で(すなわち、送信ポート66、72を識別することに失敗することによって)、パラメトリックデータフレームを他のADS18に再配信しない。ADS接続された送信ポートに対応する各ポートマスクビット値をゼロに設定することによって、メッセージが、データ通信ネットワーク16上での帯域幅過負荷をもたらすことがある多数のADS18間に漫然と伝わることを防止することができる。
パラメトリックデータを含むフレーム(例えば、A/D値、ARINC429ワード、(1つまたは複数の)離散したビットの値、等を有するイーサネット(登録商標)フレーム)を、CDS28のCVT56領域内の専用の所定の位置に記憶することができる。典型的な航空機上では、2つから4つのADS18がある場合があり、これらは、機体内の他のADS18のコンテンツをミラーリングする能力を各ADS18に提供するための機構を含む。CVT56へと書き込まれた(しかし、もう1つのADS18から受信しなかった)各パラメトリックフレーム用の記述子を、もう1つのADS18に接続された各送信ポート66、72の最も高い優先度のパー送信ポート記述子キュー43上へと複製することができる。下記に説明するように、いずれかの仲間のADS18が最も最近のフレームのコピーを受信することを、ルールベーススケジューラ76の運用規律は確実にするであろう。
中央データサーバ書込み制御機能
DMD29と同時に、ポリサ27がCDS28に宛てたフレームを渡す場合には、フレームを環状バッファ54またはCVT56に記憶する。CDS28書込み制御機能への入力は、フレームストレージ時間(ToFS)、受信物理インターフェース44機能からのフレーム長、加えて受信ポートスケジューラ24およびDLT26からの環状バッファ54またはCVT56メモリ位置を含むことができる。環状バッファ54またはCVT56メモリ位置は、アドレスカウンタの初期値になり、フレームの記述子に含まれるべきDMD29へ提供するフレームポインタのヘッド(HOFpointer)になる。読出しにおいてフレーム確認のために使用するToFSを、CDS28メモリ内にフレームに属する最初のワードとして記憶することができ、すべての後続のフレームデータワードは、例えば、64データビットに加えてECCとして1回に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への早まった上書きは、決して生じないはずであることが想定される。それにもかかわらず、DMD29によってキュー43へと書き込まれた記述子に含まれたToFS値との、CDS28へのフレームのヘッドのところに書き込まれた最初のワードであった64ビットタイムスタンプToFSのミスマッチによって、上書きを容易に検出することができる。ミスマッチの場合には、フレームを破棄することができる。CDS28からフレームを読み出すために使用した記述子が、もう1つのフレームによって上書きされた位置を読み取らないことを確認するために、追加の検査を実行することができる。例えば、キュー43へと書き込まれ、かつCDS28にデータフレームとともに記憶された記述子内に追加のフレームヘッダビットを含ませることによって、例えば、宛先MACアドレスを検査することができる。
DLT26からのビットは、データフレームから解析したデータが、サンプリングタイプデータ用に確保されるスタティックCVT56メモリ位置または環状バッファ60、62、64へと書き込まれるかどうかを示す。CVT56位置ビットが、例えば、1に設定されると、CDS28ベースアドレスは、CVT56位置を示し、Smax/FrameSize値は、そのベースアドレスのところで始まり記憶されるべき事前に設定したフレームサイズとして解釈される。この例では、フレーム長は一定であり、受信ポートスケジューラ24のポリシング機能は、受信インターフェース機能によって指示されるフレーム長がILTUによって指示されるフレーム長と正確に一致しない限り、解析したデータを書き込むことを認めないであろう。これは、受信したフレームサイズエラーのケースではCVT56内のデータの潜在的なフレーム間エイリアシングを防止することができる。ベースアドレスを、アドレスカウンタへプリセットとしてロードし、DLT26から読み出したSmax/FrameSize値によって指示されるフレームサイズに達するまで、CDS28に書き込まれる。
CVT56に記憶された古い値と引き換えに保護するために、CVT56に記憶されたパラメトリックイーサネット(登録商標)フレームは、64ビット時間値を付加され、これを、CVT56内の解析したデータフレームの最後のワードに続けて記憶する。これらのパラメトリックデータフレームを、CVT56に記憶することに加えて、他のADS18にミラーリングする。したがって、他のADS18に接続された物理受信ポート42を予防的に識別し、その結果、パラメトリックデータフレームがもう1つのADS18から届かなかった場合に、記述子のコピーを、他のADS18に接続された物理送信ポート66の最も高い優先度のパー送信ポート記述子キュー43にマルチキャストすることができることを必要とすることがある。別の言い方をすれば、より最新のデータフレームが(RIU20などの)非ADSソースからADS18に到着する場合には、その記述子のコピーを、各物理送信ポート66の最も高い優先度のキューにマルチキャストすることができ、その結果、データフレームを、できるだけ早く追加のADS18によっておそらくミラーリングする。逆に、データフレームがもう1つのADS18から届いた場合には、記述子マルチキャスト内のポートマスクビットをクリアすることができ、無限ループにおいて同じデータのエンドレスの複製を防止するために、記述子を、ADS18に宛てられた任意の物理送信ポート66へ再配信しないことを確実にする。
マルチワードメッセージに属さないARINC429データフレームを、PMC31によってパラメトリックメッセージへと圧縮するためにCVT56に書き込むことができる。ARINC429は、32ビットデータワードを特定する、けれどもCDS28内の各CVT56位置は、64ビットワードに加えて8ビットのECCである。CVT56内のA429ワードの古い値と引き換えに保護するために、各A429ワードは、時間の32MSB(LSBは216マイクロ秒である)を用いて時間タグを付けられる。したがって、CVT56に記憶されたA429ワードは、MSBとして時間の32ビットおよびLSBとして32ビットA429ワードを有する。
中央データサーバメモリ
CDS28は、例えば、ダブルデータレートメモリ(DDR)と比較してシャローであるクアドデータレート(QDR)メモリを使用することができる。DDRのように、QDRメモリは、同期型であり、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つの環状バッファがあるケースでは、フレームをどの環状バッファに配置するかは、フレームをマルチキャストする最も遅いポートに依存する。同じ送信レートによってグループ分けされたポートの任意のセットに関して、CDS28は、ポートの総計のデータレート(すなわち、10Mbps、100Mbps、1Gbps)において十分なストレージを持たなければならず、このレートで512個のフレームを排出するためにかかる時間に適合する。例えば、CDS28は、CVT56用に2Mバイトのストレージを提供することができ、一方で、送信データレートの各々に専用の環状バッファ60、62、64のサイズについて柔軟な割当てを可能にする、この送信データレートを、環状バッファ54の数、いくつの受信または送信ポート42、46、66、72がそのレートで設定されるか、所望の解析データフレーム保持時間、およびそのバッファ内に含まれるフレームの必要不可欠な有効時間にしたがってさらに調節することができる。
例として、デフォルト割当てを、環状バッファ60、62、64当たり24Mバイトとすることができる。各環状バッファ60、62、64に関して、ストレージ時間を、8*24M/(PortSpeed*ポート数)とすることができる。例えば、24Mバイト環状バッファは、バッファに供給する10Mbps受信ポート42、46の数で20秒を割り算したもの、100Mbpsポート42、46の数で2秒を割り算したもの、または1Gbpsポート42、46の数で0.2秒を割り算したものよりも長いストレージ時間を与える。各環状バッファのサイズは、必要に応じて設定可能であってもよい。任意の受信または送信ポート42、46、66、72におけるいずれかの未使用のラインレートは、そのバッファを共有するすべてのポートのための残余のストレージ時間を与える。
フレームスイッチングに関して、環状バッファ60、62、64は、解析したデータフレームについて固定のブロックサイズを確定しなければならないことおよび空いているバッファ割当てを追跡し続けなければならないことを未然に防ぐことができ、これはそうでなければ、全体のADS18は、1つのイベント異常(SEU)に起因するメモリリークを受けるはずである。SEUは、ニュートロンなどの原子よりも小さい粒子によって引き起こされると考えられ、その発生頻度は高度とともに増加し、メモリ内に記憶された値および論理回路さえ破壊することが可能である。環状バッファがオーバーフローするケースでは、最新のデータは古いものを上書きする。ADS18内のすべてのFIFOキュー40は、環状バッファ54パラダイムをやはり使用することができる。このようにして、環状バッファ60、62、64の読出しおよび書込みポインタを破壊するいずれかのSEUは、バッファ60、62、64を完全に上書きするためにかかる時間の長さ内で訂正されることが保証される。
送信スケジューリング
PMS30の送信スケジューリング機能は、どのデータをCDS28から読み出し、どの送信ポート66、72がデータを受信するかを決定する。送信スケジューリング機能を、4つの主要な機能素子、すなわちパー送信ポート記述子キュー43、PMS30、パラメトリックメッセージコンストラクタ31、およびルールベーススケジューラ76などの送信アービタによって決定する。ルールベーススケジューラ76は、各送信ポート66、72に対する4つの優先記述子キュー43にしたがって維持管理し動作する。各キュー43は、512個の記述子を保持するために十分な容量を有することができる。パー送信ポート記述子キュー43内の記述子は、記述子マルチキャストディストリビュータ29によってブロードキャストバスを使用して書き込まれた。あるいは、PMS30は、ルールベーススケジューラ76がどの送信ポート66、72を次に使えるようにすべきであるか、またはPMC31がパラメトリックメッセージテーブル58にアクセスするためにどのメッセージ記述子を使用し、CVT56からおよび/またはA429出力キューから読み出したデータを使用して作成したメッセージを発信すべきであるかを示すスケジュールを維持管理することができる。
ルールベーススケジューリング
ルールベーススケジューラ76は、PMS30内のユーザ設定可能なコンポーネントとして動作する。PMS30は、1つが利用可能である場合に、4つの優先度キュー43から記述子を選択するために使用するルールベーススケジューラ76に、各ポート66、72がアクセスすることを可能にする。この記述子を、CDS28への読出しアクセスを行うために使用することができる。PMS30は、例えば、各送信ポート66、72が、ラウンドロビン方式で、厳格に時間を指定したスケジュールで、または所定のアルゴリズムでルールベーススケジューラ76にアクセスすることを認可することができる。他の運用方式、例えば、送信ポート66、72の重要性に基づく追加または優先アクセスを認可することを考慮した重み付けしたスケジュールが、想定される。CDS28へのアクセスを認可することに関して、例えば、1Gbpsの最大の保証された帯域幅および66マイクロ秒未満の各アクセス間の最大の保証された遅延で、CDS28への保証された帯域幅アクセスを認可されるもう1つの送信ポート66、72として、PMC31を考えることができる。ルールベーススケジューラ76は、どの優先度キュー43の記述子を、各ポート66、72のアクセス機会中に読み出すかを決定する仲裁(arbitration)を行う。CDS28から取得したフレームのコピーを読み出し、1つの送信ポート66、72へ送信するために、その記述子を次に使用する。
ルールベーススケジューラ76は、各パー送信ポート記述子キュー43からのフルネスしきい値ビットまたは値のセット、ならびに各パー送信ポートデータメッセージキュー41からキューフルネスインターフェース70を介してキューフルネス指示を入力として受領することができ、ここでは、しきい値ビットを、例えば、キュー43のフルネスが設定したしきい値を超えるときに1に設定することができ、かつもう1つのしきい値ビットを、キュー41がフレームを受領するためにはいっぱいであるときには、1に設定する。まとめて、キューフルネスインターフェース70に含まれるビットは、送信ポート66、72毎に多数のキュー41、43のフルネスを表す。パー送信ポート記述子キュー43がいっぱいである場合には、ルールベーススケジューラ76は、優先度ベースでパーキュー43に関する運用方法を修正することができる、またはキュー41がいっぱいである場合には、キュー41に追加のフレームを送ることを一時的に中断することができる。例えば、送信ポート66、72を使えるようにしている間に、そのポート66、72のパー送信ポート記述子キュー43のうちの1つまたは複数が、受信したフルネスしきい値に基づいていっぱいであることを、ルールベーススケジューラ76が決定する場合には、スケジューラ76は、最初にいっぱいのキュー43を使えるようにすることを判断することができる。もう1つの例では、送信ポート66、72を使えるようにしている間に、送信ポートキュー41がもう1つのフレームを受領するためにはいっぱいであることを、ルールベーススケジューラ76が決定する場合には、スケジューラ76は、キュー41がもう1つのフレームを受領することが可能になるまでそのポート66、72を使えるようにすることを先行して回避するように判断することができる。さらにもう1つの例では、使えるようにされる送信ポート66、72用のいずれかのパー送信ポート記述子キュー43内に取り扱う記述子がない場合には、ルールベーススケジューラ76は、ラウンドロビンタイプの(または交互の)方式で次の送信ポート66、72を使えるようにするように制御アクセスを切り替えることができる。
前に説明したように、各送信ポート66、72に対して優先度を付けた4つのパー送信ポート記述子キュー43がある。どのキュー43が取り扱われる記述子を有するようになるかは、4つの記述子キュー43の各々のフルネスに依存する。各キュー43のフルネスを、例えば、7つのしきい値レベル、加えて空フラッグによって測定することができる。この例では、7つのしきい値レベルは、「フルネス」の変化するレベルを示すことができる。優先度エンコーダロジックを使用して、7つのしきい値および空フラッグを、3ビット値へと変換することができ、これは、どのパー送信ポート記述子キュー43がPMS30によって使えるようにされる(すなわち、CDS28からデータを読み出される)記述子を有するかを決定する。これらの12ビット、加えて4ビットカウンタの出力を、例えば、ルールベーススケジューラ76の運用ルールを記憶した16K×3ルックアップテーブルを処理するために使用することができる。あるいは、ルールベーススケジューラ76のルールを、例えば、運用ルールを決定するためのアルゴリズムとすることができる。このルックアップテーブルへの入力として各ポートについて4ビットカウンタを有することの目的は、確定しない時間間隔の間、使えるようにされる同じキューを生じさせるスタティックしきい値組合せを有することの理論的な可能性を避けるためである。これは、各優先度に与えられる運用のレートの下境界を保証するための方法である。
ルールベーススケジューラ76優先度に基づいて、選択した記述子を選択したパー送信ポート記述子キュー43から読み出した後で、完全なフレームは、CDS28から読み出され、そして次の送信ポート66、72がスケジューラ76によって使えるようにされる記述子を有することを認められかつCDS28からフレームを受信する機会を認可される前に、ポート41へ送信される。スイッチングしたデータフレームに関して、読出しプロセス中に、記述子のToFSを、記憶したフレームの記述子と比較することができる。これらが一致しない場合には、フレームを破棄することができる。各送信イーサネット(登録商標)ポートは、追加でプログラマブル最大エイジ(MaxAge)を有し、ToFSと入力ポートスケジューラ24書込み制御機能内の時間カウンタの現在の値との差がMaxAgeパラメータよりも大きい場合には、フレームを破棄することができる。それ以外は、フレームを、PMS30によってCDS28から読み出し、その送信ポート66、72へ転送し、そして加入者ユニット32または仮想リンク36へ送信する。
パラメトリックメッセージスケジューラ
パラメトリックメッセージスケジューラ(PMS)30は、どのメッセージをどの送信ポート66、72へ送るかをスケジュールするために動作する。PMS30は、例えば、ラウンドロビン方式で、そしてルールベーススケジューラ76によって選択されたパー送信ポートキュー43から受信した記述子を使用して、どの送信ポートが、ルールベーススケジューラ76によって次に使えるようにされるかを決定し、完全なデータフレームを、CDS28内の環状バッファ54から読み出す。この読み出したフレームを、共通送信インターフェース34を使用して使えるようにされる送信ポート66、72へ送信する。
PMS30は、PMC31が送信ポートであるかのようにPMC31の動作をスケジュールすることができ、作成すべきメッセージについての記述子としてPMSを取り扱うことによって、どのメッセージをPMC31によって作成するかを制御する。PMC31によって受信された記述子は、パラメトリックメッセージテーブル58内のエントリのリストを参照し、このテーブルは、CVT56またはA429出力キューからのどんなデータが作成するフレームへと配置されるかを詳述する。例えば、PMS30は、アドレスリストへのアドレスおよびリスト長をPMC31に提供することができる。リスト内のアドレスは、作成しようとするデータフレームへと配置されるべきであるCVT56またはA429出力キューに含まれたデータについての位置である。
パラメトリックデータフレームの作成を、厳密にスケジュールすることができる。例として、4096個までのフレーム作成のスケジューリングを、500マイクロ秒のスケジュールしたデータフレーム起点分解能でサポートすることができる。500マイクロ秒の時間増加を表すカウンタ値のテーブル、カウンタしきい値のテーブル、およびメッセージ記述子のテーブルがあってもよく、これらのすべてを、記述子テーブルアドレスカウンタ(DTAC)のエントリによって参照する。作成しようとするデータフレームの記述子フォーマットを、下記にさらに説明する。カウンタ値テーブル、カウンタしきい値テーブル、および記述子テーブルの各エントリを、作成しようとするデータフレームのインスタンスと関係付ける。
メッセージ作成のスケジューリングは、次のように進む。DTACは、4096個のカウンタ値の完全なテーブルをスキャンする。各カウンタ値を、増加させ、最大カウントしきい値のテーブルから取得したその最大カウントしきい値と比較する。カウントがそのしきい値よりも小さい場合には、増加した値を、単純にカウント値のテーブルへと書き戻し、メッセージ作成をトリガしないことがある。しかしながら、カウントがメッセージについて事前設定した最大値以上である場合には、カウント値書き戻しは、ゼロであり、そして送信すべきカスタムメッセージ用の記述子とすることができるDTACによって参照した記述子テーブルエントリのコンテンツの値を、メッセージ作成機能を始めるためにPMC31へ渡す。
この例では、4096個よりも少ない作成すべきメッセージがある場合には、メッセージ作成を決して行わせないことが可能な記述子テーブル内の未使用の記述子エントリがあるであろう。特定の記述子位置エントリをディスエーブルにすることが望ましい場合には、対応する最大カウントテーブルエントリを、カウント値にとっては不十分なビット数(すなわち、11)のために、達することができないある値、すなわち、4096に設定することができる。この例では、PMS30が、500マイクロ秒毎に4096個までのメッセージのスケジューリングが可能であるので、PMS30は、ADS18用のカスタムメッセージを作り出す際の限定要因にはなりそうもないであろう。あるいは、任意のメッセージの作成についてのスケジュール分解能を、500マイクロ秒の増分にすることができる。
パラメトリックメッセージ作成機能
メッセージ作成をスケジュールすることをPMS30が決定すると、PMS30は、PMC31機能へ記述子利用可能指示とともに記述子を渡す。記述子は、識別情報を含み、その結果、イーサネット(登録商標)/A664p7フレーム用のデータソースがA429キュー40のうちの1つからであるかどうかおよび/またはCVT56アドレスのリストを使用してCVT56からスキャッタギャザすべきであるデータであるかどうかを、PMC31は決定することができる。例えば、記述子の最上位ビット(MSB)が、メッセージをA429キュー40内のデータから作成すべきであることを示す場合には、記述子は、ベースアドレス(HOLpointer)およびUDP/IP/MACヘッダの長さを含むことができ、このヘッダ長さは、パラメトリックメッセージテーブル58から直接読み取られ、1つまたは複数のA429キューからのデータが後に続くメッセージ作成キュー40へと配置される。
逆に、パラメトリックメッセージ記述子のMSBが、フレームをCVT56内のデータから作成すべきであることを示す場合には、HOLpointerは、パラメトリックメッセージテーブル58の順番に並べられ連続するリストのCVT56内のベースアドレスおよびメッセージの作成において使用されるべきであるCVT56アドレス記述子である。この例では、長さフィールドは、アドレス記述子のそのリストの長さを示す。PMC31は、選択したCVT56データ値を集めるためにこれらのアドレス記述子を使用する。作成中には、アドレス記述子のリストを、パラメトリックメッセージテーブル58から最初に読み出す。アドレス記述子を次に使用して、パラメトリックメッセージテーブル58から読み出すことによってメッセージのヘッダを、ならびにCVT56および/またはA429出力キューの選択した位置から読み出すことによってメッセージのペイロードを作成する。
完全なデータフレームまたは「メッセージ」は、ヘッダ、パラメータ値のリスト、およびトレイラから構成される。各データフレームヘッダフィールドおよび各パラメータ値を、上に説明したように、CDS28の固定であるが不連続の位置に記憶する。これゆえ、作成しようとする各データフレームは、CVT56からこれらの散らばった値を読み出すために使用されるであろうアドレスの順番に並べたリストを含まなければならない。PMS30メモリを小さく保つために、アドレス記述子のリストは、CDS28内のメモリの固定的な領域、例えば、CVT56のパラメトリックメッセージテーブル58内にそれ自体を維持管理することができる。
PMS30によってPMC31へ供給されたパラメトリックメッセージ記述子は、例えば、18ビットのリストポインタのヘッド(HOLpointer)、32ビットワードでのアドレスのリストの長さ、および制御ビット用に確保したフィールドを含むことができる。この例では、HOLpointerを、左シフトさせかつゼロを付け加えることができ、その結果、各アドレスリストは、64バイト境界においてだけ始まる。「S」制御ビットは、記述子がA664p7メッセージ用であるか否かをやはり示すことができる。記述子がA664p7メッセージ用である場合には、記述子内のEflowIDフィールドを、A664p7シーケンス番号を追跡するために使用することができる。ゼロのパラメトリックメッセージ記述子MSB値は、メッセージへと書き込まれるデータ位置を間接的に参照するアドレスのリストを参照することができることがさらに想定される。これらのアドレスを、例えば、参照したデータ位置をどのようにしてメッセージへと圧縮するかを示すバイト選択および制御情報とともに、CVT56内の64ビット位置内に含むことができる。存在する場合には、制御フィールドは、LSBまたはMSBアライメント、ビッグエンディアン、リトルエンディアン、またはマングドビッグエンディアンフォーマット、等を示すためのコードを含むことができる。さらなる制御フィールドコンテンツおよび効果が、想定される。
作成されるメッセージがA664p7メッセージである場合には、PMC31は、PMS30から受信したメッセージ記述子内のフィールド(EflowID)を使用することができ、そのVLのシーケンス番号(SN)にアクセスすることができる。SNバイトを、A664p7に記述されたルールにしたがって増加させ、PMC31によって作成されたメッセージペイロードの最後のバイトとして配置することができる。一旦、メッセージフレームが完了すると、メッセージフレームは、専用のループバックポート86へと転送され、このループバックポート86は、CRC−32などのCRCを演算し、ループバック方式でADS18の共通受信インターフェース22へとフレームを転送して戻す。
加入者ユニット32へ転送する前に、ADS18の共通受信インターフェース22へ作成したメッセージを送り返すことに関する多数の理由があり得る。主要な理由は、安全性である。各パラメトリックメッセージフレームの作成が厳密にスケジュールされるとはいえ、1つの故障に対する脆弱性を巧みに回避するために、A664p7フレームを別のポリサ27ロジックによってポリシングしなければならないことが想定される。加入者ユニット32がトラフィックシェーピングを既に実行することができるとしても、これが、A664p7スイッチにおける受信ポートスケジューラ24のポリシング機能を必要とする理由である。ADS18内では、この必要条件を満足させるためにPMS30(およびこれゆえPMC31)から、ポリサ27を分離する。
ループバックで作成したメッセージに関する第2の理由は、DMD機能の重複を避けることであり得る。ループバックポート86は、メッセージについて重要な動作を実行しておらず、したがって、動作遅延によって制限されないことがある。結果的に、ループバックポート86のオペレーションデータレートを、例えば、ギガビットレートとすることができる。ループバック遅延への結果としてもたらされる影響を、例えば、フレームの記述子を高優先度パー送信ポート記述子キュー43に配信すること、および適切にルールベーススケジューラ76をプログラミングすることによって、無視できる程度にすることが可能である。例えば、500マイクロ秒未満のうちに各々が512バイトの平均長さを有する100個よりも多くのメッセージを送信することをサポートするために、ループバックPMC31に対して1つのループバックポート86が十分であり得ることが想定される。しかしながら、追加のループバックポート86を、ADS18内に設定し、PMC31が生成したメッセージに専用にすることが可能である。
ARINC429データパス
ARINC429データワードは、16から48の番号を付けた物理受信ポート42に到達する。到着時間レコーダ50は、次にどの受信ポート42のワードを使えるようにすべきかを指示する。次に、受信ポートスケジューラ24は、データフレームを解析して、到着ポート(PoA)およびA429 8ビットタグを識別し、各々をDLT26へ供給する。DLT26は、ワードをCVT56(および/または任意の環状バッファ54)に記憶すべきかどうか、およびA429送信ポート66のどれがワードのコピーを受信するかを決定する。PMS30は、PMC31機能へパラメトリックメッセージ記述子を供給し、イーサネット(登録商標)メッセージまたはA664p7メッセージを作成する。
マルチワードメッセージの一部ではないA429ワードもまた、CVT56に記憶することが可能である。このケースでは、各ワードを、LSBが216マイクロ秒である32ビット時間タグとともに記憶する。この例では、PMC31機能は、CVT56内の他のパラメータと一緒にA429ワードを取ることができて、イーサネット(登録商標)フレームまたはA664p7フレームを作成する。
ARINC664第7部シーケンス番号同期
本明細書において説明したデータ通信ネットワーク16は、多数のADS18にわたるA664p7シーケンス番号同期を提供することができることがさらに想定される。多くのアビオニクスプラットフォームでは、異なるADS18インスタンス上に存在するPMC31機能にとって同一のコンテンツを有するA664p7データフレームを同期させて配信することが有利なことがある。これは、デュアル末端システムLRUの仮想化と同然であるが、異なるサーバおよび回路ボード上に存在する2つの仮想末端システムを有する。このA664p7シーケンス番号同期を、メッセージ交換プロトコルを使用して達成することができ、このプロトコルは、時間同期が実現されることを確認し、すべてのEflowIDについてのシーケンス番号の値を含むADS18間にメッセージを提供し、指定された将来の時間しきい値で、例えば、シーケンス番号の相違が大きくなり過ぎるときにゼロへのシーケンス番号のリセットを指示するメッセージを提供する。
プロセッサアレイ
ADS18はまた、1つもしくは複数のプロセッサ78、または分散型プロセッサアレイ78を設けることができる。示したように、各プロセッサ78は、スイッチング機能に接続され、例えば、イーサネット(登録商標)ポートとして見られるプロセッサ独自の仮想受信および仮想送信ポート72を含む。プロセッサ78は、そのプロセッサ78に供給されたメッセージの計算を実行するために、1つの実行スレッドまたは多数の実行スレッドを使用して動作することができる。供給されたメッセージ上に実行する機能を、メッセージのヘッダ中の情報によって駆動する。プロセッサアレイは、集中型仮想RIU(VRIU)としてADS18を取り扱うように構成される。例えば、VRIUは、生のセンサデータからエンジニアリングユニット変換を実行すること、導き出したパラメータを演算すること、および/または生データを処理することによってリモートアプリケーション用のカスタムメッセージを作成することが可能である。カスタムメッセージのスケジューリングは、システム遅延を最小にし、分散型処理の同期を可能にする。
利用可能なプロセッサ78の一例は、アビオニックスシステム用のクリティカルミッションアプリケーションのために特に設計された10/100イーサネット(登録商標)インターフェースを有するシングルチップマイクロプロセッサを含むことができる。利用可能なプロセッサ78のもう1つの例を、汎用マイクロプロセッサとすることができる。加えて、マイクロプロセッサは、キャッシュメモリおよび内部メモリの両方においてECCを有するデュアルロックステップCPUをサポートすることができ、内部メモリは、不揮発性ストレージ用の内部フラッシュメモリを含む。前述のプロセッサ78を、ADS18用のスケーラブル処理アーキテクチャをイネーブルにするために使用することができる。このようなプロセッサ78を、前述のPMS30およびPMC31機能と組み合わせて使用することができ、シリアル処理スレッドまたはパラレル処理スレッドの集合へと分解することが可能である仮想的に任意のアプリケーションに関する最適化した並列処理を提供することを、加えて想定することができる。
本明細書において記述したように、メッセージを作成するために記述子をPMC31へ送ると、PMS30は、メッセージを獲得し、フォーマット化し、配信することができる。分散型プロセッサの動作を同期させるためにどのようにしてメッセージのPMS30スケジューリングを使用することが可能であるかの例は、次の通りである。プロセッサ78上で実行するスレッドは、スレッドを引用するカスタムメッセージを受信するときだけ起動されるである。プロセッサ78上で実行するスレッドの出力を、パラメトリックメッセージとすることができ、このメッセージを、共通受信インターフェース22において仮想受信ポート46によって受信することができ、受信ポートスケジューラ24によってスケジュールすることができ、そしてCVT56に記憶することができる。その上、PMS30は、処理のためにもう1つのプロセッサ78への(上に説明したように)処理したパラメトリックメッセージに基づいて、メッセージを獲得し、フォーマット化し、配信することによってプロセッサ78を介して2回目を繰り返すことができる。このプロセスは、所望の最終結果を実現するまで繰り返すことができる。このプロセスは、所望の最後の結果が得られるまで繰り返すことができる。したがって、汎用プロセッサの処理能力を、協働してパイプライン化することができ、最適化した分散型のマルチプロセシングシステムを形成することができる。各スレッドが、知られている最大実行時間または処理時間を有する場合には、PMS30およびPMC31機能は、利用可能なときまたは必要なときにプロセッサ78の利用をさらに最適化することができる。
もう1つの詳細な例は、3つのパラメトリックメッセージに関するデータフローをさらに説明することができる。PMS30は、例えば、CVT56からパラメータの第1のセットを獲得し、第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へのこのPMSメッセージ割込み駆動型処理をマッピングすることを、各プロセッサ78用のプライベートRAMの可用性によってさらに容易にすることができ、状態を保持し、メッセージ駆動型割込みに続く動作を再開することができる。タスクスイッチまたはイベント駆動型割込みが生じなければならない前に、所与の処理スレッドが終わりまで実行不可能であるところでは、この割込み駆動型処理能力は、割込み駆動型処理にとって有用であり得る。メッセージ駆動型割込みをイネーブルにする場合には、いくつかの非同期的なイベントに起因して、RIU20などの外部ソースから到達するメッセージにとって、完全にCVT56をバイパスすることおよび選択したプロセッサ78へ直接(例えば、環状バッファ54のうちの1つを介して)ADS18のスイッチング機能を通して送ることが、やはり可能である場合がある。
インターワーキング
インターワーキングを、例えば、異なる受信または送信物理インターフェース44、68によって決定されるように、1つのプロトコルからもう1つへの変換を実行するように設計することができる。1つの鍵となるインターワーキング機能は、仮想末端システム(VES)82であり、これは、例えば、ADS18に接続された任意のLRU用のA664p7インターフェースとして働き、ADS18への単純なイーサネット(登録商標)インターフェースをサポートするため、および、例えば、COMポートデータをVES82へ伝達するためにジャンボイーサネット(登録商標)フレームを使用するためにLRUをイネーブルにする。VES82は、多数の古い、現在の、および/または将来の論理フォーマットおよびプロトコルをサポートすることができる。
本明細書において開示した実施形態は、協働した動作をともなうアビオニクスデータ通信ネットワーク用のアビオニクスデータサーバを提供する。上記の実施形態において実現することができる1つの利点は、上に記述した実施形態が、航空機データの効率的な収集、ジャストインタイム処理、的確なスケジューリング、ならびに協働型サーバ、システム、加入者ユニット、およびディスプレイへのそのデータの配信を用いて動作することである。加えて、上に記述した実施形態は、分散型プロセッサ間で同期した処理を提供する一方で、データサーバを時間同期させることが必要であるだけである。上に記述したアビオニクスデータサーバの効率的な動作のために、協働していないネットワーク利用に起因する過剰なネットワークおよびコンピュータ処理の帯域幅の非効率さを最小化することができ、帯域幅効率の向上、および低い電力要求を結果としてもたらす。さらにその上、効率の向上および低い電力要求のために、より小さな回路パッケージを、より小さな熱プロファイルのために設計することができ、優れた空間およびサイズ利便性を結果としてもたらす。航空機コンポーネントを設計する際に、対処すべき重要な因子は、サイズ、電力必要条件、および信頼性である。サイズの縮小、電力必要条件、および信頼性は、飛行中の競争できる利点と相互に関係する。
上に記述した実施形態のもう1つの利点は、送信ポート速度によって分離されたCDS内の多数の環状バッファを利用することであり、適切なレートでデータを上書きすることによってデータ効率の向上を可能にし、その結果、例えば、遅い送信ポートに宛てられたフレームは、早い送信ポートに対する早く到着するフレームによっては上書きされない。この利用は、データフレームが上書きされる前に使用されるという最大の確率を可能にする。加えて、環状バッファの利用は、空いているまたは未使用のメモリブロックを追跡し続ける方法を決定するための必要性を削除する。最も古いデータは、環状バッファを使用して常に上書きされ、早く複雑でない動作を提供する。
上記の実施形態のさらにもう1つの利点は、上に記述した実施形態が、現在のまたは古い末端システムおよび、A664p7システムなどのスイッチを著しく制限するまたは削除することである。加えて、上に記述した実施形態は、多数のサーバまたはストレージデバイスにわたってデータをミラーリングすることを提供し、故障の場合の冗長性対策を提供する。上に記述した実施形態のさらにもう1つの利点は、多数のプロセッサまたは多数のサーバが相互に比較することができる同じ計算を実行することを可能にすることによって、記述したネットワークが、処理タスクの冗長な確認を提供することである。
上に記述した実施形態のさらにもう1つの利点では、ルールベーススケジューラは、1つまたは複数のフルネス指標に基づいて使えるようにするデータおよび送信ポートを決定することを行い、運用優先度を設定することを可能にする。運用優先度は、未利用の運用スケジュールをむだにせずに送信スケジューリング機能の適応性があり、しかも決定的な動作を可能にする。
まだ記述されていないという点で、様々な実施形態の異なる特徴および構造を、望むように相互に組み合わせて使用することができる。その1つの特徴が実施形態のすべてにおいて図示されないことがあることは、その特徴がなくてもよいと解釈すべきであることを意味せず、記述の簡潔さのために行われる。したがって、新しい実施形態が明確に記述されるか否かにかかわらず、新しい実施形態を形成するために、異なる実施形態の様々な特徴を望むようにうまく組み合わせることができる。本明細書において記述した特徴のすべての組合せまたは並べ替えを、この開示によって保護する。
この明細書は、最良の形態を含む本発明を開示するため、ならびにいかなる当業者でも、任意のデバイスまたはシステムを作成することおよび使用すること、および任意の組み込んだ方法を実行することを含む本発明を実行することをやはり可能にするために例を使用する。本発明の特許可能な範囲は、特許請求の範囲によって規定され、当業者なら思い付く別の例を含むことができる。このような別の例が特許請求の範囲の文面かと異ならない構造的要素を有する場合、またはこのような別の例が特許請求の範囲の文面とは実質的でない差異しか有さない等価な構造的要素を含む場合には、このような別の例は、特許請求の範囲の範囲内であるものとする。
10 航空機
12 リモート入力ユニット(RIU)
14 加入者ユニット
16 データ通信ネットワーク
18 アビオニクスデータサーバ(ADS)
20 物理RIU
22 共通受信インターフェース
24 受信ポートスケジューラ
26 記述子ルックアップテーブル(DLT)
27 ポリサ
28 中央データサーバ(CDS)
29 記述子マルチキャストディストリビュータ(DMD)
30 送信パラメトリックメッセージスケジューラ(PMS)
31 パラメトリックコンストラクタ(PMC)
32 物理加入者ユニット
34 共通送信インターフェース
36 仮想リンク
38 データカップリング
40 データキュー
41 パー送信ポートデータメッセージキュー
42 物理受信ポート
43 パー送信ポート記述子キュー
44 受信物理インターフェース
46 仮想受信ポート
48 受信仮想インターフェース
50 到着時間(ToA)レコーダ
52 受信ポートコンセントレータ
54 環状バッファ
56 現在値テーブル(CVT)
58 パラメトリックメッセージテーブル
60 10Mbps環状バッファ
62 100Mbps環状バッファ
64 1Gbps環状バッファ
66 物理送信ポート
68 送信物理インターフェース
70 キューフルネスインターフェース
72 仮想送信ポート
74 仮想送信インターフェース
76 ルールベーススケジューラ
78 分散型プロセッサ
80 グラフィックスレンダラ
82 仮想末端システム(VES)
84 ネットワーク大量ストレージ
86 ループバックポート

Claims (10)

  1. 航空機の航行に関するデータを提供する複数のリモート入力ユニット(RIU)(20)および前記航空機(10)の航行のために前記データの少なくともいくつかに基づいてメッセージを使用する加入者ユニット(32)を有する前記航空機(10)用のデータ通信ネットワークであって、
    前記RIU(20)に非同期的に接続され、前記RIUから到着した順番に前記データを受け取る中央データサーバ(CDS)(28)と、
    前記CDS(28)内に設けられ、かつ前記複数のRIUからの前記データの現在のバージョンを記憶する現在値テーブル(CVT)(56)と、
    前記CVT(56)からメッセージを前記メッセージの優先度に基づいて選択し、かつ前記メッセージに関する少なくとも対応する加入者ユニット(32)へ選択された前記メッセージを送るメッセージスケジューラ(30)と、
    を備える、データ通信ネットワーク。
  2. 前記メッセージが、所定のメッセージフォーマットまたはカスタムメッセージフォーマットのうちの少なくとも一方を有する、請求項1に記載のデータ通信ネットワーク。
  3. 前記所定のメッセージフォーマットまたは前記カスタムメッセージフォーマットのうちの少なくとも一方を形成することが可能な仮想末端システム(82)、メッセージコンストラクタ、またはプロセッサ(78)のうちの少なくとも1つをさらに備える、請求項2に記載のデータ通信ネットワーク。
  4. 前記プロセッサ(78)が、分散型プロセッサアレイを備える、請求項3に記載のデータ通信ネットワーク。
  5. 前記ネットワークが、イーサネット、IEEE802.3、ARINC664第7部、CANバス、ARINC429、またはARINC661のうちの少なくとも1つを介して前記RIU(20)または前記加入者ユニット(32)のうちの少なくとも一方とインターフェースで接続することが可能である、請求項1から4のいずれかに記載のデータ通信ネットワーク。
  6. 前記CDS(28)が、メモリをさらに備える、請求項1から5のいずれかに記載のデータ通信ネットワーク。
  7. 前記メモリが、少なくとも1つの環状バッファを備える、請求項6に記載のデータ通信ネットワーク。
  8. 前記メッセージが、前記少なくとも1つの環状バッファ(54)に記憶される、請求項7に記載のデータ通信ネットワーク。
  9. 多数の環状バッファ(54)が、異なるデータ送信レートで動作し、前記少なくとも1つのメッセージが、前記加入者ユニット(32)と同じデータ送信レートを有する前記少なくとも1つのバッファ(54)に記憶される、請求項8に記載のデータ通信ネットワーク。
  10. 前記メッセージスケジューラ(30)が、前記ネットワーク上の汎用コンピュータ上で実行される実行可能なプログラム、前記ネットワーク上の特殊用途コンピュータ上で実行される実行可能なプログラム、または前記ネットワーク上の特殊論理回路のうちの少なくとも1つを備える、請求項1から9のいずれかに記載のデータ通信ネットワーク。
JP2014202744A 2013-10-11 2014-10-01 航空機用データ通信ネットワーク Expired - Fee Related JP5957055B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/052,041 US10819791B2 (en) 2013-10-11 2013-10-11 Data communications network for an aircraft
US14/052,041 2013-10-11

Publications (2)

Publication Number Publication Date
JP2015076884A JP2015076884A (ja) 2015-04-20
JP5957055B2 true JP5957055B2 (ja) 2016-07-27

Family

ID=51946724

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US10819791B2 (ja)
JP (1) JP5957055B2 (ja)
CN (1) CN104579863A (ja)
BR (1) BR102014025315A2 (ja)
CA (1) CA2867216C (ja)
FR (1) FR3011958B1 (ja)
GB (1) GB2520815B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3036561B1 (fr) * 2015-05-21 2017-06-23 Thales Sa Ensemble avionique avec surveillance de modules d'emission/reception par analyse de trafic reseau
US10050765B2 (en) 2016-01-08 2018-08-14 Ge Aviation Systems Llc Providing an interface for an avionics data transfer system
FR3057127B1 (fr) * 2016-10-05 2019-04-19 Airbus Operations Processeur adapte pour un reseau ethernet commute deterministe
US10778575B2 (en) 2017-02-20 2020-09-15 Ge Aviation Systems Llc Systems and methods for scheduling a message
US10965787B2 (en) * 2018-04-04 2021-03-30 Honeywell International Inc. Systems and methods for aircraft interface device connectivity with mobile devices
DE102019215058A1 (de) * 2019-09-30 2021-04-01 Airbus Operations Gmbh Avioniknetzwerk mit synchronisationsdomänen und verfahren zum synchronisieren von netzwerkteilnehmern in einem avioniknetzwerk
CN110830482B (zh) * 2019-11-13 2021-07-27 哈尔滨工业大学 一种部件串行接口的通用驱动系统及方法
DE102019220559A1 (de) * 2019-12-23 2021-06-24 optiMEAS Measurement and Automation Systems GmbH Messsystem sowie Verfahren zum Starten und Verfahren zum Betreiben dieses Messsystems
FR3110989B1 (fr) * 2020-05-28 2022-08-26 Dassault Aviat Système de télédistribution de fichiers informatiques d'aéronef, ensemble et procédé associé
US20220131598A1 (en) * 2020-10-26 2022-04-28 Ge Aviation Systems Llc Converged avionics data network

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US7202776B2 (en) * 1997-10-22 2007-04-10 Intelligent Technologies International, Inc. Method and system for detecting objects external to a vehicle
US5883586A (en) 1996-07-25 1999-03-16 Honeywell Inc. Embedded mission avionics data link system
DE69818863T2 (de) * 1997-12-19 2004-09-09 Bae Systems Plc, Farnborough Binäre kodeumsetzer und kodevergleicher
US6813777B1 (en) * 1998-05-26 2004-11-02 Rockwell Collins Transaction dispatcher for a passenger entertainment system, method and article of manufacture
US7131136B2 (en) * 2002-07-10 2006-10-31 E-Watch, Inc. Comprehensive multi-media surveillance and response system for aircraft, operations centers, airports and other commercial transports, centers and terminals
JP3583937B2 (ja) * 1998-12-28 2004-11-04 富士通株式会社 情報処理装置
AU2001253364A1 (en) * 2000-04-10 2001-10-23 Honeywell International, Inc. In-flight e-mail system
US20030093798A1 (en) * 2000-07-10 2003-05-15 Michael Rogerson Modular entertainment system configured for multiple broadband content delivery incorporating a distributed server
US6785712B1 (en) * 2000-09-21 2004-08-31 Rockwell Collins, Inc. Airborne e-mail data transfer protocol
US20030200342A1 (en) * 2001-07-02 2003-10-23 Globespan Virata Incorporated Communications system using rings architecture
US7573891B1 (en) * 2001-12-05 2009-08-11 Optimal Innovations, Inc. Hybrid fiber/conductor integrated communication networks
US7289786B2 (en) * 2003-01-16 2007-10-30 Qualcomm Incorporated Method and apparatus for communicating emergency information using wireless devices
US7694061B2 (en) * 2004-09-08 2010-04-06 Fisher-Rosemount Systems, Inc. Discarding a partially received message from a data queue
US20060276943A1 (en) * 2005-06-01 2006-12-07 Polar Industries, Inc. Systems and methods for data processing and control in a transportation system
WO2007027818A1 (en) * 2005-08-30 2007-03-08 Sensact Applications, Incorporated Automated parking policy enforcement system
US20070127521A1 (en) 2005-12-02 2007-06-07 The Boeing Company Interface between network data bus application and avionics data bus
US8390325B2 (en) * 2006-06-21 2013-03-05 Element Cxi, Llc Reconfigurable integrated circuit architecture with on-chip configuration and reconfiguration
US7787486B2 (en) * 2006-11-13 2010-08-31 Honeywell International Inc. Method and system for achieving low jitter in real-time switched networks
US7689327B2 (en) * 2006-11-21 2010-03-30 United Technologies Corporation Microserver adapter for an avionics box
FR2917204B1 (fr) * 2007-06-05 2011-07-01 Airbus France Procede et dispositif d'acquisition, enregistrement et exploitation de donnees captees dans un aeronef
US8515547B2 (en) * 2007-08-31 2013-08-20 Cardiac Pacemakers, Inc. Wireless patient communicator for use in a life critical network
US7827359B2 (en) * 2007-12-14 2010-11-02 Spansion Llc Clock encoded pre-fetch to access memory data in clustering network environment
JP5360457B2 (ja) * 2008-02-13 2013-12-04 日本電気株式会社 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム
US8694056B2 (en) * 2008-11-02 2014-04-08 Percello Ltd. Scalable digital base band processor for cellular base stations
JP5018914B2 (ja) 2010-03-03 2012-09-05 沖電気工業株式会社 センサデータ提供システム、方法及び装置
BR112013000184B1 (pt) * 2010-07-05 2020-11-24 Saab Ab METODO PARA CONFIGURAR UM SISTEMA DE CONTROLE DE AVIONICOS DISTRIBUfDO
US8675689B2 (en) 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
CN102868714A (zh) * 2011-07-08 2013-01-09 中国商用飞机有限责任公司 一种用于大型飞机的无线宽带通信系统
US20130203400A1 (en) * 2011-11-16 2013-08-08 Flextronics Ap, Llc On board vehicle presence reporting module

Also Published As

Publication number Publication date
GB2520815A (en) 2015-06-03
GB201417398D0 (en) 2014-11-19
BR102014025315A2 (pt) 2015-12-15
US10819791B2 (en) 2020-10-27
GB2520815B (en) 2015-12-16
FR3011958B1 (fr) 2019-01-25
CN104579863A (zh) 2015-04-29
JP2015076884A (ja) 2015-04-20
FR3011958A1 (fr) 2015-04-17
CA2867216A1 (en) 2015-04-11
CA2867216C (en) 2018-04-10
US20150106473A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
JP5957055B2 (ja) 航空機用データ通信ネットワーク
JP2015076889A (ja) 航空機用データ通信ネットワーク
JP5868470B2 (ja) 航空機用データ通信ネットワーク
JP6268283B2 (ja) 航空機用データ通信ネットワーク
JP6063425B2 (ja) 航空機用データ通信ネットワーク
US8505013B2 (en) Reducing data read latency in a network communications processor architecture
US10686714B2 (en) Traffic management for high-bandwidth switching
US8514874B2 (en) Thread synchronization in a multi-thread network communications processor architecture
US10567307B2 (en) Traffic management for high-bandwidth switching
US10581762B2 (en) Packet scheduling in a switch for reducing cache-miss rate at a destination network node
US8868889B2 (en) Instruction breakpoints in a multi-core, multi-thread network communications processor architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160617

R150 Certificate of patent or registration of utility model

Ref document number: 5957055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees