▶ 株式会社明電舎の特許一覧
特開2023-61877時分割スケジュールの調整方式、通信装置、時分割スケジュールの調整方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023061877
(43)【公開日】2023-05-02
(54)【発明の名称】時分割スケジュールの調整方式、通信装置、時分割スケジュールの調整方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20230425BHJP
【FI】
H04L7/00 990
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022068625
(22)【出願日】2022-04-19
(31)【優先権主張番号】P 2021171341
(32)【優先日】2021-10-20
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【弁理士】
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【弁理士】
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】田島 昌明
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA18
5K047BB12
5K047MM53
5K047MM56
(57)【要約】 (修正有)
【課題】TSNハブに設定された時分割スケジュールの開始タイミングを調整して同調させ、開始タイミングのバラツキの抑制を図る時分割スケジュールの調整方式・方法及び通信装置を提供する。
【解決手段】ネットワークNにおいて、TSNハブ1~5は、「gPTP」時刻同期で使用するタイマー「ToD」と時刻同期の影響を受けないカウンタ「TC」を備えている。TSNハブ1~5は、TSNの時分割スケジュールの実行から任意のカウント数を経過した状態の時刻t1をタイマーから取得する。この時刻t1から前記カウント数に応じた時間を逆算して得られた時刻t2+1秒=t3と、時分割スケジュールの開始時刻t3とに基づきゲート開始調整時間bを算出する。このゲート開始調整時間bが事前設定の実行閾値aより大きければ、次回の時分割スケジュール開始タイミングにおいて、ゲート開始調整時間b分だけ待ってゲート処理を開始する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ネットワーク上の通信装置間で時刻同期させ、
前記各通信装置の対象ポートを通過可能なパケットのレベルごとに設定された時分割スケジュールを調整する方式であって、
前記各通信装置の前記対象ポートには、前記レベル毎の前記時分割スケジュールを一定の周期で動作させるゲートの設定がなされ、
前記ゲートの開閉を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出し、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットすることを特徴とする時分割スケジュールの調整方式。
【請求項2】
前記各通信装置は、前記時刻同期で使用するタイマーと、前記時刻同期の影響を受けないカウンタとを備え、
前記カウンタが前記スケジュールの実行から任意のカウント数を経過した状態の時刻を前記タイマーから取得し、
前記取得した時刻から前記カウント数に応じた時間を逆算して得られた時刻と、前記スケジュール開始時刻とに基づき前記調整時間を算出する
ことを特徴とする請求項1記載の時分割スケジュールの調整方式。
【請求項3】
前記カウンタが「0(sec)」のときに前記スケジュールを実行し、
前記スケジュールの実行から前記カウント数の経過後に前記時刻を取得する
ことを特徴とする請求項2記載の時分割スケジュールの調整方式。
【請求項4】
前記調整時間は、
前記逆算で得られた時刻に任意秒数を加算した時刻と、
前記スケジュール開始の時刻と、
の差分を前記スケジュールの周期で除算した剰余である
ことを特徴とする請求項2または3記載の時分割スケジュールの調整方式。
【請求項5】
前記調整時間を事前に設定した実行閾値と比較し、
前記比較の結果に応じて次回の前記スケジュールの開始を前記調整時間分だけ待つ
ことを特徴とする請求項2または3記載の時分割スケジュールの調整方式。
【請求項6】
前記ゲートの設定は、通過させたいパケットの種別と通過時間とがゲート間隔毎に設定され、
前記ゲート間隔群の先頭に補正パケットの期間が追加され、
前記補正パケットを前記通信装置群に転送させることで伝送遅延に応じた補正時間を算出し、
前記算出された補正時間を前記調整時間に用いることを特徴とする請求項1記載の時分割スケジュールの調整方式。
【請求項7】
前記補正パケットは、前記ネットワーク中でサーバの接続を想定するメインの前記通信装置と、
前記ネットワークの末端の前記通信装置と、
から送信される一方、
前記メインと前記末端以外との間に配置される中間の前記通信装置により順次に転送されることを特徴とする請求項6記載の時分割スケジュールの調整方式。
【請求項8】
中間の前記通信装置は、
前記補正パケットを収集されたタイマー時刻と、
前記補正パケットが前記対象ポートに到着して前記タイマー時刻を収集するまでにかかった時間と、
に基づき伝送遅延時間を算出し、
前記伝送遅延時間を前記補正時間として算出することを特徴とする請求項7記載の時分割スケジュールの調整方式。
【請求項9】
ネットワーク上に時刻同期可能に配置され、対象ポートを通過可能なパケットのレベルごとに時分割スケジュールが設定された通信装置であって、
前記対象ポートには、前記レベル毎の前記時分割スケジュールを一定の周期で動作させるゲート開閉の設定がなされ、
前記ゲート開閉の設定を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出し、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットすることを特徴とする通信装置。
【請求項10】
前記時刻同期で使用するタイマーと、前記時刻同期の影響を受けないカウンタとを備え、
前記カウンタが前記スケジュールの実行から任意のカウント数を経過した状態の時刻を前記タイマーから取得し、
前記取得した時刻から前記カウント数に応じた時間を逆算して得られた時刻と、前記スケジュール開始時刻とに基づき前記調整時間を算出する
ことを特徴とする請求項9記載の通信装置。
【請求項11】
前記ゲート開閉の設定においては、通過させたいパケットの種別と通過時間とがゲート間隔毎に設定され、
前記ゲート間隔群の先頭に補正パケットの期間が追加され、
前記補正パケットを前記通信装置群に転送させることで伝送遅延に応じた補正時間を算出し、
前記算出された補正時間を前記調整時間に用いることを特徴とする請求項9記載の通信装置。
【請求項12】
ネットワーク上の通信装置間で時刻同期させ、
前記各通信装置の対象ポートには、通過可能なパケットのレベル毎の前記時分割スケジュールを一定の周期で動作させるゲート開閉の設定がなされ、前記時分割スケジュールを調整する方法であって、
前記ゲート開閉の設定を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出するステップと、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットするステップと、
を有することを特徴とする時分割スケジュールの調整方法。
【請求項13】
前記各通信装置は、前記時刻同期で使用するタイマーと、前記時刻同期の影響を受けないカウンタとを備え、
前記カウンタが前記スケジュールの実行から任意のカウント数を経過した状態の時刻を前記タイマーから取得するステップと、
前記取得した時刻から前記カウント数に応じた時間を逆算して得られた時刻と、前記スケジュール開始時刻とに基づき前記調整時間を算出するステップと、
を有することを特徴とする請求項12記載の時分割スケジュールの調整方法。
【請求項14】
前記ゲート開閉の設定において、
通過させたいパケットの種別と通過時間とがゲート間隔毎に設定され、
前記ゲート間隔群の先頭に補正パケットの期間が追加され、
前記補正パケットを前記通信装置群に転送させることで伝送遅延に応じた補正時間を算出し、
前記算出された補正時間を前記調整時間に用いることを特徴とする請求項12記載の時分割スケジュールの調整方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TSN(Time Sensitive Networking)により時分割されたネットワークのスケジュールを調整する技術に関する。
【背景技術】
【0002】
特許文献1および非特許文献1に記載されたTSNは、標準のイーサネット(登録商標)を拡張する産業用ネットワークとITネットワークとを相互運用するネットとワーク技術であって、「IEEE802.1AS」や「IEEE802.1Qbv」など複数の規格から構成されている。
【0003】
(1)IEEE802.1AS
「IEEE802.1AS」規格は「gPTP」と略称される。この「gPTP」機能による時刻同期パケットはL2層で、かつ「PtoP(隣接する機器同士)」透過機能のみしか使用することができない点で通常のPTP時刻同期パケットと相違する。
【0004】
(2)IEEE802.1Qbv
「IEEE802.1Qbv」の時刻対応スケジューラは、イーサネットネットワーク上の通信を固定長に分割し、時間サイクルを繰り返す。これらのサイクル内で8個のイーサネット優先順位のうち1つまたは複数に割り当てるタイムスライスを構成する(「トラフィックスケジューリング」機能)。
【0005】
これにより伝送保障が必要で中断できないトラフィッククラスのイーサネット伝送媒体に対して限られた時間内で排他的な使用を許可することが可能となる。これは基本的な概念を時分割多元接続(TDMA)であり、特定の期間に仮想通信チャンネルを確立することによりタイムクリティカルな通信を重要でないバックグランドトラフィックから分離することができる。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【非特許文献1】“ITとOTネットワークを融合する「TSN」の概要と実装”,[online],令和3年3月3日検索,インターネット<URL:http:ednjapan.com/edn/arrticies/1803/23/news014.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述したTSNの「IEEE802.1Qbv」のトラフィックスケジューリング機能によるトラフィックシーピングをネットワーク上の各通信装置で同時に使用したい場合が少なくない。
【0009】
この場合には、TSNの「IEEE802.1AS(gPTP)」を使用して各通信装置間で時刻同期した後、同一時刻に「IEEE802.1Qbv」のトラフィックシーピングを使って各通信装置の対象ポートにゲートを設定する。
【0010】
すなわち、各通信装置の対象ポートに「IEEE802.1Qbv」を使用して通過可能なパケットのレベルを設定し、そのレベル毎に時分割スケジュールを組み、その時分割されたスケジュールを一定の周期で動作させるゲート開閉の設定(以下、ゲート設定とする。)を行う。
【0011】
その後、時間の経過とともに各通信装置間は水晶精度の違いなどにより設定したゲートや時刻にずれが発生するものの、各通信装置の時刻は「gPTP」の時刻同期処理により一定周期で補正される。
【0012】
このとき時刻同期処理に合わせて一定の時刻でゲートも再設定すればよいが、各通信装置間で同一時刻を使って動作させるためには対象時刻の検出と該検出後のゲート再設定が必要となる。そのため、通信装置のCPU性能や処理状況への依存度が大きく、通信装置間で無視できないバラツキが発生するおそれがある。これでは通信装置間のゲート開始タイミングの精度に悪影響を与えるおそれがある。
【0013】
本発明は、このような従来の問題を解決するためになされ、ネットワーク上の各通信装置に設定された時分割スケジュールの開始タイミング(ゲート開閉のタイミング)を同調させ、その開始タイミングのバラツキを抑えることを解決課題としている。
【課題を解決するための手段】
【0014】
(1)本発明の一態様は、ネットワーク上の通信装置間で時刻同期させ、
前記各通信装置の対象ポートを通過可能なパケットのレベルごとに設定された時分割スケジュールを調整する方式であって、
前記各通信装置の前記対象ポートには、前記レベル毎の前記時分割スケジュールを一定の周期で動作させるゲートの設定がなされ、
前記ゲートの開閉を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出し、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットすることを特徴としている。
【0015】
(2)本発明の他の態様は、ネットワーク上に時刻同期可能に配置され、対象ポートを通過可能なパケットのレベルごとに時分割スケジュールが設定された通信装置であって、
前記対象ポートには、前記レベル毎の前記時分割スケジュールを一定の周期で動作させるゲート開閉の設定がなされ、
前記ゲート開閉の設定を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出し、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットすることを特徴としている。
【0016】
(3)本発明のさらに他の態様は、ネットワーク上の通信装置間で時刻同期させ、
前記各通信装置の対象ポートには、通過可能なパケットのレベル毎の前記時分割スケジュールを一定の周期で動作させるゲート開閉の設定がなされ、前記時分割スケジュールを調整する方法であって、
前記ゲート開閉の設定を時刻同期と同調させた状態で繰り返し実行することで前記時分割スケジュールの開始タイミングの調整時間を算出するステップと、
前記算出された調整時間に応じて前記時分割スケジュールの開始タイミングをオフセットするステップと、を有することを特徴としている。
【発明の効果】
【0017】
本発明によれば、ネットワーク上の各通信装置に設定された時分割スケジュールの開始タイミングを同調させ、その開始タイミングのバラツキを抑えることができる。
【図面の簡単な説明】
【0018】
【
図2】同 各TSNハブのゲート設定を示すフロー図。
【
図3】
図2中のS04~S07の詳細を示すシーケンス図。
【
図4】(a)は実施例1の動作処理を示すS04~S07を示すシーケンス図、(b)は同S08,S09を示す説明図。
【
図6】実施例1の時分割スケジュールによるゲート開閉例の概要図。
【
図7】特許文献1における時刻同期とゲートとの同調を示すシーケンス図。
【
図8】実施例2の時分割スケジュールによるゲート開閉例を示す概要図。
【
図9】同 時刻同期とゲートとの同調を示すシーケンス図。
【
図11】エッジ側補正パケットによるエッジ側ポートのゲート補正を示す説明図。
【
図12】メイン側補正パケットによるメイン側ポートのゲート補正を示す説明図。
【
図13】実施例2のゲート補正の全体処理を示すフローチャート。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態に係る時分割スケジュールの調整方式(調整方法)を説明する。ここでは本発明の適用された通信装置の一例として、TSNに対応したレイヤ2(L2)のスイッチングハブ(以下、TSNハブと呼ぶ。)を用いる。
【0020】
TSNハブは、「IEEE802.1AS」の「gPTP」機能と、「IEEE802.1Qbv」のトラフィックスケジューリング機能とを搭載している。これによりTSNハブ間で時刻同期し、また時分割スケジュールを組んで優先パケットを遅滞なく送信することができる。
【0021】
すなわち、ネットワーク上に配置されたTNSハブ間が「gPTP」機能で時刻同期されていることを前提とし、時刻同期を使用した高精度のゲート設定を可能にしている。以下、実施例1,2に基づき詳細を説明する。
【実施例0022】
図1~
図4に基づき実施例1を説明する。TSNハブは、バス型・リング型やさらに複雑なネットワークに接続された状態で使用することができる。本実施例では、一例として
図1に示すネットワークNを想定する。
【0023】
ネットワークNは、TSNハブ1~5により構成されている。ここではTSNハブ1~5は「gPTP」機能により時刻同期が可能であって、時分割スケジュールの必要な「gPTP」ポート1a~5bについてトラフィックスケジューリング機能によりパケットの送信方向A~D毎にゲートが設定されている。
【0024】
例えばTSNハブ1,3は、送信方向Aの送信パケットに対して「gPTP」ポート1a,3aにゲートが設定され、送信方向Bの送信パケットに対して「gPTP」ポート1b,3bにゲートが設定されている。
【0025】
TSNハブ4,5は、送信方向Cの送信パケットに対して「gPTP」ポート4a,5aにゲートが設定され、送信方向Dの送信パケットに対して「gPTP」ポート4b,5bにゲートが設定されている。
【0026】
TSNハブ2は、送信方向Aの送信パケットに対して「gPTP」ポート2aにゲートが設定され、送信方向Bの送信パケットに対して「gPTP」ポート2bにゲートが設定され、送信方向Cの送信パケットに対して「gPTP」ポート2cにゲートが設定され、送信方向Dの送信パケットに対して「gPTP」ポート2dにゲートが設定されている。
【0027】
このようなTSNハブ1~5の内部では、「gPTP」時刻同期で使用するタイマー(nsecまで表現可能)と、1カウントあたり「nsec(周期)」オーダーのカウンタを備えている。このタイマーとカウンタとを用いてゲート開始調整時間を算出し、算出されたゲート開始調整時間に基づき次のゲートの開始タイミング(時分割スケジュールの動作周期の開始タイミング)を設定する。以下、タイマーを「ToD」と示し、カウンタを「TC」と示し、ゲート設定の詳細を説明する。
【0028】
≪ゲート設定の処理内容≫
図2および
図3に基づきTSNハブ1~5におけるゲート設定の処理ステップ(S01~S09)を説明する。ここではTSNハブ1~5は、「gPTP」機能とトラフィックスケジューリング機能とが正常に動作している状態とする。
【0029】
S01:処理が開始されるとTSNハブ1~5は、自身のポート状態を調べてゲート設定が必要なポートの情報を取得する。例えばTSNハブ2であれば「gPTP」ポート2a~2dの情報を取得する。
【0030】
S02:S01で取得したポート情報に基づきゲート設定の対象ポートを選出する。例えばTSNハブ2については、「gPTP」ポート2a→2dの順に選出される。
【0031】
S03:S02で選出されたすべての対象ポート(例えばTSNハブ2であれば「gPTP」ポート2a~2d)についてゲート設定が完了しているか否かを確認する。確認の結果、完了していれば処理を終了する一方、完了していなければS04に進む。
【0032】
S04:ゲート処理(ゲート開閉)の開始タイミングを計るため、「gPTP」機能による時刻同期の影響を受けない「TC」により周期測定を行う。
【0033】
ここでは
図3に示すように、「TC」の周期測定が「0(nsec)」のとき、即ち「TC0(nsec)」のときにゲート処理を開始する(ゲートを開始する。)。例えばTSNハブ2の「gPTP」ポート2aが対象ポートであれば、「TC0(nsec)」のときに前記ポート2aのゲート処理を開始する。
【0034】
S05:「TC」が「任意のカウント数×T(nsec)」を経過した状態、即ち「TC1=T(nsec)」後、「gPTP」時刻同期している「ToD」の時刻「t1=HH:MM:SS.zzzzzzzzz」を収集する(
図3参照)。
【0035】
S06:S05で収集した時刻「t1」からS04のゲート開始時、即ち「TC0(nsec」のときの「ToD」の時刻「t2」を逆算する。
【0036】
図3に基づき詳細を説明すれば、まずTC間の差を算出するため、「TC1-TC0」の演算を実行する(S06-1)。つぎにS05で収集した「t1」からS06-1の演算結果を減算し(S06-2)、時刻「t2=HH:MM:SS.yyyyyyyyy」を算出(推定)する。
【0037】
S07:S06-1で算出した時刻「t2」に基づきゲート開始調整時間を算出する。このとき時刻「t3」を式(1)のとおりに定義する。
式(1):時刻「t3」=ゲート開始(ゲート開閉の開始)の時刻「t2」+1秒=HH:MM:SS+1.000000000
そして、時刻「t3」から時刻「t2」を減算することで両者「t2」・「t3」間のズレ、即ち「差分data(nsec)」を求める(S07-1)。また、「差分data(nsec)」をゲート周期(1msec)で除算し、剰余(余り)を求める(S07-2)。この剰余をゲート開始調整時間b(nsec)とする。
【0038】
S08:S07のゲート開始調整時間b(nsec)を事前に設定した実行閾値a(nsec)と比較する。比較の結果、ゲート開始調整時間b(nsec)が大きければS09に進む一方、そうでなければ処理を終了する。
【0039】
S09:次回のゲート開始のタイミングにおいて、ゲート開始調整時間b(nsec)分だけ待ってゲート処理を開始する設定に調整する。ここではゲートは、ゲート開始調整時間b(nsec)を設定する機能を備えているものとし、その設定後に処理を終了する。
【0040】
≪動作処理例≫
図4に基づき動作処理例を説明する。ここでは「TC」として125MHZの32ビットカウンタ[1カウント=8nsec(1000000000/125000000)]を使用し、前述と同じくゲート周期は「1msec」とする。
【0041】
(1)S04~S07
図4(a)に基づきS04~S07の動作処理例を説明する。ここではS04のゲート開始を「TC0=5 カウントX 8nsec=40(nsec)」のときに行っている。
【0042】
また、「TC1=1255 カウントX 8nsec=10040(nsec)」のときに、S05の「時刻t1=10:20:30.759004560」を収集している。
【0043】
ゲート開始調整時間b(nsec)の算出(S07)にあたって、事前にS06の時刻「t2」が逆算される。すなわち、TCの差「10040-40=10000nsec」が算出される(S06-1)。また、S05の「時刻t1=10:20:30.759004560」からTCの差「10000nsec」を減算し、「時刻t2=10:20:30:758994560」が算出される(S06-2)。
【0044】
その後、「時刻t2=10:20:30:758994560」に基づきゲート開始調整時間b(nsec)を算出する。このとき式(1)に従って時刻「t3=10:20:31.00000000」と定義される。また、
図4(a)中の式(2)に示すように、「差分data(nsec)=241005440(nsec)」が算出される(S07-1)。
【0045】
ここで算出された「差分data(nsec)」は、
図4(a)中の式(3)に示すように、ゲート周期(1msec=1000000nsec)で除算される。その際の剰余から「ゲート開始調整時間b(nsec)=5440(nsec)」が算出される(S07-2)。
【0046】
(2)S08,S09
図4(b)に基づきS08,S09の動作処理例を説明する。ここでは算出されたゲート開始調整時間b「5440(nsec)」を実行閾値a(nsec)と比較する(S08)。
【0047】
このとき矢印Pに示すように、「実行閾値a(nsec)=10000(nsec)」であれば、ゲート開始調整は行われない。一方、矢印Qに示すように、「実行閾値a(nsec)=5000(nsec)」であれば、S09に示すように、次回ゲート開始タイミングにおいてゲート開始調整時間「5440(nsec)」だけ待ってゲート処理の開始を実行する。これにより以下の効果A~Cが得られる。
【0048】
A:TSNハブ1~5に設定されたゲートの開始タイミングが、S09に示すように、事前にゲート開始調整時間b(nsec)に応じて調整される。これによりTSNハブ1~5間のゲート開始時を同調させ、そのバラツキを抑制することが可能となる。
【0049】
この場合、前述のように「gPTP」の時刻同期で使用しているToD時刻を取得する処理にはCPU負荷が加わるが、その処理はS05だけとし、その他のカウントに「TC」を使用することでCPU負荷を低減している。この点で時刻同期の精度への影響を減らし、時刻同期の精度向上を図っている。
【0050】
B:ゲート開始調整時間b(nsec)は、S08に示すように、実行閾値a(nsec)よりも大きい場合にゲート処理の開始タイミングの調整に用いられる。このようにゲート開始調整時間b(nsec)に実行閾値a(nsec)を設けることで想定した精度以上のTSNハブ1~5間のゲート処理の同調が可能となる。
【0051】
C:特許文献1は、時分割スケジュールをTSNハブ間の距離に応じてオフセットさせて調整している。ここではネットワークの末端のTSNハブから調査パケットを送信し、他のTSNハブの調査パケットの受信タイミングに応じてオフセットの値を調整している。
【0052】
したがって、特許文献1のオフセット値をゲート開始調整時間b(nsec)に適用することにより、さらにTSNハブ間のパケットの遅延分を考慮したゲート設定が可能となる。
【実施例0053】
図5~
図16に基づき実施例2を説明する。本実施例は、TSNハブの「IEEE802.1AS」を使って、TSNハブ間の「IEEE802.1Qbv」を高精度で同調させ、さらにTSNハブを介したサーバ・クライアント装置間の距離による遅延分の補正を「IEEE802.1Qbv」に対して施す。
【0054】
TSNハブは、前述のように「IEEE802.1AS(時刻同期)」と「IEEE802.1Qbv(時分割スケジュール)」の機能を持つ。例えば
図5に示すネットワーク例を想定する。
【0055】
図5中の1~3はTSNハブ(以下、ハブ1~3とする。)を示し、ハブ1~3を介してサーバと端末装置とが接続されている。また、
図5中では1台の端末装置のみが表されているが複数台の端末装置を接続されてもよく、サーバからの要求に対して端末装置からサーバへ定期的に情報(状態・音声・画像など)が転送されるものとする。この端末装置から送信される情報には、欠落が許されない重要な情報から状況に応じて欠落を問題としない画像情報なども含まれる。
【0056】
従来は、各ハブ1~3が時刻同期により同じタイミングで時分割すると、
図7に示すように、TSNハブ1から送信したパケットがTSNハブ2,3に到達するまでに伝送遅延により遅れて届く。これによりゲート開閉のタイミングが合わずにパケットが想定よりずれて送信され、最悪の場合にはパケットが欠落するおそれがある。
【0057】
そこで、特許文献1において、時分割によるスケジュールを伝送遅延分だけオフセットする方法が提案されている。このオフセットによれば、伝送遅延だけ遅れたタイミングでゲート開閉させることで長距離のシステムでTSNを動作させることが可能となる。
【0058】
ただし、STP(Spanning Tree Protocol)/RSTP(Rapid Spanning Tree Protocol)などの機能によりネットワーク形状または経路が変化すると、伝送遅延も変化するため、オフセットの値も変更しなければならない。
【0059】
ところが、伝送遅延の時刻同期パケットが往復しているため、オフセットの値の計算に時間を要し、処理が遅延するおそれがある。この点を解決すべく本実施例は、時分割スケジュールのオフセット値を簡単に取得可能な手法を提案する。
【0060】
≪動作・処理の内容≫
図5~
図8に基づき本実施例の動作・処理を説明する。ここではサーバなどが接続されるTSNハブをメインハブと呼び、ネットワークの末端のTSNハブをエッジハブと呼ぶ。
図5のネットワーク構成によれば、ハブ1がメインハブを示し、ハブ3がエッジハブを示している。
【0061】
(1)基本的な考え方
図6は、各ハブ1~3のTSNが有効なポート(実施例1の「gPTP」ポートと同義:以下、TSNポートとする。)に設定される時分割スケジュールのゲート設定(ゲート開閉の設定例)を示し、間隔A~E毎に通過させたいパケットの種別と通過時間とが設定されている。実施例1では、前記ゲート設定を時刻同期と同調させた状態で繰り返し実行している。
【0062】
図6で表現されているようにハブ1~3は、時刻同期の機能および時刻同期とゲートとを同調させる機能を有し、ハブ1~ハブ3のゲートはTSNポートに設定されたネットワークの幹線となる。ゲート開閉はパケット送信により行われ、
図7に示すように、ハブ1からハブ3のパケット送信にはゲート1,3が使用され、ハブ3からハブ1のパケット送信にはゲート2,4が使用される。
【0063】
このとき時刻同期により同じタイミングで各ゲートが開閉すると伝送距離によりパケットが遅れて届くため、時分割スケジュールが守れないおそれがある。例えば
図7では、ハブ1からハブ3へのパケット送信した場合に時刻B,Cに伝送遅延が生じている。
【0064】
前述のように特許文献1では、かかる伝送遅延を考慮して時分割スケジュールをオフセットしている。この方式は長距離のシステムの伝送遅延に応じた動作を可能にしているものの、ネットワーク形状または経路が変化したときにはオフセットを短時間に算出できない場合がある。
【0065】
そこで、本実施例では、
図8に示すように、ゲート設定の先頭に補正パケットの期間を追加し、補正パケットの通過時間に応じて時分割スケジュールをオフセットする。この補正パケットは、メインハブ(ハブ1)とエッジハブ(ハブ3)において、時分割スケジュールの補正パケットの期間中だけゲート開となって送信される。
【0066】
その結果、補正パケットは時刻同期と時分割スケジュールに従ったタイミングでハブ1,3から送信される。一方、中間のハブ2は、パケットを常時転送可能なため、補正パケットについても単純な転送処理を実行する。なお、
図8中のゲート間隔Sには、1パケット(補正パケット)だけ通過させる設定が施されている。
【0067】
このときネットワーク形状または経路が変化しても時刻同期は維持される一方、伝送経路により伝送遅延時間は変化する。そのため、ハブ2は、補正パケットを従来と異なるポートから受信することとなり、その受信タイミングを取得できれば伝送遅延を算出して新たなオフセットを適用することが可能となる。
【0068】
この点で特許文献1のように時刻同期によるパケットの往復を待つ必要が無く、ネットワーク形状または経路が変化してもオフセットを短時間に算出することができる。
【0069】
そして、メインハブ(ハブ1)から送信された補正パケットは、エッジハブ(ハブ3)まで到達して転送が終了する。一方、エッジハブ(ハブ3)から送信された補正パケットは、メインハブ(ハブ1)に到達すればアクセスリストなどの機能によりそこで終了される。このときネットワーク形状などによってはエッジハブが複数存在する場合があり、かかる場合にはメインハブに複数の補正パケットが合流する。
【0070】
(2)動作処理例
図9に基づき動作処理例を説明する。ここでは
図5に示すように、ハブ1~3がTSNポートで接続され、メインハブのハブ1が時刻同期のグランドマスター(GM)に該当し、ハブ2,3はハブ1に同期するスレーブに該当する。したがって、ハブ2,3のタイマー時刻(ToD時刻)は、時刻同期によりハブ1のToD時刻に一致する。
【0071】
S11:まず、ハブ1は自身のTSNポートからToD時刻(XX時ZZ分00.000000000秒)に補正パケットの期間をゲート開として、補正パケット(1581byte)をハブ3に送信する。
【0072】
ここではハブ1のゲート機能により「00.000000000秒」の送信時間と判定可能なものとし、ハブ1から送信された補正パケットを補正パケット1と呼び、補正パケット1を送信したToD時刻をToD時刻Aと呼び、補正パケット1はToD時刻Aを含めて送信される。なお、補正パケットのサイズは、「1581byte」に限定されず、他のサイズでもよいものとする。
【0073】
S12,S13:ハブ1の送信した補正パケット1は、ハブ2が受信してハブ3に転送する(S12)。すなわち、ハブ2の補正パケットの期間は常時ゲート開なため、ストアアンドファーワードにより転送される。
【0074】
このときハブ2は補正パケット1を受信したタイミングを取得できるので、ハブ2のタイマー時刻(ToD時刻)との差分から伝送遅延を取得してオフセット値に用いることができる。
【0075】
ここではハブ2で収集された補正パケット1を受信したToD時刻をToD時刻B(XX時ZZ分00.0000yyyyy秒)とする一方、ハブ2のTSNポートに補正パケット1が到着してToD時刻Bを収集するまでにかかった時間を「t1」とする。
【0076】
この場合、ハブ1からハブ2までの通過時間Bは、
図9中の式(4)に示すように、ToD時刻BからToD時刻Aおよび「t1」を減算した時間となる。式(4)により算出される通過時間Bは、ハブ1からハブ2までのパケットの遅延時間と等しくなるので、通過時間Bを次のハブ2のToD時刻とゲート3(エッジ側ポート)との同調時にゲート補正時間として加算する(S13)。これにより正確なゲート設定が可能となる。
【0077】
その後、補正パケット1は、ハブ3により受信される。ハブ3はエッジハブなので伝送遅延を算出する必要はない。
【0078】
S14~S16:つぎにハブ3は自身のTSNポートからToD時刻(XX時ZZ分00.00a000000秒)に補正パケットの期間をゲート開として、補正パケット(1581byte)をハブ1に送信する(S14)。
【0079】
ここではハブ3のゲート機能により「00.00000000秒」の送信時間と判定可能なものとし、ハブ3から送信された補正パケットを補正パケット2と呼び、補正パケット2を送信したToD時刻をToD時刻Cと呼び、補正パケット2はToD時刻Cを含めて送信される。
【0080】
ハブCの送信した補正パケット2は、ハブ2が受信してハブ1に転送し(S15)、S13と同様な処理が実行される。ここではハブ2で収集された補正パケット2を受信したToD時刻をToD時刻B´(XX時ZZ分00.00a0zzzzz秒)とする一方、ハブ2のTSNポートに補正パケット2が到着してToD時刻B´を収集するまでにかかった時間を「t2」とする。
【0081】
この場合、ハブ3からハブ2までの通過時間B´を
図9中の式(5)により算出し、通過時間B´を次のハブ2のToD時刻とゲート2(メイン側ポート)の同調時にゲート補正時間として加算する(S16)。
【0082】
(4)他の動作処理例
図10~
図12に基づき他の動作処理例を説明する。
図10は他のネットワーク構成例を示している。ここではハブ1がメインハブに該当し、ハブ5,7,8がエッジハブに該当し、ゲート2,4,6,8,9,10,12がメイン側ポートのゲートを示し、ゲート1,3,5,7,11がエッジ側ポートのゲートを示している。
【0083】
ハブ1は、
図11に示すように、エッジ側補正パケット(前述の補正パケット1に相当)をハブ5,7,8に送信する。このエッジ側補正パケットは、ハブ2~4,6により順次転送される。このときゲート1,3,5,7,11にハブ2~4,6の通過時間が加算され、エッジ側ポートのゲート補正が施される。
【0084】
一方、ハブ5,7,8は、
図12に示すように、メイン側補正パケット(前述の補正パケット2に相当)をハブ1に送信する。このメイン側補正パケットは、ハブ2~4,6により順次転送される。
【0085】
このときハブ2はハブ3,6のメイン側ゲート4,10の補正が重複し、ハブ4はハブ5,7のメイン側ゲート8,9の補正が重複する。このようにメイン側ポートのゲート補正の経路が重複する場合には、通過時間の長い方の時間をオフセット値として採用する。
【0086】
≪詳細な処理内容≫
図13に基づきゲート補正の詳細な処理内容を説明する。ここでは事前に以下のデータをコマンドにより入力し、ゲート補正情報ファイルに書き込んでおくものとする。
・エッジ遅延番号
・メインフラグ
・エッジフラグ
・TSNを動作させるTSNポートの番号(以下、TSNポート番号とする。)
S21:処理の開始時にゲート補正情報ファイルを読み込む。これによりエッジ遅延番号・メインフラグ・エッジフラグ・TSNポート番号が内部データとしてTSNハブにセットされる。なお、メインフラグはメインハブにセットされる一方、エッジフラグはエッジハブにセットされるものとする。
【0087】
S22~S27:TSNポートについてゲート補正パケット用のゲートを設定する(S22)。その後にエッジ側補正パケットを受信したか否かを確認する(S23)。確認の結果、エッジ側補正パケットを受信していればS24のエッジ側補正パケット受信時処理に進む。
【0088】
受信していなければS25に進む。S25では、メイン側補正パケットを受信したか否かを確認する。確認の結果、メイン側補正パケットを受信していれば、S26のメイン側補正パケット受信時処理に進む。一方、受信していなければ、S27のゲート補正パケット送信時処理に進む。
【0089】
(1)ゲート補正パケット送信時処理の詳細
図14に基づきS27のゲート補正パケット送信時処理の詳細を説明する。ここではメインハブとエッジハブとで処理内容が相違する。
【0090】
S31:処理が開始されると、自身がメインハブか否かが確認される。この確認はメインフラグのセットの有無により行われ、メインフラグがセットされていればメインフラグに該当し、S32以降の処理に進む。一方、メインフラグがセットされていなければ、メインハブに該当しなく、S36以降の処理に進む。
【0091】
S32~S35:タイマーから時刻同期の時刻(ToD時刻)を取得する(S32)。ここで取得したToD時刻から次の1秒までの残り時間を算出し(S33)、算出された残り時間がゲート周期以下か否かを確認する(S34)。
【0092】
確認の結果、ゲート周期以下でなければ処理を終了する。一方、ゲート周期以下であれば、S21で読み込まれたTSNポート番号のTSNポートからエッジ側補正パケットを送信し(S35)、処理を終了する。
【0093】
S36:自身がエッジハブか否かが確認される。この確認はエッジフラグのセットの有無により行われ、エッジフラグがセットされていなければ処理を終了する一方、セットされていればS37以降の処理に進む。
【0094】
S37~S42:メイン側補正パケットを受信済みか否かが確認される(S37)。この確認は、メイン側補正パケットの受信済みフラグが立っているか否かによって確認される(S38)。この受信済みフラグが立っていなければメイン側補正パケットの未受信なため、処理を終了する。一方、前記受信済みフラグが立っていれば、メイン側補正パケットを受信済みなため、S39に進む。
【0095】
S39では、エッジ側補正パケットの衝突を避けるためエッジ遅延時間(エッジ遅延番号×ゲート周期)が待ちタイマーにセットされる。その後、S39でセットされた遅延時間が経過したか否かが確認される(S40)。
【0096】
確認の結果、時間が経過していなければ処理を終了する一方、経過していればS21で読み込まれたTSNポート番号のTSNポートからメイン側補正パケットを送信する(S41)。この送信後にエッジ側補正パケットの受信済みフラグをクリアにし(S42)、処理を終了する。
【0097】
(2)エッジ側補正パケット受信時処理の詳細
図15に基づきS24のエッジ側補正パケット受信時処理の詳細を説明する。
【0098】
S51:処理が開始されると、自身がメインハブに該当するか否かが確認される。この確認はメインフラグのセットの有無により行われ、メインフラグがセットされていれば処理を終了する一方、メインフラグがセットされていなければS52に進む。
【0099】
S52:自身がエッジハブに該当するか否かが確認される。この確認はエッジフラグのセットの有無により行われ、エッジフラグがセットされていればエッジ側補正パケットの受信済みフラグをセットし(S59)、処理を終了する。一方、前記エッジフラグがセットされていなければS53以降の処理に進む。
【0100】
S53~S58:まず、エッジ側補正パケットの受信ポートをメイン側補正パケットの送信ポートとして保存する(S53)。つぎにタイマーから時刻同期の時刻(ToD時刻)を取得し(S54)、時刻同期のタイムスタンプ機能を使ってエッジ側補正パケットのポート受信からの経過時間「t1」を取得する(S55)。
【0101】
この経過時間「t1」の取得後、式(4)によりゲート補正時間を算出する(S56)。また、エッジ側ポート番号とTSNポート番号に基づきエッジ側補正パケットを受信したポート以外のエッジ側ポートの情報を取得する(S57)。
【0102】
ここで取得した情報のTSNポートをゲート補正ポートと呼ぶ。この補正ポートについて次回のゲート同調にゲート補正時間を加算し(S58)、その後に処理を終了する。
【0103】
(3)メイン側補正パケット受信時処理の詳細
図16に基づきS26のメイン側補正パケット受信時処理の詳細を説明する。
【0104】
S61:処理が開始されると、自身がメインハブに該当するか否かが確認される。この確認はメインフラグのセットの有無により行われ、メインフラグがセットされていれば処理を終了する一方、メインフラグがセットされていなければS62に進む。
【0105】
S62:自身がエッジハブに該当するか否かが確認される。この確認はエッジフラグのセットの有無により行われ、エッジフラグがセットされていれば処理を終了する一方、セットされていなければS63以降の処理に進む。
【0106】
S63~S66:まず、タイマーから時刻同期の時刻(ToD時刻)を取得し(S63)、時刻同期のタイムスタンプ機能を使ってメイン側補正パケットのポート受信からの経過時間「t2」を取得する(S64)。
【0107】
この経過時間「t2」の取得後、式(5)によりゲート補正時間を算出する(S65)。また、メイン側ポート番号を取得して次回のメイン側ポートのゲート同調時にゲート補正時間を加算し(S66)、その後に処理を終了する。
【0108】
このような本実施例によれば、時分割スケジュールのオフセット値を算出するに際、「t1」「t2」をタイムスタンプ機能から取得可能なため、式(4)(5)を用いて簡単に計算することができる。
【0109】
とりわけ、既に時刻同期の状態にあればネットワークの形状や経路がSTP/RSTPなどの機能によって変化しても、時分割スケジュールのオフセット値は補正パケットの受信タイミングを取得すればよく、短時間での算出が可能となる。
【0110】
また、ネットワークの形状やTSNハブの台数などに影響を受けることなく、複雑なネットワーク構成でもサーバなどのデータ収集時に効率の良いオフセット値を算出することができる。
【0111】
例えば
図10のネットワーク構成においても、
図11および
図12のように正確なゲート補正が可能となる。これによりメインハブ(ハブ1)にサーバが接続され、かつエッジハブ(ハブ5,7,8)に端末装置が接続された場合、サーバ・端末装置間で送信される他のパケットを一定量だけ安定に転送しつつ、重要パケットをロスすることなく送信可能となる。
【0112】
なお、本実施例では時分割スケジュールのゲート設定は必要であるが、ネットワークの形状または経路が変化してもオフセット値は自動設定するので、設定作業が省略することができる。