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