(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム
(51)【国際特許分類】
H04L 47/6275 20220101AFI20240701BHJP
H04L 47/24 20220101ALI20240701BHJP
H04L 47/56 20220101ALI20240701BHJP
H04L 47/6295 20220101ALI20240701BHJP
H04L 12/46 20060101ALI20240701BHJP
【FI】
H04L47/6275
H04L47/24
H04L47/56
H04L47/6295
H04L12/46 D
【外国語出願】
(21)【出願番号】P 2023022328
(22)【出願日】2023-02-16
(62)【分割の表示】P 2021544798の分割
【原出願日】2019-02-03
【審査請求日】2023-02-22
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ワン,トォントォン
(72)【発明者】
【氏名】ワン,シンユアン
【審査官】和平 悠希
(56)【参考文献】
【文献】米国特許出願公開第2017/0366467(US,A1)
【文献】米国特許出願公開第2018/0199381(US,A1)
【文献】特表2018-534873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
パケットを受信することと、
前記パケットの種類に従って前記パケットを処理することであって、前記パケットの種類は極低レイテンシ(ELL)サービスパケッ
トを含む、ことと、
を含
み、
前記パケットの種類に従って前記パケットを処理することは、ELLキューを介して前記パケットを送信することを含む、方法。
【請求項2】
前記パケットの種類はタイムセンシティブ(TS)サービスパケットをさらに含み、前記パケットの種類に従って前記パケットを処理することは、TSキューを介して前記パケットを送信することを含む、請求項
1に記載の方法。
【請求項3】
前記TSキュー内のパケットは、前記TSキューに対応する時間ウィンドウ内で送信される、請求項
2に記載の方法。
【請求項4】
前記TSキュー内のパケットは、前記TSキューに対応する時間ウィンドウを越える期間内に送信されることが許可されていない、請求項2に記載の方法。
【請求項5】
前記TSキューに対応する時間ウィンドウから、前記TSキューに対応する時間ウィンドウ内で送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる残りの期間が第1の閾値以上の場合、前記ELLキュー内のパケットは、前記TSキューに対応する時間ウィンドウ内で送信されることが許可される、請求項
2乃至
4のいずれか一項に記載の方法。
【請求項6】
前記第1の閾値は、前記ELLキュー内の1つ以上のELLサービスパケットを送信するために要する期間である、請求項
5に記載の方法。
【請求項7】
前記ELLキュー内のELLサービスパケットが、前記TSキューに対応する時間ウィンドウ内で送信される場合、前記ELLキュー内のELLサービスパケットの第1の優先順位は、前記TSキュー内のTSサービスパケットの第2の優先順位よりも高い、請求項
5又は
6に記載の方法。
【請求項8】
前記パケットの種類はベストエフォート(BE)サービスパケットをさらに含み、前記パケットの種類に従って前記パケットを処理することは、BEキューを介して前記パケットを送信することを含む、請求項2乃至
7のいずれか一項に記載の方法。
【請求項9】
前記ELLキューがELLサービスパケットを含まず、現在の時点が前記TSキューに対応する時間ウィンドウ内にない場合、前記パケットの種類に従って前記パケットを処理することは、前記BEキュー内のBEサービスパケットを送信すること又は前記ELLキューがまだ送信されていないELLサービスパケットを含むか又は前記TSキューがまだ送信されていないTSサービスパケットを含む場合、前記TSキューに対応する時間ウィンドウ内で前記BEサービスパケットを送信することをスキップすることと、
をさらに含む、請求項
8に記載の方法。
【請求項10】
前記ELLキューがELLサービスパケットを含まず、前記TSキューがTSサービスパケットを含まず、前記TSキューに対応する時間ウィンドウ内の前記残りの期間が第2の閾値以上の場合に、前記パケットの種類に従って前記パケットを処理することは、前記TSキューに対応する時間ウィンドウ内の前記残りの期間内で前記BEキュー内のBEサービスパケットを送信することを含む、請求項
8に記載の方法。
【請求項11】
前記第2の閾値は、前記BEキュー内の1つ以上のBEサービスパケットを送信するのに要する期間である、請求項
10に記載の方法。
【請求項12】
前記TSキューは複数の異なるTSサブキューを含み、各TSサブキューは1つの時間ウィンドウに対応する、請求項
2乃至
11のいずれか一項に記載の方法。
【請求項13】
前記TSキュー内のTSサービスパケットが、前記TSキューに対応する時間ウィンドウ内で送信されていない場合、前記ELLサービスパケットが、前記TSキューに対応する時間ウィンドウ内で送信される、請求項
2乃至
12のいずれか一項に記載の方法。
【請求項14】
前記TSキューに対応する時間ウィンドウから、送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる前記残りの期間が前記第2の閾値以上であり、前記ELLキューが送信すべきELLサービスパケットを含まない場合、前記BEキュー内のBEサービスパケットが前記TSキューに対応する時間ウィンドウ内で送信される、請求項
10又は11に記載の方法。
【請求項15】
スケジューラであって、当該スケジューラは請求項1乃至
14のいずれ一項に記載の方法を行うように構成されている、スケジューラ。
【請求項16】
ネットワーク装置であって、当該ネットワーク装置は請求項1乃至
14のいずれか一項に記載の方法を実施するように構成されている、ネットワーク装置。
【請求項17】
前記ネットワーク装置はルータ又はスイッチである、請求項
16に記載のネットワーク装置。
【請求項18】
コンピュータプログラムを含むコンピュータプログラムであって、当該コンピュータプログラムが実行された場合、コンピュータに請求項1乃至
14のいずれか一項に記載の方法を行わせる、コンピュータプログラム。
【請求項19】
コンピュータプログラム又はコードを含むコンピュータ読み取り可能記憶媒体であって、該コンピュータプログラム又はコードが実行された場合、請求項1乃至
14のいずれか一項に記載の方法が行われる、コンピュータ読み取り可能記憶媒体。
【請求項20】
第1の装置及び第2の装置を含むネットワークシステムであって、該第1の装置は該第2の装置にパケットを送信するように構成され、該第2の装置は請求項
16又は
17に記載のネットワーク装置である、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は通信技術の分野に関し、パケットスケジューリング方法、スケジューラ、ネットワーク装置、ネットワークシステム及びコンピュータ読み取り可能記憶媒体に関する。
【背景技術】
【0002】
従来のサービス品質(quality of service、QoS)スケジューリング方法は、厳格な優先順位スケジューリング法又は柔軟に設定されたラウンドロビンポーリング法を用いることにより、各クラスのトラフィックが可能な限り早く転送及び伝送されることを確かにする。しかしながら、従来のQoSスケジューリング方法は転送レイテンシを保証するのが困難である。
【0003】
現在及び将来において、多くのアプリケーションは、IPベアラネットワークにおいて制限されたレイテンシ及び極低レイテンシを必要とする。従来のIPイーサネットは、ベストエフォート(best effort、BE)転送メカニズムに基づくQoS技術を用いて、高効率で平均レイテンシが低いネットワーク接続を提供する。ネットワーク上のバースト及びふくそうは予測不可能なため、転送レイテンシが比較的高くなる場合があるか又はネットワーク上でパケット損失が起こる。レイテンシ及びパケット損失に敏感なサービスにとって、従来のイーサネットはユーザの要求を満たすことができず、時分割多重化(Time Division Multiplexing、TDM)転送デバイスは高価で柔軟性がない。
【発明の概要】
【課題を解決するための手段】
【0004】
本願はパケットスケジューリング方法、ネットワーク装置、ネットワークシステム及びコンピュータ読み取り可能記憶媒体を提供する。これらの解決策は、ネットワーク装置のパケットスケジューリング効率を改善できる。
【0005】
本願の第1の態様によれば、パケットスケジューリング方法が提供される。本方法によれば、ネットワーク装置は受信したパケットの種類を特定する。パケットが極低レイテンシELLサービスパケットの場合、ネットワーク装置はパケットをELLキューに加え、パケットがタイムセンシティブTSサービスパケットの場合、パケットをTSキューに加える。TSキュー内のパケットは、TSキューに対応する時間ウィンドウ内で送信され、TSキュー内のパケットは、TSキューに対応する時間ウィンドウを越える期間内で送信されることが許可されていない。時間ウィンドウから時間ウィンドウ内で送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる残りの期間が、第1の閾値以上の場合、ELLキュー内のパケットは、TSキューに対応する時間ウィンドウ内で送信されることが許可されている。第1の閾値は、ELLキュー内の1つ以上のELLサービスパケットを送信するのに要する期間である。本願の技術的解決策によれば、ネットワーク装置の転送効率を改善できる。
【0006】
本願の第2の態様によれば、スケジューラが提供される。スケジューラは、タイムセンシティブTSキュー内のTSサービスパケットが該TSキューに対応する時間ウィンドウ内でデキューされるのを許可し、該TSキュー内のパケットが該TSキューに対応する時間ウィンドウを越える期間内で送信されるのを許可しないことと、TSキューに対応する時間ウィンドウからTSキューに対応する時間ウィンドウ内で送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる残りの期間が第1の閾値以上の場合、極低レイテンシELLキュー内のELLサービスパケットがTSキューに対応する時間ウィンドウ内で送信されるのを許可することとを行うように構成されている。第1の閾値は、ELLキュー内の1つ以上のELLサービスパケットを送信するために要する期間である。
【0007】
本願の第3の態様によれば、ネットワーク装置が提供される。ネットワーク装置は、ポート、プロセッサ及びスケジューラを含む。プロセッサはポートを通じて受信されたパケットの種類を特定するように構成されている。、該種類は極低レイテンシELLサービスパケット及びタイムセンシティブTSサービスパケットを含む。スケジューラは、パケットの種類がELLサービスパケットの場合、パケットをELLキューに加え、パケットの種類がTSサービスパケットの場合、パケットをTSキューに加えるように構成されている。TSキュー内のパケットは、TSキューに対応する時間ウィンドウ内で送信される。TSキューに対応する時間ウィンドウから該時間ウィンドウ内で送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる残りの期間が第1の閾値以上の場合、ELLキュー内のパケットは、TSキューに対応する時間ウィンドウ内で送信されることが許可されている。第1の閾値は、ELLキュー内の1つ以上のELLサービスパケットを送信するために要する期間である。ポートは、TSキュー内のTSサービスパケット及び/又はELLキュー内のELLサービスパケットを送信するようさらに構成されている。
【0008】
一部の実施形態では、ELLキュー内のELLサービスパケットが、TSキューに対応する時間ウィンドウ内で送信される場合、ELLキュー内のELLサービスパケットの優先順位はTSキュー内のTSサービスパケットの優先順位よりも高い。この場合、ELLキュー内のELLサービスパケットがTSキューに対応する時間ウィンドウ内で送信されることが許可されている場合、ELLサービスパケットが可能な限り早く転送されるのを確実にするために、ELLサービスパケットがデキューイングのために最初に送信され得る。ELLサービスパケットは、一部の要件、例えば、緊急公共情報及び警察情報等に基づいて、可能な限り早く転送する必要がある比較的短いサービスパケットである。ELLサービスパケットは短く、高い優先順位を要し、限られた帯域幅を占有する。したがって、TSサービスパケットを正常に転送できることが保証されている場合、TSサービスパケットを送信するための期間以外のTSキューに対応する時間ウィンドウ内の残りの期間を最大限に使用するために、TSキューに対応する時間ウィンドウ内でELLサービスパケットが最初に送信されることを許可することにより、ネットワーク装置のスケジューリング効率を改善できる。
【0009】
一部の実施形態では、パケットの種類がベストエフォートBEサービスパケットの場合、パケットがBEキューに加えられる。ELLキューがELLサービスパケットを含まず、現在の時点がTSキューに対応する時間ウィンドウ内にない場合、BEキュー内のBEサービスパケットが送信される。ELLキューがまだ送信されていないELLサービスパケットを含むか又はTSキューがまだ送信されていないTSサービスパケットを含む場合、BEサービスパケットはTSキューに対応する時間ウィンドウ内で送信されることが許可されていない。ネットワーク装置のスケジューリング効率を改善するために、TSサービスパケット及びELLサービスパケットを送信する期間以外の残りの時間ウィンドウの幅を用いてBEサービスパケットが送信され得る。
【0010】
一部の実施形態では、パケットの種類がベストエフォートBEサービスパケットの場合、パケットがBEキューに加えられる。ELLキューがELLサービスパケットを含まず、TSキューがTSサービスパケットを含まず、TSキューに対応する時間ウィンドウ内の前記残りの期間が第2の閾値以上の場合に、TSキューに対応する時間ウィンドウ内の前記残りの期間内でBEキュー内のBEサービスパケットが送信される。第2の閾値は、BEキュー内の1つ以上のBEサービスパケットを送信するのに要する期間である。ネットワーク装置のスケジューリング効率を改善するために、TSサービスパケット及びELLパケットを送信する期間以外の残りの時間ウィンドウの幅を用いてBEサービスパケットが送信され得る。
【0011】
一部の実施形態では、TSキューは複数の異なるTSサブキューを含み、各TSサブキューは1つの時間ウィンドウに対応する。この場合、より柔軟なキュースケジューリングを提供できる。例えば、TSキューは幅Wの時間ウィンドウに対応する。幅Wの時間ウィンドウは、異なるTSサブキューに対応する複数のサブ時間ウィンドウにさらに分割され得る。これらのサブ時間ウィンドウの幅はW1、W2、W3、・・・、及びWnであり、これらのサブ時間ウィンドウの幅の和はW以下、すなわち、W1+W2+W3+・・・Wn≦Wである。TSキューは2つ以上の異なるTSサブキューを含んでもよく、各TSサブキューは1つの時間ウィンドウに対応する。
【0012】
一部の実施形態では、TSキュー内のTSサービスパケットがTSキューに対応する時間ウィンドウ内で送信されない場合、ELLサービスパケットがTSキューに対応する時間ウィンドウ内で送信される。
【0013】
一部の実施形態では、TSキューに対応する時間ウィンドウから、送信すべきTSサービスパケットが要する期間を差し引くことによって得られる前記残りの期間が第2の閾値以上であり、ELLキューが送信すべきELLサービスパケットを含まない場合、BEキュー内のBEサービスパケットがTSキューに対応する時間ウィンドウ内で送信される。第2の閾値は、BEキュー内の1つ以上のBEサービスパケットを送信するのに要する期間である。ネットワーク装置のスケジューリング効率を改善するために、TSサービスパケット及びELLパケットを送信する期間以外の残りの時間ウィンドウの幅を用いてBEサービスパケットが送信され得る。
【0014】
一部の実施形態では、ネットワーク装置は他のポートをさらに含む。他のポート及び前記ポートの双方は1つのアグリゲーショントランクポートのメンバーポートである。他のポートに複数のBEキューが設定され、他のポートの複数のBEキュー及び前記ポートのBEキュー内のパケットは、キュー優先順位に基づいてスケジュールされる。トランクポートは、ネットワーク装置の複数のポートの間で形成され、トランクポートのメンバーポートは、スケジューリング効率をさらに最適化及び改善するためにキューリソースを共有し、それによってELLサービスの品質を保証しながら、ELLサービスパケットを可能な限り高い優先順位で時間内に送信できるようにすることを確実にする。TSキューに対応する時間ウィンドウがアイドルの場合、ネットワーク装置のポート送信能力を最大限に利用するために、BEサービスパケットがさらに送信され得る。
【0015】
一部の実施形態では、パケットの種類がELLサービスパケットであり、ポートのELLキューが一杯の場合、パケットは、他のポートのELLキューの末尾に加えられる。トランクポートのメンバーポートは、TSサービスパケットの送信に影響を与えることなく、全てのELLサービスパケットを最も速く送信できることを確実にするためにキューリソースを共有する。
【0016】
本願の第4の態様によれば、ネットワーク装置が提供される。ネットワーク装置は、上記実施形態のうちのいずれか1つの方法を実施するように構成されている。あるいは、本願のネットワーク装置は、第2の態様で提供されるスケジューラを含み得る。
【0017】
本願の第5の態様によれば、コンピュータ読み取り可能記憶媒体が提供される。コンピュータ読み取り可能記憶媒体はコンピュータプログラム又はコードを含む。コンピュータプログラム又はコードが実行された場合、上記実施形態のいずれか1つの方法が実行される。
【0018】
本願の第6の態様によれば、ネットワークシステムが提供される。ネットワークシステムは、上記実施形態のうちのいずれか1つのネットワーク装置を含む。
【図面の簡単な説明】
【0019】
本発明のこの実施形態における技術的解決策をより明確に説明するために、実施形態を説明するのに必要な添付の図面を以下で簡単に説明する。
【
図1】
図1は、本出願の一実施形態に係るネットワーク装置の概略構造図である。
【
図2】
図2は、本願の一実施形態に係る別のネットワーク装置の概略構造図である。
【
図3】
図3A~
図3Dは、本願の実施形態に係る異なるシナリオにおけるパケットスケジューリング処理の概略図である。
【
図4】
図4は、本出願の一実施形態に係る、らに別のネットワーク装置の概略構造図である。
【
図5】
図5は、本出願の一実施形態に係る、さらに別のネットワーク装置の概略構造図である。
【発明を実施するための形態】
【0020】
添付の図面を参照しながら本願の実施形態を以下で説明する。
【0021】
本明細書で説明する技術は様々な通信システム、例えば、グロバールシステムフォーモバイルコミュニケーション(Global System for Mobile communication、GSM)システム、符号分割多重アクセス(Code Division Multiple Access、CDMA)システム、時分割多重アクセス(Time Division Multiple Access、TDMA)システム、広帯域符号分割多重アクセス(Wideband Code Division Multiple Access、WCDMA)システム、周波数分割多重アクセス(Frequency Division Multiple Access、FDMA)システム、直交周波数分割多重アクセス(Orthogonal Frequency-Division Multiple Access、OFMDMA)システム、シングルキャリアFDMA(SC-FDMA)システム、汎用パケット無線サービス(General Packet Radio Service、GPRS)システム、ロングタームエボリューション(Long Term Evolution、LTE)システム、パケット転送ネットワーク(packet
transport network、PTN)システム、ルータネットワークシステム、マルチサービス伝送プラットフォーム(Multi-Service transmission platform、MSTP)ネットワークシステム及び他の同様の通信システム等の現在の2G又は3G通信システム及び次世代通信システムに適用され得る。
【0022】
本明細書におけるOAMは、マルチプロトコルラベルスイッチングトランスポートプロファイル(multi-protocol label switching transport profile、MPLS-TP)OAM、MPLS OAM、ETH OAM及び他の同様のOAMであり得る。
【0023】
加えて、本明細書では、「システム」及び「ネットワーク」という用語を同じ意味で用いり得る。本明細書では、「及び/又は」という用語は、関連するオブジェクトを説明するための関連関係のみを記述し、3つの関係が存在し得ることを表す。例えば、A及び/又はBは、Aのみが存在する場合、A及びBの両方が存在する場合及びBのみが存在する場合という3つの場合を表し得る。加えて、本明細書では、「/」という記号は、関連するオブジェクト間の「又は」の関係を概して示す。
【0024】
本願の実施形態における「第1」及び「第2」は順序を表すものではない。本願の実施形態における「第1」及び「第2」は異なる装置及び情報を表す。
【0025】
タイムセンシティブネットワーキング(time sensitive networking又はtime sensitive
network、TSN)は端末ノードを接続するための一連のブリッジング規格であり、低レイテンシ及び時間ベースの同期データ伝送をサポートする様々なイーサネットプロトコルに適用され得る。TSNは下位層通信技術から独立している。TSNは、異種ネットワークを必要とし、大量のインターネット伝送が存在する用途シナリオに適用され得る。
【0026】
TSNは、IEEE802.1Qbvで規定されるイーサネット規格である。TSNイーサネットフレームは、従来のイーサネットフレームヘッダを用い、TSNイーサネットフレームのペイロードは任意のコンテンツであり得る。TSNデバイスは共通の時間(common sense of time、CST)を共有し、プレシジョンタイムプロトコル(precision time protocol、PTP)を用いて共通の時間を維持する。TSNによって用いられるPTP仕様はIEEE802.1AS及びIEEE802.1ASRevに準拠するPTP仕様であり得る。IEEE802.1Qbvで規定されたTSNでは厳密な時間同期が存在し、データグループは、エンドツーエンドレイテンシを制御できることを確実にするために、予め計画された時間ウィンドウに基づいてホップバイホップで転送される。IEEE802.1Qbv規格では、各ポートは8つのキューを有し、各キューは時間ゲートスイッチを有する。時間同期スケジューリングベースのスケジューリングアルゴリズム802.1Qbvは、レイヤ2時分割多重技術と同等であり、異なる時間スライス内のトラフィックは互いを干渉しない。IPネットワーク上の従来のQoSスケジューリングは、効率的なポート統計的多重化を実施でき、様々のトポロジ及びプライオリティマッピングの要件を満たすことができ、広帯域幅及び大量のユーザアクセスのシナリオに役立ち得る。
【0027】
本願の実施形態は、従来のパケットスイッチングアーキテクチャのルーティング装置にポートベースのトラフィックスケジューリング構造を提供して、タイムセンシティブ(time sensitive、TS)サービス、極低レイテンシ(Extremely low latency、ELL)サービス及びベストエフォート(best
effort、BE)トラフィックサービスという3つのインターネットプロトコル(internet protocol、IP)の全ての性能インジケータのハイブリッド転送及びスケジューリングを確かなものにする。本願の実施形態では、統計的多重化QoSスケジューリング方法及び時間ウィンドウスケジューリング方法が、出口ポートトラフィックスケジューリングのために組み合わされる。
【0028】
図1に示すように、本願の一実施形態はネットワーク装置を提供する。ネットワーク装置はメイン制御ボード及びm個のラインカードを含む。m個のラインカードは、ラインカード0、ラインカード1、・・・、及びラインカードmであり、mは0より大きい整数である。
【0029】
各ラインカードは、ポート、プロセッサ及びスケジューラを含む。プロセッサは、パケットプロセッサ(packet processor、PP)、ネットワークプロセッサ(network
processor、NP)又は汎用プロセッサであってもよく、PP機能及びNP機能の双方を有する機能エンティティであってもよい。汎用プロセッサは中央処理装置(central processing unit、CPU)であり得る。CPUはシングルコアCPU又はマルチコアCPUであり得る。各ラインカードはメモリを含み得る。メモリはバッファ(バッファ)又は外部メモリであり得る。外部メモリは第3世代ダブルデータレート同期ダイナミックランダムアクセスメモリ(3rd generation double data rate SDRAM、DDR3)メモリであり得る。複数のラインカードは、代替的に1つ以上のメモリを共有し得る。ポートは光ポート又は電気ポートであり得る。ポートが光ポートの場合、光電気変換器がポートとPPとの間にさらに含まれ得る。光電気変換器は、光ポートから入力された光信号を電気信号に変換するように構成されている。ポートとPP/NPとの間にPHY及びMACがさらに含まれ得る。PHYはクロック及びデータ復元等を行うように構成されている。MACは、ポートから入るパケットの信号完全性及び境界を検出し、そのパケットをスケジューラに転送するように構成されている。PP/NPは、例えばクラスオブサービス(class of service、CoS)に基づいて、ポートから入るパケットをパース且つ分類するように構成されている。PP/NPは、パケットをパース及び分類するためにDDR3等の外部メモリを必要とし得る。PP/NPによって分類された後で、パケットはスケジューラに送信される。スケジューラは分類されたパケットをメイン制御ボードに送信する。任意で、スケジューラは、トラフィックマネージャ(traffic manager、TM)にTMの機能モジュールとして含まれ得る。
【0030】
メイン制御ボードは入口ファブリックアダプタ(fabric adaptor、FA)、スイッチファブリック及び出口FAを含む。FAは、スイッチファブリック(switch fabric、SW)の入口及び出口として用いられる。スケジューラによってメイン制御ボードに送信されるパケットは、入口FAを介してSWに入り、SW及び出口FAによって順番に処理された後、パケットの出口ポートに対応するラインカードに送信される。出口ポートは、ネットワーク装置に含まれ、パケットを送信するように構成されたポートある。特定の実施の間、ネットワーク装置が入口ポートを通じてパケットを受信した後、ネットワーク装置はルーティングテーブルをサーチすることによりパケットの出口ポートを決定し得る。
【0031】
出口ポートに対応するラインカード上のスケジューラは、メイン制御ボードによって送信されたパケットを受信し、パケットのCoS又は他のキュー優先順位識別子に基づいて、パケットのキュー優先順位識別子に対応するキューにパケットを送信のために追加する。
【0032】
特定の方向に送信されるパケットのために、ネットワーク装置のm個ポートのうちの一部(ポート0、ポート1、・・・、及びポートM)がこれらのパケットの入口ポートとして用いられる。
図1に示すように、パケットは、ポート0から左側のポートn-1に移ってネットワーク装置に入る。m個のポートのうちの他方はこれらのパケットの出口ポートとして用いられ得る。
図1に示すように、ポート0から左側のポートn-1に移ってネットワーク装置に入るパケットは、ポートnからポートmに移ってネットワーク装置を離れ得る。ポートn~ポートmは、これらのパケットの出口ポートと見なされ得る。各ポートは双方向であってもよく、異なる方向に送信されるパケットのための出口ポート及び入口ポートとして用いられる。
【0033】
一部の実施形態では、
図1に示すメイン制御ボードはプロセッサをさらに含む。プロセッサは、入口ポートを通じて受信したパケットをパース及び処理し、そのパケットを転送するか又は破棄かを決定するように構成されている。パケットを転送する必要がある場合、プロセッサは、パケットを処理のためにスイッチファブリックに転送する。パケットを破棄する必要がある場合、プロセッサはパケットを直接破棄する。
【0034】
一部の実施形態では、
図2に示すように、ネットワーク装置はプロセッサ、ポート及びスケジューラを含む。プロセッサは、入口ポートを通じて受信したパケットをパース及び処理し、パケットを転送するか又は破棄するかを決定する。パケットを転送する必要がある場合、プロセッサはパケットをスケジューラに転送する。スケジューラは、パケット内で保持される優先順位識別子に基づいて、出口ポート上の対応する優先順位を持つキューにパケットを加え、ネットワーク装置外にパケットを送信する。スケジューラは、タイムセンシティブTSキュー内のTSサービスパケットが、TSキューに対応する時間ウィンドウ内でデキューされることを許可し、TSキュー内のパケットが、TSキューに対応する時間ウィンドウを越える期間内で送信されることを許可せず、TSキューに対応する時間ウィンドウから、TSキューに対応する時間ウィンドウ内で送信すべきTSサービスパケットによって要される期間を差し引くことによって得られる残りの期間が第1の閾値以上である場合、極低レイテンシELLキュー内のELLサービスパケットがTSキューに対応する時間ウィンドウ内で送信されることを許可するにするよう構成されている。第1の閾値は、ELLキュー内の1つ以上のELLサービスパケットを送信するのに必要な期間である。一部の実施形態では、本願のスケジューラは、ハードウェア又はソフトウェアによって実施され得る。本願におけるスケジューラは特定用途向け集積回路(ASIC)又はマイクロコードを含む別の集積回路によって実施され得る。
【0035】
本願の実施形態では、ELLキュー、TSキュー及びBEキューは1つ以上の出口ポート上に設定される。ELLキューはELLサービスパケットを送信するのに用いられ、ELLパケットは、ネットワーク装置から離れるために、TSパケットの送信に影響を与えることなく、いつでもELLキューかデキューされることが許可されている。具体的には、TSキューに対応する時間ウィンドウの場合、時間ウィンドウ内でTSサービスパケットを送信するのに必要な期間を時間ウィンドウから差し引いた後に残りの期間がある場合に、その残りの時間内でELLキュー内のELLサービスパケットがデキューされ得る。時間ウィンドウ内でTSサービスパケットを送信するのに必要な期間を時間ウィンドウから差し引いた後に残りの期間がない場合、ELLキュー内のパケットを時間ウィンドウ内でデキューすることが許可されていない。TSサービスパケットを送信するのにTSキューが用いられる。TSキュー内のTSサービスパケットは、ネットワーク装置を離れるために、TSキューに対応する時間ウィンドウ内でTSキューからデキューされ得る。BEキュー内のパケットの優先順位が最も低い。デキューする必要があるELLサービスパケットをELLキューが含まず、デキューする必要がTSサービスパケットをTSキューが含まない場合、BEサービスパケットを送信するために、BEキュー内のBEサービスパケットをBEキューからデキューすることが許可されている。ELLキュー内のパケットが、TSキューに対応する時間ウィンドウ内で送信される場合、ELLキュー内のパケットの優先順位は、TSキュー内のパケットの優先順位よりも高い。TSキューに対応する時間ウィンドウ内でBEサービスパケットを送信することが許可されている場合、ELLサービスパケットの優先順位はBEサービスパケットの優先順位よりも高く、TSサービスパケットの優先順位はBEサービスパケットの優先順位よりも高い。
【0036】
本願の実施形態では、「パケットがデキューされる」及び「パケットが送信される」の双方は、「パケットがポートを離れる」ことを意味し、「パケットがデキューされることが許可されている」及び「パケットが送信されるのが許可されている」の双方は、スケジューラが、パケットが内部に位置するキューが属するポートからパケットが離れることが許可されていることを意味する。「ポート」は「出口ポート」であり得る。「ネットワーク装置」はルータ、スイッチ又は別の装置又はスイッチング機能を有する機能エンティティであり得る。スイッチはイーサネットスイッチ又はレイヤ3スイッチであり得る。
【0037】
一部の実施形態では、1つ以上のELLキューは、ネットワーク装置の1つの出口ポートに設定され得る。同様に、1つ以上のTSキューは、ネットワーク装置の1つの出口ポートに設定され得る。同様に、1つ以上のBEキューは、ネットワーク装置の1つの出口ポートに設定され得る。複数のELLキューが出口ポートに設定されている場合、各ELLキューは1つのELLサービスに対応し得る。例えば、ELLキュー1はELLサービス1に対応し、ELLキュー2はELLサービス2に対応する。複数のTSキューが出口ポートに設定されている場合、各TSキューは1つ以上の時間ウィンドウを占有し得る。各TSキューは1つのTSサービスに対応し得る。例えば、TSキュー1はTSサービス1に対応し、TSキュー2はTSサービス2に対応する。本願の実施形態では、キューが出口ポートに設定されているとは、キュー内のパケットは、ネットワーク装置から離れるために出口ポートを介して送信される必要があることを意味する。特定の実施の間、出口ポートが位置するラインカードはメモリを含み得る。キュー内のパケットは、出口ポートが位置するラインカードのメモリに記憶され得る。メモリはキャッシュであってもよい。
【0038】
一部の実施形態では、異なるTSキューに対応する時間ウィンドウの幅は異なり得る。異なるTSキュー内のTSサービスパケットを送信するために異なる幅を持つ時間ウィンドウが用いられ得る。例えば、オーディオサービス1のために用いられるTSキューに対応するTSサービスパケットのための時間ウィンドウ1の幅は、オーディオサービス2のために用いられるTSキューに対応するTSサービスパケットのための時間ウィンドウ2の幅と同じであってもいいし、異なっていてもよい。時間ウィンドウ1及び時間ウィンドウ2は時間軸上の異なる位置に位置し得る。すなわち、時間ウィンドウ1及び時間ウィンドウ2は異なるタイムスロットに対応し得る。本願の実施形態では、時間ウィンドウの幅は時間ウィンドウの継続時間である。例えば、時間ウィンドウ1の幅は1マイクロ秒であってもよく、時間ウィンドウ2の幅は10ナノ秒であってもよい。時間軸上の時間ウィンドウの位置が設定され得る。TSキューが複数の時間ウィンドウに対応する場合、複数の時間ウィンドウは時間軸上の複数の連続する時間ウィンドウであってもいいし、1つの時間ウィンドウサイクル(TimeWindowCycle)内で離散的に分布される複数の時間ウィンドウであってもよい。
【0039】
一部の実施形態では、TSキューに対応する時間ウィンドウ内に時間マージンが存在する。例えば、最大X個のTSサービスパケットを各時間ウィンドウサイクル(TimeWindowCycle)のTSキューに対応する時間ウィンドウ(TimeWindow)内でデキューする必要があり、W’の期間が必要になる。各時間ウィンドウ内のTSサービスのための時間ウィンドウは、時点t1から時点t2までの期間W’であると仮定する。すなわち、TSキュー内のTSサービスパケットは、時間ウィンドウサイクル内で送信する必要がある全てのTSサービスパケットが送信されるまで、各時間ウィンドウサイクル内の時点t1で送信が開始され得る。TSキュー内で送信する必要があるTSサービスパケットの量が、時間ウィンドウサイクル内で最大リミットに達した場合、時間ウィンドウサイクル内で送信する必要があるTSキュー内の全てのTSサービスパケットは、時点t2まで時点t1で連続的な送信が開始される。実際には、特定の時間ウィンドウサイクル内で、TSキューからデキューする必要があるTSサービスパケットの量はX未満であり得る。実際の用途における様々な要因を考慮すると、TSキューのために設定された時間ウィンドウは、通常、W’よりも大きい。例えば、幅Wの時間ウィンドウがTSキューのために設定され得る。幅Wの時間ウィンドウは、各時間ウィンドウサイクル内の時点t1から時間ウィンドウサイクル内の時点t2+Δxまでである。Δxは時間マージンであり、Δxの値は予め設定されてもよく、Δxの値は、TSキュー内の1つ以上のTSサービスパケットを送信するのに十分になるように設定され得る。時間ウィンドウの幅W=t2+Δx-t1。通常、TSサービスパケットは、W’=t2-t1の時間幅内で送信され、時間マージンΔxは、ELLパケット又はBEパケットを送信するのに用いられ得る。ここで、W’は時間幅の値のみを表し、期間t2-t1に限定されない。実際には、W’は、W=t2+Δx-t1の幅を有する時間ウィンドウ内でランダムに変換され得る。すなわち、全てのTSサービスパケットは、時間間隔t2+Δx-t1内で任意の連続した又は非連続の期間に送信される必要がある。全てのTSサービスパケットを送信するために占有される合計時間ウィンドウ幅はWである。
【0040】
図3A~
図3Cに示すように、TSサービスに対応するTSサービスパケットのためのデキューイング時間ウィンドウは時点t
1から時点t
2+Δxまでであると仮定する。デキューイング時間ウィンドウの幅W=t
2+Δx-t
1。TSサービスパケット、BEサービスパケット及びELLサービスパケットが3つのシナリオでデキューされるスケジューリング方法を以下で説明する。
図3A~
図3Cにおいて、TSサービスパケットはスラッシュで満たされたボックスによって表され、ELLサービスパケットは黒で満たされたボックスによって表され、BEサービスパケットはドットで満たされたボックスによって表される。
【0041】
図3Aに示すように、シナリオ1では、TSサービスに対応する時間ウィンドウは時点t
1で開始される。TSサービスに対応するTSキュー内の1つ以上のTSサービスパケットがデキューされるのを待っており、ELLキュー内のELLサービスパケットがデキューされるのを待っていない場合、TSサービスに対応するTSキュー内のTSサービスパケットは時点t
1からデキューが開始される。期間t
2-t
1内にデキューされるのを待っているELLサービスパケットがELLキュー内にない場合、TSサービスに対応するTSキュー内のTSサービスパケットは、TSサービスに対応するTSキュー内のTSサービスパケットの全てが時点t
2でデキューされるまで、期間t
2-t
1内で連続してデキューされる。時点t
2から時点t
2+Δxまでの期間内にTSサービスパケットをTSキューが含まない場合、BEパケットがデキューされ得る。時点t
2から時点t
2+Δxまでの期間内の任意の時点で送信すべきELLパケットをELLキューが含む場合、ELLパケットの優先順位はBEパケットの優先順位よりも高く、ELLパケットが最初にデキューされる。確かに、比較的少量のTSサービスパケットがある場合、全てのTSサービスパケットは、時点t
2より前の時点(例えば、t
x)でデキューされ得る。この場合、時点t
xから時点t
2+Δxまでの時間内にデキューされるのを待つTSサービスに対応するTSサービスパケットはない。この場合、ELLキューがデキューすべきELLサービスパケットを含み、デキュー期間がt
2+Δx-tx以下の場合、ELLサービスパケットは、BEキュー内のBEサービスパケットを待つことなくデキューされることが許可されている。デキューすべきELLサービスパケットがない場合、BEキュー内のBEサービスパケットをデキューされることが許可されている。時点t
xからt
2+Δxまでの期間内の任意の時点でデキューすべきELLサービスパケットをELLキューが含む場合、ELLサービスパケットの優先順位はBEキュー内の各BEサービスパケットの優先順位よりも高く、ELLサービスパケットが最初にデキューされる。
【0042】
図3Bに示すように、シナリオ2では、TSサービスに対応する時間ウィンドウは時点t
1で始まる。TSキュー内のTSサービスに対応する1つ以上のTSサービスパケットがデキューされるのを待ち、ELLキュー内のn個のELLサービスパケットがデキューされるのを待つ。1つ以上のTSサービスパケットが全てデキューされる合計期間はaであり、n個のELLサービスパケットが全てデキューされる合計期間はbである。a+b≦Wの場合、n個のELLサービスパケットのうちの一部、例えば、m個のELLサービスパケットは、時間幅W-a内で1つ以上のTSパケットの前に送信されることが許可されている。すなわち、m個のELLサービスパケットは、時点t
1から時点t
1+W-aまでの期間内で連続して送信される。1つ以上のTSサービスパケットの全ては、時点t
1+W-aから時点t
2+Δxまでの期間内で送信される。他のn-m個のELLサービスパケットは、時点t
2+Δxの後にデキューされるようスケジュールされている。a及びbの双方は0以上の整数であり、nは1より大きい整数であり、mはnより小さい整数である。
【0043】
図3Cに示すように、シナリオ3では、TSサービスに対応する時間ウィンドウは時点t
1で始まる。TSキュー内にTSサービスに対応するi個のTSサービスパケットがデキューされるのを待ち、ELLキュー内にデキューされるのを待つELLサービスパケットがなく、i個のTSサービスパケットをデキューするのに必要な期間がP
iの場合、複数のTSサービスパケットは時点t
1から順次デキューすることができる。すなわち、i個のTSサービスパケットが順次送信される。ELLキュー内で1つのELLサービスパケット(ELLパケット1と表記)が送信されるのを待ち、i個のTSサービスパケットのうちのj番目のTSサービスパケットが時点t
1xでデキューされている場合、ELLサービスパケット1を送信するために必要な期間P
x1がW-P
i以下であるかどうかが判定される。ELLサービスパケット1を送信するために必要な期間P
x1がW-P
i以下の場合、ELLサービスパケット1は時点t
j+1でデキューされることが許可され、その前にj番目のTSサービスパケットがデキューされる。ELLサービスパケット1がデキューされた後、i個のTSサービスパケットの全てがデキューされるまで、(j+1)番目のTSサービスパケットの送信が続けられる。P
x1がW-P
iより大きい場合、j番目のTSサービスパケットがデキューされた後、i個のTSサービスパケットの全てがデキューされるまで(j+1)番目のTSサービスパケットのデキューが続けられる。次に、ELLサービスパケットのデキューがスケジュールされる。ELLサービスパケット1を送信するために必要な期間P
x1がW-P
i以下の場合、j番目のTSサービスパケットがデキューされた後にELLサービスパケット1をデキューされることが許可されている。ELLサービスパケット1がデキューされると、ELLキュー内の別のELLサービスパケット(ELLサービスパケット2と表記)が送信されるのを待ち、ELLサービスパケット2を送信するのに必要な期間P
x2がW-P
i-P
x1以下であると判定される。この場合、ELLサービスパケット1がデキューされた後、ELLサービスパケット2がデキューされることが許可され、ELLサービスパケット2がデキューされた後、i個のTSサービスパケットの全てがデキューされるまで、(j+1)番目のTSサービスパケットの送信が続けられる。ELLサービスパケット1を処理するプロセスと同様に、ELLサービスパケット2を送信するのに必要な期間P
x2がW-P
i-P
x1より大きい場合、ELLサービスパケット2は、j番目のTSサービスパケットがデキューされた後にデキューされることが許可されず、代わりに、i個のTSサービスパケットの全てがデキューされるまで(j+1)番目のTSサービスパケットがデキューされることが許可される。次に、ELLサービスパケットのデキューがスケジューリングされる。すなわち、i個のTSサービスパケットの全てを時間ウィンドウW内で送信できることが保証され、時間ウィンドウ内の残りの期間はELLキュー内のELLサービスパケットを送信するのに十分な場合、ELLキュー内のELLサービスパケットを最初に送信することが許可される。i個のTSサービスパケットの全てを時間ウィンドウW内で送信できることが保証され、時間ウィンドウ内の残りの期間はELLキュー内のELLサービスパケットを送信するのに不十分な場合、i個のTSサービスパケットが時間ウィンドウ内でデキューされるまで(j+1)番目のTSサービスパケットの送信が続けられる。すなわち、ELLキュー内のELLサービスパケットは時点でt
2+Δxでスケジュールされる。ELLサービスパケット1がデキューされた後に、ELLキューが送信すべきELLサービスパケットを含まない場合、BEサービスパケットを送信するために、時間ウィンドウ内の他の期間W-P
i-P
x1が用いられ得る。ELLサービスパケット2がデキューされた後に、ELLキューが送信すべきELLサービスパケットを含まない場合、BEサービスパケットを送信するために、時間ウィンドウ内の他の期間W-P
i-P
x2が用いられ得る。時点t
1+P
i+P
x1+P
x2から時点t
2+Δxまでの期間内の任意の時点で、ELLキューが送信すべきELLサービスパケットを含み、該任意の時点から時点t
2+Δxまでの期間がELLサービスパケットがデキューされる期間よりも長く、ELLパケットの優先順位が各BEパケットの優先順位よりも高い場合、ELLパケットが最初にデキューされる。
【0044】
スケジューラは、ネットワーク装置によって受信されたパケットの種類を判定する。種類は、ELLサービスパケット、TSサービスパケット及びBEサービスパケットを含む。受信したパケットがELLサービスパケットの場合、パケットはELLキューに加えられる。受信したパケットがTSサービスパケットの場合、パケットはTSキューに加えられる。受信したパケットがBEサービスパケットの場合、パケットはBEキューに加えられる。また、ネットワーク装置は、パケットキュー内にパケットを送信するために、パケットキュー内のパケットをスケジュールし得る。任意で、スケジューラは、代替的に、受信したパケットをより特定のキューに割り当て、例えば、ELLサービス1の機能を果たすELLサービスパケットを、ELLサービス1に対応するELLキュー1に送信のために割り当て得る。
【0045】
一部の実施形態では、ELLサービスパケットは、優先送信のためのTSキューに対応する時間ウィンドウをプリエンプトするため、TSキューに対応する時間ウィンドウの幅は、TSNフロー機能及びELLキューのバースト長に基づいて適切に増やされて、TSNデータフローの制限されたレイテンシを保証し得る。予測可能なエンドツーエンドレイテンシを確かなものにするために、スケジューラの現在の構成に基づいてELLキュー及びTSキューのレイテンシの比較的低い上限が算出される。予測可能なエンドツーエンドレイテンシに基づいて、エンドツーエンドレイテンシサービスレベルアグリーメント(service level agreement、SLA)がユーザと署名される。一部の実施形態では、ELLキューのレイテンシ(キューイング遅延)はELLサービスパケット間の干渉によってのみ影響を受け、スケジューラによって制御され、サービスはいつでも利用可能である。ELLキューの論理レイテンシ(ELQ遅延)は式(1)を満たす。
【0046】
0<ELQ遅延≦(TimeWindowSize×portRate-Credit)/portRate (1)
【0047】
TimeWindowSizeはTSキューに対応する時間ウィンドウの幅であり、ナノ秒ns等の時間で測定される。例えば、TSキューに対応する時間ウィンドウの幅が100ナノ秒である場合、TSキュー内のパケットは100ナノ秒の時間ウィンドウ内でデキューされ得ることを示し、TSキュー内のパケットは100ナノ秒の時間ウィンドウを超えてデキューできない。portRateは出力ポートの送信レートである。Creditは、各TSキューに対応する時間ウィンドウ内の、ELLキューによって占有され得る期間であり、バイトによって測定され、ELLキュー内に複数のELLサービスパケットが存在し、TSサービスパケットを送信するためにTSキューに対応する時間ウィンドウをプリエンプトする場合、プリエンプトされた時間ウィンドウ内で送信できるELLサービスパケットについてバイト数を示す。先の実施形態で言及したように、TSサービスに対応する時間ウィンドウ内でTSサービスパケットがデキューされる期間にELLパケットがプリエンプトする場合、TSサービスに対応する全てのTSサービスパケットが時間ウィンドウ内でデキューされる得ることを確実にする必要がある。
【0048】
図3Dは、パケットがキュー内で送信される3つのシナリオを示す。最も左側の縦の実線は時間ウィンドウの開始点を表し、縦の実線の右側の縦の点線は特定のイベントが発生する時点を表す。例えば、特定のイベントは次のようなものであり得る。TSサービスパケットがデキューされている最中に、突然到着したELLサービスパケットを時間ウィンドウ内で直ちにデキューする必要がある場合、TSキューに対応する送信時間ウィンドウ内の一部の帯域幅が、ELLサービスパケットを送信するためにプリエンプトされる。
図3Dでは、TSサービスパケットは、スラッシュで満たされたボックスによって表され、ELLサービスパケットは黒で満たされたボックスによって表され、BEサービスパケットはドットで満たされたボックスによって表される。
【0049】
式(1)から、
図3Dに示すシナリオAでは、ELLサービスパケットが出力される準備ができたときに、TSキューに対応する時間ウィンドウ内のCreditが切れ、TSキューに対応する次の時間ウィンドウが開始するまでELLキュー内のELLサービスパケットが待つしかない場合にELLキューの最大レイテンシが生じる。したがって、ELLサービスパケットの最長待ち時間は(TimeWindowSize×portRate-Credit)/portRateである。
【0050】
各TSキューはレイテンシを保証するために独立した時間ウィンドウを設定されるが、ELLキュー内のサービスパケットから受ける干渉は限られていると仮定する。TSキューの論理レイテンシ(TS遅延)は式(2)を満たす。
【0051】
0<TS遅延≦(TimeWindowCycle-TimeWindowSize-Credit/portRate) (2)
【0052】
TimeWindowCycleは、全てのTSキューに対応する時間ウィンドウの合計幅であり、ナノメートル(nanometer、ns)等の時間で測定される。TimeWindowSizeはTSキューに対応する時間ウィンドウの幅であり、時間によって測定される。Creditは、各TSキューに対応する時間ウィンドウ内の、ELLキューによって占有され得る期間であり、バイトによって測定され、ELLキュー内に複数のELLサービスパケットが存在し、TSサービスパケットを送信するためにTSキューに対応する時間ウィンドウをプリエンプトする場合、プリエンプトされた時間ウィンドウ内で送信できるELLサービスパケットについてバイト数を示す。portRateは出口ポートの送信レートであり、バイトで測定される。
【0053】
式(2)から、
図3Dに示すシナリオBでは、TSキュー内のTSサービスパケットが出力される準備ができたときに、TSキュー内のTSサービスパケットを送信するためにTSキューに対応する時間ウィンドウ内に十分なTSキュー帯域幅がなく、TSキューに対応する時間ウィンドウ内の残りの帯域幅がELLサービスパケット又はBEサービスパケットを送信するのに用いられる準備ができている場合にTSキューの最大レイテンシが生じる。したがって、TSキューの最大待ち時間T
maxwaitは式(3)に従って決定される。
【0054】
Tmaxwait=TimeWindowCycle-TimeWindowSize+Credit×2/portRate (3)
【0055】
したがって、ELLサービスパケットはシナリオAの場合でも、依然として時間内に送信できる。シナリオBでは、TSサービスパケットのより短いレイテンシを得ることができ、様々なキューパケットの全体的な伝送効率が保証される。
図3Dに示す包括的な出力効果は、本願の実施形態における解決策が、様々な種類のキューパケットの伝送効率を効果的に改善し、様々な種類のパケットの送信要件を満たしながら、単位時間内により多くのパケットが送信されることを示す。
【0056】
本願の一実施形態はパケットスケジューリング方法を提供する。本方法は、
図1、
図2、
図4又は
図5に示すネットワーク装置及び
図3A~
図3Dに示すシナリオに適用され得る。以下では、本方法を説明するために
図4のネットワーク装置を一例として用いる。本方法は以下のステップを含む。
【0057】
S10:受信したパケットの種類を特定する。
【0058】
パケットを受信する時、ネットワーク装置はパケットの種類を特定するためにパケットをパースする。パケットの種類はELLサービスパケット又はTSサービスパケットを含む。確かに、この種類はBEサービスパケットも含み得る。
【0059】
S12:パケットを、パケットの種類に対応するキューに割り当てる。
【0060】
S10では、受信したパケットがELLサービスパケットであるとネットワーク装置が判定した場合、ネットワーク装置は受信したパケットをELLキューに割り当てる。受信したパケットがTSサービスパケットであるとネットワーク装置が判定した場合、ネットワーク装置は受信したパケットをTSキューに割り当てる。受信したパケットがBEサービスパケットであるとネットワーク装置が判定した場合、ネットワーク装置は受信したパケットをBEキューに割り当てる。
【0061】
任意で、出口ポートが複数のELLキューを含む場合、各ELLキューは1つのELLサービスに対応する。受信したパケットの種類が第1の種類のELLサービスパケットであるとネットワーク装置が判定した場合、ネットワーク装置は、第1の種類のELLサービスパケットに対応するELLキュー1にパケットを送信のために割り当てる。
【0062】
任意で、出口ポートが複数のTSキューを含む場合、各TSキューは1つのTSサービス及び1つの時間ウィンドウに対応する。受信したパケットの種類が第1の種類のTSサービスパケットであるとネットワーク装置が判定した場合、ネットワーク装置はそのパケットを第1の種類のTSサービスパケットに対応するTSキュー1に、対応する時間ウィンドウの開始時点T1で送信するためにパケットを割り当る。時点T1で出口ポート3のELLキューに送信を待っているELLサービスパケットがない場合、TSキュー1内のTSサービスパケットが時点T1で送信される。時点T1で出口ポート3のELLキューに送信を待っているELLサービスパケットがある場合、ELLサービスパケットが最初に送信されてポート3を離れ、TSサービスパケットはELLサービスパケットの送信後に、TSキュー1に対応する次の時間ウィンドウの開始時点T1’で送信される。
【0063】
パケットがBEサービスパケットの場合、パケットはBEキューに割り当てられる。いずれの時点にも出口ポート3のELLキューにパケットがなく、該いずれの時点がTSキューに対応する時間ウィンドウ内にない場合、BEキュー内のパケットが送信される。
【0064】
図5に示すように、本願の一部の実施形態では、ネットワーク装置は出口ポート4をさらに含む。出口ポート3及び出口ポート4は、アグリゲーショントランクポートのメンバーポートであり、トランクポートは他のポートをさらに含み得る。出口ポート4にはQ
0、Q
1、・・・、及びQ
n-1のn個のキューが配備されている。n個のキューは異なる優先順位を有する。例えば、Q
0の優先順位は優先順位0であり、Q
1の優先順位は優先順位1である。優先順位0のQ
0は、n個のキューのうちで優先順位が最も高いキューであると仮定する。ELLキュー及びTSキューのいずれも出口ポート4には配備されていない。ポート3及び4のキューリソースは共有され得る。スケジューラは、ポート3及び4上の複数のキューを介してELLサービスパケットを送信し得る。ネットワーク装置によって受信されたパケットがELLサービスパケットであり、出口ポート3の全てのELLキューが送信されるべきELLサービスパケットを含む場合、スケジューラは、ELLサービスパケットをより迅速に送信できるように、受信したELLサービスパケットをポート4にスケジュールし、ポート4の優先順位が最も高いキュー(すなわち、キューQ
0)の末尾にパケットを加える。
【0065】
S14:パケットが属するキュー内のパケットを送信する。
【0066】
ELLキュー内のパケットは、TSキュー内のTSサービスパケットの適時を得たデキューに影響を与えることなく、すなわちTSキュー内のTSサービスパケットのQoSを低下させることなく、TSキュー内のパケット及びBEキュー内のパケットよりも先にデキューされる。具体的には、ELLキューがデキューすべきパケットを含み、TSサービスパケットがデキューイング時間ウィンドウに入らない場合、ELLキュー内のパケットは、TSキュー内のパケット及びBEキュー内のパケットを待つことなくネットワーク装置の出口ポートから離れるために、デキューされるようスケジュールされる。ELLキューがデキューすべきパケットを含まない場合、TSキュー内のパケットは、TSキューに対応する時間ウィンドウ内でネットワーク装置の出口ポートから離れるために、デキューされるようスケジュールされる。ELLキューがパケットを含まず、現在の時点がTSキューに対応するデキュー時間ウィンドウ内にない場合、BEキュー内のパケットが、ネットワーク装置の出口ポートから離れるために、デキューされるようスケジュールされる。
【0067】
受信したパケットがELLサービスパケットの場合、パケットはELLキューに入り、TSキュー内のパケット及びBEキュー内のパケットよりも先にデキューされるようにスケジュールされる。受信したパケットがTSサービスパケットの場合、パケットはキューに入り、デキューすべきELLサービスパケットがなくなった後でのみ、TSキューに対応する時間ウィンドウ内でデキューされるようにスケジュールできる。受信したパケットがBEサービスパケットの場合、BEサービスパケットは、デキューすべきELLサービスパケットがなく且つ現在の時点がTSサービスパケットの時間ウィンドウ内にない場合にのみ、デキューされるようにスケジュールできる。
【0068】
ELLキュー内の異なるデキューすべきELLサービスパケットは、重み付けラウンドロビン(weighted round robin、WRR)アルゴリズム等の様々なアルゴリズムに基づいてスケジュールされ得る。
【0069】
TSキュー内の異なるデキューすべきTSサービスパケットは、対応する時間ウィンドウ内でパケットがデキューされるように、TSアルゴリズムに基づいてスケジュールされ得る。例えば、TSキュー内の先頭から末尾まで3種類のTSサービスパケット(第1の種類のTSサービスパケット、第2の種類のTSサービスパケット及び第3の種類のTSサービスパケットと表記)が順番にスケジュールされるのを待っている。第1の種類のTSサービスパケット、第2の種類のTSサービスパケット及び第3の種類のTSサービスパケットはデキュー時間ウィンドウWTS1、デキュー時間ウィンドウWTS2、及びデキュー時間ウィンドウWTS3にそれぞれ対応する。したがって、第1の種類のTSサービスパケットはデキュー時間ウィンドウWTS1内でのみデキューされるようにスケジュールでき、WTS2及びWTS3等の他の時間ウィンドウ内でデキューされるようにスケジュールできない。第2の種類のTSサービスパケットはデキュー時間ウィンドウWTS2内でのみデキューされるようにスケジュールでき、WTS1及びWTS3等の他の時間ウィンドウ内でデキューされるようにスケジュールできない。第3の種類のTSサービスパケットはデキュー時間ウィンドウWTS1内でのみデキューされるようにスケジュールでき、WTS1及びWTS2等の他の時間ウィンドウ内でデキューされるようにスケジュールできない。
【0070】
BEキュー内の異なるデキューすべきBEサービスパケットは、WRRアルゴリズム等の様々なアルゴリズムに基づいてスケジュールされ得る。
【0071】
本願の一実施形態では、複数のTSキューはネットワーク装置上で設定されてもよく、異なる時間ウィンドウ内でデキューされるようスケジュールされたTSキューを格納し得る。例えば、第1のTSキューは、時間ウィンドウP1内でデキューされるようスケジュールされたパケットを格納し、第2のTSキューは、時間ウィンドウP2内でデキューされるようスケジュールされたパケットを格納し、第3のTSキューは、時間ウィンドウP3内でデキューされるようスケジュールされたパケットを格納する。時間ウィンドウP1、P2及びP3は異なる時間ウィンドウである。
【0072】
本願の方法及びネットワーク装置によれば、優先順位が最も高いELLサービスパケットのために、専用ELLキューがTSNにおける時間ウィンドウ解決策及び優先順位プリエンプト様式を参照して設定される。加えて、ELLキュー内に比較的大量のELLサービスパケットがある場合、受信したELLサービスパケットは、ELLサービスパケットが最初に送信されることを確実にするために、TSキュー及びBEキューを通じてプリエンプト様式で送信され得る。TSサービスパケットのために、専用のTSキューが出口ポートで構成され、TSサービスパケットがTSサービスパケットに対応する時間ウィンドウ内で送信され、それにより、音声及び映像パケットが適時に送信されることを完全に保証する。
【0073】
本願の前述の実施形態では、ネットワーク装置はルーティング装置又はスイッチング装置であり得る。
【0074】
本願の別の実施形態はネットワーク装置を提供する。ネットワーク装置は仮想ネットワーク装置である。仮想ネットワーク装置は仮想ポート、スケジューラ及びプロセッサを含む。仮想ポートは論理ポートであり、対応する物理ポートにマッピングされ得る。仮想ネットワーク装置はサーバに配備されるvSwitchであり得る。仮想ネットワーク装置がパケットキューを処理するプロセスは、
図1、
図2及び
図5に示すネットワーク装置の処理と同様である。ここでは、詳細を再度説明しない。
【0075】
当業者は、本願に提供される実施形態に対して様々な修正及び変形を行い得る。前述の実施形態におけるプロセッサはマイクロプロセッサ又は任意の従来のプロセッサであり得る。本発明の実施形態を参照して開示した方法のステップはハードウェアプロセッサによって直接行われ得るか又はプロセッサ内のハードウェアとソフトウェアモジュールとの組み合わせを用いることにより行われ得る。それがソフトウェアを用いることにより実施される場合、前述の機能を実施するコードがコンピュータ読み取り可能媒体に記憶され得る。コンピュータ読み取り可能媒体はコンピュータ記憶媒体を含む。記憶媒体は、コンピュータにアクセス可能な任意の利用可能な媒体であり得る。限定ではなく一例として、コンピュータ読み取り可能媒体は、ランダムアクセスメモリ(random access memory、RAM)、読み取り専用メモリ(read-only
memory、ROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically
erasable programmable read-only memory、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)又は他の光ディスク記憶装置、ディスク記憶媒体又は他のディスク記憶装置又は命令若しくはデータ構造の形態でプログラムコードを保持又は記憶するのに用いることができ、コンピュータによってアクセス可能な他の任意の媒体であり得る。コンピュータ読み取り可能媒体はコンパクトディスク(compact disc、CD)、レーザディスク、光ディスク、デジタルビデオディスク(digital
video disc、DVD)、フロッピーディスク又はブルーレイディスクであり得る。