JP5285083B2 - 並行してトポロジを発見する方法および装置 - Google Patents

並行してトポロジを発見する方法および装置 Download PDF

Info

Publication number
JP5285083B2
JP5285083B2 JP2010536836A JP2010536836A JP5285083B2 JP 5285083 B2 JP5285083 B2 JP 5285083B2 JP 2010536836 A JP2010536836 A JP 2010536836A JP 2010536836 A JP2010536836 A JP 2010536836A JP 5285083 B2 JP5285083 B2 JP 5285083B2
Authority
JP
Japan
Prior art keywords
node
computer
connection
information
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010536836A
Other languages
English (en)
Other versions
JP2011505778A (ja
Inventor
ヴェルマ、ディネシュ
マーチン、ダニエル、ジョセフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011505778A publication Critical patent/JP2011505778A/ja
Application granted granted Critical
Publication of JP5285083B2 publication Critical patent/JP5285083B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

本開示の実施形態は、全般的に、コンピュータおよび類似技術の分野に関し、特に、この分野で利用されるソフトウェアに関する。さらに具体的には、本開示の実施形態は、ネットワークのトポロジを発見することに関する。
インターネットの発達は、近年におけるストリーミング映像、ストリーミング音声などといったアプリケーションの普及ならびにヴォイス・オーバー・インターネット・プロトコル(VOIP:voice over Internet protocol)トラフィックの大規模な集積と相まって、ネットワークの帯域幅および可用性への需要を高めてきた。こうした需要を満たすために、追加的なスイッチ、ブリッジ、およびハブが導入されているのであるが、その数は増える一方である。結果として、管理対象となるネットワーク・インフラ量が増加し続けることになる。ネットワーク要素の効果的な管理には、ネットワークのノード群とノード相互間の接続とを表現したものであるネットワーク・トポロジに関する、正確かつ最新の知識が必要になる。ネットワーク要素のトポロジに関する知識は、一般に、事後対応型および事前対応型資源管理、性能評価および最適化、フロー制御、イベント相関、およびサービス障害の根本的原因解析などといった多くのネットワーク管理タスクに不可欠なものである。ところが、ネットワークのサイズが大きくなるにつれて、ネットワーク・トポロジに関する情報を発見することがいっそう困難になる。
ネットワーク・トポロジを発見する手法として、ネットワーク内の各ノードならびにそのノードと他ノードとの接続に関する情報を収集しながらネットワーク要素のグラフ・トラバーサルを行う、発見エージェントを使用することが挙げられる。発見プロセスは、上記のエージェントが、ネットワーク内の一連の既知ノードを与えられることから始まる。例えばシンプル・ネットワーク管理プロトコル(SNMP:simple network management protocol)クエリなどのプローブを用いて、あるいはルーティング・テーブル情報を読み取ることによって、エージェントは、グラフの既知の部分から流れ出すリンクを発見する。エージェントは次に、そのリンクの反対側にあるノードを見つける。このプロセスは、リンクが一つも残らず探索されるまで続く。
上記の発見プロセスには、主要な性能指標が2つある。1つ目は、ネットワークを発見するのにかかる時間であり、2つ目は、ネットワーク・ノードへ送信されるプローブ・メッセージの数である。最も効率のよい発見プロセスであれば、プローブ・メッセージは1ノードにつき1つしか送信されないであろう。発見エージェントが1つの場合、ネットワークを発見するのにかかる時間とは、各プローブ・メッセージに対する応答時間を合計したものである。何千あるいは何万ものネットワーク・ノード群から成る大規模ネットワークでは、上述のようなグラフ・トラバーサルにかなりの時間が費やされる可能性がある。複数のエージェントが、並列にグラフを発見しトラバースするように並列に動作することが可能であれば、グラフ・トラバーサルを行うのに必要な時間を減らすことができる。一方で、そのように並列して発見することは、個別のノード1つ1つに向けて複数のプローブ・メッセージを送信するという結果になりかねない。このため、複数のノード発見エージェントが並列に機能することは、適切な調整が行われない限り、ネットワーク・トポロジの発見に費やされる時間を減らすという成果をもたらさない。
本発明は、並列に動作する複数のノード発見エージェントを用いたネットワーク・ノード発見マネージャによってネットワークのトポロジを発見する方法、システム、およびコンピュータ使用可能媒体を含むが、これらに限定されない。多様な実施形態において、ネットワーク・ノード発見マネージャは、ターゲット・ネットワーク内の既知ノード各々の一意のノード識別子を含んだNodeListを取得する。次に、ターゲット・ネットワークのトポロジを発見するべく並列に用いられるノード発見エージェントの数(「K」)が決められる。ノード発見エージェントについては、1つから既知ノードの総数に至るまで、任意の数のノード発見エージェントを選択することができる(すなわち、1≦K≦ノードの総数)。既知ノードおよび発見されたノードの双方に関するノード情報を保持するために、ネットワーク・ノードのGraphListがノード発見マネージャによって作成され、最初は、空に指定される。
既知ノード群を、ノード発見エージェントの数(「K」)と同数のノード・グループに分割するために、NodeList内の一意のノード識別子にハッシュ演算が施される。各ノード・グループに関連している生成ハッシュ値は、その後、NodeList内の対応する一意のノード識別子に付け加えられる。ノード・グループに関連しているハッシュ値は、次いでノード発見エージェント「M」にそれぞれ割り当てられる。このとき、1≦M≦Kである。ノード発見マネージャによって、GraphListのノード情報受け取りスレッドが開始され、続いてノード発見エージェント「M」各々のノード発見スレッドが開始される。次に、未処理のノード識別子エントリがNodeListからポップされ、対応するノード・グループ・ハッシュ値が特定される。そのノード・グループ・ハッシュ値に割り当てられているノード発見エージェント「M」がビジーである場合、利用可能なノード発見エージェント「M」に対応するノード識別子エントリがポップされるまで上記のプロセスが繰り返される。
ノード発見エージェント「M」は、その後、SNMPクエリなどのプローブ・メッセージを、ターゲットの既知ノードへ送信する。プローブにより、ターゲット・ノードは周辺ノードに接続されていると判断された場合、周辺ノードとの接続に関する情報が収集される。一実施形態では、接続は物理的接続である。別の実施形態では、接続は論理的である。さらに別の実施形態では、接続は物理的もしくは論理的接続の組み合わせであってもよい。収集されたノードおよび接続の情報が処理されて、発見された周辺ノードの一意のノード識別子が特定される。発見された周辺ノードの一意のノード識別子がNodeListに現在記載されていない場合には、それらの一意のノード識別子にハッシュ演算が施される。次に、結果として生じたグループ・ノード・ハッシュ値を用いて、発見された周辺ノードをノード・グループに割り当て、対応するノード発見エージェント「M」による処理を行う。ターゲット・ノードと発見された周辺ノードとの接続がGraphListに現在記載されていない場合には、これらの接続が追加される。このプロセスは、「K」個のノード発見エージェント「M」全てが、既知ノードおよび発見された周辺ノードに関する各自のノード発見動作を完了するまで、継続される。「K」個のノード発見エージェント「M」によって全てのノード情報が収集されてGraphListに記載されたら、ネットワーク・トポロジが生成される。上記のことに加え本発明の追加的な目的、特徴および利点が、以下に詳細に記載された説明の中で明らかとなるだろう。
以下の詳細な記載を添付の図面とともに考察すると、本発明の選ばれた実施形態について、および本発明の数々の目的、特徴および得られる利点について、理解することができる。
本発明を実装し得る例示的なクライアント・コンピュータを示す。 並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャの間略化されたブロック図である。 並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャの動作のフローチャートである。 並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャの動作のフローチャートである。 並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャの動作のフローチャートである。
並列に動作する複数のノード発見エージェントを用いたネットワーク・ノード発見マネージャによってネットワークのトポロジを発見する方法、システムおよびコンピュータ使用可能媒体が開示される。当業者には分かるように、本発明は、方法、システム、またはコンピュータ・プログラム製品として具現化することができる。従って、本発明の実施形態は、完全にハードウェアによって、または完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)によって、あるいはソフトウェアおよびハードウェアを組み合わせた実施形態によって、実現することができる。こうした多様な実施形態は全て、本明細書において一般的に「回路」、「モジュール」または「システム」と称される場合もある。それに加え、本発明は、媒体に組み込まれたコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能ストレージ媒体上のコンピュータ・プログラム製品の形をとることもある。
任意の適切なコンピュータ使用可能またはコンピュータ可読媒体を利用することができる。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、電子、磁気、光、電磁気、赤外線、または半導体のシステム、装置、デバイスあるいは伝搬媒体とすればよいが、これらに限定されない。コンピュータ可読媒体のさらに具体的な例(非網羅的なリスト)としては、以下を挙げることができるであろう:1つ以上のワイヤを有する電気的接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM:erasable programmable read−only memoryまたはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光ストレージ・デバイス、インターネットまたはイントラネットをサポートしている媒体などの伝送媒体、あるいは磁気ストレージ・デバイス。プログラムは、例えば紙またはその他の媒体の光学式走査などを介して電子的に取り込み、その後必要に応じてコンパイル、解釈、あるいは他の適切な方法で処理してからコンピュータ・メモリに保存することができるため、コンピュータ使用可能またはコンピュータ可読媒体が、プログラムが書き込まれた紙またはその他の適切な媒体である可能性すらあることに留意されたい。本文書の文脈において、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによってあるいはこれらに関連して使用されるように、上記のプログラムを収容、保存、通信、伝搬あるいは搬送することのできる任意の媒体とすればよい。コンピュータ使用可能媒体には、組み込まれたコンピュータ使用可能プログラム・コードを備えてベースバンドであるいは搬送波の一部として伝搬されるデータ信号を含めることもできる。コンピュータ使用可能プログラム・コードは、例えばインターネット、ワイヤライン、光ファイバ・ケーブル、無線周波数(RF:radio frequency)などを含むがこれらに限定されない任意の適切な媒体を用いて、伝送されるとよい。
本発明の動作を実行するコンピュータ・プログラム・コードは、Java(R)、Smalltalk、C++などの、オブジェクト指向プログラミング言語で書かれているとよい。一方、本発明の動作を実行するコンピュータ・プログラム・コードは同様に、「C」プログラミング言語または類似のプログラミング言語など、従来の手続き型プログラミング言語で書かれていてもよい。プログラム・コードは、全面的にユーザのコンピュータ上で実行されてもよいし、自立型ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されてもよいし、部分的にユーザのコンピュータ上で実行され、さらに部分的にリモート・コンピュータ上で実行されてもよいし、あるいは全面的にリモート・コンピュータまたはサーバ上で実行されてもよい。後の方のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN:local area network)またはワイド・エリア・ネットワーク(WAN:wide area network)を介してユーザのコンピュータに接続されていてもよいし、あるいはこの接続が、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを使いインターネットを介して)設けられてもよい。
以下、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート説明図またはブロック図あるいはその両方を参照して、本発明の実施形態を説明する。当然のことながら、フローチャート説明図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート説明図またはブロック図あるいはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実現することができる。こうしたコンピュータ・プログラム命令は、汎用コンピュータ、特殊用途コンピュータ、またはその他のプログラム可能なデータ処理装置のプロセッサへ提供されてマシンを形成するとよく、それにより、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方の単数または複数のブロックに明示されている機能/作用を実現する手段をもたらすようになる。
上記のコンピュータ・プログラム命令はさらに、コンピュータまたは他のプログラム可能なデータ処理装置を特定の形で機能するように仕向けることが可能なコンピュータ可読メモリに保存されてもよく、それにより、コンピュータ可読メモリに保存された命令が、フローチャートまたはブロック図あるいはその両方の単数または複数のブロックに明示されている機能/作用を実現する命令手段を備えた製品を形成するようになる。
コンピュータ・プログラム命令はさらに、コンピュータまたは他のプログラム可能なデータ処理装置上にロードされて、コンピュータまたは他のプログラム可能な装置上における一連の動作ステップの実施をもたらし、コンピュータ実装されたプロセスを形成してもよく、それにより、コンピュータまたは他のプログラム可能な装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方の単数または複数のブロックに明示されている機能/作用を実現するステップ群を提供するようになる。
図1は、本発明が利用され得る例示的なクライアント・コンピュータ102のブロック図である。クライアント・コンピュータ102は、システム・バス106に結合されたプロセッサ・ユニット104を含む。ディスプレイ110を制御する映像アダプタ108も、同様にシステム・バス106に結合されている。システム・バス106は、バス・ブリッジ112を介して、入力/出力(I/O:Input/Output)バス114に結合されている。I/Oインターフェース116が、I/Oバス114に結合されている。I/Oインターフェース116は、キーボード118、マウス120、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)ドライブ122、フレキシブル・ディスク・ドライブ124、およびフラッシュ・ドライブ・メモリ126などの多様なI/Oデバイスに対する通信を提供する。I/Oインターフェース116に接続されているポートの形式は、コンピュータ・アーキテクチャ技術の当業者に周知の任意のものとすればよく、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)ポートなどが挙げられるが、これに限定されない。
クライアント・コンピュータ102は、システム・バス106に結合されているネットワーク・インターフェース130を用いネットワーク128を介して、サービス・プロバイダ・サーバ152と通信することができる。ネットワーク128は、インターネットなどの外部ネットワークとしてもよいし、あるいは、Ethernet(R)ネットワークまたは仮想プライベート・ネットワーク(VPN:Virtual Private Network)などの内部ネットワークとしてもよい。ネットワーク128を使うことで、クライアント・コンピュータ102は、本発明を用いてサービス・プロバイダ・サーバ152にアクセスすることができる。
ハード・ドライブ・インターフェース132がさらに、システム・バス106に結合されている。ハード・ドライブ・インターフェース132は、ハード・ドライブ134のインターフェースとなる。好適な一実施形態では、ハード・ドライブ134は、同様にシステム・バス106に結合されているシステム・メモリ136にポピュレートする。システム・メモリ136にポピュレートするデータとしては、クライアント・コンピュータ102のオペレーティング・システム(OS:Operating System)138およびソフトウェア・プログラム144がある。
OS138は、ソフトウェア・プログラム144などの資源に対する透過的なユーザ・アクセスを提供するシェル140を含む。一般に、シェル140は、ユーザとオペレーティング・システムとの間にインタープリタおよびインターフェースを提供するプログラムである。さらに具体的に言えば、シェル140は、コマンド・ライン・ユーザ・インターフェースに入力されたあるいはファイルから得られたコマンドを、実行する。故にシェル140(UNIX(R)においてこのように呼ばれる)は、Windows(R)ではコマンド・プロセッサとも呼ばれており、一般に、オペレーティング・システムのソフトウェア階層の最上位レベルであって、コマンド・インタープリタとして機能する。シェルは、システム・プロンプトを提供し、キーボード、マウスまたは他のユーザ入力媒体により入力されたコマンドを解釈し、さらに、解釈されたコマンド(単数または複数)を、処理に向けてオペレーティング・システムの適切な下位レベル(例えば、カーネル142)へ送信する。シェル140は一般に、テキスト・ベースのライン指向のユーザ・インターフェースであるが、一方で本発明は、例えばグラフィカル、音声、ジェスチャなどその他のユーザ・インターフェース・モードをサポートすることもできる。
図に示すように、OS138はさらに、OS138の下位レベルの機能を備えたカーネル142を含む。下位レベルの機能には、OS138の他の部分およびソフトウェア・プログラム144によって要求される基本的なサービスが含まれ、例えば、メモリ管理、プロセスおよびタスク管理、ディスク管理、ならびにマウスおよびキーボード管理などが挙げられる。
ソフトウェア・プログラム144は、ブラウザ146と電子メール・クライアント148とを含むとよい。ブラウザ146は、ワールド・ワイド・ウェブ(WWW:World Wide Web)クライアント(すなわち、クライアント・コンピュータ102)がハイパーテキスト転送プロトコル(HTTP:HyperText Transfer Protocol)メッセージングを用いてインターネットに対しネットワーク・メッセージを送受信できるようにするプログラム・モジュールおよび命令を含み、それによりサービス・プロバイダ・サーバ152との通信を可能にしている。ソフトウェア・プログラム144は、さらに、ノード発見マネージャ150と、1つ以上のノード発見エージェント152とを含む。ノード発見マネージャ150および1つ以上のノード発見エージェント152は、本明細書で下記に示す図2乃至5に記載されるプロセスを実現するコードを含む。一実施形態では、クライアント・コンピュータ102は、ノード発見マネージャ150および1つ以上のノード発見エージェント152を、サービス・プロバイダ・サーバ152からダウンロードすることができる。
クライアント・コンピュータ102に図示するハードウェア要素は、網羅的であることを意図したものではなく、むしろ、本発明によって使用されるコンポーネントを強調するための代表例である。例えば、クライアント・コンピュータ102には、磁気カセット、デジタル多用途ディスク(DVD:Digital Versatile Disk)、ベルヌーイ・カートリッジなどといった、別のメモリ・ストレージ・デバイスを含めてもよい。これらおよびその他の変形例は、本発明の精神および範囲のうちにあるものとされる。
図2は、並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャの間略化されたブロック図である。多様な実施形態において、ネットワーク管理ホスト202には、ネットワーク・ノード発見マネージャ150と1つ以上のネットワーク・ノード発見エージェント152とが含まれる。ネットワーク・ノード発見動作は、ネットワーク・ノード発見マネージャ150が、ターゲット・ネットワーク208の既知のネットワーク・ノードに関するノード情報を含んだNodeList204を取得することで始まる。NodeList204に含まれているノード情報には、ネットワーク208の各既知ノード「A」210、「B」212、「C」214および「D」216の、一意のノード識別子が含まれる。
ターゲット・ネットワーク208のトポロジ発見に使用されるノード発見エージェント152の数(「K」)が、ノード発見マネージャ150によって決められる。1つのノード発見エージェントから既知ノードの総数に至るまで、任意の数のノード発見エージェントを選択することができる(すなわち、1≦K≦ノードの総数)。当然のことながら、1つのノード発見エージェントでは、何千ものノードを含むネットワークのトポロジを発見するには不適当な場合がある。反対に、何千ものノードの各々について別個のノード発見エージェントを用いれば、恐らく、ネットワーク管理ホスト202に過度の処理オーバーヘッドを課すことになるであろう。既知ノードおよび発見されたノードの双方に関するノード情報を保持するために、ネットワーク・ノードのGraphList206がノード発見マネージャ150によって作成され、最初は、空に指定される。
既知ノード「A」210、「B」212、「C」214および「D」216を、ノード発見エージェント152の数(「K」)と同数のノード・グループに分割するために、NodeList204内の一意のノード識別子にハッシュ演算が施される。例として、既知ノード「A」210および「B」212の一意のノード識別子に施されるハッシュ演算は、ノード・グループ「1」222に割り当てられたグループ・ハッシュ値を生じさせる。同様に、既知ノード「C」214および「D」216の一意のノード識別子に施されるハッシュ演算は、ノード・グループ「2」224に割り当てられたノード・グループ・ハッシュ値を生じさせる。ノード・グループ「1」222および「2」224に関連している生成ハッシュ値は、その後、NodeList204内の対応する一意のノード識別子に付け加えられる。ノード・グループ「1」222および「2」224に関連しているハッシュ値は、次に、ノード発見エージェント「M」152にそれぞれ割り当てられる。このとき、1≦M≦Kである。ノード・グループ・ハッシュ値が各ノード発見エージェント「M」152にそれぞれ割り当てられたら、ネットワーク・ノード発見マネージャ150によって、「K」個のノード発見エージェント152の並列動作が開始される。ノード発見マネージャ150は、GraphList206のノード情報受け取りスレッドを開始し、続いてノード発見エージェント「M」152各々のノード発見スレッドを開始する。
その後、未処理のノード識別子がNodeList204からポップされ、対応するノード・グループ・ハッシュ値が特定される。当該ノード・グループ・ハッシュ値に割り当てられているノード発見エージェント「M」152がビジーであると判断された場合には、ビジーでないノード発見エージェント「M」152に対応するノード識別子エントリがポップされるまで、上記のプロセスが繰り返される。ビジーでないノード発見エージェント「M」152に対応するノード・グループ・ハッシュ値を有するノード識別子エントリがポップされたら、ターゲットの既知ノード「A」210、「B」212、「C」214、「D」216を、処理に向けて、そのノード識別子エントリの対応するノード発見エージェント「M」152に割り当てる。その後、ノード発見エージェント「M」152は、SNMPクエリおよび当業者にはよく知られたその他の方式といったプローブ・メッセージを、ターゲットの既知ノード「A」210、「B」212、「C」214および「D」216へ送信する。
次に、既知のターゲット・ノード「A」210、「B」212、「C」214および「D」216が1つ以上の未知の周辺ノード「E」218、「F」220に接続されているかどうかの判断が下される。ターゲット・ノード「A」210、「B」212、「C」214、「D」216が周辺ノード「E」218、「F」220に接続されていると判断された場合、プローブは、ターゲット・ノード「A」210、「B」212、「C」214、「D」216から、周辺ノード「E」218、「F」220との接続に関する情報を含んだノード情報を収集する。一実施形態では、接続は物理的接続である。別の実施形態では、接続は論理的である。さらに別の実施形態では、接続は物理的もしくは論理的接続の組み合わせであってもよい。収集されたノード情報が処理されて、発見された周辺ノード「E」218および「F」220の一意のノード識別子が特定される。
一例として、ノード・グループ「2」224に割り当てられたノード発見エージェント「M」152が、周辺ノードとの接続に関して既知ノード「D」216を調べる。収集されたノード情報は、既知ノード「D」216が既知ノード「A」210、「B」212、「C」214のほか、未知の、すなわち発見されたノード「E」218および「F」220に接続されていることを示している。そこで、発見された周辺ノード「E」218および「F」220の一意のノード識別子がNodeList204に現在記載されているかどうかの判断が下される。記載されていない場合、発見された周辺ノードそれぞれの一意のノード識別子に、本明細書にて詳述されるハッシュ演算が施されてハッシュ値が生成され、このハッシュ値を用いることで、発見された周辺ノード「E」218および「F」220を、処理に向けて、指定されているノード発見エージェント「M」152へ割り当てることができる。一例として、発見された周辺ノード「E」218のハッシュ値は、この周辺ノードがノード・グループ「1」222に割り当てられること226を示す。同様に、発見された周辺ノード「F」220のハッシュ値は、この周辺ノードがノード・グループ「2」224に割り当てられること228を示す。その後、ターゲット・ノード「A」210、「B」212、「C」214、「D」216と、発見された周辺ノード「E」218、「F」220との1つ以上の接続が、GraphList206に記載されているかどうかの判断が下される。記載されていない場合、これらの接続がGraphList206に追加される。上記のプロセスは、「K」個のノード発見エージェント「M」152全てが、既知ノード「A」210、「B」212、「C」214、「D」216ならびに発見された周辺ノード「E」218、「F」220に関する各自のノード発見動作を完了するまで、継続される。全てのノード情報がGraphList206に記載されたら、ネットワーク・トポロジが生成され、ネットワーク・ノード発見動作は終了する。
図3乃至5は、並列に動作するネットワーク・ノード発見エージェントを用いてネットワークのトポロジを発見するネットワーク・ノード発見マネージャのフローチャートである。本発明の一実施形態では、ステップ302にて、ネットワーク・ノード発見動作が始まる。ステップ304にて、ネットワーク・ノード発見マネージャがターゲット・ネットワークに関する情報を取得し、この情報には、当該ネットワーク内の既知ノード各々の一意のノード識別子が含まれている。次にステップ306にて、ターゲット・ネットワークのトポロジ発見に用いられるノード発見エージェントの数(「K」)が、ノード発見マネージャによって決められる。例えば、1つのノード発見エージェントから既知ノードの総数に至るまで、任意の数のノード発見エージェントを選択することができる(すなわち、1≦K≦ノードの総数)。当然のことながら、1つのノード発見エージェントでは、何千ものノードを含むネットワークのトポロジを発見するには不十分な場合がある。反対に、何千ものノード各々について個別のノード発見エージェントを用いれば、恐らく、ネットワーク管理サーバに過度の処理オーバーヘッドを課すことになるであろう。
次にステップ308にて、ノード発見マネージャは、既知ノードの最初のセットを、関連している一意のノード識別子とともに、NodeListに割り当てる。ステップ310にて、既知ノードおよび発見されたノードの双方に関するノード情報を保持することになるGraphListが、ノード発見マネージャによって作成され、最初は、空に指定される。その後ステップ312にて、既知ノード群をノード発見エージェントの数(「K」)と同数のノード・グループに分割するために、NodeList内の一意のノード識別子にハッシュ演算が施される。次いでステップ314にて、生成ハッシュ値の各々が、NodeListにおいて一意のノード識別子にそれぞれ関連付けられる。各ノード・グループに関連しているハッシュ値は、その後ステップ316にて、ノード発見エージェント「M」に割り当てられるが、この場合に、1≦M≦Kである。グループ・ハッシュ値が各ノード発見エージェント「M」に割り当てられたら、ステップ318にて、「K」個のノード発見エージェントの並列動作が開始される。ノード発見マネージャによって、ステップ320にて、GraphListのノード情報受け取りスレッドが開始され、続いてステップ322にて、ノード発見エージェント「M」各々のノード発見スレッドが開始される。
その後ステップ324にて、NodeListにある全てのエントリが処理済みであるかどうかの判断が下される。全てのエントリが処理済みであれば、ステップ326にて、「K」個のノード発見エージェント全てがトポロジ発見動作を完了したかどうかの判断が下される。全てのエントリが処理済みでなければ、ステップ328にて、未処理のノード識別子がNodeListからポップされて、対応するノード・グループ・ハッシュ値が特定される。その後ステップ330にて、当該ノード・グループ・ハッシュ値に割り当てられているノード発見エージェント「M」がビジーであるかどうかの判断が下される。ビジーである場合には、ビジーでないノード発見エージェント「M」に対応するノード識別子エントリがポップされるまで、上記のプロセスをステップ328から始めて繰り返す。ポップされたノード識別子エントリが、ビジーでないノード発見エージェント「M」に対応するノード・グループ・ハッシュ値を有することがステップ330にて判断されたら、ターゲット・ノードを、処理に向けてノード発見エージェント「M」に割り当てる。その後ステップ334にて、ノード発見エージェント「M」が、SNMPクエリおよび当業者にはよく知られたその他の方式といったプローブ・メッセージを、ターゲット・ノードへ送信する。
次にステップ336にて、ターゲット・ノードが1つ以上の周辺ノードに接続されているかどうかの判断が下される。ステップ336にて当該ノードはネットワークの端点であると判断された場合、あるいは当該ノードは他のいずれのノードにも接続されていないと判断された場合には、そのノード識別子は、ステップ364にて、処理済みノードとしてNodeList内でマークされる。その後、上記のプロセスを、NodeListにある全エントリが処理済みであるかどうかの判断が下されるステップ324から始めて繰り返す。一方、ステップ336にてターゲット・ノードは周辺ノードに接続されていると判断された場合、プローブは、当該ノードから、周辺ノードとの接続に関する情報を含んだノード情報を収集する。一実施形態では、接続は物理的接続である。別の実施形態では、接続は論理的である。さらに別の実施形態では、接続は物理的もしくは論理的接続の組み合わせであってもよい。次にステップ340にて、収集されたノード情報がNodeConnectionリストに変換され、次いでこのNodeConnectionリストが、ノード発見マネージャへ戻される。
次にステップ342にて、NodeConnectionリストにある全てのノード接続エントリが処理済みであるかどうかの判断が下される。ステップ342にて全てのノード接続エントリが処理済みではないと判断されたら、ステップ344にて、周辺ノード・エントリがポップされて、その一意のノード識別子がステップ344にて特定される。次にステップ346にて、上記の一意のノード識別子がNodeListに現在記載されているかどうかの判断が下される。記載されている場合には、その後ステップ348にて、その周辺ノードが処理済みであるかどうかの判断が下される。
NodeListにてエントリとして表される、発見された周辺ノードは、対応するノード・グループ・ハッシュ値を有することになり、このノード・グループ・ハッシュ値によって、所定のノード発見エージェント「M」による処理に向けて割り当てられることになるのは、当業者には明らかであろう。ノード発見エージェント「M」がカレント・エージェントであるかその他のエージェントであるかにかかわらず、上記のノード・エントリは、まだステップ328でポップされていない、すなわちステップ332でノード発見エージェント「M」に割り当てられていないものである。従って、更なる処理動作は、ひとたびこの周辺ノード・エントリがポップされればステップ328から始まって実施されることになるので、本プロセスのこの時点では必要ない。故に、ステップ348にてその周辺ノードが処理済みではないと判断されたら、上記のプロセスをステップ342から始めて繰り返す。
一方、ステップ348にて、その周辺ノード・エントリがNodeListにおいて処理済みとしてマークされていると判断された場合には、ステップ350にて、ターゲット・ノードと周辺ノードとの1つ以上の接続が、物理的であれ論理的であれ、GraphListに記載されているかどうかの判断が下される。当然のことながら、たとえ、ターゲット・ノードおよび周辺ノードの双方が以前に処理されていたとしても、それらが処理された時以降に新たな接続が構築されることはあり得る。そのような新たな接続は、ネットワークのトポロジを変えてしまい、その精度に悪影響を与えかねない。従って、ステップ350にて、ターゲット・ノードと周辺ノードとの1つ以上の接続がGraphListに記載されていないと判断された場合には、それらをステップ352にてGraphListに追加する。その他の場合には、上記のプロセスをステップ342から始めて繰り返す。
ステップ346にて周辺ノードの一意のノード識別子がNodeListに現在記載されていないと判断された場合、ステップ354にて、その一意のノード識別子にハッシュ演算が施される。本明細書にて詳細に記載するように、ハッシュ演算は、発見された周辺ノードを既存のノード・グループに関連付けるのに用いられるハッシュ値を生成する。ひいては、ノード・グループ・ハッシュ値は、発見された周辺ノードを、処理に向けて所定のノード発見エージェント「M」へ割り当てることにもなることが分かる。そのため、ステップ356にて、ハッシュ値を周辺ノードの一意のノード識別子に追加し、これを後続処理に向けてエントリとしてNodeListに加える。
本明細書にて上述したように、発見された周辺ノードをNodeListにおいて表す、対応するノード・グループ・ハッシュ値は、発見された周辺ノードを所定のノード発見エージェント「M」による処理に向けて割り当てる結果をもたらす。そのため、更なるノード接続処理動作は、ひとたび周辺ノード・エントリがポップされればステップ328から始まって実施されることになるので、本プロセスのこの時点では必要ない。そこで、上記のプロセスを、ステップ342から始めて繰り返す。ステップ326にて全てのノード発見エージェント「M」がそれぞれのノード発見動作を完了したと判断されたら、ステップ358にて、GraphyDiscoveryリストに含まれているノード情報からネットワーク・トポロジが生成される。ステップ358にてネットワーク・トポロジが生成されたら、ステップ360にて、ネットワーク・ノード発見動作が終了する。
図面のフローチャートおよびブロック図は、本発明の多様な実施形態によるシステム、方法およびコンピュータ・プログラム製品の、あり得る実装のアーキテクチャ、機能、および動作を示すものである。この点に関連し、フローチャートまたはブロック図の各ブロックが、明示された論理機能(単数または複数)を実現する1つ以上の実行可能命令を含んだモジュール、セグメント、またはコードの一部を表すこともある。さらに、一部の代替的な実装では、ブロックに示された機能が、図面に示された順序から外れて生じ得ることにも留意する必要がある。例えば、関与する機能次第で、連続して示された2つのブロックがほぼ同時に実行されることもあり、時にはそれらのブロックが逆の順序で実行されることもある。さらに、ブロック図またはフローチャート説明図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート説明図あるいはその両方の複数ブロックの組み合わせは、明示された機能または作用を実行する特殊用途向けハードウェアベースのシステムによって、あるいは特殊用途向けハードウェアとコンピュータ命令との組み合わせによって実現することが可能であることも分かる。
本明細書にて使用される専門用語は、特定の実施形態を説明することを目的としているものに過ぎず、本発明を限定しようとするものではない。本明細書で使用される「1つの(a)、(an)」および「その(the)」という単数形は、そうではないことが文脈によって明確に指示されない限り、複数形をも同様に含めようとするものである。さらに当然のことながら、用語「含む」または「含んでいる」あるいはその両方は、本明細書での使用に当たり、提示される特徴、整数値、ステップ、動作、要素またはコンポーネントあるいはその全ての存在を明示するものであるが、1つ以上のその他の特徴、整数値、ステップ、動作、要素、コンポーネントまたはこれらのグループあるいはその全ての存在または追加を排除するものではない。
以下の請求項における全てのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、作用および同等物は、請求されているその他の要素と組み合わされて特に請求されているように当該機能を果たすあらゆる構造、材料または行為を包含しようとするものである。説明および記述を目的として本発明に関する記載を提示してきたが、網羅的であること、または開示された形態に本発明を限定することは意図されていない。多数の変更および変形が、本発明の範囲および精神から逸脱することなく、当業者に明らかとなるであろう。実施形態は、本発明の原理および実際的応用を最もよく説明するために、加えて他の当業者が、検討される個々の用途に適するように多様な変更を伴った多様な実施形態に向けて本発明を理解できるようにするために、選択され記載されたものである。
このように、本願の発明を詳細に、発明の好適な実施形態に関連して記載してきたが、当然のことながら、添付の請求項にて定義される本発明の範囲を逸脱することなく、変更および変形が実現可能である。

Claims (17)

  1. ネットワークのトポロジを発見する、コンピュータ実装可能な方法であって、前記方法は、
    ノード・エントリの第1リストを受信するステップであって、前記ノード・エントリの各々は既知ノードを表す一意のノード識別子を含む、受信するステップと、
    前記ノード・エントリを複数のノード・グループに分割するために、前記ノード・エントリの前記一意のノード識別子に演算を施すステップであって、
    前記一意のノード識別子にハッシュ演算が施されてハッシュ値が生成される、演算を施すステップと、
    第1ノード発見エージェントを第1ノード・グループに割り当て、第2ノード発見エージェントを第2ノード・グループに割り当てるステップであって、前記第1および第2ノード発見エージェントは、ノードからノード情報を収集するように動作可能である、割り当てるステップと、
    第1ノードからノード情報を収集するステップであって、前記ノード情報は、前記第1ノード発見エージェントによって収集され、前記第1ノードと接続されるノードとの間の接続を記述する、収集するステップと、
    前記ノード情報を、ノード・エントリの第2リストに付け加えるステップと、
    ネットワーク・トポロジを生成するべく、ノード・エントリの前記第2リストを処理するステップと、
    を含む、方法。
  2. 前記第2ノードの前記ノード識別子が前記第1リストに記載されているかどうかを判断するステップと、
    記載されていない場合には、前記第2ノードの、ノード・グループへの割り当てを特定するために、前記第2ノードの前記一意のノード識別子に演算を施すステップと、
    前記特定されたノード・グループに前記第2ノードを付け加えるステップと、
    前記第2ノードからノード情報を収集するステップであって、前記ノード情報は、前記特定されたノード・グループに割り当てられている前記ノード発見エージェントによって収集され、前記第2ノードと第3ノードとの間の接続を記述する、収集するステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記第1ノードと第2ノードとの間の前記接続は物理的である、請求項1に記載の方法。
  4. 前記第1ノードと第2ノードとの間の前記接続は論理的である、請求項1に記載の方法。
  5. 前記第1ノードと第2ノードとの間の第1接続は物理的であり、第2接続は論理的である、請求項1に記載の方法。
  6. プロセッサと、
    前記プロセッサに結合されているデータ・バスと、
    コンピュータ・プログラム・コードを組み込んでいるコンピュータ使用可能媒体であって、前記コンピュータ使用可能媒体は、前記データ・バスに結合されており、前記コンピュータ・プログラム・コードは、ネットワークのトポロジを発見し、さらに、前記プロセッサによって実行可能な命令を含み、前記命令は、以下のこと:
    ノード・エントリの第1リストを受信することであって、前記ノード・エントリの各々は既知ノードを表す一意のノード識別子を含む、受信すること;
    前記ノード・エントリを複数のノード・グループに分割するために、前記ノード・エントリの前記一意のノード識別子に演算を施すことであって、
    前記一意のノード識別子にハッシュ演算が施されてハッシュ値が生成される、演算を施すこと;
    第1ノード発見エージェントを第1ノード・グループに割り当て、第2ノード発見エージェントを第2ノード・グループに割り当てることであって、前記第1および第2ノード発見エージェントは、ノードからノード情報を収集するように動作可能である、割り当てること;
    第1ノードからノード情報を収集することであって、前記ノード情報は、前記第1ノード発見エージェントによって収集され、前記第1ノードと接続されるノードとの間の接続を記述する、収集すること;
    前記ノード情報をノード・エントリの第2リストに付け加えること;および
    ネットワーク・トポロジを生成するべく、ノード・エントリの前記第2リストを処理すること
    を行うように構成されている、コンピュータ使用可能媒体と、
    を含む、システム。
  7. 前記第2ノードの前記ノード識別子が前記第1リストに記載されているかどうかを判断すること;
    記載されていない場合には、前記第2ノードの、ノード・グループへの割り当てを特定するべく、前記第2ノードの前記一意のノード識別子に演算を施すこと;
    前記第2ノードを前記特定されたノード・グループに付け加えること;および
    前記第2ノードからノード情報を収集することであって、前記ノード情報は、前記特定されたノード・グループに割り当てられている前記ノード発見エージェントによって収集され、前記第2ノードと第3ノードとの間の接続を記述する、収集すること
    をさらに含む、請求項に記載のシステム。
  8. 前記第1ノードと第2ノードとの間の前記接続は物理的である、請求項に記載のシステム。
  9. 前記第1ノードと第2ノードとの間の前記接続は論理的である、請求項に記載のシステム。
  10. 前記第1ノードと第2ノードとの間の第1接続は物理的であり、第2接続は論理的である、請求項に記載のシステム。
  11. コンピュータ・プログラム・コードを組み込んでいるコンピュータ使用可能媒体であって、前記コンピュータ・プログラム・コードは、コンピュータ実行可能命令を含み、前記命令は、以下のステップ:
    ノード・エントリの第1リストを受信するステップであって、前記ノード・エントリの各々は既知ノードを表す一意のノード識別子を含む、受信するステップ;
    前記ノード・エントリを複数のノード・グループに分割するために、前記ノード・エントリの前記一意のノード識別子に演算を施すステップであって、
    前記一意のノード識別子にハッシュ演算が施されてハッシュ値が生成される、演算を施すステップ;
    第1ノード発見エージェントを第1ノード・グループに割り当て、第2ノード発見エージェントを第2ノード・グループに割り当てるステップであって、前記第1および第2ノード発見エージェントは、ノードからノード情報を収集するように動作可能である、割り当てるステップ;
    第1ノードからノード情報を収集するステップであって、前記ノード情報は、前記第1ノード発見エージェントによって収集され、前記第1ノードと接続されるノードとの間の接続を記述する、収集するステップ;
    前記ノード情報をノード・エントリの第2リストに付け加えるステップ;および
    ネットワーク・トポロジを生成するべく、ノード・エントリの前記第2リストを処理するステップ
    をコンピュータに実行させるように構成されている、コンピュータ使用可能媒体。
  12. 前記第2ノードの前記ノード識別子が前記第1リストに記載されているかどうかを判断するステップ;
    記載されていない場合には、前記第2ノードの、ノード・グループへの割り当てを特定するべく、前記第2ノードの前記一意のノード識別子に演算を施すステップ;
    前記第2ノードを前記特定されたノード・グループに付け加えるステップ;および
    前記第2ノードからノード情報を収集するステップであって、前記ノード情報は、前記特定されたノード・グループに割り当てられた前記ノード発見エージェントによって収集され、前記第2ノードと第3ノードとの間の接続を記述する、収集するステップ
    をさらに含む、請求項11に記載のコンピュータ使用可能媒体。
  13. 前記第1ノードと第2ノードとの間の前記接続は物理的である、請求項11に記載のコンピュータ使用可能媒体。
  14. 前記第1ノードと第2ノードとの間の前記接続は論理的である、請求項11に記載のコンピュータ使用可能媒体。
  15. 前記第1ノードと第2ノードとの間の第1接続は物理的であり、第2接続は論理的である、請求項11に記載のコンピュータ使用可能媒体。
  16. 前記コンピュータ実行可能命令は、リモート位置にあるサーバからクライアント・コンピュータへ配置可能である、請求項11に記載のコンピュータ使用可能媒体。
  17. 前記コンピュータ実行可能命令は、サービス・プロバイダによって顧客へオンデマンド・ベースで提供される、請求項11に記載のコンピュータ使用可能媒体。
JP2010536836A 2007-12-03 2008-11-21 並行してトポロジを発見する方法および装置 Expired - Fee Related JP5285083B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/949,167 US8625457B2 (en) 2007-12-03 2007-12-03 Method and apparatus for concurrent topology discovery
US11/949,167 2007-12-03
PCT/KR2008/006861 WO2009072768A1 (en) 2007-12-03 2008-11-21 Method and apparatus for concurrent topology discovery

Publications (2)

Publication Number Publication Date
JP2011505778A JP2011505778A (ja) 2011-02-24
JP5285083B2 true JP5285083B2 (ja) 2013-09-11

Family

ID=40675608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010536836A Expired - Fee Related JP5285083B2 (ja) 2007-12-03 2008-11-21 並行してトポロジを発見する方法および装置

Country Status (7)

Country Link
US (1) US8625457B2 (ja)
EP (1) EP2220822B1 (ja)
JP (1) JP5285083B2 (ja)
CN (1) CN101884198B (ja)
CA (1) CA2701107C (ja)
TW (1) TW200943822A (ja)
WO (1) WO2009072768A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI414162B (zh) * 2009-06-12 2013-11-01 Univ Nat Taiwan Science Tech 一種網路中最佳化儲存節點之方法
US20120275311A1 (en) * 2011-04-29 2012-11-01 Tektronix, Inc. Automatic Network Topology Detection and Modeling
US20130297603A1 (en) * 2012-05-01 2013-11-07 Fujitsu Technology Solutions Intellectual Property Gmbh Monitoring methods and systems for data centers
US9820006B2 (en) * 2014-05-09 2017-11-14 Adtran, Inc. Diagnosing and optimizing network-wide IPTV configurations
US10439908B2 (en) * 2014-12-23 2019-10-08 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic
CN104579978B (zh) * 2014-12-30 2018-01-09 国家电网公司 一种动态网络链路层拓扑发现方法
US11108883B2 (en) 2015-09-04 2021-08-31 Google Llc Systems and methods for remote network topology discovery
US10666551B2 (en) * 2016-02-23 2020-05-26 Ntt Docomo, Inc. Control node and path control system
CN111628890A (zh) * 2016-05-12 2020-09-04 深信服科技股份有限公司 基于网络拓扑图的虚拟节点创建方法及装置
US10904095B2 (en) * 2018-07-11 2021-01-26 International Business Machines Corporation Network performance assessment without topological information

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185860A (en) 1990-05-03 1993-02-09 Hewlett-Packard Company Automatic discovery of network elements
US5471472A (en) * 1991-07-30 1995-11-28 Synernetics Inc. Network multiplexer
US5485578A (en) * 1993-03-08 1996-01-16 Apple Computer, Inc. Topology discovery in a multiple-ring network
JPH0993265A (ja) 1995-09-28 1997-04-04 Hitachi Ltd 分散型ネットワーク管理方法
US5850397A (en) * 1996-04-10 1998-12-15 Bay Networks, Inc. Method for determining the topology of a mixed-media network
US5974237A (en) * 1996-12-18 1999-10-26 Northern Telecom Limited Communications network monitoring
US6173325B1 (en) * 1998-07-31 2001-01-09 Microsoft Corporation Method computer program product, and system for assessing the performance of a packet schedule
US6639900B1 (en) * 1999-12-15 2003-10-28 International Business Machines Corporation Use of generic classifiers to determine physical topology in heterogeneous networking environments
US7251688B2 (en) * 2000-05-26 2007-07-31 Akamai Technologies, Inc. Method for generating a network map
US6883024B2 (en) * 2000-12-18 2005-04-19 International Business Machines Corporation Method and apparatus for defining application scope and for ensuring finite growth of scaled distributed applications
US7171443B2 (en) * 2001-04-04 2007-01-30 Prodigy Communications, Lp Method, system, and software for transmission of information
US20020161883A1 (en) 2001-04-30 2002-10-31 David Matheny System and method for collecting, aggregating, and coalescing network discovery data
US7139824B2 (en) * 2001-11-28 2006-11-21 International Business Machines Corporation Method and system for isolating and simulating dropped packets in a computer network
US7082134B1 (en) * 2002-01-18 2006-07-25 Juniper Networks, Inc. Redirect checking in a network device
US7113796B2 (en) * 2002-01-18 2006-09-26 Microsoft Corporation Framework and method for QoS-aware resource discovery in mobile ad hoc networks
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
US20030208581A1 (en) * 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7206861B1 (en) * 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
WO2004056047A1 (en) * 2002-12-13 2004-07-01 Internap Network Services Corporation Topology aware route control
JP2004282272A (ja) 2003-03-13 2004-10-07 Fujitsu Ltd Ipアドレス管理方法、ipアドレス管理プログラムおよびipアドレス管理装置
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US20040267921A1 (en) * 2003-06-30 2004-12-30 Rover Jeremy L. System and method for describing network components and their associations
WO2005014438A2 (en) 2003-08-04 2005-02-17 Hak Direct Limited Improvements relating to packaging
US7937406B2 (en) * 2003-09-11 2011-05-03 Oracle America, Inc. Mechanism for automatically establishing a resource grid
US7756958B2 (en) * 2003-09-20 2010-07-13 International Business Machines Corporation Intelligent discovery of network information from multiple information gathering agents
US7454488B2 (en) 2003-09-23 2008-11-18 Hewlett-Packard Development Company, L.P. Method and system for managing a network of nodes
US20050086344A1 (en) * 2003-10-15 2005-04-21 Eaxis, Inc. Method and system for unrestricted, symmetric remote scripting
US20070100940A1 (en) * 2005-08-25 2007-05-03 Glowpoint, Inc. Systems and methods for implementing a single-number follow me service for videoconferencing
WO2008016861A2 (en) 2006-08-01 2008-02-07 Rajesh Balasubramaniam Link inference in large networks based on incomplete data
US20080181134A1 (en) 2007-01-29 2008-07-31 Nikolaos Anerousis System and method for monitoring large-scale distribution networks by data sampling

Also Published As

Publication number Publication date
JP2011505778A (ja) 2011-02-24
EP2220822A1 (en) 2010-08-25
CA2701107A1 (en) 2009-06-11
CN101884198B (zh) 2013-01-16
TW200943822A (en) 2009-10-16
CA2701107C (en) 2016-12-06
US8625457B2 (en) 2014-01-07
CN101884198A (zh) 2010-11-10
EP2220822A4 (en) 2013-10-02
WO2009072768A1 (en) 2009-06-11
US20090141659A1 (en) 2009-06-04
EP2220822B1 (en) 2017-04-05

Similar Documents

Publication Publication Date Title
JP5285083B2 (ja) 並行してトポロジを発見する方法および装置
Kuo et al. Deploying chains of virtual network functions: On the relation between link and server usage
JP5132770B2 (ja) 最善のdhcpサーバを見出すためのルータの動的な構成
CN102474431B (zh) 未充分利用的网络装置的识别
CN109451540B (zh) 一种网络切片的资源分配方法和设备
KR20040068120A (ko) 멀티 플랫폼 최적화 모델
CN116886496A (zh) 基于dpu的数据处理方法、装置、设备及可读存储介质
JP6586237B2 (ja) リソース割当装置及びリソース割当方法
US11575581B2 (en) Utilizing constraints to determine optimized network plans and to implement an optimized network plan
CN117499403A (zh) 算力网络的计算任务调度方法及装置
US10079731B2 (en) Client-space network monitoring
KR101754618B1 (ko) 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
GB2464125A (en) Topology discovery comprising partitioning network nodes into groups and using multiple discovery agents operating concurrently in each group.
US10148518B2 (en) Method and apparatus for managing computer system
Zou et al. Leveraging in-transit computational capabilities in federated ecosystems
KR20190116512A (ko) 네트워크 구축 장치, 네트워크 구축 방법, 및 컴퓨터 판독가능 기록 매체에 저장된 프로그램
JP4308788B2 (ja) タスク割当方法、タスク割当装置、パス設定装置及びネットワーク情報収集装置
Chang et al. Adaptive edge process migration for iot in heterogeneous cloud-fog-edge computing environment
WO2017041509A1 (zh) 一种基于多处理单元的报文采样方法和装置
CN117785224A (zh) 模型部署方法、装置、电子设备及存储介质
Al-Hawari et al. A QoS management system and an efficient scheduling heuristic for network computing applications
CN106656785A (zh) 一种接收请求的方法及控制器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130530

R150 Certificate of patent or registration of utility model

Ref document number: 5285083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees