IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新華三技術有限公司の特許一覧

特表2024-520147決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法及び装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法及び装置
(51)【国際特許分類】
   H04L 43/20 20220101AFI20240514BHJP
【FI】
H04L43/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023574659
(86)(22)【出願日】2021-12-29
(85)【翻訳文提出日】2023-12-04
(86)【国際出願番号】 CN2021142638
(87)【国際公開番号】W WO2023123105
(87)【国際公開日】2023-07-06
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(74)【代理人】
【識別番号】100230086
【弁理士】
【氏名又は名称】譚 粟元
(72)【発明者】
【氏名】郭 道栄
(57)【要約】
本発明は、決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法及び装置を提供する。本発明では、決定論的ネットワークの伝送経路上の最初のノードについて、テストパケットを受信した最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした最初のノードの送信タイムスタンプとに基づいて、最初のノードのCSQFスケジューリングサイクル情報を決定し、非最初のノードについて、伝送経路上の当該非最初のノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、当該非最初のノードに対応するテストパケットが伝送経路上の当該非最初のノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キューRQに入るように制御し、テストパケットを受信した当該非最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした当該非最初のノードの送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する。最終的に、完全な伝送経路上の各伝送ノードのCSQFスケジューリングサイクル情報の収集が実現される。
【選択図】図1
【特許請求の範囲】
【請求項1】
決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法であって、SDNコントローラによって実行され、
前記決定論的ネットワークの伝送経路上の各伝送ノードについて、
前記伝送ノードが前記伝送経路上の最初のノードである場合、前記伝送ノードに対応するテストパケットを作成して前記伝送ノードに送信し、前記テストパケットを受信した前記伝送ノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定し、
前記伝送ノードが前記伝送経路上の最初のノードでない場合、前記伝送ノードに対応するテストパケットを作成し、前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御し、前記テストパケットを受信した前記伝送ノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした前記伝送ノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップを含む、
ことを特徴とする決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法。
【請求項2】
前記伝送ノードに対応するテストパケットの総数Nは、前記伝送ノードが有する、CSQFにより実現されるキューの総数である、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記伝送ノードに対応するN個のテストパケットは、それぞれ前記伝送ノードのN個のキューに入るように指定される、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの送信タイムスタンプに基づいて、第1のターゲットテストパケットを決定するステップであって、前記第1のターゲットテストパケットの送信タイムスタンプは、他のテストパケットの送信タイムスタンプより遅いものであり、あるいは、前記第1のターゲットテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差は、他のテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差より大きいものである、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの受信タイムスタンプに基づいて、第2のターゲットテストパケットを決定するステップであって、前記第2のターゲットテストパケットの受信タイムスタンプは、他のテストパケットの受信タイムスタンプより早いものである、ステップと、
t2A[p]>t1A[q]+Loop*Tを満たすループ変数値Loopを決定するステップであって、t2A[p]は、前記第1のターゲットテストパケットの送信タイムスタンプを表し、t1A[q]は、前記第2のターゲットテストパケットの受信タイムスタンプを表し、Tは、1つのCSQFスケジューリングサイクルの時間長である、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプ、前記第2のターゲットテストパケットの受信タイムスタンプ、及び前記Loopに基づいて、前記CSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記CSQFスケジューリングサイクル情報は、少なくともサイクル開始時刻、送信キュー(SQ)識別子、及び受信キュー(RQ)識別子を含み、
前記サイクル開始時刻は、前記第2のターゲットテストパケットを受信したときに前記伝送ノードが位置するターゲットCSQFスケジューリングサイクルの開始時刻であり、t2A[p]-Loop*Tで表され、
前記SQ識別子は、前記ターゲットCSQFスケジューリングサイクルで、送信されるようにスケジューリングされているキューのキュー識別子を示すために用いられ、(p-1+N-Loop)modN+1で表され、前記pは、前記第2のターゲットテストパケットのシーケンス番号であり、
前記RQ識別子は、前記ターゲットCSQFスケジューリングサイクルの次のCSQFスケジューリングサイクルで送信されるようにスケジューリングされるキューのキュー識別子を示すために用いられ、(p+N-Loop)modN+1で表される、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御するステップは、
前記伝送経路上の前記伝送ノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信するステップと、を含む、
ことを特徴とする請求項1~6のいずれか一項に記載の方法。
【請求項8】
当該方法を実行する前に、
前記伝送経路上の少なくとも1つの伝送ノードに対して時間調整を行うことにより、前記伝送経路上のすべての伝送ノード間の時刻同期を制御するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法であって、前記決定論的ネットワークの伝送経路上の最初のノードによって実行され、
前記最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記最初のノードに対応するテストパケットを作成し、前記テストパケットを作成したタイムスタンプを前記テストパケットの受信タイムスタンプとし、前記テストパケットの受信タイムスタンプと前記テストパケットを送信するようにスケジューリングした送信タイムスタンプとに基づいて、前記最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、
前記伝送経路上の非最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記非最初のノードに対応するテストパケットを作成し、前記伝送経路上の前記非最初のノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記非最初のノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信し、前記テストパケットを受信した前記非最初のノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした前記非最初のノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記非最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法。
【請求項10】
電子デバイスであって、プロセッサと、機械可読記憶媒体とを含み、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、
前記プロセッサは、請求項1~9のいずれか一項に記載の方法を実施するように機械実行可能命令を実行するために用いられる、ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はネットワーク通信技術の分野に関し、特に、決定論的ネットワークに適用されるセグメントルーティングに基づいてサイクル指定キューイングと転送(CSQF:Cycle SpecifiedQueuing andForwarding)スケジューリングサイクルの収集を実現する方法及び装置に関する。
【背景技術】
【0002】
決定論的ネットワーク(DetNet:Deterministic Network)は、ネットワークドメインにおいてベアラサービスに対して決定論的サービス機能を提供することができる。これらの決定論的サービス機能は、遅延、パケット損失率などを含み得る。
【0003】
決定論的ネットワークでは、広域ネットワークの決定論的伝送を実現するために、サイクリックキューイングと転送(CQF:Cyclic Queuing andForwarding)に基づいてCSQFが提案されている。CSQFは、少なくとも3つのキュー(CSQ:Cycle SpecifiedQueue、サイクル指定キューとも呼ばれる)を実現している。各CSQFスケジューリングサイクルにおいて、1つのキューのみが送信状態にあり、送信キュー(SQ:Sending Queue)と呼ばれ得、残りの少なくとも1つのキューが受信状態にあり、受信キュー(RQ:Receiving Queue)と呼ばれる。
【0004】
決定論的ネットワークでは、パケットの決定論的伝送を実現するために、各伝送ノードのCSQFスケジューリングサイクルを知る必要がある。これにより、パケットが各伝送ノードに到達したときに、各伝送ノードが送信しているキュー(SQ)や受信しているキュー(RQ)をタイムリーに知ることができる。しかし、現在、CSQFスケジューリングサイクルの開始時刻など、各伝送ノードのCSQFスケジューリングサイクル情報をタイムリーに取得する方法はない。
【発明の概要】
【0005】
本発明の実施形態は、決定論的ネットワークにおける伝送ノードのCSQFスケジューリングサイクルの収集を実現するために、決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法を提供する。
【0006】
本発明の実施形態は、決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法を提供し、当該方法は、SDNコントローラによって実行され、
前記決定論的ネットワークの伝送経路上の各伝送ノードについて、
前記伝送ノードが前記伝送経路上の最初のノードである場合、前記伝送ノードに対応するテストパケットを作成して前記伝送ノードに送信し、テストパケットを受信した前記伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定し、
前記伝送ノードが前記伝送経路上の最初のノードでない場合、前記伝送ノードに対応するテストパケットを作成し、前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御し、テストパケットを受信した前記伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした前記伝送ノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップを含む。
【0007】
本発明の実施形態は、決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法を提供し、当該方法は、前記決定論的ネットワークの伝送経路上の最初のノードによって実行され、
前記最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記最初のノードに対応するテストパケットを作成し、テストパケットを作成したタイムスタンプをテストパケットの受信タイムスタンプとし、テストパケットの受信タイムスタンプとテストパケットを送信するようにスケジューリングした送信タイムスタンプとに基づいて、前記最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、
前記伝送経路上の非最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記非最初のノードに対応するテストパケットを作成し、前記伝送経路上の前記非最初のノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記非最初のノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信し、テストパケットを受信した前記非最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした前記非最初のノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記非最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む。
【0008】
本発明の実施形態はさらに、電子デバイスを提供し、当該電子デバイスは、プロセッサと、機械可読記憶媒体とを含み、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、
前記プロセッサは、上記方法のステップを実施するように機械実行可能命令を実行するために用いられる。
【発明の効果】
【0009】
以上の技術的解決手段からわかるように、本発明の実施形態では、伝送経路上の各伝送ノードについて、伝送ノードに対応するテストパケットを作成し、テストパケットを受信した伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした伝送ノードの送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定することにより、決定論的ネットワークにおけるCSQFスケジューリングサイクルの収集を実現する。
【0010】
さらに、本発明の実施形態では、テスト対象の伝送ノードが伝送経路上の最初のノードでない場合、伝送ノードに対応するテストパケットを作成し、伝送経路上の伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、伝送ノードに対応するテストパケットが伝送経路上の伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キューRQに入るように制御する。これにより、テストパケットが最初のノードの指定されたキューに入ることを実現し、CSQFスケジューリングサイクルの収集精度を確保し、その後のパケットの転送を容易にすることができる。
【図面の簡単な説明】
【0011】
ここで説明される添付図面は、明細書に組み込まれ、本明細書の一部を構成し、本発明に適合する実施例を示し、本明細書と併せて本発明の原理を説明する。
【0012】
図1】本発明の実施形態による方法のフローチャートである。
図2】本発明の実施形態によるネットワークを示す概略図である。
図3a】本発明の実施形態によるパケットスケジューリングを示す概略図である。
図3b】本発明の実施形態によるパケットスケジューリングを示す概略図である。
図3c】本発明の実施形態によるパケットスケジューリングを示す概略図である。
図4a】本発明の実施形態による別のパケットスケジューリングを示す概略図である。
図4b】本発明の実施形態による別のパケットスケジューリングを示す概略図である。
図5】本発明の実施形態によるCSQFスケジューリングサイクル情報を決定するフローチャートである。
図6】本発明の実施形態によるテストパケットが指定されたキューに入るように制御するフローチャートである。
図7】本発明の実施形態によるネットワークを示す概略図である。
図8】本発明の実施形態によるCSQFスケジューリングサイクル情報を決定する概略図である。
図9】本発明の実施形態による別のCSQFスケジューリングサイクル情報を決定する概略図である。
図10】本発明の実施形態による決定論的ネットワークにおける伝送ノードの内部処理を示す概略図である。
図11】本発明の実施形態による異なる伝送ノード間のパケット処理を示す概略図である。
図12】本発明の実施形態によるPTP計算方法を示す概略図である。
図13】本発明の実施形態による別の方法のフローチャートである。
図14】本発明の実施形態による装置の構造図である。
図15】本発明の実施形態による別の装置の構造図である。
図16】本発明の実施形態による電子デバイスの構造図である。
【発明を実施するための形態】
【0013】
本明細書では、添付図面に示す実施例について詳細に説明する。以下の説明が添付図面に言及している場合、異なる図面における同様の数字は、特に断らない限り、同じ又は類似の要素を指す。以下の実施例に記載される実施形態は、本発明と一致するすべての実施形態を表すものではない。むしろ、それらは、添付の特許請求の範囲に詳述されているような、本発明のいくつかの態様と一致する装置及び方法の例に過ぎない。
【0014】
本発明において使用される用語は、特定の実施例を説明するためのものであり、本発明を限定することを意図するものではない。本発明の実施形態及び添付の特許請求の範囲において使用される単数形の「1つ」、「前記」及び「当該」は、文脈が他の意味を明確に示さない限り、複数形も含むことも意図される。
【0015】
当業者が本発明の実施形態により提供される技術案をよりよく理解し、本発明の実施形態の上述の目的、特徴及び利点をより理解しやすくするために、以下、添付図面を合わせて本発明の実施形態における技術案をさらに詳細に説明する。
【0016】
図1は、本発明の実施形態による方法のフローチャートである。当該方法はSDNコントローラに適用される。
【0017】
図1に示すように、当該方法は以下のステップを含み得る。
【0018】
ステップ101において、決定論的ネットワークの伝送経路 上の各伝送ノードについて、前記伝送ノードが前記伝送経路上の最初のノードである場合、ステップ102を実行し、前記伝送ノードが前記伝送経路上の最初のノードでない場合、ステップ103を実行する。
【0019】
なお、本実施形態において、伝送経路は任意に設定することができ、特に限定されない。図2は、伝送経路上に2つの伝送ノードA、Bを有する場合を例に、図1の方法を適用したネットワーク構造を示す図である。図2に示す伝送経路A->Bに基づいて、伝送ノードAに対してステップ102が実行され、伝送ノードBに対してステップ103が実行される。なお、図2に示す伝送経路A->Bは、理解を容易にするための例示に過ぎず、限定を意図するものではない。
【0020】
ステップ102において、伝送ノードに対応するテストパケットを作成して伝送ノードに送信し、テストパケットを受信した伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした伝送ノードの送信タイムスタンプとを取得し、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する。
【0021】
本実施形態において、作成された伝送ノードに対応するテストパケットの総数Nは、伝送ノードが有する、CSQFにより実現されるキューの総数である。
【0022】
また、本実施形態では、伝送ノードに対応するN個のテストパケットがそれぞれ伝送ノードのN個のキューに入るように指定することで、異なるテストパケットが異なるキューに入ることを保証してもよい。言い換えれば、本実施形態では、各テストパケットに、指定された当該テストパケットが入るキューの識別子を付加してもよい。例えば、シーケンス番号0のテストパケットはシーケンス番号0のキューに入り、シーケンス番号1のテストパケットはシーケンス番号1のキューに入る。
【0023】
これに基づいて、伝送ノードがテストパケットを受信した後、付加されているキューの識別子に基づいて、テストパケットを対応するキューに格納し、最終的に、N個のテストパケットがそれぞれ伝送ノードのN個のキューに入ることを実現する。
【0024】
なお、本実施形態では、伝送ノードがテストパケットを受信したとき、テストパケットを受信したタイムスタンプ(受信タイムスタンプと記す)を記録する。その後、受信タイムスタンプを上記SDNコントローラに報告する。本実施形態において、異なるテストパケットの受信タイムスタンプは同じであっても異なっていてもよく、特に限定されない。
【0025】
また、本実施形態では、伝送ノードはCSQFスケジューリングサイクルに従ってキューを順番にスケジューリングして、キュー内のテストパケットを送信する。これに基づいて、伝送ノードは、テストパケットを送信するとき、テストパケットを送信したタイムスタンプ(送信タイムスタンプと記す)を記録する。その後、受信タイムスタンプを上記SDNコントローラに報告する。本実施形態において、異なるテストパケットの送信タイムスタンプは同じであっても異なっていてもよく、特に限定されない。
【0026】
また、本実施形態では、送信タイムスタンプ及び受信タイムスタンプは、一緒に上記SDNコントローラに報告されてもよく、別々に上記SDNコントローラに報告されてもよく、特に限定されない。
【0027】
ステップ102で説明したように、上記SDNコントローラは、テストパケットを受信した伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした伝送ノードの送信タイムスタンプとを取得した後、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する。なお、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクルを決定する方法については、後に詳述するので、ここでは説明を省略する。
【0028】
ステップ103において、伝送ノードに対応するテストパケットを作成し、伝送経路上の伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、伝送ノードに対応するテストパケットが伝送経路上の伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードのRQに入るように制御し、テストパケットを受信した伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした伝送ノードの送信タイムスタンプとを取得し、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する。
【0029】
本実施形態では、伝送経路上の伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、伝送ノードに対応するテストパケットが伝送経路上の伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードのRQに入るように指定することで、最終的に、伝送ノードに対応するテストパケットが伝送経路上の伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードのRQに入ることを実現する。
【0030】
なお、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する方法については、後に詳述するので、ここでは説明を省略する。
【0031】
ここまで、図1に示すプロセスが完了する。図1に示すプロセスにより、完全な伝送経路上の各伝送ノードのCSQFスケジューリングサイクル情報の収集が実現される。
【0032】
以下、上記ステップ102又はステップ103において、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクルを決定する方法について説明する。
【0033】
オプションで、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定する方法の理解を容易にするために、まずCSQFスケジューリングサイクル情報に関係する原理を説明する。
【0034】
図2に示すネットワークを例として、図2に示す各伝送ノードがCSQFに基づいて3つのキューを確立していると仮定し、当該3つのキューをそれぞれQ1、Q2、Q3と記す。以下、使用する記号について説明する。
【0035】
1)、i、j、kはそれぞれ3つのテストパケットのシーケンス番号である。オプションで、i、j、kは連続する。例えば、i+1=j、j+1=kである。シーケンス番号iのテストパケットをパケットi、シーケンス番号jのテストパケットをパケットj、シーケンス番号kのテストパケットをパケットkと記す。
【0036】
2)、t1A[i]は伝送ノードに到達したパケットiのタイムスタンプ(すなわち、受信タイムスタンプ)を表し、txA[i]はパケットiが送信されるようにスケジューリングされたタイムスタンプ(すなわち、スケジューリングタイムスタンプ)を表し、t2A[i]はパケットiが送信されたタイムスタンプ(すなわち、送信タイムスタンプ)を表し、t1A[j]は伝送ノードに到達したパケットjのタイムスタンプ(すなわち、受信タイムスタンプ)を表し、txA[j]はパケットjが送信されるようにスケジューリングされたタイムスタンプ(すなわち、スケジューリングタイムスタンプ)を表し、t2A[j]はパケットjが送信されたタイムスタンプ(すなわち、送信タイムスタンプ)を表し、t1A[k]は伝送ノードに到達したパケットkのタイムスタンプ(すなわち、受信タイムスタンプ)を表し、txA[k]はパケットkが送信されるようにスケジューリングされたタイムスタンプ(すなわち、スケジューリングタイムスタンプ)を表し、t2A[k]はパケットkが送信されたタイムスタンプ(すなわち、送信タイムスタンプ)を表す。
【0037】
図2に示す伝送経路A->Bを例に、図3a~図3cは、パケットi、パケットj、及びパケットkが、いずれも伝送ノードAの同じCSQFスケジューリングサイクル(Cycle 1と記す)内に伝送ノードAに到達し、到達時刻がCycle 1の境界を越えていないことを示している。
【0038】
図3aを例として、伝送ノードAがCycle 1でQ1をスケジューリングしていると仮定する。パケットiがQ1に入るように指定される場合、パケットiが伝送ノードAに到達すると、Q1がスケジューリングされているので、パケットiはCycle 1ですぐに送信されるようにスケジューリングする。理想的には、txA[i]とt2A[i]はCycle 1で完了する。
【0039】
図3aにおいて、Cycle 1で伝送ノードAによって受信されたパケットjとパケットkは、それぞれQ2とQ3に入る。Cycle 2の開始時に、Q2がスケジューリングされ、パケットjはCycle 2の開始直後に送信されるようにスケジューリングされる。したがって、txA[j]とt2A[j]はCycle 2の開始時刻に近い。同様に、Cycle 3の開始時に、Q3がスケジューリングされ、パケットkがCycle 2の開始直後に送信されるようにスケジューリングされる。また、txA[k]とt2A[k]はCycle 3の開始時刻に近い。図3b及び図3cは、図3aに類似している。これらの違いは、主に、テストパケットが到達したときにスケジューリングされているキューが異なることにある。
【0040】
図3a~図3cによれば、以下の結論が得られる。
【0041】
1)、任意のテストパケットについて、txA[i]、txA[j]、txA[k]などの当該テストパケットのスケジューリングタイムスタンプ(txA)を直接取得することはできないが、txAと当該テストパケットの送信タイムスタンプ(t2A)との間隔は非常に小さく、相対的に確実であるため、テストパケットの送信タイムスタンプt2AでスケジューリングタイムスタンプtxAを近似的に置き換えることができる。
【0042】
2)、最も早く受信したテストパケット(すなわち、受信タイムスタンプが最も早いテストパケット)について、当該テストパケットの送受信が同じCSQFスケジューリングサイクル内で完了した場合、最も遅い受信タイムスタンプ(すべてのテストパケットの受信タイムスタンプのうち最も遅いタイムスタンプ)から2つのCSQFスケジューリングサイクル前に戻す時刻が、最も早い送信タイムスタンプ(すべてのテストパケットの送信タイムスタンプのうち最も早いタイムスタンプ)が位置するCSQFスケジューリングサイクルの開始時刻を近似することができる。例えば、図3aにおいて、最も遅い送信タイムスタンプはt2A[k]であり、最も早い受信タイムスタンプはt1A[i]である。上記の結論によれば、最も早い受信タイムスタンプt1A[i]が位置するCSQFスケジューリングサイクルの開始時刻は、およそt2A[k]-2Tである。これに対応して、パケットiを受信したときのCSQFスケジューリングサイクルのオフセットは、約t2A[i]-(t2A[k]-2T)と計算されてもよい。Tは1つのCSQFスケジューリングサイクルの時間長であり、例えば10usである。
【0043】
なお、図3a~図3cは、理想的な状況(すなわち、伝送ノードがテストパケットを受信した時刻がCSQFスケジューリングサイクルの境界を越えていない)における適用を示す。しかし、いくつかの特別な状況には、図4a~図4bに示すように、伝送ノードがテストパケットを受信した時刻がCSQFスケジューリングサイクルの境界を越える状況がある。図4aを例にとると、伝送ノードAは、Cycle n+1スケジューリングサイクルの終了間際にパケットiを受信し、処理遅延やわずかなジッタのため、パケットiはCycle n+1スケジューリングサイクルで送信されるようにスケジューリングされることがある。また、図4bに示すように、パケットiは、Cycle n+4スケジューリングサイクルで送信されるようにスケジューリングされることもある。しかし、図3a~図3cに示す理想的な状況であろうと、図4a~図4bに示す特別な状況であろうと、最も遅い送信タイムスタンプ(すべてのテストパケットの送信タイムスタンプのうち最も遅いタイムスタンプ)は、あるCSQFスケジューリングサイクルの開始時刻を近似することができる。このCSQFスケジューリングサイクルが具体的にどのCSQFスケジューリングサイクルなのかは不明であるが、1つのCSQFスケジューリングサイクルの開始時刻であることには違いない。
【0044】
最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似しているという上記の結論に基づいて、受信タイムスタンプと送信タイムスタンプとに基づいて、以下、伝送ノードのCSQFスケジューリングサイクル情報を決定する方法について説明する。
【0045】
図5は、本発明の実施形態による受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報を決定するフローチャートである。図5に示すように、当該プロセスは、以下のステップを含み得る。
【0046】
ステップ501において、すべてのテストパケットの送信タイムスタンプに基づいて、第1のターゲットテストパケットを決定する。
【0047】
オプションで、1つの実施形態として、本実施形態では、第1のターゲットテストパケットの送信タイムスタンプは、他のテストパケットの送信タイムスタンプより遅いものである。すなわち、第1のターゲットテストパケットは、すべてのテストパケットのうち最も遅く送信されるテストパケットである。
【0048】
オプションで、別の実施形態として、本実施形態では、第1のターゲットテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差は、他のテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差より大きいものである。つまり、第1のターゲットテストパケットは、すべてのテストパケットのうち送信タイムスタンプと受信タイムスタンプとの間の時間差が最も大きいテストパケットである。
【0049】
ステップ502において、第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、伝送ノードのCSQFスケジューリングサイクル情報を決定する。
【0050】
オプションで、本実施形態において、ステップ502は、以下のステップによって実現されてもよい。
【0051】
ステップa1において、すべてのテストパケットの受信タイムスタンプに基づいて、第2のターゲットテストパケットを決定する。
【0052】
オプションで、本実施形態では、第2のターゲットテストパケットの受信タイムスタンプは、他のテストパケットの受信タイムスタンプより早いものである。すなわち、第2のターゲットテストパケットは、最も早く受信されるテストパケットである。
【0053】
ステップa2において、t2A[p]>t1A[q]+Loop*Tを満たすループ変数値Loopを決定する。
ここで、t2A[p]は、第1のターゲットテストパケットの送信タイムスタンプを表し、t1A[q]は、第2のターゲットテストパケットの受信タイムスタンプを表し、Tは、1つのCSQFスケジューリングサイクルの時間長であり、例えば10usである。ここで、決定されたLoopは、上式を満たす最小のLoopであってもよい。
【0054】
ステップa3において、第1のターゲットテストパケットの送信タイムスタンプ、第2のターゲットテストパケットの受信タイムスタンプ、及び上記Loopに基づいて、CSQFスケジューリングサイクル情報を決定する。
【0055】
オプションで、本実施形態において、CSQFスケジューリングサイクル情報は、少なくとも以下を含み得る。
【0056】
1)、サイクル開始時刻:
本実施形態において、サイクル開始時刻は、第2のターゲットテストパケットを受信したときに伝送ノードが位置するターゲットCSQFスケジューリングサイクルの開始時刻である。
上述したように、最も遅く送信されるテストパケットの送信タイムスタンプは、CSQFスケジューリングサイクルの開始時刻と近似され、すなわち、t2A[p]は、あるCSQFスケジューリングサイクルの開始時刻である。これに基づいて、上記サイクル開始時刻は、t2A[p]-Loop*Tであってもよい。
【0057】
2)、SQ識別子:
本実施形態において、SQ識別子は、上記ターゲットCSQFスケジューリングサイクルで送信されるようにスケジューリングされているキューのキュー識別子を示すために用いられる。
オプションで、本実施形態において、SQ識別子は、(p-1+N-Loop)modN+1で表され、pは、第2のターゲットテストパケットのシーケンス番号である。
【0058】
3)、RQ識別子:
本実施形態において、RQ識別子は、ターゲットCSQFスケジューリングサイクルの次のCSQFスケジューリングサイクルで送信されるようにスケジューリングされるキューのキュー識別子を示すために用いられる。
オプションで、本実施形態において、RQ識別子に対応するキューは、上記ターゲットCSQFスケジューリングサイクルにおいて受信状態にある。伝送ノードが順番にキューをスケジューリングすると仮定すると、RQ識別子に対応するキューは、上記SQ識別子に対応するキューの次のキューであってもよい。
オプションで、本実施形態において、RQ識別子は(p+N-Loop)modN+1で表される。
【0059】
もちろん、一実施例において、上記CSQFスケジューリングサイクル情報は、シーケンス番号qなどの第2のターゲットテストパケットのパケット識別子、第2のターゲットテストパケットの受信タイムスタンプt1A[q]、シーケンス番号pなどの第1のターゲットテストパケットのパケット識別子、及び第1のターゲットテストパケットの送信タイムスタンプt2A[p]などを含んでもよく、本実施形態において特に限定されない。
【0060】
ここまで、図5に示すプロセスが完了する。
【0061】
図5に示すプロセスにより、受信タイムスタンプと送信タイムスタンプとに基づいて、伝送ノードのCSQFスケジューリングサイクル情報の決定が実現される。
【0062】
本実施形態では、図2に示す伝送ノードAのような伝送経路上の最初のノードについて、図5に示す方法により、最終的に伝送ノードAのような最初のノードのCSQFスケジューリングサイクル情報を取得する。また、伝送経路上の最初のノードの後にある伝送ノードについて、伝送経路上の当該伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、伝送ノードに対応するテストパケットが伝送経路上の伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードのRQに入るように制御する必要がある。以下、その実施方法について具体的に説明する。
【0063】
図6は、本発明の実施形態によるテストパケットが指定されたキューに入るように制御するフローチャートである。図6に示すプロセスでは、区別を容易にするために、伝送経路上の最初のノードの後にある伝送ノードのCSQFスケジューリングサイクル情報を決定するとき、当該伝送ノードをテスト対象ノードと呼んでもよい。
【0064】
図6に示すように、当該プロセスは以下のステップを含み得る。
【0065】
ステップ601において、伝送経路上のテスト対象ノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、テスト対象ノードに対応するテストパケットが上記他の各伝送ノードに到達するときに入るキューを指定する。
【0066】
本実施形態では、テスト対象ノードのCSQFスケジューリングサイクル情報を決定するとき、上記SDNコントローラは当該非最初のノードに対して対応するテストパケットを作成する。
【0067】
本実施形態では、上記CSQFスケジューリングサイクル情報について、上記テスト対象ノードに対応するテストパケットが、それぞれ上記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューに入るように指定してもよい。
【0068】
一例として、伝送経路がA->B->C->Dの場合、テスト対象ノードをBとすると、ノードBに対応するテストパケットは、キュー0などのノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューに入るように指定される。
【0069】
別の例として、テスト対象ノードがCである場合、ノードCに対応するテストパケットは、キュー0などのノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、キュー1などのノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューとに入るように指定される。
【0070】
また、別の例として、テスト対象ノードがDである場合、ノードDに対応するテストパケットは、キュー0などのノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、キュー1などのノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、キュー2などのノードCのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューとに入るように指定される。
【0071】
ステップ602において、テスト対象ノードに対応するテストパケットを伝送経路上の最初のノードに送信する送信開始時刻を決定する。
【0072】
ステップ602では、テスト対象ノードに対応するテストパケットが上記他の各伝送ノードに到達したときに、上記他の各伝送ノード内の指定されたキューに入ることを保証するために、テスト対象ノードに対応するテストパケットを伝送経路上の最初のノードに送信する送信開始時刻を決定する必要がある。
【0073】
本実施形態では、SDNコントローラは、最初のノードのCSQFスケジューリングサイクル情報を決定する際に、各テストパケットを最初のノードに送信する時刻(送信開始時刻と記す)を記録する。異なるテストパケットの送信開始時刻は、同じであっても異なっていてもよく、本実施形態では特に限定されない。これに基づき、本実施形態では、最初のノードのCSQFスケジューリングサイクル情報を決定するときに、各テストパケットを最初のノードに送信する送信開始時刻から、上記最初のノードのRQに入るように指定されるテストパケットの送信開始時刻(T_startと記す)を取得してもよい。当該T_startに基づいて、ステップ601における、非最初のノードに対応するテストパケットを最初のノードに送信する送信開始時刻を決定することができる。例えば、未来の時点time1を設定する。time1=N*T+time-[(time-T_start)mod(N*T)]であり、ここで、timeは現在の時点を表す。現在の時点timeを読み取り、現在の時点timeがtime1より小さいか否かを判定する。現在の時点timeがtime1より小さい場合、現在の時点timeを読み取るステップに戻り、そうでない場合、現在の時点timeを、非最初のノードに対応するテストパケットを最初のノードに送信する上記送信開始時刻として決定する。
【0074】
ステップ603において、上記送信開始時刻に達すると、テスト対象ノードに対応するテストパケットを伝送経路上の最初のノードに送信する。
【0075】
上記決定された送信開始時刻に、テスト対象ノードに対応するテストパケットを伝送経路上の最初のノードに送信することにより、テスト対象ノードに対応するテストパケットが伝送経路上のテスト対象ノードの前にある他の伝送ノードに到達したとき、当該他の伝送ノードの指定されたRQに入るように制御される。
【0076】
なお、本実施形態では、図6に示すプロセスを実行する前に、まず、上記SDNコントローラと伝送経路上の各伝送ノードとの間で時刻同期を実行してもよい。
【0077】
図6に示すプロセスをより明確にするために、以下に実施形態について説明する。
【0078】
図7に示すネットワークを例にとると、伝送経路はA->B->C->D->Eであると仮定する。収集されたノードの集合Pre-Pathと、収集対象ノードの集合Next-Pathを事前に設定する。初期状態では、Pre-Pathは空であり、Next-Pathにはパス順に並べた5つのノードA、B、C、D、Eが含まれる。
【0079】
Next-Pathをパス順にトラバースし、トラバースされるノードを現在のノード(current)とする。現在のノードが上記伝送経路上の最初のノードであるか否かを識別する。
【0080】
一例として、現在のノードが上記伝送経路上の最初のノードであることを識別した場合、上記図5に示すプロセスに従って、最初のノードのCSQFスケジューリングサイクル情報を決定する。現在のノードがノードA、すなわち上記伝送経路上の最初のノードであると仮定する。図8は、ノードAに対して3つのテストパケットを作成することを例にして、ノードAのCSQFスケジューリングサイクル情報の決定を示す。
【0081】
次に、現在のノードの識別子、すなわちノードAと、現在のノードのCSQFスケジューリングサイクル情報とをPre-Pathに記録する。上記伝送経路上に現在のノードの次のノードが存在するか否かを識別し、伝送経路上に現在のノードの次のノードが存在する場合は、Next-Pathをパス順にトラバースするステップに戻る。
【0082】
別の例として、現在のノードが上記伝送経路上の最初のノードでないことを識別した場合、現在のノードがノードBであることを例にとると、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報に基づいて、ノードBに対応するテストパケットが最初のノードAに到達したとき、最初のノードの指定されたRQに入るように指定する(ここでの指定されたRQとは、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)。
【0083】
その後、図6に示すステップ602の方法に従って、ノードBに対応するテストパケットを最初のノードAに送信する送信開始時刻を決定し、上記送信開始時刻に達すると、ノードBに対応するテストパケットの送信を開始する。最後に、ノードBに対応するテストパケットが最初のノードAに到達した後、指定に従って最初のノードの指定されたRQに入る(ここでの指定されたRQとは、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)。
【0084】
そして、最初のノードAは、上記指定されたRQをスケジューリングするCSQFスケジューリングサイクルが到来したとき、上記指定されたRQ内のテストパケットを送信するようにスケジューリングする。ノードBは、最終的に、最初のノードAから送信されたテストパケットを受信し、受信したテストパケットをそれぞれノードBの異なるキューに入れる。その後、ノードBはCSQFスケジューリングサイクルに従って、各キュー内のテストパケットを送信するようにスケジューリングする。上記図5に示すプロセスに従って、最終的にノードBのCSQFスケジューリングサイクル情報が決定される。図9は、指定されたRQがキュー3(Q3)である場合を例に、ノードBに対して作成された3つのテストパケットに基づいて、ノードBのCSQFスケジューリングサイクル情報を決定する方法を示す。
【0085】
なお、本実施形態では、ノードBのCSQFスケジューリングサイクル情報におけるRQ識別子は、ノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューが送信されるようにスケジューリングされるときに決定される。つまり、ノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューが送信されるようにスケジューリングされるときに、当該キュー内のパケットがノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューに送信されるようにスケジューリングされる場合、パケットがノードBによって優先的に送信されることが保証される。これに基づいて、以下において、ノードB以降のノード(例えば、ノードC)のCSQFスケジューリングサイクル情報を決定する際に、ノードCに対して作成されたテストパケットは、ノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、ノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューとに入るように指定してもよい。
【0086】
次に、現在のノードの識別子、すなわちノードBと、現在のノードのCSQFスケジューリングサイクル情報とをPre-Pathに記録する。上記伝送経路上に現在のノードの次のノードが存在するか否かを識別し、伝送経路上に現在のノードの次のノードが存在する場合は、Next-Pathをパス順にトラバースするステップに戻る。
【0087】
また、別の例として、現在のノードが上記伝送経路上の最初のノードでないことを識別した場合、現在のノードがノードCであることを例にとると、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報と、ノードBのCSQFスケジューリングサイクル情報とに基づいて、ノードCに対応するテストパケットが最初のノードAに到達したとき、最初のノードの指定されたRQに入り(ここでの指定されたRQとは、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)、最初のノードBに到達したとき、ノードBの指定されたRQに入るように指定する(ここでの指定されたRQとは、上記伝送経路上のノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)。
【0088】
その後、図6に示すステップ602の方法に従って、ノードCに対応するテストパケットを最初のノードAに送信する送信開始時刻を決定し、上記送信開始時刻に達すると、ノードCに対応するテストパケットの送信を開始する。最後に、ノードCに対応するテストパケットが最初のノードAに到達した後、指定に従って最初のノードの指定されたRQに入る(ここでの指定されたRQとは、上記伝送経路上の最初のノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)。そして、最初のノードAは、上記指定されたRQをスケジューリングするCSQFスケジューリングサイクルが到来したとき、上記指定されたRQ内のテストパケットを送信するようにスケジューリングする。最終的に、ノードCに対応するテストパケットがノードBに到達する。ノードBは、ノードCに対応するテストパケットを受信した後、指定に従ってテストパケットをノードBの指定されたRQに入れる(ここでの指定されたRQとは、上記伝送経路上のノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューを指す)。
【0089】
そして、ノードBは、上記指定されたRQをスケジューリングするCSQFスケジューリングサイクルが到来したとき、上記指定されたRQ内のテストパケットを送信するようにスケジューリングする。最終的に、ノードCに対応するテストパケットはノードCに到達し、それぞれノードCの異なるキューに入る。その後、ノードCはCSQFスケジューリングサイクルに従って、各キュー内のテストパケットを送信するようにスケジューリングする。上記図5に示すプロセスに従って、最終的にノードCのCSQFスケジューリングサイクル情報が決定される。
【0090】
なお、本実施形態では、ノードCのCSQFスケジューリングサイクル情報におけるRQ識別子は、ノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューが送信されるようにスケジューリングされるときに決定される。また、ノードBのCSQFスケジューリングサイクル情報におけるRQ識別子は、ノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューが送信されるようにスケジューリングされるときに決定される。つまり、パケットを優先的に送信することを保証するために、以下において、ノードC以降のノード(例えば、ノードD)のCSQFスケジューリングサイクル情報を決定する際に、ノードDに対して作成されたテストパケットは、ノードAのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、ノードBのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューと、ノードCのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューとに入るように指定してもよい。
【0091】
次に、現在のノードの識別子、すなわちノードBと、現在のノードのCSQFスケジューリングサイクル情報とをPre-Pathに記録する。上記伝送経路上に現在のノードの次のノードが存在するか否かを識別し、伝送経路上に現在のノードの次のノードが存在する場合は、Next-Pathをパス順にトラバースするステップに戻る。もちろん、伝送経路上に現在のノードの次のノードが存在しない場合、現在のプロセスを終了する。
【0092】
現在のノードがノードDである場合、ノードDの処理は上述したノードBやノードCの処理に類似するため、ここでは繰り返さない。
【0093】
以上の説明により、最終的に、完全な伝送経路上の各伝送ノードのCSQFスケジューリングサイクル情報の決定を完成することができる。
【0094】
なお、本実施形態では、一例として、上記伝送経路上の少なくとも1つの伝送ノードに対して、時間調整を事前に行うことにより、伝送経路上のすべての伝送ノード間の時刻同期を制御することができ、同一のタイムベース(Time base)に基づいて各伝送ノードのCSQFスケジューリングサイクル情報の取得を容易にすることができる。
【0095】
図10に示すように、決定論的ネットワークでは、各伝送ノードに以下の5つの部分を含む。
1)、入力処理(Input Process):入力タイムスタンプのアンカリングを実行するために用いられる。
2)、分配(Distributing):ベストエフォートトラヒックに属するパケットをベストエフォートトラヒックキューに分配し、決定論的トラヒックに属するパケットを決定論的トラヒックキューに分配するなど、パケットを分配するために用いられる。
3)、マッピング(Mapping):パケットを送信するようにスケジューリングすべきキューにマッピングするために用いられる。
4)、スケジュール(Schedule by Cycle):CSQFスケジューリングサイクルに基づいてキュー内のパケットをスケジューリングし、予約された優先順位が最も高いハードウェアキューに送信するために用いられる。
5)、出力処理(Output Process):予約された優先順位が最も高いハードウェアキューを、決定論的トラヒックを送信するためのハードウェアキューとすることにより、出力タイムスタンプを送信してマーキングするために用いられる。
【0096】
任意の伝送ノード内で、1つのパケットに関係する時間要素は、以下を含む。
1)、Input Processにおいて、パケット受信タイムスタンプt1を取得できる。
2)、DistributingとMappingの後、時間オーバーヘッドは△T1である。
3)、スケジューリング遅延△T2と送信タイムスタンプをマークする遅延△T3の後、最終的に、パケットを送信する送信タイムスタンプはt2である。
【0097】
以上のプロセスにおいて、t1とt2は同じ伝送ノードの同じクロックドメインにあるクロックであり、正確に取得することができる。以上の分析により、t1とt2の関係は式1で表される。
t2=t1+△T1+△T2+△T3 (1)
【0098】
t=T1+T2+T3とすると、式1は以下のようになる。
t2=t1+△t (2)
【0099】
式2に基づいて、図11に示すように、伝送ノードAと伝送ノードBの総合遅延は以下のようになる。
t2A[i]=t1A[i]+△tA[i]
t2B[i]=t1B[i]+△tB[i]
ここで、iはi番目のテストパケットを表す。
【0100】
伝送ノードAとBとの間の遅延、すなわち△tAB[i]は、伝送ノードAと伝送ノードBをまたぐが、伝送ノードAとBのタイムベースが異なるため、伝送ノードBの受信タイムスタンプt1B[i]から伝送ノードAの送信タイムスタンプt2A[i]を直接減算することによって△tAB[i]を取得することができない。したがって、図12に示すPTP計算方法と類似の計算方法が必要となる。
【0101】
図12において、jはiと異なるメッセージのみを表し、△tAB[i]は伝送ノードAの送信タイムスタンプから伝送ノードBの受信タイムスタンプまでの遅延を表し、tBA[i]は伝送ノードBの送信タイムスタンプから伝送ノードAの受信タイムスタンプまでの遅延を表す。往復経路は対称的であり、この部分の遅延は基本的に物理的な特性によって決定されるため、キューイング遅延と比較すると、異なるパケットの遅延はあまり変化しない。したがって、この部分の遅延は等しいとみなして計算する。すなわち、
△tAB[i]≒△tAB[j]≒△tBA[i]≒△tBA[j]であり、
これをtABと表記され、以下のように計算される。
△tAB=[(t1B[i]-t2A[i])+(t1′A[j]-t2′B[j])]/2
【0102】
伝送ノードAに対する伝送ノードBのタイムベースオフセットは、次のとおりである。
OffsetAB=[(t1B[i]-t2A[i])-(t1′A[j]-t2′B[j])]/2
【0103】
すなわち、伝送ノードBの現在時刻に上記OffsetABを加算することにより、伝送ノードAと同じタイムベースを取得することができる。同じ伝送経路上の各伝送ノードが同じタイムベースを持つ場合、伝送ノード内の遅延解析から得られるタイムスタンプは、統一された基準を有する。
【0104】
以上では、伝送ノード間の時刻同期について説明した。
【0105】
以上、本発明の実施形態による方法をSDNコントローラの観点から説明した。以下、伝送経路上の最初のノードの観点から本発明の実施形態による方法を説明する。
【0106】
図13は、本発明の実施形態による別の方法のフローチャートである。当該プロセスは、決定論的ネットワークの伝送経路上の最初のノードに適用される。図13に示すように、当該プロセスは以下のステップを含み得る。
【0107】
ステップ1301において、最初のノードのCSQFスケジューリングサイクル情報を決定する場合、ステップ1302を実行し、伝送経路上の非最初のノードのCSQFスケジューリングサイクル情報を決定する場合、ステップ1303を実行する。
【0108】
ステップ1302において、最初のノードに対応するテストパケットを作成し、テストパケットを作成したタイムスタンプをテストパケットの受信タイムスタンプとし、テストパケットの受信タイムスタンプとテストパケットを送信するようにスケジューリングした送信タイムスタンプとに基づいて、最初のノードのCSQFスケジューリングサイクル情報を決定する。
【0109】
ステップ1302における、最初のノードのCSQFスケジューリングサイクル情報の決定は、上記図5に示すプロセスを参照してもよく、ここでは繰り返さない。
【0110】
ステップ1303において、非最初のノードに対応するテストパケットを作成し、伝送経路上の当該非最初のノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、当該非最初のノードに対応するテストパケットが他の各伝送ノードに到達するときに入るキューを指定し、現在時刻に基づいて、非最初のノードに対応するテストパケットを最初のノードの指定されたキューに送信する送信開始時刻を決定し、指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューであり、送信開始時刻に達すると、非最初のノードに対応するテストパケットを最初のノードの指定されたキューに送信し、テストパケットを受信した非最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした非最初のノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記非最初のノードのCSQFスケジューリングサイクル情報を決定する。
【0111】
本実施形態では、指定された他の各伝送ノードに到達するときに入るキューは、上記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである。
【0112】
また、本実施形態において、現在時刻に基づいて、非最初のノードに対応するテストパケットを最初のノードの指定されたキューに送信する送信開始時刻を決定するステップは、上記ステップ602と類似するが、ここでは、上記T_startを、上記最初のノードの指定されたキューに入るように指定されるテストパケットの送信開始時刻に変更する必要がある。その他の点についても類似であり、ここでは繰り返さない。
【0113】
本実施形態では、送信開始時刻に達すると、非最初のノードに対応するテストパケットを最初のノードの指定されたキューに送信した後、CSQFスケジューリングサイクルに基づいて、最初のノードは、当該指定されたキューをスケジューリングするCSQFスケジューリングサイクルが到来したとき、当該指定されたキュー内のテストパケットを送信するようにスケジューリングする。上記図6に示す実施形態の説明によれば、最初のノードのネクストホップ、例えば上記伝送ノードBは、指定に従って、受信したテストパケットをそのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューに格納する。そして、当該キューのCSQFスケジューリングサイクルが到来したとき、当該キュー内のテストパケットを送信するようにスケジューリングする。以降も同様である。最終的に、上記非最初のノードに対応するテストパケットが非最初のノードに送信される。非最初のノードがテストパケットを受信したとき、受信タイムスタンプを記録する。また、非最初のノードは、テストパケットを対応するキューに格納し、異なるテストパケットを異なるキューに格納する。その後、非最初のノードはCSQFスケジューリングサイクルに従って、キュー内のテストパケットを送信するようにスケジューリングし、テストパケットの送信タイムスタンプを記録する。そして、上記最初のノードは、テストパケットを受信した当該非最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした当該非最初のノードの送信タイムスタンプとを取得した後、受信タイムスタンプと送信タイムスタンプとに基づいて、当該非最初のノードのCSQFスケジューリングサイクル情報を決定する。具体的には、図5に示すプロセスを参照することができるので、ここでは説明を省略する。
【0114】
ここまで、図13に示すプロセスが完了する。
【0115】
図13に示すプロセスにより、伝送経路上の最初のノードによる、完全な伝送経路上の各伝送ノードのCSQFスケジューリングサイクル情報の決定が実現される。
【0116】
以上、本発明の実施形態による方法について説明した。以下、本発明の実施形態による装置について説明する。
【0117】
図14は、本発明の実施形態による装置の構造図である。当該装置は、SDNコントローラによって実行され、
前記決定論的ネットワークの伝送経路上の各伝送ノードについて、前記伝送ノードに対応するテストパケットを作成するための第1の作成ユニットと、
前記伝送ノードが前記伝送経路上の最初のノードである場合、前記伝送ノードに対応するテストパケットを前記伝送ノードに送信し、テストパケットを受信した前記伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした前記伝送ノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定し、
前記伝送ノードが前記伝送経路上の最初のノードでない場合、前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御し、テストパケットを受信した前記伝送ノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした前記伝送ノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するための第1の決定ユニットと、を含む。
【0118】
オプションで、前記伝送ノードに対応するテストパケットの総数Nは、前記伝送ノードが有する、サイクル指定キューイングと転送CSQFにより実現されるキューの総数である。
【0119】
オプションで、前記伝送ノードに対応するN個のテストパケットは、それぞれ前記伝送ノードのN個のキューに入るように指定される。
【0120】
オプションで、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの送信タイムスタンプに基づいて、第1のターゲットテストパケットを決定するステップであって、前記第1のターゲットテストパケットの送信タイムスタンプは、他のテストパケットの送信タイムスタンプより遅いものであり、あるいは、前記第1のターゲットテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差は、他のテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差より大きいものである、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む。
【0121】
オプションで、前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの受信タイムスタンプに基づいて、第2のターゲットテストパケットを決定するステップであって、前記第2のターゲットテストパケットの受信タイムスタンプは、他のテストパケットの受信タイムスタンプより早いものである、ステップと、
t2A[p]>t1A[q]+Loop*Tを満たすループ変数値Loopを決定するステップであって、t2A[p]は、前記第1のターゲットテストパケットの送信タイムスタンプを表し、t1A[q]は、前記第2のターゲットテストパケットの受信タイムスタンプを表し、Tは、1つのCSQFスケジューリングサイクルの時間長である、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプ、前記第2のターゲットテストパケットの受信タイムスタンプ、及び前記Loopに基づいて、前記CSQFスケジューリングサイクル情報を決定するステップと、を含む。
【0122】
オプションで、前記CSQFスケジューリングサイクル情報は、少なくともサイクル開始時刻、送信キュー(SQ)識別子、及びRQ識別子を含み、
前記サイクル開始時刻は、前記第2のターゲットテストパケットを受信したときに前記伝送ノードが位置するターゲットCSQFスケジューリングサイクルの開始時刻であり、t2A[p]-Loop*Tで表され、
前記SQ識別子は、前記ターゲットCSQFスケジューリングサイクルで送信されるようにスケジューリングされているキューのキュー識別子を示すために用いられ、(p-1+N-Loop)modN+1で表され、前記pは、前記第2のターゲットテストパケットのシーケンス番号であり、
前記RQ識別子は、前記ターゲットCSQFスケジューリングサイクルの次のCSQFスケジューリングサイクルで送信されるようにスケジューリングされるキューのキュー識別子を示すために用いられ、(p+N-Loop)modN+1で表される。
【0123】
オプションで、前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御するステップは、
前記伝送経路上の前記伝送ノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信するステップと、を含む。
【0124】
オプションで、本実施形態において、決定ユニットは、さらに、前記伝送経路上の少なくとも1つの伝送ノードに対して時間調整を行うことにより、前記伝送経路上のすべての伝送ノード間の時刻同期を制御する。
【0125】
ここまで、図14に示す装置の構造の説明が完了する。
【0126】
図15は、本発明の実施形態による別の装置の構造図である。当該装置は、前記決定論的ネットワークの伝送経路上の最初のノードによって実行され、
前記最初のノードのCSQFスケジューリングサイクルを決定する場合、前記最初のノードに対応するテストパケットを作成し、前記伝送経路上の非最初のノードのCSQFスケジューリングサイクルを決定する場合、前記非最初のノードに対応するテストパケットを作成するための第2の作成ユニットと、
前記最初のノードのCSQFスケジューリングサイクルを決定する場合、
テストパケットを作成したタイムスタンプをテストパケットの受信タイムスタンプとし、テストパケットの受信タイムスタンプとテストパケットを送信するようにスケジューリングした送信タイムスタンプとに基づいて、前記最初のノードのCSQFスケジューリングサイクル情報を決定し、
前記伝送経路上の非最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記伝送経路上の前記非最初のノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記非最初のノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定し、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューであり、
現在時刻に基づいて、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信する送信開始時刻を決定し、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューであり、
前記送信開始時刻に達すると、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信し、テストパケットを受信した前記非最初のノードの受信タイムスタンプと、テストパケットを送信するようにスケジューリングした前記非最初のノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記非最初のノードのCSQFスケジューリングサイクル情報を決定するための第2の決定ユニットと、を含む。
【0127】
ここまで、図15に示す装置の構造の説明が完了する。
【0128】
本発明の実施形態はさらに図14又は図15に示す装置のハードウェア構造を提供する。図16は、本発明の実施形態による電子デバイスの構造図である。図16に示すように、当該ハードウェア構造は、プロセッサと、機械可読記憶媒体とを含み得、機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、前記プロセッサは、本発明の上記実施形態に開示された方法を実施するように機械実行可能命令を実行するために用いられる。
【0129】
上述の方法と同様の思想に基づき、本発明の実施形態はさらに、コンピュータ命令が記憶されている機械可読記憶媒体を提供し、前記コンピュータ命令がプロセッサによって実行されると、本発明の上記実施形態に開示された方法が実施される。
【0130】
例示的に、上記機械可読記憶媒体は、任意の電子的、磁性的、光学的又は他の物理的記憶装置であってもよく、実行可能な命令、データなどの情報を含むか、又は記憶することができる。例えば、機械可読記憶媒体は、ラドムアクセスメモリ(RAM:Radom Access Memory)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、ストレージドライブ(ハードドライブなど)、ソリッドステートドライブ、任意の記憶ディスク(光ディスク、DVDなど)、又は類似の記憶媒体や、これらの組み合わせであってもよい。
【0131】
上記実施例で説明したシステム、装置、モジュール又はユニットは、具体的には、コンピュータチップ、エンティティ、又は何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータであり、コンピュータの具体的な形態はパーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレット、ウェアラブルデバイス、又はこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0132】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能を同一又は複数のソフトウェア及び/又はハードウェアで実現することも可能である。
【0133】
当業者であれば分かるように、本発明の実施形態が、方法、システム、又はコンピュータプログラム製品として提供されてもよい。したがって、本発明は、ハードウェアだけからなる実施例、ソフトウェアだけからなる実施例、又はソフトウェアとハードウェアを組み合わせた実施例なる形態を用いてもよい。さらに、本発明の実施形態は、コンピュータで使用可能なプログラムコードを含む1つ又は複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0134】
本発明は、本発明の実施形態に係る方法、デバイス(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図における各フロー及び/又はブロック、並びにフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0135】
また、これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブル可能なデータ処理デバイスに特定の方法で動作するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶された命令は、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための命令装置を含む製品が生成される。
【0136】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理デバイスにロードされてもよく、それにより、一連の動作ステップがコンピュータ又は他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それによりコンピュータ又は他のプログラム可能なデバイス上で実行される命令はフローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するためのステップを提供する。
【0137】
以上は、本発明の実施形態に過ぎず、本発明を限定するものではない。当業者にとって、本発明は様々な変更及び変化が可能である。本発明の精神と原理の範囲内で行われたいかなる修正、同等な置換、改善などは、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
図1
図2
図3a
図3b
図3c
図4a
図4b
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【手続補正書】
【提出日】2023-12-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
決定論的ネットワークに適用されるサイクル指定キューイングと転送(CSQF)スケジューリングサイクルを収集するための方法であって、ソフトウェアデファインドネットワーク(SDN)コントローラによって実行され、
前記決定論的ネットワークの伝送経路上の各伝送ノードについて、
前記伝送ノードが前記伝送経路上の最初のノードである場合、前記伝送ノードに対応するテストパケットを作成して前記伝送ノードに送信し、前記テストパケットを受信した前記伝送ノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定し、
前記伝送ノードが前記伝送経路上の最初のノードでない場合、前記伝送ノードに対応するテストパケットを作成し、前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御し、前記テストパケットを受信した前記伝送ノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした前記伝送ノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップを含む、
ことを特徴とする決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法。
【請求項2】
前記伝送ノードに対応するテストパケットの総数Nは、前記伝送ノードが有する、CSQFにより実現されるキューの総数である、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記伝送ノードに対応するN個のテストパケットは、それぞれ前記伝送ノードのN個のキューに入るように指定される、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの送信タイムスタンプに基づいて、第1のターゲットテストパケットを決定するステップであって、前記第1のターゲットテストパケットの送信タイムスタンプは、他のテストパケットの送信タイムスタンプより遅いものであり、あるいは、前記第1のターゲットテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差は、他のテストパケットの送信タイムスタンプと受信タイムスタンプとの間の時間差より大きいものである、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記第1のターゲットテストパケットの送信タイムスタンプに基づいて、最も遅く送信されたテストパケットの送信タイムスタンプがCSQFスケジューリングサイクルの開始時刻に近似するという原則に従って、前記伝送ノードのCSQFスケジューリングサイクル情報を決定するステップは、
すべてのテストパケットの受信タイムスタンプに基づいて、第2のターゲットテストパケットを決定するステップであって、前記第2のターゲットテストパケットの受信タイムスタンプは、他のテストパケットの受信タイムスタンプより早いものである、ステップと、
t2A[p]>t1A[q]+Loop*Tを満たすループ変数値Loopを決定するステップであって、t2A[p]は、前記第1のターゲットテストパケットの送信タイムスタンプを表し、t1A[q]は、前記第2のターゲットテストパケットの受信タイムスタンプを表し、Tは、1つのCSQFスケジューリングサイクルの時間長である、ステップと、
前記第1のターゲットテストパケットの送信タイムスタンプ、前記第2のターゲットテストパケットの受信タイムスタンプ、及び前記Loopに基づいて、前記CSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記CSQFスケジューリングサイクル情報は、少なくともサイクル開始時刻、送信キュー(SQ)識別子、及び受信キュー(RQ)識別子を含み、
前記サイクル開始時刻は、前記第2のターゲットテストパケットを受信したときに前記伝送ノードが位置するターゲットCSQFスケジューリングサイクルの開始時刻であり、t2A[p]-Loop*Tで表され、
前記SQ識別子は、前記ターゲットCSQFスケジューリングサイクルで、送信されるようにスケジューリングされているキューのキュー識別子を示すために用いられ、(p-1+N-Loop)modN+1で表され、前記pは、前記第2のターゲットテストパケットのシーケンス番号であり、
前記RQ識別子は、前記ターゲットCSQFスケジューリングサイクルの次のCSQFスケジューリングサイクルで送信されるようにスケジューリングされるキューのキュー識別子を示すために用いられ、(p+N-Loop)modN+1で表される、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記伝送経路上の前記伝送ノードの前にある他の伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記伝送経路上の前記伝送ノードの前にある他の伝送ノードに到達するとき、当該他の伝送ノードの受信キュー(RQ)に入るように制御するステップは、
前記伝送経路上の前記伝送ノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記伝送ノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記伝送ノードに対応するテストパケットを前記伝送経路上の最初のノードに送信するステップと、を含む、
ことを特徴とする請求項1~6のいずれか一項に記載の方法。
【請求項8】
当該方法を実行する前に、
前記伝送経路上の少なくとも1つの伝送ノードに対して時間調整を行うことにより、前記伝送経路上のすべての伝送ノード間の時刻同期を制御するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
決定論的ネットワークに適用されるサイクル指定キューイングと転送(CSQF)スケジューリングサイクルを収集するための方法であって、前記決定論的ネットワークの伝送経路上の最初のノードによって実行され、
前記最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記最初のノードに対応するテストパケットを作成し、前記テストパケットを作成したタイムスタンプを前記テストパケットの受信タイムスタンプとし、前記テストパケットの受信タイムスタンプと前記テストパケットを送信するようにスケジューリングした送信タイムスタンプとに基づいて、前記最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、
前記伝送経路上の非最初のノードのCSQFスケジューリングサイクルを決定する場合、
前記非最初のノードに対応するテストパケットを作成し、前記伝送経路上の前記非最初のノードの前にある他の各伝送ノードのCSQFスケジューリングサイクル情報に基づいて、前記非最初のノードに対応するテストパケットが前記他の各伝送ノードに到達するときに入るキューを指定するステップであって、指定された前記他の各伝送ノードに到達するときに入るキューは、前記他の各伝送ノードのCSQFスケジューリングサイクル情報における受信キュー(RQ)識別子に対応するキューである、ステップと、
現在時刻に基づいて、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信する送信開始時刻を決定するステップであって、前記送信開始時刻は、前記伝送ノードに対応するテストパケットが前記最初のノードの指定されたキューに入るように制御するために用いられ、前記指定されたキューは、前記最初のノードのCSQFスケジューリングサイクル情報におけるRQ識別子に対応するキューである、ステップと、
前記送信開始時刻に達すると、前記非最初のノードに対応するテストパケットを前記最初のノードの指定されたキューに送信し、前記テストパケットを受信した前記非最初のノードの受信タイムスタンプと、前記テストパケットを送信するようにスケジューリングした前記非最初のノードの送信タイムスタンプとを取得し、前記受信タイムスタンプと前記送信タイムスタンプとに基づいて、前記非最初のノードのCSQFスケジューリングサイクル情報を決定するステップと、を含む、
ことを特徴とする決定論的ネットワークに適用されるCSQFスケジューリングサイクルを収集するための方法。
【請求項10】
電子デバイスであって、プロセッサと、機械可読記憶媒体とを含み、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、
前記プロセッサは、請求項1~9のいずれか一項に記載の方法を実施するように機械実行可能命令を実行するために用いられる、ことを特徴とする電子デバイス。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
図3aにおいて、Cycle 1で伝送ノードAによって受信されたパケットjとパケットkは、それぞれQ2とQ3に入る。Cycle 2の開始時に、Q2がスケジューリングされ、パケットjはCycle 2の開始直後に送信されるようにスケジューリングされる。したがって、txA[j]とt2A[j]はCycle 2の開始時刻に近い。同様に、Cycle 3の開始時に、Q3がスケジューリングされ、パケットkがCycle の開始直後に送信されるようにスケジューリングされる。また、txA[k]とt2A[k]はCycle 3の開始時刻に近い。図3b及び図3cは、図3aに類似している。これらの違いは、主に、テストパケットが到達したときにスケジューリングされているキューが異なることにある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正の内容】
【0073】
本実施形態では、SDNコントローラは、最初のノードのCSQFスケジューリングサイクル情報を決定する際に、各テストパケットを最初のノードに送信する時刻(送信開始時刻と記す)を記録する。異なるテストパケットの送信開始時刻は、同じであっても異なっていてもよく、本実施形態では特に限定されない。これに基づき、本実施形態では、最初のノードのCSQFスケジューリングサイクル情報を決定するときに、各テストパケットを最初のノードに送信する送信開始時刻から、上記最初のノードのRQに入るように指定されるテストパケットの送信開始時刻(T_startと記す)を取得してもよい。当該T_startに基づいて、ステップ60における、非最初のノードに対応するテストパケットを最初のノードに送信する送信開始時刻を決定することができる。例えば、未来の時点time1を設定する。time1=N*T+time-[(time-T_start)mod(N*T)]であり、ここで、timeは現在の時点を表す。現在の時点timeを読み取り、現在の時点timeがtime1より小さいか否かを判定する。現在の時点timeがtime1より小さい場合、現在の時点timeを読み取るステップに戻り、そうでない場合、現在の時点timeを、非最初のノードに対応するテストパケットを最初のノードに送信する上記送信開始時刻として決定する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正の内容】
【0091】
次に、現在のノードの識別子、すなわちノードと、現在のノードのCSQFスケジューリングサイクル情報とをPre-Pathに記録する。上記伝送経路上に現在のノードの次のノードが存在するか否かを識別し、伝送経路上に現在のノードの次のノードが存在する場合は、Next-Pathをパス順にトラバースするステップに戻る。もちろん、伝送経路上に現在のノードの次のノードが存在しない場合、現在のプロセスを終了する。
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正の内容】
図12
【国際調査報告】