説明

アビオニクスネットワーク内のフリーランニングノードを時間同期させる方法

【課題】アビオニクスネットワーク内のフリーランニングノードを時間同期させる。
【解決手段】ネットワーク上の受信側ノード70、76、80、84、90、94のグローバルネットワーク時間のローカル推定値をグローバルネットワーク時間基準(GNT)に同期させる。前記フリーランニングノード70、76、80、84、90、94が、精密時間プロトコル同期メッセージを受信し、前記メッセージから抽出される時間データに基づいてレシオ(R)およびオフセット(TO)を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の技術は、ARINC664パート7に記載されているアビオニクス全二重交換イーサネット(商標)など二重冗長ネットワーク内のフリーランニングノード間で時間を同期させる方法に関する。
【背景技術】
【0002】
ARINC664パート7ネットワークでは、各エンドシステム(ES)またはターミナルノードがネットワークインターフェースコントローラ(NIC)の役割を担い、ホストプロセッサを共用する複数のアプリケーションによって書込みおよび読出しされるメッセージのために1つまたは複数のチャネル上で開いた通信ポートを維持することができる。ARINC664パート7アビオニクスネットワークでは、ノードは、未検出エラーの確率が1飛行時間あたり約10-6未満である通常完全性モードで動作することができる。未検出エラーの確率が1飛行時間あたり10-9以下でなければならない高完全性モードをサポートするためには、ノードに追加の機能が必要とされる。アプリケーションは、ネットワーク全体にわたって移送される、安全にとって決定的なデータのために高い完全性を確保することが重要である場合、高完全性モードで動作する可能性がある。そのような完全性検査は、ビット完全性を検証すること(たとえば、巡回冗長チェックサムを使用する)、発信元完全性を検証すること(すなわち、データが確実に正しい発信元から入来するようにする)、時間的順序を検証すること(すなわち、メッセージが送受信される順序を検査する)、およびデータのエージを検証すること(すなわち、メッセージが送信ノードにサブミットされたときと、そのメッセージが受信側ノードから取り出されたときとの時間差)を含む。順序性およびエージを検証するために、データには、発信元アプリケーションによって公開されたとき、および宛先アプリケーションによって取り出されたとき、ノードごとにそれぞれのローカル時間基準を参照して、またはそれを使用して、正確にタイムスタンプを与えなければならない。したがって、ESそれぞれのローカル時間基準すべてが、指定された最小許容差内で、時間が悪化するのを防止するように、互いに追随し合うことが重要である。
【発明の概要】
【0003】
ネットワークを介して通信する、安全にとって決定的なアプリケーションは、アプリケーション特有のプロトコルを使用し、アプリケーション内でそれ自体の順序および時間の完全性の監視および検証を実施することができる。たとえば、GEとRockwell Collinsによって共同開発されたボーイング787Common Data Networkは、時間基準、および個々のノード時間基準間の関係を含むオフセットテーブルを集中監視および分配するために別個の管理機能を使用する。このアーキテクチャでは、各ノードがオフセット情報を計算しなければならず、受信されたメッセージごとにタイムスタンプを適用し順序および時間の完全性を検証するASIC処理エレメントをプログラムしなければならない。この手法は、各ノード内で著しい処理を必要とし、またあらゆるノードと管理機能をサポートするノードとの間に追加の低レイテンシ通信経路を設けるためにかなりのネットワークリソースを消費する。
【0004】
一態様では、ネットワーク上の受信側ノード用のローカル時間基準(LNT)をネットワーク上の送信側ノードのグローバルネットワーク時間基準(GNT)の推定値に同期させる方法が、受信側ノード用のGNTおよびLNT時間データを確立するために、各送信側ノードから冗長な精密時間プロトコル同期メッセージを送信するステップを含む。受信側ノードは、これらの2つの冗長PTPメッセージの1つを選択し、各選択されたPTPメッセージに対応するLNTに関連する時間データを設定する。受信側ノードは、選択されたPTPメッセージごとに送信側ノードおよび受信側ノードについてGNT値およびLNT値を取り込み、受信側ノードのそれぞれに対応する時間データに基づいてレシオ(ratio)およびオフセットを決定する。受信側ノードは、所定の基準を使用して、決定されたレシオおよびオフセットの対を比較し、その比較に基づいて送信側ノードの1つを選択し、LNTを、選択された送信側ノードのGNTに同期させる。
【図面の簡単な説明】
【0005】
【図1】本発明の一実施形態に従って動作するように構成されたアビオニクス通信ネットワークのトポロジの概略図である。
【図2】図1のネットワークを介して送信される通信メッセージの概略図である。
【図3】図1のネットワークを介して送信するための図2の通信メッセージの複数のフラグメントの概略図である。
【図4】本発明の一実施形態による、図1のネットワークのエンドシステムにてグローバルネットワーククロックのローカル推定値を同期させる方法を示す流れ図である。
【図5】図4に示されている方法を実施するための、各マスタエンドシステムの時間追随の方法を示す流れ図である。
【図6】ローカル時間基準をグローバルネットワーク時間基準に同期させるために、レシオおよびオフセットによってローカル時間基準を調整する一方法を示す図である。
【図7】本発明の一実施形態による、エンドシステムにて受信されたメッセージを区分する方法を示す流れ図である。
【発明を実施するための形態】
【0006】
以下の説明では、本明細書に記載の技術を完全に理解することができるように、説明のために多数の特定の詳細を述べる。しかし、例示的な実施形態はこれらの特定の詳細なしに実施することができることが、当業者には明らかであろう。他の場合には、例示的な実施形態の説明を容易にするために、構造および装置が図の形態で示されている。
【0007】
以下、例示的な実施形態について、図面を参照して述べる。これらの図面は、本明細書に記載のモジュール、方法、およびコンピュータプログラム製品を実装する特定の実施形態のいくつかの詳細を示す。しかし、これらの図面は、図面に存在し得る何らかの限定を強いるものと解釈すべきでない。本方法およびコンピュータプログラム製品は、それらの動作を行うために、任意の機械可読媒体上で提供することができる。これらの実施形態は、既存のコンピュータプロセッサを使用して、またはこの目的もしくは別の目的のために組み込まれた専用コンピュータプロセッサによって、またはハードワイヤードシステムによって実施することができる。
【0008】
上記で指摘したように、本明細書に記載の実施形態は、機械実行可能命令またはデータ構造体を担持する、またはそれらが記憶された機械可読媒体を含むコンピュータプログラム製品を含む。そのような機械可読媒体は、汎用コンピュータもしくは専用コンピュータ、またはプロセッサを備える他の機械によってアクセスすることができる任意の使用可能な媒体とすることができる。例として、そのような機械可読媒体は、RAM、ROM、EPROM、EEPROM、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶装置、または、所望のプログラムコードを機械実行可能命令もしくはデータ構造体の形態で担持もしくは記憶するために使用することができ、汎用コンピュータもしくは専用コンピュータや、プロセッサを備える他の機械によってアクセスすることができる任意の他の媒体を含むことができる。情報がネットワークまたは別の通信接続(ハードワイヤード、無線、またはハードワイヤードもしくは無線の組合せ)を介して機械に転送または提供されたとき、その機械はその接続を適正に機械可読媒体とみなす。したがって、任意のそのような接続が機械可読媒体と称されることが適正である。上記のものの組合せもまた、機械可読媒体の範囲内に含まれる。機械実行可能命令は、たとえば汎用コンピュータ、専用コンピュータ、または専用処理装置に、ある機能または機能のグループを実施させる命令およびデータを含む。
【0009】
実施形態については、一実施形態ではたとえばネットワーク環境において機械によって実行されるプログラムモジュールの形態にある、プログラムコードなど機械実行可能命令を含むプログラム製品によって実装され得る方法ステップの一般的な文脈で述べる。一般に、プログラムモジュールは、特定のタスクを実施する技術的効果を有する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。機械実行可能命令、関連のデータ構造体、およびプログラムモジュールは、本明細書に記載の方法のステップを実行するためのプログラムコードの例の典型である。そのような実行可能命令または関連のデータ構造体の特定のシーケンスは、そのようなステップで述べられている機能を実施するための対応する動作の例の典型である。
【0010】
実施形態は、プロセッサを有する1つまたは複数の遠隔コンピュータに対する論理接続を使用して、ネットワーク環境で実施することができる。論理接続は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)を含むことができ、これらはここで例として提示されており、限定するものではない。そのようなネットワーク環境は、全事務所コンピュータネットワークまたは全社コンピュータネットワーク、イントラネットおよびインターネットで普通であり、多種多様な異なる通信プロトコルを使用することができる。そのようなネットワークコンピューティング環境は、一般に、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとする家電またはプログラム可能な家電、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータなどを含めて、多数のタイプのコンピュータシステム構成を包含することになることを、当業者なら理解するであろう。
【0011】
また、実施形態は、通信ネットワークを介して(ハードワイヤードリンク、無線リンクによって、またはハードワイヤードリンクもしくは無線リンクの組合せによって)リンクされるローカル処理デバイスおよび遠隔処理デバイスによってタスクが実施される分散コンピューティング環境で実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置と遠隔メモリ記憶装置のどちらにも位置することができる。
【0012】
例示的な実施形態の全体または一部分を実施するための例示的なシステムは、処理ユニット、システムメモリ、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニットに結合するシステムバスを含むコンピュータの形態にある汎用コンピューティングデバイスを含む可能性がある。システムメモリは、読出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)を含むことができる。また、コンピュータは、磁気ハードディスクからの読出しおよびその書込みのための磁気ハードディスクドライブ、取外し式磁気ディスクからの読出しおよびその書込みのための磁気ディスクドライブ、CD−ROMまたは他の光媒体など取外し式光ディスクからの読出しおよびその書込みのための光ディスクドライブを含むことができる。これらのドライブおよびそれらの関連の機械可読媒体は、機械実行可能命令、データ構造体、プログラムモジュール、およびコンピュータのための他のデータの不揮発性記憶を実現する。
【0013】
これらの実施形態で開示される方法の技術的効果は、航空機上のアビオニクスネットワーク内で受信されるデータの完全性を確かめることを含む。順序性およびエージを検証するために、データには、送信側によって公開されたとき、および宛先受信側で受け取られたとき、それらのそれぞれのローカル時間基準を使用して、正確にタイムスタンプを与えなければならない。
【0014】
本発明の本実施形態は、アビオニクスネットワーク上のターミナルノードでの時間を、そのネットワーク上の少なくとも1つのターミナルノード上で維持されているグローバルネットワーク時間に同期させることに関する。同期プロセスは、ネットワークを介してターミナルノードに、グローバルネットワーク時間を維持するノードからメッセージを送り、そのメッセージに関連付けられたタイミング情報を抽出し、同期させようとするノードのそれぞれにてグローバルネットワーク時間のローカル推定値を同期させることを含む。
【0015】
次に図1を参照すると、通信ネットワーク10は、複数のターミナルノード70、76、80、84、90、94を有することができる。また、これらの複数のターミナルノード70、76、80、84、90、94は、エンドシステム(ES)とも呼ぶことができる。各エンドシステム70、76、80、84、90、94は、マスタエンドシステム70、76、80、84またはスレーブエンドシステム90、94であり得る。通信ネットワーク10は、ネットワーク10を介してデータを転送するためにスイッチ30、32、34、40、42、44をさらに含む。この構成では、各ES70、76、80、84、90、94は、ネットワーク内の第1および第2のチャネル(チャネルA、B)の一方に接続され、各スイッチが、一方のチャネル上で媒体アクセス制御(MAC)フレームを転送する。換言すれば、チャネルAスイッチ30、32、34、およびチャネルBスイッチ40、42、44がある。スイッチ30、32、34、40、42、44、およびES70、76、80、84、90、94のシステムは、ネットワーク接続20を介して互いに相互接続される。ネットワーク接続20は、チャネルAスイッチとエンドシステム70、76、80、84、90、94のそれぞれとの間の、ESに対するチャネルA接続50と、チャネルBスイッチとES70、76、80、84、90、94のそれぞれとの間の、ESに対するチャネルB接続56と、スイッチ間チャネルA接続52と、スイッチ間チャネルB接続58とを含む。
【0016】
スイッチ30、32、34、40、42、44は、それだけには限らないがルータおよびハブを含めて、通信ネットワーク10上でトラフィック、メッセージ、またはデータを転送するための、任意の知られているハードウェアおよびソフトウェアを表す。スイッチ30、32、34、40、42、44は、ARINC664パート7(AFDXネットワーク)など知られている通信プロトコルに従って、また高完全性モードおよび通常完全性モードを含めて様々な完全性モード下で通信メッセージを経路指定するために必要とされる、電子コントローラとアプリケーションソフトウェアおよびデータを含む電子メモリと(図示せず)をさらに含むことができる。
【0017】
ES70、76、80、84、90、94は、少なくとも通信ネットワーク上でメッセージを送受信すること、時間完全性検査などの方法を使用して受信メッセージの完全性を検証し、本明細書の実施形態に従ってメッセージ区分すること、および本明細書の実施形態に従ってローカルクロックを同期させることを含めて、様々なノード機能に必要とされる、電子コントローラと、アプリケーションソフトウェアおよびデータを含む電子メモリと、ローカル基準(LR)クロックと(すべてホストとして表されている)をそれぞれが含むことができる。
【0018】
時間完全性検査が実施されるとき、マスタエンドシステム70、76、80、84およびスレーブエンドシステム90、94を含めて各ノード70、76、80、84、90、94は、本明細書ではグローバルネットワーク時間(GNT)のローカルネットワーク時間(LNT)と称するそれらのローカル基準(LR)に基づいて、推定値を生成することができる。さらに、マスタエンドシステム70、76、80、84(M1、M2、M3、M4としても指定される)は、受信側ノード70、76、80、84、90、94をグローバルネットワーク時間(GNT)に同期させるために使用されるタイムスタンプ情報を含むクロック同期メッセージまたは精密時間プロトコル(PTP)メッセージを送信することが可能である。マスタエンドシステム70、76、80、84は、任意のノード70、76、80、84、90、94を同期させるために通信ネットワーク10上でPTPメッセージを送信することが可能であるが、マスタエンドシステム70、76、80、84は、他のマスタエンドシステム70、76、80、84から受信されたPTPメッセージに基づいてそれ自体のクロックを同期させることもできる。
【0019】
他の特徴として、これらの複数のマスタエンドシステム70、76、80、84は、他方のマスタエンドシステム70、76、80、84に比較して設定された優先順位を有することができる。優先順位は、どのマスタノードを使用すべきか、また時間同期のためにどの順序で使用すべきか判定するために使用することができる。たとえば、マスタエンドシステム70、76、80、84は、M1 70からのPTPメッセージの時間情報がM2 76より高い優先順位を有することができ、M2 76はM3 80より高い優先順位を有することができ、さらにM3 80はM4 84より高い優先順位を有することができるように、その特有の優先順位システムを有することができる。代替として、優先順位は、M1 70がM2 76、M3 80、M4 84より高い優先順位を有し、M2 76、M3 80、M4 84がすべて等しい優先順位レベルを有するようにすることができる。最も高い優先順位を有するマスタノード、たとえばM1 70は、グランドマスタと呼ぶことができる。場合によっては、マスタエンドシステム70、76、80、84として指定されるノードは、スレーブエンドシステム90、94内のLRクロックまたは発振器に比べて、より高い精度、より高い精密さ、より高いスルーレート、時間に関して少ないドリフト、またはより高いQ値を有するLRクロックまたは発振器を有することができる。同様に、グランドマスタノードは、他のマスタエンドシステム70、76、80、84またはスレーブエンドシステム90、94内のLRクロックまたは発振器に比べて、より高い精度、より高い精密さ、より高いスルーレート、時間に関して少ないドリフト、またはより高いQ値を有するLRクロックまたは発振器を有することができる。
【0020】
スレーブエンドシステム90、94は、マスタエンドシステム70、76、80、84と異なり、時間同期のために通信ネットワーク10上でPTPメッセージを送らないので、PTPメッセージは単方向性とすることができる。スレーブエンドシステム90、94は、受信されたPTPメッセージおよびそれ自体のローカル基準(LR)に基づいてそれ自体のLNTを同期するために、PTPメッセージを受信することしかできない。
【0021】
同期精度は、各マスタエンドシステム70、76、80、84と、すべての受信側エンドシステム70、76、80、84、90、94との間の最小PTPメッセージレイテンシ(Dmin)の正確な推定値に依存する。すなわち、各受信側エンドシステムは、PTPメッセージを受信するマスタエンドシステムごとに独自のDmin値を用いて構成される。たとえば、アビオニクスネットワークトポロジは、ネットワークが非稼働中であるとき研究室環境でDmin値の正確な推定値を得ることができるように、設計によって固定される。各マスタエンドシステム70、76、80、84からのPTPメッセージに関するDmin値を確かめる1つの方法は、ネットワーク上に他のトラフィックがない状態で、一時に1つだけマスタエンドシステム70、76、80、84にPTPメッセージを送らせ、各エンドシステム70、76、80、84、90、94にてレイテンシを測定することによるものとすることができる。
【0022】
ネットワーク接続20は、有線方法および無線方法など、通信ネットワーク10上でノード70、76、80、84、90、94を接続する任意の知られている方法を含むことができる。ネットワークは、様々なネットワーク接続タイプが混在するものを有することができる。たとえば、決定的に重要なノードは、より確実な有線接続、または有線接続と無線接続両方を介して接続し、それほど決定的でないノードは、無線接続だけで接続されてもよい。
【0023】
図2および図3を参照すると、図1に示されているネットワークは、メッセージ完全性ラッパ(MIW)102A、102Bにラップされたアプリケーションメッセージペイロード110を含む通信メッセージ100を送信することができる。アプリケーションメッセージペイロード110は、あるノード70、76、80、84、90、94から別のノード70、76、80、84、90、94に送られる実質的な情報である。たとえば、メッセージペイロードは、航空機マスタコントローラからその航空機の周辺コントローラに送られる命令を含むことができる。MIW102Aは、発信元タイムスタンプ(STS)および同期品質インジケータ(SQI)など、時間同期データを含むことができる。MIW102Bは、MIW102Aおよびアプリケーションメッセージペイロード110を含む領域にわたって計算される巡回冗長検査(CRC)を含むことができる。セキュリティのために、MIW102Bに関するCRCの計算は、送信機とアプリケーションメッセージペイロード110を受信するように構成された受信機だけに知られているシード値を使用して開始することができる。この通信パケットは、ユーザデータグラムプロトコル(UDP)ヘッダ104と、インターネットプロトコル(IP)ヘッダ106とをさらに含むことができる。UDPヘッダ104は、送信中のメッセージの破壊を検出するために、発信元ソケット、ターゲットソケット、メッセージパケット長、およびチェックサムに関連する情報を含むことができる。IPヘッダ106は、諸要素の中でもとりわけ、ヘッダ長、サービスのタイプ、データグラム長、発信元IPアドレス、ターゲットIPアドレスに関連する情報を含むことができる。
【0024】
通信メッセージ100が単一のパケットとして送るには長すぎるとき、通信メッセージ100を複数の媒体アクセス制御(MAC)フラグメント120にフラグメント化することができ、第1のフラグメント121A、第2のフラグメント121B、および最後のフラグメント121Cを含む任意の数の追加のフラグメントがある。各フラグメントは、アプリケーションメッセージペイロードフラグメント140、142、144、シーケンス番号(SN)フッタ150、152、154、フレームチェックシーケンス(FCS)フッタ160、162、164、IPヘッダ130、132、134、および媒体アクセス制御(MAC)ヘッダ122、124、126を含む。アプリケーションメッセージペイロードフラグメント140、142、144は、受信側ノードで再構築し、アプリケーションメッセージペイロード110を形成することができる。SNフッタ150、152、154およびFCSフッタ160、162、164は、アプリケーションメッセージペイロード110を再構築するために使用される。IPヘッダ130、132、134は、諸要素の中でもとりわけ、各フラグメント121A、121B、121Cについてそれぞれチェックサムデータおよびフラグメント情報を含む。MACヘッダ122、124、126は、諸要素の中でもとりわけ、発信元アドレスおよび宛先アドレスを含む。
【0025】
MACフラグメント化通信メッセージ120内のMIW102A、102Bは、フラグメント化メッセージペイロード120の第1のフラグメント121Aが送信側ノードから受信側ノードに送信されるとき送信側ノードによってタイムスタンプが与えられたSTS情報を依然として含むことができる。受信側ノードは、第1のフラグメント121AからSTSを抽出し、最後のフラグメント121Cを受信したときLNTを記録することができる。
【0026】
エンドシステム70、76、80、84、90、94のうちの1つをマスタエンドシステム70、76、80、84に時間同期させる方法170について、図4を参照して述べる。そのエンドシステム70、76、80、84、90、94にて、複数のマスタエンドシステム70、76、80、84のそれぞれから、各チャネル174、180上で、2つの冗長な精密時間プロトコル(PTP)メッセージ172、178が受信される。換言すれば、マスタエンドシステム70、76、80、84のそれぞれが、チャネルA上でPTPメッセージ172を、またチャネルB上でPTPメッセージ178を送信し、時間同期を実施しようとするエンドシステム70、76、80、84、90、94によって受信される。チャネルA上で受信側ノード(ES)によって受信されるPTPメッセージはPTPA1、PTPA2、PTPA3、PTPA4であり、それぞれマスタエンドシステムM1 70、M2 76、M3 80、M4 84に対応する。同様に、チャネルB上で受信側ノード(ES)によって受信されるPTPメッセージはPTPB1、PTPB2、PTPB3、PTPB4であり、それぞれマスタエンドシステムM1 70、M2 76、M3 80、M4 84に対応する。
【0027】
各送信側ノード、または各チャネル上のマスタエンドシステムからのPTPメッセージは、繰り返し受信される。したがって、PTPメッセージは、送信側ノードによって送信され、ある期間を有する時系列として受信側ノードによって受信される。たとえば、1つのPTPメッセージが各マスタエンドシステムから各チャネルについて100ミリ秒ごとに受信される可能性があり、時系列の受信されるPTPメッセージは、100ミリ秒の期間を有する。この期間は、好ましくは25ミリ秒と250ミリ秒の間、より好ましくは50ミリ秒と150ミリ秒の間、最も好ましくは100ミリ秒である。この期間が長すぎる場合には、時間同期させる方法170には比較的長い時間がかかり、この期間が短すぎる場合には、非常に多くの通信ネットワーク10の帯域幅およびエンドシステム70、76、80、84、90、94の処理リソースが時間同期のために費やされる可能性がある。
【0028】
任意の所与の期間に受信されたPTPメッセージPTPA1、PTPA2、PTPA3、PTPA4、PTPB1、PTPB2、PTPB3、PTPB4から、各マスタエンドシステムに対応するPTPメッセージが選択され、190で、選択されたPTPメッセージに関連するタイミング情報が時間追随プロセス200に渡される。換言すれば、任意の所与の期間に、PTPA1およびPTPB1のうちの一方、PTPA2およびPTPB2のうちの一方、PTPA3およびPTPB3のうちの一方、PTPA4およびPTPB4のうちの一方だけが選択され、関連のタイミング情報が次の段階190に回される。任意の所与の期間および任意の所与のマスタエンドシステム70、76、80、84の選択されたPTPメッセージのうち、GNTがメッセージから抽出され、T1として指定され、ESでの、LRに基づくLNTのタイムスタンプがT2として指定される。任意の所与の期間に各マスタエンドシステムに対応するT1、T2、LRが、時間追随プロセス200に渡される。
【0029】
各受信側エンドシステム70、76、80、84、90、94は、時間追随プロセス200の複数のインスタンスを有する。各受信側エンドシステム70、76、80、84、90、94は、時間追随プロセス200のインスタンスを、各マスタエンドシステム70、76、80、84について1つ有する。
【0030】
各マスタエンドシステム70、76、80、84に関連付けられた時間追随プロセス200は、いくつかの期間にわたる時系列のデータを受け取る。いくつかの期間にわたって必要とされる数のデータポイントを受け取ったとき、時間追随プロセス200は、時間追随プロセス200が適用されたマスタエンドシステムについてレシオ(R)およびオフセットを提供する。時間追随プロセス200がマスタエンドシステムについて構成済みの時間追随基準を満たしたとき、そのマスタエンドシステムについてレシオ、オフセット、およびSyncフラグが生成され、インターフェース210を介して「誤追随解消(eliminate false tracking)」プロセス212に送られる。
【0031】
誤追随解消プロセス212の主な目的は、GNTの推定値が複数の他のマスタからの事前構成された範囲の外にあるマスタの追随プロセス200を不適格とすることである。ネットワークの構成によって、または複数のマスタエンドシステムの同時故障によって、どのマスタも他のマスタの事前構成された範囲内にない可能性が十分にあることを理解されたい。そのような場合には、ネットワーク時間完全性を達成することができない。ネットワーク時間完全性を達成するためには、GNTの推定値が事前構成された範囲内にある複数のマスタエンドシステムがなければならない。
【0032】
誤追随解消プロセス212は、マスタエンドシステムのそれぞれから、M1 70からのRatio1、Offset1、Sync1、M2 76からのRatio2、Offset2、Sync2、M3 80からのRatio3、Offset3、Sync3、M4 84からのRatio4、Offset4、Sync4として指定されたレシオ、オフセット、およびSyncフラグを受け取る。
【0033】
Syncフラグは、追随プロセス200が設定された追随基準を満たしていることを示す。少なくとも1つのSyncフラグが真である場合、誤追随解消プロセス212は、そのSyncフラグを使用し、対応するSyncフラグが偽であるレシオおよびオフセットがあればそれを不適格とすることができる。エンドシステムを初期化した場合のようにどのSyncフラグも真でない場合、MIW102A内のSQIを使用し、MIW102A内のSTS値が信頼できるものでないことを示すことになる。
【0034】
210でどのSyncフラグも真でないとき、時間追随は確立されていないが、時間同期プロセス224においてLNTを計算するために使用されるレシオとオフセットを調整するために、少なくとも1つのレート(rate)とオフセットの対を216に渡さなければならない。これは、どのSyncフラグも真でないときでさえ、LNTを調整することを必要とする。そうでない場合には、Syncフラグが決して真にならない可能性があり、LNTの調整が無期限にできないことになり、GNTに追随するLNTが決して確立されないことになる。LNTがGNTに同期されていることを宣言する前に、たとえば全マスタの時間オフセット中央値に対応するレシオおよびオフセットを使用して、Syncフラグの状態を必要としない基準に基づいて最良のレシオおよびオフセットを選択することができる。
【0035】
複数の時間追随プロセス200がそれぞれのマスタエンドシステムに同期されていることを示すとき、すなわち210で複数のSyncフラグが真であるとき、誤追随解消プロセス212は、やはり他のレシオおよびオフセットと調和しないレシオおよびオフセットがあればそれを省くことができる。たとえば、レシオの1つが所定の量だけ全レシオの平均とは異なることが判明した場合には、そのレシオ、ならびにそのレシオに対応するオフセットを省くことができる。同様に、オフセットの1つが所定の量だけ全オフセットの平均とは異なることが判明した場合には、そのオフセット、ならびにそのオフセットに対応するレシオを省くことができる。代替の例として、レシオの1つが所定の量より大きいこと、または別の所定の量より小さいことが判明した場合には、そのレシオ、ならびに対応するオフセットを省くことができる。同様に、オフセットの1つが所定の量より大きいこと、または別の所定の量より小さいことが判明した場合には、そのオフセット、ならびに対応するレシオを省くことができる。インターフェース210にて提示されているレシオおよびオフセットの値が、真であるSyncフラグと矛盾する場合、誤追随解消プロセス212による追加の検査を使用し、Syncフラグの完全性を確かめることができる。誤追随解消プロセス212によるこのSyncフラグの一貫性検査は、時間追随プロセス200内の故障による、同期がLNT時間追随プロセス200によって達成されたという誤った宣言に対して保護するように働く。
【0036】
各マスタエンドシステム70、76、80、84の時間追随プロセス200は、レシオおよびオフセットを同時に誤追随解消プロセス212に提供しなくてもよい。したがって、誤追随解消プロセス212は、平均のレシオおよびオフセットに基づいて、または所定の許容限界に対する比較に基づいてレシオおよびオフセットのいずれかを省く前に、マスタエンドシステム70、76、80、84のすべてから来ると予想されるレシオおよびオフセットの部分的な受取りまたは完全な受取りに関してポリシを有していなければならない。誤追随解消プロセス212は、代替のレートおよびオフセット調整値の時間整列されたセットを最良マスタ選択プロセス214に提供する。
【0037】
複数のSyncフラグが真であるとき、誤追随解消プロセス212によって有効であると考えられるレシオおよびオフセットが最良マスタ選択プロセス214に送られる。このようにしてプロセス212からプロセス214に渡されるこれらのレシオおよびオフセットは、GNTに同期されているとみなされる時間追随プロセス200を表す。
【0038】
最良マスタ選択プロセス214は、Syncフラグが共に真であり、レートおよびオフセットが、真であるSyncフラグと調和する範囲内にあるマスタについて事前構成された決定木に対応するレシオおよびオフセットを選択することができる。
【0039】
たとえば、最良マスタ選択プロセス214は、優先順位をベースとする選択方法を使用することができる。最良マスタ選択プロセス214は、この手法を使用して、マスタエンドシステム70、76、80、84のそれぞれの優先順位を検討し、最高優先順位のマスタエンドシステム70、76、80、84に対応するレシオおよびオフセットを選択し、そのレシオおよびオフセット216を時間同期224に渡す。たとえば、誤追随解消プロセス212においてレシオおよびオフセットが省かれなかった場合、かつM1 70が他のマスタエンドシステム76、80、84に対して最高優先順位を有する場合には、M1 70に対応するレシオおよびオフセットが最良マスタ選択プロセス214によって選択され、インターフェース216を介して時間同期224に渡される。一方、他のマスタエンドシステム76、84に対してM1 70が最高優先順位を有し、M3 80が次に高い優先順位を有するが、M1 70に対応するレシオおよびオフセットが誤追随解消プロセス212において省かれている場合には、M3 80に対応するレシオおよびオフセットが渡され(216)、LNTを同期させる(224)。
【0040】
代替の手法として、最良マスタ選択プロセス214は、優先順位に依存しない選択プロセスを使用してもよい。たとえば、プロセス214は、プロセス212によって同期されているとみなされる時間追随プロセス200の出力のレートおよびオフセットの中央値を選択することができる。他の代替として、最良マスタ選択プロセス214は、PTPメッセージが最良マスタ選択プロセス214の最後の反復以来最も新たに受信されたものであるマスタに関連する、追随プロセス200からのレートおよびオフセットを選択することができる。
【0041】
さらに他の代替の手法では、最良マスタ選択プロセス214は、プロセス212から受け取った過去の値の集団に基づく加重平均または予測など、プロセス212から受け取るレートおよびオフセットの集合を必要とする計算を使用することができる。
【0042】
216で最良マスタ選択プロセス214によってレシオおよびオフセットが出力された後で、選択されたレシオおよびオフセット(216)を使用し、LNTを同期させる(224)。たとえば、LNT進み率は、ローカル基準(LR)クロックによって決定される速さで216で出力されるレシオを継続的に蓄積することによって決定することができる。このようにして、1PTPサイクルにおいて進む時間は、PTPサイクルあたりのローカル基準周期の数(LRP)に216でのレシオを乗じ、216でのオフセットを和したものである。GNTに追随するために、LRクロックの周期ごとにレシオがLNTに加算される。一方、216でのオフセットは、LNTをGNTに瞬間的に整列させるために、このアキュムレータに1回だけ加算される。図4の表記を簡単にするために、この計算はLNT=LNT+LRP*Ratio+Offset*OUSと示されており、この式で、更新済みオフセットが使用可能になったときLRクロック1サイクルのみについてOUS=1であり、そうでない場合OUS=0である。次いで、方法170は、GNTに同期されたLNTを提供する。
【0043】
追加の機能として、時間同期方法170が実行されるとき、そのESに関する時間同期の精度を示すために、同期品質レベルを設定することができる。したがって、各ESについて時間同期レベルが存在し得る。この同期レベルは、高完全性メッセージのMIW102A内に含めることができ、ESへの入来メッセージを検証し、受信側ノードのLNTが同期されており、したがって信頼することができるかどうか判定するために使用することができる。
【0044】
方法170のマスタエンドシステムから受信されるPTPメッセージを使用してGNTに追随するための時間追随プロセス200のそれぞれについて、図5を参照してより詳細に述べる。
【0045】
図5に示されているように、時間追随プロセス200に関連する変数R、Ro、δ、δmax、q、Dmin、Dmax、C、Syn、Sync、S、TOが230で初期化される。Rは、プロセス200のインスタンスによって追随されるマスタに関連する、そのマスタに対するローカルクロックレートの進みのレシオの推定値である。Roは、Rの初期値である。δは、レートを調整するようにRがその分だけ増分または減分される小さい数(fraction)である。qは、Rが変更される前に、その間にRの増加または減少を検出しなければならない、連続するPTP周期の数である。Dminは、受信側エンドシステムでのプロセス200のインスタンスに関連するマスタについて推定または測定された最小PTPメッセージ技術的転送レイテンシである。実際のPTPメッセージ転送遅延は、当然ながら常にDmin以上である。Dmaxは、プロセス200が、追随しているマスタエンドシステムにもはや同期されていないことを宣言する前に許容することになるLNTとGNTの間の絶対的な計算された最大オフセットである。オフセットの計算は、Dminより大きいPTPメッセージ転送レイテンシを含む誤差を含むことになることに留意されたい。したがって、その値は、PTPメッセージの最大許容転送レイテンシによって同期が失われないように選択しなければならない。たとえば、Dmaxは、DminにPTPメッセージ間の期間を加えたものより長くならないように選択される可能性がある。δmaxは、プロセス200が同期されたままとなることができるレシオRの、その初期値Roからの最大偏差である。Sは、LNTとGNTの間のオフセットがDmax内にあるとプロセス200が判断する、連続する時間の数をカウントする。Cは、プロセス200が同期され、そのSyncフラグを真に設定するためにSがDmax内になければならない時間数である。プロセス200によって出力されるSyncフラグは、処理サイクルの終了時にSynに設定される。TOは、処理サイクルの終了時にプロセス200によって出力されるオフセットであり、推定値を表し、この推定値により、224がLNTを計算するために使用するオフセットが、LNTとGNTとの差を低減するように修正される。
【0046】
232で、現在の期間についてマスタエンドシステム70、76、80、84に関するT1値およびT2値が受け取られる。T1は、マスタエンドシステム70、76、80、84によってPTPメッセージ内に配置されたGNTの値である。T2は、ES70、76、80、84、90、94におけるLNTの値であり、PTPメッセージがマスタES70、76、80、84から到着したときサンプリングされ、PTPメッセージの到着に関するタイムスタンプを提供する。LNTは、224において、ローカル基準(LR)によって決定されるクロック周波数で、選択されたレシオRを蓄積し、その後で、以前のPTPサイクル中に選択されたオフセットの値TOによってアキュムレータを1回調整することによって決定することができる。
【0047】
関連のマスタエンドシステムからの最も新しいPTPメッセージの時間オフセットの推定値Tpが、234で決定される。Tpは、Tp=T1+Dmin−T2として計算される。次に、252で、Tpの絶対値がPTPメッセージに許される最大遅延内にあるかどうか判定される(|Tp|<Dmax)。同時に、252で、Rがその分だけその初期値Roから逸脱している絶対値がδmaxより大きいかどうか判定される。Tpの絶対値がDmaxより大きい場合、またはR−Roの絶対値がδmaxより大きい場合、254でSynが偽に設定される。236でTpが0未満であると判定され、238でq個のサンプルを超える間、依然として0未満である場合には、246でRがδだけ低減される。しかし、236でTpが0未満であるが、238で、Rが最後に変化して以来q個の時間サンプルの間0未満でない場合には、方法200は232に戻る。一方、236でTpが0より大きい場合には、242でTOがTpに設定され、224でのLNTの正の進みに対応する。240でTpがq個のサンプルの間0より大きい場合、248でRが増加される。258で、結果として得られるR、TO、およびSync=Synの値がインターフェース210上で出力される。
【0048】
プロセス200のステップの順序は、プロセス200の発明性のある要素から逸脱することなしに変更することができることがわかる。さらに、プロセス200の発明性のある要素から逸脱することなしに、間に割り込むステップをプロセス200に追加することができる。
【0049】
プロセス200は、Dminに対して以前に決定された値と共に、送られるときマスタによってPTPメッセージ内に配置されたGNTの値を使用する。追随アルゴリズムは、LNTとGNTとの絶対差がDmaxを超える前にDminに近いレイテンシでPTPメッセージを受信することができないごくわずかな確率があるようにネットワークを構成することに依拠する。Cによって定義される構成された連続時間間隔の間、δmaxおよびDmaxによって定義される構成された限界内にあるレートおよびオフセットをプロセス200が生成するとき、これはGNTに同期されていることを示す。プロセス200は、そのSyncフラグ出力を使用して、同期されていることを示す。プロセス200の重要な特徴は、同期されている間、インターフェース210にて負の時間オフセットを公示しないことである。
【0050】
プロセス200は、各マスタエンドシステム70、76、80、84についてRの値およびオフセットTOを、いくつかの期間にわたるPTPメッセージからの時系列のタイミング情報に基づいて提供する。Rの値は、ESでのLRのクロック周波数がGNTの周波数とは異なることが判明したときLNTの進み率を修正するために使用される。換言すれば、Rは、GNTとLRのクロックレート間の関係に対して補正する。一方、オフセットは、LNTをGNTに合致させるように瞬間的に調整する。
【0051】
値R、Ro、δ、δmax、q、Dmin、Dmax、C、Syn、S、TOの初期化は、発見的に、またはアルゴリズムによって決定することができる。たとえば、R=Roの値は1に初期化することができ、その結果、名目上、LNTの周波数、したがってローカルノードESのLRが、マスタエンドシステムによって提供されるGNTの周波数に合致すると仮定される。ESのLRの周波数が、マスタエンドシステムからのGNTの周波数より大きい場合には、方法200は、1未満のRの値を提供し、その結果、スレーブのLNTに関する時間進み率をマスタエンドシステムからのGNTのものに合致させることができる。
【0052】
値qは、3に初期化することができ、時間の経過につれて、プロセス200の実績(performance)に基づいて修正することができる。一般に、qの値がより高く設定された場合には、ローカルESのLNTを同期させるためにより多くの期間が必要となり、それにより同期を実施するのに時間がより長くかかる。しかし、qの値が非常に低く設定された場合には、プロセス200は、時間同期を確実に達成することができるRの値を提供することができない。一態様では、必要とされるqの値は、通信ネットワーク10や、通信ネットワーク10上のESの数およびタイプが異なると変わる可能性がある。
【0053】
δの値は、数秒または数分程度の短い時間間隔にわたるクロックドリフトの倍量に初期化することができる。たとえば、δは、クロックドリフトの10%に初期化することができる。他の代替として、δは、クロックドリフトの倍量に初期化することができ、この倍量は、ESが起動中であり初期同期を必要とするかどうか、またはESがすでに同期されているかどうかによって決まる。この例を続けると、ESが起動モードにあり、初期同期を必要とする場合、δは、短期ドリフトの100%に設定することができ、一方、ESを再同期しようとする場合には、δをドリフトの10%に設定することができる。
【0054】
δmaxの値は、ネットワークの耐用年数にわたるネットワーク内のLRクロックレートの最大許容偏差によって決まる。たとえば、δmaxの値は、LNTの基準として使用される水晶クロック発振器の周波数に対する温度およびエージの影響を考慮する。
【0055】
クロックドリフトδmaxは、各ノードでLRを生成するために使用される発振器に与えられる仕様である。この仕様は、発振器の製造者が与えることができる。一般に、ドリフト仕様は、クロック周波数の倍量として報告される。たとえば、ある発振器は、25ppmのドリフト仕様を有する可能性がある。そのような場合、クロック周波数が100MHzである場合には、そのクロックのドリフトは、±2.5kHzとなり得る。場合によっては、ドリフト仕様には、時間劣化が伴う可能性がある。たとえば、ある発振器は、25ppm±10ppm/年のドリフト仕様を有する可能性がある。そのような場合、方法200で使用されるδmaxならびにδは、通信ネットワーク10のエージと共に変動する可能性がある。
【0056】
技術的最小レイテンシDminは、方法200で検討されるマスタエンドシステムからESにメッセージを送ることが可能な最小時間を表す。このDminは、マスタエンドシステムとESの間の距離、およびメッセージの送信に関与するスイッチそれぞれのスイッチング時間の関数とすることができる。輻輳のないスイッチでフレームを転送するための技術的最小レイテンシは、典型的には100マイクロ秒未満である。リンク伝送時間は、ネットワーク接続20の伝送速度と共に変動することになる。たとえば、64バイトMACフレームを占有するPTPパケットは、10Mbps接続で67.2マイクロ秒、100Mbps接続で6.72マイクロ秒、1Gbps接続で672ナノ秒で送信されることになる。
【0057】
時間完全性検査を適正に使用するために、各ノードのローカルネットワーク時間基準(LNT)の未補償ドリフトは、任意のノードの対間での技術的最小レイテンシ(Dmin)より小さくなければならない。したがって、時間同期方法170を定期的に繰り返し、通信ネットワーク10が動作状態である間、特に時間完全性検査が実施されているとき、任意の2つのノード間のドリフトがDminを確実に超えないようにすることができる。Dminは、100マイクロ秒と低い可能性があり、したがってそのような場合、2つのノード間の時間追随スキューは、時間完全性検査の失敗を受けないように、50マイクロ秒以下とすべきである。非PTPホストアプリケーション70、76、80、84、90、94間のデータ転送の場合、Dminは、100マイクロ秒と100ミリ秒の間とすることができる。LNT分解能は、ノード間のフレーム伝送時間より小さくなければならない。たとえば、必要とされる分解能は、1Gbpsのネットワーク接続20を使用するとき、672ナノ秒と低くなり得る。ノードは、航空機を始動させることができる最大時間の間、同期させなければならない。これは、典型的には10日以下であるが、30日と同程度となる可能性がある。したがって、ノード時間同期方法170は、672ナノ秒未満のネットワークタイムスタンプ分解能を使用しなければならず、100ナノ秒が好ましい。
【0058】
さらに、追随方法200が同期され、方法200がインターフェース210上でそのSync出力を真に設定することによって示されているとき、そのレートおよびオフセットは、LNTを単調に増加させることができるだけである。これは、方法200の236でTp<0でありSynが真である場合、234で設定されたその値から依然として修正されないので、TO=0であるからである。したがって、Tp<0でありSyn=Trueの場合、レート調整だけを行うことができる。一方、Syn=TrueでありTp>0である場合には、242でTO=Tpとなる。方法200は、同期されていない場合、すなわちSync=Falseの場合、負の時間調整を行うことができるだけである。すべての追随プロセス200がSync=Falseを宣言した場合、これはMIW102A内のフラグビットに伝播し、LNTがGNTに同期されておらず、MIW102A内の時間値が信頼できるものでないことを示すことになる。したがって、時間同期の方法170は、LNTが減少するときはいつでも同期されていない。
【0059】
さらに、ノードは、航空機を始動させることができる最大時間の間、LNTが0に戻るのを防止するように、同期したままでいることができなければならない。これは、典型的には10日以下であるが、30日と同程度となる可能性がある。したがって、時間同期の方法170は、最小のタイムスタンプサイズ、または分解能が100ナノ秒であるとき48ビットを使用して、そのような長い期間の間、ネットワーク10の同期に対処しなければならない。
【0060】
方法170のLNTの計算224について、図6を参照してより詳細に述べる。
【0061】
LNTは、ローカル基準水晶発振器(LRCO)220によってクロックされるアキュムレータレジスタ222の出力である。レジスタ302は、インターフェース216からのレシオの最も新しい更新を含む。LRCO220は、周波数fc、および周期Tc=1/fcでクロックを出力する。通常動作中には、オフセット更新ストローブ(Offset Update Strobe)がアクティブではなく、マルチプレクサ322の出力が0である。各クロック周期Tcの開始時には、アキュムレータレジスタ222が、LNTと、加算器312、314によって決定されるレシオレジスタ(Ratio Register)302の出力との和をサンプリングおよび出力する。302内のレシオは、各周期Tc中に進んだ時間単位間隔の数を表す。たとえば、単位時間間隔100ナノ秒が選択されており、fc=1メガヘルツである場合には、10というレシオ値が、周期Tcごとに10×100ナノ秒、または等しくは1マイクロ秒の進みを表すことになる。あるいは、単位時間間隔1マイクロ秒が選択されており、fc=1メガヘルツである場合には、1というレシオ値が、1マイクロ秒の進みを表すことになる。レシオレジスタおよびアキュムレータレジスタ222の出力は、整数および小数の単位時間間隔を共に表すように十分な数のビットを有することを理解されたい。たとえば、アキュムレータレジスタ222が64ビット幅である場合、その48個の最上位ビットを使用し、マイクロ秒単位のLNTの値を表すことができ、一方、両レジスタ222、302の16個の最下位ビットは、マイクロ秒の小数部を表し、それにより、Rに基づいて、fcの1サイクルあたりマイクロ秒の小数でレートを調整する手段をもたらすことができる。
【0062】
図6を続けると、オフセット更新(Offset Update)がアクティブになった後、1クロックサイクル中に、インターフェース216上で提示されるオフセットをアキュムレータに加算することによって、LNTは、このオフセットだけ進められる。その後で、アキュムレータは、次の更新がインターフェース216上で使用可能になるまで付加レジスタ(addend register)302内に含まれるレシオ値だけ進められる。これは、ゲート320を有するレジスタ316、318がオフセット更新ストローブ(OUS)を生成し、このOUSが、fcの1サイクルを超えてオフセットがアキュムレータの内容に加算されないようにマルチプレクサ322を制御するからである。PTPメッセージが到着したとき、スナップショットストローブにより、レジスタ308がLNTの値をサンプリングする。アナログ加算器310が、プロセス200の234内に示されているようにT2の値を計算する。
【0063】
インターフェース216上で提供されるレートおよびオフセットを使用してLNTがGNTに追随することを可能にすることができる、図6に対する複数の代替の実施形態があることを理解されたい。たとえば、図6に示されている機能は、ハードウェアまたはソフトウェア、またはそれらの任意の組合せで実装することができる。次に図7を参照すると、通信メッセージ100の発信元タイムスタンプ(STS)と、通信メッセージ100の最後のフラグメントの宛先タイムスタンプ(DTS)とに基づいて通信メッセージを区分する方法270が開示されている。通信メッセージは、272でエンドシステムにて受信される。メッセージ100の最後のMACフラグメント121Cを受信したとき、274で、DTSが、エンドシステムにてLRを使用して生成されたLNTに設定され、メッセージ100の最初のフラグメント121AからSTSが抽出される。次いで、276で、DTSからSTSを引いたものが0より大きい(DTS−STS>0)かどうか判定される。DTS−STS>0が真でない場合には、278で、メッセージは受け入れられるが、メッセージの未知のエージと共に示され、このときエージは、DTSからSTSを引いたものに等しい(DTS−STS)。276でDTS−STSが0より大きいと判定された場合には、280で、受信側ノードについて時間同期が設定されているかどうか判定される。換言すれば、受信側ノードのLNTがマスタエンドシステム70、76、80、84のGNTと同期されるように受信側ノードについて時間同期の方法200が実施されたかどうか判定される。280で時間同期が設定されていないことが判明した場合には、278で方法は、未知のエージ内でメッセージを受け入れる。しかし、280で時間同期が設定されていることが判明した場合には、282で、DTSからSTSを引いたものが技術的最小レイテンシDminより大きいかどうか判定される。282でDTSからSTSを引いたものがDminより大きくない場合には、278で、メッセージはやはり未知のエージと共に受け入れられる。しかし、DTSからSTSを引いたものがDminより大きいことが判明した場合には、284で、DTSからSTSを引いたものがAge Maxより大きい(DTS−STS>Age Max)かどうか判定される。大きい場合には、288でメッセージが廃棄され、大きくない場合には、286でメッセージが既知のエージと共に受け入れられる。
【0064】
Age Maxは、各タイプのメッセージ独自の、ユーザによって指定される所定の閾値であり、非常に古く、したがって無効であり得る、またはもはや適切でない可能性があるメッセージを廃棄するために使用される。Age Maxは、1ミリ秒と10秒の間とすることができる。
【0065】
本書は、例を使用し、最良の形態を含めて本発明を開示し、また当業者の誰もが本発明を実施し使用することができるようにしている。本発明の特許性のある範囲は、特許請求の範囲によって定義され、当業者に思い付く他の例を含むことができる。そのような他の例は、特許請求の範囲の文言と異ならない構造要素を有する場合、または特許請求の範囲の文言と実質的に異ならない均等な構造要素を含む場合、特許請求の範囲内にあるものとする。
【符号の説明】
【0066】
10 通信ネットワーク
20 ネットワーク接続
30 チャネルAスイッチ
32 チャネルAスイッチ
34 チャネルAスイッチ
40 チャネルBスイッチ
42 チャネルBスイッチ
44 チャネルBスイッチ
50 ESに対するチャネルA接続
52 スイッチ間チャネルA接続
56 ESに対するチャネルA接続
58 スイッチ間チャネルA接続
70 マスタエンドシステム
76 マスタエンドシステム
80 マスタエンドシステム
84 マスタエンドシステム
90 スレーブエンドシステム
94 スレーブエンドシステム
100 通信メッセージ
102A メッセージ完全性ラッパ
102B メッセージ完全性ラッパ
104 ユーザデータグラムプロトコル(UDP)ヘッダ
106 インターネットプロトコル(IP)ヘッダ
110 アプリケーションメッセージペイロード
120 複数のMACフラグメント
121A 第1のMACフラグメント
121B 第2のMACフラグメント
121C 最後のMACフラグメント
122 第1のMACヘッダ
124 第2のMACヘッダ
126 最後のMACヘッダ
130 第1のIPヘッダ
132 第2のIPヘッダ
134 最後のIPヘッダ
140 第1のペイロードフラグメント
142 第2のペイロードフラグメント
144 最後のペイロードフラグメント
150 第1のシーケンス番号
152 第2のシーケンス番号
154 最後のシーケンス番号
160 第1のフレームチェックシーケンス
162 第2のフレームチェックシーケンス
164 最後のフレームチェックシーケンス
220 LR水晶発振器
222 アキュムレータレジスタ

【特許請求の範囲】
【請求項1】
ネットワーク(10)上の受信側ノード(70、76、80、84、90、94)のグローバルネットワーク時間(170)のローカル推定値をネットワーク上の少なくとも第1および第2の送信側ノード(70、76、80、84)の一方のグローバルネットワーク時間基準(GNT)に同期させる方法であって、
各第1および第2の送信側ノード(70、76、80、84)から、第1のチャネル(174)上で第1の精密時間プロトコル同期メッセージ(PTPメッセージ)を、また第2のチャネル(180)上で第2の精密時間プロトコル同期メッセージ(PTPメッセージ)を受信側ノード(70、76、80、84、90、94)に送信するステップであり、各PTPメッセージが、それぞれの送信側ノード(70、76、80、84)によって設定された前記GNTに関連する時間データを有する、ステップと、
前記受信側ノードによって、各送信側ノード(70、76、80、84)からの前記第1および第2のPTPメッセージの一方を選択し、各選択されたPTPメッセージに対応するローカルネットワーク時間(LNT)に関連する時間データを設定するステップと、
選択されたPTPメッセージ(190)ごとに前記送信側ノード(70、76、80、84)および前記受信側ノード(70、76、80、84、90、94)について、GNT値およびLNT値を含む前記時間データを抽出するステップと、
前記時間データに基づく、また前記第1および第2の送信側ノード(70、76、80、84)のそれぞれに対応するレシオ(R)およびオフセット(TO)を決定するステップと、
前記決定されたレシオおよびオフセットを所定の基準に対して比較するステップと、
前記比較に基づいて前記第1および第2の送信側ノード(70、76、80、84)の一方を選択するステップと、
前記LNTを前記選択された送信側ノード(70、76、80、84)の前記GNTに同期させるステップと
を含む方法。
【請求項2】
前記送信するステップ、前記選択するステップ、および前記抽出するステップが、時系列の時間セグメントにわたって繰り返される、請求項1記載の方法。
【請求項3】
前記時間セグメントが、125ミリ秒と500ミリ秒の間である、請求項2記載の方法。
【請求項4】
前記所定の基準が、前記送信側ノード(70、76、80、84)の前記レシオの所定の値、前記送信側ノード(70、76、80、84)の前記オフセットの所定の値、および前記送信側ノード(70、76、80、84)に関連付けられた優先順位のうちの1つを含む、請求項1または2記載の方法。
【請求項5】
前記第1および第2の送信側ノード(70、76、80、84)のそれぞれに対応するレシオ(R)およびオフセット(TO)を決定するステップが、
A.時間オフセット(TO)の前記レシオ(RまたはRo)、スケール調整数(δ)、レシオ偏差限界(δmax)、サンプル閾値(q)、最小技術的PTPメッセージ転送レイテンシ(Dmin)、最大許容PTPメッセージ遅延(Dmax)、構成済みの同期範囲内の時間(TO)の数をカウントしたもの(S)、同期閾値(C)、および同期フラグ(SynおよびSync)を初期化するステップ(230)と、
B.現在の期間に対応する前記GNT値(T1)を受信し、現在の期間に対応する前記LNT値(T2)を受信するステップ(232)と、
C.T1とDminの和からT2を減算することによって現在の時間オフセット(Tp)の値を決定し(Tp=T1+Dmin−T2)(234)、現在のレシオ(R)と初期レシオ(Ro)との差の絶対値の1つが前記レシオの最大許容偏差より大きい(|R−Ro|>δmax)かどうか判定し、大きくない場合には、ステップEに進むステップ(252)と、
D.TOをTpについて計算された値に設定し(TO=Tp)、Syn=FalseおよびS=0を設定し、次いでステップHに進むステップ(254)と、
E.SがCより大きい(S>C)かどうか判定し(244)、SがCより大きい場合には、ステップGに進むステップと、
F.Sを増分し、オフセットTOをオフセットTpに等しく設定し(250)、次いでステップHに進むステップと、
G.Syn=Trueを設定するステップ(256)と、
H.Tpが0未満であるかどうか、またTpが0以上であるかどうか判定し(236)、次いでステップKに進むステップと、
I.最後の時間Rが調整されて以来q期間の間、Tpが負であったかどうか判定し(238)、負でなかった場合にはステップMに進むステップと、
J.R=R−δを設定し(246)、次いでステップNに進むステップと、
K.TO=Tpを設定するステップ(242)と、
L.最後の時間Rが調整されて以来q期間の間、Tpが正であったかどうか判定し(240)、正でなかった場合にはステップNに進むステップと、
M.R=R+δを設定するステップ(248)と、
N.出力であるレート=R、オフセット=TO、Sync=Synを設定し(258)、次いでステップBに戻るステップと
を含む、請求項1または2記載の方法。
【請求項6】
前記LNTを前記選択されたレシオおよびオフセットの前記GNTに同期させることが、前記選択されたレシオにLRクロックを乗じたものをLRクロックの周期ごとにLNTに加算し、前記選択されたオフセットが使用可能になった後で前記選択されたオフセットを前記LNTに加算すること(LNT=LNT+Ratio*LRP+Offset*OUS)(224)をさらに含む、請求項5記載の方法。
【請求項7】
ネットワーク(10)を介して送信側から受信側ノード(70、76、80、84、90、94)によって受信されたメッセージを分類する方法であって、
前記受信側ノード(70、76、80、84、90、94)でメッセージを受信し、前記メッセージから送信側タイムスタンプ(STS)を抽出するステップ(274)と、
前記メッセージが完全に到着したときグローバルネットワーク時間(LNT)のローカル推定値に基づいて宛先タイムスタンプ(DTS)を設定するステップ(274)と、
前記DTSと前記STSとの差を決定するステップと、
前記LNTがグローバルネットワーク時間(GNT)に同期されているかどうか判定するステップ(280)と、
前記差のいずれか1つが0以下であり(276)、前記LNTが同期されておらず(280)、前記差が技術的レイテンシ(Dmin)未満である(282)場合、前記メッセージを未知のエージと共に受け入れる(278)ものとして分類するステップと、
前記差が所定の最大許容エージ(Age Max)未満である場合(284)、前記メッセージを既知のエージと共に受け入れる(286)ものとして分類するステップ(288)と、
そうでない場合、前記メッセージを廃棄するステップと
を含む方法。
【請求項8】
前記Dminが100マイクロ秒と10ミリ秒の間である、請求項7記載の方法。
【請求項9】
前記Age Maxが1マイクロ秒と10秒の間である、請求項7記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−170076(P2012−170076A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−28994(P2012−28994)
【出願日】平成24年2月14日(2012.2.14)
【出願人】(390041542)ゼネラル・エレクトリック・カンパニイ (6,332)
【Fターム(参考)】