(57)【特許請求の範囲】
【請求項１】
複数のネットワーク・ノードを含むデータ・ネットワークにおいて、サービスの配備のためのノードの選択を規定するサービス割振り方針に従ってサービスを配備する方法であって、
前記ネットワーク・ノードを含む最下層と、１つまたは複数の漸進的に高くなる層であって各層において下位の層のノードのグループがそれぞれの論理ノードによって表されるところの層とを有するサービス配備階層を定義するステップと、
配備する前記サービスを指定するサービス配布コマンドを生成するステップと、
前記サービス配布コマンドを前記割振り方針と共に前記階層のより上位の層の論理ノードから前記階層のより下位の層または最下層のノードに供給し、前記割振り方針に従いサービスを配備するためのネットワーク・ノードを選択するステップと、
前記割振り方針に従って選択されたネットワーク・ノードに前記サービス配布コマンドで指定された前記サービスを自動的に導入するステップと
を含む方法。
【請求項２】
配備する前記サービスの要件を示すサービス請求を、前記階層のより上位の前記層の前記論理ノードから前記階層のより下位の層のネットワーク・ノードに供給するステップと、
前記サービス請求を各ネットワーク・ノードの機能と比較して、前記ノードが配備する前記サービスをサポートする能力を示すメトリクスを生成するステップと、
前記階層の上位の層のために集約されたメトリクスを生成するために前記メトリクスを集約し、連続した各層について前記集約することを繰り返すステップと、
より上位の前記層における集約された前記メトリクスに基づいて前記配布コマンドを生成するステップと
を含む、請求項１に記載の方法。
【請求項３】
前記選択されたノードのうちの１つまたは複数のノードを表す論理ノードにおいて情報を保持して、前記サービスの動的再配備を可能にするステップを含む、請求項１または２に記載の方法。
【請求項４】
前記集約ステップが、前記層のうちの１つまたは複数の層の異なるノード・グループのための異なる集約手続きを含む、請求項２に記載の方法。
【請求項５】
複数のノードを含み、請求項１ないし４のいずれか一項に記載のサービス配備方法を実行するように構成されたシステム。
【請求項６】
複数のネットワーク・ノードを含むデータ・ネットワークにおいて、サービスの配備のためのノードの選択を規定するサービス割振り方針に従ってサービスを配備する方法であって、
前記ネットワーク・ノードを含む最下層と、１つまたは複数の漸進的に高くなる層であって各層において下位の層のノードのグループがそれぞれの論理ノードによって表されるところの層とを有するサービス配備階層を定義するステップと、
配備する前記サービスを指定するサービス配布コマンドを生成するステップと、
前記サービス配布コマンドを前記割振り方針と共に前記階層のより上位の層の論理ノードから前記階層のより下位の層または最下層のノードに供給するステップと、
前記割振り方針に従って選択されたネットワーク・ノードに前記サービス配布コマンドで指定された前記サービスを自動的に導入するステップと
を含み、
配備する前記サービスの要件を示すサービス請求を、前記階層のより上位の前記層の前記論理ノードから前記階層のより下位の層のネットワーク・ノードに供給するステップと、
前記サービス請求を各ネットワーク・ノードの機能と比較して、前記ノードが配備する前記サービスをサポートする能力を示すメトリクスを生成するステップと、
前記階層の上位の層のために集約されたメトリクスを生成するために前記メトリクスを集約し、連続した各層について前記集約することを繰り返すステップと、
より上位の前記層における集約された前記メトリクスに基づいて前記配布コマンドを生成するステップと
を含む、方法。
【請求項７】
ネットワーク・システムのノードにロードされ、前記システムを請求項１ないし４、６のいずれか一項に記載の方法を実行するように構成するコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはデータ・ネットワークにおけるサービス配備に関し、詳細には複数のノードを含む異種データ・ネットワークにおけるサービス配備に関する。
【０００２】
【従来の技術】
データ・ネットワークにおいて一般的に配備されるサービスには、ネットワークのうちの選択されたノードが関与するルーティング・サービスと、ネットワーク全体にわたるエンド・ツー・エンドサービスとがある。ディフ・サーブ（ｄｉｆｆ−ｓｅｒｖ）方式は、データ・ネットワークで配備されるサービスの一例である。一般的なディフ・サーブ方式では、ネットワーク提供者が複数のレベルのネットワーク・サービスを提供し、各サービスに異なる料金が付随する。その場合、ネットワークのユーザは、ユーザが必要とするサービスのレベルに付随する料金を支払う。周知のディフ・サーブの一例では、ネットワーク・アクセスに割増料金を支払う顧客のデータ・トラフィックに対して、より低額のネットワーク・アクセス料金を支払う顧客のデータ・トラフィックより優先させるトランスポート優先権を与える。データ通信が成長し続けるにつれて、ネットワークがますます混雑するため、ディフ・サーブの需要が増えている。一般にはネットワーク提供者、特にインターネット・サービス提供者では、集客のためにディフ・サーブ・サービスを提供しようという要望がますます増大している。しかし、インターネットのような大規模データ・ネットワークで、ディフ・サーブや将来の他のサービスを配備する問題の好都合な解決策は現在のところまだない。
【０００３】
従来のデータ・ネットワークでは、サービスは手作業で配備される。これには一般に、新しいサービスを導入したいときに、ネットワーク内の各ノードで新しい構成コマンド・セットまたは更新プログラム・コード・セットを入力する必要がある。このような手動更新は、ネットワーク運営者にとって手間と時間がかかり、誤りを犯しやすい作業である。
【０００４】
多くの従来のデータ・ネットワークは、ネットワークを介したネットワーク内の各ノードへの接続を有する中央ネットワーク・マネージャを含む。ネットワーク・マネージャは一般に、ネットワークに接続された専用コンピュータを含む。このコンピュータは、特別なネットワーク管理ソフトウェアによってプログラムされている。このようなネットワーク管理ソフトウェアの例としては、ヒューレット・パッカードが販売するオープン・ビュー（Ｏｐｅｎ  Ｖｉｅｗ）ソフトウェア、チボリ・システムズが販売するネット・ビュー（Ｎｅｔ  Ｖｉｅｗ）ソフトウェア、シスコ・システムズが販売するシスコワークス（ＣｉｓｃｏＷｏｒｋｓ）などがある。通例、ネットワーク内の各ノードは、ネットワーク・マネージャと協調するエージェント・ソフトウェアを有する。ネットワーク・マネージャとエージェントとの双方向通信によって、管理されるネットワークに属するノードを、そのネットワーク管理プラットフォーム特有の方法で制御することが可能になる。しかし、このような制御は、被管理ネットワークにおけるサービスの配備にまでは及ばない。また、従来のネットワーク・マネージャとそのエージェントは、拡張可能ではない。要するに、従来のネットワーク管理システムは、大規模な異種ネットワーク全体にわたってサービスを配備するのに適していない。
【０００５】
プライベート・ネットワーク・ツー・ネットワーク・インタフェース（Private Network to Network Interface:ＰＮＮＩ）など、比較的最近に導入されたルーティング・プロトコルの中には、ネットワーク内の各ノードを手動で構成せずとも、ネットワーク内のエンド・ツー・エンド接続対応ＱｏＳ（Quality of Service）の自動設定がある程度まで可能なものもある。また、アクティブ・ネットワーク・エンカプスレーション・プロトコル（Active Network Encapsulation Protocol）などのプロトコルは、ネットワーク内を移動するパケットが、ネットワーク内で通過する各ノードにサービスをロードしたりロードを試みたりする、パケット方式の手法によりサービスを配備する。このパケット方式の手法が正常に動作するには、以下の条件に依存する。すなわち、
Ｉ）ネットワーク内の各ノードすべてが、ネットワークを移動するパケットにより搬送されるコードを実行することができるという意味でネットワークが同種であることと、
ＩＩ）ネットワーク内の各ノードが所望のサービスを実行することができることである。
【０００６】
実際には、これらの条件は必ずしも満たされない。コードの入手、コードの実行、またはサービスのサポートを行うことができないノードは、パケットを廃棄するか、または次のノードに転送する。これは明らかに望ましくない。パケット方式の手法の例の中には、構成コードをパケットには組み込まない例もある。その代わりに、ネットワークのノードは、中央コード・リポジトリまたは分散データベースに照会することによって、または必要なコードをすでにダウンロードしているノードに照会することによって、新しい構成プログラム・コードを入手するする必要がある。このような照会は、ネットワークに追加のトラフィック、遅延、複雑さを生じさせる。パケット方式の手法は、比較的多数のデータ・ネットワーキング・アプリケーションでのサービスの配備には適さない。たとえば、パケット方式の手法は、ホップごとのルーティングが行われるネットワークでのサービスの配備には適さない。そのようなネットワークでは、パケットの流れが常に同じノードを通過するという保証がないためである。インターネットは、ホップごとのルーティングが行われるネットワークの例である。
【０００７】
【発明が解決しようとする課題】
「Ｓｐａｗｉｎｇ  Ｎｅｔｗｏｒｋｓ」（ＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｍａｇａｚｉｎｅ１９９９年７／８月号）で、キャンベル（Ｃａｍｐｂｅｌｌ）等は、分散オブジェクト技法と中央プロファイル・データベースとに基づいて仮想ネットワーク・アーキテクチャを自動的に配備する高度な方法を提案している。「Ｖｉｒｔｕａｌ  Ａｃｔｉｖｅ  Ｎｅｔｗｏｒｋｓ  −  Ｓａｆｅ  ａｎｄ  Ｆｌｅｘｉｂｌｅ  Ｅｎｖｉｒｏｎｍｅｎｔｓ  ｆｏｒ  Ｃｕｓｔｏｍｅｒ−Ｍａｎａｇｅｄ  Ｓｅｒｖｉｃｅｓ」（１９９９年１０月スイス  チューリヒ開催の第１０回ＩＦＩＰ／ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍｓ（ＤＳＯＭ’９９）議事録）では、ブルンナー（Ｂｒｕｎｅｒ）等が、異なる仮想アクティブ・ネットワーク（ＶＡＮ）において配備されたサービスを分離する枠組みを開示している。しかし、ＶＡＮの構築には手動作業が残っている。アクティブ・ネットワークは一般に、前述のパケット方式配備手法を使用する。この手法は、予測可能な調整されたサービス配備が望ましい異種ネットワークでのサービス配備には適さない。異種ネットワークと、異種ネットワーク内の非アクティブ・ホップ間のリンクのための抽象化については、バルガバン（Ｂｈａｒｇｈａｖａｎ）等が「Ａ  Ｓｃａｌａｂｌｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ａｃｔｉｖｅ  Ｎｅｔｗｏｒｋｓ」（ＯＰＥＮＡＲＣＨ  ２０００、２０００年３月イスラエル  テルアビブ）で述べている。インターネット・プロトコル（ＩＰ）および非同期転送モード（ＡＴＭ）ネットワークでは、階層構造を使用してルーティング情報の収集と伝播を行う。ＩＰネットワークは、ルーティング情報を収集するに過ぎない。しかし、ＡＴＭ  ＰＮＮＩは、帯域幅および遅延特性も集約して、ＱｏＳルーティングを可能にする。「Ｔｒａｎｓｉｔｉｏｎ  Ｍａｔｒｉｘ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｃｏｍｐｌｅｘ  Ｎｏｄｅ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」（１９９９年５月日本  高知開催のＩＥＥＥ  ＡＴＭ  Ｗｏｒｋｓｈｏｐ議事録ｐ４８９〜５００）では、イリアディス等がネットワーク階層の下層のノードの特性を収集する複合ノード表現について記載している。「Ａｎ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｔｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｂａｓｅｄ  ｏｎ  ＳＮＭＰｖ２」（Ｓｍａｒｔｎｅｔ’９９  第５回ＩＦＩＰ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ｉｎ  Ｎｅｔｗｏｒｋｓ、１９９９年１１月タイ）では、シャオ等が、階層構造を使用して多数のノードと共にスケーリングする分散ネットワーク管理方式について記載している。比較的大規模な異種データ・ネットワーク全体に柔軟性のある方式でサービスを都合よく編成し、自動的に配備する問題のスケーラブルな解決策を提供することが望ましいであろう。
【０００８】
【課題を解決するための手段】
本発明によると、複数のネットワーク・ノードを含むデータ・ネットワークにおいて、サービスの配備のためのノードの選択を規定するサービス割振り方針に従ってサービスを配備する方法であって、ネットワーク・ノードを含む最下層と各層において前の層のノードのグループがそれぞれの論理ノードによって表された１または複数の漸進的に高くなっていく層とを有するサービス配備階層を規定するステップと、配備するサービスを指定するサービス配布コマンドを生成するステップと、階層のより上位の層の論理ノードから階層のより下位の各層のノードに、サービス配布コマンドを割振り方針と共に供給するステップと、割振り方針に従って選択されたネットワーク・ノードにサービス配布コマンドで指定されたサービスを自動的に導入するステップとを含む方法が提供される。
【０００９】
この方法は、階層のより上位の層の論理ノードから階層のより下位の層のネットワーク・ノードに、配備するサービスの要件を示すサービス請求を供給するステップと、サービス請求を各ネットワーク・ノードの機能と比較して、ノードが配備するサービスをサポートする能力を示すメトリクスを生成するステップと、メトリクスを集約して階層の次のレベルアップのために集約されたメトリクスを生成し、連続した層のために集約ステップを繰り返すステップと、上位層において集約されたメトリクスに基づいて配布コマンドを生成するステップとさらに含むことが好ましい。
【００１０】
本発明の好ましい実施形態では、この方法は、選択されたノードのうちの１つまたは複数のノードを表す論理ノードにおいて情報を維持してサービスの動的再配備を可能にするステップを含む。
【００１１】
集約ステップは、１または複数の階層における異なるノードグループのための異なる集約手続きを含むことが好ましい。
【００１２】
本発明を別の観点から見ると、複数のノードを含むネットワーク・システムであって、前記サービス配備方法を実行するように構成されたシステムが提供される。
【００１３】
本発明は、このようなネットワーク・システムのネットワーク・ノードにも及ぶ。さらに、本発明は、ネットワーク・システムのノードにロードして前記方法を実行するようにシステムを構成するコンピュータ・プログラム・コード手段を含むコンピュータ・プログラム要素にも及ぶ。
【００１４】
本発明は、データ・ネットワークにおいて、柔軟性を向上させ、顧客要求への応答時間を短縮した、サービスを都合よく編成し自動的に配備するという問題のスケーラブルな解決策を提供する。ネットワーク管理のこのタスクは、ネットワーク・マネージャからネットワークそれ自身に転送される。
【００１５】
本明細書で、本発明を使用する方法を参照しながら特徴について説明する場合、対応する特徴は本発明を使用する装置に応じて提供することができ、その逆も可能であることを理解されたい。
【００１６】
【発明の実施の形態】
まず図１を参照すると、本発明の好ましい実施形態では、プロセッサ２０と、入出力（Ｉ／Ｏ）ポート４０と、プロセッサ２０によって実行されるコンピュータ・プログラム・コード命令を記憶する第１の不揮発性メモリ６０と、ノード１０の動作パラメータを示す機能（ＣＡＰＳ）リストを記憶する第２の不揮発性メモリ５０とを含むプログラム可能ネットワーク・ノード１０が提供される。ＣＡＰＳリストの好ましい例については後で詳述する。プロセッサ２０、Ｉ／Ｏポート４０、第１のメモリ６０、および第２のメモリ５０はすべてバス・アーキテクチャ３０によって相互接続されている。本発明の特に好ましい実施形態では、プロセッサ２０はマイクロプロセッサを含む。高速動作のために、マイクロプロセッサは縮小命令セット（ＲＩＳＣ）アーキテクチャを有することが好ましい。適合するＲＩＳＣマイクロプロセッサの例としては、インテル・コーポレーションが販売するｉ９６０マイクロプロセッサと、インターナショナル・ビジネス・マシーンズ・コーポレーションが販売するＰｏｗｅｒＰＣマイクロプロセッサがある（ＰｏｗｅｒＰＣはインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である）。動作時、ノード１０は、１つまたは複数のＩ／Ｏポート４０を異なるノードまたは端点に接続して当該他のノードまたは端点との通信リンクを形成することによってネットワークに組み込まれる。Ｉ／Ｏポート４０の機能に応じて、通信リンクは、光ファイバ、銅線、および無線周波数や赤外線などのワイヤレス媒体を含む様々なネットワーク技法のうちの１つまたはそれらの組み合わせによって物理的に設けることができることを理解されたい。同様に、Ｉ／Ｏポート４０によって確立される通信リンクは、トークンリング、スロッテド・リング、イーサネット（Ｒ）、およびＡＴＭを含む複数の異なる物理層プロトコルのうちの１つまたは複数のプロトコルに従ってデータを伝達することができることを理解されたい。動作時、第１のメモリ６０に記憶されているプログラム・コードが、特定のルーティング機能に従ってＩ／Ｏポート４０のうちの異なるポート間でデータ・トラフィックを伝送するようにマイクロプロセッサを構成する。ネットワーク・ノード１０は、プログラム・コードによって、ルータ、スイッチ、ブリッジ、ブルータ、または同様のデータ・ネットワーク装置として機能するように構成することができる。本発明の実施形態によっては、ノードを構成するためのプログラム・コードは、ノードの製造時に第１のメモリ６０に事前プログラムしておくことができる。このような事前プログラムされたコードは、変更不能とすることができる。しかし、本発明の他の実施形態では、ネットワーク内の遠隔場所からＩ／Ｏポート４０を介して第１のメモリ６０に、更新、修正、および全く異なるコードをロードすることができる。第１のメモリ６０と第２のメモリ５０は、本発明のある実施形態では、単一の物理メモリの論理的に区分化された部分によって実施することができることを理解されたい。
【００１７】
本発明の好ましい実施形態では、第２のメモリ５０に記憶されたＣＡＰＳリストは、拡張マークアップ言語（ＸＭＬ）でコード化される。ＸＭＬによって、ＣＡＰＳリストに記録されるデータ項目を、そのデータ項目をネットワーク内の他のノードの特性に関連するデータ項目と組み合わせる規則と共に記述することができるので有利である。このようなＣＡＰＳリストの一例のＸＭＬリストを以下に示す。このＣＡＰＳリストには、ノードがサポートする様々な動作および構成アプリケーション・プログラミング・インタフェース（ＡＰＩ）を示す標識が含まれる。また、ＣＡＰＳリストには、たとえばプロセッサ速度やバッファ・サイズなど、ノードの多数の動作パラメータも含まれる。これらのデータ項目によって、新しいサービスをそのノード上に配備することができるか否かを判断することができる。
0003584978.tif 000002
0003584978.tif 000003
【００１８】
本発明のある実施形態では、第２のメモリ５０に記憶されるＣＡＰＳリストは固定している。しかし、本発明の他の実施形態では、第２のメモリ５０に記憶されるＣＡＰＳリストは、データ項目の追加または削除によって再プログラムまたはその他の方法で変更を加えることができる。この構成は、たとえば異なる組み合わせのＩ／Ｏポートを導入することができるネットワーク・ノードの場合に特に望ましい。次に図２を参照すると、本発明の特に好ましい実施形態では、ネットワーク７０にノード１１が接続されている。ノード１１は、本明細書で図１を参照しながら前述したノード１０と類似しているが、ノード１１ではＩ／Ｏポート４０がＩ／Ｏサブシステム４５に置き換えられている点が異なる。ネットワークにはＣＡＰＳリスト・ライブラリ・サーバ８０、ピココード・ライブラリ・サーバ１００、およびソフトウェア・プロトコル・ライブラリ・サーバ１１０も接続されている。ＣＡＰＳリスト・ライブラリ・サーバ８０には、ＣＡＰＳリストのライブラリ９０が記憶され、各ライブラリ９０はノード１１のための異なるポート・モジュールに対応する。ピココード・ライブラリ・サーバ１００には、プロセッサ２０を構成するためのコンピュータ・プログラム・コードのライブラリ１２０が記憶される。ソフトウェア・プロトコル・ライブラリ・サーバ１００には、Ｉ／Ｏサブシステム４５のポート間でデータをルーティングするときにプロセッサ２０によって実行されるソフトウェア・ルーティング・プロトコルのライブラリ１３０が記憶される。Ｉ／Ｏサブシステム４５は、複数の対応する交換可能プラグイン・ポート・モジュール４１、４２、および４３を受け入れる複数のスロットを含む。各ポート・モジュール４１、４２、４３は、固有の識別子を記憶する不揮発性レジスタ４６を含む。次に図２と図３とを共に参照すると、ステップ１４０で、ポート・モジュール４３がスロットの１つに挿入されると、プロセッサ２０が対応するレジスタ４６から固有識別子を読み取る。次に、ステップ１５０で、固有識別子がノード１１からライブラリ・サーバ８０に送られる。ステップ１６０で、ライブラリ・サーバ８０は、受け取った固有識別子に基づいてライブラリ９０からノード１１に付加されたポート・モジュール４３に対応するＣＡＰＳリストを取り出す。次にステップ１７０で、ライブラリ・サーバ８０はノード１１に取り出したＣＡＰＳリストを返す。ステップ１８０で、プロセッサ２０が付加されたポート・モジュール４３のＣＡＰＳリストを第２のメモリ５０に記憶されているノード１１のＣＡＰＳリストに追加する。同様のプロセスを行って、プロセッサ２０を構成するための更新されたプログラム・マイクロコードがピココード・ライブラリ・サーバ１００からノード１１に転送され、第１のメモリ６０に記憶される。同様に、もう一つの同様のプロセスを行って、プロセッサ２０が実行する新しいソフトウェア・ルーティング・プロトコルがソフトウェア・プロトコル・ライブラリ・サーバ１１０からノード１１に転送され、やはり第１のメモリ６０に記憶される。本発明のある実施態様では、ライブラリ・サーバ９０、１００、および１１０から対応するＣＡＰＳリスト、プロセッサ・プログラム・コード、およびソフトウェア・プロトコルのセット、またはこれらの任意の組み合わせを取り出すための固有識別子をノード１１自体に設けることができる。本発明のある実施形態では、ライブラリ・サーバ８０、１００、１１０はネットワーク７０に接続された単一のサーバ・コンピュータ・システムによって実施することもできることを理解されたい。
【００１９】
また、本発明の他の実施形態では、前記ライブラリ８０、１２０、１３０のうちの１つまたは複数のライブラリをノード１１に記憶することもできることを理解されたい。このような実施形態は、ノード１１に存在するメモリ空間をより多く必要とすることは明らかである。しかし、両方の固有識別子をネットワーク７０を介してライブラリ・サーバ８０、１００、１１０に送信することと、ＣＡＰＳリスト、プロトコル、およびプロセッサ・プログラム・コードをライブラリ・サーバ８０、１００、および１１０からノード１１に送信し戻すこととが回避され、それによってデータ・トラフィックの伝送のための制御トラフィックによって占有されることになるはずの帯域幅が開放される。
【００２０】
次に図４を参照すると、本発明の好ましい実施形態では、データ・ネットワークは、図１および図２を参照しながら前述したようなノード２２０を含む。データ・ネットワークのノード２２０は、サービス配備階層２１０に論理的に構成されている。サービス配備階層２１０は、データ・ネットワークのトポロジに基づく。しかし、サービス配備階層２１０は、ノードへの到達可能性とリンク状況を示すデータを配送しないことに留意されたい。したがって、サービス配備階層２１０は、プライベート・ネットワーク・インタフェース（ＰＮＮＩ）ルーティング階層などのルーティング階層とは異なる。サービス配備階層２１０は、同じサブネット２３０内のノード２２０をグループ化することによって形成される。次に、ノード２２０の１つをグループ・リーダーとして選択する。各グループ２３０は、階層の次の層で単一の論理グループ・ノード２４０として現れる。たとえば、階層２１０の最下層１８０では、サブネット２３０内のノード２２０が、中間層１９０における論理サブネット２６０の論理グループ・ノード２４０としてグループ化される。最上位層２００では、論理サブネット２６０の論理ノードが論理グループ・ノード２５０としてグループ化される。
【００２１】
次に図５を参照すると、サービス配備階層２１０のネットワーク・サービス配備方式の一例は、請求ステップ２７０と、集約ステップ２８０と、配布ステップ２９０と、導入ステップ３００と、公示ステップ３１０とを含む。
【００２２】
請求ステップ２７０では、ネットワーク上で配備するサービスの要件がネットワークの各ノード２２０にブロードキャストまたはマルチキャストされる。各ノード２２０は、配備するサービスの要件を、それぞれの第２のメモリ５０に記憶されているＣＡＰＳリストで規定されている機能と比較する。各ノード２２０は比較の結果をメトリクスの形で生成する。サービスの要件が事前にわかっている場合、または汎用書式がある場合、請求ステップは省くことができる。
【００２３】
集約ステップ２８０では、ノード２２０によって生成されたメトリクスが、最下層１８０から最上位層２００までサービス配備階層２１０を上に伝播していくにつれて集約される。集約ステップによって、サービス配備をスケーラブルにすることができる。メトリクスが最上層まで集約されると、ノード２５０はネットワークが当該サービスをサポートすることができるか否かを示す。
【００２４】
配布ステップ２９０では、サービス配備階層２１０内の各層１８０、１９０、２００でサービスをサポートするのに最も適したノードのみを選択することによってサービスの配備が行われる。この選択は、サービスの「サービス固有割振り方針（ＳＳＡＰ）」に基づいて行われる。配備要件はサービスによって異なる。たとえば、経路にあるすべてのホップでの配備を必要とするサービスがある。しかし、経路の両端部またはネットワークの選択されたノードのみで必要なサービスもある。サービスのＳＳＡＰによって、ネットワークにおいてサービスをどのように配備するかが規定される。
【００２５】
導入ステップ２３０では、サービスが対応するＳＳＡＰに従ってネットワークの最下層１８０のノード２２０に導入される。
【００２６】
公示ステップ３１０では、各ノード２２０が各ノードに導入されているサービスを公示し、同じサービスを公示している他のノード２２０の識別情報を動的に認識する。これによって、たとえばピアを自動構成するためのルーティング・プロトコルなどの制御サービスが可能になる。
【００２７】
次に請求ステップについて詳細に説明する。前述のように、このステップではネットワーク上で配備するサービスの要件がネットワークの各ノード２２０にブロードキャストまたはマルチキャストされる。本発明の好ましい実施形態では、サービスの要件はブロードキャストまたはマルチキャストのために、前述の例示のＣＡＰＳリストと同様の方式でＸＭＬなどのマークアップ言語でコード化される。要件は、必要なルーティング・プロトコル、バッファ・サイズや待ち行列数などの物理機能または論理機能、またはこれらの組み合わせと定義することができる。ネットワークのある部分は、省略された形態の請求ステップでよい。たとえば、ＳＳＡＰによって、その間にサービスを配備する両端部または両端点が定義されている場合、請求ステップでサービスの要件をその両端部または端点間の間のノードにのみマルチキャストすることができる。
【００２８】
サービスは以下の２つのカテゴリに分類することができる。すなわち、
事前にはわかっていないカスタム・メトリクスまたはカスタム集約規則のセットまたはその両方を必要とするもの。このようなメトリクスは、配備するサービスの要件と要件を受け取る各ノードのＣＡＰＳリストの内容との前述の比較から導き出される。
事前にわかっている汎用メトリクスまたは汎用集約規則のセットのみを必要とするものとである。
【００２９】
汎用メトリクスによっては、対応する汎用集約規則を介してネットワーク内でデフォルトにより公示することができるものもある。新しいサービスの配備でそのようなメトリクスを十分な頻度で使用する場合、デフォルトによりそれらのメトリクスを公示することによって請求ステップと集約ステップが余分になる。したがって、状況によってはこの２つのステップを省くことができる。これは、短時間で導入する必要のあるサービスの配備の場合に特に望ましい。カスタム・メトリクスのセットは、配備するサービスの要件と、それを受け取るノード２２０のＣＡＰＳリストの対応する項目との前述の比較の結果の値を有する。このセット内の値は、配備されるサービスをノードがサポートするか否かを単に示すだけの二進値とすることができる。一代替形態では、価値は、ノードがサービスをサポートできるコストを示すことが可能である。他の態様では、この値によって、配備されるサービスをノードがどの程度サポートすることができるかを示すことができる。図４を参照すると、ディフ・サーブ・サービスなどの特定のサービスをサポートすることができるノードが、請求ステップを実行した結果の一例として黒で図示されている。
【００３０】
次に、集約ステップについて詳述する。前述のように、サービス配備階層２１０では連続した層を上方にたどっていくため、スケーラビリティのためにはメトリクスのセットを集約することが望ましい。本発明の特に好ましい実施形態では、集約ステップは、ネットワーク内の変更を取り込むために、頻繁な間隔で、または事前定義されたイベント発生時、あるいはその両方で実行される。図６を参照すると、メトリクスのセットが従来のようにサービス配備階層２１０の連続した各層間の状態遷移マトリックスとして配置されている。たとえば、Ｍ１は層１９０の論理サブネット２６０の状態遷移マトリックスである。階層２１０内のサブネットの端部には、要素ｍｉ，，ｊが端部ｉとｊの間の最短経路上のホップ数と定義されるように番号が付けられ、この経路上の各ホップでディフ・サーブ・サービスなどの所望のサービスが提供される。マトリックスは対称なので、半分のみが示される。
【００３１】
次に、配布ステップ２９０について詳述する。配布ステップ２９０では、サービスの配備が対応するＳＳＡＰによって指示される。ＳＳＡＰには、たとえばノード２２０のうちのどのノードをサービス使用可能にする必要があるかを識別するトポロジ指向標識が含まれる。具体的には、配布ステップ２９０は、階層２１０内の最上位ノード２５０から出されたサービスを配備する配布コマンドから開始する。配布コマンドは対応するＳＳＡＰと共に階層２１０を下っていく。階層２１０内の各層で、グループ・リーダーは、この配布コマンドを、グループ全体にフラッディングするのではなく、サービスを配備する必要があるノードにのみ転送する。これによって、ネットワークの輻輳が最小限になるので有利である。本発明の特に好ましい実施形態では、グループ・リーダーは、配布コマンドを伝播させるように選択されていない限り、下層のノードには配布コマンドを伝播させない。サービスがアクティブ状態であるならば、サービスを配備するノード２２０はそのサービスを維持する。これによって、有意な変化があった場合にサービスを自動的に配備することができる。何が有意な変化であるかはＳＳＡＰによって定義される。ルーティング変更が発生したときにサービスの再配備を回避するために、配布コマンドの伝送中にヒューリスティックを使用して、サービスが１組の経路上に配備されるようにすることができる。このようなヒューリスティックもＳＳＡＰに含まれる。再び図４を参照すると、マトリックスＭ１，ｍ１，５は非ゼロであり、ネットワークが必要なサービスをサポートすることができることを示している。したがって、図６を参照すると、最下層が備える状態遷移マトリックスに基づいて、階層２１０内の各層で最短経路が選択されるようにして配布が行われる。次に、この経路上のノードは配布コマンドを階層２１０内の次の下層に転送し、物理ノード２２０がある最下層１８０に達するまで転送される。ここでサービスが各ノード２２０に個別に導入される。図６で、最短経路の両端部は各層で太線で示されており、各層のこの経路上のノードは黒く示されている。
【００３２】
請求ステップと配布ステップは、サービスを配布するネットワークに接続されたネットワーク・マネージャまたはエンド・ユーザ要求に応答したゲートウェイ、あるいはこの２つの組み合わせによって開始することができる。
【００３３】
次に、導入ステップについて詳述する。配布コマンドが階層２１０内の最下層１８０に達したときのノード２２０へのサービスの導入は、自動的に行われる。本発明の好ましい実施形態では、ノードをサービスを実行するように構成するためのコードが入ったリポジトリへのリンクが、配布コマンドに付随するＳＳＡＰに含まれている。あるいは、配備されるサービスに関連づけられた構成コードが比較的小さい場合、コードは配布コマンドに含めることができる。
【００３４】
次に、公示ステップについて詳述する。サービスが導入された後は、サービスは制御メッセージを交換する隣接ノードを見つけるか、または公示され、それによってデータ・パケットがサービス使用可能にされたノードを介してそれぞれの宛先に向けてルーティングされる。前者は、明示的アドレス信号方式を使用する。明示的アドレス指定の他の例としては、ルーティング更新メッセージがピア・ノードに対して明示的にアドレスされるほとんどのルーティング・プロトコルがある。後者は、暗黙的アドレス信号方式を使用する。暗黙的アドレス指定は、ノードは、同じサービスを稼働させてサービスを実行しているピア・ノードのアドレスを使用する必要がない。暗黙的アドレス指定の例は、インターネット技術標準化委員会（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ：ＩＥＴＦ）ディフ・サーブ（ｄｉｆｆ−ｓｅｒｖ）に見られるものなどの帯域内信号方式や、ＩＥＴＦ  ＲＳＶＰに見られるものなどの帯域外周波信号方式がある。図４および図６を参照しながら上述した本発明の好ましい実施形態では、ディフ・サーブ・サービスの配備が企図されていた。前述のように、このようなサービスは、暗黙的アドレス指定サービスの例である。公示ステップでは、このようなサービスが配備されるノードがそのサービスを公示する。この公示は再び集約され、配布される。ここでは、公示に付随する状態遷移マトリックスは、集約ステップで作成したものと同じである。これは、終端点間のディフ・サーブ・サービスのサポートする経路が１つしかないためである。集約された公示は、適切な経路を設けるルーティングと組み合わされる。サービス配備階層２１０とネットワークのルーティング階層とを整合させることにより、暗黙的アドレス指定サービスを配備する場合の公示ステップの実行が容易になることを理解されたい。
【００３５】
次に図７を参照しながら、本発明を使用するＡＴＭ−ＰＮＮＩネットワークの一例について説明し、上述のサービス配備階層をインターネット・プロトコル（ＩＰ）ルーティング・サービスの配備に適用する例を示す。このサービスは、明示的アドレス指定帯域外制御サービスである。このＡＴＭ−ＰＮＮＩネットワークは、ＩＰルータ・ノード３５０が接続された複数のＡＴＭスイッチ・ノード３６０を含む。サービス配備階層は、３つの層３２０、３３０、３４０を含む。層３３０は、論理ノード３９０、４００、４１０、４２０を有する。層３２０は、グループ４３０と４５０の間に論理グループ４４０を有する。ＩＰルーティング階層は、サービス配備階層およびＰＮＮＩ階層と一致している。Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ  （ＯＳＰＦ）サービスおよび境界ゲートウェイ・プロトコル（ＢＧＰ）サービスが適切な層に自動的に導入される。ＯＳＰＦの詳細は、ＩＥＴＦ  ＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１５８３に記載されている。この説明では、請求ステップおよび集約ステップは省く。配布ステップに重点を置いて説明すると、ＳＳＡＰはたとえばノード４１０をＯＳＰＦバックボーン領域として選択する。次に、各ＯＳＰＦ領域で、ルータ３５０が同じ領域内の他のルータ３５０と相互接続する。すべてのＯＳＰＦルータ３５０からの公示は、それぞれのグループに限定される。ただし、バックボーン領域の境界領域ルータはすべての領域で公示される。ＢＧＰサービスを実行するために選定されたルータ３５０は、最上位層３２０まで公示され、それによってグループ４３０および４５０とグループ４４０内のピアから見える。次に図８を参照すると、その結果のＩＰルーティング階層は、ＯＳＰＦ自律システムを含む。ＯＳＰＦ自律システムは４つのＯＳＰＦ領域４６０、４７０、４８０、および４９０を、２つのＢＧＰ通信ノード５１０および５２０にわたるＢＧＰ経路５００と共に含む。
【００３６】
図９を参照すると、本発明の他の例では、複数のサーバ５６０、５６５、および５７０と複数のルータ・ノード５８０、５９０、６００、および６１０を含むＩＰネットワークがある。このネットワークには明示的アドレス指定帯域内サービスが配備される。サービスの配備の結果、サーバ５６０および５７０はプロキシ・キャッシュを実行することになる。したがって、プロキシ・キャッシュ・サーバ５６０および５７０には、透過ＨＴＴＰクライアント（図示せず）が接続されている。プロキシ・キャッシュ５６０は透過なため、ＨＴＴＰクライアントはそのプロキシ・キャッシュ５６０および５７０のアドレスを使用して構成する必要がない。その代わりに、ルータ５８０、６００、および６１０が層４スイッチングを実行し、ＨＴＴＰ要求をプロキシ・キャッシュ・サーバ５６０に転送する。応答時間を向上させるために、２層のキャッシュを使用する。第１レベル・キャッシュ５６０には、ローカル・ユーザによって最も頻繁に要求されるページが入れられる。第２のレベル・キャッシュ５７０にはすべてのユーザによって最も頻繁に使用されるページが入れられる。この説明では、サービス配備の前にネットワークに十分なルーティングおよびアドレス指定機能がすでに備えられているものとする。請求ステップで、サービスをサポートするための特定の要件がノード５８０、５９０、６００、６１０、および６１５に送られる。ここでは、この要件には、直接接続されたサーバ５７０、５６５、および５６０上の最低限の処理能力および記憶域と、ルータ５８０、５９０。６００、６１０および６１５が層４スイッチングを実行できる能力が含まれる。バックボーン領域６２０を表す論理が、第２レベル・キャッシュ５７０に対応する要件と共に請求を受け取る。しかし、領域５５０、５４０、および５３０を表す論理ノードは、第１レベルキャッシュ５６０の要件を受け取る。その結果のメトリクスは、二進値とすることができ、サービス配備階層を上方に送られ、前述のように各論理グループごとに集約される。集約は、各ルータ５８０、５９０、６００、６１０、および６１５からの結果の論理ＯＲによって行われる。次に、メトリクスは前の結果の論理ＡＮＤによって再び集約される。ネットワーク全体を表す論理ノードは、これによって、所望のサービスを現行のネットワーク基盤上に配備することができるか否かが判断される。この例は、サービス配備階層の層によって異なるカスタム集約規則を示している。このシステムは、ユーザには透過である。したがって、ユーザはこのサービス配備からは公示を受け取らない。しかし、第１レベル・キャッシュ５６０はキャッシュ・ミスを第２レベル・キャッシュ５７０に転送する。したがって、第２レベル・キャッシュ５７０はそのアドレスの公示を生成する。これらの公示は、自律システム内に含まれ、ネットワーク全体にフラッディングされるのではなく、第１レベル・キャッシュ５６０にのみ送られる。
【００３７】
次に、本発明を仮想外部リンクを使用する本発明を仮想プライベート・ネットワーク（ＶＰＮ）に適用する例について、図１０を参照しながら説明する。前述の本発明のディフ・サーブの例は、トランシット・ネットワークにも適用可能である。したがって、仮想外部リンクは不要であった。ＶＰＮは一般に、同じネットワーク内のサブネット６４０、６５０、および６６０を相互接続する。ＶＰＮは通常、定義済みＱｏＳを、終端点における暗号化機能と共に必要とする。所望のＱｏＳが、ＩＥＴＦ  ＲＳＶＰなどのプロトコルによって信号送信される。この例では、ＶＰＮの終端点が設定されているものとする。図１０で、これらの終端点は、文字Ａ、Ｂ、およびＣで示されている。ＶＰＮが形成されたネットワークは、ＲＳＶＰ対応ルータ・ノード６６０とＲＳＶＰ非対応ルータ・ノード７００の両方を含む。請求ステップ中に、ＳＳＡＰはＶＰＮの所望の終端点のアドレスを組み込み、それによって集約ステップ中に適切な仮想外部リンク６７０および６８０を作成することができる。そうしなければ、サービス配備階層の上位層６９０は、終端点Ａ、Ｂ、およびＣをＲＳＶＰ対応ルータ６６０と相互接続することができるか否かを判断することができなくなる。サービス配備階層に対応する状態遷移マトリックスは、図４を参照しながら前述したディフ・サーブの例のものと同様である。マトリックスＭ１．．１およびＭ１．２から作成されたマトリックスＭ１において、ｍ２，０＝３であり、これは種端点ＡとＢの間のＶＰＮのコストである。同様に、終端点ＢとＣの間のＶＰＮのコストはｍ３，２＝４であり、終端点ＡとＣの間のコストはｍ３，０＝６である。次に、配布ステップは、全体的なコストが最小限になるように、終端点ＡとＢ、ＢとＣの間のＶＰＮの配備を選択することによって開始する。
【００３８】
要約すると、以上、本発明の例として、複数のネットワーク・ノードを含むデータ・ネットワークにおいてサービス割振り方針に従ってサービスを配備する方法について説明した。この割振り方針によって、サービスの配備のためのノードの選択が規定される。この方法は、ネットワーク・ノードを含む最下層と、各層において前の層のノードのグループがそれぞれの論理ノードによって表された１つまたは複数の漸進的に高くなる層とを有するサービス配備階層を定義するステップを含む。この方法は、配備するサービスを指定するサービス配布コマンドを生成するステップも含む。サービス配布コマンドは、割振り方針と共に、階層のより上位の層の論理ノードから階層のより下位の層または各下位層に供給される。サービス配布コマンドで指定されたサービスは、割振り方針に従って選択されたネットワーク・ノードに自動的に導入される。本発明の他の例として複数のノードを含むネットワーク・システムについても説明した。このシステムは、前記のサービス配備方法を実行するように構成されている。本発明の他の例として、このようなネットワーク・システムのネットワーク・ノードについても記載した。
【００３９】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４０】
（１）  複数のネットワーク・ノードを含むデータ・ネットワークにおいて、サービスの配備のためのノードの選択を規定するサービス割振り方針に従ってサービスを配備する方法であって、
前記ネットワーク・ノードを含む最下層と、１つまたは複数の漸進的に高くなる層であって各層において下位の層のノードのグループがそれぞれの論理ノードによって表されるところの層とを有するサービス配備階層を定義するステップと、
配備する前記サービスを指定するサービス配布コマンドを生成するステップと、
前記サービス配布コマンドを前記割振り方針と共に前記階層のより上位の層の論理ノードから前記階層のより下位の層または最下層のノードに供給し、前記割振り方針に従いサービスを配備するためのネットワーク・ノードを選択するステップと、
前記割振り方針に従って選択されたネットワーク・ノードに前記サービス配布コマンドで指定された前記サービスを自動的に導入するステップと
を含む方法。
（２）  配備する前記サービスの要件を示すサービス請求を、前記階層のより上位の前記層の前記論理ノードから前記階層のより下位の層のネットワーク・ノードに供給するステップと、
前記サービス請求を各ネットワーク・ノードの機能と比較して、前記ノードが配備する前記サービスをサポートする能力を示すメトリクスを生成するステップと、
前記階層の上位の層のために集約されたメトリクスを生成するために前記メトリクスを集約し、連続した各層について前記集約することを繰り返すステップと、
より上位の前記層における集約された前記メトリクスに基づいて前記配布コマンドを生成するステップと
を含む、（１）に記載の方法。
（３）  前記選択されたノードのうちの１つまたは複数のノードを表す論理ノードにおいて情報を保持して、前記サービスの動的再配備を可能にするステップを含む、（１）または（２）に記載の方法。
（４）  前記集約ステップが、前記層のうちの１つまたは複数の層の異なるノード・グループのための異なる集約手続きを含む、（２）に記載の方法。
（５）  複数のノードを含み、（１）ないし（４）のいずれか一に記載のサービス配備方法を実行するように構成されたシステム。
（６）  複数のネットワーク・ノードを含むデータ・ネットワークにおいて、サービスの配備のためのノードの選択を規定するサービス割振り方針に従ってサービスを配備する方法であって、
前記ネットワーク・ノードを含む最下層と、１つまたは複数の漸進的に高くなる層であって各層において下位の層のノードのグループがそれぞれの論理ノードによって表されるところの層とを有するサービス配備階層を定義するステップと、
配備する前記サービスを指定するサービス配布コマンドを生成するステップと、
前記サービス配布コマンドを前記割振り方針と共に前記階層のより上位の層の論理ノードから前記階層のより下位の層または最下層のノードに供給するステップと、
前記割振り方針に従って選択されたネットワーク・ノードに前記サービス配布コマンドで指定された前記サービスを自動的に導入するステップと
を含み、
配備する前記サービスの要件を示すサービス請求を、前記階層のより上位の前記層の前記論理ノードから前記階層のより下位の層のネットワーク・ノードに供給するステップと、
前記サービス請求を各ネットワーク・ノードの機能と比較して、前記ノードが配備する前記サービスをサポートする能力を示すメトリクスを生成するステップと、
前記階層の上位の層のために集約されたメトリクスを生成するために前記メトリクスを集約し、連続した各層について前記集約することを繰り返すステップと、
より上位の前記層における集約された前記メトリクスに基づいて前記配布コマンドを生成するステップと
を含む、方法。
（７）  ネットワーク・システムのノードにロードされ、前記システムを（１）ないし（４）、（６）のいずれか一に記載の方法を実行するように構成するコンピュータ・プログラム。
【図面の簡単な説明】
【図１】プログラム可能ネットワーク・ノードを示すブロック図である。
【図２】他のプログラム可能ネットワーク・ノードを示すブロック図である。
【図３】図２に示すプログラム可能ネットワーク・ノードの動作に関連するフローチャートである。
【図４】機能の集約を示すデータ・ネットワークのためのサービス配備階層の図である。
【図５】データ・ネットワークのためのサービス配備のフローチャートである。
【図６】サービス配布を示すデータ・ネットワークのためのサービス配備階層のブロック図である。
【図７】ＡＴＭネットワークのためのサービス配布階層のブロック図である。
【図８】図７に示すＡＴＭネットワークのためのＩＰルーティング階層を示すブロック図である。
【図９】他のＩＰルーティング階層を示すブロック図である。
【図１０】下層プライベート・ネットワークを示すブロック図である。
【符号の説明】
１０  プログラム可能ネットワーク・ノード
１１  ノード
２０  プロセッサ
４０  入出力ポート
４１  ポート・モジュール
４５  Ｉ／Ｏサブシステム
４６  不揮発性レジスタ
５０  第２の不揮発性メモリ
６０  第１の不揮発性メ
７０  ネットワーク
８０  ＣＡＰＳリスト・ライブラリ・サーバ
１００  ピコ・コード・ライブラリ・サーバ
１１０  ソフトウェア・プロトコル・ライブラリ・サーバ
３５０  ＩＰルータ・ノード
３６０  ＡＴＭスイッチ・ノード
３９０  論理ノード
【図１】
0003584978.tif 000004
【図２】
0003584978.tif 000005
【図３】
0003584978.tif 000006
【図４】
0003584978.tif 000007
【図５】
0003584978.tif 000008
【図６】
0003584978.tif 000009
【図７】
0003584978.tif 000010
【図８】
0003584978.tif 000011
【図９】
0003584978.tif 000012
【図１０】
0003584978.tif 000013