(58)【調査した分野】(Int.Cl.,DB名)
前記イベント通知は、前記被管理ノードに生じるイベントを表し、そして前記イベントは、前記被管理ノードにおけるリンクのネットワーク接続の変化、ネットワーク混雑の検出、前記被管理ノードにおけるサービスの喪失、前記被管理ノードにおけるサービスの性能の変化、及び前記被管理ノードにおけるサービスの利用の変化より成るグループから選択される、請求項1に記載の方法。
前記管理データをどのように管理するかは、収集する管理データの形式、管理データがレポートされる頻度、及び管理データをどのように収集するかの窓より成るグループから選択される、請求項1に記載の方法。
前記被管理ノードについての変更は、エージェントによる管理データの収集のレート、収集される管理データの窓サイズ、エージェントからネットワーク管理システムへのレポート頻度、エージェントにより収集されるデータの形式、及び被管理ノード情報をロギングするレートより成るグループから選択される変更である、請求項1に記載の方法。
前記被管理ノードに対する特定の変更は、エージェントによる管理データの収集のレート、収集される管理データの窓サイズ、エージェントからネットワーク管理システムへのレポート頻度、エージェントにより収集されるデータの形式、及び被管理ノードの情報をロギングするレートより成るグループから選択される変更である、請求項13に記載の方法。
前記イベントは、前記複数の被管理ノードのうちの第1のノードに関連し、そして前記特定の変更は、前記複数の被管理ノードのうちの第2のノードに関連する、請求項13に記載の方法。
被管理ノードとネットワーク管理システムとの間に通信される管理データを管理する方法を1つ以上の処理ユニットに遂行させる実行可能なインストラクションを有する非一時的マシン読み取り可能な媒体において、前記方法は、
前記被管理ノードに関連したエージェントからイベント通知を受信し;
前記被管理ノードにおいて前記管理データをどのように管理するかの変更を前記イベント通知がトリガーするかどうか決定し;及び
前記被管理ノードにおいて前記管理データをどのように管理するかの変更を前記イベント通知がトリガーする場合には、
前記被管理ノードにおいて前記管理データをどのように管理するかの変更を表す前記被管理ノードのためのコマンドを決定し、及び
前記コマンドを前記被管理ノードに関連した前記エージェントへ送信することを含み、
前記エージェントは、前記コマンドを前記被管理ノードに適用し、そしてその適用されたコマンドは、前記被管理ノードにおいて前記管理データをどのように管理するかの変更を実施し、前記被管理ノードは前記コマンドに基づいて構成される、非一時的マシン読み取り可能な媒体。
ネットワーク管理システムと複数の被管理ノードのシステムネットワークとの間に通信される管理データを管理する方法を1つ以上の処理ユニットに遂行させる実行可能なインストラクションを有する非一時的マシン読み取り可能な媒体において、前記方法は、
前記システムネットワークに生じるイベントを検出し;
前記複数の被管理ノードの1つ以上において前記管理データをどのように管理するかのシステム変更を前記イベントがトリガーするかどうか決定し;及び
前記複数の被管理ノードの1つ以上において前記管理データをどのように管理するかのシステム変更を前記イベントがトリガーする場合には、
前記複数の被管理ノードの1つ以上の各々について、
前記被管理ノードにおいて前記管理データをどのように管理するかの特定の変更を表す前記被管理ノードのためのコマンドを決定し、及び
前記コマンドを前記被管理ノードに関連したエージェントへ送信することを含み、
前記エージェントは、前記コマンドを前記被管理ノードに適用し、そしてその適用されたコマンドは、前記被管理ノードにおいて前記管理データをどのように管理するかの前記特定の変更を実施し、前記被管理ノードは前記コマンドに基づいて構成される、非一時的マシン読み取り可能な媒体。
【発明を実施するための形態】
【0011】
ネットワークシステム内で検出されるイベントに応答して管理データをどのように管理するかを動的に変更する方法及び装置について説明する。以下の説明において、本発明の実施形態を完全に説明するために多数の特定の細部について述べる。しかしながら、当業者であれば、本発明の実施形態は、これらの特定の細部なしに実施できることが明らかであろう。他の例では、この説明の理解を妨げないようにするため、良く知られたコンポーネント、構造及び技術は、詳細に示さない。
【0012】
本書において、「1つの実施形態」又は「一実施形態」とは、その実施形態に関連して述べる特定の特徴、構造又は特性が本発明の少なくとも1つの実施形態に含まれ得ることを意味する。本書の種々の場所に表れる「1つの実施形態において」という句は、必ずしもその全てが同じ実施形態を指すものではない
【0013】
以下の説明及び特許請求の範囲において、「結合(coupled)」及び「接続(connected)」並びにそれから派生する語が使用される。これらの語は、互いに同意語として意図されていないことを理解されたい。「結合」は、互いに直接物理的又は電気的に接触しているか又はしていない2つ以上の要素が互いに協働し又は相互作用することを指示するのに使用される。又、「接続」は、互いに結合された2つ以上の要素間の通信の確立を指示するのに使用される。
【0014】
図示されて以下に述べるプロセスは、ハードウェア(例えば、回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンで実行される)、又はその両方の組み合わせを含む処理ロジックにより遂行される。それらのプロセスは、逐次の動作に関して以下に述べるが、それらの動作の幾つかは、異なる順序でも遂行できることが明らかである。更に、幾つかの動作は、逐次ではなく並列に遂行されてもよい。
【0015】
「サーバー」「クライアント」及び「装置」という語は、一般的に、サーバー、クライアント及び/又は装置のための特定のフォームファクタではなく、データ処理システムを指すものとする。
【0016】
ネットワークシステムで検出されるイベントに応答して管理データをどのように管理するかを動的に変更する方法及び装置について説明する。1つの実施形態では、装置は、システムにおいてイベントを検出する。この実施形態では、検出されるイベントは、被管理ノードの1つから受信されるイベント通知、被管理ノードに関連したエージェントにより検出されるイベント、システム分析から検出されるイベント、又はユーザインターフェイスイベントである。装置は、被管理ノードの管理データをどのように管理するか(例えば、管理データをどのように収集しレポートするか)の変更をこのイベントがトリガーするかどうか決定する。イベントが変更をトリガーする場合には、装置は、その被管理ノードに対してどんな変更があるか決定する。装置は、その被管理ノードに対してその決定された変更に対応するコマンドを生成し、そのコマンドをその被管理ノードへ送信する。
【0017】
図1は、被管理ノード112A−Nとネットワーク管理システム(NMS)106との間に管理データを通信するシステム100の一実施形態のブロック図である。
図1において、システム100は、多数の被管理ノード112A−Nを監視し運営するために使用されるNMS106を備えている。1つの実施形態では、システムアドミニストレータは、装置102上で実行されるネットワーク管理ユーザインターフェイス104を通してNMS106と相互作用する。1つの実施形態では、被管理ノードのための管理データは、被管理ノードに関する機能状態を特徴付ける情報、例えば、状態情報、環境情報、及び/又は被管理ノード内に流れて処理されるデータに関する情報である。例えば、1つの実施形態では、管理データは、欠陥、構成、アカウンティング、性能、及び/又はセキュリティ情報である。別の実施形態では、管理データは、処理統計、状態情報、及び/又は処理されるデータである。
【0018】
1つの実施形態では、NMS106は、複数の管理ノード112A−Nを監視及び運営するネットワーク管理モジュール108を備えている。1つの実施形態では、このネットワーク管理モジュール108は、被管理ノード112A−Nから管理データを受信し、そして被管理ノード112A−Nにコマンドを送信する。1つの実施形態では、それらのコマンドは、被管理ノードの管理データをどのように管理するかを変更するために使用される。1つの実施形態では、管理データの管理は、収集される管理データの形式及び頻度、管理データをレポートする頻度、どの管理データがレポートされるか、管理データを収集するのに使用される窓のサイズ、どの装置が管理データを受信するか、管理データを収集及び/又はレポートするための暗号化及び/又は圧縮、法的分析のためにデータをセーブすべきかどうか、及び/又はシステム情報のロギングを含む。更に、ある管理データの管理は、他の管理とは異なる。例えば、1つの実施形態では、ポート状態データは、頻繁にレポートされるが、詳細なポートスループット統計値(例えば、受信、送信、ドロップされたパケット)は、あまり頻繁にレポートされない。
【0019】
更に、ネットワーク管理モジュール108は、ネットワーク自動エンジン110を備えており、このネットワーク自動エンジン(NAE)110は、システム100で検出されるイベントに応答して被管理ノード112A−Nにより管理データをどのように管理するかを動的に変更する。例えば、1つの実施形態では、ネットワーク自動エンジン110は、イベントの検出に応答して、所与の被管理ノード112A−Nの管理データをどのように収集しそしてNMS106へレポートするかの構成を変更する。1つの実施形態では、イベントの検出は、被管理ノード112A−NがNMS106にイベントを送信すること、NMS106がネットワークデータベースにおいてイベントを検出すること、エージェント114A−Nが対応する被管理ノード112A−Nにおいてイベントを検出すること、及び/又はNMS106がユーザインターフェイス104に関連したユーザインターフェイスイベントを検出すること、のうちの1つである。管理データをどのように管理するかを動的に変更することは、
図3から9を参照して以下に詳細に述べる。
【0020】
1つの実施形態では、被管理ノード112A−Nの各々は、NMS106に見えるシステム100の装置である。1つの実施形態では、被管理ノードは、ネットワーク要素、パーソナルコンピュータ、移動装置、等、或いはネットワークを経てデータを通信できる他の形式の装置である。1つの実施形態では、ネットワーク要素は、ネットワークアクセス要素(例えば、スイッチ、ルータ、ハブ、ブリッジ、ゲートウェイ、等、或いはネットワークへのアクセスを許す他の形式の装置)、ネットワークセキュリティ装置(例えば、ファイアウオール、侵入検出/防止システム、等)、或いはネットワークデータを処理する別の形式の装置である。1つの実施形態では、被管理ノード112A−Nは、物理的装置又はバーチャル装置である。1つの実施形態では、被管理ノード112A−Nは、互いに通信結合されると共に、ネットワークを経てMNS106及び装置102に結合される。1つの実施形態では、被管理ノード112A−Nの各々は、エージェント114A−N、1つ以上のスイッチ116A−N、及びストレージ118A−Nを備えている。この実施形態では、エージェント114A−Nは、対応する被管理ノード112A−N上で実行されるモジュールであって、その被管理ノード112A−N及び/又は1つ以上のサービス116A−Nを管理するためのインターフェイスをなすモジュールである。例えば、1つの実施形態では、被管理ノードのためのサービスは、被管理ノードの物理的コンポーネント(ポート、リンク、等)、又はネットワークサービス(スイッチング、ルーティング、セキュリティ、運営、コンピューティングサービス、ストレージ、等)である。1つの実施形態では、エージェント114A−Nは、被管理ノード112A−Nを構成するためのコマンドをNMSから受け取り、そして被管理ノード112A−Nの構成に基づいてNMS106へ管理データを送信する。
【0021】
別の実施形態では、エージェント114A−Nは、対応する被管理ノード112A−Nに結合された装置上で実行される。この実施形態では、エージェント114A−Nは、NMS106と、対応する被管理ノード112A−Nとの間で管理データ及びコマンドをプロキシーする。管理データ及びコマンドをプロキシーするエージェント114A−Nは、
図2を参照して以下に説明する。
【0022】
1つの実施形態では、被管理ノード112A−Nを実行するサービス116A−Nは、サービス116A−Nをホストする被管理ノード112A−Nに通信結合されたネットワークにおける他の装置に機能を与えるプロセスである。例えば、1つの実施形態では、サービス116A−Nは、通信サービス(例えば、スイッチング、ルーティング、パケット転送、トラフィックシェーピング、サービス品質(QoS)の適用、リモートアクセス、等)、セキュリティサービス(例えば、ファイアウオール、侵入検出/防止、マルウェア防止、コンテンツフィルタリング、バーチャルプライベートネットワーキング、物理的アクセスコントロール、等)、クラウドサービス(ソフトウェア・アズ・ア・サービス(SaaS)、インフラストラクチャー・アズ・ア・サービス(IaaS)、等)、バーチャル化サービス(マシン、ネットワーキング、ストレージ、等)、ビジネスサービス(例えば、ウェブサービス、トレーディングサービス、等)、及びインフラストラクチャーサービス(例えば、環境コントロールサービス、電力管理及びモニタリングサービス、等)である。1つの実施形態では、ネットワーク管理モジュール108は、サービス116A−Nに関連したエージェント114A−Nを経てサービス116A−Nを管理することができる。1つの実施形態では、ストレージ118A−Nは、管理データを記憶する。
【0023】
上述したように、NMS106は、システム100で検出されたイベントに応答して被管理ノード112A−Nにより管理データをどのように管理するかを動的に変更するNAE110を備えている。1つの実施形態では、NMS106は、それらのイベントを検出し、そしてNAE110は、その被管理ノード112A−Nが管理データをどのように管理するかを変更するコマンドを当該被管理ノード112A−Nへ送信する。
図2は、被管理ノード208とNMS202との間で管理コマンド216及びデータ218を通信するシステム200の一実施形態のブロック図である。
図2において、NMS202は、ネットワーク管理モジュール204を備えている。1つの実施形態では、ネットワーク管理モジュール204は、被管理ノード208を監視し及び運営するモジュールである。例えば、1つの実施形態では、ネットワーク管理モジュール204は、被管理ノード208から管理データ218を受信し、そして被管理ノード208へコマンド216を送信する。1つの実施形態では、ネットワーク管理モジュール204は、被管理ノード208によって管理される管理データをどのように動的に変更するか決定するネットワーク自動エンジン206を備えている。
【0024】
1つの実施形態では、被管理ノード208は、エージェント210、1つ以上のサービス212、及びストレージ214を備えている。1つの実施形態では、エージェント210は、この被管理ノード208及び/又は1つ以上のサービス212を管理するインターフェイスをなす。1つの実施形態では、サービス212は、
図1に示すサービス116A−Nのようなサービスをホストする被管理ノード208に通信結合されたネットワーク内の他の装置に1つ以上の機能を与える1組のプロセスである。1つの実施形態では、ストレージ214は、管理データを記憶するのに使用される。
【0025】
別の実施形態では、エージェント210は、被管理ノード208に結合された別の装置において実行される。この実施形態では、エージェント210は、ネットワーク管理モジュール204から被管理ノード208へ管理コマンド216をプロキシーする。1つの実施形態では、エージェント210は、管理コマンド216を受信し、そしてその受信した管理コマンド216を、被管理ノード208のための1つ以上のネーティブコマンドへと変換する。更に、エージェント210は、それらの1つ以上のネーティブコマンドを被管理ノード208へ送信する。更に、この実施形態では、エージェント210は、被管理ノード210から管理データ218を受信し、そしてその管理データ218をネットワーク管理モジュール204へ転送する。
【0026】
1つの実施形態では、管理データ218は、NMS202に周期的にレポートされる。レポートされる管理データ218の形式、並びに管理データ218がどんな周波数でどのように収集されるかは、被管理ノード208がどのように構成されるかによりコントロールされる。1つの実施形態では、管理データ218のこの構成は、ネットワーク管理モジュール204からエージェント210へ送信される管理コマンド216により変更することができる。この実施形態では、エージェント210は、これらのコマンド216を受信し、そしてそのコマンド216を、被管理ノードの構成を更新するように適用する。1つの実施形態では、管理コマンド216は、収集及び/又はレポートされる管理情報の形式を変更し、収集及び/又はレポートされる管理データの暗号及び/又は圧縮レベル、管理データレポート頻度、管理情報の収集に使用される窓の形式(例えば、データサイズ及び/又は時間間隔に基づく窓サイズ)をセットし、管理データのレポートを異なる装置へリダイレクトし(例えば、異なるNMSへ、複数のNMSへレポート、バックアップ装置へ送信、等)、被管理ノードにおいてローカル状態識別子をターンオン/オフし、法的分析のためにデータをセーブし、ロギングをターンオン/オフし、及び/又はそれらを組み合わせて行う。1つの実施形態では、管理コマンドは、異なるネットワーク管理プロトコル、即ちシンプルネットワークマネージメントプロトコル(SNMP)、シンプルオブジェクトアクセスプロトコル(SOAP)、表現状態転送形式アプリケーションプログラミングインターフェイス(RESTful API)、ハイパーテキストトランスファープロトコル(HTTP)、HTTPオーバーセキュアソケットレイヤ(HTTPS)、ネットワークコンフィギュレーションプロトコル(NetConf)、セキュアシェル(SSH)、等を使用してフォーマットされる。
【0027】
1つの実施形態では、エージェント210は、イベントを検出し、そしてNMS202を介在せずにイベントに応答する。この実施形態では、エージェント210は、検出されたイベントに応答して被管理ノード208における管理データ218の管理を動的に変更するためにエージェント210が使用する1組のルールにアクセスする。
【0028】
1つの実施形態では、被管理ノード208は、1つ以上の発表チャンネルに管理データ218を発表することによりNMS202へ管理データ218をレポートする。1つの実施形態では、発表チャンネルは、そこに発表された管理データをそのチャンネルの加入者へコピーする論理的通信チャンネルである。発表チャンネルは、装置特有のチャンネル(例えば、コマンドを発表するか又は聴取する)であるか、又は発表チャンネルは、装置のグループ(例えば、コンプライアンスチャンネル、複数のNMSへ管理データをレポートする被管理ノード、等)に対応する。1つの実施形態では、NMS202は、管理データ218を受信するために発表チャンネルと契約する。別の実施形態では、NMS202は、他の手段(例えば、SNMPとラップ、syslogイベント、HTTP応答、telnet/SSH(コマンドラインインターフェイス)、SOAP、等)を通して管理データ218を受信する。
【0029】
上述したように、ネットワークの各被管理ノードにより管理データをどのように管理するかは、システム内のイベントに応答して動的に変更することができる。
図3は、システム内の検出されたイベントに応答して管理データをどのように管理するかを変更するプロセス300の一実施形態のフローチャートである。1つの実施形態では、プロセス300は、管理データの管理を動的に変更するためのネットワーク自動エンジン、例えば、
図1のネットワーク自動エンジン110により遂行される。別の実施形態では、プロセス300は、
図2のエージェント210のようなエージェントにより遂行される。
図3において、プロセス300は、システムにおいてイベントを検出する。1つの実施形態では、プロセス300は、被管理ノードからイベント通知を受信することによりイベントを検出し、ネットワークデータベースにおいてシステムイベントを検出し、エージェントは、被管理ノードにおいてイベントを検出し、ユーザインターフェイスに関連したイベントを検出し、等々である。例えば、1つの実施形態では、被管理ノードは、ポート状態が変化したことを示すイベント通知を送信し、NMSは、ビジネスアプリケーションの性能が不充分であるというネットワークデータベースにおけるイベントを検出し、ビジネスアプリケーションは、複数のネットワーク要素によりサポートされるバーチャルマシンにおいて実行されるものであり、或いはNMSは、特定の被管理ノード又はその被管理ノードの特定コンポーネントを見るためにシステムアドミニストレータがナビゲートされたことを示すイベントを検出する。別の例として、別の実施形態では、エージェントは、被管理ノードにおいてイベント(例えば、リンクの混雑、被管理ノードにおけるサービスの過少/過剰利用)を検出する。
【0030】
ブロック304において、プロセス300は、検出されたイベントが、1つの被管理ノードの管理データをどのように管理するかの変更をトリガーするかどうか決定する。1つの実施形態では、プロセス300は、検出されたイベントが、管理データ変更をトリガーできるイベントのルールに一致するかどうか決定する。1つの実施形態では、そのルールは、シグネチャー、条件、スレッシュホールド、状態変化、等、及び/又はその組み合わせのライブラリーである。この実施形態では、ルールは、環境、状態、要素、処理されるトラフィック、検出されるウィルス/マルウェア、侵入検出、等に関する被管理ノード又はシステムについての1つ以上の条件を指示し、管理データをどのように管理するかの変更を保証するものである。
【0031】
例えば、1つの実施形態では、被管理ノードのポートに混雑があることを被管理ノードがNMSに通知する場合に、プロセス300は、そのポート(又は他のポート)の混雑に関する付加的な統計データ及び/又は他の管理データをその被管理ノードにより収集しなければならないことをそのようなイベントが保証すると決定する。別の例として、別の実施形態では、第1の被管理ノードの第1ポートに混雑があり且つその第1ポートが第2ポートを経て第2の被管理ノードに結合されることをNMSが検出する場合には、プロセス300は、第2ポートの混雑に関する付加的な統計データ及び/又は他の管理データをその第2の被管理ノードにより収集しなければならないことをそのようなイベントが保証すると決定できる。更に別の例及び更に別の実施形態では、NMSは、被管理ノードを見るためにユーザインターフェイスがナビゲートされたことを検出する。この例では、プロセス300は、NMSへレポートされる管理データの形式及び/又はそのレポート頻度の変更をこのユーザインターフェイスイベントがトリガーすると決定する。検出されたイベントが変更をトリガーしない場合には、実行がブロック302へ進む。
【0032】
検出されたイベントが変更をトリガーする場合には、ブロック306において、プロセス300は、検出されたイベントによりどの被管理ノードが影響を受けるか決定する。1つの実施形態では、影響を受ける被管理ノードの数は、単一の被管理ノード、幾つかの被管理ノード、又は全ての被管理ノードである。1つの実施形態では、どの被管理ノードが影響を受けるかは、検出されたイベントの形式に依存する。例えば、1つの実施形態では、NMSが被管理ノードからイベント通知を受信する場合又はエージェントがその被管理ノードにおいてイベントを検出する場合、イベント通知を送信するか又はイベントを発信した被管理ノードが、影響を受けるノードとなる。別の例として、別の実施形態では、バーチャル被管理ノードにおけるサービスが過少利用であることをNMSが検出する場合、プロセス300は、影響を受ける被管理ノードが、そのサービスのためのネットワークアクセスを与えるネットワーク要素及びそのサービスを利用するクライアントであると決定する。この例では、プロセス300は、バーチャルノードにサービスをサポートするネットワークのネットワークアーキテクチャーの知識を有し(例えば、ネットワークトポロジー、ネットワークにおけるサービスの位置、等)、そしてプロセス300は、このネットワークアーキテクチャー知識の利点を取り入れて、ネットワークのどの被管理ノードが検出されたイベントにより影響を受けるか決定する。更に別の例及び実施形態では、検出されたユーザインターフェイスイベントに関連する1つ以上の被管理ノードが、このユーザインターフェイスイベントにより影響を受ける被管理ノードである。この例では、システムアドミニストレータは、単一の被管理ノードへナビゲートされるか、又は
図1のユーザインターフェイス104のようなNMSユーザインターフェイスを通して被管理ノードのグループへナビゲートされる。
【0033】
プロセス300は、ブロック308において、影響を受ける各被管理ノードへコマンドを送信する。1つの実施形態では、プロセス300は、その被管理ノードにおける変更にとってどのコマンドが適当であるか決定する。この実施形態では、検出されたイベントに関連した変更は、影響を受ける被管理ノードごとに特定の変更に分割することができる。1つの実施形態では、コマンドは、被管理ノードの構成をどのように変更すべきか命令するデータのセットである。例えば、1つの実施形態では、コマンドは、収集及び/又はレポートされる管理情報の形式を変更し、収集及び/又はレポートされる管理データの暗号及び/又は圧縮レベル、管理データのレポート頻度、管理情報を収集するのに使用される窓の形式(例えば、データサイズ及び/又は時間間隔に基づく窓サイズ)をセットし、管理データのレポートを異なる装置へリダイレクトし(例えば、異なるNMSへ、複数のNMSへレポート、バックアップ装置へ送信、等)、被管理ノードにおいてローカル状態識別子をターンオン/オフし、法的分析のためにデータをセーブし、ロギングをターンオン/オフし、及び/又はそれらを組み合わせて行う。1つの実施形態では、検出されたイベントが被管理ノードからのイベント通知である場合に、プロセス300は、その被管理ノードのためのコマンドを生成し、そしてそのコマンドをその被管理ノードへ送信する。例えば、1つの実施形態では、イベント通知が、被管理ノードのポートがダウンしたことを示す被管理ノードからのメッセージである場合には、それに対応するコマンドは、このポートがダウンするに至る期間中に影響を受けるポートを通して通信された以前に捕獲されたデータのコピーをNMSへ中継するように被管理ノードに命令することである。この捕獲されたデータは、ポートがダウンした理由を決定する上で助けとなるように後で分析するのに使用できる。
【0034】
検出されたイベントがNMSにより決定されたシステムイベントである別の実施形態では、このイベントが複数の被管理ノードに影響を及ぼす。この実施形態では、プロセス300は、影響を受ける各被管理ノードに対して特定のコマンドを生成し、そしてその特定のコマンドをそれに対応する、影響を受ける被管理ノードへ送信する。例えば、1つの実施形態では、バーチャル被管理ノード上のサービスが過少利用であるとNMSが検出する場合には、影響を受ける被管理ノードは、このサービスのためのネットワークアクセスを与えるネットワークアクセス要素(例えば、スイッチ、ルータ、等)及びそのサービスを利用するクライアントである。この例では、これらの影響を受けるネットワーク要素のコマンドは、付加的な統計値をターンオンし、幾つかの又は全部の管理データに対するレポートレートを高め、幾つかの又は全ての管理データに対する収集窓を増加し、及び/又はそれらを組み合わせて行うようにエージェントに命令するコマンドである。更に別の実施形態では、検出されたイベントがユーザインターフェイスナビゲーションイベントであって、システムアドミニストレータが特定の被管理ノードを見るか又は被管理ノードの特定の部分を見ることを指示する場合に、コマンドは、その被管理ノード又は被管理ノードの特定の部分に対して、付加的な統計値を収集し、管理データに対するレポートレートを高め、窓収集を増加し、及び/又はそれらを組み合わせて行うようにその被管理ノードのエージェントに命令するものとなる。例えば、1つの実施形態では、システムアドミニストレータがネットワークのスイッチを見るようにナビゲートする場合には、最初に、システムアドミニストレータは、統計値の小さなセット(例えば、時間周期当たりに受信、送信されるパケットの数)を見る。NMSは、このナビゲーションイベントを検出し、そしてプロセス300は、見られている被管理ノードが、付加的な統計値(例えば、ドロップしたパケットの数、スイッチを通して送信されるパケットの特徴、正確なタイミング情報、等)をターンオンし、幾つかの又は全ての管理データのためのデータ収集窓をターンオン又は増加し(例えば、収集通信データヘッダをターンオンし、増加時間周期にわたり全パケットを捕獲するように被管理ノードに命令し、等)、及び/又は幾つかの又は全ての管理データのレポート頻度を高めるためのコマンドを生成する。
【0035】
更に別の例では、プロセス300は、NMSへ管理データを通信するのに使用される経路がダウンしたことを検出する。この実施形態では、プロセス300は、幾つかの又は全ての管理データに対する管理データ収集窓を増加して、このデータを、NMSへの経路(又は別の経路)が利用できるようになったときにNMSへ後でレポートするためにセーブできるようにする。例えば、1つの実施形態では、被管理ノードに関連したエージェントは、NMSへの接続を失う。それに応答して、エージェントは、被管理ノードが収集する幾つかの又は全ての管理データの収集窓を増加するように被管理ノードに命令する。更に、NMSへの接続が利用できることをエージェントが検出するのに応答して、エージェントは、収集したデータをNMSへ公表する。更に、エージェントは、収集窓を、検出されたNMS接続損失の前に使用していたサイズに減少する。
【0036】
上述したように、管理データをどのように管理するかの変更をトリガーするイベントは、種々の仕方で検出することができる(例えば、被管理ノードからのイベント通知、エージェントがネットワークデータベースにおいて検出されたイベントを検出すること、ユーザインターフェイスのイベント、等)。
図4は、被管理ノードから受信したイベント通知に応答して管理データをどのように管理するかを動的に変更するプロセス400の一実施形態のフローチャートである。1つの実施形態では、プロセス400は、管理データの管理を動的に変更するためのネットワーク自動エンジン、例えば、
図1のネットワーク自動エンジン110により遂行される。
図4のプロセス400は、ブロック402において、被管理ノードからイベント通知を受信することにより始まる。1つの実施形態では、被管理ノードのエージェントは、イベントを検出し、そしてそのイベントの通知を、
図1のNMS106のようなNMSへ送信する。例えば、1つの実施形態では、プロセス400は、被管理ノードのポート状態変化、ファン欠陥、停電、ネットワークリンク欠陥、リンク悪化、等に対するイベント通知を受け取る。
【0037】
ブロック404において、プロセス400は、イベント通知で表されたイベントが、その被管理ノードにおける管理データをどのように管理するかの変更をトリガーするかどうか決定する。1つの実施形態では、プロセス400は、イベント通知で表されたイベントに一致するルールがあるかどうか決定することによりイベントが管理データの変更をトリガーするかどうか決定する。例えば、1つの実施形態では、被管理ノードのポート状態の状態変化(例えば、リンクのアップ/ダウン)が管理データの変更をトリガーすることを示すルールが存在する。別の例として、別の実施形態では、被管理ノードにおけるサービスの利用パーセンテージが特定スレッシュホールドを越えると、その被管理ノードに対する管理データの変更をトリガーする。逆に、この例では、利用パーセンテージがスレッシュホールドより低いと、その被管理ノードに対する管理データの変更をトリガーしない。
【0038】
イベント通知で表されたイベントが管理データの変更をトリガーしない場合には、実行がブロック402へ進む。しかしながら、イベント通知で表されたイベントが管理データの変更をトリガーする場合には、ブロック406において、プロセス400は、潜在的な管理データ変更により影響を受けるノードを識別する。1つの実施形態では、管理データ変更により影響を受ける被管理ノードは、ブロック402においてNMSへイベント通知を送信した被管理ノードである。
【0039】
ブロック408において、プロセス400は、イベント通知で示されたイベントに関してその影響を受ける被管理ノード(1つ又は複数)に対する変更を決定する。1つの実施形態では、プロセス400は、イベントトリガー変更を決定したルールから特定の変更を決定する。例えば、1つの実施形態では、受信したイベント通知が、被管理ノードのポート状態が変化したことを示す場合には、その被管理ノードのための対応変更で、統計値をNMSにレポートするレートを増加/減少することができる。或いは、ポート状態が「ダウン」へ変化する場合は、このポートがダウンするに至る期間中に影響を受けるポートを通して通信された以前に捕獲されたデータをセーブするように、付加的なデータを収集することができる。更に、この管理変更は、以前の管理変更を打ち消すか又は変化させる。この例では、ポート状態が「ダウン」から「アップ」へ変化する場合に、「ダウン」へのポート状態変化に対して実施された管理データの変更が逆転される。
【0040】
別の例として、別の実施形態では、被管理ノードは、その被管理ノードのデータ処理スループットがスレッシュホールドより下がったことをNMSに通知する。この例では、その被管理ノードに対する管理データの変更は、収集されてNMSへレポートされる幾つかの又は全ての管理データのレポートレートの増加である。例えば、幾つかの又は全ての管理データのレポートレートは、この情報がNMSへより頻繁にレポートされるように増加される。1つの実施形態では、レポートレートは、リアルタイムレート(例えば、このデータが利用可能になるや否や管理データがレポートされる)、又は近リアルタイムレート(例えば、1秒以下の頻度レートで管理データがレポートされる)へ増加される。例えば、被管理ノードがネットワーク要素である場合には、これらの統計値は、受信したパケット、送信したパケット、ドロップしたパケット、ポートスループット、断片、QoS特有統計値、セキュリティイベント(接続拒絶、侵入検出、等)、等である。別の実施形態では、収集した統計値の形式が変更されてもよい。同じ例において、管理ノードが不充分なスループットをレポートするネットワーク要素であり、且つこのノードが個々のポートドロップパケット統計値をレポートしない場合には、このノードに対する管理データの変更は、個々のポートドロップパケット統計値のレポートをターンオンできない。これら両方の例において、被管理ノードとNMSとの間に通信される管理データは動的であり、その通信される情報のレート及び形式は、被管理ノードの条件に基づいて動的に変化する。
【0041】
ブロック410において、プロセス400は、対応する管理データの変更に対して影響を受ける各ノードへコマンドを送信する。1つの実施形態では、プロセス400は、その被管理ノードのエージェントへ、このエージェントが通信するプロトコルを使用して、コマンド変更を送信する。例えば、1つの実施形態では、コマンドは、SNMP、SOAP、HTTP、HTTPS、NETCONF、SSH、RESTful APIを使用するコマンド、等である。
【0042】
図5は、被管理ノード512Aから受け取られる検出イベントに応答して被管理ノード512Aにおいて管理データをどのように管理するかを動的に変更するシステム500の一実施形態のブロック図である。
図5において、システム500は、被管理ノード512A−Nを監視及び運営するのに使用されるNMS506を備えている。1つの実施形態では、システムアドミニストレータが、装置502において実行されるネットワーク管理ユーザインターフェイス504を通してNMS506と相互作用する。
図1を参照して上述したように、NMS506は、被管理ノード512A−Nを管理するのに使用されるネットワーク管理モジュール508を備えている。更に、ネットワーク管理モジュール508は、管理データをどのように管理するかを動的に変更するネットワーク自動エンジン510を備えている。更に、被管理ノード512A−Nの各々は、エージェント514A−N、1つ以上のサービス516A−N、及びストレージ518A−Nを備えている。1つの実施形態では、エージェント514A−Nは、被管理ノード512A−N上で実行されるモジュールであって、その被管理ノード512A−Nを管理するためのインターフェイスをなすモジュールである。被管理ノード512A−Nにおいて実行されるサービス516A−Nは、それらのサービスをホストする被管理ノードに通信結合されたネットワーク内の他の装置に1つ以上の機能を与える1組のプロセスである。1つの実施形態では、ストレージ518A−Nは、管理データを記憶する。
【0043】
1つの実施形態では、エージェント514Aは、被管理ノードに生じるイベントを検出し、そしてそのイベントの通知をNMS506のネットワーク管理モジュール508へ送信する(520)。この実施形態では、ネットワーク管理モジュール508は、イベントを分析し、そして被管理ノード514Aにより管理データをどのように管理するかの変更をイベントがトリガーするかどうか決定する(522)。イベントが変更をトリガーする場合には、ネットワーク管理モジュール508は、決定された変更に対する対応コマンドをエージェント514Aへ送信する(522)。コマンドを受け取るのに応答して、エージェントは、コマンドを受け取るごとに管理データの管理を変更する(524)。エージェントは、与えられたコマンドに基づいて管理データを配信する(526)。この実施形態は、被管理ノード512Aにより検出されるイベントに対して被管理ノード512Aのエージェント514AとNMS506との間の管理データコントロールの動的な特性を示す。
【0044】
上述したように、システムで検出されたイベントは、1つ以上の被管理ノードにおける管理データの管理に対する変更もトリガーする。
図6は、検出されたシステムイベントに応答して管理データをどのように管理するかを変更するプロセス600の一実施形態のフローチャートである。1つの実施形態では、プロセス600は、
図1のネットワーク自動エンジン110のような、管理データの管理を動的に変更するためのネットワーク自動エンジンにより遂行される。
図6において、プロセス600は、システムにおけるイベントのシステム条件を分析する。1つの実施形態では、プロセス600は、ネットワークデータベースに質問することによってイベントのシステム条件を分析する。1つの実施形態では、ネットワークデータベースは、ネットワークシステムにおける幾つかの又は全ての被管理ノードから受け取られる管理データのレポジトリである。別の実施形態では、プロセス600は、イベント通知が受け取られたかどうか監視する。
【0045】
ブロック604において、プロセス600は、システムにおいてイベントを検出する。1つの実施形態では、プロセス600は、プロセス600によりイベントとして確認されたネットワークの条件についてネットワークデータベースに質問することによりイベントを検出する。別の実施形態では、プロセス600は、被管理ノードからイベント通知を受け取る。この実施形態では、イベント通知は、被管理ノードによって検出されるイベントであって、そのイベントを検出したもの以外の被管理ノードに影響を及ぼすイベントを表す。例えば、1つの実施形態では、被管理ノードは、アップリンクの混雑を検出しそしてこの混雑したアップリンクについてNMSに通知する。この例では、プロセス600は、そのアップリンクを経てレポート側被管理ノードに接続された被管理ノードにおいて管理データをどのように管理するかを変更することを希望する。1つの実施形態では、プロセス600により検出されたイベントは、プロセス600に見える被管理ノードから受け取られ又は検出されたイベントであるが、別の実施形態では、イベントが別のソースから受け取られる(例えば、火災警報、環境条件に関するイベント、コアネットワークイベント、ビジネスイベント、等)。
【0046】
ブロック606において、プロセス600は、システム100の被管理ノード112A−Nのようなシステムの1つ以上の被管理ノードで管理データをどのように管理するかの変更を検出イベントがトリガーするかどうか決定する。1つの実施形態では、プロセス600は、検出イベントにより表されたイベントに一致するルールがあるかどうか決定することによりイベントが管理データの変更をトリガーするかどうか決定する。例えば、1つの実施形態では、リンクの混雑が管理データの変更をトリガーするルールがある。別の例として、別の実施形態では、サービスの利用パーセンテージが特定スレッシュホールドを越えるか、又は被管理ノードにおいてそのサービスの問題があると、その被管理ノードに対する管理データの変更をトリガーする。更に別の例及び更に別の実施形態では、イベントは、システム内の1つ以上のリンクに沿って通信される管理トラフィックの量に関連付けられる。この例では、管理トラフィックの量は、そのリンクのあるスレッシュホールド又はパーセンテージに限定される。
【0047】
イベント通知で表されたイベントが管理データの変更をトリガーしない場合には、実行がブロック602へ進む。しかしながら、イベント通知で表されたイベントが管理データの変更をトリガーする場合には、ブロック608において、プロセス600は、潜在的な管理データの変更によって影響を受ける被管理ノードを識別する。1つの実施形態では、影響を受ける被管理ノードの数は、1つ以上の被管理ノードである。1つの実施形態では、プロセス600は、システムのアーキテクチャー及びイベントの形式を使用して、システムの被管理ノードのどれがイベントの影響を受けるか決定する。1つの実施形態では、プロセス600は、相互接続された被管理ノードのネットワークトポロジーを使用して、被管理ノードのどれが検出イベントの影響を受けるか決定する。ネットワーク装置の欠陥の場合には、プロセス600は、ネットワークトポロジーを歩いて、どの子装置が影響を受けるか、どの親装置が根本的原因であるか、等を決定する。
【0048】
ブロック610において、プロセス600は、検出されたイベントに対し被管理ノードごとに変更を決定する。1つの実施形態では、プロセス600は、検出されたイベントが変更をトリガーすると決定したルールから、影響を受ける被管理ノードごとに特定の変更を決定する。例えば、1つの実施形態では、検出されたイベントが2つの被管理ノード間のアップリンクで混雑しており且つダウンリンクの被管理ノードの管理データを使用してイベントが検出される場合には、変更が付加的な管理データのレポートをターンオンし、及び/又はアップリンクの被管理ノードに対する幾つかの又は全ての管理データのレポートレートを高める。
【0049】
別の例として、別の実施形態では、システムは、問題をレポートするバーチャルマシンにおいて実行されるトレーディングアプリケーションを備えている。更に、サーバーは、バーチャルマシンをホストし、そしてサーバーのネットワークアクセスは、1つ以上のネットワークアクセス要素により取り扱われる。この例では、プロセス600は、このネットワークアーキテクチャーの知識を使用して、管理データをどのように管理するかについてどんな変更であるか決定する。例えば、1つの実施形態では、バーチャルマシンについての変更は、後で法的分析するため受信及び/又は送信されるパケットを記憶できるようにすることである。別の例として、サーバーについての変更は、幾つかの管理データが収集される窓を増加することである。更に、1つ以上のネットワークアクセス要素は、複数のネットワーク要素が管理データを別のデータセンターへ移行し、バックアップし、回復し、及び/又は移動する(例えば、あるデータセンターから終了させ、そして管理データを災害復旧目的で別のデータセンターへリダイレクトする)よう強制するために、新たに発見されるセキュリティ攻撃をそらせ又は防御する変更を得る(例えば、新たなウィルスを阻止するためのアクセスコントロールリスト(ACL))。この例では、問題をレポートするトレーディングアプリケーションの検出イベントに応答して、プロセス600は、このシステムの異なる被管理ノードに対して管理データをどのように管理するかについて異なる特定の変更を決定する。
【0050】
更に別の例及び別の実施形態では、システムは、管理データをインバンド通信する(例えば、非管理データを搬送するのに使用される同じリンクで管理データを搬送する)。この例では、管理データの量が1つ以上のリンクのスレッシュホールドを越えるとプロセス600で決定された場合に、プロセス600は、混雑したリンク(1つ又は複数)を経て送信する1つ以上の被管理ノードにおける管理トラフィックの減少により管理トラフィックの全体的な減少を達成できると決定する。例えば、1つの実施形態において、管理データがリンクのスレッシュホールドを越え、そして3つの異なるネットワーク要素がこのリンクを経て管理データを転送する場合には、プロセス600は、3つのネットワーク要素の1つ、2つ又は全部に対して管理データの量を減少する特定の変更を決定することができる。影響を受けるネットワーク要素の特定の変更は、少数の管理データ形式をレポートし、低い頻度で管理データをレポートし、及び/又はそれを組み合わせて行う。1つの実施形態では、これらの特定の変更は、影響を受けるネットワーク要素に対して同じである(例えば、同じ管理データに対するレポート頻度を減少する)。別の実施形態では、特定の変更は、異なるネットワーク要素に対して異なるものである(例えば、異なるネットワーク要素又は管理データに対して異なる量だけレポート頻度を減少し、あるネットワーク要素についてはレポート頻度を減少し且つ他のネットワーク要素については幾つかの又は全ての管理データのレポートをターンオフし、変更を行わず、及び/又はそれらの組み合わせ)。1つの実施形態では、スレッシュホールドは、パーセント帯域巾、ハードキャップ(例えば、1ギガビット/秒)、等である。この例では、プロセス600は、1つ以上の被管理ノードによって出力される管理データの形式及び/又はレートを変更することによりリンクの管理データ利用度を動的に変更する。
【0051】
図7は、検出されたシステムイベントに応答して管理データをどのように管理するかを動的に変更するシステム700の一実施形態のブロック図である。
図7において、システム700は、被管理ノード712A−Nを監視及び運営するのに使用されるNMS706を備えている。1つの実施形態では、システムアドミニストレータが、装置702において実行されるネットワーク管理ユーザインターフェイス704を通してNMS706と相互作用する。1つの実施形態では、NMS706は、被管理ノード712A−Nを管理するのに使用されるネットワーク管理モジュール708と、NMS706により収集される管理データを記憶するネットワークデータベース728とを備えている。更に、ネットワーク管理モジュール708は、管理データをどのように管理するかを動的に変更するネットワーク自動エンジン710を備えている。更に、被管理ノード712A−Nの各々は、エージェント714A−N、1つ以上のサービス716A−N、及びストレージ718A−Nを備えている。1つの実施形態では、エージェント714A−Nは、被管理ノード714A−Nで実行されるモジュールであって、その被管理ノード714A−Nを管理するためのインターフェイスをなすモジュールである。被管理ノード712A−Nにおいて実行されるサービス716A−Nは、それらサービスをホストする被管理ノードに通信結合されたネットワーク内の他の装置に1つ以上の機能を与える1組のプロセスである。1つの実施形態では、ストレージ718A−Nは、管理データを記憶する。
【0052】
1つの実施形態では、ネットワーク管理モジュール708は、イベントを検出する(720)。例えば、1つの実施形態では、ネットワーク管理モジュール708は、ネットワークデータベース728に質問することによりイベントを検出する。ネットワーク管理モジュール708は、影響を受ける被管理ノードを決定し、そしてそれに対応するコマンド(1つ又は複数)を、影響を受ける各被管理ノードへ送信する(722)。
図7に示すように、1つの実施形態では、ネットワーク管理モジュール708は、影響を受ける2つの被管理ノード、即ち被管理ノード712A及び712Nがあることを決定する。これら被管理ノード712A及び712Nの各々に対するエージェント714A及び714Nは、ネットワーク管理モジュール708から各コマンドを受け取る。これらのエージェント714A及び714Nは、対応する被管理ノード712A及び712Nにおいて管理データをどのように管理するかを変更する各コマンドを適用する(724A、724B)。エージェント714A及び714Nは、適用されたコマンドに基づいて管理データを配信する(726A及び726B)。この実施形態は、NMS706と、被管理ノード712A及び712Nのエージェント各々714A及び714Nとの間の管理データコントロールの動的な性質を示す。
【0053】
上述したように、検出されるイベントは、ユーザインターフェイスイベントである。1つの実施形態では、ユーザインターフェイスイベントは、ユーザが被管理ノード又は被管理ノードの特定コンポーネントを見るようにネットワーク管理ユーザインターフェイスをナビゲートする場合に発生する。
図8は、検出されたユーザインターフェイスイベントに応答して管理データをどのように管理するかを動的に変更するプロセス800の一実施形態のフローチャートである。1つの実施形態では、プロセス800は、
図1のネットワーク自動エンジン110のような、管理データの管理を動的に変更するためのネットワーク自動エンジンにより遂行される。
図8において、プロセス800は、ブロック802において、1つ以上の被管理ノードに対するユーザインターフェイスイベントを検出する。1つの実施形態では、ユーザインターフェイスイベントは、ユーザ(例えば、システムアドミニストレータ)が、被管理ノードのグループ、単一の被管理ノード、又は被管理ノードの特定コンポーネントを見るようにナビゲートしたとの指示である。例えば、1つの実施形態では、システムアドミニストレータは、特定の被管理ノードを見るようにナビゲートし、プロセス800は、ビュー被管理ノードイベントを検出する。別の例として、別の実施形態では、システムアドミニストレータが被管理ノードの特定のコンポーネント(例えば、スイッチのポート、バーチャルマシンのサービス、等)を見るようにナビゲートする場合には、プロセス800は、それに対応するビュー被管理ノードコンポーネントイベントを検出する。
【0054】
ブロック804において、プロセス800は、検出されたイベントが、管理データをどのように管理するかの変更をトリガーするかどうか決定する。1つの実施形態では、プロセス800は、イベント通知によって表されたイベントに一致するルールがあるかどうか決定することにより、検出されたユーザインターフェイスイベントが管理データ変更をトリガーするかどうか決定する。例えば、1つの実施形態では、ユーザインターフェイスが特定の被管理ノードを見るようにナビゲートしたとプロセス800が決定した場合、この検出されたイベントは、その被管理ノードが管理データの顕著な詳細をNMSへレポートするための変更をトリガーする。別の例として、別の実施形態では、ユーザインターフェイスが被管理ノードの特定のコンポーネントを見るようにナビゲートしたとプロセス800が決定した場合、この検出されたイベントは、その被管理ノードがそのコンポーネントについての管理データの顕著な詳細をレポートするための変更をトリガーする。ユーザインターフェイスイベントが変更をトリガーしない場合には、実行は、前記ブロック802へ進む。
【0055】
ユーザインターフェイスイベントが変更をトリガーする場合には、ブロック806において、プロセス800は、検出されたユーザインターフェイスイベントによりどの被管理ノードが影響を受けるか識別する。1つの実施形態では、影響を受ける被管理ノードは、検出されたユーザインターフェイスイベントにおいて指示され且つそこにナビゲートされるノードである。別の実施形態では、影響を受けるノードは、検出されたユーザインターフェイスイベントにおいて指示され且つそこからナビゲートされるノードである。
【0056】
ブロック808において、プロセス800は、影響を受ける各被管理ノードについての変更を決定する。1つの実施形態では、プロセス800は、ユーザインターフェイスイベントが変更をトリガーすると決定したルールからの特定の変更を決定する。例えば、1つの実施形態では、スイッチA及びBのような被管理ノードのグループを見るシステムアドミニストレータのユーザインターフェイスナビゲーションのシーケンスについて考える。この例では、システムアドミニストレータは、最初、両スイッチを見(ビュー1)、その後、スイッチAを見(ビュー2)、次いで、スイッチAのポートを見(ビュー3)、そして最後に、スイッチBを見る(ビュー4)ようナビゲートする。ビュー1では、変更は、スイッチA及びBが一般的な管理データをNMSにレポートし、そしてNMSがこの情報を、ユーザインターフェイスを経てシステムアドミニストレータに提示するというものである。例えば、1つの実施形態では、各スイッチは、そのスイッチの一般的な全状態をレポートするように命令される(例えば、スイッチングがアップされて通常に機能する)。ビュー2へ変化すると、その変更は、被管理ノードAが付加的な管理データをレポートするものとなる。例えば、1つの実施形態では、スイッチAは、スイッチAの付加的な統計データをレポートするように命令される(例えば、受信、送信及び/又はドロップされた合計パケット)。或いは又、変更は、それらの付加的な統計データを高い頻度でレポートすることである。例えば、1つの実施形態では、スイッチAは、受信、送信及び/又はドロップされた合計パケットを毎分レポートし、そして変更は、統計データをリアルタイムで(例えば、統計データが収集されるや否や)又は近リアルタイムで(例えば、毎秒又はそれ以下で)レポートすることである。スイッチAのポートの1つのビューであるビュー3へ切り換わることにより、変更は、その特定ポートの統計データをレポートすることである(例えば、スイッチAのポート1を見る場合には、変更は、そのポートの統計データ、例えば、ポート1についての受信、送信、ドロップされたパケット、等のレポートをターンオンすることである)。或いは又、ポートベースの統計データは、高い頻度でレポートすることができる(例えば、これらの統計データをリアルタイム又は近リアルタイムでレポートする)。ビュー4において、システムアドミニストレータは、スイッチAの詳細ビューからスイッチBの一般的ビューへと切り換わる。1つの実施形態では、変更は、スイッチA及びBの両方に対するものである。というのは、スイッチAは、NMSへの詳細なシステム及びポート統計データのレポートをターンオフし、そしてスイッチBは、NMSへの一般的なスイッチ統計データのレポートをターンオンするからである。或いは又、スイッチAの統計データのレポート頻度が減少され、そしてスイッチBの統計データのレポート頻度が増加される。別の実施形態では、付加的な統計データにレポートを、増加/減少された統計データのレポートと組み合わせてターンオン/オフすることができる。これは、このシステムのための管理データの管理の動的な性質を示す。システムアドミニストレータは、ユーザインターフェイスを通してネットワークのビューを切り換えるので、NMSにレポートされる管理データの形式及び頻度が変化する。
【0057】
ブロック810において、プロセス800は、対応するコマンドを、影響を受ける各被管理ノードへ送信する。1つの実施形態では、プロセス800は、検出されたイベントが変更をトリガーすると決定したルールからの特定の変更を決定する。例えば、1つの実施形態では、対応するコマンドは、ある管理データのレポートをターンオン/オフし(例えば、ポート統計データのビューへの/からのナビゲートに応答してポート統計データのレポートをターンオン/オフし)、及び/又は管理データレポート頻度を増加/減少する(例えば、ポート統計データのビューへの/からのナビゲートに応答してポート統計データのレポート頻度を増加/減少する)ことができる。
【0058】
プロセス800は、ブロック812において、影響を受ける管理ノードから管理データを受け取る。1つの実施形態では、プロセス800は、付加的な管理データ、及び/又は管理データを高い頻度で受け取る。プロセス800は、ブロック812において、受け取った管理データをユーザインターフェイスへ送る。
【0059】
図9は、検出されたユーザインターフェイスイベントに応答して管理データをどのように管理するかを動的に変更するシステム900の一実施形態のブロック図である。
図9において、システム900は、被管理ノード912A−Nを監視し及び運営するのに使用されるNMS906を備えている。1つの実施形態では、システムアドミニストレータは、装置902で実行されるネットワーク管理ユーザインターフェイス904を通してNMS906と相互作用する。
図1において述べたように、NMS906は、被管理ノード912A−Nを管理するのに使用されるネットワーク管理モジュール908を備えている。更に、ネットワーク管理モジュール908は、管理データをどのように管理するかを動的に変更するネットワーク自動エンジン910を備えている。更に、被管理ノード912A−Nの各々は、エージェント914A−N、1つ以上のサービス916A−N、及びストレージ918A−Nを備えている。1つの実施形態では、エージェント914A−Nは、被管理ノード914A−Nで実行されるモジュールであって、その被管理ノード914A−Nを管理するためのインターフェイスをなすモジュールである。被管理ノード912A−Nにおいて実行されるサービス916A−Nは、それらサービスをホストする被管理ノードに通信結合されたネットワーク内の他の装置に1つ以上の機能を与える1組のプロセスである。1つの実施形態では、ストレージ918A−Nは、管理データを記憶する。
【0060】
1つの実施形態では、ユーザは、1つ以上の被管理ノードを見るようにユーザインターフェイスをナビゲートする(920)。例えば、1つの実施形態では、ユーザは、被管理ノード912A又は被管理ノード912Aの特定のコンポーネントを見るようにナビゲートすることができる。ネットワーク管理モジュール908は、このユーザナビゲーションを検出し、そして被管理ノードのどれが影響を受けるか決定する(922)。例えば、1つの実施形態では、影響を受ける被管理ノードは、被管理ノード912Aである。ネットワーク管理モジュールは、管理されるデータ管理変更のためのコマンドを、影響を受けるノード912Aへ送信する(924)。エージェント914Aは、管理データの管理コマンドを受け取り、そしてこのコマンドを適用して、管理データの管理変更を適用する(926)。エージェント914Aは、適用されたコマンドに基づいて管理データを配信する(928)。この実施形態は、ユーザインターフェイスをナビゲートするユーザのアクションに基づいてNMS906とエージェント914Aとの間の管理データコントロールの動的な性質を示す。
【0061】
図10は、管理データをどのように収集し及び/又はネットワーク管理システムと通信するか管理するネットワーク自動エンジン110の一実施形態のブロック図である。1つの実施形態では、ネットワーク自動エンジン110は、検出イベントモジュール1002、イベントトリガーモジュール1004、被管理ノード識別子1006、及び管理データコマンドモジュール1008を備えている。検出イベントモジュール1002は、
図3のブロック302で述べたように、イベントを検出する。イベントトリガーモジュール1004は、
図3のブロック304で述べたように、検出されたイベントがトリガーするかどうか決定する。被管理ノード識別子1006は、
図3のブロック306で述べたように、影響を受ける被管理ノードを識別する。管理データコマンドモジュール1008は、
図3のブロック308で述べたように、官吏変更コマンドを送信する。
【0062】
図11は、管理データをどのように収集し及び/又はネットワーク管理システムと通信するか管理するネットワーク自動エンジン110の別の実施形態のブロック図である。1つの実施形態では、ネットワーク自動モジュール110は、被管理ノードイベントモジュール1102、システム分析モジュール1104、及びユーザインターフェイスナビゲーションモジュール1106を備えている。この実施形態では、被管理ノードイベントモジュール1102は、
図4において述べたように、被管理ノードからのイベント識別に基づいて管理データの管理を動的に変更する。システム分析モジュール1104は、
図6において述べたように、検出されたシステムイベントに基づき管理データの管理を動的に変更する。ユーザインターフェイスナビゲーションモジュール1106は、
図8において述べたように、ユーザインターフェイスナビゲーションイベントに基づいて管理データの管理を動的に変更する。
【0063】
図12は、被管理ノードから受け取った検出されたイベントに応答して、管理データをどのように管理するかを動的に変更する被管理ノードイベントモジュール1102のブロック図である。1つの実施形態では、被管理ノードイベントモジュール1102は、エージェントイベントモジュール1202、エージェントイベントトリガーモジュール1204、被管理ノード識別子1206、管理データコマンド決定モジュール1208、及び送信コマンドモジュール1210を備えている。この実施形態では、エージェントイベントモジュール1202は、
図4のブロック402において上述したように、エージェントからイベント通知を受け取る。1つの実施形態では、エージェントイベントモジュール1202は、イベント通知を記憶するのに使用されるメモリを備えている。エージェントイベントトリガーモジュール1204は、
図4のブロック404において上述したように、イベントが変更をトリガーするかどうか決定する。被管理ノード識別子1206は、
図4のブロック406において上述したように、影響を受ける被管理ノードを識別する。管理データコマンド決定モジュール1208は、
図4のブロック408において上述したように、影響を受ける各被管理ノードについてコマンドを決定する。送信コマンドモジュール1210は、
図4のブロック410において上述したように、影響を受ける各被管理ノードへコマンドを送信する。
【0064】
図13は、検出されたシステムイベントに応答して管理データをどのように管理するかを動的に変更するシステム分析モジュール1104のブロック図である。1つの実施形態では、システム分析モジュール1104は、システム分析イベントモジュール1302、システムイベント検出モジュール1304、システムイベントトリガーモジュール1306、システム被管理ノード識別子モジュール1308、システム管理データコマンド決定モジュール1310、及びシステム送信コマンドモジュール1312を備えている。1つの実施形態では、システム分析イベントモジュール1302は、
図6のブロック602において上述したように、イベントに対するシステム条件を分析する。システムイベント検出モジュール1304は、
図6のブロック604において上述したように、システムイベントを検出する。1つの実施形態では、システムイベント検出モジュール1304は、検出されたイベントを記憶するのに使用されるメモリを備えている。システムイベントトリガーモジュール1306は、
図6のブロック606において上述したように、検出されたシステムイベントが変更をトリガーするかどうか決定する。システム被管理ノード識別子モジュール1308は、
図6のブロック608において上述したように、影響を受ける被管理ノードを識別する。システム管理データコマンド決定モジュール1310は、
図6のブロック610において上述したように、影響を受ける各被管理ノードに対して管理データコマンドを決定する。システム送信コマンドモジュール1312は、
図6のブロック612において上述したように、コマンドを送信する。
【0065】
図14は、検出されたユーザインターフェイスイベントに応答して管理データをどのように管理するかを動的に変更するユーザインターフェイスナビゲーションモジュール1106のブロック図である。1つの実施形態では、ユーザインターフェイスナビゲーションモジュール1106は、検出ユーザインターフェイスモジュール1402、ユーザインターフェイスイベントトリガーモジュール1404、被管理ノード識別子モジュール1406、ユーザインターフェイス管理データコマンド決定モジュール1408、送信コマンドモジュール1410、受信管理データモジュール1412、及び送信管理データモジュール1414を備えている。1つの実施形態では、検出ユーザインターフェイスモジュール1402は、
図8のブロック802において上述したように、ユーザインターフェイスイベントを検出する。1つの実施形態では、検出ユーザインターフェイスモジュール1402は、検出されたイベントを記憶するのに使用されるメモリを備えている。ユーザインターフェイスイベントトリガーモジュール1404は、
図8のブロック804において上述したように、検出されたユーザインターフェイスイベントが変更をトリガーするかどうか決定する。被管理ノード識別子モジュール1406は、
図8のブロック806において上述したように、影響を受ける被管理ノードを識別する。ユーザインターフェイス管理データコマンド決定モジュール1408は、
図8のブロック808において上述したように、管理データ変更コマンドを決定する。送信コマンドモジュール1410は、
図8のブロック810において上述したように、コマンドを送信する。受信管理データモジュール1412は、
図8のブロック812において上述したように、更新された管理データを受け取る。送信管理データモジュール1414は、
図8のブロック814において上述したように、更新された管理データをユーザインターフェイスへ送信する。
【0066】
図15は、本発明の一実施形態に使用されるデータ処理システム1500の一例を示す。例えば、このシステム1500は、
図1に示すNMS106を含むように実施される。
図15は、コンピュータシステムの種々のコンポーネントを示すが、それらのコンポーネントを相互接続する特定のアーキテクチャー又は方法を表すことを意図していないことに注意されたい。というのは、そのような詳細は、本発明に関係がないからである。又、それより少数のコンポーネント又はおそらくそれより多数のコンポーネントを有するネットワークコンピュータ及び他のデータ処理システム又は他の消費者向け電子装置も本発明に使用できることが明らかである。
【0067】
図15に示すように、データ処理システムの一形態であるコンピュータシステム1500は、マイクロプロセッサ1505、ROM(リードオンリメモリ)1507、揮発性RAM1509、及び不揮発性メモリ1511に結合されたバス1503を備えている。マイクロプロセッサ1505は、メモリ1507、1509、1511からインストラクションを検索し、そしてそれらインストラクションを実行して、上述した動作を遂行する。バス1503は、これらの種々のコンポーネントを一緒に相互接続すると共に、これらのコンポーネント1505、1507、1509及び1511をディスプレイコントローラ及びディスプレイ装置1515へ、並びに周辺装置、例えば、マウス、キーボード、モデム、ネットワークインターフェイス、プリンタ、及び良く知られた他の装置である入力/出力(I/O)装置へも相互接続する。典型的に、入力/出力装置1515は、入力/出力コントローラ1517を通してシステムに結合される。揮発性RAM(ランダムアクセスメモリ)1509は、典型的に、メモリにデータを維持し又はリフレッシュするために常時電力を必要とするダイナミックRAM(DRAM)として実施される。
【0068】
大量ストレージ1511は、典型的に、システムから電力を除去した後もデータ(例えば、大量のデータ)を維持する磁気ハードドライブ、又は磁気光学ドライブ、又は光学ドライブ、又はDVD RAM、又はフラッシュメモリ、又は他の形式のメモリシステムである。典型的に、大量ストレージ1511も、ランダムアクセスメモリであるが、これは必要なことではない。
図15は、大量ストレージ1511がデータ処理システムの残りのコンポーネントに直結されたローカル装置であることを示しているが、本発明は、システムから離れた不揮発性メモリ、例えば、モデム、イーサネット(登録商標)インターフェイス又はワイヤレスネットワークのようなネットワークインターフェイスを通してデータ処理システムに結合されたネットワークストレージ装置を利用できることが明らかである。バス1503は、良く知られたように、種々のブリッジ、コントローラ及び/又はアダプタを通して互いに接続された1つ以上のバスを含む。
【0069】
以上に述べた部分は、専用ロジック回路のようなロジック回路、或いはプログラムコードインストラクションを実行するマイクロコントローラ又は他の形態の処理コアで実施される。従って、以上の説明で教示されたプロセスは、インストラクションを実行するマシンに幾つかの機能を遂行させるマシン実行可能なインストラクションのようなプログラムコードで遂行される。この点において、「マシン」とは、中間形態(又は「アブストラクト」)インストラクションを、プロセッサ特有のインストラクションへ変換するマシン(例えば、アブストラクト実行環境、例えば、「バーチャルマシン」(例えば、Java(登録商標)バーチャルマシン)、インタープリター、共通言語ランタイム、高レベル言語バーチャルマシン、等)、及び/又は汎用プロセッサ及び/又は特殊目的プロセッサのようなインストラクションを実行するように設計された半導体チップ上に配置された電子回路(例えば、トランジスタで実施される「論理回路」)である。又、以上の説明で教示されるプロセスは、プログラムコードを実行せずにプロセス(又はその一部分)を遂行するように設計された電子回路により遂行されてもよい(マシンとは別に又はマシンと組み合わせて)。
【0070】
又、本発明は、ここに述べる動作を遂行するための装置にも関する。この装置は、特に、要求された目的のために構成されてもよいし、或いは記憶されたコンピュータプログラムにより選択的に作動され又は再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、コンピュータ読み取り可能なストレージ媒体、例えば、これに限定されないが、フロッピー(登録商標)ディスク、光学的ディスク、CD−ROM、及び磁気−光学ディスクを含む任意の形式のディスク、RAM、EPROM、EEPROM、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適当な任意の形式の媒体に記憶され、それらは、各々、コンピュータシステムバスに結合される。
【0071】
マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)により読み取り可能な形態で情報を記憶し又は送信するためのメカニズムを含む。例えば、マシン読み取り可能な媒体は、リードオンリメモリ(ROM);ランダムアクセスメモリ(RAM);磁気ディスクストレージ媒体;光学的ストレージ媒体;フラッシュメモリ装置;等を含む。
【0072】
製造物品は、プログラムコードを記憶するのに使用される。プログラムコードを記憶する製造物品は、1つ以上のメモリ(例えば、1つ以上のフラッシュメモリ、ランダムアクセスメモリ(スタティック、ダイナミック、等))、光学ディスク、CD−ROM、DVD ROM、EPROM、EEPROM、磁気又は光学カード、或いは電子インストラクションを記憶するのに適した他の形式のマシン読み取り可能な媒体として実施されるが、これに限定されない。又、プログラムコードは、伝播媒体で実施されるデータ信号により(例えば、通信リンク(例えば、ネットワーク接続)を経て)リモートコンピュータ(例えば、サーバー)から要求側コンピュータ(例えば、クライアント)へダウンロードされてもよい。
【0073】
以上の詳細な説明は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び記号表示に関して表現されている。これらのアルゴリズム記述及び表示は、データ処理分野の当業者により彼等の仕事の実質を他の当業者に最も効率的に伝えるために使用されるツールである。アルゴリズムとは、ここでは、一般的に、望ましい結果を導く自己矛盾のない動作シーケンスであると考えられる。動作は、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気的又は磁気的信号の形態をとる。主として、慣用上、これらの信号は、ビット、値、エレメント、記号、キャラクタ、期間、数、等として参照するのが便利であると分かっている。
【0074】
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、そしてそれらの量に適用される便宜的表示に過ぎないことを銘記されたい。特に指示のない限り、以上の説明から明らかなように、この説明全体を通して、「受信」「決定」「送信」「送出」「転送」「検出」「レポート」「収集」「通信」等の用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理的(電子的)量として表されたデータを操作し、そしてコンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及び処理を参照するものである。
【0075】
ここに述べるプロセス及びディスプレイは、特定のコンピュータ又は他の装置に固有に関係していない。種々の汎用システムを、ここに述べる技術によるプログラムと共に使用してもよいし、或いはここに述べる動作を遂行するように更に特殊な装置を構成するのが便利であると分かっている。種々のこれらシステムに要求される構造は、以上の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明していない。上述した本発明の教示を具現化するのに種々のプログラミング言語を使用できることが明らかであろう。
【0076】
以上、本発明の幾つかの規範的実施形態を単に説明した。当業者であれば、そのような説明、添付図面、及び特許請求の範囲から、本発明の精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。