(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】ゲート状態確認システム、ゲート状態確認方法、通信装置
(51)【国際特許分類】
H04L 47/56 20220101AFI20241106BHJP
H04L 43/0864 20220101ALI20241106BHJP
【FI】
H04L47/56
H04L43/0864
(21)【出願番号】P 2021049816
(22)【出願日】2021-03-24
【審査請求日】2023-08-30
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】田島 昌明
【審査官】速水 雄太
(56)【参考文献】
【文献】米国特許出願公開第2018/0309655(US,A1)
【文献】特開2012-134614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
TSN対応の通信装置に設定されたパケット送信用のスケジュールを定めたゲートの状態を確認するシステムであって、
前記確認を開始する一方の前記通信装置は、前記確認の対象となる任意に選択された他方の前記通信装置とパケットを往復させることにより、
前記両通信装置間の「Meanpath値」が記述されたゲート情報と、他方の前記通信装置までの実際の受信時間とを取得し、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と前記実際の受信時間との時間差を算出し、
前記時間差に基づき前記ゲートの状態を確認することを特徴とするゲート状態確認システム。
【請求項2】
一方の前記通信装置が他方の前記通信装置に送信した第1パケットを転送する中間の前記通信装置は、受信ポート側の「Meanpath値」を前記パケットのデータ部分に追記し、
前記第1パケットを最後に受信した他方の前記通信装置は、受信ポート側の「Meanpath」値を前記データ部分に追記したゲート情報を一方の前記通信装置に返信し、
一方の前記通信装置は、前記返信の受信後に他方の前記通信装置に送信時刻を含んだ第2パケットを送信し、
前記第2パケットを受信した他方の前記通信装置は、前記第2パケットの送受信時刻に基づき実際の受信時間を算出し、算出された前記実際の受信時間を一方の前記通信装置に返信し、
一方の前記通信装置は、前記返信の受信後に前記ゲート情報に記述された「Meanpath」値に基づく前記理想の受信時間と、前記返信された実際の受信時間との時間差を算出する
ことを特徴とする請求項1記載のゲート情報確認システム。
【請求項3】
中間の前記通信
装置に第2パケットを送信し、
前記第2パケットを受信した前記中間の前記通信装置は、前記第2パケットの送受信時刻に基づき前記実際の受信時間を算出し、算出された前記実際の受信時間を一方の前記通信装置に返信し、
一方の前記通信装置は、前記返信の受信後に前記ゲート情報に記述された「Meanpath」値に基づく前記中間の前記通信装置における理想の受信時間と、前記実際の受信時間との時間差を算出する
ことを特徴とする請求項2記載のゲート情報確認システム。
【請求項4】
前記時間差の大小に応じて前記ゲート状態を確認することを特徴とする請求項1~3のいずれか記載のゲート状態確認システム。
【請求項5】
前記各通信装置は、TSNの「gPTP」により時刻が同期され、
前記同期された時刻に基づき前記実際の受信時間が算出される
ことを特徴とする請求項1~4のいずれかに記載のゲート情報確認システム。
【請求項6】
TSN対応の通信装置に設定されたパケット送信用のスケジュールを定めたゲートの状態を確認する方法であって、
前記確認を開始する一方の前記通信装置は、前記確認の対象となる任意に選択された他方の前記通信装置とパケットを往復させることにより、前記両通信装置間の「Meanpath値」が記述されたゲート情報と他方の前記通信装置までの実際の受信時間とを取得するステップと、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と前記実際の受信時間との時間差を算出し、算出された前記時間差に基づき前記ゲートの状態を確認するステップと、
を有することを特徴とするゲート状態確認方法。
【請求項7】
TSN対応の通信装置であって、
任意に選択された他の通信装置におけるTSNのパケット送信用のスケジュールを定めたゲート状態を確認する機能を備え、
前記確認の対象となる任意に選択された他の前記通信装置とパケットを往復させることにより、前記両通信装置間の「Meanpath値」が記述されたゲート情報と他の前記通信装置までの実際の受信時間とを取得し、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と、前記実際の受信時間との時間差を算出し、
前記時間差に基づき前記ゲートの状態を確認することを特徴とする通信装置。
【請求項8】
他の前記通信装置に第1パケットを送信し、他の前記通信装置からの返信により前記ゲート情報を取得する「gPTP」タスクと、
他の前記通信装置に送信時刻を含めた第2パケットを送信し、他の前記通信装置から前記第2パケットの送受信時刻に基づく前記実際の受信時間の返信があれば前記時間差を算出するゲート管理タスクと、
を備えることを特徴とする請求項7記載の通信装置。
【請求項9】
前記ゲート管理タスクは、前記第1パケットを転送する中間の各通信装置に前記第2パケットを送信し、
中間の前記通信装置から記第2パケットの送受信時刻に基づく実際の受信時間の返信があれば、
前記ゲート情報の「Meanpath」値に基づく中間の前記通信装置における理想の受信時間と前記返信された実際の受信時間との時間差を算出する
ことを特徴とする請求
項8記載の通信装置。
【請求項10】
請求項8記載の他の通信装置であって、
前記第1パケットを受信すれば、該受信したポート側の「Meanpath」値を記述したゲート情報を返信する「gPTP」タスクと、
前記第2パケットを受信すれば、前記実際の受信時間を計算して返信するゲート管理タスクと、
を備えることを特徴とする通信装置。
【請求項11】
請求項9記載の中間の通信装置であって、
前記第1パケットを受信すれば、該受信したポート側の「Meanpath値」を前記第1パケットのデータ部分に追記し、前記第1パケットを他の前記通信装置に転送する「gPTP」タスクと、
前記第2パケットを受信すれば、前記実際の受信時間を計算して返信するゲート管理タスクと、
を備えることを特徴とする通信装置。
【請求項12】
TSNの「gPTP」により時刻が同期され、
前記同期された時刻に基づき前記実際の受信時間が算出される
ことを特徴とする請求項7~11記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TSN(Time-Sensitive Networking)の「IEEE802.1AS(gPTP)」機能と、「IEEE802.1Qbv(トラフィックスケジューリング」機能とを搭載した通信装置に関する。
【背景技術】
【0002】
特許文献1・非特許文献1に記載されたTSNは、標準のイーサネット(登録商標)を拡張する産業用ネットワークとITネットワークとを相互運用するネットとワーク技術であって、「IEEE802.1AS」や「IEEE802.1Qbv」など複数の規格から構成されている。
【0003】
1.IEEE802.1AS
「IEEE802.1AS」規格は「gPPT」と略称される。この「gPTP」機能による時刻同期パケットはL2層で、かつ「PtoP(隣接する機器同士)」透過機能のみしか使用することができない点で通常のPTP時刻同期パケットと相違する。
【0004】
具体的には「gPTP機能」の時刻同期は、
図1に示すように、「PtoP(隣接する機器同士)」のTWOステップを経て、式1により伝送時間D(Meanpath)が計算される。
【0005】
式(1):伝送時間D=「(T4-T3)+(T2-T1)」/2=「(T4-T1)-(T3-T2)」/2
図2は、PTPのONEステップによる時刻同期と前記TWOステップとの違いを「SYNC」メッセージを例に示している。すなわち、「ONEステップ」では、「T1」のタイムスタンプ情報を「SYNC」メッセージのパケットにセットして送信する。
【0006】
一方、TWOステップでは、「T1」を「SYNCメッセージ」のパケットではなく、「Follow_UP」メッセージのパケットにセットして送信する(「Pdelay_Resp_Follow_UP」メッセージも同じ。)。
【0007】
そして、
図2に基づく受信時間の遅れ(t3-T2)を考慮した式2を用いて「T1」からの経過時間(t1)を算出し、「t1」と「t3」との時刻差からマスター・スレーブ間の時刻補正を行う。
【0008】
式(2):経過時間(t1)=T1+D+(t3-T2)
2.IEEE802.1Qbv
「IEEE802.1Qbv」の時刻対応スケジューラは、イーサネットネットワーク上の通信を固定長に分割し、時間サイクルを繰り返す。これらのサイクル内で8個のイーサネット優先順位のうち1つまたは複数に割り当てるタイムスライスを構成する(「トラフィックスケジューリング」機能)。
【0009】
これにより伝送保障が必要で中断できないトラフィッククラスのイーサネット伝送媒体に対して限られた時間内で排他的な使用を許可することが可能となる。これは基本的な概念を時分割多元接続(TDMA)であり、特定の期間に仮想通信チャンネルを確立することによりタイムクリティカルな通信を重要でないバックグランドトラフィックから分離することができる。
【先行技術文献】
【特許文献】
【0010】
【非特許文献】
【0011】
【文献】“ITとOTネットワークを融合する「TSN」の概要と実装”,[online],令和3年3月3日検索,インターネット<URL:http:ednjapan.com/edn/arrticies/1803/23/news014.html>
【発明の概要】
【発明が解決しようとする課題】
【0012】
TSN対応の通信装置(スイッチングハブ:以下、TSNハブとする。)は、「gPTP」機能と「トラフィックスケジューリング」機能とを搭載している。
【0013】
これによりTSNハブ間で時刻同期し、またTSNハブ間の距離とTSNハブを通過するための必要な時間だけずらしたパケット送信用のトラフィックスケジューリング(以下、ゲートとする。)を設定し、高負荷であっても優先パケットを遅滞なく送信することを可能としている。
【0014】
ところが、ゲートの設定は各TSNハブにより個別に行われるため、すべてのTSNハブ間のゲートが正常に設定されなければ、パケットが停滞するおそれがあった。
【0015】
そこで、本発明は、TSN対応の通信装置間のゲート状態を確認することでゲート設定の誤りなどを検出する手法の提案を解決課題としている。
【課題を解決するための手段】
【0016】
(1)本発明の一態様は、TSN対応の通信装置に設定されたパケット送信用のスケジュールを定めたゲートの状態を確認するシステムであって、
前記確認を開始する一方の前記通信装置は、前記確認の対象となる任意に選択された他方の前記通信装置とパケットを往復させることにより、
前記両通信装置間の「Meanpath値」が記述されたゲート情報と、他方の前記通信装置までの実際の受信時間とを取得し、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と前記実際の受信時間との時間差を算出し、
前記時間差に基づき前記ゲートの状態を確認することを特徴としている。
【0017】
(2)本発明の他の態様は、TSN対応の通信装置に設定されたパケット送信用のスケジュールを定めたゲートの状態を確認する方法であって、
前記確認を開始する一方の前記通信装置は、前記確認の対象となる任意に選択された他方の前記通信装置とパケットを往復させることにより、前記両通信装置間の「Meanpath値」が記述されたゲート情報と他方の前記通信装置までの実際の受信時間とを取得するステップと、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と前記実際の受信時間との時間差を算出し、算出された前記時間差に基づき前記ゲートの状態を確認するステップと、を有することを特徴としている。
【0018】
(3)本発明のさらに他の態様は、TSN対応の通信装置であって、
任意に選択された他の通信装置におけるTSNのパケット送信用のスケジュールを定めたゲート状態を確認する機能を備え、
前記確認の対象となる任意に選択された他の前記通信装置とパケットを往復させることにより、前記両通信装置間の「Meanpath値」が記述されたゲート情報と他の前記通信装置までの実際の受信時間とを取得し、
前記ゲート情報に記述された「Meanpath値」に基づく理想の受信時間と、前記実際の受信時間との時間差を算出し、
前記時間差に基づき前記ゲートの状態を確認することを特徴としている。
【発明の効果】
【0019】
本発明によれば、TSNハブ間のゲート状態を確認可能となるため、ゲート設定の誤りなどを検出することができる。
【図面の簡単な説明】
【0020】
【
図2】同 ONEステップとTWOステップとの違いを示す概略図。
【
図5】本発明の実施形態に係るゲート状態確認システムのゲート確認パケット・ゲート情報パケットの送信経路図。
【
図7】同 ゲート状態確認要求時の処理を示す説明図。
【
図8】同 ゲート状態確認応答時の処理を示す説明図。
【
図10】同 「gPTP」タスクのTSNパケット転送メイン処理を示すフローチャート。
【
図11】同 「gPTP」タスクのゲート確認パケット受信処理を示すフローチャート。
【
図12】同 ゲート管理タスクのゲート管理メイン処理を示すフローチャート。
【
図13】同 ゲート情報受信処理を示すフローチャート。
【
図14】同 ゲート状態確認要求処理を示すフローチャート。
【
図15】同 ゲート状態確認応答処理を示すフローチャート。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態に係るゲート状態確認システムを説明する。このゲート状態確認システムは、TSNハブ上に設定されたクラスごとのパケット送信用のゲートが任意のTSNハブ間で正常に動作しているか否かを確認可能としている。
【0022】
ここでは一例として
図3に示すネットワークを想定する。このネットワークは、TSNハブ1~7により構成されている。このTSNハブ1~7は、TSNの「IEEE802.1AS(gPTP)」機能と、「IEEE802.1Qbv(トラフィックスケジューリング)」機能とを搭載している。
【0023】
したがって、TSNハブ1~7間では「gPTP」機能による時刻同期が可能であり、また各TSNハブ1~7の「gPTP」ポートにはTSNハブ1~7間の伝送遅延を考慮したトラフィックスケジューリング機能(以降、TSNハブ内部で「gPTP」ポートにトラフィックスケジューリングされたものをゲートと呼ぶ。)が設定されている。
【0024】
図3中のTSNハブ1~7間の「ローマ数字+TSNハブ番号」は、TSNハブ1~7間における矢印方向の「Meanpath」値を表している。すなわち、「≡-1」・「≡-2」は、TSNハブ1,2間の「Meanpath」値を示し、「≡―1」・「≡―2」は、TSNハブ2,3間の「Meanpath」値を示し、
「≡―1」・「≡―2」は、TSNハブ3,4間の「Meanpath」値を示し、
「≡―1」・「≡―2」は、TSNハブ2,5間の「Meanpath」値を示し
「≡―1」・「≡―2」は、TSNハブ5,6間の「Meanpath」値を示し
「≡―1」・「≡―2」は、TSNハブ6,7間の「Meanpath」値を示している。
【0025】
図4はTSNハブ6を一例としたゲート機能を示している。ここではTSNハブ6は、「Queue(キュー)」の「Priority(優先度)0~7」(以降、「Qpri0~7」とする。)をゲート14として設定可能であり、設定された「Qpri0~7」の順に一定時間優先で送信することができる。
【0026】
例えばゲート14の「Qpri5」が開いた状態でTSNハブ6の「gPTP」ポート11に入ってきた「Queue5」のパケットは、「gPTP」ポート12に転送されるが、その他のゲート14の「Qpri」が開いている場合には転送されず、次回のゲート14の「Qpri5」が開くまで待ち状態となる。なお、TSNハブ1,2,4~7も同様のゲート機能を持つ。
【0027】
このTSN1~7のゲート14の「Qpri」が時刻同期(gPTP)と連動して動作することにより「Qpri」に対応したパケットが、高負荷状態であってもストレスなく送信することができる。
【0028】
もっとも、各TSNハブ1~7のゲート14の「Qpri」が正しく設定されていない場合には、TSNハブ1~7毎にゲート14の「Qpri」が開くまでの待ち時間がかかるようになり、最悪の場合にはパケットロスの原因となる。そこで、前記ゲート状態確認システムでは、以下の動作によりゲート状態の確認を行う。
【0029】
≪ゲート状態の確認動作≫
図3のネットワーク上に配置されたTSNハブ1~7は「gPTP」の時刻同期とゲート設定とが機能している場合に任意のTSNハブ1~7間でゲート状態の確認を行う。
【0030】
一例として
図6~
図9に基づきTSNハブ1からTSNハブ7へのゲート状態を確認する場合におけるシステムの全体動作を説明する。ここではTSNハブ1~7は、それぞれ「gPTP」タスク21,ゲート管理タスク23を備えている。
【0031】
図6~
図9中の21a,23aは、ゲート状態の確認を開始するTSNハブ1の「gPTP」タスク21,ゲート管理タスク23を示している。同21b,23bは、ゲート状態の確認対象(終了)となるTSNハブ7の「gPTP」タスク21,ゲート管理タスク23を示している
(1)まず、「gPTP」タスク21aは、TSNハブ7の「ID」を設定し(
図6参照)、実行フラグをセットする。
【0032】
その後、TSNハブ1から「gPTP」ポート12を使ってゲート確認パケットが、
図5中の矢印R1に示すように、TSNハブ2,5,6を経由してTSNハブ7に送信される。
【0033】
このときTSNハブ2,5,6の「gPTP」タスク21は、受信したゲート確認パケットのデータ部分25(
図6参照)に自身の「ID」とパケット入力ポート(受信ポート)11側の「Meanpath値」を追加記述し、次のTSNハブに転送する。
【0034】
すなわち、「TSNハブ2→TSNハブ5」,「TSNハブ5→TSNハブ6」,
「TSNハブ6→TSNハブ7」の順に転送される。最後にTSNハブ7がゲート状態確認パケットを受信すると、「gPTP」タスク21bにより、
図6のゲート情報26が生成される。
【0035】
詳細を説明すれば、TSNハブ7の受信時点ではゲート状態確認パケットのデータ部分25には「TSNハブ2,5,6のID」と、該「ID」毎にパケット入力ポート11側の「Meanpath値」が記述されている。
【0036】
そして、「gPTP」タスク21bは、前記データ部分25の情報に自身の「ID」と、自身のパケット入力ポート毎の「Meanpath値」を追記し、これによりTSNハブ1,2,5~6間の「Meanpath値」を記述したゲート情報26が生成される。
【0037】
このゲート情報26の作成後に「gPTP」タスク21bは、TSNハブ7内のゲート管理タスク23bにゲート情報通知を発行する。このゲート情報通知を受け取ったゲート管理タスク23bは、ゲート情報26を記述したゲート情報パケットを生成する。生成されたゲート情報パケットは、
図5中の矢印R2に示すように、TSN6,5,2を経由してTSN1に送信される。
【0038】
(2)つぎにTSNハブ1内のゲート管理タスク23aは、ゲート情報パケットからゲート情報26を取得し、取得したゲート情報26を保存する。また、ゲート管理タスク23aは、
図7に示すように、TSNハブ7に対してゲート状態確認のためにダミーパケット(ゲート状態確認要求パケット)を生成する。生成されたゲート状態確認要求パケットを矢印R1のルートでTSNハブ7に送信時刻を含めて送信する。
【0039】
このゲート状態確認要求パケットをTSNハブ7が受信すると、ゲート管理タスク23bはTSNハブ7のゲート状態確認要求パケットの受信時間を算出する。ここではTSNハブ1~7は「gPTP」により時刻同期され、前記受信時間の算出は「gPTP」により同期された送受信の時刻に基づき算出される。具体的な算出方法は、
図7および
図8中の式(3)を用いる。
【0040】
前記受信時間の算出後にゲート管理タスク23bは、前記受信時間と送信先「ID(TSNハブ1)」および送信元「ID(TSNハブ7)」とをセットしたゲート状態確認応答パケットを、矢印R2のルートでTSNハブ1に送信する。
【0041】
(3)TSNハブ1がゲート状態確認応答パケットを受信すると、
図8に示すように、ゲート管理タスク23aはゲート情報26に基づき理想のTSNハブ7の受信時間を算出する。具体的な算出方法は、
図8中の式(4)を用いる。
【0042】
また、ゲート管理タスク23aは、前記理想の受信時間とゲート状態確認応答パケットの前記受信時間(実際の受信時間)との時間差を求める。ここで求められた時間差は、TSNハブ1から7に設定されたゲートずれの影響を受けるため、当該ゲートずれ分だけ実際の受信時間が前記理想の受信時間と剥離した値となる。その後、ゲート管理タスク23aは、ゲート情報26および前記時間差を管理者などのコンピュータに画面出力またはファイル出力して提示する。
【0043】
(4)その後、TSNハブ1の「gPTP」タスク21aおよびゲート管理タスク23aは、
図9に示すように、TSNハブ2,5,6に対してTSNハブ7と同様のゲート状態の確認(ゲート状態確認要求パケットとゲート状態確認応答パケットとの往復)を行って、確認結果30を出力する。
このときTSNハブ2,5,6の理想の受信時間は、ゲート情報26により算出可能なため、ゲート情報パケットの送信は省略される。また、確認結果30には、最初に確認対象(目的)のTSNハブ7との間の時間差が表示され、次にTSNハブ2,5,6との間の時間差が順に表示される。ここでTSNハブ7との間の時間差が小さいと判断される場合にはTSNハブ2,5,6との間の時間差は参考程度の扱いとなる。
【0044】
一方、TSNハブ7との間の時間差が大きいと判断される場合にはTSNハブ2,5,6との間の時間差を確認することにより、問題となるゲートの箇所を素早く検出することが可能となる。なお、前記時間差の大小は、事前に閾値を設定することで自動的に検出できる。例えばTSNハブ7・2,5,6間の前記時間差が閾値を越えていれば、TSNハブ7の前記時間差が大きいと自動検出してもよい。
【0045】
≪TSNハブの内部処理≫
前述したTSNハブ1からTSNハブ7へのゲート状態の確認動作に伴い、それぞれの内部において、
・
図10のTSNパケット転送メイン処理
・
図11のゲート確認パケット受信処理
・
図12のゲート管理メイン処理
・
図13のゲート情報受信処理
・
図14のゲート状態確認要求処理
・
図15のゲート状態確認応答処理
が実行される。
【0046】
TSNパケット転送メイン処理・ゲート確認パケット受信処理は、「gPTP」タスク21により実行される。一方、ゲート管理メイン処理・ゲート情報受信処理・ゲート状態確認要求処理・ゲート状態確認応答処理は、ゲート管理タスク23により実行される。
【0047】
(1)TSNパケット転送メイン処理
図10に基づきTSNパケット転送メイン処理を説明する。この処理は、管理者などがコマンドを使って以下のデータA,Bを入力し、ゲート情報定義ファイルに書き込むことにより開始される。
・A:送信先TSNハブ(確認対象のTSNハブ)のID
・B:ゲート開始確認フラグ(=TRUE)
S01:TSNハブの「gPTP」タスク21は、ゲート定義ファイルを読み込んで前記データA,Bを、前記TSNハブの内部データとしてセットする。
【0048】
S02:「gPTP」タスク21は、自身のゲート確認開始フラグを参照することでゲート状態の確認を開始するか否かを確認する。確認の結果、前記フラグがセットされていれば、ゲート状態の確認を開始するため、S03に進む。一方、前記フラグがセットされていなければS06に進む。
【0049】
例えばTSNハブ1の「gPTP」21aの場合はゲート確認開始フラグがセットされているため、S06に進む。一方、SNハブ2,5,6,7の「gPTP」タスク21bの場合はゲート開始フラグが未セットのため、S06に進む。
【0050】
S03~S05:ゲート状態の確認を開始するTSNハブの「ID」と、確認の対象(終了)のTSNハブの「ID」(送信先TSNハブの「ID」)とをゲート情報にセットする(S03)。
【0051】
その後、ゲート確認パケットを生成して(S04)、「gPTP」ポート11から確認対象のTSNハブに送信する(S05)。例えばTSNハブ1の「gPTP」21aの場合は、TSNハブ7を送信先「ID」とするゲート確認パケットを生成して送信する。
【0052】
S06,S07:S05の送信元以外のTSNハブがTSNパケットを受信すれば(S06)、そのTSNハブの「gPTP」タスク21はTSNパケットがゲート確認パケットか否かを確認する(S07)。
【0053】
確認の結果、ゲート確認パケットであればS08のゲート確認パケット受信処理に進む一方、そうでなければS09の既存のTSNパケット受信時処理に進む。例えばTSNハブ2,5,6,7の「gPTP」タスク21bであればTSNハブ1から送信されたゲート確認パケットを受信し、S08のゲート確認パケット受信処理に進む。
【0054】
(2)ゲート確認パケット受信処理
図11に基づきS08のゲート確認パケット受信処理の詳細を説明する。この処理は、前述のようにゲート確認パケットを受信したTSNハブの「gPTP」タスク21により実行される。
【0055】
S11~S13:処理が開始されると、「gPTP」タスク21は、S06の受信パケット(ゲート確認パケット)から確認の対象となるTSNハブの「ID」を取得する(S11)。
【0056】
その後、取得した「ID」と自身のTSNハブの「ID」とを比較し(S12)、両者が同じであるか否かを確認する(S13)。確認の結果、同じでなければS14に進む一方、同じであればS16に進む。例えばTSNハブ2,5,6であればS14に進み、TSNハブ7であればS16に進む。
【0057】
S14,S15:ここの処理は、TSNハブ2,5,6などのゲート確認パケットを中継する中間のTSNハブにより実行される。
【0058】
まず、S06の受信パケット(ゲート確認パケット)のデータ部分(受信情報)25に自身のTSNハブの「ID」と、S06の受信ポート11側の「Meanpath」値を追記する(S14)。
【0059】
つぎに前記追記された受信情報に基づきゲート確認パケットを作成し、前記受信ポート以外の「gPTP」ポート12から送信する(S15)。例えばTSNハブ2はTSNハブ5に送信し、TSNハブ5はTSNハブ6に送信し、TSNハブ6はTSNハブ7に送信する。
【0060】
S16~S18:ここの処理は、TSNハブ7などのゲート状態の確認対象となるTSNハブにより実行される。
【0061】
すなわち、S06の受信パケットのデータ部分25をゲート情報として保存し(S16)、保存されたゲート情報に自己のTSNハブの「ID」とS06の受信ポート11側の「Meanpath」値を追記する(S17)。
【0062】
その後、ゲート情報通知(ゲート確認受信通知)をゲート管理タスク23に送信する(S18)。例えばTSNハブ7の「gPTP」タスク21bは、ゲート管理タスク23bにゲート情報通知を送信する。
【0063】
(3)ゲート管理メイン処理
図12に基づきゲート管理メイン処理の詳細を説明する。この処理は、TSNハブのゲート管理タスク23が実行する。
【0064】
S21,S22:すなわち、処理が開始されるとゲート管理タスク23は、S18のゲート情報通知の有無を確認する(S21,S22)。確認の結果、ゲート情報通知があればS23に進む一方、前記通知がなければS25に進む。
【0065】
S23,S24:ゲート管理タスク23は、ゲート情報通知の受信情報に基づきゲート情報パケットを生成し(S23)、作成したゲート情報パケットを確認開始したTSNハブに送信する(S24)。例えばTSNハブ7のゲート管理タスク23bはTSNハブ1にゲート情報パケットを送信する。
【0066】
S25,S26:ゲート管理タスク23は、S06のTSNパケットを受信し(S25)、ゲート情報パケットの受信か否かを確認する(S26)。確認の結果、ゲート情報パケットの受信であればS27のゲート情報受信処理に進む一方、そうでなければS28に進む。
【0067】
S28~S30:ゲート管理タスク23は、S25の受信パケットがゲート状態確認パケットか否かを確認する(S28)。
【0068】
確認の結果、ゲート状態確認要求パケットであればS29のゲート状態確認要求処理に進む一方、そうでない場合にはS30に進む。
【0069】
S30では、S25の受信パケットがゲート状態確認応答パケットか否かを確認する。確認の結果、ゲート状態確認応答パケットであれば、S31のゲート状態確認応答処理に進む一方、そうでなければ処理を終了する。
【0070】
(4)ゲート情報受信処理
図13に基づきS27のゲート情報受信処理の詳細を説明する。
【0071】
S41~S43:処理が開始されると、ゲート管理タスク23はS25の受信パケットのデータ部分25から確認を開始するTSNハブの「ID」を取得する(S41)。
【0072】
その後、取得された「ID」と自己のTSNハブの「ID」とが比較される(S42)。比較の結果、同じ「ID」であればS44に進む一方、同じでなければ処理を終了する(S43)。
【0073】
S44,S45:ゲート管理タスク23は、受信パケットのデータ部分25(S14の追記後のものに限る。)をゲート情報として保存し(S44)、保存されたゲート情報から確認対象のTSNハブのIDを取得する(S45)。
【0074】
その後、ゲート状態確認要求パケットを生成し(S46)、生成したゲート状態確認要求パケットを確認対象の「ID」のTSNハブに送信し(S47)、処理を終了する。
【0075】
例えばTSN1のゲート管理タスク23aは、保存されたゲート情報からTSNハブ7の「ID」を取得してゲート状態確認要求パケットを生成し、生成したゲート状態確認要求パケットをTSNハブ7に送信する。
【0076】
(5)ゲート状態確認要求処理
図14に基づきS29のゲート状態確認要求処理の詳細を説明する。
【0077】
S51~S53:処理が開始されると、ゲート管理タスク23は、S25の受信パケットのデータ部分25から送信先のTSNハブのIDを取得する(S51)。
【0078】
その後、取得された「ID」と自己のTSNハブの「ID」とが比較される(S52)。比較の結果、同じ「ID」であればS54に進む一方、同じでなければ処理を終了する(S53)。
【0079】
S54~S57:ゲート管理タスク23は、S25の受信パケットの受信時間を計算する(S54)。この計算後に前記受信パケットのデータ部分25から送信元TSNハブの「ID」を取得して(S55)、前記受信時間を記述したゲート状態確認応答パケットを生成する(S56)。
【0080】
ここで生成されたゲート状態確認応答パケットを、S55の「ID」を持つTSNハブに送信し(S57)、処理を終了する。例えばTSNハブ7のゲート管理タスク23bは、ゲート状態確認要求パケットの受信時間を計算し(
図7および
図8中の式(1)参照)、計算した受信時間をゲート状態確認応答パケットとしてTSNハブ1に送信する。
【0081】
(6)ゲート状態確認応答処理
図15に基づきS31のゲート状態確認応答処理の詳細を説明する。
【0082】
S61:処理が開始されるとゲート管理タスク23は、S25の受信パケットのデータ部分25からTSNハブの受信時間・送信元TSNハブの「ID」・送信先TSNハブの「ID」を取得する。
【0083】
S62:S61で取得した送信元「ID」のTSNハブまでの理想の受信時間を計算する。例えばTSNハブ1のゲート管理タスク23aは、S44で保存されたゲート情報の「Meanpath」値に基づきTSN7までの理想の受信時間を算出する(
図8中の式(2)参照)。
【0084】
S63,S64:S61で取得した受信時間とS62で計算した理想の受信時間との時間差を算出する(S63)。ここで計算された時間差・S44で保存されたゲート情報を出力することでゲート状態確認の結果が出力される(S64)。
【0085】
S65~S68:次の送信先TSNハブ(確認対象のTSNハブ)の「ID」を取得する(S65)。その後、S44で保存されたゲート情報を参照し、S65で取得した「ID」の次のTSNハブが存在するか否かを確認する(S66)。
【0086】
確認の結果、存在すればゲート状態確認要求パケットを作成し(S67)、作成したゲート状態確認要求パケットを送信先(確認対象)の「ID」を持つTSNハブに送信する(S68)。
【0087】
例えばTSNハブ2,5,6については、TSN7でゲート情報が作成されれば、S62の理想の受信時間を計算できるため、「gPTP」タスク21aによるゲート確認パケットを送信することなく、ゲート状態確認要求パケットを送信する。
【0088】
このようなゲート状態確認システムによれば、任意選択したTSNハブ間のすべてのゲートの状態を確認することが可能となる。したがって、TSNハブ間のゲートの正当性が判断でき、またゲート設定のミスなど問題となる箇所も容易に検出することができる。
【0089】
このときゲート情報の作成(
図10および
図12)と、ゲート状態の確認(
図12~
図15)との実行を別タスク21,23に分けたため、本来のTSN処理への影響が軽減されている。特にTSN7でゲート情報が作成されれば、TSNハブ2,5,6についてはゲート状態の確認だけで済むため、この点でも処理負担が軽減されている。
【0090】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えばTSNハブ1からTSNハブ7へのゲート状態を確認する場合に限定されず、任意のTSNハブ間でゲート状態を確認することができる。また、ネットワーク構成は、
図3に限定されず、TSNハブにより構成されたネットワークであればよい。
【符号の説明】
【0091】
1~7…TSNハブ
11,12…ポート
14…ゲート
21,21a,21b…「gPTP」タスク
23,23a,23b…ゲート管理タスク
25…ゲート状態確認パケットのデータ部分
26…ゲート情報
30…確認結果