(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】パケット転送方法、デバイス、およびシステム
(51)【国際特許分類】
H04L 47/28 20220101AFI20231129BHJP
H04L 47/56 20220101ALI20231129BHJP
【FI】
H04L47/28
H04L47/56
(21)【出願番号】P 2022519653
(86)(22)【出願日】2020-09-17
(86)【国際出願番号】 CN2020116013
(87)【国際公開番号】W WO2021063191
(87)【国際公開日】2021-04-08
【審査請求日】2022-04-25
(31)【優先権主張番号】201910937790.9
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】201911057482.3
(32)【優先日】2019-11-01
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100132481
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【氏名又は名称】窪田 郁大
(72)【発明者】
【氏名】▲陳▼ 李昊
(72)【発明者】
【氏名】王 童童
【審査官】和平 悠希
(56)【参考文献】
【文献】韓国登録特許第10-1970715(KR,B1)
【文献】特開2018-129661(JP,A)
【文献】米国特許第08477616(US,B1)
【文献】米国特許出願公開第2019/0045475(US,A1)
【文献】Load Balancing for Deterministic Networks,2020 IFIP Networking Conference (Networking),2020年06月22日,pp. 785-790
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
第1のネットワークデバイスによって、第2のネットワークデバイスの第2の出口ポート経由で前記第2のネットワークデバイスによって送信された第1のメッセージを受信するステップであって、前記第1のメッセージは位相差を測定するのに使用され、前記位相差は、リンク遅延が考慮された、前記第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、前記第2のネットワークデバイスの前記第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻との間の位相差であり、
前記第2のネットワークデバイスの前記第2の出口ポートと前記第1のネットワークデバイスの第1の入口ポートとは通信リンクを介して接続され、前記リンク遅延は
前記通信リンクのリンク遅延である、ステップと、
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定するステップであって、前記複数の第1のバッファに関するスイッチングサイクルは前記複数の第2のバッファに関するスイッチングサイクルと同一であり、前記複数の第1のバッファは前記第1のネットワークデバイスによって巡回でスケジュールされ、前記複数の第2のバッファは前記第2のネットワークデバイスによって巡回でスケジュールされる、ステップと、
前記第1のネットワークデバイスによって、前記位相差に基づいて、前記第1の出口ポート経由で送信される第2のデータパケットをスケジュールするステップであって、前記第2のデータパケットは、第1のデータパケットに基づいて前記第1のネットワークデバイスによって取得されるデータパケットであり、前記第1のデータパケットは、前記第1のネットワークデバイスによって、前記第2のネットワークデバイスの前記第2の出口ポートから受信されるデータパケットである、ステップと
を含む、パケット転送方法。
【請求項2】
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定する前記ステップの前に、前記方法は、
前記第1のネットワークデバイスによって、前記第2のネットワークデバイスによって送信された第2のメッセージを受信するステップであって、前記第2のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は第1の時刻より早期である、ステップ
をさらに含み、
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定する前記ステップは、前記第1のネットワークデバイスによって、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定するステップを特に含む、請求項1に記載の方法。
【請求項3】
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定する前記ステップの前に、前記方法は、
前記第1のネットワークデバイスによって、前記第2のネットワークデバイスによって送信された第2のメッセージを受信するステップであって、前記第2のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、ステップ
をさらに含み、
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定する前記ステップは、前記第1のネットワークデバイスによって、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定するステップを特に含む、請求項1に記載の方法。
【請求項4】
前記第1のネットワークデバイスによって、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定する前記ステップは、
前記第1のネットワークデバイスによって、前記第1のメッセージが受信される第3の時刻を決定するステップと、
前記第1のネットワークデバイスによって、前記第3の時刻に基づいて第4の時刻を決定するステップであって、前記第4の時刻は前記第1のメッセージが受信されるときにスケジュールされた前記複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、前記第2のスイッチング時刻は前記第3の時刻より後期である、ステップと、
前記第1のネットワークデバイスによって、前記位相差を決定するステップであって、前記位相差の値は前記複数の第1のバッファに関する前記スイッチングサイクルと第1の値との間の差と等しく、前記第1の値は前記複数の第1のバッファに関する前記スイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、前記第2の値は前記第1の時刻と前記第2の時刻との間の差と前記第4の時刻と前記第3の時刻との間の差との合計と等しい、ステップと
を含む、請求項2または3に記載の方法。
【請求項5】
前記第1のメッセージは前記第1のメッセージを識別するための第1の識別子を含み、前記第2のメッセージは前記第2のメッセージを識別するための第2の識別子を含み、前記第1の識別子は前記第2の識別子に対応する、請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記第1のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、請求項1に記載の方法。
【請求項7】
前記第1のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、請求項1に記載の方法。
【請求項8】
前記第1のネットワークデバイスによって、前記第1のメッセージに基づいて前記位相差を決定する前記ステップは、
前記第1のネットワークデバイスによって、前記第1のメッセージが受信される第3の時刻を決定するステップと、
前記第1のネットワークデバイスによって、前記第3の時刻に基づいて第4の時刻を決定するステップであって、前記第4の時刻は前記第1のメッセージが受信されるときにスケジュールされた前記複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、前記第2のスイッチング時刻は前記第3の時刻より後期である、ステップと、
前記第1のネットワークデバイスによって、前記位相差を決定するステップであって、前記位相差の値は前記複数の第1のバッファに関する前記スイッチングサイクルと第1の値との間の差と等しく、前記第1の値は前記複数の第1のバッファに関する前記スイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、前記第2の値は前記第1の時刻と前記第2の時刻との間の差と前記第4の時刻と前記第3の時刻との間の差の合計と等しい、ステップと
を含む、請求項6または7に記載の方法。
【請求項9】
前記第1のネットワークデバイスによって、前記位相差に基づいて、前記第1の出口ポート経由で送信される第2のデータパケットをスケジュールする前記ステップは、
前記第1のネットワークデバイスによって、前記位相差および処理遅延に基づいて前記第2のデータパケットに関する対応する第1のバッファを決定するステップであって、前記複数の第1のバッファは前記対応する第1のバッファを含み、前記処理遅延は、前記第1のネットワークデバイスによって、前記第1のデータパケットに基づいて前記第2のデータパケットを決定するプロセスにおいて生じる遅延である、ステップと、
前記第1のネットワークデバイスによって、前記対応する第1のバッファに前記第2のデータパケットを記憶するステップと、
前記第2のデータパケットが記憶された後の、前記対応する第1のバッファが前記第1のネットワークデバイスによってスケジュールされる第1のサイクル内で、前記第1のネットワークデバイスによって、前記第1の出口ポート経由で前記第2のデータパケットを送信するステップとを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
第2のネットワークデバイスによって、第1のメッセージを生成するステップであって、前記第1のメッセージは、位相差を決定すべく第1のネットワークデバイスをトリガするのに使用され、前記位相差は、リンク遅延が考慮された、前記第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、前記第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻との間の位相差であり、
前記第2のネットワークデバイスの前記第2の出口ポートと前記第1のネットワークデバイスの第1の入口ポートとは通信リンクを介して接続され、前記リンク遅延は
前記通信リンクのリンク遅延である、ステップと、
前記第2のネットワークデバイスによって、前記第2のネットワークデバイスの前記第2の出口ポート経由で前記第1のネットワークデバイスに前記第1のメッセージを送信するステップであって、前記複数の第1のバッファに関するスイッチングサイクルは前記複数の第2のバッファに関するスイッチングサイクルと同一であり、前記複数の第1のバッファは前記第1のネットワークデバイスによって巡回でスケジュールされ、前記複数の第2のバッファは前記第2のネットワークデバイスによって巡回でスケジュールされる、ステップと
を含む、パケット転送方法。
【請求項11】
前記方法は、
前記第2のネットワークデバイスによって、第2のメッセージを生成するステップであって、前記第2のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、ステップと、
前記第2のネットワークデバイスによって、前記第2のネットワークデバイスの前記第2の出口ポート経由で前記第1のネットワークデバイスに前記第2のメッセージを送信するステップと
をさらに含む、請求項10に記載の方法。
【請求項12】
前記第2のネットワークデバイスによって、第2のメッセージを生成するステップであって、前記第2のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、ステップと、
前記第2のネットワークデバイスによって、前記第2のネットワークデバイスの前記第2の出口ポート経由で前記第1のネットワークデバイスに前記第2のメッセージを送信するステップと
をさらに含む、請求項10に記載の方法。
【請求項13】
前記第1のメッセージは前記第1のメッセージを識別するための第1の識別子を含み、前記第2のメッセージは前記第2のメッセージを識別するための第2の識別子を含み、前記第1の識別子は前記第2の識別子に対応する、請求項11または12に記載の方法。
【請求項14】
第1のネットワークデバイスであって、
第2のネットワークデバイスの第2の出口ポート経由で前記第2のネットワークデバイスによって送信された第1のメッセージを受信するように構成された受信ユニットであって、前記第1のメッセージは位相差を測定するのに使用され、前記位相差は、リンク遅延が考慮された、前記第1のネットワークデバイスの送信ユニットの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、前記第2のネットワークデバイスの前記第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻との間の位相差であり、
前記第2のネットワークデバイスの前記第2の出口ポートと前記第1のネットワークデバイスの第1の入口ポートとは通信リンクを介して接続され、前記リンク遅延は
前記通信リンクのリンク遅延である、受信ユニットと、
前記第1のメッセージに基づいて前記位相差を決定するように構成された処理ユニットであって、前記複数の第1のバッファに関するスイッチングサイクルは前記複数の第2のバッファに関するスイッチングサイクルと同一であり、前記複数の第1のバッファは前記処理ユニットによって巡回でスケジュールされ、前記複数の第2のバッファは前記第2のネットワークデバイスによって巡回でスケジュールされる、処理ユニットと、
前記位相差に基づいて、前記送信ユニット経由で送信される第2のデータパケットをスケジュールするようにさらに構成された前記送信ユニットであって、前記第2のデータパケットは、第1のデータパケットに基づいて前記処理ユニットによって取得されるデータパケットであり、前記第1のデータパケットは、前記処理ユニットによって、前記第2のネットワークデバイスの前記第2の出口ポートから受信されるデータパケットである、前記送信ユニットと
を備える、第1のネットワークデバイス。
【請求項15】
前記処理ユニットが前記第1のメッセージに基づいて前記位相差を決定する前に、前記受信ユニットは、前記第2のネットワークデバイスによって送信された第2のメッセージを受信するようにさらに構成され、前記第2のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期であり、
前記処理ユニットによって、前記第1のメッセージに基づいて前記位相差を決定することに関し、前記処理ユニットは、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定するように特に構成される、請求項14に記載の第1のネットワークデバイス。
【請求項16】
前記処理ユニットが前記第1のメッセージに基づいて前記位相差を決定する前に、前記受信ユニットは、前記第2のネットワークデバイスによって送信された第2のメッセージを受信するようにさらに構成され、前記第2のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期であり、
前記処理ユニットによって、前記第1のメッセージに基づいて前記位相差を決定することに関し、前記処理ユニットは、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定するように特に構成される、請求項14に記載の第1のネットワークデバイス。
【請求項17】
前記処理ユニットによって、前記第1のメッセージおよび前記第2のメッセージに基づいて前記位相差を決定することに関し、前記処理ユニットは、
前記第1のメッセージが受信される第3の時刻を決定し、
前記第3の時刻に基づいて第4の時刻を決定し、前記第4の時刻は前記第1のメッセージが受信されるときにスケジュールされた前記複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、前記第2のスイッチング時刻は前記第3の時刻より後期であり、
前記位相差を決定するように特に構成され、前記位相差の値は前記複数の第1のバッファに関する前記スイッチングサイクルと第1の値との間の差と等しく、前記第1の値は前記複数の第1のバッファに関する前記スイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、前記第2の値は前記第1の時刻と前記第2の時刻との間の差と前記第4の時刻と前記第3の時刻との間の差との合計と等しい、請求項15または16に記載の第1のネットワークデバイス。
【請求項18】
前記第1のメッセージは前記第1のメッセージを識別するための第1の識別子を含み、前記第2のメッセージは前記第2のメッセージを識別するための第2の識別子を含み、前記第1の識別子は前記第2の識別子に対応する、請求項15から17のいずれか一項に記載の第1のネットワークデバイス。
【請求項19】
前記第1のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、請求項14に記載の第1のネットワークデバイス。
【請求項20】
前記第1のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期である、請求項14に記載の第1のネットワークデバイス。
【請求項21】
前記処理ユニットによって、前記第1のメッセージに基づいて前記位相差を決定することに関し、前記処理ユニットは、
前記第1のメッセージが受信される第3の時刻を決定し、
前記第3の時刻に基づいて第4の時刻を決定し、前記第4の時刻は前記第1のメッセージが受信されるときにスケジュールされた前記複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、前記第2のスイッチング時刻は前記第3の時刻より後期であり、
前記位相差を決定する
ように特に構成され、前記位相差の値は前記複数の第1のバッファに関する前記スイッチングサイクルと第1の値との間の差と等しく、前記第1の値は前記複数の第1のバッファに関する前記スイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、前記第2の値は前記第1の時刻と前記第2の時刻との間の差と前記第4の時刻と前記第3の時刻との間の差の合計と等しい、請求項19または20に記載の第1のネットワークデバイス。
【請求項22】
前記処理ユニットによって、前記位相差に基づいて、前記送信ユニット経由で送信される前記第2のデータパケットをスケジュールすることに関し、前記処理ユニットは、
前記位相差および処理遅延に基づいて前記第2のデータパケットに関する対応する第1のバッファを決定し、前記複数の第1のバッファは前記対応する第1のバッファを含み、前記処理遅延は、前記処理ユニットによって、前記第1のデータパケットに基づいて前記第2のデータパケットを決定するプロセスにおいて生じる遅延であり、
前記対応する第1のバッファに前記第2のデータパケットを記憶する
ようにさらに構成され、
前記第2のデータパケットが記憶された後の、前記対応する第1のバッファが前記処理ユニットによってスケジュールされる第1のサイクル内で、前記送信ユニットは前記第2のデータパケットを送信する、請求項14から21のいずれか一項に記載の第1のネットワークデバイス。
【請求項23】
第2のネットワークデバイスであって、
第1のメッセージを生成するように構成された処理ユニットであって、前記第1のメッセージは、位相差を決定すべく第1のネットワークデバイスをトリガするのに使用され、前記位相差は、リンク遅延が考慮された、前記第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、前記第2のネットワークデバイスの送信ユニットの複数の第2のバッファのうちの1つのバッファのスイッチング時刻との間の位相差であり、
前記第2のネットワークデバイスの第2の出口ポートと前記第1のネットワークデバイスの第1の入口ポートとは通信リンクを介して接続され、前記リンク遅延は
前記通信リンクのリンク遅延である、処理ユニットと、
前記第1のネットワークデバイスに前記第1のメッセージを送信するように構成された前記送信ユニットであって、前記複数の第1のバッファに関するスイッチングサイクルは前記複数の第2のバッファに関するスイッチングサイクルと同一であり、前記複数の第1のバッファは前記第1のネットワークデバイスによって巡回でスケジュールされ、前記複数の第2のバッファは前記送信ユニットによって巡回でスケジュールされる、前記送信ユニットと
を備える、第2のネットワークデバイス。
【請求項24】
前記処理ユニットは、第2のメッセージを生成するようにさらに構成され、前記第2のメッセージは第1の時刻と第2の時刻とを含み、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期であり、
前記送信ユニットは、前記第1のネットワークデバイスに前記第2のメッセージを送信するようにさらに構成される、請求項23に記載の第2のネットワークデバイス。
【請求項25】
前記処理ユニットは第2のメッセージを生成するようにさらに構成され、前記第2のメッセージは第1の時間差を含み、前記第1の時間差は第1の時刻と第2の時刻との間の差であり、前記第1の時刻は前記第2のネットワークデバイスが前記第1のメッセージを送信する時刻であり、前記第2の時刻は前記第1のメッセージが送信されるときにスケジュールされた前記複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、前記第1のスイッチング時刻は前記第1の時刻より早期であり、
前記送信ユニットは前記第1のネットワークデバイスに前記第2のメッセージを送信するようにさらに構成される、請求項23に記載の第2のネットワークデバイス。
【請求項26】
前記第1のメッセージは前記第1のメッセージを識別するための第1の識別子を含み、前記第2のメッセージは前記第2のメッセージを識別するための第2の識別子を含み、前記第1の識別子は前記第2の識別子に対応する、請求項24または25に記載の第2のネットワークデバイス。
【請求項27】
第1のネットワークデバイスと第2のネットワークデバイスとを備えるネットワークシステムであって、前記第1のネットワークデバイスは請求項14から22のいずれか一項に記載の第1のネットワークデバイスであり、前記第2のネットワークデバイスは請求項23から26のいずれか一項に記載の第2のネットワークデバイスである、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信技術の分野に関し、詳細には、パケット転送方法、デバイス、およびシステムに関する。
【背景技術】
【0002】
本出願は、参照によりともにその全体が本明細書に組み込まれている、「PACKET FORWARDING METHOD,DEVICE,AND SYSTEM」という名称の2019年9月30日に国家知識産権局に出願した中国特許出願第201910937790.9号明細書、および「PACKET FORWARDING METHOD,DEVICE,AND SYSTEM」という名称の2019年11月1日に国家知識産権局に出願した中国特許出願第201911057482.3号明細書の優先権を主張するものである。
【0003】
オーディオビデオブリッジング(audio video bridging,AVB)は、新たなイーサネット標準である。AVB関連の標準は、米国電気電子学会(Institute of Electrical and Electronics Engineers,IEEE)の802.1作業グループ内のAVBタスクグループによって開発される。AVBタスクグループは、2012年にタイムセンシティブネットワーキング(time-sensitive networking,TSN)タスクグループに正式に名称変更された。TSNは、ストリーム予約プロトコル(stream reservation protocol,SRP)、プレシジョンタイムプロトコル(precision time protocol,PTP)、トラフィックシェーピング(traffic shaping)、またはそれに類するものに主に関する。TSNは、低潜時要件または時間ベースの同期データ伝送を伴うネットワークシナリオに、例えば、オーディオおよびビデオ伝送分野、自動車制御分野、産業制御分野、および民生エレクトロニクス分野に適用されることが可能である。
【0004】
TSN技術標準は、次の4つの部分、すなわち、データプレーン、制御プレーン、時間同期、および信頼性に分割されることが可能である。データプレーンに関して定義されたいくつかのスケジューリングアルゴリズム、フレームプリエンプション機構、およびそれに類するものは、TSNが決定論的な遅延特性を実現するのに鍵となる技術である。いくつかのスケジューリングアルゴリズムは、次の2つのカテゴリ、すなわち、タイムゲーティングに基づくスケジューリング(同期スケジューリングとも呼ばれる)、およびサービス品質(quality of service,QoS)に基づくスケジューリング(タイムゲーティングに基づく必要がなくてもよく、非同期スケジューリングとも呼ばれる)に分割されることが可能である。制御プレーンの作業は、TSNデータプレーンの作業をサポートするように、TSNサービスフローの要件に基づくネットワークデバイスのためのリソース予約などの関連する構成を実行することである。
【0005】
IEEE 802.1Qbvが、タイムゲーティングに基づくスケジューリングの基本的な機構を定義する。Qbvを基礎として、IEEE 802.1Qchが、巡回キューイングおよび転送(cyclic queuing and forwarding,CQF)機構を以下のとおり、さらに特に定義する。すなわち、2つ以上のバッファが、ラウンドロビンスケジューリングのために各ノードの出口ポート上に展開される必要があり、すべてのノードが、各ノードの出口ポート上のバッファがラウンドロビン時間および周波数に関して同一であるように、時間同期を実行する。
【0006】
CQF機構の使用は、IEEE 1588におけるプレシジョンタイムプロトコル(precision time protocol,PTP)に基づく特定の設計であるIEEE 802.1AS時間同期プロトコルに依拠する。したがって、CQF機構を実施するネットワークシナリオにおいて、すべてのネットワークデバイス間の正確な時間同期は、ネットワーク展開の困難および費用を増大させる。さらに、通信リンクにおけるクロックジッタの蓄積が、正確な時間同期の実施上の困難を増大させる。
【発明の概要】
【0007】
以上のことに鑑みて、本出願の実施形態は、パケット転送方法、デバイス、およびシステムを提供する。第1のネットワークデバイスが、第2のネットワークデバイスから受信された測定情報に基づいて位相差を決定し、位相差は、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差である。第1のネットワークデバイスが、その位相差に基づいて、第1の出口ポート経由で送信される必要のあるデータパケットをスケジュールする。このようにして、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0008】
本出願の実施形態において提供される技術的解決策は、以下のとおりである。
【0009】
第1の態様によれば、パケット転送方法が提供され、方法は、第1のネットワークデバイスによる、第2のネットワークデバイスの第2の出口ポート経由で第2のネットワークデバイスによって送信された第1のメッセージを受信することであって、第1のメッセージが、位相差を測定するのに使用され、かつ位相差が、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差であること、および第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することであって、複数の第1のバッファに関するスイッチングサイクルが、複数の第2のバッファに関するスイッチングサイクルと同一であること、および、次に、第1のネットワークデバイスによる、その位相差に基づいて、第1の出口ポート経由で送信される第2のデータパケットをスケジュールすることを含む。
【0010】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0011】
第1の態様の可能な実装において、第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することの前に、方法は、第1のネットワークデバイスによる、第2のネットワークデバイスによって送信された第2のメッセージを受信することであって、第2のメッセージが、第1の時刻と、第2の時刻とを含み、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が第1の時刻より早期であることをさらに含み、第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することが、第1のネットワークデバイスによる、第1のメッセージおよび第2のメッセージに基づいて位相差を決定することを特に含む。
【0012】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスと第2のネットワークデバイスとは、第1のメッセージおよび第2のメッセージの転送を介して位相差の計算精度を向上させる。
【0013】
第1の態様の別の可能な実装において、第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することの前に、方法は、第1のネットワークデバイスによる、第2のネットワークデバイスによって送信された第2のメッセージを受信することであって、第2のメッセージが、第1の時間差を含み、第1の時間差が、第1の時刻と第2の時刻の間の差であり、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が第1の時刻より早期であることをさらに含み、第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することが、第1のネットワークデバイスによる、第1のメッセージおよび第2のメッセージに基づいて位相差を決定することを特に含む。
【0014】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスおよび第2のネットワークデバイスが、第1のメッセージおよび第2のメッセージの転送を介して位相差の計算精度を向上させる。
【0015】
第1の態様のさらに別の実装において、第1のネットワークデバイスによる、第1のメッセージおよび第2のメッセージに基づいて位相差を決定することは、第1のネットワークデバイスによる、第1のメッセージが受信される第3の時刻を決定すること、第1のネットワークデバイスによる、第3の時刻に基づいて第4の時刻を決定することであって、第4の時刻が、第1のメッセージが受信されるときにスケジュールされた複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、かつ第2のスイッチング時刻が、第3の時刻より後期であること、および第1のネットワークデバイスによる、位相差を決定することであって、位相差の値が、複数の第1のバッファに関するスイッチングサイクルと第1の値の間の差と等しく、第1の値が、複数の第1のバッファに関するスイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、かつ第2の値が、第1の時刻と第2の時刻の間の差と第4の時刻と第3の時刻の間の差の合計と等しいことを含む。
【0016】
任意選択で、第1のメッセージは、第1の時刻と、第2の時刻とを含み、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が、第1の時刻より早期である。
【0017】
任意選択で、第1のメッセージは、第1の時間差を含み、第1の時間差が、第1の時刻と第2の時刻の間の差であり、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が、第1の時刻より早期である。
【0018】
第1の態様のさらに別の実装において、第1のネットワークデバイスによる、第1のメッセージに基づいて位相差を決定することは、第1のネットワークデバイスによる、第1のメッセージが受信される第3の時刻を決定すること、第1のネットワークデバイスによる、第3の時刻に基づいて第4の時刻を決定することであって、第4の時刻が、第1のメッセージが受信されるときにスケジュールされた複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、かつ第2のスイッチング時刻が、第3の時刻より後期であること、および第1のネットワークデバイスによる、位相差を決定することであって、位相差の値が、複数の第1のバッファに関するスイッチングサイクルと第1の値の間の差と等しく、第1の値が、複数の第1のバッファに関するスイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、かつ第2の値が、第1の時刻と第2の時刻の間の差と第4の時刻と第3の時刻の間の差の合計と等しいことを含む。
【0019】
第1の態様のさらに別の実装において、第1のネットワークデバイスによる、位相差に基づいて、第1の出口ポート経由で送信される第2のデータパケットをスケジュールすることは、第1のネットワークデバイスによる、位相差および処理遅延に基づいて、第2のデータパケットに関する対応する第1のバッファを決定することであって、複数の第1のバッファが、対応する第1のバッファを含み、かつ処理遅延が、第1のネットワークデバイスによる、第1のデータパケットに基づいて第2のデータパケットを決定するプロセスにおいて生じる遅延であること、第1のネットワークデバイスによる、対応する第1のバッファに第2のデータパケットを記憶すること、および第2のデータパケットが記憶された後の、対応する第1のバッファが第1のネットワークデバイスによってスケジュールされる第1のサイクル内で、第1のネットワークデバイスによる、第1の出口ポート経由で第2のデータパケットを送信することを含む。
【0020】
第2の態様によれば、パケット転送方法が提供され、方法は、第2のネットワークデバイスによる、第1のメッセージを生成することであって、第1のメッセージが、位相差を決定すべく第1のネットワークデバイスをトリガするのに使用され、かつ位相差が、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差であること、および、その後、第2のネットワークデバイスによる、第2のネットワークデバイスの第2の出口ポート経由で第1のネットワークデバイスに第1のメッセージを送信することであって、複数の第1のバッファに関するスイッチングサイクルが、複数の第2のバッファに関するスイッチングサイクルと同一であることを含む。
【0021】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスおよび第2のネットワークデバイスが、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0022】
第2の態様の可能な実装において、方法は、第2のネットワークデバイスによる、第2のメッセージを生成することであって、第2のメッセージが、第1の時刻と、第2の時刻とを含み、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が、第1の時刻より早期であること、および第2のネットワークデバイスによる、第2のネットワークデバイスの第2の出口ポート経由で第1のネットワークデバイスに第2のメッセージを送信することをさらに含む。
【0023】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスおよび第2のネットワークデバイスが、第1のメッセージおよび第2のメッセージの転送を介して位相差の計算精度を向上させる。
【0024】
第2の態様の別の可能な実装において、方法は、第2のネットワークデバイスによる、第2のメッセージを生成することであって、第2のメッセージが、第1の時間差を含み、第1の時間差が、第1の時刻と第2の時刻の間の差であり、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、かつ第1のスイッチング時刻が、第1の時刻より早期であること、および第2のネットワークデバイスによる、第2のネットワークデバイスの第2の出口ポート経由で第1のネットワークデバイスに第2のメッセージを送信することをさらに含む。
【0025】
この実施形態において提供される解決策に基づいて、第1のネットワークデバイスおよび第2のネットワークデバイスが、第1のメッセージおよび第2のメッセージの転送を介して位相差の計算精度を向上させる。
【0026】
前述の第1の態様または第2の態様において、任意選択で、第1のメッセージは、第1のメッセージを識別するための第1の識別子を含み、第2のメッセージは、第2のメッセージを識別するための第2の識別子を含み、第1の識別子は、第2の識別子に対応する。
【0027】
前述の第1の態様または第2の態様において、任意選択で、第1のメッセージは、巡回オフセット測定メッセージCOMMである。
【0028】
前述の第1の態様または第2の態様において、任意選択で、第2のメッセージは、巡回オフセットフォローアップメッセージCOFMである。
【0029】
第3の態様によれば、第1のネットワークデバイスが提供される。第1のネットワークデバイスは、前述の方法において第1のネットワークデバイスの挙動を実施する機能を有する。機能は、ハードウェアに基づいて実施されてよく、または対応するソフトウェアを実行するハードウェアに基づいて実施されてよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のモジュールを含む。
【0030】
可能な設計において、第1のネットワークデバイスの構造は、プロセッサと、インタフェースとを含み、かつプロセッサは、第1のネットワークデバイスが前述の方法における対応する機能を実行するのをサポートするように構成される。インタフェースは、第1のネットワークデバイスと第2のネットワークデバイスの間の通信をサポートし、かつ第2のネットワークデバイスから前述の方法において情報または命令を受信するように構成される。第1のネットワークデバイスは、メモリをさらに含んでよい。メモリは、プロセッサに結合され、かつ第1のネットワークデバイスのために必要なプログラム命令およびデータを記憶するように構成される。
【0031】
別の可能な設計において、第1のネットワークデバイスは、プロセッサと、送信機と、受信機と、ランダムアクセスメモリと、読取り専用メモリと、バスとを含む。プロセッサは、バスを介して送信機、受信機、ランダムアクセスメモリ、および読取り専用メモリに別々に結合される。第1のネットワークデバイスが実行される必要があるとき、基本入出力システムにおけるブートローダ、または読取り専用メモリに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつ第1のネットワークデバイスを通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、第1のネットワークデバイスは、プロセッサが、第1の態様、または第1の態様の可能な実装のうちのいずれか1つにおける方法を実行するように、ランダムアクセスメモリにおいてアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0032】
第4の態様によれば、第1のネットワークデバイスが提供される。第1のネットワークデバイスは、メイン制御ボードと、インタフェースボードとを含み、スイッチングボードをさらに含んでよい。第1のネットワークデバイスは、第1の態様、または第1の態様の可能な実装のうちのいずれか1つにおける方法を実行するように構成される。具体的には、第1のネットワークデバイスは、第1の態様、または第1の態様の可能な実装のうちのいずれか1つにおける方法を実行するように構成されたモジュールを含む。
【0033】
第5の態様によれば、第1のネットワークデバイスが提供される。第1のネットワークデバイスは、コントローラと、第1の転送サブデバイスとを含む。第1の転送サブデバイスは、インタフェースボードを含み、スイッチングボードをさらに含んでよい。第1の転送サブデバイスは、第4の態様においてインタフェースボードの機能を実行するように構成され、第4の態様においてスイッチングボードの機能をさらに実行してよい。コントローラは、受信機と、プロセッサと、送信機と、ランダムアクセスメモリと、読取り専用メモリと、バスとを含む。プロセッサは、バスを介して受信機、送信機、ランダムアクセスメモリ、および読取り専用メモリに別々に結合される。コントローラが実行される必要があるとき、基本入出力システムにおけるブートローダ、または読取り専用メモリに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつコントローラを通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、コントローラは、プロセッサが、第4の態様におけるメイン制御ボードの機能を実行するように、ランダムアクセスメモリにおいてアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0034】
第6の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、前述の第1のネットワークデバイスによって使用されるプログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行するとき、プロセッサまたはハードウェアデバイスは、第1の態様における第1のネットワークデバイスの機能またはステップを完了してよい。
【0035】
第7の態様によれば、第2のネットワークデバイスが提供される。第2のネットワークデバイスは、前述の方法における第2のネットワークデバイスの挙動を実施する機能を有する。機能は、ハードウェアに基づいて実施されてよく、または対応するソフトウェアを実行するハードウェアに基づいて実施されてよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のモジュールを含む。
【0036】
可能な設計において、第2のネットワークデバイスの構造は、プロセッサと、インタフェースとを含む。プロセッサは、第2のネットワークデバイスが前述の方法における対応する機能を実行するのをサポートするように構成される。インタフェースは、第2のネットワークデバイスと第1のネットワークデバイスの間の通信をサポートし、かつ前述の方法において第1のネットワークデバイスに情報または命令を送信するように構成される。第2のネットワークデバイスは、メモリをさらに含んでよい。メモリは、プロセッサに結合されるように構成され、かつメモリは、第2のネットワークデバイスのために必要なプログラム命令およびデータを記憶する。
【0037】
別の可能な設計において、第2のネットワークデバイスは、プロセッサと、送信機と、受信機と、ランダムアクセスメモリと、読取り専用メモリと、バスとを含む。プロセッサは、バスを介して送信機、受信機、ランダムアクセスメモリ、および読取り専用メモリに別々に結合される。第2のネットワークデバイスが実行される必要があるとき、基本入出力システムにおけるブートローダ、または読取り専用メモリに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつ第2のネットワークデバイスを通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、第2のネットワークデバイスは、プロセッサが、第2の態様、または第2の態様の可能な実装のうちのいずれか1つにおける方法を実行するように、ランダムアクセスメモリにおいてアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0038】
第8の態様によれば、第2のネットワークデバイスが提供される。第2のネットワークデバイスは、メイン制御ボードと、インタフェースボードとを含み、スイッチングボードをさらに含んでよい。第2のネットワークデバイスは、第2の態様、または第2の態様の可能な実装のうちのいずれか1つにおける方法を実行するように構成される。具体的には、第2のネットワークデバイスは、第2の態様、または第2の態様の可能な実装のうちのいずれか1つにおける方法を実行するように構成されたモジュールを含む。
【0039】
第9の態様によれば、第2のネットワークデバイスが提供される。第2のネットワークデバイスは、コントローラと、第2の転送サブデバイスとを含む。第2の転送サブデバイスは、インタフェースボードを含み、スイッチングボードをさらに含んでよい。第2の転送サブデバイスは、第8の態様におけるインタフェースボードの機能を実行するように構成され、第8の態様におけるスイッチングボードの機能をさらに実行してよい。コントローラは、受信機と、プロセッサと、送信機と、ランダムアクセスメモリと、読取り専用メモリと、バスとを含む。プロセッサは、バスを介して受信機、送信機、ランダムアクセスメモリ、および読取り専用メモリに別々に結合される。コントローラが実行される必要があるとき、基本入出力システムにおけるブートローダ、または読取り専用メモリに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつコントローラを通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、コントローラは、プロセッサが、第8の態様におけるメイン制御ボードの機能を実行するように、ランダムアクセスメモリにおいてアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0040】
第10の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、前述の第2のネットワークデバイスによって使用されるプログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行するとき、プロセッサまたはハードウェアデバイスは、前述の第2の態様における第2のネットワークデバイスの機能またはステップを完了してよい。
【0041】
第11の態様によれば、ネットワークシステムが提供される。ネットワークシステムは、第1のネットワークデバイスと、第2のネットワークデバイスとを含む。第1のネットワークデバイスは、第3の態様、第4の態様、または第5の態様における第1のネットワークデバイスであり、第2のネットワークデバイスは、第7の態様、第8の態様、または第9の態様における第2のネットワークデバイスである。
【0042】
前述の解決策によれば、通信ネットワークにおいて、第1のネットワークデバイスが、第2のネットワークデバイスから受信されたメッセージに基づいて位相差を決定し、第1のネットワークデバイスが、位相差を決定するとき、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延を考慮する。さらに、第1のネットワークデバイスは、位相差に基づいて、第1のネットワークデバイスの第1の出口ポート経由で送信されるデータパケットをスケジュールしてよい。このようにして、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【図面の簡単な説明】
【0043】
【
図1】本出願の実施形態による通信ネットワークの構造の概略図である。
【
図2】本出願の実施形態によるパケット転送プロセスの概略図である。
【
図3】本出願の実施形態による別のパケット転送プロセスの概略図である。
【
図4】本出願の実施形態によるパケット転送方法のフローチャートである。
【
図5】本出願の実施形態による第1のネットワークデバイスの構造の概略図である。
【
図6】本出願の実施形態による第1のネットワークデバイスのハードウェア構造の概略図である。
【
図7】本出願の実施形態による別の第1のネットワークデバイスのハードウェア構造の概略図である。
【
図8】本出願の実施形態による第2のネットワークデバイスの構造の概略図である。
【
図9】本出願の実施形態による第2のネットワークデバイスのハードウェア構造の概略図である。
【
図10】本出願の実施形態による別の第2のネットワークデバイスのハードウェア構造の概略図である。
【発明を実施するための形態】
【0044】
以下では、特定の実施形態を使用することによって詳細な説明を別々に提供する。
【0045】
図1は、本出願の実施形態による通信ネットワークの構造の概略図である。
図1に示されるとおり、通信ネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含む。可能な実装において、通信ネットワークは、完全に分散されたモデルにおけるタイムセンシティブネットワーキング(time-sensitive networking,TSN)である。完全に分散されたモデルにおけるTSNのネットワークアーキテクチャに関しては、IEEE 802.1Qcc-2018の「Clause 46. Time-Sensitive Networking (TSN) Configuration」における関連する説明を参照されたい。本出願のこの実装において、パケット転送方向は、第2のネットワークデバイスから第1のネットワークデバイスにパケットを送信することである。第2のネットワークデバイスは、第2の出口ポートを含む。第1のネットワークデバイスは、第1の入口ポートと、第1の出口ポートとを含む。第2のネットワークデバイスの第2の出口ポートと第1のネットワークデバイスの第1の出口ポートとは、通信リンク経由で接続される。第2のネットワークデバイスは、第2の出口ポート経由で第1のネットワークデバイスに第1のパケットを送信してよい。通信リンク経由で送信された後、第1のパケットは、第1のネットワークデバイスの第1の入口ポートに達する。第1のネットワークデバイスは、第1の入口ポート経由で第1のパケットを受信してよい。第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットを処理してよい。その後、第1のネットワークデバイスは、処理された第1のパケットを、第1の出口ポート経由で第1のネットワークデバイスの次のホップのネットワークデバイスに送信してよい。任意選択で、第2のネットワークデバイスは、第2の入口ポートを含んでよい。第2のネットワークデバイスが第2の入口ポートを含む場合、第2のネットワークデバイスは、第2の入口ポート経由で、第2のネットワークデバイスの以前のホップのネットワークデバイスによって送信された第2のパケットを受信してよい。その後、第2のネットワークデバイスは、対応する第1のパケットを獲得すべく第2のパケットを処理する。第1のネットワークデバイスおよび第2のネットワークデバイスは、具体的には、ルータまたはスイッチであってよい。本出願のこの実施形態において、1つの通信リンクが、説明のために例として使用される。第1のネットワークデバイスと第2のネットワークデバイスの間に複数の通信リンクが存在してよいことを理解されたい。言い換えると、第1のネットワークデバイスは、複数の第1の入口
ポートを含んでよく、第2のネットワークデバイスは、複数の第2の出口
ポートを含んでよい。
【0046】
図2は、
図1に示されるネットワーク構造に基づいて、第2のネットワークデバイスから第1のネットワークデバイスにパケットを送信するプロセスを示す。
図2に示されるとおり、上から下まで、合計で4つの水平の長い実線、すなわち、L1、L2、L3、およびL4が示される。L1は、第2のネットワークデバイスの第2の出口ポートにおけるパケットキューイング解除プロセスを示し、L2は、第1のネットワークデバイスの第1の入口ポートにおけるパケットキューイングプロセスを示し、L3は、第1のネットワークデバイス内部のパケット処理プロセスを示し、L4は、第1のネットワークデバイスの第1の出口ポートにおけるパケットキューイング解除プロセスを示す。
【0047】
第2のネットワークデバイスは、第2の出口ポートのために複数のバッファを設定してよく、複数のバッファの各々が、第2の出口ポートのキューイング解除されたパケットをバッファリングするように構成される。したがって、複数のバッファの各々が、出口ポートバッファと呼ばれてよい。複数のバッファは、第2のネットワークデバイスによって巡回でスケジュールされる。例えば、
図2におけるL1によって示されるとおり、第2のネットワークデバイスは、第2の出口ポートのために3つのバッファ、すなわち、バッファa
2、バッファb
2、およびバッファc
2を設定する。各バッファが第2のネットワークデバイスによってスケジュールされるサイクルは、同一であり、T
cである。したがって、T
cは、バッファa
2、バッファb
2、およびバッファc
2に関するスイッチングサイクルと呼ばれてよい。具体的には、T
1=0からT
1=1までのサイクル内で、第2のネットワークデバイスは、バッファa
2をスケジュールし、第2の出口ポートからバッファa
2内のパケットを送出し、T
1=1より前にバッファa
2内のすべてのパケットを送出する(すなわち、バッファa
2内のパケットキューを空にする)。T
1=0からT
1=1までの時間長は、T
cである。T
1=1において、第2のネットワークデバイスは、スケジュールされるバッファをバッファa
2からバッファb
2に切り換える。その後、T
1=1からT
1=2までのサイクル内で、第2のネットワークデバイスは、バッファb
2をスケジュールし、第2の出口ポートからバッファb
2内のパケットを送出し、T
1=2より前にバッファb
2内のすべてのパケットを送出する(すなわち、バッファb
2内のパケットキューを空にする)。T
1=1からT
1=2までの時間長は、T
cである。T
1=2において、第2のネットワークデバイスは、スケジュールされるバッファをバッファb
2からバッファc
2に切り換える。その後、T
1=2からT
1=3までのサイクル内で、第2のネットワークデバイスは、バッファc
2をスケジュールし、第2の出口ポートからバッファc
2内のパケットを送出し、T
1=3より前にバッファc
2内のすべてのパケットを送出する(すなわち、バッファc
2内のパケットキューを空にする)。T
1=2からT
1=3までの時間長は、T
cである。前述の説明によれば、第2のネットワークデバイスによって設定されるバッファは、巡回でスケジュールされる。したがって、T
1=3において、第2のネットワークデバイスは、スケジュールされるバッファをバッファc
2からバッファa
2に切り換える。その後、T
1=3からT
1=4までのサイクル内で、第2のネットワークデバイスは、バッファa
2をスケジュールし、第2の出口ポートからバッファa
2内のパケットを送出し、T
1=4より前にバッファa
2内のすべてのパケットを送出する(すなわち、バッファa
2内のパケットキューを空にする)。T
1=3からT
1=4までの時間長は、T
cである。類比により、バッファa
2、バッファb
2、およびバッファc
2は、巡回でスケジュールされることが可能である。バッファが第2のネットワークデバイスによってサイクル内でスケジュールされないとき、そのことは、そのバッファが第2のネットワークデバイスによって使用されていないことを意味するわけではないことを理解されたい。例えば、T
1=1からT
1=3までのサイクル内で、バッファa
2は、第2のネットワークデバイスによってスケジュールされないが、この時間中、バッファa
2は、次回にバッファa
2が第2のネットワークデバイスによってスケジュールされるときにバッファa
2内のパケットが放出されるようにパケットをバッファリングしてよい。詳細に関しては、後続の実装の説明を参照されたい。本出願のこの実装において、T
1の単位は、本出願において限定されない、ミリ秒、マイクロ秒、またはナノ秒を含んでよい。さらに、以上の説明におけるT
1の特定の値は、例示的な値である。以上の説明によれば、時点T
1に達するといつでも、第2のネットワークデバイスによってスケジュールされるバッファは、切り換えられる。したがって、T
1は、バッファa
2、バッファb
2、およびバッファc
2のスイッチング時刻として理解されてよい。言い換えると、スイッチング時刻として、T
1は、バッファ(a
2、b
2、またはc
2)のスケジューリングの開始時点と見なされてよく、またはバッファ(a
2、b
2、またはc
2)のスケジューリングの終了時点と見なされてよい。
【0048】
第2のネットワークデバイスは、第2の出口ポート経由で第1のネットワークデバイスにパケットを送信する。例えば、第2のネットワークデバイスがバッファa
2をスケジュールするT
c(T
1=0からT
1=1)内で、第2のネットワークデバイスが、第2の出口ポート経由で第1のネットワークデバイスに第1のデータパケットを送信する。
図2に示されるとおり、L1とL2の間の2つの斜めの接続する線によって形成された区域が、第1のデータパケットが送信されることが可能である間隔を示す。具体的には、この区域内で、第1のデータパケットが、第2の出口ポート経由で第2のネットワークデバイスによって送出され、第1の入口ポート経由で第1のネットワークデバイスによって受信される。例えば、T
1=0において、第2のネットワークデバイスが、第2の出口ポート経由で第1のデータパケットを送信することを開始する。対応して、T
2=1.3において、第1のネットワークデバイスが、第1の入口ポート経由で第1のデータパケットのデータの第1のビットを受信することができる。実際のアプリケーションシナリオにおいて、異なるバッファがスケジュールされるサイクル間の干渉およびジッタを防止すべく、かつデータパケットがサイクル内で送信され、受信されることを確実にすべく、各バッファがスケジュールされる各サイクルは、第1のアイドルサイクルと、第2のアイドルサイクルとをさらに含んでよい。第1のアイドルサイクルの開始時点は、各バッファがスケジュールされるサイクルの開始時点であり、第2のアイドルサイクルの終了時点は、各バッファがスケジュールされるサイクルの終了時点である。第1のアイドルサイクル内、および第2のアイドルサイクル内で、第2のネットワークデバイスは、バッファ内のパケットを送信しない。2つの斜めの接続する線は、第2のネットワークデバイスと第1のネットワークデバイスの間の通信リンクが、
図2に示される「最小リンク遅延=1.3T
c」などのリンク遅延を有するために形成される。通信リンクのリンク遅延は、複数の方法を使用することによって獲得されてよい。例えば、第2のネットワークデバイスおよび第1のネットワークデバイスが、PTPに基づいて通信リンクのリンク遅延を測定する。最小リンク遅延は、リンク遅延の複数の測定の後に獲得される最小値として理解されてよい。本出願のこの実装において、リンク遅延は、最小リンク遅延に限定されない。例えば、平均リンク遅延が、リンク遅延として使用されてよく、または特定の測定を介して獲得されるリンク遅延が、リンク遅延として使用されてよい。最小リンク遅延の値(1.3T
c)は、説明の便宜のための例である。
【0049】
図2のL2は、第1のネットワークデバイスの第1の入口ポートにおけるパケットキューイングの事例を示す。例えば、第2のネットワークデバイスが、第2の出口ポート経由で第1のデータパケットを送信する。第1のネットワークデバイスが、第1の入口ポート経由で第1のデータパケットを受信する。第1のデータパケットが、第1のネットワークデバイスが第1のデータパケットを処理するように、第1のネットワークデバイスのパケットキューに入る。
図2のL2において、T
2=0.3、T
2=1.3、T
2=2.3、およびT
2=3.3が、T
1および最小リンク遅延に基づいて決定される。例えば、最初に、以下の式が存在する。すなわち、T
2,offset=最小リンク遅延 mod T
c=1.3T
c mod T
c=0.3である。第1のネットワークデバイスは、第1の出口ポートに対応するスイッチング時刻、すなわち、T
4の特定の時点を知る。さらに、第2のネットワークデバイスと第1のネットワークデバイスが、時間に関して同期されるため、第1のネットワークデバイスは、第2のネットワークデバイスの第2の出口ポートに対応するスイッチング時刻、すなわち、T
1の特定の時点を決定することができる。第1のネットワークデバイスは、T
1およびT
2,offsetに基づいて、T
2の各時点、例えば、T
2=T
1+T
2,offsetを決定する。ここで、modは、モジュロ演算を表すのに使用される。前述の説明に関して、T
2は、T
1および最小リンク遅延に基づいて決定される。本出願のこの実装において、T
2は、第2のネットワークデバイスと第1のネットワークデバイスの間のデータパケットの転送プロセスについて説明する便宜のために導入される。実際のシナリオにおいて、第1のネットワークデバイスは、T
2の存在に関心がない、すなわち、第1のネットワークデバイスは、T
2を制御することも、使用する必要もなくてよい。
【0050】
図2のL3は、第1のネットワークデバイス内部のパケット処理プロセスを示す。例えば、第1のネットワークデバイスが、第1の入口ポート経由で第1のデータパケットを受信した後、第1のネットワークデバイスは、第1のデータパケットを処理する。本出願のこの実装において、処理の具体的な動作は、限定されず、任意の形態の動作を含んでよい。例えば、第1のネットワークデバイスは、第1のデータパケットのヘッダを更新する、または第1のネットワークデバイスは、第1のデータパケットのデータペイロードを更新する、または第1のネットワークデバイスは、第1のデータパケットを、新たなデータパケットを生成する条件として使用する、または第1のネットワークデバイスは、第1のデータパケットを変更されないままに保ち、第1のデータパケットを単にトランスペアレントに送信する。第1のネットワークデバイスによる処理の後、第2のデータパケットが、獲得される。第2のデータパケットは、第1のデータパケットと同一であっても、異なってもよいことを理解されたい。
図2のL3において、T
3=0.5、T
3=1.5、T
3=2.5、およびT
3=3.5が、T
2および最大処理遅延、F
MAXに基づいて決定される。例えば、以下の式が存在する。すなわち、T
3=T
2+F
MAXである。最大処理遅延は、処理遅延の複数の測定の後に獲得される最大値として理解されてよい。本出願のこの実装において、処理遅延は、最大リンク遅延に限定されない。例えば、平均処理遅延が、処理遅延として使用されてよく、または特定の測定を介して獲得される処理遅延が、処理遅延として使用されてよい。本出願のこの実装において、T
3は、第1のネットワークデバイスにおけるデータパケットの処理プロセスについて説明する便宜のために導入される。実際のシナリオにおいて、T
3の存在に関心がない、すなわち、第1のネットワークデバイスは、T
3を制御することも、使用することも必要なくてよい。
【0051】
図2に示されるとおり、L2とL3の間の2つの斜めの接続する線によって形成される区域が、第1のデータパケットが処理されることが可能なサイクルを示す。具体的には、データパケットが、T
2=1.3からT
2=2.3までの間隔内で第1の入口ポート経由で受信され、対応して、第1のネットワークデバイスが、T
3=1.5からT
3=2.5までの間隔内で対応する処理を完了し、処理されたデータパケットを第1のネットワークデバイスのバッファ(例えば、バッファa
1)に記憶する。例えば、第1のデータパケットは、T
2=1.3において第1の入口ポート経由で受信される。第1のデータパケットを受信した後、第1のネットワークデバイスは、第1のデータパケットを処理する。F
MAXに基づいて、第1のネットワークデバイスは、T
3=1.5において第1のデータパケットの処理を完了して、第2のデータパケットを獲得する。その後、第1のネットワークデバイスは、第1のネットワークデバイのバッファ(例えば、バッファa
1)に第2のデータパケットを記憶する。
【0052】
図2のL4は、第1のネットワークデバイスの第1の出口ポートにおけるパケットキューイング解除のプロセスを示す。第1のネットワークデバイスは、第1の出口ポートのために複数のバッファを設定してよく、複数のバッファの各々が、第1の出口ポートのキューイング解除されたパケットをバッファリングするように構成される。したがって、複数のバッファの各々が、出口ポートバッファと呼ばれてよい。複数のバッファは、第1のネットワークデバイスによって巡回でスケジュールされる。
図2のL4において示されるとおり、第1のネットワークデバイスは、第1の出口ポートのために3つのバッファ、すなわち、バッファa
1、バッファb
1、およびバッファc
1を設定する。各バッファが第1のネットワークデバイスによってスケジュールされるサイクルは、同一であり、T
cである。したがって、T
cは、バッファa
1、バッファb
1、およびバッファc
1に関するスイッチングサイクルと呼ばれてよい。具体的には、T
4=0からT
4=1までのサイクル内で、第1のネットワークデバイスは、バッファa
1をスケジュールし、第1の出口ポートからバッファa
1内のパケットを送出し、T
4=1より前にバッファa
1内のすべてのパケットを送出する(すなわち、バッファa
1内のパケットキューを空にする)。T
4=0からT
4=1までの時間長は、T
cである。T
4=1において、第1のネットワークデバイスは、スケジュールされるバッファをバッファa
1からバッファb
1に切り換える。その後、T
4=1からT
4=2までのサイクル内で、第1のネットワークデバイスは、バッファb
1をスケジュールし、第1の出口ポートからバッファb
1内のパケットを送出し、T
4=2より前にバッファb
1内のすべてのパケットを送出する(すなわち、バッファb
1内のパケットキューを空にする)。T
4=1からT
4=2までの時間長は、T
cである。T
4=2において、第1のネットワークデバイスは、スケジュールされるバッファをバッファb
1からバッファc
1に切り換える。その後、T
4=2からT
4=3までのサイクル内で、第1のネットワークデバイスは、バッファc
1をスケジュールし、第1の出口ポートからバッファc
1内のパケットを送出し、T
4=3より前にバッファc
1内のすべてのパケットを送出する(すなわち、バッファc
1内のパケットキューを空にする)。T
4=2からT
4=3までの時間長は、T
cである。前述の説明によれば、第1のネットワークデバイスによって設定されるバッファは、巡回でスケジュールされる。したがって、T
4=3において、第1のネットワークデバイスは、スケジュールされるバッファをバッファc
1からバッファa
1に切り換える。その後、T
4=3からT
4=4までのサイクル内で、第1のネットワークデバイスは、バッファa
1をスケジュールし、第1の出口ポートからバッファa
1内のパケットを送出し、T
4=4より前にバッファa
1内のすべてのパケットを送出する(すなわち、バッファa
1内のパケットキューを空にする)。T
4=3からT
4=4までの時間長は、T
cである。類比により、バッファa
1、バッファb
1、およびバッファc
1は、巡回でスケジュールされることが可能である。本出願のこの実装において、T
4の単位は、本出願において限定されない、ミリ秒、マイクロ秒、またはナノ秒を含んでよい。さらに、以上の説明におけるT
4の特定の値は、例示的な値である。以上の説明によれば、特定の時点T
4に達するといつでも、第
1のネットワークデバイスによってスケジュールされるバッファは、切り換えられる。したがって、T
4は、バッファa
1、バッファb
1、およびバッファc
1のスイッチング時刻として理解されてよい。言い換えると、スイッチング時刻として、T
4は、バッファ(a
1
、b
1
、またはc
1
)のスケジューリングの開始時点と見なされてよく、またはバッファ(a
1
、b
1
、またはc
1
)のスケジューリングの終了時点と見なされてよい。
図2におけるL1の前述の説明を参照すると、第2のネットワークデバイスの第2の出口ポートの複数のバッファに関するスイッチングサイクルと第1のネットワークデバイスの第1の出口ポートの複数のバッファに関するスイッチングサイクルとは、同一であり、ともにT
cである。さらに、第2のネットワークデバイスの第2の出口ポートのための複数のバッファのスイッチング時刻と第1のネットワークデバイス第1の出口ポートのための複数のバッファのスイッチング時刻とは、同期される、すなわち、T
1とT
4とは、同期される。
【0053】
前述の説明に関して、第1のネットワークデバイスが、第1のデータパケットの処理を完了して、第2のデータパケットを獲得した後、第1のネットワークデバイスは、第1のネットワークデバイスのバッファに第2のデータパケットを記憶する。例えば、
図2を参照すると、T
4=0からT
4=1までのサイクル内で、第1のネットワークデバイスは、バッファa
1をスケジュールする。このため、T
4=1において、バッファa
1に記憶されたすべてのパケットが、第1の出口ポート経由で送出されており、すなわち、バッファa
1内のパケットキューは、空にされている。バッファb
1およびバッファc
1が、それぞれ、T
4=1からT
4=2まで、およびT
4=2からT
4=3までの2つのサイクル内で第1のネットワークデバイスによってスケジュールされ、バッファa
1は、第1のネットワークデバイスによってスケジュールされない。したがって、T
4=1からT
4=3まで、バッファa
1は、バッファa
1を再スケジュールするとき、第1のネットワークデバイスがバッファa
1内のパケットを送信するように、
第1のネットワークデバイスによって処理されるパケットを記憶するのに使用されることが可能である。実際のアプリケーションシナリオにおいて、T
1とT
4とは同期され、かつ第1のネットワークデバイスと第2のネットワークデバイスとは同一のT
cを有するものの、
図2におけるL4におけるT
ABによって示されるとおり、第1のネットワークデバイスと第2のネットワークデバイスの間に位相差が存在する。したがって、T
ABのサイクル内で、バッファa
1は、パケットをバッファリングせず、バッファa
1のストレージスペースは、空のままである。T
ABのサイクルの終了(T
ABの終了時点は、T
AB間隔の右側の長い破線である)後、バッファa
1が、パケットをバッファリングすることを開始してよい。
図2をさらに参照すると、L3によれば、第1のデータパケットは、T
3=1.5からT
3=2.5までに第1のネットワークデバイスによって必然的に処理され、第2のデータパケットが、生成される。明らかに、T
3=1.5からT
3=2.5までのサイクルは、T
4=1からT
4=3までのサイクルに入り、したがって、第2のデータパケットは、バッファa
1によって受信され、記憶される。さらに、第2のデータパケットがバッファa
1によって記憶される最終時点は、T
3=2.5である。前述の説明に関して、T
1=0からT
1=1までのサイクル内で第2のネットワークデバイスによって送信されるデータパケットは、T
3=1.5からT
3=2.5までのサイクル内で(またはT
3=2.5より前に)バッファa
1に入ってよい。T
4=2からT
4=3までのサイクル内で、バッファc
1が、第1のネットワークデバイスによってスケジュールされている。したがって、T
4=3より前に、バッファa
1が、T
1=0からT
1=1までのサイクル内で第2のネットワークデバイスによって送信されたすべてのデータパケットをバッファリングしている場合でさえ、これらのデータパケットは、第1の出口ポート経由で送信されない。したがって、T
4=2からT
4=3までのサイクル内で、バッファa
1内のすべてのデータパケット(第2のデータパケット)が、第1の出口ポートの出口キューに到達し、送信されるべく待機している。その後、時点T
4=3において、第1のネットワークデバイスのバッファが、切り換えられる。T
4=3からT
4=4までのサイクル内で、バッファa
1が、第1のネットワークデバイスによって再スケジュールされ、バッファa
1内のデータパケット(第2のデータパケット)が、第1の出口ポート経由で送出される。
【0054】
図2に示される実装を参照すると、第1のネットワークデバイスと第2のネットワークデバイスとが、正確な時間同期を実行する必要がある。例えば、第2のネットワークデバイスのバッファa
2がスケジュールされる対応するサイクルは、T
1=0からT
1=1までであり、バッファb
2がスケジュールされる対応するサイクルは、T
1=1からT
1=2までであり、バッファc
2がスケジュールされる対応するサイクルは、T
1=2からT
1=3までである。対応して、第1のネットワークデバイスのバッファa
1がスケジュールされる対応するサイクルは、T
4=0からT
4=1までであり、バッファb
1がスケジュールされる対応するサイクルは、T
4=1からT
4=2までであり、バッファc
1がスケジュールされる対応するサイクルは、T
4=2からT
4=3までである。したがって、正確な時間同期が、ネットワーク展開の困難および費用を増大させる。さらに、通信ネットワークの伝送パス上のクロックジッタが存在する。伝送パス上に複数のネットワークデバイスが存在することがある。例えば、伝送パス上にネットワークデバイス1、ネットワークデバイス2、ネットワークデバイス3、ネットワークデバイス4、およびネットワークデバイス5が存在する。
図2において説明される方法によれば、ネットワークデバイス1、ネットワークデバイス2、ネットワークデバイス3、ネットワークデバイス4、およびネットワークデバイス5は、正確な時間同期を実行する必要がある。クロックジッタは、伝送パス上のすべてのネットワークデバイス上で生じ、データパケットが伝送パス上で送信されるにつれて蓄積する。例えば、データパケットがネットワークデバイス5に到達したとき、ネットワークデバイス1からネットワークデバイス4までのクロックジッタが蓄積されている。したがって、通信ネットワークにおける正確な時間同期中、クロックジッタの蓄積もまた、考慮される必要があり、このことが、正確な時間同期を実施することの困難を不可避に増大させる。
【0055】
図3は、
図1に示されるネットワーク構造に基づいて、第2のネットワークデバイスから第1のネットワークデバイスにパケットを送信するプロセスを示す。
図3に示される実装プロセスから、L
1における各バッファのスイッチング時刻が、L
4における対応する各バッファのスイッチング時刻とは異なることが見てとられることが可能である。したがって、第1のネットワークデバイスと第2のネットワークデバイスとは、時間に関して同期されない、すなわち、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施することができる。
図2と同様に、
図3において、上から下まで、合計で4つの水平の長い実線、すなわち、L1、L2、L3、およびL4が示される。L1は、第2のネットワークデバイスの第2の出口ポートにおけるパケットキューイング解除プロセスを示し、L2は、第1のネットワークデバイスの第1の入口ポートにおけるパケットキューイングプロセスを示し、L3は、第1のネットワークデバイス内部のパケット処理プロセスを示し、L4は、第1のネットワークデバイスの第1の出口ポートにおけるパケットキューイング解除プロセスを示す。
【0056】
図3に示されるとおり、第2のネットワークデバイスが、第2の出口ポートのために3つのバッファ、すなわち、バッファa
2、バッファb
2、およびバッファc
2を設定する。各バッファが第2のネットワークデバイスによってスケジュールされるサイクルは、同一であり、T
cである。対応して、第1のネットワークデバイスが、第1の出口ポートのために3つのバッファ、すなわち、バッファa
1、バッファb
1、およびバッファc
1を設定する。各バッファが第1のネットワークデバイスによってスケジュールされるサイクルは、同一であり、T
cである。
図3において、バッファa
2、バッファb
2、バッファc
2、バッファa
1、バッファb
1、およびバッファc
1をスケジュールすることの実装に関しては、
図2に関する前述の説明を参照されたく、詳細がここで再び説明されることはない。
図2と
図3の間の違いは、第1のネットワークデバイスと第2のネットワークデバイスとが時間に関して同期されないことにある。具体的には、
図3におけるL4を参照すると、T
4=0.1からT
4=1.1までのサイクル内で、第1のネットワークデバイスが、バッファa
1をスケジュールし、T
4=1.1からT
4=2.1のサイクル内で、第1のネットワークデバイスが、バッファb
1をスケジュールし、T
4=2.1からT
4=3.1のサイクル内で、第1のネットワークデバイスが、バッファc
1をスケジュールし、T
4=3.1からT
4=4.1のサイクル内で、第1のネットワークデバイスが、バッファa
1を再スケジュールする。以下では、
図3および
図4を参照して、第1のネットワークデバイスと第2のネットワークデバイスとが、時間同期なしにデータパケットのキューイングおよび転送を実施することができる特定の実装について具体的に説明する。
【0057】
図4は、本出願の実施形態によるパケット転送方法のフローチャートである。
図4における方法は、
図3に示されるパケット転送プロセスを実施すべく
図1に示されるネットワーク構造に適用されることが可能である。具体的には、方法は、以下のステップを含む。
【0058】
S101:第2のネットワークデバイスが、第1のメッセージを生成する。
【0059】
S102:第2のネットワークデバイスが、第2のネットワークデバイスの第2の出口ポート経由で第1のネットワークデバイスに第1のメッセージを送信する。
【0060】
S103:第1のネットワークデバイスが、第2のネットワークデバイスの第2の出口ポート経由で第2のネットワークデバイスによって送信された第1のメッセージを受信し、第1のメッセージが、位相差を測定するのに使用され、かつ位相差が、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差であり、リンク遅延が、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延である。
【0061】
図3に示される実装において、各バッファによるリソースの使用が限度を超えないようにすべく、通信ネットワークは、通信ネットワークにおける通信リンクを通るデータトラフィックフローを計画する必要がある。例えば、バッファa
2をスケジュールするサイクル内で、第2のネットワークデバイスが、第2の出口
ポート経由で第1のデータパケットを送出する。第1のネットワークデバイスが、第1のデータパケットに基づいて対応する第2のデータパケットを獲得する。その後、第1のネットワークデバイスは、いずれのバッファ(バッファa
1、b
1、またはc
1)が第2のデータパケットが送信されるサイクル内でスケジュールされるかを決定する必要がある。複数の第1のデータパケットが存在する場合、また、複数の対応する第2のデータパケットも存在する。第1のネットワークデバイスのバッファ(例えば、バッファa
1)が第2のデータパケットをバッファリングするのに使用されるとき、バッファa
1がすべての第2のデータパケットをバッファリングした後、バッファリングされた第2のデータパケットは、バッファa
1をスケジュールするサイクルが到来したときに送信されることを開始する。例えば、バッファa
2をスケジュールするサイクル内で、第2のネットワークデバイスが、第2の出口
ポート経由で10の第1のデータパケットを送出する(10の第1のデータパケットは、バッファa
2をスケジュールするサイクル内で送信されるすべてのデータパケットである)。第1のネットワークデバイスが、10の第1のデータパケットに基づいて対応する10の第2のデータパケットを獲得する。その後、第1のネットワークデバイスは、バッファ(例えば、バッファa
1)に10の第2のデータパケットをバッファリングする。第1のネットワークデバイスが、すべての10の第2のデータパケットがバッファa
1にバッファリングされたことを決定したとき、バッファリングされた10の第2のデータパケットは、バッファa
1をスケジュールするサイクルが到来したとき、送信されることを開始する。前述の方法を実施すべく、第1のネットワークデバイスは、位相差T
AB
に基づいて、第2のネットワークデバイスによってスケジュールされたバッファa
2
から送信された第1のデータパケットを受信することを決定する必要があり、かつ第1のネットワークデバイスは、位相差T
ABに基づいて、第2のデータパケットをバッファリングするため、および送信するための対応するバッファを決定する必要がある。
図3の実装によれば、本出願のこの実装は、位相差T
ABを決定し、その結果、第1のネットワークデバイスと第2のネットワークデバイスとが、時間同期なしにデータパケットのキューイングおよび転送を実施することを確実にする実装を提案する。言い換えると、第1のネットワークデバイスと第2のネットワークデバイスとが時間同期のために構成されるかどうかにかかわらず、データパケットのキューイングおよび転送は、影響を受けることがない。
【0062】
図3に示される実装において、以下の2つのタイプのメッセージ、すなわち、第1のメッセージおよび第2のメッセージが、定義されてよい。第1のメッセージと第2のメッセージとはともに、位相差T
ABを決定するのに使用される。位相差T
ABは、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差であり、リンク遅延が、第2のネットワークデバイスから第1のネットワークデバイスまでのリンクの遅延である。複数の第1のバッファは、
図3におけるバッファa
1、バッファb
1、およびバッファc
1であってよく、複数の第2のバッファは、
図3におけるバッファa
2、バッファb
2、およびバッファc
2であってよい。第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのスイッチング時刻は、
図3におけるT
4であってよく、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのスイッチング時刻は、
図3におけるT
1であってよい。対応して、位相差T
ABは、リンク遅延が考慮された、T
4とT
1の間の位相差と見なされてよい。
図3によれば、スイッチング時刻T
4は、T
4=0.1、T
4=1.1、T
4=2.1、T
4=3.1、およびT
4=4.1を含み、スイッチング時刻T
1は、T
1=0、T
1=1、T
1=2、T
1=3、およびT
1=4を含む。前述の説明によれば、T
4のスイッチングサイクルとT
1のスイッチングサイクルとはともにT
cであるため、T
4の値が以上の5つの値のいずれとして指定されるか、およびT
1の値が以上の5つの値のいずれとして指定されるかにかかわらず、最終的に計算される位相差T
ABは、同一である。例えば、T
4=1.1とT
1=1の間の位相差は、T
4=3.1とT
1=1の間の位相差と同一である。本出願のこの実装において決定される位相差T
ABは、リンク遅延が考慮された位相差である。具体的には、リンク遅延は、位相差T
ABを計算するプロセスにおいて考慮される。リンク遅延は、第2のネットワークデバイスから第1のネットワークデバイスまでのリンクの遅延、すなわち、第2のネットワークデバイスが第1のネットワークデバイスにパケットを送信するときに、パケットが第2のネットワークデバイスと第1のネットワークデバイスの間のリンクを通過するにつれて生じる遅延である。
【0063】
具体的には、第1のメッセージは、例えば、サイクルオフセット測定メッセージ(cycle offset measurement message,COMM)であり、第2のメッセージは、例えば、サイクルオフセットフォローアップメッセージ(cycle offset follow-up message,COFM)である。可能な実装において、第2のネットワークデバイスは、第1のネットワークデバイスに第1のメッセージおよび第2のメッセージを送信する。別の可能な実装において、第2のネットワークデバイスは、第1のネットワークデバイスに第1のメッセージを送信するが、第1のネットワークデバイスに第2のメッセージを送信することはしない。以下では、その2つの実装について別々に説明し、後続の説明において、COMMおよびCOFMは、説明のための例として使用される。
【0064】
可能な実装において、第2のネットワークデバイスは、第1のネットワークデバイスにCOMMおよびCOFMを送信する。具体的には、第2のネットワークデバイスは、COMMを生成し、COMMは、位相差T
ABを測定するのに使用される。任意選択で、COMMは、第1の識別子を含み、第1の識別子は、COMMを別のCOMMから区別するように、COMMを識別するのに使用される。COMMを生成した後、第2のネットワークデバイスは、第2のネットワークデバイスの第2の出口ポート経由で第1のネットワークデバイスにCOMMを送信する。
図3に示される「第1のメッセージ」を参照すると、第2のネットワークデバイスが、T
1=0からT
1=1までのサイクル内でバッファa
2をスケジュールする。対応して、第2のネットワークデバイスは、T
1=0からT
1=1のサイクル内でCOMMを送信する。COMMは、第2のネットワークデバイスが第1のデータパケットを送信するようにバッファa
2をスケジュールする一方で、第1のデータパケットと一緒に第1のネットワークデバイスに送信されてよい。無論、COMMは、第1のデータパケットと一緒に送信されなくてよく、別々に送信されてよい。例えば、COMMは、第2のネットワークデバイスが第1のネットワークデバイスにデータパケットを送信するより前に送信される。COMMを送信した後、第2のネットワークデバイスは、第1の時刻および第2の時刻を記録する。第1の時刻は、
図3におけるT
Tmによって示されるとおり、第2のネットワークデバイスがCOMMを送信する時刻である。第2の時刻は、COMMが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻は、第1の時刻より早期である。
図3に示されるとおり、第2のネットワークデバイスは、バッファa
2のスケジューリング中にCOMMを送信し、したがって、第2の時刻は、
図3におけるT
Sa、すなわち、T
1=0である。
【0065】
COMMを送信した後、第2のネットワークデバイスは、COFMを生成する。任意選択で、COFMは、第2の識別子を含み、第2の識別子は、COFMを識別するのに使用され、かつ第2の識別子は、第1の識別子に対応する。第2の識別子が第1の識別子に対応することは、第2の識別子が第1の識別子と同一であること、または第2の識別子と第1の識別子の間に対応関係が存在することを意味する。第2の識別子および第1の識別子に基づいて、第1のネットワークデバイスは、COMMとCOFMとが関連付けられたメッセージのペアであることを決定してよい。無論、COMMおよびCOFMは、それぞれ、第1の識別子および第2の識別子を含まなくてよい。このため、第1のネットワークデバイスがCOFMを受信した後、COFMと、COFMが受信される前に受信された最新のCOMMとは、デフォルトで、関連付けられたメッセージのペアを形成する。さらに、COFMは、第1の時刻TTmと、第2の時刻TSaとを含む、またはCOFMは、第1の時刻TTmと第2の時刻TSaの間の差、すなわち、TTm-TSaに対応する値を含む。
【0066】
対応して、第1のネットワークデバイスは、第2のネットワークデバイスの第2の出口ポート経由で第2のネットワークデバイスによって送信されるCOMMおよびCOFMを受信する。具体的には、COMMを受信した後、第1のネットワークデバイスは、COMMに基づいて第3の時刻を決定し、第3の時刻は、
図3におけるT
Rmによって示されるとおり、第1のネットワークデバイスがCOMMを受信する時刻である。T
Rmは、第1のネットワークデバイスがCOMMのデータの第1のビット(bit)を受信する時刻であってよく、またはT
Rmは、第1のネットワークデバイスがCOMMのすべての内容を受信する時刻であってよい。第3の時刻を決定した後、第1のネットワークデバイスは、第3の時刻に基づいて第4の時刻を決定する。第4の時刻は、COMMが受信されるときにスケジュールされた複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、第2のスイッチング時刻は、第3の時刻より後期である。
図3に示されるとおり、第1のネットワークデバイスは、デバイス自らのT
4の各スイッチング時刻を知り、第1のネットワークデバイスは、COMMが受信されるときにスケジュールされた第1のネットワークデバイスのバッファb
1を決定することができる。したがって、第1のネットワークデバイスは、第3の時刻に基づいて、T
4=2.1を第4の時刻、すなわち、
図3におけるT
Sbとして決定する。したがって、第1のネットワークデバイスは、第3の時刻T
Rmおよび第4の時刻T
Sbを獲得する。さらに、COFMを受信した後、第1のネットワークデバイスは、COFM内でT
TmおよびT
Saを獲得することができ、またはCOFM内でT
Tm-T
Saに対応する値を獲得することができる。
【0067】
別の可能な実装において、第2のネットワークデバイスは、第1のネットワークデバイスにCOMMを送信するが、第1のネットワークデバイスにCOFMを送信することはしない。前述の実装から区別するべく、この実装におけるCOMMは、COMM_1によって表される。COMM_1を生成して、送信するのに第2のネットワークデバイスによって使用される機構に関しては、前述の実装を参照されたく、詳細がここで再び説明されることはない。この実装においてCOMM_1によって搬送される内容は、前述の実装においてCOMMによって搬送される内容とは異なる。COFMは、この実装において送信されないため、COFM内の情報は、COMM_1内で搬送されてよい。言い換えると、COMM_1は、第1の時刻TTmと、第2の時刻TSaとを含む、またはCOMM_1は、TTm-TSaに対応する値を含む。第1の時刻TTmおよび第2の時刻TSaの説明に関しては、前述の実装を参照されたい。この実装において、第1の時刻TTmは、第2のネットワークデバイスによって記録されるCOMM_1の実際の送信時刻ではなく、パケット処理に関する第2のネットワークデバイスのハードウェア条件に基づいて第2のネットワークデバイスによって計算される推定された値であることに留意されたい。
【0068】
第1のネットワークデバイスが、COMM_1を受信する。第1のネットワークデバイスによってCOMM_1を受信することの実装に関しては、第1のネットワークデバイスによってCOMMを受信することの前述の実装を参照されたく、詳細がここで説明されることはない。COMM_1を受信した後、第1のネットワークデバイスは、COMM_1に基づいて第3の時刻TRmおよび第4の時刻TSbを決定してよい。第1のネットワークデバイスによって第3の時刻TRmおよび第4の時刻TSbを決定する実装に関しては、前述の実装を参照されたい。さらに、COMM_1を受信した後、第1のネットワークデバイスは、COMM_1内でTTmおよびTSaを獲得することができ、またはCOMM_1内でTTm-TSaに対応する値を獲得することができる。
【0069】
本出願のこの実装において、第1のメッセージが第2のネットワークデバイスから第1のネットワークデバイスにリンク上で送信されるときに生じる遅延は、第1のデータパケットがリンク上で送信されるときに生じる遅延と同一である。
【0070】
S104:第1のネットワークデバイスが、第1のメッセージに基づいて位相差を決定し、複数の第1のバッファに関するスイッチングサイクルが、複数の第2のバッファに関するスイッチングサイクルと同一であり、複数の第1のバッファが、第1のネットワークデバイスによって巡回でスケジュールされ、かつ複数の第2のバッファが、第2のネットワークデバイスによって巡回でスケジュールされる。
【0071】
前述の説明に関して、第1のネットワークデバイスが、前述の実装のCOMM_1を受信した場合、第1のネットワークデバイスは、COMM_1に基づいて位相差TABを決定する。第1のネットワークデバイスが、前述の実装のCOMMおよびCOFMを受信した場合、第1のネットワークデバイスは、COMMおよびCOFMに基づいて位相差TABを決定する。さらに、前述の説明に関して、第2のネットワークデバイスがバッファa2、b2、およびc2をスケジュールするスイッチングサイクルは、Tcであり、第1のネットワークデバイスがバッファa1、b1、およびc1をスケジュールするスイッチングサイクルもまた、Tcである。したがって、第1のネットワークデバイスのバッファに関するスイッチングサイクルは、第2のネットワークデバイスのバッファに関するスイッチングサイクルと同一である。言い換えると、第1のネットワークデバイスのバッファのスイッチング周波数は、第2のネットワークデバイスのバッファのスイッチング周波数と同一である。さらに、バッファa1、b1、およびc1は、第1のネットワークデバイスによって巡回でスケジュールされ、バッファa2、b2、およびc2は、第2のネットワークデバイスによって巡回でスケジュールされる。
【0072】
例えば、第1のネットワークデバイスが、位相差TABを決定し、位相差TABの値が、複数の第1のバッファに関するスイッチングサイクルと第1の値の間の差と等しく、第1の値が、複数の第1のバッファに関するスイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、第2の値が、第1の時刻と第2の時刻の間の差と第4の時刻と第3の時刻の間の差の合計と等しい。具体的には、このことは、式1において示される。
【0073】
TAB=Tc-(((TTm-TSa)+(TSb-TRm)) mod Tc) 式1
ここで、複数の第1のバッファに関するスイッチングサイクルは、Tcであり、第1の値は、((TTm-TSa)+(TSb-TRm)) mod Tcであり、第2の値は、(TTm-TSa)+(TSb-TRm)であり、modは、モジュロ演算を表す。
【0074】
第1のネットワークデバイスが、位相差TABを使用することによって、第2のネットワークデバイスから受信されるデータトラフィックをスケジュールすることができ、その結果、第1のネットワークデバイスと第2のネットワークデバイスの間で時間同期なしにデータトラフィックのキューイングおよび転送を実施する。第2のネットワークデバイスと第1のネットワークデバイスの間に複数のリンクが存在してよいことに留意されたい。例えば、第2のネットワークデバイスの出口ポート21が、リンク1経由で第1のネットワークデバイスの入口ポート11と通信し、第2のネットワークデバイスの出口ポート22が、リンク2経由で第1のネットワークデバイスの入口ポート12と通信し、第2のネットワークデバイスの出口ポート23が、リンク3経由で第1のネットワークデバイスの入口ポート13と通信する。第2のネットワークデバイスおよび第1のネットワークデバイスは、前述の実装により、それぞれ、リンク1、リンク2、およびリンク3に関する位相差を決定してよい。具体的には、位相差TAB1が、リンク1に関して決定され、位相差TAB2が、リンク2に関して決定され、位相差TAB3が、リンク3に関して決定される。
【0075】
S105:第1のネットワークデバイスが、位相差に基づいて、第1の出口ポート経由で送信される必要のある第2のデータパケットをスケジュールし、第2のデータパケットが、第1のデータパケットに基づいて第1のネットワークデバイスによって獲得されるデータパケットであり、第1のデータパケットが、第2のネットワークデバイスの第2の出口ポートから第1のネットワークデバイスによって受信されるデータパケットである。
【0076】
前述の説明を参照して、
図3を参照すると、第2のネットワークデバイスと第1のネットワークデバイスとは、時間に関して同期されない、すなわち、T
4とT
1とは、同期されない。例えば、第2のネットワークデバイスが、バッファa
2をスケジュールするサイクル(T
1=0からT
1=1)内で第1のデータパケットを送信する。複数の第1のデータパケットが存在する。
図3に示されるとおり、L1とL2の間の2つの斜めの接続する線(T
1=0からT
2=1.3までの斜めの線、およびT
1=1からT
2=2.3までの斜めの線)によって形成される区域が、第1のデータパケットが送信されることが可能な間隔を示す。具体的には、この区域内で、第1のデータパケットは、第2の出口ポート経由で第2のネットワークデバイスによって送信され、第1の入口ポート経由で第1のネットワークデバイスによって受信される。
図3におけるL2を参照すると、第1のネットワークデバイスが、T
2=1.3からT
2=2.3のサイクル内で第1の入口ポート経由で第1のデータパケットを受信する。このようにして、第1のデータパケットは、第1のネットワークデバイスが第1のデータパケットを処理するように第1のネットワークデバイスのパケットキューに入る。
【0077】
図3におけるL2の値T
2は、
図2におけるものとは異なる方法で決定される。具体的には、
図3を参照すると、第2のネットワークデバイスと第1のネットワークデバイスとは、時間に関して同期されない、すなわち、T
1とT
4とは、同期されない。したがって、第1のネットワークデバイスは、T
1の各時点の値を決定するのにT
4の各時点の値に依拠することができない。しかし、前述の説明を参照して、第1のネットワークデバイスは、位相差T
ABを計算することができる。さらに、
図3において、位相差T
ABの計算において、第2のネットワークデバイスから第1のネットワークデバイスまでのリンクの遅延は、考慮されている。したがって、L2におけるT
2は、T
4および位相差T
ABに基づいて決定されてよく、すなわち、T
2=T
4+T
ABである。均等なこととして、L2におけるT
2は、代替として、T
4、(1)、および(2)に基づいて決定されてよく、すなわち、T
2=T
4-(T
Tm-T
Sa)+(T
Sb-T
Rm)である。さらに、
図3におけるL3におけるT
3を決定する方法に関しては、
図2におけるL3におけるT
3を決定する方法を参照されたく、詳細がここで説明されることはない。同様に、本出願のこの実装において、T
2およびT
3は、第2のネットワークデバイスと第1のネットワークデバイスの間のデータパケットの転送プロセスを説明する便宜のために導入される。実際のシナリオにおいて、第1のネットワークデバイスは、T
2およびT
3の存在に関心がない、すなわち、第1のネットワークデバイスは、T
2およびT
3を制御することも、使用することもしなくてよい。
【0078】
第1のネットワークデバイスが、第1の入口ポート経由で第1のデータパケットを受信した後、第1のネットワークデバイスは、第1のデータパケットを処理する。
図3のL3は、第1のデータパケットを処理するサイクルを示し、最大処理遅延F
MAXの説明については、
図2における実施形態における説明を参照されたく、詳細がここで説明されることはない。L2とL3の間の2つの斜めの接続する線によって形成された区域が、第1のデータパケットが処理されることが可能なサイクルを示す。具体的には、データパケットが、T
2=1.3からT
2=2.3までの間隔内で第1の入口ポート経由で受信され、対応して、第1のネットワークデバイスが、対応する第2のデータパケットを獲得するようにT
3=1.5からT
3=2.5までの間隔内で対応する処理を完了し、第1のネットワークデバイスのバッファに第2のデータパケットを記憶する。複数の第2のデータパケットが存在する。
【0079】
図3におけるL4を参照して、前述の説明に関し、第2のネットワークデバイスが、T
1=0からT
1=1までのサイクル内で、位相差T
ABの計算と関係する第1のメッセージおよび第2のメッセージを送信する。式1によれば、T
Tm-T
Saの結果がマップされるL4上の位置が、図における(1)によって示され、T
Sb-T
Rmの結果がマップされるL4の位置が、図における(2)によって示される。対応して、計算された位相差T
ABがマップされるL4上の位置が、図における「T
AB」、すなわち、T
4=1.1からT
2=1.3までの対応する時間の長さによって示される。L4上に示されるT
ABの位置は、単に例示のためであり、第1のメッセージおよび第2のメッセージに基づいてT
ABが計算されたとき、T
ABのもたらされる位置は、T
ABがT
4=1.1からT
2=1.3までの間隔内に必然的に入ることを示さないことを理解されたい。
【0080】
前述の説明によれば、第1のネットワークデバイスは、T3=1.5からT3=2.5までの間隔内で第1のデータパケットの対応する処理を完了し、対応する第2のデータパケットを獲得する。第1のネットワークデバイスは、すべての第2のデータパケットを獲得した後に初めて、すべての第2のデータパケットを第1のネットワークデバイスのバッファにバッファリングするということではないことを理解されたい。第1のネットワークデバイスが第2のデータパケットを獲得するたびに、第1のネットワークデバイスは、第2のデータパケットが送信されるべく待機する第1のネットワークデバイスのバッファキューに第2のデータパケットをバッファリングする。したがって、第1のネットワークデバイスによる第1のデータパケットの処理、および第1のネットワークデバイスによる第2のデータパケットのバッファリングは、並行に実行される。したがって、第1のネットワークデバイスによる第2のデータパケットをバッファリングするサイクルもまた、T3=1.5からT3=2.5までの間隔に入る。バッファリングするアクションの期間が考慮される場合、第2のデータパケットをバッファリングするサイクルの終了時刻は、T3=2.5よりわずかに後期であってよい。しかし、そのような誤差は、本出願の技術的解決策の実装に影響を及ぼさない。したがって、本出願のこの実装の説明は、バッファリングするアクションによってもたらされる遅延を無視する。
【0081】
図3におけるL4を参照すると、T
4=0.1からT
4=1.1までのサイクル内で、第1のネットワークデバイスが、バッファa
1をスケジュールする。バッファa
1が、送信されるべきデータパケットを記憶する場合、第1のネットワークデバイスは、T
4=0.1からT
4=1.1までのサイクル内で第1の出口
ポート経由でこれらのデータパケットを送信する。さらに、T
4=1.1において、バッファa
1に記憶されたすべてのデータパケットが、第1の出口ポート経由で送出されている、すなわち、バッファa
1内のパケットキューは、空にされている。バッファb
1およびバッファc
1が、それぞれ、T
4=1.1からT
4=2.1まで、およびT
4=2.1からT
4=3.1までの2つのサイクル内で第1のネットワークデバイスによってスケジュールされ、バッファa
1は、2つのサイクル内で第1のネットワークデバイスによってスケジュールされない。
図3に示される実装において、第1のネットワークデバイスが、位相差T
AB、および第1のネットワークデバイスの内部最大処理遅延F
MAXに基づいて、第2のデータパケットがバッファリングされるべきバッファを決定してよい。具体的には、第1のネットワークデバイスは、T
AB+F
MAXに対応するサイクルを決定し、すなわち、T
AB+F
MAXに対応するサイクルは、T
4=1.1からT
3=1.5までのサイクルである。第1のネットワークデバイスは、T
4=1.1からT
4=2.1までのサイクル内でバッファb
1をスケジュールすべきことを知ることができる。したがって、第1のネットワークデバイスは、T
AB+F
MAXに対応するサイクルがバッファb
1がスケジュールされる開始時刻(T
4=1.1)を超えていることを決定し、第1のネットワークデバイスは、第2のデータパケットをバッファリングするのにバッファb
1を使用しない。さらに、第1のデータパケットは、バッファa
2をスケジュールするサイクル(T
1=0からT
1=1まで)内で第2のネットワークデバイスによって送信され、このサイクルの長さは、T
cである。言い換えると、第2のネットワークデバイスが第1のデータパケットを送信する最も早期の限度時刻および最も後期の限度時刻は、それぞれ、T
1=0およびT
1=1である。対応して、第1のネットワークデバイスが第1のデータパケットを処理するサイクルの長さもまた、T
c(T
3=1.5からT
3=2.5までの間隔)である。言い換えると、第1のネットワークデバイスがすべての第1のデータパケットを処理する最も後期の限度時刻は、T
3=2.5である。第1のネットワークデバイスは、T
AB+F
MAX+T
cに対応するサイクル(T
4=1.1からT
3=2.5までのサイクル)を決定してよい。第1のネットワークデバイスは、T
4=2.1からT
4=3.1までのサイクル内でバッファc
1をスケジュールすべきことを知ることができる。T
AB+F
MAX+T
cに対応するサイクルの最も後期の時刻(T
3=2.5)は、バッファc
1がスケジュールされる開始時刻(T
4=2.1)を超えている。第1のネットワークデバイスが、第2のデータパケットをバッファリングするのにバッファc
1を使用する場合、バッファc
1は、すべての第2のデータパケットがバッファリングされるより前に、データパケットを送信するように第1のネットワークデバイスによってスケジュールされていることが可能である。したがって、第1のネットワークデバイスは、第2のデータパケットをバッファリングするのにバッファc
1を使用しない。したがって、第1のネットワークデバイスは、第2のデータパケットをバッファリングするのにバッファa
1を使用することを決定してよい。したがって、
図3から、T
3=1.5からT
3=2.5までのサイクルが、すべての第2のデータパケットをキューにバッファリングするのにバッファa
1が使用されることを確実にするように、第1のネットワークデバイスがバッファc
1をスケジュールするL4におけるサイクルにマップされることが見てとられることが可能である。言い換えると、T
4=2.1からT
4=3.1までのサイクル内で、バッファa
1内のすべてのデータパケット(第2のデータパケット)が、第1の出口ポートの出口キューに到達して、送信されるべき待機している。その後、時点T
4=3.1において、第1のネットワークデバイスのバッファが、切り換えられる。T
4=3.1からT
4=4.1までのサイクル内で、バッファa
1が、第1のネットワークデバイスによって再スケジュールされ、バッファa
1内のデータパケット(第2のデータパケット)が、第1の出口ポート経由で送出される。前述の実装において、最大処理遅延F
MAXが、使用される。実際のアプリケーションにおいて、F
MAXの使用には限定されず、平均処理遅延などの、遅延を処理する別の形態が使用されてよい。
【0082】
任意選択で、第1のネットワークデバイスにおいて、スケジュールされることが可能な4つバッファ、すなわち、バッファa1、b1、c1、およびd1が存在する。前述の実装によれば、第1のネットワークデバイスは、バッファa1、b1、c1、およびd1を巡回でスケジュールする。前述の方法によれば、第1のネットワークデバイスは、位相差TABに基づいて、バッファb1もc1も第2のデータパケットをバッファリングするのに使用されないことを決定する。したがって、第1のネットワークデバイスは、第2のデータパケットをバッファリングするのにバッファa1またはd1を使用することを決定してよい。その後、第1のネットワークデバイスは、バッファd1がバッファa1よりも早期にスケジュールされることを決定してよい。したがって、第1のネットワークデバイスは、好ましくは、第2のデータパケットをバッファd1にバッファリングし、バッファd1が再スケジュールされるときに第2のデータパケットを送信する。
【0083】
任意選択で、本出願のこの実装において、第1のメッセージおよび第2のメッセージが、第1のネットワークデバイスと第2のネットワークデバイスの間で転送されるプロトコルパケット内で搬送されてよい(例えば、インターネットプロトコル(Internet Protocol,IP)パケットが第1のネットワークデバイスと第2のネットワークデバイスの間で転送されるとき、第1のメッセージおよび第2のメッセージが、IPパケット内で搬送されてよい)。代替として、新たなプロトコルパケットが、第1のメッセージおよび第2のメッセージを搬送すべく第1のネットワークデバイスおよび第2のネットワークデバイスにおいて作成されてよい。
【0084】
例えば、IEEE 1588プロトコルが、第1のネットワークデバイスおよび第2のネットワークデバイスにおいて実行される。その後、第1のメッセージが、IEEE 1588によって定義されるSyncおよびDelay_Reqメッセージ内で搬送されてよい。例えば、タイプ-長さ-値(type-length-value,TLV)フィードが、第1のメッセージの内容を搬送すべくSyncおよびDelay_Reqメッセージに追加される。SyncおよびDelay_Reqメッセージの定義および説明に関しては、IEEE 1588-2008における対応する説明、例えば、IEEE 1588-2008における表-26を参照されたい。第2のメッセージが、IEEE 1588によって定義されるFollow_Upメッセージ内で搬送されてよい。例えば、TLVフィードが、第2のメッセージの内容を搬送すべくFollow_Upメッセージに追加される。Follow_Upメッセージの定義および説明に関しては、IEEE 1588-2008における対応する説明、例えば、IEEE 1588-2008における表-27を参照されたい。
【0085】
前述の実装によれば、第1のネットワークデバイスが、第2のネットワークデバイスから受信されるメッセージに基づいて位相差を決定し、第1のネットワークデバイスが、位相差を決定するとき、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延を考慮する。さらに、第1のネットワークデバイスは、位相差に基づいて、第1のネットワークデバイスの第1の出口ポート経由で送信されるデータパケットをスケジュールしてよい。このようにして、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0086】
図5は、本出願の実施形態による第1のネットワークデバイス1000の構造の概略図である。
図5に示される第1のネットワークデバイス1000は、前述の実施形態の方法において第1のネットワークデバイスによって実行される対応するステップを実行してよい。第1のネットワークデバイスは、通信ネットワークにおいて展開され、通信ネットワークは、第2のネットワークデバイスをさらに含む。図
5に示されるとおり、第1のネットワークデバイス1000は、受信ユニット1002と、処理ユニット1004と、送信ユニット1006とを含む。
【0087】
受信ユニット1002は、第2のネットワークデバイスの第2の出口ポート経由で第2のネットワークデバイスによって送信される第1のメッセージを受信するように構成され、第1のメッセージが、位相差を測定するのに使用され、位相差が、リンク遅延が考慮された、第1のネットワークデバイスの送信ユニット1006の複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの第2の出口ポートの複数の第2のバッファのうちの1つのバッファのスイッチング時刻の間の位相差であり、リンク遅延が、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延である。
【0088】
処理ユニット1004は、第1のメッセージに基づいて位相差を決定するように構成され、複数の第1のバッファに関するスイッチングサイクルが、複数の第2のバッファに関するスイッチングサイクルと同一であり、複数の第1のバッファが、処理ユニット1004によって巡回でスケジュールされ、複数の第2のバッファが、第2のネットワークデバイスによって巡回でスケジュールされる。
【0089】
処理ユニット1004は、位相差に基づいて、送信ユニット1006経由で送信される第2のデータパケットをスケジュールするようにさらに構成され、第2のデータパケットが、第1のデータパケットに基づいて処理ユニット1004によって獲得されるデータパケットであり、第1のデータパケットが、第2のネットワークデバイスの第2の出口ポートから受信ユニット1002によって受信されるデータパケットである。
【0090】
任意選択で、処理ユニット1004が第1のメッセージに基づいて位相差を決定する前に、受信ユニット1002が、第2のネットワークデバイスによって送信される第2のメッセージを受信するようにさらに構成され、第2のメッセージが、第1の時刻と、第2の時刻とを含み、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻が、第1の時刻より早期であり、処理ユニット1004により、第1のメッセージに基づいて位相差を決定することに関して、処理ユニット1004が、第1のメッセージおよび第2のメッセージに基づいて位相差を決定するように特に構成される。
【0091】
任意選択で、処理ユニット1004が第1のメッセージに基づいて位相差を決定する前に、受信ユニット1002が、第2のネットワークデバイスによって送信される第2のメッセージを受信するようにさらに構成され、第2のメッセージが、第1の時間差を含み、第1の時間差が、第1の時刻と第2の時刻の間の差であり、第1の時刻が、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻が、第1の時刻より早期であり、処理ユニット1004による、第1のメッセージに基づいて位相差を決定することに関して、処理ユニット1004が、第1のメッセージおよび第2のメッセージに基づいて位相差を決定するように特に構成される。
【0092】
任意選択で、処理ユニット1004による、第1のメッセージおよび第2のメッセージに基づいて位相差を決定することに関して、処理ユニット1004は、第1のメッセージが受信される第3の時刻を決定すること、第3の時刻に基づいて第4の時刻を決定することであって、第4の時刻が、第1のメッセージが受信されるときにスケジュールされた複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、かつ第2のスイッチング時刻が、第3の時刻より後期である、決定すること、および位相差を決定することであって、位相差の値が、複数の第1のバッファに関するスイッチングサイクルと第1の値の間の差と等しく、第1の値が、複数の第1のバッファに関するスイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、かつ第2の値が、第1の時刻と第2の時刻の間の差と第4の時刻と第3の時刻の間の差の合計と等しい、決定することを行うように特に構成される。
【0093】
任意選択で、第1のメッセージは、第1のメッセージを識別するための第1の識別子を含み、第2のメッセージは、第2のメッセージを識別するための第2の識別子を含み、第1の識別子は、第2の識別子に対応する。
【0094】
任意選択で、第1のメッセージは、第1の時刻と、第2の時刻とを含み、第1の時刻は、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻は、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻は、第1の時刻より早期である。
【0095】
任意選択で、第1のメッセージは、第1の時間差を含み、第1の時間差は、第1の時刻と第2の時刻の間の差であり、第1の時刻は、第2のネットワークデバイスが第1のメッセージを送信する時刻であり、第2の時刻は、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻は、第1の時刻より早期である。
【0096】
任意選択で、処理ユニット1004による、第1のメッセージに基づいて位相差を決定することに関して、処理ユニット1004は、第1のメッセージが受信される第3の時刻を決定すること、第3の時刻に基づいて第4の時刻を決定することであって、第4の時刻が、第1のメッセージが受信されるときにスケジュールされた複数の第1のバッファのなかの対応する第1のバッファの第2のスイッチング時刻であり、かつ第2のスイッチング時刻が第3の時刻より後期である、決定すること、および位相差を決定することであって、位相差の値が、複数の第1のバッファに関するスイッチングサイクルと第1の値の間の差と等しく、第1の値が、複数の第1のバッファに関するスイッチングサイクルに対する第2の値のモジュロ演算によって戻される値と等しく、かつ第2の値が、第1の時刻と第2の時刻の間の差と第4の時刻と第3の時刻の間の差の合計と等しい、決定することを行うように特に構成される。
【0097】
任意選択で、処理ユニット1004による、位相差に基づいて、送信ユニット1006経由で送信される第2のデータパケットをスケジュールすることに関して、処理ユニット1004は、位相差および処理遅延に基づいて第2のデータパケットに関する対応する第1のバッファを決定することであって、複数の第1のバッファが、対応する第1のバッファを含み、かつ処理遅延が、処理ユニット1004による、第1のデータパケットに基づいて第2のデータパケットを決定するプロセスにおいて生じる遅延である、決定すること、および対応する第1のバッファに第2のデータパケットを記憶することを行うように特に構成される。
【0098】
第2のデータパケットが記憶された後の、対応する第1のバッファが処理ユニット1004によってスケジュールされる第1のサイクル内で、送信ユニット1006が、第2のデータパケットを送信する。
【0099】
図5に示される第1のネットワークデバイスが、前述の実施形態における方法において第1のネットワークデバイスによって実行される対応するステップを実行してよい。第1のネットワークデバイスは、第2のネットワークデバイスから受信されるメッセージに基づいて位相差を決定し、第1のネットワークデバイスは、位相差を決定するとき、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延を考慮する。さらに、第1のネットワークデバイスは、位相差に基づいて、第1のネットワークデバイスの第1の出口ポート経由で送信されるデータパケットをスケジュールしてよい。このようにして、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0100】
図6は、本出願の実施形態による第1のネットワークデバイス1100のハードウェア構造の概略図である。
図6に示される第1のネットワークデバイス1100は、前述の実施形態における方法において第1のネットワークデバイスによって実行される対応するステップを実行してよい。
【0101】
図6に示されるとおり、第1のネットワークデバイス1100は、プロセッサ1101と、メモリ1102と、インタフェース1103と、バス1104とを含む。インタフェース1103は、有線方法で実施されても、無線方法で実施されてもよく、具体的には、ネットワークアダプタであってよい。プロセッサ1101、メモリ1102、およびインタフェース1103は、バス1104を介して接続される。
【0102】
インタフェース1103は、前述の実施形態における第1のネットワークデバイスと第2のネットワークデバイスの間、および第1のネットワークデバイスと第1のネットワークデバイスの次のホップのデバイスの間で情報を送信すること、および受信することを行うように構成された、送信機と、受信機とを特に含んでよい。例えば、インタフェース1103は、第2のネットワークデバイスによって送信される第1のメッセージ、または第1のメッセージおよび第2のメッセージを受信することをサポートするように構成される。別の実施例として、インタフェース1103は、第2のネットワークデバイスによって送信されたデータパケットを受信することをサポートするように構成される。別の実施例として、インタフェース1103は、第1のネットワークデバイスがデータパケットを送信するのをサポートするように構成される。実施例として、インタフェース1103は、
図4におけるプロセスS103およびS105をサポートするように構成される。プロセッサ1101は、前述の実施形態において第1のネットワークデバイスによって実行される処理を実行するように構成される。例えば、プロセッサ1101は、位相差を決定するように構成され、かつ/または本明細書において説明される技術の他のプロセスにおいて使用される。実施例として、プロセッサ1101は、
図4におけるプロセスS104をサポートするように構成される。メモリ1102は、オペレーティングシステム11021と、アプリケーションプログラム11022とを含み、プログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行するとき、プロセッサまたはハードウェアデバイスは、方法実施形態における第1のネットワークデバイスの処理プロセスを完了してよい。任意選択で、メモリ1102は、読取り専用メモリ(英語で、Read-only Memory,略して、ROM)と、ランダムアクセスメモリ(英語で、Random Access Memory,略して、RAM)とを含む。ROMは、基本入出力システム(英語で、Basic Input/Output System,略して、BIOS)または埋め込み型システムを含む。RAMは、アプリケーションプログラムと、オペレーティングシステムとを含む。第1のネットワークデバイス1100が実行される必要があるとき、BIOSにおけるブートローダ、またはROMに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつ第1のネットワークデバイス1100を通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、第1のネットワークデバイス1100は、方法実施形態における第1のネットワークデバイスの処理プロセスを完了するようにRAMにおけるアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0103】
図6は、第1のネットワークデバイス1100の簡略化された設計を示すに過ぎないものと理解されてよい。実際のアプリケーションにおいて、第1のネットワークデバイスは、任意の数量のインタフェース、プロセッサ、またはメモリを含んでよい。
【0104】
図7は、本出願の実施形態による別の第1のネットワークデバイス1200のハードウェア構造の概略図である。
図7に示される第1のネットワークデバイス1200は、前述の実施形態の方法において第1のネットワークデバイスによって実行される対応するステップを実行してよい。
【0105】
図7に示されるとおり、第1のネットワークデバイス1200は、メイン制御ボード1210と、インタフェースボード1230と、スイッチングボード1220と、インタフェースボード1240とを含む。メイン制御ボード1210、インタフェースボード1230および1240、ならびにスイッチングボード1220は、通信のためにシステムバスを介してシステムバックボードに接続される。メイン制御ボード1210は、システム管理、デバイスメンテナンス、およびプロトコル処理などの機能を完了するように構成される。スイッチングボード1220は、インタフェースボード(インタフェースボードは、ラインカードまたはサービスボードとも呼ばれる)間でデータを交換するように構成される。インタフェースボード1230および1240は、様々なサービスインタフェース(例えば、POSインタフェース、GEインタフェース、およびATMインタフェース)を提供すること、およびデータパケットを転送することを行うように構成される。
【0106】
インタフェースボード1230は、中央処理ユニット1231と、転送エントリメモリ1234と、物理インタフェースカード1233と、ネットワークプロセッサ1232とを含んでよい。中央処理ユニット1231は、インタフェースボードを制御し、管理すること、およびメイン制御ボード上の中央処理ユニットと通信することを行うように構成される。転送エントリメモリ1234は、転送エントリを記憶するように構成される。物理インタフェースカード1233は、トラフィックを受信すること、および送信することを行うように構成される。ネットワークメモリ1232は、転送エントリに基づいて、トラフィックを受信すること、および送信することを行うよう物理インタフェースカード1233を制御するように構成される。
【0107】
具体的には、物理インタフェースカード1233は、第2のネットワークデバイスによって送信される第1のメッセージ(または第1のメッセージおよび第2のメッセージ)を受信すること、および第2のネットワークデバイスによって送信されるデータパケットを受信することを行うように構成される。物理インタフェースカード1233は、第1のネットワークデバイスの次のホップのネットワークデバイスにデータパケットを転送するようにさらに構成される。
【0108】
第1のメッセージ(または第1のメッセージおよび第2のメッセージ)およびデータパケットを受信した後、物理インタフェースカード1233は、第1のメッセージ(または第1のメッセージおよび第2のメッセージ)およびデータパケットを、中央処理ユニット1231経由で中央処理ユニット1211に送信する。中央処理ユニット1211は、第1のメッセージ(または第1のメッセージおよび第2のメッセージ)およびデータパケットを処理する。
【0109】
中央処理ユニット1211は、位相差を決定するようにさらに構成される。
【0110】
中央処理ユニット1231は、転送エントリメモリ1234内の転送エントリを獲得するようネットワークメモリ1232を制御するようにさらに構成され、中央処理ユニット1231は、物理インタフェースカード1233経由で伝送パス上の次のホップのネットワークデバイスにデータパケットを転送するようネットワークメモリ1232を制御するようにさらに構成される。
【0111】
インタフェースボード1240上の動作は、本発明のこの実施形態におけるインタフェースボード1230上の動作と同一であることを理解されたい。簡潔のため、詳細が説明されることはない。この実施形態における第1のネットワークデバイス1200は、前述の方法実施形態における機能および/または様々な実施されるステップに対応してよいことを理解されたい。詳細がここで説明されることはない。
【0112】
さらに、1つまたは複数のメイン制御ボードが存在してよいことに留意されたい。複数のメイン制御ボードが存在する場合、メイン制御ボードは、活性のメイン制御ボードと、バックアップメイン制御ボードとを含んでよい。1つまたは複数のインタフェースボードが存在してよい。より強力なデータ処理能力を有する第1のネットワークデバイスは、より多くのインタフェースボードを提供する。また、インタフェースボード上に1つまたは複数の物理インタフェースカードが存在してもよい。スイッチングボードも、1つまたは複数のスイッチングボードも存在しなくてよい。複数のスイッチングボードが存在する場合、負荷分散と冗長性バックアップとが、スイッチングボードによって一緒に実施されてよい。集中型転送アーキテクチャにおいて、第1のネットワークデバイスは、スイッチングボードを必要としないことがあり、インタフェースボードが、システム全体のサービスデータ処理機能を引き受ける。分散型転送アーキテクチャにおいて、第1のネットワークデバイスは、少なくとも1つのスイッチングボードを有してよい。複数のインタフェースボード間のデータは、大容量データ交換および処理能力を提供するようにスイッチングボードを介して交換される。したがって、分散型アーキテクチャにおける第1のネットワークデバイスのデータアクセスおよび処理能力は、集中型アーキテクチャにおけるデバイスのものより大きい。使用されるべき特定のアーキテクチャは、特定のネットワーキング展開シナリオに依存し、本明細書において限定されることはない。
【0113】
さらに、本出願の実施形態は、前述の第1のネットワークデバイスによって使用されるコンピュータソフトウェア命令を記憶するように構成されたコンピュータ記憶媒体を提供する。コンピュータソフトウェア命令は、前述の方法実施形態を実行するために設計されたプログラムを含む。
【0114】
図8は、本出願の実施形態による第2のネットワークデバイス2000の構造の概略図である。
図8に示される第2のネットワークデバイス2000は、前述の実施形態における方法において第2のネットワークデバイスによって実行される対応するステップを実行してよい。第2のネットワークデバイスは、通信ネットワークにおいて展開され、通信ネットワークは、第1のネットワークデバイスをさらに含む。
図8に示されるとおり、第1のネットワークデバイス2000は、処理ユニット2004と、送信ユニット2006とを含む。
【0115】
処理ユニット2004は、第1のメッセージを生成するように構成され、第1のメッセージが、位相差を決定するよう第1のネットワークデバイスをトリガするのに使用され、位相差が、リンク遅延が考慮された、第1のネットワークデバイスの第1の出口ポートの複数の第1のバッファのうちの1つのバッファのスイッチング時刻と、第2のネットワークデバイスの送信ユニット2006の複数の第2のバッファのうちの1つのバッファのスイッチング時刻との間の位相差であり、リンク遅延が、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延である。
【0116】
送信ユニット2006が、第1のネットワークデバイスに第1のメッセージを送信するように構成され、複数の第1のバッファに関するスイッチングサイクルが、複数の第2のバッファに関するスイッチングサイクルと同一であり、複数の第1のバッファが、第1のネットワークデバイスによって巡回でスケジュールされ、複数の第2のバッファが、処理ユニット2004によって巡回でスケジュールされる。
【0117】
任意選択で、処理ユニット2004は、第2のメッセージを生成するようにさらに構成され、第2のメッセージが、第1の時刻と、第2の時刻とを含み、第1の時刻が、送信ユニット2006が第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファのなかの第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻が、第1の時刻より早期であり、送信ユニット2006が、第1のネットワークデバイスに第2のメッセージを送信するようにさらに構成される。
【0118】
任意選択で、処理ユニット2004は、第2のメッセージを生成するようにさらに構成され、第2のメッセージが、第1の時間差を含み、第1の時間差が、第1の時刻と第2の時刻の間の差であり、第1の時刻が、送信ユニット2006が第1のメッセージを送信する時刻であり、第2の時刻が、第1のメッセージが送信されるときにスケジュールされた複数の第2のバッファにおける第2のバッファの第1のスイッチング時刻であり、第1のスイッチング時刻が、第1の時刻より早期であり、送信ユニット2006が、第1のネットワークデバイスに第2のメッセージを送信するようにさらに構成される。
【0119】
任意選択で、第1のメッセージは、第1のメッセージを識別するための第1の識別子を含み、第2のメッセージは、第2のメッセージを識別するための第2の識別子を含み、第1の識別子は、第2の識別子に対応する。
【0120】
図8に示される第
2のネットワークデバイスは、前述の実施形態の方法において第2のネットワークデバイスによって実行される対応するステップを実行してよい。第1のネットワークデバイスは、第2のネットワークデバイスから受信されるメッセージに基づいて位相差を決定し、第1のネットワークデバイスが、位相差を決定するとき、第2のネットワークデバイスから第1のネットワークデバイスまでのリンク遅延を考慮する。さらに、第1のネットワークデバイスは、位相差に基づいて、第1のネットワークデバイスの第1の出口ポート経由で送信されるデータパケットをスケジュールしてよい。このようにして、第1のネットワークデバイスと第2のネットワークデバイスとは、時間同期なしにデータパケットのキューイングおよび転送を実施する。
【0121】
図9は、本出願の実施形態による第2のネットワークデバイス2100のハードウェア構造の概略図である。
図9に示される第2のネットワークデバイス2100は、前述の実施形態における方法において第2のネットワークデバイスによって実行される対応するステップを実行してよい。
【0122】
図9に示されるとおり、第2のネットワークデバイス2100は、プロセッサ2101と、メモリ2102と、インタフェース2103と、バス2104とを含む。インタフェース2103は、有線方法で実施されても、無線方法で実施されてもよく、具体的には、ネットワークアダプタであってよい。プロセッサ2101、メモリ2102、およびインタフェース2103は、バス2104を介して接続される。
【0123】
インタフェース2103は、具体的には、前述の実施形態における第2のネットワークデバイスと第1のネットワークデバイスの間で情報またはデータを送信すること、および受信することを行うように構成された、送信機と、受信機とを特に含んでよい。例えば、インタフェース2103は、第1のネットワークデバイスに第1のメッセージ(または第1のメッセージおよび第2のメッセージ)を送信することをサポートするように構成される。別の実施例として、インタフェース2103は、第1のネットワークデバイスにデータパケットを送信することをサポートするように構成される。実施例として、インタフェース2103は、
図4におけるプロセスS102をサポートするように構成される。プロセッサ2101は、前述の実施形態において第2のネットワークデバイスによって実行される処理を実行するように構成される。例えば、プロセッサ2101は、第1のメッセージ(または第1のメッセージおよび第2のメッセージ)を生成するように構成され、かつ/または本明細書において説明される技術の他のプロセスにおいて使用される。実施例として、プロセッサ2101は、
図4におけるプロセスS101をサポートするように構成される。メモリ2102は、オペレーティングシステム21021と、アプリケーションプログラム21022とを含み、プログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行するとき、プロセッサまたはハードウェアデバイスは、方法実施形態における第2のネットワークデバイスの処理プロセスを完了してよい。任意選択で、メモリ2102は、読取り専用メモリ(英語で、Read-only Memory,略して、ROM)と、ランダムアクセスメモリ(英語で、Random Access Memory,略して、RAM)とを含んでよい。ROMは、基本入出力システム(英語で、Basic Input/Output System,略して、BIOS)または埋め込み型システムを含む。RAMは、アプリケーションプログラムと、オペレーティングシステムとを含む。第2のネットワークデバイス2100が実行される必要があるとき、BIOSにおけるブートローダ、またはROMに組み込まれた埋め込み型システムが、システムを開始させるように起動し、かつ第2のネットワークデバイス2100を通常の実行状態に入れるように起動するのに使用される。通常の実行状態に入った後、第2のネットワークデバイス2100は、方法実施形態における第2のネットワークデバイスの処理プロセスを完了するようにRAMにおけるアプリケーションプログラムおよびオペレーティングシステムを実行する。
【0124】
図9は、第2のネットワークデバイス2100の簡略化された設計を示すに過ぎないものと理解されてよい。実際のアプリケーションにおいて、第2のネットワークデバイスは、任意の数量のインタフェース、プロセッサ、またはメモリを含んでよい。
【0125】
図10は、本出願の実施形態による別の第2のネットワークデバイス2200のハードウェア構造の概略図である。
図10に示される第2のネットワークデバイス2200は、前述の実施形態の方法において第2のネットワークデバイスによって実行される対応するステップを実行してよい。
【0126】
図10に示されるとおり、第2のネットワークデバイス2200は、メイン制御ボード2210と、インタフェースボード2230と、スイッチングボード2220と、インタフェースボード2240とを含む。メイン制御ボード2210、インタフェースボード2230および2240、ならびにスイッチングボード2220は、通信のためにシステムバスを介してシステムバックボードに接続される。メイン制御ボード2210は、システム管理、デバイスメンテナンス、およびプロトコル処理などの機能を完了するように構成される。スイッチングボード2220は、インタフェースボード(インタフェースボードは、ラインカードまたはサービスボードとも呼ばれる)間でデータを交換するように構成される。インタフェースボード2230および2240は、様々なサービスインタフェース(例えば、POSインタフェース、GEインタフェース、およびATMインタフェース)を提供すること、およびデータパケットを転送することを行うように構成される。
【0127】
インタフェースボード2230は、中央処理ユニット2231と、転送エントリメモリ2234と、物理インタフェースカード2233と、ネットワークプロセッサ2232とを含んでよい。中央処理ユニット2231は、インタフェースボードを制御し、管理すること、およびメイン制御ボード上の中央処理ユニットと通信することを行うように構成される。転送エントリメモリ2234は、転送エントリを記憶するように構成される。物理インタフェースカード2233は、トラフィックを受信すること、および送信することを行うように構成される。ネットワークメモリ2232は、転送エントリに基づいて、トラフィックを受信すること、および送信することを行うよう物理インタフェースカード2233を制御するように構成される。
【0128】
具体的には、物理インタフェースカード2233は、第1のネットワークデバイスに第1のメッセージ(または第1のメッセージおよび第2のメッセージ)を送信するように構成される。物理インタフェースカード2233は、第1のネットワークデバイスにデータパケットを送信するようにさらに構成される。さらに、物理インタフェースカード2233は、第2のネットワークデバイスの以前のホップのネットワークデバイスによって送信されるデータパケットを受信するようにさらに構成される。
【0129】
第2のネットワークデバイスの以前のホップのネットワークデバイスによって送信されるデータパケットを受信した後、物理インタフェースカード2233は、中央処理ユニット2231経由で中央処理ユニット2211にデータパケットを送信する。中央処理ユニット2211は、データパケットを処理する。
【0130】
中央処理ユニット2211は、第1のメッセージ(または第1のメッセージおよび第2のメッセージ)を生成するように構成される。
【0131】
中央処理ユニット2231は、転送エントリメモリ2234内の転送エントリを獲得するようネットワークメモリ2232を制御するようにさらにさらに構成され、中央処理ユニット2231は、物理インタフェースカード2233経由でトラフィックを受信すること、および送信することを行うようネットワークメモリ2232を制御するようにさらに構成される。
【0132】
インタフェースボード2240上の動作は、本発明のこの実施形態におけるインタフェースボード2230上の動作と同一であることを理解されたい。簡潔のため、詳細が説明されることはない。この実施形態における第2のネットワークデバイス2200は、前述の方法実施形態における機能および/または様々な実施されるステップに対応してよいことを理解されたい。詳細がここで説明されることはない。
【0133】
さらに、1つまたは複数のメイン制御ボードが存在してよいことに留意されたい。複数のメイン制御ボードが存在する場合、メイン制御ボードは、活性のメイン制御ボードと、バックアップメイン制御ボードとを含んでよい。1つまたは複数のインタフェースボードが存在してよい。より強力なデータ処理能力を有する第2のネットワークデバイスは、より多くのインタフェースボードを提供する。また、インタフェースボード上に1つまたは複数の物理インタフェースカードが存在してもよい。スイッチングボードも、1つまたは複数のスイッチングボードも存在しなくてよい。複数のスイッチングボードが存在する場合、負荷分散と冗長性バックアップとが、スイッチングボードによって一緒に実施されてよい。集中型転送アーキテクチャにおいて、第2のネットワークデバイスは、スイッチングボードを必要としないことがあり、インタフェースボードが、システム全体のサービスデータ処理機能を引き受ける。分散型転送アーキテクチャにおいて、第2のネットワークデバイスは、少なくとも1つのスイッチングボードを有してよい。複数のインタフェースボード間のデータは、大容量データ交換および処理能力を提供するようにスイッチングボードを介して交換される。したがって、分散型アーキテクチャにおける第2のネットワークデバイスのデータアクセスおよび処理能力は、集中型アーキテクチャにおけるデバイスのものより優れている。使用されるべき特定のアーキテクチャは、特定のネットワーキング展開シナリオに依存し、本明細書において限定されることはない。
【0134】
さらに、本出願の実施形態は、前述の第2のネットワークデバイスによって使用されるコンピュータソフトウェア命令を記憶するように構成されたコンピュータ記憶媒体を提供する。コンピュータソフトウェア命令は、前述の方法実施形態を実行するために設計されたプログラムを含む。
【0135】
本出願の実施形態は、ネットワークシステムをさらに含む。ネットワークシステムは、第1のネットワークデバイスと、第2のネットワークデバイスとを含む。第1のネットワークデバイスは、
図5、
図6、または
図7における第1のネットワークデバイスであり、第2のネットワークデバイスは、
図8、
図9、または
図10における第2のネットワークデバイスである。
【0136】
本出願において開示される内容と組み合わせて説明される方法ステップまたはアルゴリズムステップは、ハードウェアによって実施されてよく、またはソフトウェア命令を実行することによってプロセッサによって実施されてよい。ソフトウェア命令は、対応するソフトウェアモジュールによって形成されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能の磁気ディスク、CD-ROM、または当技術分野において知られる他の任意の形態の記憶媒体に配置されてよい。例えば、記憶媒体は、プロセッサが、記憶媒体から情報を読み取ること、または記憶媒体に情報を書き込むことができるようにプロセッサに結合される。無論、記憶媒体は、プロセッサの構成要素であってよい。プロセッサおよび記憶媒体は、ASICに配置されてよい。さらに、ASICは、ユーザ機器に配置されてよい。無論、プロセッサおよび記憶媒体は、ユーザ機器内にディスクリートの構成要素として存在してよい。
【0137】
前述の1つまたは複数の実施例において、本出願において説明される機能は、ハードウェアによって実施されても、ソフトウェアによって実施されてもよいことが、当業者は認識されよう。本発明がソフトウェアによって実施される場合、前述の機能は、コンピュータ可読媒体に記憶されても、コンピュータ可読媒体において1つもしくは複数の命令またはコードとして送信されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み、通信媒体が、1つの場所から別の場所へのコンピュータプログラムの転送を容易化する任意の媒体を含む。記憶媒体は、汎用コンピュータまたは専用コンピュータがアクセス可能な任意の利用可能な媒体であってよい。
【0138】
本出願の目的、技術的解決策、および有益な効果は、前述の特定の実装において詳細にさらに説明される。前述の説明は、本出願の特定の実装に過ぎないことを理解されたい。