(57)【特許請求の範囲】
【請求項１】
プロセッサを備えたルーティング・ノードでデータパケットを受信するステップと、
データパケットに関する少なくとも一つの値を判断するステップと、
パケットに関する少なくとも一つの値に応答してルーティング・ノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択するステップであって、各ルーティング・テーブルが、それぞれ１つのコスト関数と関連することを特徴とする、選択するステップと、
選択されたルーティング・テーブルに応答してデータパケットを転送するステップと、
複数のルーティング・テーブルを単一のルーティング・テーブルに結合するステップであって、結合されたルーティング・テーブルはバリュー-to-ルートの関連付けを組み込むことを特徴とする、結合するステップと、
を有し、
前記複数のルーティング・テーブルから１つのルーティング・テーブルを選択するステップが、前記結合されたルーティング・テーブルを選択することを包含することを特徴とする方法。
【請求項２】
プロセッサを備えたルーティング・ノードでデータパケットを受信するステップが、第１のリンクからルーティング・ノードでデータパケットを受信することからなり、
データパケットの値に応答してデータパケットを転送するステップが、第２のリンクにデータパケットを転送することからなる
ことを特徴とする請求項１に記載の方法。
【請求項３】
データパケットの少なくとも一つの値を判断するステップが、データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップからなることを特徴とする請求項１に記載の方法。
【請求項４】
データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップが、データパケットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）コードポイント（ＤＳＣＰ）値を判断することからなることを特徴とする請求項３に記載の方法。
【請求項５】
データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップが、ポート番号値またはＩＤ、若しくは、ソース宛先ペア値の少なくとも一つを判断することからなる請求項３に記載の方法。
【請求項６】
ルーティング・ノードでデータパケットを受信し、
データパケットに関する少なくとも一つの値を判断し、
パケットに関する少なくとも一つの値に応答してルーティング・ノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択し、
各ルーティング・テーブルが、それぞれ１つのコスト関数と関連し、選択されるルーティング・テーブルに応答して、データパケットを転送する
ように構成される電子ハードウェア回路と、
複数のルーティング・テーブルを単一のルーティング・テーブルに結合するように構成される回路あって、結合されたルーティング・テーブルはバリュー-to-ルートの関連付けを組み込むことを特徴とする、回路と、
を有し、
前記複数のルーティング・テーブルから１つのルーティング・テーブルを選択することが、前記結合されたルーティング・テーブルを選択することを包含することを特徴とする装置。
【請求項７】
回路が、プロセッサ、メモリ、プログラム可能なロジック・デバイスまたはロジック・ゲートのうち少なくとも１つからなることを特徴とする請求項６に記載の装置。
【請求項８】
プロセッサから成るルーティング・ノードでデータパケットを受信する回路が、第１のリンクからルーティング・ノードでデータパケットを受信する回路からなり、
データパケットの値に応答してデータパケットを転送する回路が、データパケットを第２のリンクに転送する回路からなる、ことを特徴とする請求項６に記載の装置。
【請求項９】
データパケットの少なくとも一つの値を判断する回路が、データパケットのヘッダに位置決めされる少なくとも一つの値を判断する回路を含むことを特徴とする請求項６に記載の装置。
【請求項１０】
データパケットのヘッダに位置決めされる少なくとも一つの値を判断する回路が、データパケットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）コードポイント（ＤＳＣＰ）値を判断する回路を含むことを特徴とする請求項９に記載の装置。
【請求項１１】
データパケットのヘッダに位置決めされる少なくとも一つの値を判断する回路が、ポート番号値またはＩＤ、若しくは、ソース宛先ペア値のうちの少なくとも１つを判断するための回路からなることを特徴とする請求項９に記載の装置。
【請求項１２】
コンピュータ実行可能な命令を記憶する非一時的なコンピュータ可読媒体を有し、
該命令が、マシンによって
ルーティング・ノードでデータパケットを受信させ、
データパケットに関する少なくとも一つの値を判断させ、
パケットに関する少なくとも一つの値に応答してルーティング・ノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択し、
各ルーティング・テーブルがそれぞれ１つのコスト関数と関連し、選択されたルーティング・テーブルに応答して、データパケットを転送させ、
複数のルーティング・テーブルを単一のルーティング・テーブルに結合させ、
結合されたルーティング・テーブルはバリュー-to-ルートの関連付けを組み込むことを特徴とし、
前記複数のルーティング・テーブルから１つのルーティング・テーブルを選択させる命令が、前記結合されたルーティング・テーブルを選択することを包含する、
ことを特徴とする物品。
【請求項１３】
プロセッサを備えたルーティング・ノードでデータパケットをマシンが受信するようにさせる命令が、第１のリンクからルーティング・ノードでデータパケットをマシンが受信するようにさせる命令からなり、
マシンがデータパケットの値に応答してデータパケットを転送できるようにする命令が、第２のリンクにデータパケットをマシンが転送できるようにする命令からなる、
ことを特徴とする請求項１２に記載の物品。
【請求項１４】
データパケットの少なくとも一つの値をマシンによって、判断させるための命令が、データパケットのヘッダに位置決めされる少なくとも一つの値をマシンによって、判断させるための命令を含むことを特徴とする請求項１２に記載の物品。
【請求項１５】
データパケットのヘッダに位置決めされる少なくとも一つの値をマシンによって、判断させるための命令が、データパケットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）コードポイント（ＤＳＣＰ）値をマシンによって、判断させるための命令を含むことを特徴とする請求項１４に記載の物品。
【請求項１６】
データパケットのヘッダに位置決めされた少なくとも一つの値をマシンによって、判断させるための命令が、ポート番号値またはＩＤ、若しくは、ソース宛先ペア値の少なくとも１つをマシンによって、判断させるための命令からなることを特徴とする請求項１４に記載の物品。
【発明の詳細な説明】
【技術分野】
【０００１】
通信ネットワークは、複数のルータを包含する。ルータは、送信機と受信機の間に位置決めするサブネット境界に位置決めされる。
【背景技術】
【０００２】
ルータは、送信機から目的受信機まで生じているデータパケットを転送する。しばしば、通信ネットワークは送信機と受信機の間に複数の可能な経路を有するが、１本の単一の経路だけが送信機と受信機の間にデータを送るために選ばれる。
【発明の概要】
【課題を解決するための手段】
【０００３】
ある態様では、方法は、プロセッサを備えたルーティングノードでデータパケットを受信するステップを有する。方法は更に、データパケットに関する少なくとも一つの値を判断するステップと、パケットに関する少なくとも一つの値に応答してルーティング・ノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択するステップと、選択されたルーティング・テーブルに応答してデータパケットを転送するステップと、を有する。各ルーティング・テーブルが、それぞれ１つのコスト関数と関連する。
【０００４】
別の態様では、ルーティングノードは、ルーティングノードでデータパケットを受信し、データパケットに関する少なくとも一つの値を判断し、パケットに関する少なくとも一つの値に応答してルーティング・ノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択し、選択されるルーティング・テーブルに応答して、データパケットを転送するように構成される電子ハードウェア回路を有する。各ルーティング・テーブルが、それぞれ１つのコスト関数と関連する。
【０００５】
更に別の態様では、物品は、コンピュータ実行可能な命令を記憶する非一時的なコンピュータ可読媒体を有する。該命令が、マシンによって、ルーティングノードでデータパケットを受信させ、データパケットに関する少なくとも一つの値を判断させ、パケットに関する少なくとも一つの値に応答してルーティングノードに記憶される複数のルーティング・テーブルから１つのルーティング・テーブルを選択し、選択されたルーティング・テーブルに応答して、データパケットを転送させる。各ルーティング・テーブルがそれぞれ１つのコスト関数と関連する。
【０００６】
上記の１以上の態様では、プロセッサを備えたルーティングノードでデータパケットを受信するステップが、第１のリンクからルーティングノードでデータパケットを受信することからなり、データパケットの値に応答してデータパケットを転送するステップが、第２のリンクにデータパケットを転送することからなる。複数のルーティング・テーブルを結合されたテーブルに結合するステップを更に有し、関連をルーティングするように結合されたテーブルは値を組み込み、複数のルーティング・テーブルから１つのルーティング・テーブルを選択するステップが、結合されたテーブルを選択することからなることを特徴とする。データパケットの少なくとも一つの値を判断するステップが、データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップからなることを特徴とする。データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップが、データパケットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）コードポイント（ＤＳＣＰ）値を判断することからなることを特徴とする。データパケットのヘッダに位置決めされる少なくとも一つの値を判断するステップが、ポート番号値またはＩＤ、若しくは、ソース宛先ペア値の少なくとも一つを判断することからなることを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】図１は、通信ネットワークの例示のブロック線図である。
【図２】図２は、ルーティングノードのブロック線図である。
【図３】図３は、データパケットを進めるプロセスの例示のフローチャートである。
【図４】図４は、図３のプロセス上のコンピュータが実装できるブロック線図である。
【発明を実施するための形態】
【０００８】
ルーティングノードがデータパケットそのものに基づいてデータパケットを進めることを可能にするアプローチを本願明細書において、記載し、例えば、それは多数の可能な経路全体のトラフィック負荷を広げる付加的な利点を有する。本発明では、ルーティングノードは、（１つのルーティング・テーブルだけが使われる従来のルーティングに対する）それぞれのコスト関数に対応する各ルーティング・テーブルを有する複数のルーティング・テーブルを包含する。データパケットの価値に基づいて、データパケットがどこに送られるかについて決定するルーティング・テーブルが選択される。
【０００９】
図１を参照すると、通信ネットワーク１００は、ノード１０２ａ―１０２ｈ、ファイル転送プロトコル（ＦＴＰ）トランシーバ１０８ａ―１０８ｂ、および、音声トランシーバ１１０ａ―１１０ｂを包含する。ＦＴＰトランシーバ１０８ａおよび音声トランシーバ１１０ａは、ノード１０２ａに連結する。ノード１０２ａは、リンク１１８ａによって、ノード１０２ｂに連結して、リンク１１８ｂによって、ノード１０２ｃに連結する。ノード１０２ｂは、リンク１１８ｃによって、ノード１０２ｄに連結し、リンク１１８ｄによって、ノード１０２ｅに連結する。ノード１０２ｃは、リンク１１８ｆによって、ノード１０２ｄに連結し、リンク１１８ｅによって、ノード１０２ｅに連結する。ノード１０２ｄは、リンク１１８ｈによって、ノード１０２ｆに連結し、リンク１１８ｉによって、ノード１０２ｇに連結する。ノード１０２ｅは、リンク１１８ｇによって、ノード１０２ｆに連結して、リンク１１８ｊによって、ノード１０２ｈに連結する。ノード１０２ｆは、ＦＴＰトランシーバ１０８ｂおよび音声トランシーバ１１０ｂに連結する。１１８ａ、リンク―１１８ｊの各々は、有線のリンク、ファイバー光学のリンク、無線リンクまたは３つ（またはＩＰトラフィックを伝えることがありえる他のいかなる媒体）の組合せの１つでもよい。
【００１０】
図１において、気がつかれることがありえるように、データパケットが進行することがありえるノード１０２ａと１０２ｆの間に、多くの経路がある。従来のアプローチにおいて、パケットが音声データまたはＦＴＰデータであったかどうかにかかわらず、選択される単一の「最高」経路がある。しかしながら、本願明細書において、記載されるように、ルートはデータパケットの特性（配達必要性）に基づいて各データパケットに関し選択される。
【００１１】
図２を参照すると、それが実装されることができるかという１つの例示ので、ルーティングノード２００は、コスト関数２０２ａ―２０２Ｎ、ルーティングエンジン２１２、ルーティング・テーブル２１６ａ―２１６Ｎ、転送エンジン２０２ａ―２０２ｂおよび出口ポート２２６ａ―２２６ｂを包含する。各ルーティング・テーブル２１６ａ―２１６Ｎはコスト関数２０２ａ―２０２Ｎのそれぞれの一つに対応する（例えば、ルーティング・テーブル２１６ａはコスト関数２０２ａに対応し、ルーティング・テーブル２１６Ｎは、コスト関数２０２Ｎに対応する）。ある例では、ルーティングエンジン２１２は、各コスト関数２０２ａ―２０２Ｎに関し、ルーティング・テーブル２１６ａ―２１６Ｎを生成する。
例えば、一旦すべてのコスト関数が定められるならば、ルータはルーティング・テーブル２１６ａ―２１６Ｎを構築する。あらゆる与えられたコスト関数202a-202Nは、ネットワーク上に収容されるデータの特性のいずれか（それぞれ）に対応するそれぞれのために、ルーティングエンジン212は、各候補経路のコストメトリックを計算する。それから、データパケットの目的地に関し最善の経路（インタフェース）を選択することによって、ルーティング・エンジン２１２は、ルーティング・テーブルを構築する。すべてのルーティング・テーブルが構築されるまで、このプロセスは繰り返す。パケット中継を実行するために、利用可能な（例えば、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）Ｃｏｄｅ  Ｐｏｉｎｔ（ＤＳＣＰ）、ポート番号またはＩＤ、ソース宛先ペアなど）さまざまなパケット分類方式の１つを包含する方法によって、パケットに関し決定される値を用いて、ルーティング経路ド２００は、ルーティング・テーブルを最初に選択する。それから、ルーティングノード２００は、ルーティング・テーブルに基づいて、そして、終点アドレスにフォワーディング経路（インタフェースまたは出口ポート）を選択する。複数の経路が目標とされたアドレスに関し存在する場合、ルーティングノード２００は等しいコストまたは不等なコスト・ロード・バランシングをサポートする。ルーティングノード２００はそれらのルートの中のコストメトリックに関して均一に、または、比例してトラフィックを割り当てる。そして、メトリックが等価値である場合、それらに同等をする。
【００１２】
ルーティングエンジン２１２はトポロジを受信し、リンク状態は接続２４２ａ、２４２ｂによって、更新して、現在のネットワーク状況（例えば、ローディング、容量、遅延／レーテンシなど）に基づいてルーティング・テーブル２１６ａ―２１６Ｎを更新する。
他の例示において、コスト関数２０２ａ―２０２Ｎは、（任意に）ネットワーク管理の容易さに関し中央位置に記憶されることがありえ、ローカル記憶装置および使用に関しノード２００に提供されることがありえる。コスト関数は、特定のパラメータの重要性をもたらすために、ユーザによって、かくして提供される。他の例では、コスト関数はベースの少なくとも一つのバンド幅、ロード、遅延、信頼性および非常に前へパラメータでもよく、ユーザはコスト関数のこれらのパラメータを重くすることができる。しかしながら、異なるタイプのデータパケットは、１つの特定のコスト関数だけを用いた通信ネットワークで、効率的に機能することができない。例えば、１つは、移動アドホックネットワーク（ＭＡＮＥＴ）に関し、一般的なコスト関数を構築することがありえる：
【００１３】
【数１】
0005938139.tif 000002
【００１４】
それから、ユーザは、ルートを決められているパケットのトラフィック種類に応じて異なって、適用するＫ（これからは「ベクトル」として記載される）のセットを選択する。例えば、２つのトラフィック・ストリーム（すなわち、ＦＴＰおよび音声）を考慮する。
【００１５】
ＦＴＰトラフィックに関して、ユーザは、重量バンド幅および負荷に（2,0,1,1）のＦＴＰのＫ―ベクトルを設定する。かくして、
【００１６】
【数２】
0005938139.tif 000003
【００１７】
音声トラフィックに関して、Ｋ―ベクトルは、その遅延敏感さを重くするために（０,１,１,１）にセットされる。かくして、
【００１８】
【数３】
0005938139.tif 000004
【００１９】
これらの異なるトラフィック・タイプが異なるＫ―ベクトルを保証するので、１つのトラフィック・タイプのＫ値は他のトラフィック・タイプのパフォーマンスを損なう。後述するように更に本願明細書において、異なるタイプのデータパケットは、異なるコスト関数を用いたネットワークで、より効率的に機能できる。
【００２０】
リンク２５２ａ、２５２ｂは、転送エンジン２２２ａ、２２２ｂのそれぞれの一つに、データパケットを提供する。データパケットの一つ以上の値に基づく転送エンジン２２２ａ（２２２ｂ）は、使用する（すなわち、使用するのに適切なコスト関数）のに適切なルーティング・テーブルを決定して、適切な出口ポート２２６ａ、２２６ｂに、データパケットを提供する。出口ポート２２６ａ、２２６ｂは、それぞれのリンク２６２ａ、２６２ｂに、データパケットを提供する。
【００２１】
図３を参照すると、ルート・データパケットに対するプロセスの例示は、プロセス３００である。プロセス３００は、データパケット（３０２）を受信する。例えば、ルータ２００は、リンク２５２ａ、２５２ｂの１つから、パケットを受信する。
【００２２】
プロセス３００は、データパケット（３０８）から、値を決定する。例えば、転送エンジン２２２ａは、データパケットから値を決定する。ある例では、値は、データパケットのヘッダのトラフィック・クラスに対応する。１つの特例において、値は、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ（ＤｉｆｆＳｅｒｖ）コードポイント（ＤＳＣＰ）値である。６４（２６）値まで生成するパケット分類目的に関し、ＤｉｆｆＳｅｒｖは、ＩＰヘッダの６ビットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｆｉｅｌｄ（ＤＳフィールド）を使用する。かくして、６ビットのＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｆｉｅｌｄを用いた最高６４のルーティング・テーブルが、値としてあることができる。他の値は、ポート番号またはＩＤ、ソース宛先ペアなどを含むが、これに限定されるものではあることができる。
【００２３】
プロセス３００は、データパケット（３１４）から、値に基づいてルーティング・テーブルを選択する。例えば、転送エンジン２２２ａは、データパケットのＤＳＣＰ値に基づいてルーティング・テーブルを選択する。各ルートを決めているテーブルは１つのコスト関数に対応し、テーブルの各エントリは所与の（その特定のトラフィック・タイプに関する）終点アドレスに関し最善経路を記載する。いくつかの例において、利益が等しくある場合、所与の目的地に関しテーブルの複数の最善経路が存在できる。
【００２４】
プロセス３００は、データパケット（３２２）のヘッダから、終点アドレスを決定する。例えば、転送エンジン２２２ａは、データパケットのＩＰヘッダの終点アドレスを用いて、終点アドレスを決定する。
【００２５】
プロセス３００は、出口ポートを終点アドレス（３３０）に基づいて選択されたルーティング・テーブルから選択する。例えば、終点アドレスを選択されたルーティング・テーブルで調べることによって、転送エンジン２２２ａは、出口ポート２２６ａ、２２６ｂの１つを選択する。
【００２６】
プロセス３００は、選択された出口ポート（３３８）に、データパケットを送り届ける。例えば、転送エンジン２２２ａは、選択された出ることが運ぶデータパケットを進める。
【００２７】
図４を参照すると、１つの例では、ルーティング・ノード２００’は、プロセッサ４０２、揮発性メモリ４０４、不揮発性メモリ４０６（例えば、ハードディスク）およびユーザ・インタフェース（ＵＩ）４０８（例えば、グラフィカル・ユーザ・インタフェース、マウス、キーボード、表示、タッチスクリーンなど）を包含する。不揮発性メモリ４０６は、コンピュータ命令４１２、オペレーティングシステム４１６およびデータ４１８（例えばコスト関数４２２およびルーティング・テーブル４２８）を記憶する。ある例では、本願明細書（例えば、プロセス３００）において、記載されるプロセスの全部または一部を実行するために、コンピュータ命令４１２は、揮発性メモリ４０４からプロセッサ４０２により実行される。
【００２８】
本願明細書において、記載されるプロセス（例えば、プロセス３００）は、図４のハードウェアおよびソフトウェアでの利用に限られず、それらは、いかなるコンピューティングまたは処理環境の、そして、コンピュータプログラムを実行することで能力のある機械のいかなるタイプのも機械またはセットを有する適用性を見つけることができる。本願明細書において、記載されるプロセスは、ハードウェア、ソフトウェアまたは２つの組合せで実装されることができる。各々が（揮発性および不揮発性メモリおよび／またはストレージ・エレメントを包含する）プロセッサ、少なくとも一つの入力装置および一つ以上の出力デバイスによって、読み込み可能である製造のプロセッサ、非一時的な機械読み取り可読媒体または他の物品を包含するプログラム可能なコンピュータ／機械に実行されるコンピュータプログラムで、本願明細書において、記載されるプロセスを、実装できる。本願明細書において、記載されるプロセスのいずれかを実行して、出力情報を生成するために入力装置を用いて始まるデータに、プログラムコードは、適用できる。
【００２９】
システムは、コンピュータ・プログラム製品（例えば、非一時的な読み取り可能な記憶装置媒体（例えば、非一時的なコンピュータ可読媒体）を介して、少なくとも一部ではデータ処理装置（例えば、プログラマブルプロセッサ、コンピュータまたは複数のコンピュータ）演算を制御し、又は実行できる。残りのコンピュータによって、動作するシステムによって、働くために、各プログラムは、高レベル手順であるかオブジェクト指向プログラミング言語で実装されることができる。しかしながら、プログラムは、アセンブリ、機械言語またはハードウェア記述言語（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）において、実装されることができる。言語はコンパイルされ又は解釈された言語でもよく、いかなる様態も、スタンドアロン・プログラムとして、または、モジュールとして包含し、コンポーネント、サブルーチンまたは計算環境の使用に適している他のユニットにおいて、それを、配備できる。コンピュータプログラムは、１台のコンピュータに、または、１つのサイトの複数のコンピュータで実行され、または、多部位全体に割り当てられるように展開され、通信ネットワークによって、相互接続できる。非一時的な機械読み取り可読媒体が本願明細書において、記載されるプロセスを実行するためにコンピュータによって、読み込まれるとき、コンピュータを構成して、作動することに関し一般的又は特別な目的プログラム可能なコンピュータによって、読み込み可能である非一時的な機械読み取り可読媒体に、コンピュータプログラムを、記憶できる。例えば、（コンピュータプログラムにより構成される）非一時的な読み取り可能な記憶装置媒体として、本願明細書において、記載されるプロセスは実装され、実行に応じて、コンピュータによって、コンピュータプログラムの命令はプロセスに従って作動させられる。それ自体が一時的な信号を含まないハードディスク、コンパクトディスク、フラッシュ・メモリ、不揮発性メモリ、揮発性メモリ、磁気ディスケットその他を、非一時的な機械読み取り可読媒体は含むが、これに限定されるものではない。
【００３０】
本願明細書において、記載されるプロセスは、記載される具体例に限定されない。例えば、プロセス３００は、図３の特定の処理順序に限られない。むしろ、必要に応じて、上記に記載の結果を達成するために並列、または、直列に実行され、図３の処理ブロックのいずれかが、再び整理されることができ、結合することができ、またを、除去できる。
いくつかの例において、複数のルーティング・テーブルは、単一のルーティング・テーブルに結合されることができる。これらの例では、バリュー-to-ルートの関連付け、それによって、なされる適切な経路選択を可能に結合ルーティング・テーブルに（直接または間接的に）組み込まれる。
【００３１】
システムの関数を実行するために一つ以上のコンピュータプログラムを実行している一つ以上のプログラマブルプロセッサによって、システムを実装することと、関連した処理ブロック（例えば、プロセス３００）を、実行できる。システムの全部または一部は、特別な目的ロジック回路（例えば、ＦＰＧＡ、フィールド―プログラマブルゲートアレイ）および／またはＡＳＩＣ、特定用途向け集積回路として実装されることができる。電子装置（例えば、プロセッサの少なくとも１台、メモリ、プログラマブル論理装置またはロジック・ゲート）を包含する電子ハードウェア回路を用いて、システムの全部または一部を、実装できる。
【００３２】
本願明細書において、記載される異なる実施例のエレメントは、具体的には、上記に記載されていない様態その他の実施例と組み合わせることができる。本願明細書において、具体的には記載されない他の実施例は、以下の特許請求の範囲内でもある。
【図１】
0005938139.tif 000005
【図２】
0005938139.tif 000006
【図３】
0005938139.tif 000007
【図４】
0005938139.tif 000008