特許第5833903号(P5833903)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
特許5833903パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム
<>
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000005
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000006
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000007
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000008
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000009
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000010
  • 特許5833903-パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5833903
(24)【登録日】2015年11月6日
(45)【発行日】2015年12月16日
(54)【発明の名称】パケットにQOSレベルを付するための方法、装置およびコンピュータ・プログラム
(51)【国際特許分類】
   H04L 12/851 20130101AFI20151126BHJP
【FI】
   H04L12/851
【請求項の数】13
【全頁数】15
(21)【出願番号】特願2011-265779(P2011-265779)
(22)【出願日】2011年12月5日
(65)【公開番号】特開2012-129997(P2012-129997A)
(43)【公開日】2012年7月5日
【審査請求日】2014年7月7日
(31)【優先権主張番号】10306439.0
(32)【優先日】2010年12月16日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】ファブリス・ジャン・フェルプランケン
(72)【発明者】
【氏名】フランソワ・アベル
(72)【発明者】
【氏名】クロード・バッソ
(72)【発明者】
【氏名】ジャン・エル・カルビニャック
(72)【発明者】
【氏名】ナタラヤン・バイディアナタン
(72)【発明者】
【氏名】コリン・ビー・ベリリ
【審査官】 浦口 幸宏
(56)【参考文献】
【文献】 特開2008−199168(JP,A)
【文献】 特開2007−159103(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24− 7/26
H04L 12/00−12/28
12/44−12/955
H04W 4/00−99/00
(57)【特許請求の範囲】
【請求項1】
所定数の可能値を有する品質スケール中の品質レベル値をデータ・パケットに付する方法であって、前記パケットは複数の優先度標識値を包含し、前記方法は、
前記パケットから前記複数の優先度標識値を抽出するステップと、
前記複数の優先度標識値を単一の合成集合優先度値に変換するステップと、
中に可能な各集合優先度値がそれぞれの品質レベル値に関連付けられている品質テーブルを参照するステップと、
前記合成集合優先度値に関連付けられた前記品質レベル値を前記パケットに付するステップと、
を含み、
前記変換するステップは、前記複数の優先度標識値のいくつかのビットを廃棄し、残りのビットを連鎖するステップを含む、方法。
【請求項2】
前記データ・パケットは、階層化通信プロトコルに準拠し、前記複数の優先度標識値は、前記パケットの相異なる通信レイヤに対応する少なくとも2つの部分に配置されている、請求項1に記載の方法。
【請求項3】
前記パケットは、各々が所定の複数のビットを含むいくつかのデータ・ユニットに分割され、前記優先度標識値を包含する前記データ・ユニットのそれぞれは、各々が全体として抽出される、請求項1または2に記載の方法。
【請求項4】
前記廃棄されるビットは、選定パターン・テーブル中に格納された選定パターンによって定義され、前記選定パターン・テーブルは、それぞれの通信シナリオに対応する複数の前記選定パターンを含み、前記ビットを廃棄するのに適用された前記選定パターンが、対処中の通信シナリオに対応するように選定される、請求項に記載の方法。
【請求項5】
複数の論理ポートが定義され、各論理ポートは、それぞれの通信シナリオに従って通信を処理し、それに沿ってそれぞれの前記選定パターンを適用する、請求項に記載の方法。
【請求項6】
前記品質テーブルは複数のサブテーブルに分割され、各々が、前記選定パターン・テーブル中に格納されたそれぞれ別個の選定パターンに対応する、請求項4または5に記載の方法。
【請求項7】
ある特定の合成集合優先度値に適用される、前記選定パターンを選ぶ選定値は、前記優先度値にその最上位ディジットとして連鎖され、前記優先度値を前記品質テーブルに適用する際に、前記品質テーブルの前記対応サブテーブルがアクセスされるようにする、請求項に記載の方法。
【請求項8】
前記複数の優先度標識値はバイト単位で前記パケットから抽出され、前記方法は、優先度情報に関係ないビットを前記抽出されたバイトから廃棄するさらなるステップを含む、請求項1乃至のいずれかに記載の方法。
【請求項9】
優先度情報に関係ないビットを前記抽出されたバイトから廃棄する前記ステップは、前記パケットの判明している構造を考慮しながら、優先度情報に関係するビットだけを格納するようサイズ設定、構成された、個別のレジスタに前記抽出されたバイトを書き込むステップを含む、請求項に記載の方法。
【請求項10】
請求項1乃至のいずれかに記載の方法を実行するように構成されるネットワーク装置。
【請求項11】
コンピュータ・プログラムがコンピュータ上で実行されることにより、前記コンピュータに請求項1乃至のいずれかに記載の方法を遂行させるコンピュータ・プログラム。
【請求項12】
前記コンピュータが構文解析制御モジュールである、請求項11に記載のコンピュータ・プログラム。
【請求項13】
請求項11に記載のコンピュータ・プログラムが記憶されるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、例えば、高性能のネットワーク・プロセッサに、複数の優先度クラスで入来するパケットの分類など、パケット分類に関し、一般に、これは複数の受信キューへの最終的パケット分類の一環である。
【背景技術】
【0002】
慣例的に、パケットの判定は、パケットのヘッダ中にある「サービス品質」(QOS:Quality−of−Service)パラメータに依って行われている。この判定は、通常、一つのパケット・ヘッダ中にあるQOSフィールドの簡単な復号を使って行われる。例えば、
− VLANブリッジは、VLANヘッダ中にユーザ優先度として定義される3つの「Pビット」に従ってパケットを分類する。
− MPLSスイッチは、最初に実験ビットとして定義され、現時点ではパケットのQOS値を搬送している3つの「Eビット」に従ってパケットを分類する。
− IPルータは、IPv4またはIPv6ヘッダ中に差別化サービスとして定義される「DSCPバイト」に従ってパケットを分類する。
【0003】
特許文献1は、ある電気通信システムにおいて、サービス品質(QOS)を考慮した、無線ポイント−マルチポイント間の電気通信を提供する方法を記載している。この電気通信システムは、第一データ・ネットワークに連結された無線基地局と、該第一データ・ネットワークに連結された一つ以上のホスト・ワークステーションと、パケット中心のプロトコルを用い、共用バンド幅を介して無線基地局と無線通信する、一つ以上の加入者用顧客構内設備(CPE:customer premise equipment)ステーションと、第二ネットワークを介し加入者用CPEステーションの各々と連結している一つ以上の加入者ワークステーションとを含む。この方法は、エンドユーザのQOSを最適化する仕方で、加入者用CPEステーションの間に共用バンド幅を割り当てるステップを含む。該方法は、共用の無線バンド幅を介するIPフロー群を分析しスケジューリングするステップを含む。これには、IPフローを識別するステップ、IPフローを特性付けるステップ、IPフローを分類するステップ、およびIPフローを優先付するステップが含まれる。
【0004】
特許文献2は、フレキシビリティとパフォーマンス改良を備えた、レイヤ2〜レイヤ7のハードウエア検索エンジンを有する高速ネットワーク管理アプリケーション設備に関する。マルチレイヤ・スイッチ/ルータ、ネットワーク・アドレス変換(NAT:network address translation)ゲートウェイ、ファイアウォール/VPNルータ、およびネットワーク接続ストレージ(NAS:network attached storage)は、高速で効率的な検索要件に対しこの検索エンジンを使うことができる。
【0005】
特許文献3は、高速のパケット分類を可能にするクラシファイア・ルールを格納するデータ構造を含む、高速パケット分類に対する新規なソリューションを提案し、その構造は、分類が要求される入来パケットの各フィールドに対するビットマップを採用している。この新規なデータ構造を用いた高速のパケット分類アルゴリズムは、最優先のマッチング・ルールを迅速に得ることを可能にする。新規ルールの更新アルゴリズムは、新しいクラシファイア・ルールが漸増的にデータ構造中に付加されることを可能にする。この発明の構造およびアルゴリズムを用いる分類エンジンの一つの実用的な実装において、カスタム化された命令を使う設定可能なプロセッサが、パケット分類を加速するために用いられている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願公開第20070038750号
【特許文献2】米国特許出願公開20080019368号
【特許文献3】米国特許第7227842号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ネットワーク通信データ・パケットは、多くの場合、階層化通信プロトコルに準拠しており、個別の異なる通信レイヤに対応する、パケットの少なくとも2つの部分に配置された優先度標識値を含む。統合化高速ネットワーク・プロセッサの出現とともに、優先度分類に関して新しい要求事項が識別され、現在では、この分類はいろいろなパケット・ヘッダ中に見られる優先度標識値の任意の混成に対応する能力が必要となっている。というのは、かかるネットワーク・プロセッサは、例えば、VLANのレイヤ2、MPLSのレイヤ2.5、IPのレイヤ3など、複数のネットワーク・レイヤにおけるパケットを処理する設備の中で使われることが多いからである。
【0008】
この例をさらに詳細に検討すると、前述のプロトコルの各々(VLAN、MPLS、IPv4、またはIPv6)は、そのそれぞれのレベルにおける優先度または品質に関する優先度標識値を定義しており、これら相異なる値のいくつかまたは全てにアクセスして、パケットの優先度または品質の要件を、全体としてまたはそのいずれかのコンポーネントとして判定することが望ましいことがある。
【課題を解決するための手段】
【0009】
本発明によって、所定数の可能値を含む品質スケール中の品質レベル値をデータ・パケットに付する方法と、ネットワーク装置と、コンピュータ・プログラムと、媒体中に符号化されたコンピュータ・プログラムを有するコンピュータ可読媒体とが提供される。
【0010】
IPパケット全体に亘って分散されたさまざまな関連値から簡潔な優先度値を抜き出し、異なるレイヤからの情報を組み合わせ、サービス・シナリオ(VLAN、MPLSなど)を考慮に入れることによって、パケット中の全ての関連データの品質分類への取り入れを確実することが可能である。
【0011】
当業者は、図面および詳細な説明を検証することによって、本発明のさらなる利点をよく理解できよう。本明細書に任意の追加の利点を組み入れることが意図されている。
【図面の簡単な説明】
【0012】
図1】各種例示的優先度標識値の詳細を示す。
図2】第一実施形態を示す。
図3】第一実施形態の主要ステップのフローチャートを示す。
図4】抽出されたバイト群に亘る優先度標識値の分布を示す。
図5】第二実施形態による、優先度標識値レジスタの構造を示す。
図6】優先度標識値レジスタからの代表ビットの選定を提供する第三実施形態を示す。
図7】第三実施形態が複数の論理ポート収容するように適合された、第四実施形態を示す。
【発明を実施するための形態】
【0013】
例示として、添付の図面を参照しながら本発明の実施形態を以下に説明する。図面中の同じ参照記号は類似のエレメントを示す。
【0014】
図1は、各種例示的優先度標識値の詳細を示す。
【0015】
図1aに示されるように、VLANヘッダは、基底形式(Canonical Form)標識ビットC112の前に配置された、3ビットの「ユーザ優先度」値P111を含む。
【0016】
図1bに示されるように、MPLSヘッダは、3ビットの「実験用(Experimental Use)」値E121を含み、これは、慣行的にサービス品質情報のため使われ、スタックの底(Bottom of Stack)標識ビットS122の前に配置されている。
【0017】
図1cに示されるように、IPv4ヘッダは、8ビットの「差別化サービス・コード・ポイント(Differential Services Code Point)」値DSCP131を含み、これはサービス品質情報のため使われ、「レン(Len)」値132の前に配置されている。
【0018】
図1dに示されるように、IPv6ヘッダは、8ビットの「差別化サービス・コード・ポイント」値DSCP141を含み、これはサービス品質情報のため使われ、「フロー・ラベル(Flow Label)」値142の前に配置されている。
【0019】
図2は第一実施形態を示す。
【0020】
図2に示されるように、パーサ210は構文解析レジスタ211および構文解析制御モジュール212を含む。構文解析レジスタは、一つ以上の受信済みパケットまたはその部分を格納し、通常少なくとも一パケットのヘッダを包含する。構文解析制御モジュールは、パーサのさまざまな機能を制御するプログラム可能モジュールであり、具体的に、本実施形態においては、レジスタ211のコンテンツの特定の部分を抽出する能力がある。
【0021】
図示のように、構文解析制御モジュールは、抽出したデータを、配送バス220を介して優先度標識値レジスタ230にアドレス指定することができ、また、データを本発明の範囲外の他のシステムに経路指定するために用いることもできる。
【0022】
図1の例から始めると、一般に遭遇する可能性のある最も複雑なヘッダは、各々3ビットが必要な2つの連続するMPLSラベルを有するメッセージに関連し、各々3ビットが必要な、2つの連続するVLANに対する明細を包含し、IPv4(1バイト)もしくはIPv6(1バイト)の下にIPトンネルを備えたものであり得ることに基づけば、これから、合計(2×3)+(2×3)+(2×8)+(2×8)=44ビットが得られる。当然ながら、レジスタ230のサイズと可能な全てのヘッダ構成を取り扱うシステムの能力との間での異なる妥協点を取った、他の多くのシナリオも考えられることは十分理解されよう。
【0023】
図示のように、優先度標識値レジスタは、各種の優先度標識値を構成するとして上記で識別された44ビットを収容するように、44ビット幅となっている。これにより、これら44ビットは、単一の44ビット優先度値として読み取ることができ、次いでこれは指標値として品質テーブル250に適用される。このテーブルは、各可能な優先度値に対する品質レベル値を含む。
【0024】
このQOSテーブルは、各可能な品質レベル値が複数のエントリに格納できるようなサイズにされる。すなわち、品質レベル値がPビットで符号化されている場合、このとき品質テーブルは2より多いエントリを有する。この対処法のフレキシビリティは、品質テーブル中でルックアップが行われるやり方、より正確には、ルックアップ指標が作成されるやり方から来ている。図示のように、品質レベルは3ビット値であり、244の可能なインプット値の各々は、2=8の可能な品質レベルの一つに関連付けられる。
【0025】
しかして、前述のやり方によって、ヘッダ構造シナリオに関する当初の仮定に適合する任意のパケットは、元のパケット中の全ての関連データを考慮に入れて、3ビットの品質レベル値に自動的に短縮できる。
【0026】
図3は、第一実施形態の主要ステップのフローチャートを示す。
【0027】
本方法はステップ300から開始され、次いでステップ310に進み、さまざまな優先度標識値が、例えば、構文解析レジスタ211と通信している構文解析制御モジュール212によって、パケットから抽出される。方法は、次にステップ320に進み、別々の優先度標識値が、例えば、優先度標識値レジスタ230において連鎖されることによって、単一の合成集合優先度値に変換される。方法は、次にステップ330に進み、テーブル中に可能な各集合優先度値がそれぞれの品質レベル値に関連付けられている、品質テーブル250が参照され、最後にステップ340において、上記品質テーブル中の合成集合優先度値に関連付けられた品質レベル値がパケットに付され、ステップ350において本方法は終了する。
【0028】
ある実施形態において、構文解析制御モジュールの能力が、例えば、レジスタのコンテンツの部分を抽出できる粒度に関し限定されることがあり得る。具体的には、構文解析制御モジュールが、8、16、または32ビット単位だけで構文解析レジスタからのデータ抽出ができることがある。このような場合、パケットをいくつかのかかる単位に分割し、上記優先度標識値を包含する個別の単位体の各々の全体を抽出することができる。
【0029】
この場合、優先度標識値レジスタは、データの全バイトを受信するよう構築される必要があることになり、これらは、品質または優先度情報だけで構成されてはいない。
【0030】
図1に戻ると、P値111があるバイトの最初の3ビットを占めているのが示されている。E値はあるバイトの5、6、および7番目のビットを占め、DSCP値は、IPv4中の一つのバイトの全体を占め、IPv6においては、一つのバイトの最後の4ビットおよび次のバイトの最初の4ビットを占めている。これをベースに、第一実施形態のヘッド構造シナリオを続けると、全ての関連情報を得るには、パケットから10の別個のバイトを抽出しなければならないことがよく理解できよう。
【0031】
図4は、抽出されたバイト群に亘る優先度標識値の分布を示す。
【0032】
図示のように、10バイトが抽出されている。バイト401は、その最初の4ビットに第一VLANラベルのP値を包含する。バイト402は、その最初の4ビットに第二VLANラベルのP値を包含する。バイト403は、その第5、第6、および第7ビットに第一MPLSヘッダのE値を包含する。バイト404は、その第5、第6、および第7ビットに第二MPLSヘッダのE値を包含する。バイト405は、全体が、第一IPトンネル中のIPv4・DSCP値によって占められている。バイト406は、その最後の4ビット中に第一IPトンネル中のIPv6のDSCP値の前半を包含し、バイト407は、その最初の4ビット中に第一IPトンネル中のIPv6のDSCP値の後半を包含する。バイト408は、全体が、第二IPトンネル中のIPv4のDSCP値によって占められている。バイト409は、その最後の4ビット中に第二IPトンネル中のIPv6のDSCP値の前半を包含し、バイト410は、その最初の4ビット中に第二IPトンネル中のIPv6のDSCP値の後半を包含する。
【0033】
図4のデータ・フィールドによって与えられた構成を、一般化して優先度標識値レジスタに対する構造を定義することができる。
【0034】
図5は、第二実施形態による、優先度標識値レジスタの構造を示す。
【0035】
図示のように、本第二実施形態による優先度標識値レジスタ530は、それぞれ構文解析レジスタ211中に格納されたパケットから抽出された10個のバイト401〜410を受信するようになっている10個のレジスタ501〜510を含む。上記に沿って、優先度標識値レジスタ501および502は、これらが受信したバイトの最初の3ビットを格納し、残部は廃棄するよう構成されている。レジスタ503および504は、これらが受信したバイトの最後の3ビットを格納し、残部は廃棄するよう構成されている。レジスタ505および508は、これらが受信したバイトの全体を格納するよう構成されている。レジスタ507および510は、これらが受信したバイトの最初の4ビットを格納し、残部は廃棄するよう構成されている。レジスタ506および509は、これらが受信したバイトの最後の4ビットを格納し、残部は廃棄するよう構成されている。このようなやり方で、構文解析制御モジュール212は、構文解析レジスタ211からバイト単位でデータを抽出することができるが、優先度標識値レジスタ230のアウトプットにおいては、複数の優先度標識値は、異質なコンテントを含まない単一の合成集合優先度値に変換されることになる。
【0036】
あるケースにおいては、優先度標識値レジスタ230または530に書き込まれた優先度および品質に関連するデータの必ずしも全てが要求品質レベルの十分な表現を確保する必要はないことがあり得る。
【0037】
このアプローチに対し多くの変形が可能なのはよく理解できるであろう。具体的には、レジスタ501〜504のサイズを、各3ビットから各4ビットに有利に増加し、合計アウトプット集合優先度値の幅を48ビット、または6バイトにすることができる。
【0038】
言い方を換えれば、優先度標識値レジスタ530は、パーサからのQOSパラメータを、QOSパラメータの種類に従ってサイズを最適化された10個のインプット・レジスタのセット中に受信することができる。
− 例えばVLANヘッダ、IPv6ヘッダ(DSCPバイトのLS部分)に見られるような、左配列の小さなQOSパラメータに対しては4ビットのレジスタ
− 例えばMPLSヘッダ、IPv6ヘッダ(DSCPバイトのMS部分)に見られるような、右配列の小さなQOSパラメータに対しては4ビットのレジスタ
− 例えばIPv4ヘッダに見られるような、大きなQOSパラメータに対しては8ビットのレジスタ
これらのレジスタの配置はフレキシブルである、すなわち、パーサのピココードによって決まるだけで、一般的な値割り当てには対応する
− 2つのVLANヘッダ(2つの左配列4ビット・レジスタ)、VLAN−in−VLAN(aka QinQ)機能をサポートする
− 2つのMPLSヘッダ(2つの右配列4ビット・レジスタ)、2レベル・スタックMPLSプロトコルをサポートする
− 2つのIPv4ヘッダ(2つの8ビット・レジスタ)、IPv4トンネリングをサポートする
− 2つのIPv6ヘッダ(2つの右配列4ビット・レジスタ、プラス2つの左配列4ビット・レジスタ)、IPv6トンネリングをサポートする
【0039】
これは、整数のバイトに適合するだけでなく、各レジスタに格納可能なデータの種類の点で追加的なフレキシビリティをも提供する利点を有する。例えば、2つのこういった半バイトのレジスタを使って、8ビットのDSCP値を格納することができる。不利点は、これが異質のコンテント、すなわち、図4に提示された形式のデータの場合では、データの、品質または優先度に関係ない4ビットのコンテント、を包含する単一合成集合優先度値をもたらす可能性があることである。一方で、第三および第四実施形態に関連して後記で説明する優先度値アグリゲータおよび選定パターン・テーブルは、かかる異質なコンテントを無視するための手段を提供することがわかるであろう。
【0040】
このように、優先度標識値は、パケットのバイト単位で抽出することができる。さらに、抽出したバイトから優先度情報と関係のないビットを廃棄するさらなるステップを提供することができる。さらにまだ、優先度情報に関係ないビットを抽出されたバイトから廃棄するこの追加ステップには、パケットの判明している構造を考慮しながら、優先度情報に関係するビットだけを格納するようサイズ設定、構成された、個別のレジスタに抽出されたバイトを書き込むステップを含めることができる。
【0041】
図6は、優先度標識値レジスタからの代表ビットの選定を提供する第三実施形態を示す。
【0042】
図示のように、優先度値アグリゲータ660が提示され、これは6つの44対1マルチプレクサ661〜666を含む。これら6つのマルチプレクサの各々は、優先度標識値レジスタ530中に格納された、全44個のビット値を供給され、選定パターン・テーブル640からの制御信号に基づいて、優先度値アグリゲータからの優先度値アウトプットが合計6ビットに制限されるようにして、44のインプット・ビット値の一つを選定し、そのそれぞれのアウトプット・ラインに出力する。次いで、これらの6ビットは、品質レベルを得るため、ほぼ第一実施形態に関連して説明したようにして、品質テーブル650に入力される。図示のように、選定パターン・テーブル640は、6つのレジスタ641、642、643、644、645、646を含み、その各々が、優先度標識値レジスタ530中に格納されたビット値のそれぞれ一つを識別する値を収容する。各選定パターン・テーブルのレジスタ641、642、643、644、645、646は、その識別値を、それぞれの優先度値アグリゲータのマルチプレクサ661、662、663、664、665、666に供給する。レジスタ641およびマルチプレクサ661は、優先度値の最高位ビットに対応していると見なすことができ、レジスタ646およびマルチプレクサ666は優先度値の最下位ビットに対応していると見なすことができる。本例において、各レジスタ641、642、643、644、645、646は、優先度標識値レジスタ530に格納された44ビット値のいずれかを指定するための6ビット値を包含する
【0043】
従って、変換するステップ320には、複数の優先度標識値の特定のビットを廃棄し、残りのビットを連鎖するステップを含めることができる。さらに、廃棄されるビットは、選定パターン・テーブル640中に格納された選定パターンによって定義することができる。さらにまだ、選定パターン・テーブル640には、それぞれの通信シナリオに対応する複数の選定パターンを含めることができ、これにより、ビットを廃棄するのに適用される選定パターンは、対処中の通信シナリオに対応して選択される。
【0044】
例として、以下に、かかる3つのシナリオを検討することにする。
【0045】
例示シナリオ1−IPv4
IPv4パケットに対するQOS実施の一般的な例は、3つの「先行」ビット、すなわち、IPv4ヘッダ中のDSCPバイト131の最初の3ビットに依ることである。図5のパターンを用いれば、これら3つのビットは、優先度標識値レジスタ530に格納された44ビット値の第15番、16番、および17番にあたる。
【0046】
従って、44優先度標識値ビットのレジスタが、000000から101011までに数値付されている場合、選定パターン・テーブル640には、このシナリオに対する次の選定パターンを含めることができる。
【0047】
【表1】
【0048】
従って、このスキームは、IPv4ヘッダ中のTOS(DSCP)バイトの3ビットP2、P1、P0を選定し、これらを、QOS指標の最下位3ビットとして使用する。QOS指標の最上位3ビットは使われず、品質テーブル650は、2=8の可能優先度値を2=8の利用可能な品質レベル上にマップする。
【0049】
例示シナリオ2−IPv6
IPv6パケットに対するQOS実施の一般的な例は、IPv6ヘッダ中のDiffServバイトの6つの「DSCP」ビットに依ることである。
【0050】
このスキームは、IPv6ヘッダ中のDiffServフィールドの最初の6ビットであるDS5からDS0の6ビットを選定し、これらをQOS指標の6ビットとして使用することによって実施できようし、QOSテーブルは、64のDiffServコード・ポイント値を8つの優先度値にマップすることができよう。図5のパターンを用いれば、これら6つのビットは、優先度標識値レジスタ530に格納された44ビット値の第23番〜28番にあたる。
【0051】
従って、選定パターン・テーブル640には、このシナリオに対する次の選定パターンを含めることができる。
【0052】
【表2】
【0053】
例示シナリオ3−VLAN/IPv4
QOSの混成定義の例は、VLANタグ中のPビット、およびIPv4ヘッダ中のTOSバイトの3つの「先行」ビットに基づくものとすることができる。
【0054】
このスキームは、IPv4ヘッダ中のTOSバイトの3ビットP2、P1、P0を選定し、それらをQOS指標の最下位3ビットとして使用し、3つのVLANタグの優先(P)ビット111すなわち最初の3つもビットを選定し、それらをQOS指標の最上位3ビットとして使用することによって実施することができよう。
【0055】
図5のパターンを用いれば、TOSバイトのこれら3つのビットP2、P1、P0は、優先度標識値レジスタ530に格納された44ビット値の第15番、16番、および17番にあたり、VLANタグの3つの優先(P)ビット111は、優先度標識値レジスタ530に格納された44ビット値の第1番、2番、および3番にあたる。
【0056】
従って、選定パターン・テーブル640には、このシナリオに対する次の選定パターンを含めることができる。
【0057】
【表3】
【0058】
一般的なケースは、TOSバイトおよびVLANタグは、同じQOS値を保持するが、このスキームでは、VLAN QOSがIPv4QOSを上書きするという例外を取り扱うことが可能である。次いで、品質テーブル650は、64のQOS値を8つの品質レベルにマップすることができよう。
【0059】
本実施形態では優先度値は、44ビットから6ビットに低減されるが、もっと大きいまたは小さい度合いの任意の圧縮が可能であり、設計上の制約および他の考慮事項に応じてこれを適用することができる。具体的には、優先度値を形成するビットの数を、各種の優先度標識値の最大のサイズに等しいように選択することができる。
【0060】
本アプローチの利点は、優先度値のビット幅を削減することによって、品質テーブル650のサイズを244から2エントリに低減し、全体としてデバイスのレイアウト面積の低減につなげることができることである。
【0061】
本アプローチのさらなる利点は、いろいろな状況に適合された選定パターン・テーブル640中の選定パターンを提供することによって、構文解析制御モジュールの動作を変更する必要なくして、何時でも優先度値の構成を変更することを可能にし、これによりデバイスのフレキシビリティを増大させることである。
【0062】
さらに具体的には、優先度値アグリゲータは、優先度値ビットの各々に対し、パーサによってロードされた全優先度標識値ビットのどれを選定するかを判定するよう機能することができる。このことは、アプリケーションが、どのQOSパラメータを取り上げ、どれを無視すべきかを判断することを可能にする。考慮されたビットの和は、log(N)より大きくすべきではない。前式のNは品質テーブルのエントリの数である。このとき、品質テーブルは、QOSパラメータのあり得る混成の各々に対応する優先度値を用いて構成しなければならない。
【0063】
本発明に対応可能なあるネットワーク・デバイスは、複数の論理ポートを定義することができる。多くの場合、かかる各論理ポートを特定の種類のトラヒックまたはアクティビティに関連付けて、当該論理ポート上の全トラヒックに対し、同じ様な品質検討を適用するのが適切であり得る。
【0064】
図7は、第三実施形態が複数の論理ポート収容するように適合化された、第四実施形態を示す。
【0065】
図示のように、このデバイスは2つの論理ポートをサポートしている。品質テーブル750は、第一サブテーブル751と第二サブテーブル752とにサブ分割されている。2つのサブテーブル751および752は、それぞれ第一および第二論理ポートに対する品質レベル・ルックアップを提供しており、このため、各々別個に2のエントリを含む。さらに、選定パターン・テーブル740は、第一論理ポートまたは第二論理ポートそれぞれにパケットが到着したとき、優先度値アグリゲータ660が受信する値に適用するための、第一選定パターン741および第二選定パターン742を含む。言い換えれば、品質テーブル750は、各々が、選定パターン・テーブル740に格納されたそれぞれ別個の選定パターンに対応する、複数のサブテーブルに分割される。構文解析制御モジュール212は、選定パターン制御ライン770によって、品質テーブル750にさらに接続される。
【0066】
第四実施形態によれば、構文解析制御モジュール212が、ある特定のパケットが第一論理ポートに関連すると判定したとき、選定パターン制御ライン770は0に設定される。この値は、選定パターン・テーブルに、優先度値アグリゲータ660に対し第一選定パターン741を出力させる。選定パターン制御ライン770上の値は、優先度値アグリゲータから出力される優先度値に、最上位ビットとしてさらに加えられる。この新しい7ビットの優先度値は、ほぼ先行の実施形態に関連して説明したようにして、品質テーブル750に入力される。選定パターン制御ライン770に由来するMSB値0は、残りの6ビットに対し第一品質サブテーブル751を適用させることになり、第一論理ポートの適切なコンテキストにおいて品質ルックアップが遂行されることになる。同様に、構文解析制御モジュール212が、ある特定のパケットが第二論理ポートに関連すると判定したとき、選定パターン制御ライン770は1に設定される。この値は、選定パターン・テーブルに、優先度値アグリゲータ660に対し第二選定パターン742を出力させる。選定パターン制御ライン770上の値は、優先度値アグリゲータから出力される優先度値に、最上位ビットとしてさらに加えられる。この新しい7ビット優先度値は、ほぼ先行の実施形態に関連して説明したようにして、品質テーブル750に入力される。選定パターン制御ライン770に由来するMSB値は1、残りの6ビットに対し第二品質サブテーブル752を適用させることになり、第二論理ポートの適切なコンテキストにおいて品質ルックアップが遂行されることになる。言い換えれば、ある特定の集合優先度値に適用される選定パターンを選ぶ選定値は、上記の優先度値をその最上位ディジットに使って連鎖設定され、上記優先度値を品質テーブルに適用する際に、品質テーブルの対応するサブタイトルにアクセスが行われるようにする。
【0067】
このように、複数の論理ポートを定義することができ、各論理ポートは、それぞれの通信シナリオに従って通信を取扱い、これに従ってそれぞれの選定パターンを適用する。
【0068】
選定パターン・テーブルには任意の数の選定パターンを備えることができ、任意の数の論理ポートが可能なことはよく理解できよう。さらに、各論理ポートに対し複数の選定パターンを備え、一部または全部の論理ポートに対するこれら選定パターンの数を異なるようにすることができる。さらに、選定パターン・テーブルには、特定の論理ポートに特定されない選定パターンを備えることもできる。例えば、入来パケットのMACアドレスが特定の論理ポートに関連付けられていない場合など、入来パケットがどの特定の論理ポートにもマップできない場合のための選定パターンを備えることができよう。さらに、受信パケットの他の特性に対応する例外処理などのために、複数の追加的選定パターンを備えることもできる。例えば、マルチキャスト・パケット、同時通信パケット、およびユニキャスト・パケットのそれぞれ、またはこれらのサブセットに対する別個の選定パターンを備えることができる。
【0069】
諸実施形態は、アプリケーションのQOS要件に沿ってソフトウエアにより構成されたテーブル中の優先度標識のフレキシブルな選定に関する。ある実施形態によれば、連続ネットワーク・レイヤによる、入れ子のヘッダを含むマルチレイヤ・ネットワーク通信パケットが構文解析され、ヘッダ群全体に亘って分散された、各個別レイヤのデータに対する優先度またはサービス品質要件(優先度標識値)に関する値が抽出される。集合されたデータ(合成集合優先度値)が、より低分解能の品質レベル値に対する異なった可能な合成集合優先度値がマップされた表に、適用される。優先度標識値または合成集合優先度値は、フィルタし、マスクし、または圧縮することができる。ある実施形態によれば、優先度標識値を格納する相異なるビット・サブセットが、パケットが関連付けられた論理ポートと、その論理ポートに適合する品質レベル値のマッピングを備える区別されたサブテーブルに適用される最終的な優先度標識値と、に基づいて選定される。
【0070】
レジスタ501〜510が、VLAN、MPLS、およびIPプロトコルだけに専用のものでないことを理解する。構文解析制御モジュールがプログラム可能であるとの前提で、本発明は、(まだ)標準化されていない新規の先端プロトコルを含め、マルチレイヤQOSの他の組み合わせをもサポートする利点を提供する。またあるいは、エンドユーザは、標準的QOS基準をそのQOSルールに基づいて改良する可能性を有する(例えば、レイヤ2のイーサタイプ、レイヤ3のプロトコル・タイプ、またはレイヤ4のポート・タイプなど非QOSフィールドに基づいて、特定のトラヒック・タイプを分類およびさらに優先付けするなど)。
【0071】
本発明は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態、またはハードウエアおよびソフトウエア両方のエレメントを包含する実施形態の形を取ることができる。ある好適な実施形態において、本発明は、以下に限らないが、ファームウエア、常駐ソフトウエア、マイクロコード、構文解析ピココードなどを含めた、ソフトウエアに実装される。
【0072】
さらに、本発明は、コンピュータまたは任意の命令実行システムによってまたはこれに関連させて使用するプログラム・コードを備えるコンピュータ・プログラム、コンピュータ可読媒体の形態を採ることもできる。本説明目的の上で、コンピュータ可読媒体は、任意の命令実行システム、装置、またはデバイスによってまたはこれに関連させて使用するためのプログラムを、収容、格納、通信、伝搬、または伝送できる任意の装置であり得る。具体的には、前述の構文解析制御モジュールは、この意味で命令実行システム、または「コンピュータ」を構成する。
【0073】
媒体は、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム(もしくは装置もしくはデバイス)または伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現時点での例には、コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disk read only memory)、コンパクト・ディスク読み取り/書き込み(CD−R/W:compact disk read/write)メモリ、およびDVDが含まれる。
【0074】
プログラム・コードを格納もしくは実行またはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサを含み得る。このメモリ・エレメントには、プログラム・コードの実際の実行の過程で使われるローカル・メモリ、バルク記憶装置、および、実行中にバルク記憶装置から読み出さねばならない回数を低減するために、少なくとも一部のプログラム・コードに一時的保管を提供するキャッシュ・メモリを含めることができる。
【0075】
直接に、あるいは仲介I/Oコントローラを介して、入力/出力またはI/Oデバイス(以下に限らないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む)をシステムに連結することができる。
【0076】
また、ネットワーク・アダプタをシステムに連結し、データ処理システムが、仲介の私有または公衆ネットワークを介して、他のデータ処理システムあるいは遠隔のプリンタまたは記憶デバイスに繋がるようにすることができる。モデム、ケーブル・モデム、およびイーサネット(R)カードは、現在入手可能なネットワーク・アダプタのごく一部である。
【符号の説明】
【0077】
130〜139 DSCPバイト
210 パーサ
211 構文解析レジスタ
212 構文解析制御モジュール
220 配送バス
530 優先度標識値レジスタ
660 優先度値アグリゲータ
740 選定パターン・テーブル
741 第一選定パターン
742 第二選定パターン
750 品質テーブル
770 選定パターン制御ライン
図1
図2
図3
図4
図5
図6
図7