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

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

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

特表2024-519555パケット伝送方法及びネットワークデバイス
<>
  • 特表-パケット伝送方法及びネットワークデバイス 図1
  • 特表-パケット伝送方法及びネットワークデバイス 図2
  • 特表-パケット伝送方法及びネットワークデバイス 図3
  • 特表-パケット伝送方法及びネットワークデバイス 図4A
  • 特表-パケット伝送方法及びネットワークデバイス 図4B
  • 特表-パケット伝送方法及びネットワークデバイス 図5A
  • 特表-パケット伝送方法及びネットワークデバイス 図5B
  • 特表-パケット伝送方法及びネットワークデバイス 図5C
  • 特表-パケット伝送方法及びネットワークデバイス 図5D
  • 特表-パケット伝送方法及びネットワークデバイス 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-16
(54)【発明の名称】パケット伝送方法及びネットワークデバイス
(51)【国際特許分類】
   H04L 47/2408 20220101AFI20240509BHJP
【FI】
H04L47/2408
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023572986
(86)(22)【出願日】2021-12-29
(85)【翻訳文提出日】2023-11-24
(86)【国際出願番号】 CN2021142637
(87)【国際公開番号】W WO2023123104
(87)【国際公開日】2023-07-06
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】郭 道栄
(72)【発明者】
【氏名】聞 広亮
(72)【発明者】
【氏名】程 臻
(72)【発明者】
【氏名】林 暉
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030KX13
5K030LC01
(57)【要約】
本発明はパケット伝送方法及びネットワークデバイスを提供する。当該方法は、出力転送処理ユニットがパケットを取得した後、パケットが決定論的フローに属する場合、パケットを決定論的フロー入力キューに格納するステップと、決定論的フロー入力キュー内の各パケットについて、パケットに対応するカプセル化情報を決定し、カプセル化情報はCQキュー情報を含み、カプセル化情報に基づいてパケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するステップと、出力インタフェースユニットが決定論的フロー出力キューからパケットを取得し、パケットに対応するCQキュー情報に基づいて、パケットを当該CQキュー情報に対応するCQキューに格納するステップと、出力インタフェースユニットが現在のスケジューリング周期に対応するターゲットCQキューを決定し、現在のスケジューリング周期で、ターゲットCQキュー内のパケットを外部デバイスに送信するステップとを含む。本発明の技術的解決手段により、決定論的フローの転送がベストエフォートフローの転送に影響されず、ベストエフォートフローの転送と決定論的フローの転送が両立することを保証することができる。
【選択図】図6
【特許請求の範囲】
【請求項1】
ネットワークデバイスに適用されるパケット伝送方法であって、前記ネットワークデバイスは少なくとも出力転送処理ユニット及び出力インタフェースユニットを含み、
前記出力転送処理ユニットがパケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するステップであって、前記カプセル化情報は少なくとも周期キュー(CQキュー)情報を含む、ステップと、
前記出力インタフェースユニットが前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するステップと、
前記出力インタフェースユニットが現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するステップと、を含む、
ことを特徴とするパケット伝送方法。
【請求項2】
前記出力転送処理ユニットがパケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、前記ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対して階層型サービス品質(HQOS)スケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納するステップと、
前記出力インタフェースユニットが前記ベストエフォートフロー出力キューからパケットを取得し、当該パケットをベストエフォートキャッシュキュー(BEQキュー)に格納するステップと、をさらに含み、
前記出力インタフェースユニットが前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信した後、さらに、
前記ターゲットCQキュー内のパケットの送信が完了した後に、前記現在のスケジューリング周期にまだ残りのタイムスライスがある場合、前記出力インタフェースユニットが、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記出力インタフェースユニットと前記出力転送処理ユニットとの間には、第1のチャネル及び第2のチャネルがあり、
前記出力インタフェースユニットが前記決定論的フロー出力キューからパケットを取得するステップは、前記出力インタフェースユニットが前記第1のチャネルを介して前記決定論的フロー出力キューからパケットを取得するステップを含み、
前記出力インタフェースユニットが前記ベストエフォートフロー出力キューからパケットを取得するステップは、前記出力インタフェースユニットが前記第2のチャネルを介して前記ベストエフォートフロー出力キューからパケットを取得するステップを含み、
ここで、前記BEQキュー内のパケット数が第1の所定閾値より大きい場合、前記出力インタフェースユニットは、前記第2のチャネルに対するフロー制御信号を出力し、前記BEQキュー内のパケット数が第2の所定閾値より小さい場合、前記出力インタフェースユニットは、前記第2のチャネルに対するフロー制御信号をキャンセルし、前記第2のチャネルに対するフロー制御信号がある場合、前記第2のチャネルを介したパケットの送信は一時停止され、
前記第2の所定閾値は、前記第1の所定閾値以下である、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記出力インタフェースユニットが、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するステップは、
前記出力インタフェースユニットが、前記残りのタイムスライスで送信可能なパケットの長さを決定し、前記パケットの長さが設定された長さより大きい場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内の1つのパケットを外部デバイスに送信し、前記パケットの長さが設定された長さより大きくない場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットの外部デバイスへの送信を停止するステップと、
前記BEQキュー内の1つのパケットを外部デバイスに送信した後、前記現在のスケジューリング周期の残りのタイムスライスを更新し、更新された残りのタイムスライスで送信可能なパケットの長さを決定する動作を戻って実行するステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記ネットワークデバイスは、入力転送処理ユニットをさらに含み、前記方法はさらに、
前記入力転送処理ユニットがパケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納するステップであって、前記決定論的フロー入力キューに対応するキュー優先度が、前記ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを優先的に処理する、ステップと、
前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するステップであって、前記タイムスタンプは、前記ネットワークデバイスが当該パケットを受信したタイムスタンプを表す、ステップと、
当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、前記出力転送処理ユニットに当該パケットを取得させるステップと、を含む、
ことを特徴とする請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記入力転送処理ユニットが当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するステップは、
前記入力転送処理ユニットが、当該パケットに対応する転送情報に基づいてエグレスインタフェースを問い合わせ、前記エグレスインタフェースに対応する複数のCQキューを決定するステップであって、各CQキューは1つの対応するスケジューリング周期を有する、ステップと、
前記入力転送処理ユニットが、当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択し、当該スケジューリング周期に対応するCQキューを決定するステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記ネットワークデバイスは、内部交換ユニットをさらに含み、前記方法はさらに、
前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに高優先度マークを付加して、パケットを前記内部交換ユニットに送信することにより、前記内部交換ユニットに前記高優先度マークに基づいてパケットを前記出力転送処理ユニットに送信させるステップと、
前記入力転送処理ユニットが、前記ベストエフォートフロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに低優先度マークを付加して、パケットを前記内部交換ユニットに送信することにより、前記内部交換ユニットに前記低優先度マークに基づいてパケットを前記出力転送処理ユニットに送信させるステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項8】
前記ネットワークデバイスは、入力インタフェースユニットをさらに含み、前記方法はさらに、
前記入力インタフェースユニットが外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納するステップと、
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを、第3のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第3のチャネルから当該パケットを取得させるステップであって、前記入力転送処理ユニットは、前記第3のチャネルから取得されたパケットが決定論的フローに属すると判定する、ステップと、
前記入力インタフェースユニットが、ベストエフォートフロー出力キュー内のパケットを、第4のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第4のチャネルから当該パケットを取得させるステップであって、前記入力転送処理ユニットは、前記第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する、ステップとを含む、
ことを特徴とする請求項5に記載の方法。
【請求項9】
前記入力インタフェースユニットが、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定するステップは、
前記入力インタフェースユニットが、当該パケットからフローの特徴を解析し、前記フローの特徴が設定されたアクセス制御リスト(ACL)内の決定論的フローの特徴と一致する場合、当該パケットが決定論的フローに属すると判定し、前記フローの特徴が前記ACL内の決定論的フローの特徴と一致しない場合、当該パケットがベストエフォートフローに属すると判定するステップを含み、
前記ACLは、少なくとも1つの決定論的フローの特徴を含む、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを第3のチャネルを介して前記入力転送処理ユニットに送信し、ベストエフォートフロー出力キュー内のパケットを第4のチャネルを介して前記入力転送処理ユニットに送信するステップは、
前記入力インタフェースユニットが、前記決定論的フロー出力キューからパケットを優先的に取得し、取得されたパケットを前記第3のチャネルを介して前記入力転送処理ユニットに送信するステップと、
前記決定論的フロー出力キュー内の全てのパケットが取得された後に、前記ベストエフォートフロー出力キューからパケットを取得し、取得されたパケットを前記第4のチャネルを介して前記入力転送処理ユニットに送信するステップと、を含む、
ことを特徴とする請求項8に記載の方法。
【請求項11】
ネットワークデバイスであって、前記ネットワークデバイスは、出力転送処理ユニット及び出力インタフェースユニットを含み、
前記出力転送処理ユニットが、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するために使用され、ここで、前記カプセル化情報は少なくとも周期キュー(CQキュー)情報を含み、
前記出力インタフェースユニットが、前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するために使用され、
前記出力インタフェースユニットが、現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するために使用される、
ことを特徴とするネットワークデバイス。
【請求項12】
前記出力転送処理ユニットがさらに、パケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、前記ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対して階層型サービス品質(HQOS)スケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納するために使用され、
前記出力インタフェースユニットがさらに、前記ベストエフォートフロー出力キューからパケットを取得し、当該パケットをベストエフォートキャッシュキュー(BEQキュー)に格納するために使用され、
前記出力インタフェースユニットが、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信した後、さらに、
前記ターゲットCQキュー内のパケットの送信完了した後に、前記現在のスケジューリング周期にまだ残りのタイムスライスがある場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するために使用される、
ことを特徴とする請求項11に記載のネットワークデバイス。
【請求項13】
前記ネットワークデバイスは、入力転送処理ユニットをさらに含み、
前記入力転送処理ユニットが、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納するために使用され、ここで、前記決定論的フロー入力キューに対応するキュー優先度が、前記ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを優先的に処理し、
前記入力転送処理ユニットがさらに、前記決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するために使用され、ここで、前記タイムスタンプは、前記ネットワークデバイスが当該パケットを受信したタイムスタンプを表し、
前記入力転送処理ユニットがさらに、当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、前記出力転送処理ユニットに当該パケットを取得させるために使用される、
ことを特徴とする請求項11又は請求項12に記載のネットワークデバイス。
【請求項14】
前記入力転送処理ユニットが、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するとき、
当該パケットに対応する転送情報に基づいてエグレスインタフェースを問い合わせ、前記エグレスインタフェースに対応する複数のCQキューを決定し、ここで、各CQキューは1つの対応するスケジューリング周期を有し、
当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択し、当該スケジューリング周期に対応するCQキューを決定するために使用される、
ことを特徴とする請求項13に記載のネットワークデバイス。
【請求項15】
前記ネットワークデバイスは、入力インタフェースユニットをさらに含み、
前記入力インタフェースユニットが、外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納するために使用され、
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを、第3のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第3のチャネルから当該パケットを取得させるために使用され、ここで、前記入力転送処理ユニットは、前記第3のチャネルから取得されたパケットが決定論的フローに属すると判定し、
前記入力インタフェースユニットが、ベストエフォートフロー出力キュー内のパケットを、第4のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第4のチャネルから当該パケットを取得させるために使用され、前記入力転送処理ユニットは、前記第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する、
ことを特徴とする請求項13に記載のネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信技術の分野に関し、特にパケット伝送方法及びネットワークデバイスに関する。
【背景技術】
【0002】
決定論的ネットワーク(DetNet:Deterministic Network)は、ネットワークドメイン内のベアラサービスに対して決定論的サービス機能を提供することができ、これらの決定論的サービス機能は、遅延、パケット損失率などを含み得る。タイムセンシティブネットワーキング(TSN:Time Sensitive Networking)は、ローカルエリアネットワークに基づいて実現される決定論的ネットワークである。TSNでは、サイクリックキューイングと転送(CQF:Cyclic Queuing and Forwarding)を使用して転送層での決定論的伝送を保証することで、ベアラサービスに対して決定論的サービス機能を提供する。
【0003】
説明を簡単にするために、決定論的ネットワークで伝送される決定論的サービス機能(遅延やパケット損失率など)を有するサービスフローを決定論的フローと呼ぶ。決定論的フローとは異なる他のサービスフローについては、ベストエフォート方式で転送することができる。従って、決定論的フローとは異なる他のサービスフローをベストエフォートフローと呼ぶ。
【発明の概要】
【0004】
本発明は、パケット伝送方法を提供し、前記方法はネットワークデバイスに適用され、前記ネットワークデバイスは少なくとも出力転送処理ユニット及び出力インタフェースユニットを含み、前記方法は、
前記出力転送処理ユニットがパケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報は少なくともCQキュー情報を含み、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するステップと、
前記出力インタフェースユニットが前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するステップと、
前記出力インタフェースユニットが現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するステップと、を含む。
【0005】
本発明は、ネットワークデバイスを提供し、前記ネットワークデバイスは、出力転送処理ユニット及び出力インタフェースユニットを含み、
前記出力転送処理ユニットが、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報は少なくともCQキュー情報を含み、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するために使用され、
前記出力インタフェースユニットが、前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するために使用され、
前記出力インタフェースユニットが、現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するために使用される。
【発明の効果】
【0006】
以上の技術的解決手段からわかるように、本発明の実施例では、決定論的フローの転送がベストエフォートフローの転送に影響されず、ベストエフォートフローの転送と決定論的フローの転送が両立することを保証することができる。サイクル指定されたキューイングと転送(CSQF:Cycle Specified Queuing and Forwarding)に基づき、広域決定論的ネットワークのパケット伝送、決定論的フローとベストエフォートフローの共存を実現することで、共通ネットワークと共通パスのフルサービスの完全統合を促進する。決定論的フローの予約帯域幅が決定論的フローによって使用されていない場合、ベストエフォートフローによって使用することができ、輻輳が発生した場合、決定論的フローに影響を与えず、ベストエフォートフローの数を制御することで輻輳状況を解決することができる。ベストエフォートフローの階層型サービス品質(HQOS:Hierarchical Quality of Service)スケジューリングは維持されるが、決定論的フローのHQOSスケジューリングは行われない。
【図面の簡単な説明】
【0007】
本発明の実施例又は従来技術の技術的解決手段をより明確に説明するために、以下、本発明の実施例又は従来技術の説明において必要とされる図面について簡単に説明する。以下に説明する図面は、本発明に記載された幾つかの実施例にすぎず、当業者にとっては、本発明の実施例のこれらの図面に基づいて、他の図面を得ることができる。
【0008】
図1】本発明の一実施形態によるCSQFの動作原理を示す概略図である。
図2】本発明の一実施形態によるCSQFとCQFの比較を示す概略図である。
図3】本発明の一実施形態によるネットワークデバイスの構造概略図である。
図4A】本発明の一実施形態によるネットワークデバイスの構造概略図である。
図4B】本発明の一実施形態によるネットワークデバイスの構造概略図である。
図5A】本発明の一実施形態による入力インタフェースユニットの構造概略図である。
図5B】本発明の一実施形態による入力転送処理ユニットの構造概略図である。
図5C】本発明の一実施形態による出力転送処理ユニットの構造概略図である。
図5D】本発明の一実施形態による出力インタフェースユニットの構造概略図である。
図6】本発明の一実施形態によるパケット伝送方法のフローチャートである。
【発明を実施するための形態】
【0009】
本発明の実施例において使用される用語は、本発明の実施形態を限定するものではなく、特定の実施例を説明する目的でのみ使用されるものである。本発明の実施例及び特許請求の範囲において使用される単数形の「1つ」、「前記」及び「当該」は、文脈が他の意味を明確に示さない限り、複数形を含むことも意図される。本明細書で使用される用語の「及び/又は」は、関連する列挙された1つ又は複数のアイテムを含む任意の又は全ての可能な組み合わせを意味することも理解されたい。
【0010】
本発明の実施例では、第1、第2、第3などの用語を用いて様々な情報を説明することができるが、これらの情報はこれらの用語に限定されるべきではないことを理解されたい。これらの用語は、同じ種類の情報を互いに区別するためにのみ使用される。例えば、本発明の範囲から逸脱することなく、第1の情報は第2の情報と称されてもよく、同様に、第2の情報は第1の情報と称されてもよい。文脈によって、「…する場合」という言葉は、「…するとき」又は「…する際に」又は「…に応えて」として解釈することができる。
【0011】
TSNは、ローカルエリアネットワークに基づいて実現される決定論的ネットワークである。TSNでは、CQFを使用して転送層での決定論的伝送を保証することで、ベアラサービスに対して決定論的サービス機能を提供する。もちろん、CQFは決定論的サービスを提供するための一例に過ぎず、他の方法で転送層での決定論的伝送を保証することもでき、ここでは限定しない。CQFはCSQFに近い技術である。本実施例では、CQFを例にとって説明する。CQFの基本的な動作原理は、各ネットワークデバイスのエグレスインタフェースが2つのキューに関連付けられ、時間的領域を2つの周期に分割し、この2つのキューはこの2つの周期で送受信を交互に行うものである。例えば、この2つのキューをそれぞれキューQ1とキューQ2とし、この2つの周期をそれぞれ周期T0と周期T1とする。周期T0では、キューQ1が送信を行い、キューQ2が受信を行い(キューQ1の受信はオフ、キューQ2の受信はオン、キューQ1の送信はオン、キューQ2の送信はオフ)、周期T1では、キューQ1が受信を行い、キューQ2が送信を行う。このように、キューQ1とキューQ2が奇数周期と偶数周期で送受信を交互に行うことができる。
【0012】
CQFでは、1ホップあたり1周期の伝送が必要である。パケットはあるネットワークデバイスのある周期で受信され、次の周期で送信される。次のホップのネットワークデバイスは、次の周期で当該パケットを受信し、以降も同様である。このように、周期Tが決められた値であるとき、パス上のパケットの伝送遅延(エンドツーエンド伝送遅延)が決まる。当該伝送遅延の最小値は(H-1)*Tであり、最大値は(H+1)*Tである。ここで、Hはパス上で通過するネットワークデバイスの総数を表すホップ数である。
【0013】
CQFはローカルエリアネットワークに基づく技術であり、ワイドエリアネットワークでは実現できない。ワイドエリアネットワークの決定論的伝送を実現するために、CQFに基づいてサイクル指定されたキューイングと転送(CSQF:Cycle Specified Queuing and Forwarding)が提案されている。CSQFは、セグメントルーティング(SR:Segment Routing)アプリケーションやSRv6アプリケーションと組み合わせて、ワイドエリアネットワークの決定論的伝送を実現する。ここで、SRはマルチプロトコルラベルスイッチング(MPLS:Multi-Protocol Label Switching)ベースのSRであってもよく、SRv6はIPV6ベースのSRv6であってもよい。
【0014】
図1は、CSQFの動作原理を示す概略図である。コントローラ10は、送信能力、インタフェース、周期数、ノード内の最大ジッタなど、各ネットワークデバイスの情報を収集するために使用される。送信側と受信側との間の決定論的伝送要求に対して、コントローラ10は、計算に基づいて十分な伝送リソースがあると判断した場合に、伝送路を割り当て、伝送路の情報をエッジノードに配信する。図1に示すように、送信側と受信側との間の伝送路は、ネットワークデバイス11-ネットワークデバイス12-ネットワークデバイス13-ネットワークデバイス14とすることができ、当該伝送路のエッジノード(すなわち、最初のネットワークデバイス)はネットワークデバイス11である。
【0015】
ネットワークデバイス11は、転送すべきパケットを受信すると、伝送路上の各ネットワークデバイスの情報、例えば、伝送路上のネットワークデバイスのノード識別子(例えば、SRv6のセグメント識別子(SID:Segment identifier)における位置(Locator))、ネットワークデバイスの送信インタフェースや各ネットワークデバイスの送信周期等の情報をパケットに付加する。このように、パケットがあるネットワークデバイスに到達すると、当該ネットワークデバイスは、対応するインタフェースと周期の情報を取得し、当該パケットを当該周期に対応するキューに格納することができる。
【0016】
各ネットワークデバイスは、各キュー内のパケットを一定の周期に従って送信してもよく、すなわち、各キューが1つの周期に対応し、当該周期で当該キュー内のパケットを送信してもよい。ネットワークデバイスの周期が一定のパターンで行われるため、ネットワークデバイス11では、送信側の各パケットの指定周期が決まっており、各ネットワークデバイスが送信側から受信側にパケットを転送する周期も決まっている。従って、パケット全体の遅延も決まっており、決定論的伝送が実現される。
【0017】
以上から分かるように、CSQFとCQFの実現プロセスは類似しており、CSQFとCQFの違いは、以下の点である。CSQFは、少なくとも3つのキュー(例えば、3つ、6つ、8つ、9つ、10、12、15のキュー、以下、15のキューを例とする)を必要とする。各周期において、1つのキューのみが送信状態にあり、他のキューは全て受信状態にある。CQFでは、各ネットワークデバイスの周期が位相同期を含めて厳密に同期していることが要求されるのに対し、CSQFでは、周波数同期のみが要求され、位相同期が要求されない。さらに、あるホップの伝送遅延が1周期内に収まらない場合、次の周期の伝送キューを指定することができ、これにより、ワイドエリアネットワークの異なるネットワークデバイスの伝送遅延に適応する。
【0018】
図2は、CSQFとCQFの比較を示す概略図である。CQFについては、あるパケットの伝送プロセスにおいて、ネットワークデバイス11が周期1で当該パケットを送信し、ネットワークデバイス12が周期1で当該パケットを受信して周期2で当該パケットを送信し、ネットワークデバイス13が周期2で当該パケットを受信して周期3で当該パケットを送信し、ネットワークデバイス14が周期3で当該パケットを受信して周期4で当該パケットを送信する。CSQFについては、CSQFが3つのキューを必要とすることを例に、あるパケットの伝送プロセスにおいて、ネットワークデバイス11が周期1で当該パケットを送信し、ネットワークデバイス12が周期1又は周期2で当該パケットを受信して周期3で当該パケットを送信し、ネットワークデバイス13が周期3で当該パケットを受信して周期4で当該パケットを送信し、ネットワークデバイス14が周期4又は周期5で当該パケットを受信して周期6で当該パケットを送信する。
【0019】
CSQFの実現プロセスでは、各ネットワークデバイスが一定の長さを周期とするタイムスライスを分割し、決定論的サービスフローに対して統一的なフロースケジューリングを行うことにより、決定されたタイムスライスでサービスフローが転送されるため、パケット全体の遅延が決定されるものであることを保証することができる。伝送路上の各ネットワークデバイスの送信時間が特定のタイムスライス内に制限されることで、当該ネットワークデバイスにおけるパケットの遅延ジッタが決定されるものとなる。ネットワークデバイスの数が増えても、前のネットワークデバイスのジッタが次のネットワークデバイスの遅延ジッタを増加させることはない。もちろん、ネットワークデバイスの総数が増加すると、パケット転送の総遅延も増加する。
【0020】
最後のネットワークデバイスでは、パケットは決定されたタイムスライス内にのみ送受信され、つまり、最後のネットワークデバイスにおけるパケットのジッタ範囲は、1つの決定されたタイムスライス内に制限される。
【0021】
CSQFはワイドエリアネットワークの決定論的伝送を実現し、ベアラサービスに対して決定論的サービス機能を提供することができるが、先行技術では、各ネットワークデバイスがどのようにCSQFを実現すべきかに関する合理的な解決策が提案されていない。上記の問題に対して、本発明の実施例は、ネットワークデバイスに適用される、CSQFに基づいて実現される広域決定論的ネットワーク伝送方法を提供する。ネットワークデバイスは、ネットワークノード又は転送ノードとも呼ばれる。図3は、ネットワークデバイスの構造概略図である。ネットワークデバイスは、入力インタフェースユニット31、入力転送処理ユニット32、内部交換ユニット33、出力転送処理ユニット34、出力インタフェースユニット35を含み得る。
【0022】
ここで、入力インタフェースユニット31は、決定論的フローの受信補助処理を実現することができ、入力インタフェースユニット31の機能は、決定論的フローを識別する機能、決定論的フローが決定論的フロー入力キューに入るように、入力転送処理ユニット32がフロー分類を実現するのを補助する機能、タイムスタンプ機能、及びフロースケジューリング機能を含むが、これらに限定されない。
【0023】
ここで、入力転送処理ユニット32の機能は、フロー分類機能と、優先スケジューリング機能と、決定論的フロー入力チャネル処理機能とを含むが、これらに限定されない。フロー分類機能を実現することは、すなわち、決定論的フローに属するパケットとベストエフォートフローに属するパケットとを区別し、決定論的フローに属するパケットについて、当該パケットを決定論的フロー入力キューに格納し、ベストエフォートフローに属するパケットについて、当該パケットをベストエフォートフロー入力キューに格納する。優先スケジューリング機能を実現することは、すなわち、決定論的フロー入力キュー内のパケットを優先的に処理し、決定論的フロー入力キュー内のパケットの処理が完了した後にベストエフォートフロー入力キュー内のパケットを処理する。決定論的フロー入力チャネル処理機能を実現することは、すなわち、決定論的フローの伝送チャネルとベストエフォートフローの伝送チャネルとを分離し、決定論的フローのパケットを決定論的フローの伝送チャネルを介して送信し、ベストエフォートフローのパケットをベストエフォートフローの伝送チャネルを介して送信し、決定論的フローの伝送チャネルとベストエフォートフローの伝送チャネルとを分離することにより、ベストエフォートフローの伝送チャネルにはバックプレス(back-pressed、すなわち、速度制限処理)を許可し、決定論的フローの伝送チャネルにはバックプレスを許可しない。
【0024】
ここで、内部交換ユニット33の機能は、決定論的フローの高優先度チャネルを確保することであり、すなわち、内部交換ユニット33は、決定論的フローのパケットを優先的に出力転送処理ユニット34に送信し、決定論的フローのパケットの送信が完了した後に、ベストエフォートフローのパケットを出力転送処理ユニット34に送信する。
【0025】
例えば、内部交換ユニット33は、高優先度交換チャネルと通常優先度交換チャネルとを含み、内部交換ユニット33は、決定論的フローのパケットを、高優先度交換チャネルを介して送信し、ベストエフォートフローのパケットを、通常優先度交換チャネルを介して送信してもよい。
【0026】
ここで、出力転送処理ユニット34の機能は、ベストエフォート出力パイプ処理機能と、ベストエフォートフローに対してHQOSスケジューリング機能と、ベストエフォートフローに対する速度制限機能と、決定論的フロー出力パイプ処理機能とを含むが、これらに限定されない。ベストエフォート出力パイプ処理機能を実現することは、すなわち、ベストエフォートフローのパケットを処理する。ベストエフォートフローに対してHQOSスケジューリング機能を実現することは、すなわち、ベストエフォートフローのパケットに対してHQOSスケジューリングを行い、決定論的フローのパケットに対してHQOSスケジューリングを行わない。ベストエフォートフローに対する速度制限機能を実現することは、すなわち、ベストエフォートフローのパケットに対して速度制限処理を行い、決定論的フローのパケットに対して速度制限処理を行わない。決定論的フロー出力パイプ処理機能を実現することは、すなわち、決定論的フローのパケットを処理する。
【0027】
ここで、出力インタフェースユニット35の機能は、ベストエフォートキャッシュキューを実現し、ベストエフォートキャッシュキューによってベストエフォートフローのパケットを格納することと、ベストエフォートキャッシュキューのバックプレッシャー(back pressure)機能を実現すること、例えば、ベストエフォートキャッシュキュー内のパケット数が閾値に達した場合、ベストエフォートフローのパケットをベストエフォートキャッシュキューに格納しないように出力転送処理ユニット34を制御することと、決定論的フローのCSQFキューを実現し、CSQFキューによって決定論的フローのパケットを格納することと、決定論的フローとベストエフォートフローの複合スケジューリングを実現すること、すなわち、決定論的フローのパケットとベストエフォートフローのパケットをスケジューリングすること、例えば、まず決定論的フローのパケットを送信し、次にベストエフォートフローのパケットを送信することとを含むが、これらに限定されない。
【0028】
例示的に、CSQFキューは、送信キュー(SQ:Sending Queue)、受信キュー(RQ:Receiving Queue)、及び許容キュー(TQ:Tolerating Queue)を含み得る。SQはCSQFで送信されているキューであり、RQはCSQFで受信されているキューである。受信したパケットがジッタなどによってRQに正常に入らない場合に、TQに入る。本実施例では、SQ、RQ、TQを総称してCQ(Cyclic Queuing)キューと呼ぶ。つまり、出力インタフェースユニット35は、決定論的フローのCQキューを実現し、CQキューによって決定論的フローのパケットを格納することができる。
【0029】
1つの可能な実施形態では、図4Aに示すように、入力インタフェースユニット31はフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)によって実現されてもよく、入力転送処理ユニット32はネットワークプロセッサ(NP:Network Processor)によって実現されてもよい。区別を容易にするため、このNPはイングレスNP(Ingress NP)と呼ばれる。内部交換ユニット33は交換ファブリック(fabric)によって実現されてもよく、出力転送処理ユニット34はNPによって実装されてもよい。区別を容易にするため、このNPはエグレスNP(Egress NP)と呼ばれる。出力インタフェースユニット35はFPGAによって実現されてもよい。
【0030】
入力インタフェースユニット31と入力転送処理ユニット32との間には、2つのチャネル(channel)が作成される。すなわち、入力インタフェースユニット31と入力転送処理ユニット32との間の物理インタフェースには、2つのチャネルが作成される。区別を容易にするため、この2つのチャネルをそれぞれ第3のチャネルと第4のチャネルと記す。例えば、入力インタフェースユニット31と入力転送処理ユニット32との間の物理インタフェースがインターラーケン(Interlaken)物理インタフェースである場合、同じInterlaken物理インタフェースに第3のチャネルと第4のチャネルが作成される。ここで、第3のチャネルは、決定論的フローに属するパケットを送信するために使用され、第4のチャネルは、ベストエフォートフローに属するパケットを送信するために使用される。
【0031】
出力転送処理ユニット34と出力インタフェースユニット35との間には、2つのチャネルが作成される。すなわち、出力転送処理ユニット34と出力インタフェースユニット35との間の物理インタフェースには、2つのチャネルが作成される。区別を容易にするため、この2つのチャネルをそれぞれ第1のチャネルと第2のチャネルと記す。例えば、出力転送処理ユニット34と出力インタフェースユニット35との間の物理インタフェースがInterlaken物理インタフェースである場合、同じInterlaken物理インタフェースに第1のチャネルと第2のチャネルが作成される。ここで、第1のチャネルは、決定論的フローに属するパケットを伝送するために使用され、第2のチャネルは、ベストエフォートフローに属するパケットを伝送するために使用される。
【0032】
別の可能な実施形態では、図4Bに示すように、入力インタフェースユニット31と入力転送処理ユニット32は、同じ装置によって実現されてもよく、例えば、Ingress NPによって同時に実現されてもよい。内部交換ユニット33は、交換ファブリックによって実現されてもよい。出力転送処理ユニット34と出力インタフェースユニット35は、同じ装置によって実現されてもよく、例えば、Egress NPによって同時に実現されてもよい。
【0033】
もちろん、図4A及び図4Bは2つの例に過ぎず、入力インタフェースユニット31、入力転送処理ユニット32、内部交換ユニット33、出力転送処理ユニット34、及び出力インタフェースユニット35の実現は、これらのユニットの機能を実現できる限り限定されない。以下、図4Aを例にして説明する。
【0034】
以下、具体的な実施例と組み合わせて、入力インタフェースユニット31、入力転送処理ユニット32、内部交換ユニット33、出力転送処理ユニット34、出力インタフェースユニット35の機能について説明する。
【0035】
まず、入力インタフェースユニット31である。入力インタフェースユニット31は、外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定する。当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納する。これに基づいて、入力インタフェースユニット31は、決定論的フロー出力キュー内のパケットを第3のチャネルを介して入力転送処理ユニット32に送信し、ベストエフォートフロー出力キュー内のパケットを第4のチャネルを介して入力転送処理ユニット32に送信する。
【0036】
例示的に、入力インタフェースユニット31は、外部デバイスからパケットを受信した後、当該パケットからフローの特徴を解析する。当該フローの特徴が設定されたACL内の決定論的フローの特徴と一致する場合、当該パケットは決定論的フローに属すると判定する。当該フローの特徴がACL内の決定論的フローの特徴と一致しない場合、当該パケットはベストエフォートフローに属すると判定する。ここで、ACLは、少なくとも1つの決定論的フローの特徴を含んでもよい。
【0037】
例示的に、入力インタフェースユニット31は、決定論的フロー出力キューからパケットを優先的に取得し、取得されたパケットを第3のチャネルを介して入力転送処理ユニット32に送信し、決定論的フロー出力キュー内の全てのパケットが取得された後に、ベストエフォートフロー出力キューからパケットを取得し、取得されたパケットを第4のチャネルを介して入力転送処理ユニット32に送信してもよい。
【0038】
図5Aは、入力インタフェースユニット31の構造概略図である。入力インタフェースユニット31は、イーサネットインタフェースコントローラ311、受信バッファ312、決定論的フローACL(AccessControl Lists、アクセス制御リスト)ユニット313、制御ロジックユニット314、決定論的フロー出力キュー315、ベストエフォートフロー出力キュー316、及び送信DMA(DMA:Direct Memory Access、ダイレクトメモリアクセス)317を含み得る。
【0039】
ここで、イーサネットインタフェースコントローラ311は、イーサネットインタフェースを介して外部デバイスからパケットを受信し、パケットを受信バッファ312に送信し、受信バッファ312はパケットを受信してバッファリングする。
【0040】
ここで、決定論的フローACLユニット313は、決定論的フローのACLを取得するために使用される。例えば、上位のアプリケーションは、決定論的フローのACLを決定論的フローACLユニット313に送信してもよい。当該ACLは、少なくとも1つの決定論的フローの特徴を含んでもよく、決定論的フローを識別するために使用してもよい。
【0041】
例えば、当該決定論的フローの特徴は、宛先IPアドレスに対応するパケットが決定論的フローに属することを示す宛先IP(Internet Protocol)アドレスであってもよい。別の例として、当該決定論的フローの特徴は、宛先IPネットワークセグメントに対応するパケットが決定論的フローに属することを示す宛先IPネットワークセグメントであってもよい。もちろん、上記は決定論的フローの特徴の2つの例に過ぎず、決定論的フローの特徴に基づいて決定論的フローを決定できる限り、決定論的フローの特徴は限定されない。
【0042】
決定論的フローACLユニット313は、決定論的フローのACLを取得した後、制御ロジックユニット314が決定論的フローACLユニット313から当該ACLを問い合わせるように、当該ACLを格納することもできる。
【0043】
ここで、制御ロジックユニット314は、受信バッファ312からパケットを取得し、当該パケットからフローの特徴(すなわち、ACLに必要なキーワード)を解析することができる。当該フローの特徴がACL内の決定論的フローの特徴のいずれかと一致する場合、当該パケットは決定論的フローに属すると判定され、当該フローの特徴がACL内の決定論的フローの特徴の全てと一致しない場合、当該パケットはベストエフォートフローに属すると判定される。
【0044】
例えば、決定論的フローの特徴が宛先IPアドレスである場合、制御ロジックユニット314は、当該パケットから宛先IPアドレスを解析してもよい。当該パケットの宛先IPアドレスがACL内のある宛先IPアドレスと同じである場合、当該パケットは決定論的フローに属すると判定され、当該パケットの宛先IPアドレスがACL内の宛先IPアドレスの全てと同じでない場合、当該パケットはベストエフォートフローに属すると判定される。
【0045】
当該パケットが決定論的フローに属すると判定された場合、制御ロジックユニット314は、タイムスタンプなどの補助情報をパケットのヘッダに付加し、パケットを決定論的フロー出力キュー315に格納してもよく、当該タイムスタンプは、イーサネットインタフェースコントローラ311が外部デバイスから当該パケットを受信した時刻を表すために使用される。当該パケットがベストエフォートフローに属すると判定された場合、制御ロジックユニット314は、当該パケットをベストエフォートフロー出力キュー316に格納する。
【0046】
以上により、決定論的フローに属するパケットを受信するたびに、パケットを決定論的フロー出力キュー315に格納してもよく、すなわち、決定論的フロー出力キュー315は決定論的フローに属する複数のパケットを含んでもよい。
【0047】
ベストエフォートフローに属するパケットを受信するたびに、パケットをベストエフォートフロー出力キュー316に格納してもよく、すなわち、ベストエフォートフロー出力キュー316はベストエフォートフローに属する複数のパケットを含んでもよい。
【0048】
ここで、送信DMA317は、決定論的フロー出力キュー315からパケットを読み出し、決定論的フロー出力キュー315内のパケットを、第3のチャネルを介して入力転送処理ユニット32に送信してもよい。
【0049】
送信DMA317は、ベストエフォートフロー出力キュー316からパケットを読み出し、ベストエフォートフロー出力キュー316内のパケットを、第4のチャネルを介して入力転送処理ユニット32に送信してもよい。
【0050】
例えば、送信DMA317は、決定論的フロー出力キュー315からパケットを優先的に読み出し、パケットを第3のチャネルを介して入力転送処理ユニット32に送信してもよい。決定論的フロー出力キュー315内の全てのパケットが送信された後に、送信DMA317は、ベストエフォートフロー出力キュー316からパケットを読み出し、パケットを第4のチャネルを介して入力転送処理ユニット32に送信してもよい。
【0051】
別の例では、送信DMA317は、決定論的フロー出力キュー315からパケットの一部を読み出し、パケットを第3のチャネルを介して入力転送処理ユニット32に送信してもよい。そして、送信DMA317は、ベストエフォートフロー出力キュー316からパケットの一部を読み出し、パケットを第4のチャネルを介して入力転送処理ユニット32に送信してもよい。その後、DMA317は、決定論的フロー出力キュー315からパケットの一部の読み取りを継続し、パケットを第3のチャネルを介して入力転送処理ユニット32に送信してもよい。このように、決定論的フロー出力キュー315とベストエフォートフロー出力キュー316内のパケットが全て送信されるまで繰り返される。
【0052】
次に、入力転送処理ユニット32である。入力転送処理ユニット32は、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納する。ここで、入力転送処理ユニット32は、第3のチャネルからパケットを取得すると、当該パケットが決定論的フローに属すると判定してもよい。入力転送処理ユニット32は、第4のチャネルからパケットを取得すると、当該パケットがベストエフォートフローに属すると判定してもよい。
【0053】
例示的に、決定論的フロー入力キューに対応するキュー優先度は、ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、入力転送処理ユニット32が決定論的フロー入力キュー内のパケットを優先的に処理する。入力転送処理ユニット32は、決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて、当該パケットに対応するCQキューを決定する。これに基づいて、当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを内部交換ユニット33に送信する。
【0054】
ここで、タイムスタンプに基づいて当該パケットに対応するCQキューを決定するとき、入力転送処理ユニット32は、当該パケットに対応する転送情報に基づいてエグレスインタフェースを問い合わせ、エグレスインタフェースに対応する複数のCQキューを決定し、各CQキューは1つの対応するスケジューリング周期を有し、当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択し、当該スケジューリング周期に対応するCQキューを決定してもよい。
【0055】
入力転送処理ユニット32は、決定論的フロー入力キュー内のパケットを内部交換ユニット33に送信するとき、パケットに高優先度マークを付加して、高優先度のパケットを内部交換ユニット33に送信する。入力転送処理ユニット32は、ベストエフォートフロー入力キュー内のパケットを内部交換ユニット33に送信するとき、パケットに低優先度マークを付加して、低優先度のパケットを内部交換ユニット33に送信する。
【0056】
図5Bは、入力転送処理ユニット32の構造概略図である。入力転送処理ユニット32は、フロー分類ユニット321、決定論的フロー入力キュー322、ベストエフォートフロー入力キュー323、パイプスケジューリングユニット324、及び決定論的フロー入力パイプ処理ユニット325を含み得る。
【0057】
フロー分類ユニット321は、第3のチャネルからパケットを取得すると、パケットが決定論的フローに属すると判定し、当該パケットを決定論的フロー入力キュー322に格納する。また、フロー分類ユニット321は、第4のチャネルからパケットを取得すると、パケットがベストエフォートフローに属すると判定し、当該パケットをベストエフォートフロー入力キュー323に格納する。
【0058】
入力転送処理ユニット32は複数の物理キューをサポートしてもよく、異なる物理キューの優先度は異なってもよい。これに基づいて、高優先度の物理キューを決定論的フロー入力キュー322とし、低優先度の物理キューをベストエフォートフロー入力キュー323としてもよい。明らかに、決定論的フロー入力キュー322は高優先度の物理キューを使用し、ベストエフォートフロー入力キュー323は低優先度の物理キューを使用するため、決定論的フロー入力キュー322に対応するキュー優先度は、ベストエフォートフロー入力キュー323に対応するキュー優先度より高くすることにより、決定論的フロー入力キュー322内のパケットを優先的に処理することが保証され、すなわち、決定論的フローに属するパケットが優先的に処理されることが保証される。
【0059】
ここで、パイプスケジューリングユニット324は、決定論的フロー入力キュー322内のパケットとベストエフォートフロー入力キュー323内のパケットを転送してもよい。パケットを転送するとき、パイプスケジューリングユニット324は、PMU(Processor Management Unit)であってもよく、すなわち、PMUはパケットを転送し、当該パケットの転送プロセスは本明細書では限定されない。
【0060】
決定論的フロー入力キュー322に対応するキュー優先度は、ベストエフォートフロー入力キュー323に対応するキュー優先度より高いため、パイプスケジューリングユニット324は、決定論的フロー入力キュー322内のパケットを優先的に転送し、決定論的フロー入力キュー322内のパケットが転送された後に、ベストエフォートフロー入力キュー323内のパケットを転送する。また、パイプスケジューリングユニット324は、パケットを転送するとき、パケットを転送パイプに割り当てる(プロセッサ資源を割り当てて対応するパイプ処理を行う)ことができ、このパイプ処理のプロセスは本明細書では限定されない。
【0061】
ここで、決定論的フロー入力パイプ処理ユニット325は、決定論的に関する転送処理を行うために用いられる。すなわち、通常の転送処理(パイプスケジューリングユニット324が行う転送処理を通常の転送処理と呼ぶ)に基づいて、決定論的フロー入力パイプ処理ユニット325が決定論的に関する転送処理を実現する。
【0062】
例えば、図1に示すネットワークデバイス11のようなエッジノードでは、決定論的フロー入力パイプ処理ユニット325が、決定論的フロー入力キュー322内のパケットを処理するとき、当該パケットにCQキュー指示情報が含まれていない(CQキュー指示情報はエッジノードによってパケットに付加される必要がある)場合、当該パケットからタイムスタンプ(入力インタフェースユニット31によってパケットに付加され、ネットワークデバイスが当該パケットを受信したタイムスタンプを表す)を解析し、当該タイムスタンプに基づいてパケットに対応するCQキューを決定してもよい。
【0063】
当該タイムスタンプに基づいて当該パケットに対応するCQキューを決定するとき、当該パケットに対応する転送情報(宛先IPアドレスなど)に基づいて転送エントリ(転送情報とエグレスインタフェースの対応関係を記録するためのエントリ)を問い合わせ、当該転送情報に対応するエグレスインタフェースを取得してもよい。ネットワークデバイスの各エグレスインタフェースは複数のCQキューに対応することができるため、これらのCQキュー内のパケットがこれらのエグレスインタフェースを介して転送可能であることを示す。したがって、当該転送情報に対応するエグレスインタフェースを取得した後、当該エグレスインタフェースに対応する複数のCQキューを決定することができる。
【0064】
各CQキューについて、当該CQキューは1つのスケジューリング周期に対応してもよく、これは当該CQキュー内のパケットが当該スケジューリング周期内に送信される必要があることを示す。さらに、当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択してもよく、すなわち、当該タイムスタンプが当該スケジューリング周期に位置されてもよい。そして、選択されたスケジューリング周期に対応するCQキューを決定し、このCQキューを当該パケットに対応するCQキューとする。以降のプロセスでは、当該パケットをこのCQキューに追加する必要がある。
【0065】
スケジューリング周期に対応するCQキューを決定するために、タイムスロットテーブルを取得してもよい。タイムスロットテーブルは、スケジューリング周期とCQキューとの対応関係を含む。これに基づいて、当該タイムスタンプに対応するスケジューリング周期を取得した後、当該スケジューリング周期に基づいて当該タイムスロットテーブルを問い合わせ、当該スケジューリング周期に対応するCQキューを取得してもよい。
【0066】
以上により、エッジノードにおいて、決定論的フロー入力パイプ処理ユニット325は、パケットに対応するCQキューを取得し、当該CQキューに対応するCQキュー情報、例えばキュー識別子をパケットに付加してもよい。
【0067】
エッジノードについては、各中間ノード(例えば、ネットワークデバイス12、ネットワークデバイス13、ネットワークデバイス14など)におけるパケットのCQキューを決定してもよく、その決定プロセスは本明細書において限定されず、CSQFの動作原理を参照してもよい。各中間ノードにおけるパケットのCQキューを取得した後、CQキュー指示情報をパケットに付加してもよく、当該CQキュー指示情報は、各中間ノードにおけるパケットに対応するCQキュー情報、例えば、ネットワークデバイス12におけるパケットに対応するCQキューのCQキュー情報、ネットワークデバイス13におけるパケットに対応するCQキューのCQキュー情報、及びネットワークデバイス14におけるパケットに対応するCQキューのCQキュー情報を含む。
【0068】
例えば、図1に示すネットワークデバイス12、ネットワークデバイス13、ネットワークデバイス14等の中間ノードでは、決定論的フロー入力パイプ処理ユニット325が決定論的フロー入力キュー322内のパケットを処理するとき、当該パケットはCQキュー指示情報(CQキュー指示情報は、エッジノードによってパケットに付加されるものであり、例えば、SRv6のSIDに当該CQキュー指示情報を付加してもよく、もちろんこれは一例に過ぎない)を含み得る。したがって、当該パケットからCQキュー指示情報を解析し、当該CQキュー指示情報に対応するCQキューを決定してもよい。例えば、ネットワークデバイス12について、CQキュー指示情報は、ネットワークデバイス12におけるパケットに対応するCQキューの情報を含み得る。そのため、当該CQキュー情報に対応するCQキューを直接決定してもよく、このCQキューが当該パケットに対応するCQキューとなる。以降のプロセスでは、当該パケットをこのCQキューに追加する必要がある。
【0069】
以上により、中間ノードにおいて、決定論的フロー入力パイプ処理ユニット325は、パケットに対応するCQキューを取得し、当該CQキューに対応するCQキュー情報、例えばキュー識別子をパケットに付加してもよい。
【0070】
上記実施例で述べたように、決定論的フロー入力キュー322内のパケットが、パイプスケジューリングユニット324及び決定論的フロー入力パイプ処理ユニット325によって処理された後に、パケットを内部交換ユニット33に送信してもよい。パケットを内部交換ユニット33に送信するとき、パケットに高優先度マークを付加し、高優先度マークが付加されたパケットを内部交換ユニット33に送信してもよい。また、ベストエフォートフロー入力キュー323内のパケットが、パイプスケジューリングユニット324によって処理された後に、パケットを内部交換ユニット33に送信してもよい。また、内部交換ユニット33にパケットを送信するとき、パケットに低優先度マークを付加し、低優先度マークが付加されたパケットを内部交換ユニット33に送信してもよい。
【0071】
第3に、内部交換ユニット33である。内部交換ユニット33は、高優先度マークが付加されたパケット(すなわち、決定論的フローに属するパケット)を受信した後、高優先度マークに基づいて、パケットを出力転送処理ユニット34に送信し、低優先度マークが付加されたパケット(すなわち、ベストエフォートフローに属するパケット)を受信した後、低優先度マークに基づいて、パケットを出力転送処理ユニット34に送信する。
【0072】
例えば、高優先度マーク及び低優先度マークに基づいて、内部交換ユニット33は、高優先度マークが付加されたパケットを優先的に出力転送処理ユニット34に送信し、高優先度マークが付加されたパケットが送信された後に、低優先度マークが付加されたパケットを出力転送処理ユニット34に送信する。
【0073】
第4に、出力転送処理ユニット34である。出力転送処理ユニットは、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納してもよい。出力転送処理ユニット34は、決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、当該カプセル化情報は少なくともCQキュー情報を含み、当該カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納してもよい。また、ベストエフォートフロー入力キュー内の各パケットについて、出力転送処理ユニット34は、当該パケットに対してHQOSスケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納してもよい。ここで、出力インタフェースユニット35と出力転送処理ユニット34との間には、第1のチャネル及び第2のチャネルがある。出力転送処理ユニット34は、決定論的フロー出力キュー内のパケットを、第1のチャネルを介して出力インタフェースユニット35に送信し、ベストエフォートフロー出力キュー内のパケットを、第2のチャネルを介して出力インタフェースユニット35に送信してもよい。
【0074】
図5Cは、出力転送処理ユニット34の構造概略図である。出力転送処理ユニット34は、フロー分類ユニット341、決定論的フロー入力キュー342、ベストエフォートフロー入力キュー343、パイプスケジューリングユニット344、決定論的フロー入力パイプ処理ユニット345、ベストエフォートフロー入力パイプ処理ユニット346、HQOSスケジューリングユニット347、決定論的フロー出力キュー348、ベストエフォートフロー出力キュー349、及び送信DMA340を含み得る。
【0075】
ここで、内部交換ユニット33は、高優先度交換チャネル及び通常優先度交換チャネルを含み得る。内部交換ユニット33は、高優先度交換チャネルを介して決定論的フローのパケットを送信し、通常優先度交換チャネルを介してベストエフォートフローのパケットを送信してもよい。これに基づいて、フロー分類ユニット341は、高優先度交換チャネルからパケットを取得すると、当該パケットが決定論的フローに属すると判定し、当該パケットを決定論的フロー入力キュー342に格納する。また、フロー分類ユニット341は、通常優先度交換チャネルからパケットを取得すると、当該パケットがベストエフォートフローに属すると判定し、当該パケットをベストエフォートフロー入力キュー343に格納する。
【0076】
ここで、出力転送処理ユニット34は複数の物理キューをサポートしてもよく、異なる物理キューの優先度は異なってもよい。これに基づいて、高優先度の物理キューを決定論的フロー入力キュー342とし、低優先度の物理キューをベストエフォートフロー入力キュー343としてもよい。明らかに、決定論的フロー入力キュー342は高優先度の物理キューを使用し、ベストエフォートフロー入力キュー343は低優先度の物理キューを使用するため、決定論的フロー入力キュー342に対応するキュー優先度は、ベストエフォートフロー入力キュー343に対応するキュー優先度より高くすることにより、決定論的フロー入力キュー342内のパケットを優先的に処理することが保証され、すなわち、決定論的フローに属するパケットを優先的に処理することが保証される。
【0077】
ここで、パイプスケジューリングユニット344は、決定論的フロー入力キュー342内のパケットとベストエフォートフロー入力キュー343内のパケットを転送してもよい。このパケットの転送処理のプロセスは本明細書では限定されない。決定論的フロー入力キュー342に対応するキュー優先度は、ベストエフォートフロー入力キュー343に対応するキュー優先度より高いため、パイプスケジューリングユニット344は、決定論的フロー入力キュー342内のパケットを優先的に転送し、決定論的フロー入力キュー342内のパケットが転送された後に、ベストエフォートフロー入力キュー343内のパケットを転送する。
【0078】
ここで、決定論的フロー入力パイプ処理ユニット345は、決定論的に関する転送処理を行うために用いられる。すなわち、通常の転送処理(パイプスケジューリングユニット344が行う転送処理を通常の転送処理と呼ぶ)に基づいて、決定論的フロー入力パイプ処理ユニット345が決定論的に関する転送処理を実現する。
【0079】
例えば、決定論的フロー入力キュー342内の各パケットについて、決定論的フロー入力パイプ処理ユニット345は、当該パケットからCQキュー情報(入力転送処理ユニット32によってパケットに付加された)を解析し、当該CQキュー情報を当該パケットに対応するカプセル化情報として決定してもよい。もちろん、上記はカプセル化情報の一例に過ぎず、このカプセル化情報は本明細書では限定されない。例えば、自ネットワークデバイスのエグレスインタフェースのMACアドレスやネクストホップネットワークデバイスのMACアドレス等を問い合わせ、自ネットワークデバイスのエグレスインタフェースのMACアドレスとネクストホップネットワークデバイスのMACアドレスをカプセル化情報としてもよい。
【0080】
カプセル化情報を取得した後、決定論的フロー入力パイプ処理ユニット345は、当該カプセル化情報に基づいて当該パケットをカプセル化し、例えば、パケットの外層にCQキュー情報などをカプセル化し、カプセル化されたパケットを決定論的フロー出力キュー348に格納してもよい。ここで、決定論的フロー入力パイプ処理ユニット345は、パケットをカプセル化した後、ベストエフォートフローのために実現されたHQOSスケジューリングユニット347をバイパスしてもよい、つまり、決定論的フロー入力キュー342内のパケットに対してHQOSスケジューリングユニット347を使用してHQOSスケジューリングを行う必要がない。決定論的フロー入力キュー342内のパケットはHQOSスケジューリングされないため、ベストエフォートスケジューリングの影響を受けず、決定論的フロー入力キュー342内のパケットを迅速に転送することができる。
【0081】
ここで、ベストエフォートフロー入力パイプ処理ユニット346は、ベストエフォートに関する転送処理を行うために用いられる。すなわち、通常の転送処理に基づいてベストエフォートに関する転送処理を行う。例えば、ベストエフォートフロー入力キュー343内の各パケットについて、ベストエフォートフロー入力パイプ処理ユニット346は、当該パケットに対応するカプセル化情報、例えば、自ネットワークデバイスのエグレスインタフェースのMACアドレスやネクストホップネットワークデバイスのMACアドレス等を決定し、当該カプセル化情報に基づいて当該パケットをカプセル化し、例えば、パケットの外層にこれらのカプセル化情報をカプセル化し、カプセル化されたパケットをHQOSスケジューリングユニット347に送信する。
【0082】
ここで、HQOSスケジューリングユニット347は、ベストエフォートフロー入力キュー343内の各パケットに対してHQOSスケジューリングを行うために用いられ、このHQOSスケジューリングプロセスは本明細書では限定されない。パケットに対するHQOSスケジューリング処理を完了した後、HQOSスケジューリングユニット347は、パケットをベストエフォートフロー出力キュー349に格納してもよい。
【0083】
ここで、送信DMA340は、決定論的フロー出力キュー348からパケットを読み出し、決定論的フロー出力キュー348内のパケットを、第1のチャネルを介して出力インタフェースユニット35に送信してもよい。送信DMA340は、ベストエフォートフロー出力キュー349からパケットを読み出し、ベストエフォートフロー出力キュー349内のパケットを、第2のチャネルを介して出力インタフェースユニット35に送信してもよい。決定論的フロー出力キュー348内のパケットとベストエフォートフロー出力キュー349内のパケットは異なるチャネルを介して送信されるため、出力インタフェースユニット35で輻輳が発生した場合、決定論的フローの伝送チャネル、すなわち第1のチャネルをバックプレスすることなく、ベストエフォートフローの伝送チャネル、すなわち第2のチャネルのみをバックプレスすることができ、遅延決定論的を強力にサポートすることができる。
【0084】
例えば、送信DMA340は、決定論的フロー出力キュー348からパケットを優先的に読み出し、パケットを第1のチャネルを介して出力インタフェースユニット35に送信してもよい。決定論的フロー出力キュー348内の全てのパケットが送信された後に、送信DMA340は、ベストエフォートフロー出力キュー349からパケットを読み出し、パケットを第2のチャネルを介して出力インタフェースユニット35に送信してもよい。
【0085】
別の例では、送信DMA340は、決定論的フロー出力キュー348からパケットの一部を読み出し、パケットを第1のチャネルを介して出力インタフェースユニット35に送信してもよい。そして、送信DMA340は、ベストエフォートフロー出力キュー349からパケットの一部を読み出し、パケットを第2のチャネルを介して出力インタフェースユニット35に送信してもよい。その後、送信DMA340は、決定論的フロー出力キュー348からパケットの一部の読み取りを継続し、パケットを第1のチャネルを介して出力インタフェースユニット35に送信してもよい。このように、決定論的フロー出力キュー348とベストエフォートフロー出力キュー349内のパケットが全て送信されるまで繰り返される。
【0086】
第5に、出力インタフェースユニット35である。出力インタフェースユニット35は、決定論的フロー出力キュー348からパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納してもよい。また、出力インタフェースユニット35は、ベストエフォートフロー出力キュー349からパケットを取得し、当該パケットをベストエフォートキュー(BEQ:Best Effort Queue)に格納してもよい。
【0087】
各スケジューリング周期について、現在進行中のスケジューリング周期を現在のスケジューリング周期と呼び、出力インタフェースユニット35は、現在のスケジューリング周期に対応するターゲットCQキューを決定し、現在のスケジューリング周期で、ターゲットCQキュー内のパケットを外部デバイスに送信する。ターゲットCQキュー内の全てのパケットが送信された後に、現在のスケジューリング周期にまだ残りのタイムスライスがある場合、出力インタフェースユニット35は、現在のスケジューリング周期の残りのタイムスライスで、BEQキュー内のパケットを外部デバイスに送信する。例えば、出力インタフェースユニット35は、残りのタイムスライスで送信可能なパケットの長さを決定し、当該パケットの長さが設定された長さ(経験に基づいて設定される)より大きい場合、現在のスケジューリング周期の残りのタイムスライスで、BEQキュー内の1つのパケットを外部デバイスに送信し、当該パケットの長さが設定された長さより大きくない場合、現在のスケジューリング周期の残りのタイムスライスで、BEQキュー内のパケットの外部デバイスへの送信を停止する。例示的に、BEQキュー内の1つのパケットを外部デバイスに送信した後、現在のスケジューリング周期の残りのタイムスライスを更新し、更新された残りのタイムスライスに基づいて、残りのタイムスライスで送信可能なパケットの長さを決定する動作を戻って実行してもよい。
【0088】
例示的に、BEQキュー内のパケット数が第1の所定閾値より大きい場合、出力インタフェースユニット35はさらに、第2のチャネルに対するフロー制御信号を出力してもよく、BEQキュー内のパケット数が第2の所定閾値より小さい場合、出力インタフェースユニット35は、第2のチャネルに対するフロー制御信号をキャンセルしてもよい。ここで、第2の所定閾値は、第1の所定閾値以下であってもよく、本明細書では限定されない。これに基づいて、第2のチャネルに対するフロー制御信号がある場合、第2のチャネルを介したパケットの送信を一時停止し、すなわち、出力転送処理ユニット34は、ベストエフォートフロー出力キュー349内のパケットを、第2のチャネルを介して出力インタフェースユニット35に送信しなくなる。第2のチャネルに対するフロー制御信号がない場合、第2のチャネルを介したパケットの送信を継続し、すなわち、出力転送処理ユニット34は、ベストエフォートフロー出力キュー349内のパケットを、出力インタフェースユニット35に送信する。
【0089】
図5Dは、出力インタフェースユニット35の構造概略図である。出力インタフェースユニット35は、制御ユニット351と、分類ユニット(Classification)352と、周期選択ユニット(Select by Cycle)353と、ストリームプロセッサ(SP:Stream Processor)ユニット354と、MAC層転送ユニット355とを含み得る。また、出力インタフェースユニット35は、BEQキュー及びCQキューを含んでもよく、BEQキューの数は、少なくとも1つである。図5Dでは、1つのBEQキューを例とし、CQキューの数は、少なくとも3つである。図5Dでは、15個のCQキューを例とする。この15のCQキューは、それぞれCQ1、CQ2、...、CQ15と記す。15個のCQキューが存在する場合、15個のSPユニット354も存在し、SPユニット354はCQキューと1対1に対応する。
【0090】
ここで、制御ユニット351は、第1のチャネルからパケットを取得すると、すなわち、決定論的フロー出力キュー348内のパケットを取得すると、当該パケットが決定論的フローに属すると判定し、当該パケットを分類ユニット352に送信してもよい。また、制御ユニット351は、第2のチャネルからパケットを取得すると、すなわち、ベストエフォートフロー出力キュー349内のパケットを取得すると、当該パケットがベストエフォートフローに属すると判定し、当該パケットをBEQキューに格納してもよい。
【0091】
ここで、BEQキューは、ベストエフォートフローのパケットをキャッシュするためのベストエフォートキャッシュキューであり、これらのパケットはHQOSスケジューリングユニット347において既にスケジューリングされた。BEQキューでは、高低2段階のウォーターマークが設計されている。BEQキューにキャッシュされたパケット数が設定されたハイウォーターマーク(すなわち、第1の所定閾値)より高い場合、第2のチャネルに対するフロー制御信号を出力してもよい。BEQキューにキャッシュされたパケット数が設定されたローウォーターマーク(すなわち、第2の所定閾値)より低い場合、第2のチャネルに対するフロー制御信号をキャンセルしてもよい。
【0092】
これに基づいて、第2のチャネルに対するフロー制御信号がある場合、送信DMA340は、第2のチャネルを介してパケットを送信しなくなり、すなわち、ベストエフォートフロー出力キュー349内のパケットを出力インタフェースユニット35に送信しなくなり、したがって、制御ユニット351は、ベストエフォートフロー出力キュー349内のパケットを取得しなくなる。第2のチャネルに対するフロー制御信号がキャンセルされる場合、送信DMA340は、第2のチャネルを介してパケットの送信を継続し、すなわち、ベストエフォートフロー出力キュー349内のパケットを出力インタフェースユニット35に送信し、したがって、制御ユニット351は、ベストエフォートフロー出力キュー349内のパケットを取得し、パケットをBEQキューに格納することができる。
【0093】
ここで、分類ユニット352は、決定論的フローのパケットを、CQ1~CQ15のいずれかのCQキューに格納するように分類するために使用される。CQ1~CQ15の合計15のCQキューが存在するため、決定論的フローのパケット対して、分類ユニット352は、このパケットがどのCQキューに属するかを判定し、当該パケットをこのCQキューに格納する必要がある。例えば、パケットには、CQキュー情報がカプセル化されており、当該CQキュー情報はあるCQキューを示すためのキュー識別子等であってもよいので、分類ユニット352は、パケットからCQキュー情報を解析し、当該CQキュー情報に対応するCQキューを決定し、当該パケットをこのCQキューに格納してもよい。例えば、CQキュー情報がCQ5に対応する場合、当該パケットをCQ5に格納する。
【0094】
ここで、周期選択ユニット353は、クロック源(Clock)の制御の下で、周期的に選択信号を与え、隣接する2つの選択信号の間の長さは、CSQFの1つのスケジューリング周期となる。例えば、スケジューリング周期1がCQ1に対応し、スケジューリング周期2がCQ2に対応し、このように、スケジューリング周期15がCQ15に対応する。
【0095】
これに基づき、現在のスケジューリング周期がスケジューリング周期1である場合、周期選択ユニット353は、スケジューリング周期1の開始時刻に、CQ1に接続されたSPユニット354に選択信号を送信する。SPユニット354は、当該選択信号を受信すると、現在のスケジューリング周期に対応するターゲットCQキューをCQ1と決定し、CQ1からパケットを読み出し、読み出したパケットをMAC層転送ユニット355に送信する。周期選択ユニット353は、スケジューリング周期1の終了時刻に、CQ1に接続されたSPユニット354に1つの新たな選択信号を送信する。SPユニット354は当該選択信号を受信した後、パケットの送信を停止してもよい。
【0096】
現在のスケジューリング周期がスケジューリング周期2である場合、周期選択ユニット353は、スケジューリング周期2の開始時刻(スケジューリング周期2の開始時刻はスケジューリング周期1の終了時刻)に、CQ2に接続されたSPユニット354に選択信号を送信する。SPユニット354は、当該選択信号を受信すると、現在のスケジューリング周期に対応するターゲットCQキューをCQ2と決定し、CQ2からパケットを読み出し、読み出したパケットをMAC層転送ユニット355に送信する。周期選択ユニット353は、スケジューリング周期2の終了時刻に、CQ2に接続されたSPユニット354に1つの新たな選択信号を送信することにより、SPユニット354がパケットの送信を停止する。
【0097】
このように、各スケジューリング周期において、周期選択ユニット353は、あるSPユニット354に選択信号を送信することにより、当該SPユニット354が選択信号に基づいてパケットを送信したり、パケットの送信を停止したりしてもよい。
【0098】
ここで、SPユニット354は、選択信号の制御の下で、優先度に従ってパケットを転送するために使用される。すなわち、まずターゲットCQキュー内のパケットを送信し、ターゲットCQキュー内の全てのパケットが送信された後に、現在のスケジューリング周期にまだ残りのタイムスライスがある場合、SPユニット354は、残りのタイムスライスでBEQキュー内のパケットを送信する。
【0099】
例えば、現在のスケジューリング周期がスケジューリング周期nであり、スケジューリング周期nがCQn(1≦n≦15)に対応すると仮定する。CQnに接続されたSPユニット354は、選択信号を受信した後、ターゲットCQキューをCQnと決定し、CQnからパケットを読み出し、読み出したパケットをMAC層転送ユニット355に送信する。また、当該SPユニット354は、選択信号を受信した後、タイマによる計時を行ってもよい。
【0100】
CQnの全てのパケットが送信された後に、現在のスケジューリング周期にまだ残りのタイムスライスがある場合、残りのタイムスライスの長さを決定する。ここで、残りのタイムスライスの長さは、スケジューリング周期の時間長とタイマの計時長との差である。残りのタイムスライスの長さを取得した後、当該残りのタイムスライスで送信可能なパケットの長さを決定する。
【0101】
BEQキュー内の1つのパケットの長さに基づいて、1つの設定された長さ、例えば、9600バイトに予め設定してもよく、9600バイトは、パケットの規定の長さを表す。これに基づいて、残りのタイムスライスで送信可能なパケットの長さが当該設定された長さより大きい場合、SPユニット354は、現在のスケジューリング周期の残りのタイムスライスで、BEQキューからパケットを読み出し、読み出したパケットをMAC層転送ユニット355に送信する。残りのタイムスライスで送信可能なパケットの長さが当該設定された長さより大きくない場合、SPユニット354は、現在のスケジューリング周期の残りのタイムスライスで、BEQキュー内のパケットを送信しない。
【0102】
SPユニット354は、BEQキューから1つのパケットを読み出し、読み出したパケットをMAC層転送ユニット355に送信した後、現在のスケジューリング周期の残りのタイムスライスで送信可能なパケットの長さが、当該設定された長さよりまだ大きい場合、現在のスケジューリング周期の残りのタイムスライスで、BEQキューから1つのパケットの読み出しを継続し、読み出したパケットをMAC層転送ユニット355に送信する。以降も同様である。
【0103】
スケジューリング周期1がCQ1に対応すると仮定すると、スケジューリング周期1で、CQ1からパケットを取得して送信する。CQ1内の全てのパケットが送信されると、スケジューリング周期の時間長とタイマの値に基づいて、残りのタイムスライスを計算する。残りのタイムスライスで設定された長さ(例えば9600バイト)の1つのパケットを送信できる場合は、BEQキューから1つのパケットを取得して送信し、そうでない場合は、スケジューリング周期1ではパケットを送信せず、次のスケジューリング周期、すなわちスケジューリング周期2を待つ。スケジューリング周期2がCQ2に対応すると仮定すると、スケジューリング周期2で、CQ2からパケットを取得して送信し、CQ2内の全てのパケットが送信されると、スケジューリング周期の時間長とタイマの値に基づいて、残りのタイムスライスを計算する。残りのタイムスライスで設定された長さの1つのパケットを送信できる場合は、BEQキューから1つのパケットを取得して送信し、そうでない場合は、スケジューリング周期2ではパケットを送信せず、次のスケジューリング周期を待つ。以降も同様である。
【0104】
例として、CQn内のパケットが現在送信中であり、現在のスケジューリング周期の残りのタイムスライスでCQn内の全てのパケットの送信が十分でない場合、現在のスケジューリング周期が終了した後、CQn内の全てのパケットが送信されるまで、CQn内のパケットの送信を継続し、その後、次のCQ内のパケットを送信してもよい。
【0105】
例示的に、各SPユニット354について、SPスケジューリングは、フレームプリエンプション(frame preemption)スケジューリング方式ではなく、簡略化された方式で実施されてもよい。もちろん、SPスケジューリングは、フレームプリエンプションスケジューリング方式で実行されてもよく、本明細書では繰り返さない。
【0106】
ここで、MAC層転送ユニット355は、パケットを受信した後、当該パケットを外部デバイスに送信するために使用される。例えば、CQキュー内のパケットを受信した場合、CQキュー内のパケットを外部デバイスに送信し、BEQキュー内のパケットを受信した場合、BEQキュー内のパケットを外部デバイスに送信する。
【0107】
以上の技術的解決手段からわかるように、本発明の実施例では、決定論的フローの転送がベストエフォートフローの転送に影響されず、ベストエフォートフローの転送と決定論的フローの転送が両立することを保証することができる。CSQFに基づき、広域決定論的ネットワークのパケット伝送、決定論的フローとベストエフォートフローの共存を実現することで、共通ネットワークと共通パスのフルサービスの完全統合を促進する。決定論的フローの予約帯域幅が決定論的フローによって使用されていない場合、ベストエフォートフローによって使用することができ、輻輳が発生した場合、決定論的フローに影響を与えず、ベストエフォートフローの数を制御することで輻輳状況を解決することができる。ベストエフォートフローのHQOSスケジューリングは維持されるが、決定論的フローのHQOSスケジューリングは行われない。決定論的フローがSR又はSRv6上で伝送されることを制限することができ、決定論的フローがIPデータフローであってもよい。決定論的フローは、ネットワークデバイスの受信側の最前端で可能な限り迅速に識別され、決定論的フローがベストエフォートフローの影響を受けないように、ネットワークデバイス内に独立したデータパイプ又は通路が確立される。
【0108】
本発明の実施例では、ネットワークデバイスに適用されるパケット伝送方法を提供する。ネットワークデバイスは、出力転送処理ユニット及び出力インタフェースユニットを含み得る。図6は、本発明の一実施形態によるパケット伝送方法のフローチャートである。当該方法は、ステップ601~603含み得る。
ステップ601において、出力転送処理ユニットは、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、当該カプセル化情報は少なくともCQキュー情報を含み、当該カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納する。
ステップ602において、出力インタフェースユニットは、当該決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納する。
ステップ603において、出力インタフェースユニットは、現在のスケジューリング周期に対応するターゲットCQキューを決定し、現在のスケジューリング周期で、当該ターゲットCQキュー内のパケットを外部デバイスに送信する。
【0109】
1つの可能な実施形態では、出力転送処理ユニットは、パケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対してHQOSスケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納する。出力インタフェースユニットは、当該ベストエフォートフロー出力キューからパケットを取得し、当該パケットをBEQキューに格納する。これに基づいて、出力インタフェースユニットは、現在のスケジューリング周期で、ターゲットCQキュー内のパケットを外部デバイスに送信した後、ターゲットCQキュー内の全てのパケットが送信された後に、現在のスケジューリング周期にまだ残りのタイムスライスがある場合、出力インタフェースユニットは、現在のスケジューリング周期の残りのタイムスライスで、当該BEQキュー内のパケットを外部デバイスに送信する。
【0110】
1つの可能な実施形態では、ネットワークデバイスは、入力転送処理ユニットをさらに含み、入力転送処理ユニットは、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納する。決定論的フロー入力キューに対応するキュー優先度が、ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、入力転送処理ユニットが決定論的フロー入力キュー内のパケットを優先的に処理する。入力転送処理ユニットが決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定する。当該タイムスタンプは、ネットワークデバイスが当該パケットを受信したタイムスタンプを表す。入力転送処理ユニットが当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、出力転送処理ユニットが当該パケットを取得する。
【0111】
例示的に、ネットワークデバイスは、内部交換ユニットをさらに含む。入力転送処理ユニットが決定論的フロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに高優先度マークを付加して、パケットを内部交換ユニットに送信することにより、内部交換ユニットが高優先度マークに基づいてパケットを出力転送処理ユニットに送信する。入力転送処理ユニットが、ベストエフォートフロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに低優先度マークを付加して、パケットを内部交換ユニットに送信することにより、内部交換ユニットが低優先度マークに基づいてパケットを出力転送処理ユニットに送信する。
【0112】
1つの可能な実施形態では、ネットワークデバイスは、入力インタフェースユニットをさらに含み得る。入力インタフェースユニットは、外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納する。入力インタフェースユニットは、決定論的フロー出力キュー内のパケットを、第3のチャネルを介して入力転送処理ユニットに送信することにより、入力転送処理ユニットが第3のチャネルから当該パケットを取得する。ここで、入力転送処理ユニットは、第3のチャネルから取得されたパケットが決定論的フローに属すると判定する。入力インタフェースユニットは、ベストエフォートフロー出力キュー内のパケットを、第4のチャネルを介して入力転送処理ユニットに送信することにより、入力転送処理ユニットが第4のチャネルから当該パケットを取得する。ここで、入力転送処理ユニットは、第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する。
【0113】
本発明の実施例では、ネットワークデバイスを提供し、当該ネットワークデバイスは、出力転送処理ユニット及び出力インタフェースユニットを含み。出力転送処理ユニットは、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、カプセル化情報は少なくともCQキュー情報を含み、当該カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するために使用される。出力インタフェースユニットは、決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するために使用される。出力インタフェースユニットは、現在のスケジューリング周期に対応するターゲットCQキューを決定し、現在のスケジューリング周期で、ターゲットCQキュー内のパケットを外部デバイスに送信するために使用される。
【0114】
1つの可能な実施形態では、出力転送処理ユニットはさらに、パケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対してHQOSスケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納するために使用される。出力インタフェースユニットはさらに、ベストエフォートフロー出力キューからパケットを取得し、当該パケットをBEQキューに格納するために使用される。出力インタフェースユニットは、現在のスケジューリング周期で、ターゲットCQキュー内のパケットを外部デバイスに送信した後、さらに、ターゲットCQキュー内の全てのパケットが送信された後に、現在のスケジューリング周期にまだ残りのタイムスライスがある場合、現在のスケジューリング周期の残りのタイムスライスで、BEQキュー内のパケットを外部デバイスに送信するために使用される。
【0115】
例示的に、ネットワークデバイスは、入力転送処理ユニットをさらに含む。入力転送処理ユニットは、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納するために使用される。決定論的フロー入力キューに対応するキュー優先度が、ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、入力転送処理ユニットが決定論的フロー入力キュー内のパケットを優先的に処理する。入力転送処理ユニットはさらに、決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するために使用される。タイムスタンプは、ネットワークデバイスが当該パケットを受信したタイムスタンプを表す。入力転送処理ユニットはさらに、当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、出力転送処理ユニットが当該パケットを取得するために使用される。
【0116】
例示的に、ネットワークデバイスは、入力インタフェースユニットをさらに含む。入力インタフェースユニットは、外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納するために使用される。入力インタフェースユニットは、決定論的フロー出力キュー内のパケットを、第3のチャネルを介して入力転送処理ユニットに送信することにより、入力転送処理ユニットが第3のチャネルから当該パケットを取得するために使用される。ここで、入力転送処理ユニットは、第3のチャネルから取得されたパケットが決定論的フローに属すると判定する。入力インタフェースユニットは、ベストエフォートフロー出力キュー内のパケットを、第4のチャネルを介して入力転送処理ユニットに送信することにより、入力転送処理ユニットが第4のチャネルから当該パケットを取得するために使用される。ここで、入力転送処理ユニットは、第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する。
【0117】
上記実施例で説明したシステム、装置、モジュール又はユニットは、具体的には、コンピュータチップ、エンティティ、又は何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータであり、コンピュータの具体的な形態はパーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレット、ウェアラブルデバイス、又はこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0118】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能を同一又は複数のソフトウェア及び/又はハードウェアで実現することも可能である。
【0119】
当業者であれば分かるように、本発明の実施例が、方法、システム、又はコンピュータプログラム製品として提供されてもよい。したがって、本発明は、ハードウェアだけからなる実施例、ソフトウェアだけからなる実施例、又はソフトウェアとハードウェアを組み合わせた実施例なる形態を用いてもよい。さらに、本発明の実施例は、コンピュータで使用可能なプログラムコードを含む1つ又は複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0120】
本発明は、本発明の実施例に係る方法、デバイス(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図における各フロー及び/又はブロック、並びにフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0121】
また、これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブル可能なデータ処理デバイスに特定の方法で動作するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶された命令は、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための命令装置を含む製品が生成される。
【0122】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理デバイスにロードされてもよく、それにより、一連の動作ステップがコンピュータ又は他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それによりコンピュータ又は他のプログラム可能なデバイス上で実行される命令はフローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するためのステップを提供する。
【0123】
以上は、本発明の実施例に過ぎず、本発明を限定するものではない。当業者にとって、本発明は様々な変更及び変化が可能である。本発明の精神と原理の範囲内で行われたいかなる修正、同等な置換、改善などは、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
図1
図2
図3
図4A
図4B
図5A
図5B
図5C
図5D
図6
【手続補正書】
【提出日】2023-11-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワークデバイスに適用されるパケット伝送方法であって、前記ネットワークデバイスは少なくとも出力転送処理ユニット及び出力インタフェースユニットを含み、
前記出力転送処理ユニットがパケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するステップであって、前記カプセル化情報は少なくとも周期キュー(CQキュー)情報を含む、ステップと、
前記出力インタフェースユニットが前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するステップと、
前記出力インタフェースユニットが現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するステップと、を含む、
ことを特徴とするパケット伝送方法。
【請求項2】
前記出力転送処理ユニットがパケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、前記ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対して階層型サービス品質(HQOS)スケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納するステップと、
前記出力インタフェースユニットが前記ベストエフォートフロー出力キューからパケットを取得し、当該パケットをベストエフォートキュー(BEQキュー)に格納するステップと、をさらに含み、
前記出力インタフェースユニットが前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信した後、さらに、
前記ターゲットCQキュー内のパケットの送信が完了した後に、前記現在のスケジューリング周期にまだ残りのタイムスライスがある場合、前記出力インタフェースユニットが、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記出力インタフェースユニットと前記出力転送処理ユニットとの間には、第1のチャネル及び第2のチャネルがあり、
前記出力インタフェースユニットが前記決定論的フロー出力キューからパケットを取得するステップは、前記出力インタフェースユニットが前記第1のチャネルを介して前記決定論的フロー出力キューからパケットを取得するステップを含み、
前記出力インタフェースユニットが前記ベストエフォートフロー出力キューからパケットを取得するステップは、前記出力インタフェースユニットが前記第2のチャネルを介して前記ベストエフォートフロー出力キューからパケットを取得するステップを含み、
ここで、前記BEQキュー内のパケット数が第1の所定閾値より大きい場合、前記出力インタフェースユニットは、前記第2のチャネルに対するフロー制御信号を出力し、前記BEQキュー内のパケット数が第2の所定閾値より小さい場合、前記出力インタフェースユニットは、前記第2のチャネルに対するフロー制御信号をキャンセルし、前記第2のチャネルに対するフロー制御信号がある場合、前記第2のチャネルを介したパケットの送信は一時停止され、
前記第2の所定閾値は、前記第1の所定閾値以下である、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記出力インタフェースユニットが、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するステップは、
前記出力インタフェースユニットが、前記残りのタイムスライスで送信可能なパケットの長さを決定し、前記パケットの長さが設定された長さより大きい場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内の1つのパケットを外部デバイスに送信し、前記パケットの長さが設定された長さより大きくない場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットの外部デバイスへの送信を停止するステップと、
前記BEQキュー内の1つのパケットを外部デバイスに送信した後、前記現在のスケジューリング周期の残りのタイムスライスを更新し、更新された残りのタイムスライスで送信可能なパケットの長さを決定する動作を戻って実行するステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記ネットワークデバイスは、入力転送処理ユニットをさらに含み、前記方法はさらに、
前記入力転送処理ユニットがパケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納するステップであって、前記決定論的フロー入力キューに対応するキュー優先度が、前記ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを優先的に処理する、ステップと、
前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するステップであって、前記タイムスタンプは、前記ネットワークデバイスが当該パケットを受信したタイムスタンプを表す、ステップと、
当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、前記出力転送処理ユニットに当該パケットを取得させるステップと、を含む、
ことを特徴とする請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記入力転送処理ユニットが当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するステップは、
前記入力転送処理ユニットが、当該パケットに対応する転送情報に基づいてエグレスインタフェースを問い合わせ、前記エグレスインタフェースに対応する複数のCQキューを決定するステップであって、各CQキューは1つの対応するスケジューリング周期を有する、ステップと、
前記入力転送処理ユニットが、当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択し、当該スケジューリング周期に対応するCQキューを決定するステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記ネットワークデバイスは、内部交換ユニットをさらに含み、前記方法はさらに、
前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに高優先度マークを付加して、パケットを前記内部交換ユニットに送信することにより、前記内部交換ユニットに前記高優先度マークに基づいてパケットを前記出力転送処理ユニットに送信させるステップと、
前記入力転送処理ユニットが、前記ベストエフォートフロー入力キュー内のパケットを出力転送処理ユニットに送信するとき、パケットに低優先度マークを付加して、パケットを前記内部交換ユニットに送信することにより、前記内部交換ユニットに前記低優先度マークに基づいてパケットを前記出力転送処理ユニットに送信させるステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項8】
前記ネットワークデバイスは、入力インタフェースユニットをさらに含み、
前記入力インタフェースユニットと前記入力転送処理ユニットとの間には、第3のチャネル及び第4のチャネルがあり、
前記方法はさらに、
前記入力インタフェースユニットが外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納するステップと、
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを、前記第3のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第3のチャネルから当該パケットを取得させるステップであって、前記入力転送処理ユニットは、前記第3のチャネルから取得されたパケットが決定論的フローに属すると判定する、ステップと、
前記入力インタフェースユニットが、ベストエフォートフロー出力キュー内のパケットを、前記第4のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第4のチャネルから当該パケットを取得させるステップであって、前記入力転送処理ユニットは、前記第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する、ステップとを含む、
ことを特徴とする請求項5に記載の方法。
【請求項9】
前記入力インタフェースユニットが、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定するステップは、
前記入力インタフェースユニットが、当該パケットからフローの特徴を解析し、前記フローの特徴が設定されたアクセス制御リスト(ACL)内の決定論的フローの特徴と一致する場合、当該パケットが決定論的フローに属すると判定し、前記フローの特徴が前記ACL内の決定論的フローの特徴と一致しない場合、当該パケットがベストエフォートフローに属すると判定するステップを含み、
前記ACLは、少なくとも1つの決定論的フローの特徴を含む、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを前記第3のチャネルを介して前記入力転送処理ユニットに送信し、ベストエフォートフロー出力キュー内のパケットを前記第4のチャネルを介して前記入力転送処理ユニットに送信するステップは、
前記入力インタフェースユニットが、前記決定論的フロー出力キューからパケットを優先的に取得し、取得されたパケットを前記第3のチャネルを介して前記入力転送処理ユニットに送信するステップと、
前記決定論的フロー出力キュー内の全てのパケットが取得された後に、前記ベストエフォートフロー出力キューからパケットを取得し、取得されたパケットを前記第4のチャネルを介して前記入力転送処理ユニットに送信するステップと、を含む、
ことを特徴とする請求項8に記載の方法。
【請求項11】
ネットワークデバイスであって、前記ネットワークデバイスは、出力転送処理ユニット及び出力インタフェースユニットを含み、
前記出力転送処理ユニットが、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、前記決定論的フロー入力キュー内の各パケットについて、当該パケットに対応するカプセル化情報を決定し、前記カプセル化情報に基づいて当該パケットをカプセル化し、カプセル化されたパケットを決定論的フロー出力キューに格納するために使用され、ここで、前記カプセル化情報は少なくとも周期キュー(CQキュー)情報を含み、
前記出力インタフェースユニットが、前記決定論的フロー出力キューからパケットを取得し、当該パケットに対応するCQキュー情報に基づいて、当該パケットを当該CQキュー情報に対応するCQキューに格納するために使用され、
前記出力インタフェースユニットが、現在のスケジューリング周期に対応するターゲットCQキューを決定し、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信するために使用される、
ことを特徴とするネットワークデバイス。
【請求項12】
前記出力転送処理ユニットがさらに、パケットを取得した後、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納し、前記ベストエフォートフロー入力キュー内の各パケットについて、当該パケットに対して階層型サービス品質(HQOS)スケジューリングを行い、HQOSスケジューリングされたパケットをベストエフォートフロー出力キューに格納するために使用され、
前記出力インタフェースユニットがさらに、前記ベストエフォートフロー出力キューからパケットを取得し、当該パケットをベストエフォートキュー(BEQキュー)に格納するために使用され、
前記出力インタフェースユニットが、前記現在のスケジューリング周期で、前記ターゲットCQキュー内のパケットを外部デバイスに送信した後、さらに、
前記ターゲットCQキュー内のパケットの送信完了した後に、前記現在のスケジューリング周期にまだ残りのタイムスライスがある場合、前記現在のスケジューリング周期の残りのタイムスライスで、前記BEQキュー内のパケットを外部デバイスに送信するために使用される、
ことを特徴とする請求項11に記載のネットワークデバイス。
【請求項13】
前記ネットワークデバイスは、入力転送処理ユニットをさらに含み、
前記入力転送処理ユニットが、パケットを取得した後、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー入力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー入力キューに格納するために使用され、ここで、前記決定論的フロー入力キューに対応するキュー優先度が、前記ベストエフォートフロー入力キューに対応するキュー優先度より高いことにより、前記入力転送処理ユニットが前記決定論的フロー入力キュー内のパケットを優先的に処理し、
前記入力転送処理ユニットがさらに、前記決定論的フロー入力キュー内のパケットを処理するとき、当該パケットがCQキュー指示情報を含む場合、当該CQキュー指示情報に対応するCQキューを決定し、当該パケットがCQキュー指示情報を含まない場合、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するために使用され、ここで、前記タイムスタンプは、前記ネットワークデバイスが当該パケットを受信したタイムスタンプを表し、
前記入力転送処理ユニットがさらに、当該CQキューに対応するCQキュー情報を当該パケットに付加し、パケットを出力転送処理ユニットに送信することにより、前記出力転送処理ユニットに当該パケットを取得させるために使用される、
ことを特徴とする請求項11又は請求項12に記載のネットワークデバイス。
【請求項14】
前記入力転送処理ユニットが、当該パケットに対応するタイムスタンプに基づいて当該パケットに対応するCQキューを決定するとき、
当該パケットに対応する転送情報に基づいてエグレスインタフェースを問い合わせ、前記エグレスインタフェースに対応する複数のCQキューを決定し、ここで、各CQキューは1つの対応するスケジューリング周期を有し、
当該パケットに対応するタイムスタンプに基づいて、全てのスケジューリング周期から当該タイムスタンプに対応するスケジューリング周期を選択し、当該スケジューリング周期に対応するCQキューを決定するために使用される、
ことを特徴とする請求項13に記載のネットワークデバイス。
【請求項15】
前記ネットワークデバイスは、入力インタフェースユニットをさらに含み、
前記入力インタフェースユニットと前記入力転送処理ユニットとの間には、第3のチャネル及び第4のチャネルがあり、
前記入力インタフェースユニットが、外部デバイスからパケットを受信した後、当該パケットが決定論的フローに属するかベストエフォートフローに属するかを判定し、当該パケットが決定論的フローに属する場合、当該パケットを決定論的フロー出力キューに格納し、当該パケットがベストエフォートフローに属する場合、当該パケットをベストエフォートフロー出力キューに格納するために使用され、
前記入力インタフェースユニットが、決定論的フロー出力キュー内のパケットを、前記第3のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第3のチャネルから当該パケットを取得させるために使用され、ここで、前記入力転送処理ユニットは、前記第3のチャネルから取得されたパケットが決定論的フローに属すると判定し、
前記入力インタフェースユニットが、ベストエフォートフロー出力キュー内のパケットを、前記第4のチャネルを介して前記入力転送処理ユニットに送信することにより、前記入力転送処理ユニットに前記第4のチャネルから当該パケットを取得させるために使用され、前記入力転送処理ユニットは、前記第4のチャネルから取得されたパケットがベストエフォートフローに属すると判定する、
ことを特徴とする請求項13に記載のネットワークデバイス。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正の内容】
【0027】
ここで、出力インタフェースユニット35の機能は、ベストエフォートキューを実現し、ベストエフォートキューによってベストエフォートフローのパケットを格納することと、ベストエフォートキューのバックプレッシャー(back pressure)機能を実現すること、例えば、ベストエフォートキュー内のパケット数が閾値に達した場合、ベストエフォートフローのパケットをベストエフォートキューに格納しないように出力転送処理ユニット34を制御することと、決定論的フローのCSQFキューを実現し、CSQFキューによって決定論的フローのパケットを格納することと、決定論的フローとベストエフォートフローの複合スケジューリングを実現すること、すなわち、決定論的フローのパケットとベストエフォートフローのパケットをスケジューリングすること、例えば、まず決定論的フローのパケットを送信し、次にベストエフォートフローのパケットを送信することとを含むが、これらに限定されない。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正の内容】
【0091】
ここで、BEQキューは、ベストエフォートフローのパケットをキャッシュするためのベストエフォートキューであり、これらのパケットはHQOSスケジューリングユニット347において既にスケジューリングされた。BEQキューでは、高低2段階のウォーターマークが設計されている。BEQキューにキャッシュされたパケット数が設定されたハイウォーターマーク(すなわち、第1の所定閾値)より高い場合、第2のチャネルに対するフロー制御信号を出力してもよい。BEQキューにキャッシュされたパケット数が設定されたローウォーターマーク(すなわち、第2の所定閾値)より低い場合、第2のチャネルに対するフロー制御信号をキャンセルしてもよい。
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正の内容】
図3
【国際調査報告】