JP2005502104A - 計算インフラストラクチャに対する変更を管理するシステム - Google Patents
計算インフラストラクチャに対する変更を管理するシステム Download PDFInfo
- Publication number
- JP2005502104A JP2005502104A JP2003504264A JP2003504264A JP2005502104A JP 2005502104 A JP2005502104 A JP 2005502104A JP 2003504264 A JP2003504264 A JP 2003504264A JP 2003504264 A JP2003504264 A JP 2003504264A JP 2005502104 A JP2005502104 A JP 2005502104A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- bean
- node
- manager
- dynamic
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
要約書なし。
Description
【技術分野】
【0001】
[関連出願への相互参照/優先権の主張]
本出願は、2001年6月11日出願の米国特許出願第60/297,512号に対する優先権の利益を主張し、当該出願は全体として参照により本明細書に援用される。
【0002】
[連邦政府による資金提供を受けた研究または開発に関する記載]
該当なし。
【0003】
[付録の参照]
該当なし。
[発明の分野]
【0004】
本発明は、包括的には計算および/またはネットワーク管理に関し、特に計算インフラストラクチャに対する変更を管理する改善された方法、装置、および製品に関する。
[発明の背景]
【0005】
従来、計算インフラストラクチャ変更管理技法は、すべての潜在的影響が理解され適当なサインオフが達成され得るように、変更が起こる前に変更を公開するプロセスおよび方法を伴う。上記の手法は、必要ではあるが、しばしば時間がかかり面倒である。
【0006】
さらに、公式の変更プロセスを実施する組織はしばしば、許可された変更と混在した無許可の変更に悩まされている。業界で使用されている変更管理のための典型的手法は先行型(proactive)であるが、無許可の、またはさらには偶発的な変更は扱われない。
【0007】
したがって、計算インフラストラクチャに対する変更を管理する包括的方法、特に計算インフラストラクチャに対する無許可の、および偶発的な変更を検出するための解決法が必要とされている。
[発明の概要]
【0008】
本解決法は、とりわけ、計算インフラストラクチャに対する変更を管理する改善された装置、方法、および製品を提供することによって従来技術の上記の問題を解決する。
【0009】
したがって、「レポーティングとグルーピング」のセクションでさらに説明する本発明の一態様によれば、例示的な計算インフラストラクチャに対する変更を管理するためにノードおよび属性のグルーピングのための少なくとも1つの例示的手法が提供される。
【0010】
「複数行コンフィギュレーション」のセクションでさらに説明する本発明の第2態様によれば、複数行の値を単一値に要約するためにチェックサムやデジタル署名のような値を用いて、複数の属性を高レベルでの単一属性として報告する少なくとも1つの例示的手法が提供される。この場合ユーザが変更の詳細にドリルダウンすることができる。
【0011】
「データベース更新」のセクションでさらに説明する本発明の第3態様によれば、変更通知イベントを用いて複数のデータベーステーブルとソースコピーとの同期を保つ少なくとも1つの例示的手法が提供される。
【0012】
「ダイナミックビーンと制御ビーンのペア」のセクションでさらに説明する本発明の第4態様によれば、1つをダイナミックビーンとし、もう1つを制御ビーンとするデュアルビーンを用いてダイナミックビーンの属性およびコンフィギュレーションを管理する少なくとも1つの例示的手法が提供される。
【0013】
「属性テスト」のセクションでさらに説明する本発明の第5態様によれば、属性に関連する値を設定する手段としてコマンドを使用する少なくとも1つの例示的手法が提供される。コマンドはシンプルまたはダイナミックビーンを用いて実行される。コマンドは、内部Javaコマンド、メソッドもしくは機能、外部システム、アプリケーションユーティリティまたは対話的プログラムであってもよい。
【0014】
「Java/JMXの拡張」のセクションでさらに説明する本発明の第6態様によれば、対話的コマンド等の非JavaアプリケーションコマンドにJavaを接続するパイプの使用を含む、Javaプログラムと、システムもしくはアプリケーションユーティリティまたは対話的コマンドとの間のブリッジが提供される。
【0015】
「ゲートウェイ」のセクションでさらに説明する本発明の第7態様によれば、Java/JMXを用いてエージェントレスノードを管理する少なくとも1つの例示的手法およびファイアウォールを通るトンネルとしてJava/JMXを拡張する方法が提供される。
【0016】
「新しいデータウェアハウスアーキテクチャ」のセクションでさらに説明する本発明の第8態様によれば、アーカイブオブジェクトを活用した法人データウェアハウスアーキテクチャ構築のための少なくとも1つの例示的手法が提供される。この新しいデータウェアハウスモデルは、データを集中的に格納せず、被管理ノード(Managed Node)またはゲートウェイにあるアーカイブオブジェクトを用いてデータを格納する。これは、大規模な集中化データウェアハウスノードの購入を避け、法人被管理ノード上の既存の未利用資源(CPU、ディスクおよびメモリ)1を利用してデータウェアハウス機能を実行する。
【0017】
本発明のこれらおよびその他の態様、特徴および利点は、以下の説明および添付図面によって、より良く理解されるであろう。
【0018】
本発明の実施形態は添付図面を参照して説明される。
[発明の詳細な説明]
【0019】
さらに詳細に図面を参照すると、例示目的で、本発明は、図1〜図12に包括的に示されるシステム構成、動作方法および製品または製造物として具現化される。このシステム、動作方法および製品は、本明細書に開示される基本概念から逸脱することなく、その構成および動作の詳細について変更してもよいことが理解されるであろう。したがって、本明細書の諸実施形態に関して記載される以下の説明は、限定的な意味で解釈されてはならない。
【0020】
[高レベルの説明]
図1は、本発明の全体的アーキテクチャを示している。これは、マネージャ(図1−1.0、2.0、2.1、2.2)、ゲートウェイを有するマネージャ(図1−3.0)、ゲートウェイ(図1−4.0)、エージェントを有する被管理ノード(図1−5.1、5.2、5.3等)、エージェントレス(Agentless)である被管理ノード2(図1−6.0、6.1、6.2等)、ノードのように管理可能なアプリケーションソフトウェア等のソフトウェア3(図1−7.0、7.1等)、および管理可能なスペシャルデバイス4(図1−8.0、8.1等)からなる。
【0021】
エージェントは被管理ノード上に構成可能であり(図2−A.1)、ゲートウェイ(図2−A.3)は、エージェントソフトウェアがインストールされていない被管理ノードによるエージェントレスのコンフィギュレーション(図−A.4)を可能にするように構成可能である。エージェントレス被管理ノードは、特殊なエージェントソフトウェアを被管理ノードにインストールすることを必要とせずに本発明が管理することができるノードである5。例えば、ルータやストレージエリアネットワークスイッチがエージェントレスデバイスとして管理されてもよい。それはあるコンフィギュレーションのエージェントを用いてこのエージェントレス接続を達成する。そのエージェントは本例ではゲートウェイとして示されている(図1 3.0、4.0−図2 A.3)。ゲートウェイは、マネージャから独立した専用ゲートウェイノード(図1−4.0)上で実行されてもよく、またはゲートウェイ機能はマネージャノード上で実行されてもよい(図1−3.0)。
【0022】
エージェントは、複数のシンプルまたはダイナミックビーン(図2−1.0、3.0、4.0および6.0)からなる。シンプルおよびダイナミックビーンは属性のリスト(図5−2.x、3.xおよび4.x)を管理するために使用される。シンプルビーン(図9−3.0)は属性の固定リストを管理し、ダイナミックビーン(図9−1.0)は制御ビーン(図9−2.0)経由で環境設定される可変リストを管理する。
【0023】
ダイナミックビーン内の属性は、被管理ノードでグルーピングされて(図9−2.3 Attribute-Group1)単一属性として報告されてもよく、または各属性が独立に報告されてもよい。属性は、同じくレポーティングおよび表示の目的で、マネージャでグルーピングされてもよい(図7−1.x)。ノードもまた、マネージャでグルーピングされてもよい(図6−5.0および5.3)。これらのオプションは、ユーザによって完全に構成可能な計算インフラストラクチャに対する変更の特殊なレポーティングおよび表示(図5−1.1、図6−1.1、図7−1.1)を可能にする。場合によっては、複数行変更が検出されると、チェックサムまたはデジタル署名を用いて複数の出力行を単一値に要約する(図8−3.1)。ドリルダウン機能6を用いて特定の属性を表示することができる(図8−5.0)。これらのレポートおよび表示は、マネージャノード(図2−A.2)のデータベーステーブル(図2−2.5.a、2.5bおよび2.5c)から導出される。
【0024】
ノード固有のコンフィギュレーションおよびレポーティングは、エージェントのコマンドおよび制御インタフェース(図3−4.0)経由で被管理ノード上で実行することができる。企業規模のコンフィギュレーションおよびレポーティングは、ノード固有のものとともに、マネージャのコマンドおよび制御インタフェース(図3−3.2)から行われる。
【0025】
機能はビーンを用いて分散される。シンプルビーンは、特定のタスクのために「ハードコード」され、一定の属性を含む。より包括的なダイナミックビーン機能は通常ペアで分散され7、その場合、制御ビーンがダイナミックビーンを管理するために使用される(図9)。制御ビーンは、属性の名前と、ダイナミックビーンが実行することになる特定のテストを指定する。制御ビーンは選択されたテストを実行せず、それはダイナミックビーンが実行することになるテストを環境設定するために使用される。シンプルビーンはテストの固定リストを有するが、これは環境設定可能でないため、制御ビーンを必要としない8。ダイナミックビーンはテストを実行し、属性に対する値を設定する(fill)。これは、属性に対する変更された値として通知(Notify)イベント(図2−5.1、5.2、5.3および5.4)経由でマネージャ(複数可)に返される。ダイナミックビーンのPoll()メソッドが、例えば関連するデータベースを属性の最新値に同期させるために、マネージャによってコールされることも可能である(図9−1.2)。ダイナミックビーンに対してPoll()を使用すると、データベースは最初に属性に対する正しい名前および値で環境設定され、かつ/または1つもしくは複数のノードの停止後に最新に維持される。Notify()メカニズムを使用すると、変更のみがマネージャに送信される。
【0026】
[エージェント]
ビーン
ビーンは、有益な作業を実行するために使用されるコードの独立した断片である。ビーンは、1つまたは複数のマネージャに接続されたエージェント内で実行される。本解決法は、複数のエージェントを含む。すなわち、エージェントはビーンのコンテナである。ビーンは、1つまたは複数の属性のために実行される独立の作業主体である。ビーンは、独立に、またはペアで配備される。ペアで配備される場合、制御ビーンとダイナミックビーンが協力して、マネージャ(複数可)のための属性のリストを維持することをサポートする(図9)。スケジューラ(図2 2.0、7.0)は、ダイナミックビーンのためのテストをスケジューリングする特殊目的のビーンである(図2 2.0、3.0、4.0および6.0)。
【0027】
ダイナミックビーンと制御ビーンのペア
ペアで配備される場合、制御ビーンがダイナミックビーンを管理するために使用される9。図9はその関係を示している。マネージャが属性およびテストのリストで制御ビーンを更新する。図9−2.3、1.2および2.2において、memoryおよびnsocketsという名前は属性の例である。テストは、制御ビーンに対してマネージャによって指定される値である(図9−2.2)。図9におけるテスト値の例は、「getmemory」および「netstat -an | grep EST」である。制御ビーンは、マネージャにより更新されると、属性およびテストの名前をビーンコンフィグファイル(図9−2.3)に書き出す。ビーンコンフィグファイル内の値フィールドは、ダイナミックビーンが属性の値を導出するために実行する実際のテストである。例えば、ダイナミックビーンが「netstat -an | grep EST」コマンドを実行すると、これはnsocketsの値として被管理ノード上でオープンされているソケット接続の個数を設定する。マネージャは、複数の方法(例えば、図9−1.2に指定されているPoll()メソッド)でダイナミックビーンから属性の値を受け取り、テストの名前を制御ビーンにセットする。マネージャが制御ビーンのPoll()メソッドを呼び出すと(図9−2.2)、これは属性の値を、ダイナミックビーンが実行するように設定されているテストとみなす。ダイナミックビーンは、インスタンス化(起動)されるか、またはその公開インタフェース(図4−9.1)経由でreset()を受信すると、そのインコア(in-core)制御リストにビーンコンフィグ設定を再読込して適用する。それぞれの指定されている属性ごとに、ダイナミックビーンに対して、マネージャがExecuteNow()を実行するか、またはスケジューラがExecute()を実行すると、インコア制御リストに設定されているテストが実行され、属性の値がダイナミックビーンに設定される。ダイナミックビーンのPoll()メソッドが実行される場合にはいつでも、それは最新の属性値を返す10。ダイナミックビーンは、テストを実行している間に変更を検出した場合にはいつでも、マネージャへの通知イベント(図2−5.1、5.2、5.3、5.4)を発生し、マネージャがデータベースを更新する。マネージャ(図3−3.2)またはエージェント(図3−4.0)のコマンドおよび制御インタフェースが制御ビーンコンフィギュレーションを更新した場合にはいつでも、制御ビーンはマネージャへのNotify()イベントを発生してデータベースを更新する。なお、被管理ノードにより格納または所有されているデータについて、データベースはこのNotify()イベントメカニズムを用いて更新されることに留意されたい。これにより、あるマネージャでなされた変更が、被管理ノードまたはゲートウェイからイベントを受信するように登録されているすべてのマネージャと同期することが可能となる。シンプルビーンについても同様である。
【0028】
ビーンインタフェース
シンプルビーンは、マネージャに対して一定の属性と、ダイナミックビーンによって公開されるインタフェースのサブセットを公開する。特殊なシンプルまたはダイナミックビーンは、追加のインタフェースを公開することができる。ダイナミックビーン(図4−1.)は、制御ビーン(図4−2.0)経由で設定されたテストまたは機能を実行する。これらのテストおよびすべてのビーンは、ダイナミックビーンに対するいくつかの公開インタフェース11経由で制御することができる。公開インタフェースには以下のものがある(図4)が、これらには限定されない:
a)Execute()−これには属性名が渡され、その名前に関連するテストを実行する。Execute()(図2−2.1)は、変更が発生したかどうかを判定する。Execute()は、テストの結果をアーカイブ(図2−1.3)と比較することによってその判定を行い、変更が発生している場合、マネージャ(複数可)へのNotify()(図2−5.1)イベントを発生する。
b)ExecuteNow()−これには属性名が渡され、テストを実行し、テストの結果を呼出し側に返す。ExecuteNow()は、通知イベントを発生してもしなくてもよい。
c)Poll()−これは属性および値のリストを呼出し側に返す。Poll()がダイナミックビーン(図9 1.2)に対してコールされた場合に返される値は、最近のExecute()の最新値である。換言すると、Poll()は、テストに関連する最新の値を表示するだけであり、そのテストを実行しない。Poll()は、マネージャ(複数可)を実際の値と再同期させるために使用される。それらの実際の値は、好ましい実施形態では被管理ノードに格納される(しかし、代替実施形態ではその必要はない)。Poll()が制御ビーンに対して実行される場合、それは名前と、各属性ごとに設定されているテストへの引数を返す。
d)Reset()−resetは、ダイナミックビーンに対して、ビーンコンフィグファイル(図9 2.3)を再読込してインコア制御リストを更新するように通知する。インコア制御リストは、ビーンコンフィグファイルのメモリバージョンである。制御ビーンに対するreset()は、ビーンコンフィグファイルを再読込する。すなわち、制御ビーンをその最後にセーブされた状態に戻すようにリセットする。
e)Save()−ダイナミックビーンに対するSaveは、属性の名前および値をディスクにセーブして、ダイナミックビーンが再起動する時にその最後の既知の状態に復帰するようにする。それにより、属性の値はダイナミックビーンのインスタンス化を越えてセーブされ、ダイナミックビーンが起動するごとにテストを再実行する必要がなくなる。制御ビーンに対して実行されるSaveは、属性およびテストのインコアバージョンをビーンコンフィグファイルにセーブする(図9 2.1)。
【0029】
スケジューラ
スケジューラは、マネージャから(図3−3.2)または被管理ノード(もしくはゲートウェイ)上でローカルに(図3−4.0)のいずれかで事前にプログラムされた被管理ノード(図2−2.0、7.0)上で実行される。スケジューラは、ビーン(図2−1.0、3.0、4.0、6.0)の1つでビーンのExecuteメソッド経由で呼び出される特定の属性テストのスケジュールを含む。スケジューラは、スケジュール条件(例えば、毎時、毎月、毎日午後5時等)が検出されるとこれらのテストを自動的に呼び出す。本明細書では、スケジューラはダイナミックビーンとして(制御ビーンとともに)実施される12。
【0030】
アーカイブオブジェクト
被管理ノード上のデータはアーカイブオブジェクトによって保管される。これは、通常は被管理ノード上に格納される複数回の変更を保持する13。アーカイブオブジェクトは、1)変更の世代を維持し、2)最小量のディスクストレージにデータを維持する、という方法を同時にサポートする。シンプルまたはダイナミックビーンがテストを実行すると、それ(ビーン)はテストからの出力をアーカイブオブジェクトに格納する。アーカイブオブジェクトは、データの挿入および抽出を行うメソッドをサポートする。アーカイブオブジェクトはまた、Diff()メソッドを用いてアーカイブの2つの世代を比較する能力もサポートする。シンプルおよびダイナミックビーンはこのDiff()メソッドを用いて変更を検出する。変更がDiff()によって検出された場合、ビーンは、すべてのマネージャへの変更通知を発生することを知る。
【0031】
アーカイブのDiff()メソッドは、以下の「属性変換基準」のセクションに開示されるコンフィギュレーション比較基準に基づいて、複雑な変更通知を実行する。
【0032】
属性テスト
スケジューリングされる属性テストの名前は属性と同じ名前でもよい14。属性テストが呼び出されると、シンプルまたはダイナミックビーンがテストを実行し、そのテストが属性の値を設定する。例えば、属性テストはスケジューリングされて「memory」と名付けられてもよい。スケジューラによって呼び出されると、ダイナミックビーンは「インコア」制御リスト内で属性名(例えばmemory)を検索してテストを探し、見つかったら、その属性を設定する実行すべき機能(例えばgetmemory)にその属性名(例えばmemory)を関連づける。テストからの返値(例えばgetmemoryは512を返す)は、ダイナミックビーンのmemory属性に値を設定することになる(例えばmemory=512 MB)。
【0033】
図2において、executeメソッド(図2−1.0)がコールされると、それはテストの出力(図2−1.2)をアーカイブログ(図2−1.3)に書き出すローカル作業を実行する。アーカイブログは通常、エージェントを有する被管理ノード(図2−A.1)にローカルに存在する。execute()およびexecuteNow()の公開インタフェースは、指定されたテストを実行するだけでなく、テストからの出力が以前の実行と異なるかどうかを検出する。これは、アーカイブオブジェクトのDiff()メソッドを用いて行われる。テストからの出力が以前の出力と異なる場合、シンプルまたはダイナミックビーンは、変更通知イベントを発生し、マネージャノード(図2−A.2)上のイベントハンドラ(図2−5.0)に転送してもよい。
【0034】
Java JMXの拡張
Java JMXは、Javaアプリケーションを管理するシステムおよび方法を規定する。本発明は、Javaを超えてJMXの概念を拡張し、非Javaアプリケーションを管理するためのブリッジを提供する。これは、以下のような2つの例示的技法を用いて達成される:
1)シンプルまたはダイナミックビーン(図2−3.0)が、Shell、Perl、Nawk、C、C++等のような言語で書かれたシステム(非Java)コマンド(図2−3.2)を呼び出してテストを実行し、その結果(図2 3.1)をビーンに返す。このメカニズムによれば、Javaプログラム(またはある言語もしくはフレームワークで書かれたプログラム)が異なるフレームワークにおけるアプリケーションを管理することが可能となる。
2)ビーンはパイプ(図2−4.1)を用いてコマンドをシステムコマンドインタプリタまたは対話的プロセス(図2−4.2)に送る。このメカニズムによれば、Javaプログラム(またはある言語もしくはフレームワークで書かれたプログラム)が異なるフレームワークにおける対話的アプリケーションを管理することが可能となる。
【0035】
なお、Java JMXフレームワークは、アダプタがJava JMXから非Javaインタフェース(例えば、SNMP、HTTP等)への橋渡しをするために使用され得ることを開示していることに留意されたい。上記の技法は、より頑強でより簡易なJMXアダプタを書くためにも使用可能である。例えば、本明細書に開示されるシステムおよび方法を用いて、データベースを管理するようにJMXを拡張して、データベースマネージャの対話的コンフィギュレーションユーティリティ(例えば、Oracle SQLDBAタスク)を管理するために、JMXアダプタを書くことができる。同時に、本発明は、JMXアダプタを必要とせずに非Javaアプリケーションまたはシステムを管理する方法を提供する。
【0036】
ゲートウェイ
エージェントは、被管理ノードから独立したノード上で実行されるように構成されることが可能であり、その場合、SNMP、Telnet、FTP、HTTP、Secure Shell等のネットワーク相互接続ソフトウェアが、エージェントとエージェントレス被管理デバイスの間の橋渡しをするために使用される。この構成では、マネージャ(図2−A.2)は、エージェントレスデバイスと通信するためにゲートウェイ(図2−A.3)エージェントと通信する。ゲートウェイはまた、ファイアウォールを通るオープンされているプロトコル経由でゲートウェイがトンネルすることを可能にすることによって、ファイアウォールを通って通信を行うようにJava/JMXフレームワークを拡張する。ゲートウェイはさらに、既存のVPNソリューション、またはSecure Shell、Telnet、FTPまたは任意のリモート管理ソリューションの実施を活用してマネージャの到達範囲を拡張することにより、リモート管理がいかなるプロトコルでいかなる場所のノードやエージェントレスノードをも管理することを可能にすることができる。
【0037】
新しいデータウェアハウスアーキテクチャ
本解決法のもう1つの態様はさらに、法人データウェアハウスアーキテクチャを構築する新規な技法を提供することである。通常、データウェアハウスは、複数のフィーダシステムからのデータを含み、そのデータを、ビジネスを管理するために使用される法人データウェアハウスのデータモデルへと再フォーマットするためにETL(抽出、変換およびロード)メカニズムが使用される。データウェアハウスアーキテクチャは集中化され、ビジネスデータのコピーをこれらの大規模な集中化されたデータウェアハウスに格納する。データウェアハウスアーキテクチャは、時には、そのデータの全部または一部を、処理のために操作データストアまたはデータマートに供給する。
【0038】
本解決法のアーカイブオブジェクトは、被管理ノードにデータを保管する。そのデータは、変更データのみである必要はなく、組織がビジネス意思決定を行うために格納することを必要とするいかなるデータであってもよい。マネージャ上のデータベースは変更を格納するだけである必要はなく、「データマート」または「操作データストア」およびアーカイブオブジェクトとみなすことができ、すべてがまとまって作用して「データウェアハウス」とみなすことができる。
【0039】
本発明のアーカイブオブジェクトおよびフレームワークは、計算インフラストラクチャにおけるすべての被管理ノードまたはゲートウェイの間に分散したデータウェアハウスを格納するデータウェアハウスを構築するために使用されてもよい。データを被管理ノードから中央ウェアハウスに移動させるのではなく、被管理ノード上のディスクスペースがデータウェアハウスを構築するために利用され、これが組織のためのデータウェアハウスとして使用される。エージェントのextractメソッドは、この高度に分散したデータウェアハウスのコピーが操作データストアまたはデータマートに供給されることを可能にする。ビーンへの拡張された公開インタフェース(例えば、SQLシンタックス、ListPull、Extract)のセット経由であらゆるエージェントにクエリを分散させることによって、アーカイブに対する高度に分散したクエリがサポートされる。
【0040】
[マネージャ]
マネージャ
マネージャは、管理機能をサポートするためのGUIおよびビジネスロジックの両方を含む15。マネージャは、本解決法の諸態様および特徴にグラフィカルインタフェースを提供する。複数のマネージャがマネージャビーンを用いて相互接続されてもよい。それらのマネージャビーンは、あるマネージャが別のマネージャに対しエージェントとして見えるようにする特殊目的のビーンである16。複数のマネージャが単一のデータベースを共有してもよく、複数のマネージャがそれぞれ自己の独立のデータベースを有してもよい。
【0041】
属性変換基準
属性変換基準は、ベースライン値とターゲット値の間の、より複雑な比較を可能にする。これは、ベースライン属性内の変換機能を用いて達成される17。ベースライン(図6−1.0)は、ベースライン属性のリストが、属性一致基準のために使用される複数の変換機能を含むことも例示している。属性一致基準には以下のものがあるが、これらには限定されない:
1)属性は、(図6−1.0)のAttribute-Cのシンタックスを用いて表現されるベースラインに等しくなければならない。
2)属性は、(図6−1.0)のシンタックスAttribute-Bを用いて表現されるベースライン(しきい値)を超えてはならない。50.le−これは、ターゲット属性が50以下でなければならないと解釈される。
3)属性は、(図6 1.0)のシンタックスAttribute-Aを用いて表現されるベースライン(範囲)で指定される値の範囲内に入らなければならない。ターゲット属性は25以上50未満でなければならないと解釈される。
4)システムは、比較のためのオペレータの完全なリストを含む(例:.le、gt、(And)、| Or、if、While等)。
属性比較基準のリストはプログラム可能であり、このことは、フレキシブルで、拡張可能で、複雑な比較を可能にする。
【0042】
比較は、複数属性の集計を含んでもよい。これは、複数のノードに由来する複数のターゲット属性間の比較を複雑なルールと関連づけることを可能にする。これは、Attribute-E(図6−1.0)に表されており、この場合、関連づけオブジェクトが引数(この例ではルール)とともに指定される。
【0043】
属性変換基準は、レポーティングおよび表示のためにマネージャで使用されることも、変更を検出するために被管理ノードで使用されることも、いずれも可能である。
【0044】
データベース更新
このセクションは、変更通知メッセージまたはイベントの内容に基づいてデータベーステーブルへ変更をルーティングする方法を説明する。
【0045】
データベースはマネージャ上に配置され、変更データは被管理ノードに保管される。属性データのソースはアーカイブに由来し、ダイナミックビーンコンフィギュレーションデータのソースは被管理ノード(複数可)に格納される18。このデータ(アーカイブ/ビーンコンフィグ)のコピーがマネージャ内のデータベーステーブルに存在する。ダイナミックビーンのコンフィギュレーションに対する更新は、被管理ノード(複数可)上で制御ビーンを用いてビーンコンフィグファイルに格納される。ビーンコンフィグファイルに対する更新が発生すると、通知イベントが制御ビーンからマネージャ(複数可)に送られ、マネージャは自己のデータベーステーブルを更新してその変更を反映させる。テストがビーン(シンプルまたはダイナミック)上で実行される時、変更が検出された場合、ビーンはマネージャ(複数可)への変更通知をトリガし、マネージャは自己のテーブルを更新してその変更を反映させる。
【0046】
マネージャ(複数可)は、被管理ノード(複数可)に行き、それぞれのシンプルまたはダイナミックビーンのPoll()機能を実行し、その結果を用いて、Poll()機能から受け取ったデータで自己のデータベースコピーを更新することができる19。例えば、図9−1.2は、ダイナミックまたはシンプルビーンに対するPoll()機能がどのようにして属性の値を返すかを示している。データの有効なソースが被管理ノード(複数可)であるため、このPoll()要求を行うマネージャは、そのポーリングからの出力を用いて自己のデータベーステーブルを更新し、Poll()から返されたものを最新の値として書き込むことができる。同様に、制御ビーンのPoll()は、テストの有効なコンフィギュレーションを示し、制御ビーンをポーリングしたマネージャは、自己のテーブルを更新して、Poll()から返される値を最新のものとして反映させることができる。
【0047】
一実施形態では、本解決法は、属性値への変更のみをマネージャ(複数可)へ送信する。これは、変更通知メカニズムにより達成される。図2は、本発明の通知メカニズムがどのようにしてマネージャ(複数可)上のデータベースを属性およびビーンコンフィグデータと同期した状態に保つかを示している20。エージェントを有する被管理ノード(図2−A.1)またはゲートウェイ機能(図2−A.3)は、変更通知イベントを、マネージャ(複数可)(図2−A.2)内のイベント通知ハンドラ(図2−5.0)に送る。これらのメッセージ(図2−5.1、5.2、5.3、5.4)の内容は、イベント通知ハンドラ(図2−5.0)がメッセージ(図2−2.4−a、2.4−b、2.4−c)を適当なデータベーステーブル(図2−2.5−a、2.5−b、2.5−c)へルーティングすることを可能にする情報を含む。なお、プロセスは通常非同期的(ノンブロッキング)であるが、同期的であってもよい(管理ダイナミックビーン(図2−1.0、3.0、4.0 6.0)はデータベース更新が完了するまでブロックすなわち待機する)。作業をスケジューリングするように事前に構成されたスケジューラ(図2−2.0、7.0)は、事前にスケジューリングされたテストによりexecuteメソッド(図2−2.1、2.2、2.3、図2−7.1)を実行する。executeメソッドは、ダイナミックビーン(図2−1.0、3.0、4.0および6.0)に対するいくつかの公開インタフェースの1つである。ダイナミックビーンのexecute()メソッドがテストを実行し、テストを実行するプロセスで変更の検出が生起すると、マネージャへの変更通知イベントが発生する。
【0048】
図10は、再び変更通知プロセスを示している。スケジューラ2.0、Execute 2.1、ビーン1.0、変更通知イベント5.1が示されている。しかし、図10はさらに、イベントハンドラ5.0がルーティング機能5.1を用いてデータベース変更2.4−xを適当なテーブル2.5−xに送ることを示している。
【0049】
図10はまた、本発明の持続性通知メカニズム(6.1、6.2および6.3)も示している。これは持続性21FIFOキューを利用してメッセージを格納する22。
【0050】
図10はさらに、ポーリングメカニズム8.xが通知メカニズム5.xとともに使用されることを示している。マネージャ起動ルーチンは、マネージャのために、図10で再同期ループ8.0として示されているビーンのポーリングを実行するスレッドの起動を開始する23。この名前によって暗示されるように、ポーリングは一般的に、データベースをビーンと再同期させるために使用されるが、それがポーリングの唯一の目的ではない。マネージャ起動(図10 3.0)、コマンドおよび制御(図10−7.0)、内部マネージャ機能(図10−7.2)が、ポーリングまたは1つもしくは複数のビーンの単一のポーリングを開始してもよい。本発明において公開される2種類のポーリングは、最新値をとる標準のPoll()と、ビーンにテストを実行させるとともにそのテストの結果をとってもよいPollNow()機能24である。
【0051】
図10はまた、PollまたはPollNow()(7.4−7.5)がコマンド機能(7.2)によって実行され得ることも示している。コマンド機能は、実施目的で直接にビーンに対してデータを要求する、マネージャ内の任意の機能である。コマンド機能は通常、データベースに行き、属性の最新値を求めることができる。あるいは、コマンド機能はポーリング機能(図10 7.4、7.5)を用いて直接にビーンに行くこともできる。あるいは、コマンド機能は、再同期ループ(図10 8.0)に行き、データベースに対する更新を開始した後、データベースからその更新を読み出すこともできる。
【0052】
[レポーティングとグルーピング]
このセクションは、多様なネットワーク上の複数の計算ノードに対する変更を管理する能力にとって極めて重要なレポーティングコンストラクトを開示する。
【0053】
複数行コンフィギュレーション
表示およびレポートには複数行のものがある。図8は、詳細を、直接結果レベル(図8 3.1)におけるデジタル署名(例えばチェックサム)と、図8 5.0のさらなる詳細へのドリルダウンとにカプセル化することを可能にするドリルダウン(図8 5.0)機能を示している。
【0054】
ベースラインノードに対するシステム比較
本発明は、計算インフラストラクチャ内の変更を検出し報告する方法を提供する。図5は、ベースラインノード(図5−1.0)に対するシステム間比較を示している。この場合、ベースラインノード(図5−1.0)およびターゲットノード(図5−2.0、3.0および4.0)が選択されてから、比較され(図5−7.0)、結果が生成される。結果は、詳細へのドリルダウンを有するレポートまたは対話的表示とすることが可能である。本発明は、単一ノード(図5−1.0)(物理または論理、ハードウェアまたはソフトウェア)をベースラインとして使用し、それと複数のターゲットノード(図5−2.0、3.0、4.0)を比較して(図5−7.0)、システム間比較結果(図5−1.1)を生成することができる。結果は、ノード上の属性間のコンフィギュレーションの差を示す。これには例えば以下のものがあるが、これらには限定されない:
グループ内のファイルサーバの1つが、ソフトウェアパッチに関して最新とみなされ、そのファイルサーバを、選択された、すなわちターゲットとするファイルサーバと比較して、どのターゲットファイルサーバがソフトウェアパッチアップグレードを必要としているかを知る。
ベースラインノード(図5−1.0)からの属性(図5−1.3)が比較機能(図5−7.0)に供給され、ターゲットノード(図5−2.0、3.0、および4.0)からの属性(図5−2.2、3.2、4.2)と比較される。
【0055】
ノードグループに対するシステム比較
次に図6を参照する。図6は、グループノード(図6−5.0)に対するベースライン(図6−1.0)のシステム間比較を示している。ここで、ベースライン(図6−1.0)は物理ノードではなく、ターゲットノード(図6−2.0、3.0および4.0)に対して期待される属性のリスト(図6−1.0)である。ノードグループ(図6−5.0)は、ターゲットノード(図6−2.0、3.0、および4.0)のグループが捕捉されてグループとしてラベルされ、レポーティングのためにそのように選択されるものとして示されている。このグルーピングは通常、レポーティングの前に行われ、意味のある名前(例えば、図6 5.0ではNode-Group I)にセーブされる。例えば、ウェブサーバのグループが、同じ属性設定を要求するため、まとめてweb-groupという名前の単一のグループとして管理されるかもしれない。個別にターゲットノード(図6−2.0、3.0および4.0)を選択するのではなく、ノードグループ(図6−5.0)がレポーティングのために選択される。これは、レポートを生成するため、または対話的表示を設定するために使用可能である。考え方としては、属性のベースラインリスト(図6−1.0)は、グループ内の(図6−5.0)または個別に選択された(図6−4.0)複数のターゲットノードと比較する(図6−7.0)ためのマスタコピーとして使用可能である。ノードグループ(図6−5.0)の概念は、ターゲットノード(図6−4.0、3.0)のグループの選択をそれ自身の固有名とともにグループとしてセーブすることを可能にすることによって、その選択および管理を簡単にする。ベースラインノード(図6−1.0)からの属性(図6−1.3)が比較機能(図6−7.0)に供給され、ターゲットノード(図6−2.0、3.0、および4.0)上の属性(図6−2.2、3.2、5.2)と比較される。比較の結果(図6−1.1)は、属性のもとのベースラインリスト(図6−1.2)と、基準に一致するターゲット属性のリスト(図6−2.1、3.1、4.1)とを含む。基準には、属性がベースラインに一致しなければならない、属性がベースラインで指定される値の範囲内に入らなければならない、等がある。属性比較基準のリストはプログラム可能であり、これによりフレキシブルな比較が可能となる(詳細は「属性変換基準」を参照されたい)。1つの重要な主張は、ノードグループがノードもしくは他のノードグループ(図6−5.3)、またはその両方の組合せ(図6−5.0)を含み得ることである。この主張は、非常に多数のノードの表示および対話の場合に極めて重要である。
【0056】
ノードおよび/またはノードグループに対する属性間比較
図7は、ノード(図7−2.0)またはグループノード(図7−5.0)およびノード(図7−2.0)に対するベースラインの属性間比較を示している。ここで、ベースライン(図7−1.0)は物理ノードではなく、属性グループ(図7−1.7)のリストである。属性グループ(図7−1.1、1.6)は、属性のリスト(図7−1.4、1.5)のためのコンテナである。ユーザは、ベースラインを選択する(図5、図6)のではなく、これらのグループを選択することができる。属性グルーピングの利点は、ノードに関連する属性のサブセットを用いて、ターゲットノードの集団全体のベースラインとしての比較ができることである。例えば、「TCP-CONFIG」という名前の属性グループ内のTCP/IP設定が、ネットワーク上のあらゆるノードに対してTCP/IP設定を比較するために使用されるかもしれない。属性グループを用いてレポーティングをする場合、ユーザはグループ(図7−1.7)を選択する。これは実際にはグループに含まれる属性のリスト(図7−1.4)である。これらは比較(図7−7.0)機能に供給される(図7−1.3)。ターゲットノードは、個別に選択されても(図7−2.0)、ノードグループを用いて選択されてもよい(図7−5.0)。比較機能(図7−7.0)は、ターゲットノード(図7−2.1)またはノードグループ(図7−5.1)から供給を受ける。ノードグループ(図7−5.0)は、それらの値をノード(図7−3.1および4.1)から受け取る。図7は、属性をグルーピングすることができることを示している(図7−1.7は1.4を含み、1.6は1.5を含む)。図7は、レポーティングのためにノード(図7−2.0)およびノードグループ(図7−5.0)の混合が使用可能であることを示している。ターゲットノード(3.0、および4.0)を含むノードグループ(図7−5.0)は、捕捉されてグループとしてラベルされ、レポーティングのためにそのように選択されてもよい。このグルーピングは通常、レポーティングの前に行われ、意味のある名前(node-Group II)にセーブされる。例えば、ルータ、サーバのグループが、同じコンフィギュレーション設定を要求するため、まとめてrouter-groupという名前の単一のグループとして管理されるかもしれない。個別にターゲットノード(図7−2.0、3.0および4.0)を選択するのではなく、ノードグループ(図7−5.0)がレポーティングのために選択される。これは実在のノード(図7−2.0)と混在している。比較(図7−7.0)の結果はレポートであっても対話的表示であってもよい。考え方としては、ベースラインは属性(図7−1.4、1.5)(物理または論理、ハードウェアまたはソフトウェア)のグループ(図7−1.7、1.6)からなり、複数のターゲットノード(図7−2.0、3.0、4.0)と比較(図7−7.0)するためのベースラインとして使用可能である。ノードグループ(図7−5.0)は、ターゲットノードのグループの選択をそれ自身の固有名とともにグループとしてセーブすることを可能にすることによって、その選択を簡単にする。ベースラインノード(図7−1.0)からの属性(図7−1.3)が比較機能(図7−7.0)に供給され、ターゲットノード(図7−2.0、3.0、および4.0)上の属性(図7−3.2、4.2)と比較される。比較の結果(図7−1.1)は、属性のもとのベースラインリスト(図7−1.2)と、基準に一致するターゲット属性のリスト(図7−2.1、3.1、図7−4.1)とを含む。基準には、属性がベースラインに一致しなければならない、属性がベースラインで指定される値の範囲内に入らなければならない、等がある。属性比較基準のリストはプログラム可能であり、これによりフレキシブルな比較が可能となる25。
【0057】
結果(図7〜図5、図6および図7の1.1参照)は、複数のグルーピングもしくは属性、属性グループ、ノードもしくはノードグループの個別の選択、またはこれらの選択を混合した変形を可能にする比較機能の出力である。
【0058】
属性グルーピングと集計
図11および前セクションは、レポーティングおよび表示の目的で属性を属性グループ(図11−1.1および1.2)にグルーピング可能であることを示している。本発明は、属性グループが複数の集計機能(図11−1.7)を含むことができることも開示する。これらは、グループ(図11−1.1および1.2)内の属性に作用する機能である。図11−7.4に示すように、集計機能1.6および1.5は、属性の値が表示またはレポートの一部として参照される時に計算される(図11−7.0)。それにより結果が属性グループのプロパティとして表示される(図11−7.2)。個別のプロパティ(図11−1.5および1.6)が表示されてもよい(図11−7.5および7.6)。集計機能は、例えばサイトにおけるユーザ数を計算して表示するために有用である。ここで、集計機能は、各ノード上のユーザ数のような属性をカウントし、それらのすべてのノードごとの属性が単一の属性グループに含まれる。属性グループが参照される場合、そのプロパティの1つは集計を含むSUMプロパティであってもよい。
【0059】
ルート属性グループが他の属性グループ(図11−1.4)またはグループのグループまたはグループさえも含む状況では、図11−7.3に例示されているように、ツリー内のすべてのリーフノードについてリーフノード属性が集計される26。
【0060】
属性変換機能と属性集計機能
「属性変換基準」のセクションに既に開示したように、属性は、より複雑な属性間の比較を実施する変換機能を含むことができる。これは図12にも示されている。特定の属性(図12−1.4a)が変換機能(例えばRANGE())を含む。これは、この属性をターゲット属性のリストと比較するために使用されてもよい。図12は、変換機能が、RANGE、IF、GT等のようなオペレータとともに多種多様であり得ることを示している。変換機能は、値(図12−1.4−b)またはステータス(図12−1.4−c、1.4−d)を返すことができる。
【0061】
属性グループもまた変換機能を有し得る(図12−1.4−d)。属性グループは集計機能(図12−1.3、1.3a)(「属性グルーピングと集計」のセクション)を含み、これらの集計機能は属性変換から参照されてもよい(図12−1.2a、1.2b)。これは、属性の集計および変換を単一の値またはステータスにまとめるために有益である。
【0062】
変換および集計機能の拡張
頑強な属性変換機能および頑強な集計機能の組合せにより、プログラムを開発することを必要とせずに属性間の相互関連づけが可能となる。しかし、本発明の一部として現在定義されていない属性変換機能またはオブジェクトが参照された場合、それはまず本システム内の内部機能またはオブジェクトとして探索される。それが内部オブジェクトとして見つからない場合、集計機能の変換機能を評価するために外部コマンドスクリプトをコールする。このようにして本発明は、他の言語でカスタム機能を書き、コマンドスクリプト実行経由で本発明へとインタフェースする能力を含む、新しくより頑強な変換および集計機能を含むように拡張される。
【0063】
[結論]
以上、本発明のいくつかの実施形態を説明したが、上記は単に例示であって限定的なものではなく、単に例として提示されているだけであることが当業者には明らかなはずである。本明細書(添付の特許請求の範囲、要約、および図面を含む)に開示されるすべての特徴は、特に明示的に断りのない限り、同じ目的、および同等または類似の目的に適う代替的特徴で置き換えてもよい。したがって、添付の特許請求の範囲により規定される本発明およびその均等物の範囲内に入るその変更例の数多くの他の実施形態が想定される。
【0064】
例えば、本明細書に記載される技法は、ハードウェアもしくはソフトウェア、またはその2つの組合せのいずれで実施されてもよい。さらに、それらの技法は、少なくともプロセッサおよびそのプロセッサによって読み出し可能なストレージ媒体(揮発性および不揮発性のメモリおよび/またはストレージ要素を含む)をそれぞれ含むプログラム可能デバイス上で実行される制御プログラムとして実施されてもよい。それぞれのそのような制御プログラムは、コンピュータシステムと通信するために高水準の手続き型またはオブジェクト指向プログラミング言語で実施されてもよいが、所望であればプログラムはアセンブリ言語または機械語で実施することも可能である。それぞれのそのような制御プログラムはストレージ媒体またはデバイス(例えば、CD−ROM、ハードディスクまたは磁気ディスケット)に格納されてもよい。このストレージ媒体またはデバイスは、本文書に記載される手続きを実行するためにコンピュータによって読み出される時に、コンピュータを設定し動作させるための汎用または専用プログラム可能コンピュータによって読み出し可能なものである。さらに、本明細書に記載される技法は、コンピュータプログラムを備えて構成されたコンピュータ可読ストレージ媒体として実施されてもよい。その場合、そのように構成されたストレージ媒体によりコンピュータが特定のあらかじめ規定された方法で動作する。
【0065】
参考
1) 本発明の時点では、ほとんどの大型コンピュータは30%のCPU使用率で動作し、過剰のディスク、メモリおよびネットワーク帯域資源を有していた。
2) エージェントレス被管理ノードは、ゲートウェイエージェント構成により管理され、マネージャノード自身の上、またはゲートウェイ構成内の別個のノード上の両方で動作し得る。
3) 複数のノードの管理をカプセル化するソフトウェア(例えば、Element Managers、HP OpenView、BMC Patrol等)は、このアーキテクチャでは単一のノードとみなして管理することができる。
4) ネットワークから管理可能ないかなるデバイスまたは特殊ソフトウェアも、このシステムおよび方法を用いて管理可能である。
5) Java JMXは、非JMXアプリケーションを管理するためのアダプタ(例えばSNMPまたはHTTPアダプタ)をサポートするが、Java JMXは、ある種のアダプタがシステムもしくはアプリケーションユーティリティまたは対話的ユーティリティさえも実行可能であることを必要とすることは開示していない。本システムおよび方法は、Java JMXアダプタの概念を、いかなるシステムもしくはアプリケーションユーティリティまたは対話的プログラムにも適応するように、より頑強なJMXアダプタのセットへと拡張するために使用可能である。
6) ドリルダウンを使用する場合、差分を含むデータファイルが被管理ノード、マネージャに格納されてもよく、または差分はドリルダウン時間中に計算され、その場合、もとのソースが被管理ノードもしくはマネージャに格納されてもよい。図8−2.1「node:path」は、差分の位置がフレキシブルであるとともに変動することを示すことを意図している。
7) ダイナミックおよび制御ビーン機能は同じビーン内にあってもよく、これはシンプルビーンとダイナミックビーンの間のハイブリッドを作る。実際にはこれは依然としてダイナミックであり、制御の機能をビーン内に結合している。
9) 制御ビーンおよびダイナミックビーンの機能が別個のビーンとして配備される必要はない。
10) pollNow()メソッドは、ExecuteNow()メソッドと同様に、各テストを実行することによって最新値を実際に更新するが、すべての属性テストを実行する。
11) 新たなインタフェース機能をビーン(制御ビーンおよびダイナミックビーンの両方とも)に追加することができる。
ここで、
12) スケジューラはシンプルビーンもしくはカスタムコードとして実施されてもよく、または外部スケジューラ(例えばCronまたはAt)が使用されてもよい。
13) アーカイブデータは、マネージャ、被管理ノード、およびファイルサーバのような別個のノード等、どこに格納されてもよい。
14) テストの名前と属性の名前は異なっていてもよい。例えば、属性:SHMMAX=2500;テスト:SHMMAX_TEST="grep SHMMAX /etc/system"。
15) 代替実施形態では、GUIはマネージャから分離されていてもよい。
16) 代替実施形態では、マネージャビーンはプロキシエージェントとして作用し、エージェントのプライマリマネージャから別のセカンダリマネージャ(複数可)へのすべてのアクティビティ(例えば通知イベント)を代理するとともに、セカンダリマネージャ(複数可)が同じプロキシメカニズムにより同じマネージャビーン経由で要求を送信することも可能にする。
17) 代替実施形態では、属性変換機能はターゲット属性に対して実施されてもよい。
18) a)属性およびビーンコンフィグデータはマネージャを出所としてもよく、b)ノードとマネージャの間で共有されてもよく、c)ここで指定されていない別のノードまたは外部データソースに由来してもよい。
19) 本解決法の代替実施形態では、すべてのデータがアーカイブ、集中化データベース、またはその2つの組合せのいずれかに格納される。データベースまたはアーカイブに格納される場合、データが格納される場所は可変でありフレキシブルであるが、好ましい実施形態では、データはアーカイブを出所とし、開示されているPollおよびNotifyメカニズムを用いてマネージャで最新に維持される
。
20) データベースに返される通知は、httpプロキシのようなプロキシによってもたらされてもよい。
21) FIFO(図10 6.2)が持続性である(すなわちディスク上に格納される)必要はない。
22) FIFO(図10 6.2)が被管理ノード上にある必要はない。
ここで、
23) 再同期(図10 8.0)はここでは単一のオブジェクト/スレッドとして示されているが、代替実施形態では、再同期は、ポーリングを必要とし得る多くの管理機能(図10−7.2)に分散していてもよい。
24) PollNow()には2つの形式がある。管理機能にデータを返すPollNowと、通知メカニズム(図10 5.1または6.1)の1つによってデータを返すPollNowとである。
25) 図7 1.6 Attribute-Group-Yは属性グループを含む。これは属性および別の属性グループの両方を含む。
26) 含まれている属性のリストに個別に割当て可能な属性集計機能のリストも開示されている。これは、個別の属性(リーフノード)が、他のリーフノードを無視して集計リストを設定するために使用されることを可能にする。これはまた、リーフノードを包含または除外する、分岐ノードの集計も可能にする。
【図面の簡単な説明】
【0066】
【図1】本解決法の態様および特徴を図式的に説明する図である。
【図2】本解決法の態様および特徴を図式的に説明する図である。
【図3】本解決法の態様および特徴を図式的に説明する図である。
【図4】本解決法の態様および特徴を図式的に説明する図である。
【図5】本解決法の態様および特徴を図式的に説明する図である。
【図6】本解決法の態様および特徴を図式的に説明する図である。
【図7】本解決法の態様および特徴を図式的に説明する図である。
【図8】本解決法の態様および特徴を図式的に説明する図である。
【図9】本解決法の態様および特徴を図式的に説明する図である。
【図10】本解決法の態様および特徴を図式的に説明する図である。
【図11】本解決法の態様および特徴を図式的に説明する図である。
【図12】本解決法の態様および特徴を図式的に説明する図である。
【0001】
[関連出願への相互参照/優先権の主張]
本出願は、2001年6月11日出願の米国特許出願第60/297,512号に対する優先権の利益を主張し、当該出願は全体として参照により本明細書に援用される。
【0002】
[連邦政府による資金提供を受けた研究または開発に関する記載]
該当なし。
【0003】
[付録の参照]
該当なし。
[発明の分野]
【0004】
本発明は、包括的には計算および/またはネットワーク管理に関し、特に計算インフラストラクチャに対する変更を管理する改善された方法、装置、および製品に関する。
[発明の背景]
【0005】
従来、計算インフラストラクチャ変更管理技法は、すべての潜在的影響が理解され適当なサインオフが達成され得るように、変更が起こる前に変更を公開するプロセスおよび方法を伴う。上記の手法は、必要ではあるが、しばしば時間がかかり面倒である。
【0006】
さらに、公式の変更プロセスを実施する組織はしばしば、許可された変更と混在した無許可の変更に悩まされている。業界で使用されている変更管理のための典型的手法は先行型(proactive)であるが、無許可の、またはさらには偶発的な変更は扱われない。
【0007】
したがって、計算インフラストラクチャに対する変更を管理する包括的方法、特に計算インフラストラクチャに対する無許可の、および偶発的な変更を検出するための解決法が必要とされている。
[発明の概要]
【0008】
本解決法は、とりわけ、計算インフラストラクチャに対する変更を管理する改善された装置、方法、および製品を提供することによって従来技術の上記の問題を解決する。
【0009】
したがって、「レポーティングとグルーピング」のセクションでさらに説明する本発明の一態様によれば、例示的な計算インフラストラクチャに対する変更を管理するためにノードおよび属性のグルーピングのための少なくとも1つの例示的手法が提供される。
【0010】
「複数行コンフィギュレーション」のセクションでさらに説明する本発明の第2態様によれば、複数行の値を単一値に要約するためにチェックサムやデジタル署名のような値を用いて、複数の属性を高レベルでの単一属性として報告する少なくとも1つの例示的手法が提供される。この場合ユーザが変更の詳細にドリルダウンすることができる。
【0011】
「データベース更新」のセクションでさらに説明する本発明の第3態様によれば、変更通知イベントを用いて複数のデータベーステーブルとソースコピーとの同期を保つ少なくとも1つの例示的手法が提供される。
【0012】
「ダイナミックビーンと制御ビーンのペア」のセクションでさらに説明する本発明の第4態様によれば、1つをダイナミックビーンとし、もう1つを制御ビーンとするデュアルビーンを用いてダイナミックビーンの属性およびコンフィギュレーションを管理する少なくとも1つの例示的手法が提供される。
【0013】
「属性テスト」のセクションでさらに説明する本発明の第5態様によれば、属性に関連する値を設定する手段としてコマンドを使用する少なくとも1つの例示的手法が提供される。コマンドはシンプルまたはダイナミックビーンを用いて実行される。コマンドは、内部Javaコマンド、メソッドもしくは機能、外部システム、アプリケーションユーティリティまたは対話的プログラムであってもよい。
【0014】
「Java/JMXの拡張」のセクションでさらに説明する本発明の第6態様によれば、対話的コマンド等の非JavaアプリケーションコマンドにJavaを接続するパイプの使用を含む、Javaプログラムと、システムもしくはアプリケーションユーティリティまたは対話的コマンドとの間のブリッジが提供される。
【0015】
「ゲートウェイ」のセクションでさらに説明する本発明の第7態様によれば、Java/JMXを用いてエージェントレスノードを管理する少なくとも1つの例示的手法およびファイアウォールを通るトンネルとしてJava/JMXを拡張する方法が提供される。
【0016】
「新しいデータウェアハウスアーキテクチャ」のセクションでさらに説明する本発明の第8態様によれば、アーカイブオブジェクトを活用した法人データウェアハウスアーキテクチャ構築のための少なくとも1つの例示的手法が提供される。この新しいデータウェアハウスモデルは、データを集中的に格納せず、被管理ノード(Managed Node)またはゲートウェイにあるアーカイブオブジェクトを用いてデータを格納する。これは、大規模な集中化データウェアハウスノードの購入を避け、法人被管理ノード上の既存の未利用資源(CPU、ディスクおよびメモリ)1を利用してデータウェアハウス機能を実行する。
【0017】
本発明のこれらおよびその他の態様、特徴および利点は、以下の説明および添付図面によって、より良く理解されるであろう。
【0018】
本発明の実施形態は添付図面を参照して説明される。
[発明の詳細な説明]
【0019】
さらに詳細に図面を参照すると、例示目的で、本発明は、図1〜図12に包括的に示されるシステム構成、動作方法および製品または製造物として具現化される。このシステム、動作方法および製品は、本明細書に開示される基本概念から逸脱することなく、その構成および動作の詳細について変更してもよいことが理解されるであろう。したがって、本明細書の諸実施形態に関して記載される以下の説明は、限定的な意味で解釈されてはならない。
【0020】
[高レベルの説明]
図1は、本発明の全体的アーキテクチャを示している。これは、マネージャ(図1−1.0、2.0、2.1、2.2)、ゲートウェイを有するマネージャ(図1−3.0)、ゲートウェイ(図1−4.0)、エージェントを有する被管理ノード(図1−5.1、5.2、5.3等)、エージェントレス(Agentless)である被管理ノード2(図1−6.0、6.1、6.2等)、ノードのように管理可能なアプリケーションソフトウェア等のソフトウェア3(図1−7.0、7.1等)、および管理可能なスペシャルデバイス4(図1−8.0、8.1等)からなる。
【0021】
エージェントは被管理ノード上に構成可能であり(図2−A.1)、ゲートウェイ(図2−A.3)は、エージェントソフトウェアがインストールされていない被管理ノードによるエージェントレスのコンフィギュレーション(図−A.4)を可能にするように構成可能である。エージェントレス被管理ノードは、特殊なエージェントソフトウェアを被管理ノードにインストールすることを必要とせずに本発明が管理することができるノードである5。例えば、ルータやストレージエリアネットワークスイッチがエージェントレスデバイスとして管理されてもよい。それはあるコンフィギュレーションのエージェントを用いてこのエージェントレス接続を達成する。そのエージェントは本例ではゲートウェイとして示されている(図1 3.0、4.0−図2 A.3)。ゲートウェイは、マネージャから独立した専用ゲートウェイノード(図1−4.0)上で実行されてもよく、またはゲートウェイ機能はマネージャノード上で実行されてもよい(図1−3.0)。
【0022】
エージェントは、複数のシンプルまたはダイナミックビーン(図2−1.0、3.0、4.0および6.0)からなる。シンプルおよびダイナミックビーンは属性のリスト(図5−2.x、3.xおよび4.x)を管理するために使用される。シンプルビーン(図9−3.0)は属性の固定リストを管理し、ダイナミックビーン(図9−1.0)は制御ビーン(図9−2.0)経由で環境設定される可変リストを管理する。
【0023】
ダイナミックビーン内の属性は、被管理ノードでグルーピングされて(図9−2.3 Attribute-Group1)単一属性として報告されてもよく、または各属性が独立に報告されてもよい。属性は、同じくレポーティングおよび表示の目的で、マネージャでグルーピングされてもよい(図7−1.x)。ノードもまた、マネージャでグルーピングされてもよい(図6−5.0および5.3)。これらのオプションは、ユーザによって完全に構成可能な計算インフラストラクチャに対する変更の特殊なレポーティングおよび表示(図5−1.1、図6−1.1、図7−1.1)を可能にする。場合によっては、複数行変更が検出されると、チェックサムまたはデジタル署名を用いて複数の出力行を単一値に要約する(図8−3.1)。ドリルダウン機能6を用いて特定の属性を表示することができる(図8−5.0)。これらのレポートおよび表示は、マネージャノード(図2−A.2)のデータベーステーブル(図2−2.5.a、2.5bおよび2.5c)から導出される。
【0024】
ノード固有のコンフィギュレーションおよびレポーティングは、エージェントのコマンドおよび制御インタフェース(図3−4.0)経由で被管理ノード上で実行することができる。企業規模のコンフィギュレーションおよびレポーティングは、ノード固有のものとともに、マネージャのコマンドおよび制御インタフェース(図3−3.2)から行われる。
【0025】
機能はビーンを用いて分散される。シンプルビーンは、特定のタスクのために「ハードコード」され、一定の属性を含む。より包括的なダイナミックビーン機能は通常ペアで分散され7、その場合、制御ビーンがダイナミックビーンを管理するために使用される(図9)。制御ビーンは、属性の名前と、ダイナミックビーンが実行することになる特定のテストを指定する。制御ビーンは選択されたテストを実行せず、それはダイナミックビーンが実行することになるテストを環境設定するために使用される。シンプルビーンはテストの固定リストを有するが、これは環境設定可能でないため、制御ビーンを必要としない8。ダイナミックビーンはテストを実行し、属性に対する値を設定する(fill)。これは、属性に対する変更された値として通知(Notify)イベント(図2−5.1、5.2、5.3および5.4)経由でマネージャ(複数可)に返される。ダイナミックビーンのPoll()メソッドが、例えば関連するデータベースを属性の最新値に同期させるために、マネージャによってコールされることも可能である(図9−1.2)。ダイナミックビーンに対してPoll()を使用すると、データベースは最初に属性に対する正しい名前および値で環境設定され、かつ/または1つもしくは複数のノードの停止後に最新に維持される。Notify()メカニズムを使用すると、変更のみがマネージャに送信される。
【0026】
[エージェント]
ビーン
ビーンは、有益な作業を実行するために使用されるコードの独立した断片である。ビーンは、1つまたは複数のマネージャに接続されたエージェント内で実行される。本解決法は、複数のエージェントを含む。すなわち、エージェントはビーンのコンテナである。ビーンは、1つまたは複数の属性のために実行される独立の作業主体である。ビーンは、独立に、またはペアで配備される。ペアで配備される場合、制御ビーンとダイナミックビーンが協力して、マネージャ(複数可)のための属性のリストを維持することをサポートする(図9)。スケジューラ(図2 2.0、7.0)は、ダイナミックビーンのためのテストをスケジューリングする特殊目的のビーンである(図2 2.0、3.0、4.0および6.0)。
【0027】
ダイナミックビーンと制御ビーンのペア
ペアで配備される場合、制御ビーンがダイナミックビーンを管理するために使用される9。図9はその関係を示している。マネージャが属性およびテストのリストで制御ビーンを更新する。図9−2.3、1.2および2.2において、memoryおよびnsocketsという名前は属性の例である。テストは、制御ビーンに対してマネージャによって指定される値である(図9−2.2)。図9におけるテスト値の例は、「getmemory」および「netstat -an | grep EST」である。制御ビーンは、マネージャにより更新されると、属性およびテストの名前をビーンコンフィグファイル(図9−2.3)に書き出す。ビーンコンフィグファイル内の値フィールドは、ダイナミックビーンが属性の値を導出するために実行する実際のテストである。例えば、ダイナミックビーンが「netstat -an | grep EST」コマンドを実行すると、これはnsocketsの値として被管理ノード上でオープンされているソケット接続の個数を設定する。マネージャは、複数の方法(例えば、図9−1.2に指定されているPoll()メソッド)でダイナミックビーンから属性の値を受け取り、テストの名前を制御ビーンにセットする。マネージャが制御ビーンのPoll()メソッドを呼び出すと(図9−2.2)、これは属性の値を、ダイナミックビーンが実行するように設定されているテストとみなす。ダイナミックビーンは、インスタンス化(起動)されるか、またはその公開インタフェース(図4−9.1)経由でreset()を受信すると、そのインコア(in-core)制御リストにビーンコンフィグ設定を再読込して適用する。それぞれの指定されている属性ごとに、ダイナミックビーンに対して、マネージャがExecuteNow()を実行するか、またはスケジューラがExecute()を実行すると、インコア制御リストに設定されているテストが実行され、属性の値がダイナミックビーンに設定される。ダイナミックビーンのPoll()メソッドが実行される場合にはいつでも、それは最新の属性値を返す10。ダイナミックビーンは、テストを実行している間に変更を検出した場合にはいつでも、マネージャへの通知イベント(図2−5.1、5.2、5.3、5.4)を発生し、マネージャがデータベースを更新する。マネージャ(図3−3.2)またはエージェント(図3−4.0)のコマンドおよび制御インタフェースが制御ビーンコンフィギュレーションを更新した場合にはいつでも、制御ビーンはマネージャへのNotify()イベントを発生してデータベースを更新する。なお、被管理ノードにより格納または所有されているデータについて、データベースはこのNotify()イベントメカニズムを用いて更新されることに留意されたい。これにより、あるマネージャでなされた変更が、被管理ノードまたはゲートウェイからイベントを受信するように登録されているすべてのマネージャと同期することが可能となる。シンプルビーンについても同様である。
【0028】
ビーンインタフェース
シンプルビーンは、マネージャに対して一定の属性と、ダイナミックビーンによって公開されるインタフェースのサブセットを公開する。特殊なシンプルまたはダイナミックビーンは、追加のインタフェースを公開することができる。ダイナミックビーン(図4−1.)は、制御ビーン(図4−2.0)経由で設定されたテストまたは機能を実行する。これらのテストおよびすべてのビーンは、ダイナミックビーンに対するいくつかの公開インタフェース11経由で制御することができる。公開インタフェースには以下のものがある(図4)が、これらには限定されない:
a)Execute()−これには属性名が渡され、その名前に関連するテストを実行する。Execute()(図2−2.1)は、変更が発生したかどうかを判定する。Execute()は、テストの結果をアーカイブ(図2−1.3)と比較することによってその判定を行い、変更が発生している場合、マネージャ(複数可)へのNotify()(図2−5.1)イベントを発生する。
b)ExecuteNow()−これには属性名が渡され、テストを実行し、テストの結果を呼出し側に返す。ExecuteNow()は、通知イベントを発生してもしなくてもよい。
c)Poll()−これは属性および値のリストを呼出し側に返す。Poll()がダイナミックビーン(図9 1.2)に対してコールされた場合に返される値は、最近のExecute()の最新値である。換言すると、Poll()は、テストに関連する最新の値を表示するだけであり、そのテストを実行しない。Poll()は、マネージャ(複数可)を実際の値と再同期させるために使用される。それらの実際の値は、好ましい実施形態では被管理ノードに格納される(しかし、代替実施形態ではその必要はない)。Poll()が制御ビーンに対して実行される場合、それは名前と、各属性ごとに設定されているテストへの引数を返す。
d)Reset()−resetは、ダイナミックビーンに対して、ビーンコンフィグファイル(図9 2.3)を再読込してインコア制御リストを更新するように通知する。インコア制御リストは、ビーンコンフィグファイルのメモリバージョンである。制御ビーンに対するreset()は、ビーンコンフィグファイルを再読込する。すなわち、制御ビーンをその最後にセーブされた状態に戻すようにリセットする。
e)Save()−ダイナミックビーンに対するSaveは、属性の名前および値をディスクにセーブして、ダイナミックビーンが再起動する時にその最後の既知の状態に復帰するようにする。それにより、属性の値はダイナミックビーンのインスタンス化を越えてセーブされ、ダイナミックビーンが起動するごとにテストを再実行する必要がなくなる。制御ビーンに対して実行されるSaveは、属性およびテストのインコアバージョンをビーンコンフィグファイルにセーブする(図9 2.1)。
【0029】
スケジューラ
スケジューラは、マネージャから(図3−3.2)または被管理ノード(もしくはゲートウェイ)上でローカルに(図3−4.0)のいずれかで事前にプログラムされた被管理ノード(図2−2.0、7.0)上で実行される。スケジューラは、ビーン(図2−1.0、3.0、4.0、6.0)の1つでビーンのExecuteメソッド経由で呼び出される特定の属性テストのスケジュールを含む。スケジューラは、スケジュール条件(例えば、毎時、毎月、毎日午後5時等)が検出されるとこれらのテストを自動的に呼び出す。本明細書では、スケジューラはダイナミックビーンとして(制御ビーンとともに)実施される12。
【0030】
アーカイブオブジェクト
被管理ノード上のデータはアーカイブオブジェクトによって保管される。これは、通常は被管理ノード上に格納される複数回の変更を保持する13。アーカイブオブジェクトは、1)変更の世代を維持し、2)最小量のディスクストレージにデータを維持する、という方法を同時にサポートする。シンプルまたはダイナミックビーンがテストを実行すると、それ(ビーン)はテストからの出力をアーカイブオブジェクトに格納する。アーカイブオブジェクトは、データの挿入および抽出を行うメソッドをサポートする。アーカイブオブジェクトはまた、Diff()メソッドを用いてアーカイブの2つの世代を比較する能力もサポートする。シンプルおよびダイナミックビーンはこのDiff()メソッドを用いて変更を検出する。変更がDiff()によって検出された場合、ビーンは、すべてのマネージャへの変更通知を発生することを知る。
【0031】
アーカイブのDiff()メソッドは、以下の「属性変換基準」のセクションに開示されるコンフィギュレーション比較基準に基づいて、複雑な変更通知を実行する。
【0032】
属性テスト
スケジューリングされる属性テストの名前は属性と同じ名前でもよい14。属性テストが呼び出されると、シンプルまたはダイナミックビーンがテストを実行し、そのテストが属性の値を設定する。例えば、属性テストはスケジューリングされて「memory」と名付けられてもよい。スケジューラによって呼び出されると、ダイナミックビーンは「インコア」制御リスト内で属性名(例えばmemory)を検索してテストを探し、見つかったら、その属性を設定する実行すべき機能(例えばgetmemory)にその属性名(例えばmemory)を関連づける。テストからの返値(例えばgetmemoryは512を返す)は、ダイナミックビーンのmemory属性に値を設定することになる(例えばmemory=512 MB)。
【0033】
図2において、executeメソッド(図2−1.0)がコールされると、それはテストの出力(図2−1.2)をアーカイブログ(図2−1.3)に書き出すローカル作業を実行する。アーカイブログは通常、エージェントを有する被管理ノード(図2−A.1)にローカルに存在する。execute()およびexecuteNow()の公開インタフェースは、指定されたテストを実行するだけでなく、テストからの出力が以前の実行と異なるかどうかを検出する。これは、アーカイブオブジェクトのDiff()メソッドを用いて行われる。テストからの出力が以前の出力と異なる場合、シンプルまたはダイナミックビーンは、変更通知イベントを発生し、マネージャノード(図2−A.2)上のイベントハンドラ(図2−5.0)に転送してもよい。
【0034】
Java JMXの拡張
Java JMXは、Javaアプリケーションを管理するシステムおよび方法を規定する。本発明は、Javaを超えてJMXの概念を拡張し、非Javaアプリケーションを管理するためのブリッジを提供する。これは、以下のような2つの例示的技法を用いて達成される:
1)シンプルまたはダイナミックビーン(図2−3.0)が、Shell、Perl、Nawk、C、C++等のような言語で書かれたシステム(非Java)コマンド(図2−3.2)を呼び出してテストを実行し、その結果(図2 3.1)をビーンに返す。このメカニズムによれば、Javaプログラム(またはある言語もしくはフレームワークで書かれたプログラム)が異なるフレームワークにおけるアプリケーションを管理することが可能となる。
2)ビーンはパイプ(図2−4.1)を用いてコマンドをシステムコマンドインタプリタまたは対話的プロセス(図2−4.2)に送る。このメカニズムによれば、Javaプログラム(またはある言語もしくはフレームワークで書かれたプログラム)が異なるフレームワークにおける対話的アプリケーションを管理することが可能となる。
【0035】
なお、Java JMXフレームワークは、アダプタがJava JMXから非Javaインタフェース(例えば、SNMP、HTTP等)への橋渡しをするために使用され得ることを開示していることに留意されたい。上記の技法は、より頑強でより簡易なJMXアダプタを書くためにも使用可能である。例えば、本明細書に開示されるシステムおよび方法を用いて、データベースを管理するようにJMXを拡張して、データベースマネージャの対話的コンフィギュレーションユーティリティ(例えば、Oracle SQLDBAタスク)を管理するために、JMXアダプタを書くことができる。同時に、本発明は、JMXアダプタを必要とせずに非Javaアプリケーションまたはシステムを管理する方法を提供する。
【0036】
ゲートウェイ
エージェントは、被管理ノードから独立したノード上で実行されるように構成されることが可能であり、その場合、SNMP、Telnet、FTP、HTTP、Secure Shell等のネットワーク相互接続ソフトウェアが、エージェントとエージェントレス被管理デバイスの間の橋渡しをするために使用される。この構成では、マネージャ(図2−A.2)は、エージェントレスデバイスと通信するためにゲートウェイ(図2−A.3)エージェントと通信する。ゲートウェイはまた、ファイアウォールを通るオープンされているプロトコル経由でゲートウェイがトンネルすることを可能にすることによって、ファイアウォールを通って通信を行うようにJava/JMXフレームワークを拡張する。ゲートウェイはさらに、既存のVPNソリューション、またはSecure Shell、Telnet、FTPまたは任意のリモート管理ソリューションの実施を活用してマネージャの到達範囲を拡張することにより、リモート管理がいかなるプロトコルでいかなる場所のノードやエージェントレスノードをも管理することを可能にすることができる。
【0037】
新しいデータウェアハウスアーキテクチャ
本解決法のもう1つの態様はさらに、法人データウェアハウスアーキテクチャを構築する新規な技法を提供することである。通常、データウェアハウスは、複数のフィーダシステムからのデータを含み、そのデータを、ビジネスを管理するために使用される法人データウェアハウスのデータモデルへと再フォーマットするためにETL(抽出、変換およびロード)メカニズムが使用される。データウェアハウスアーキテクチャは集中化され、ビジネスデータのコピーをこれらの大規模な集中化されたデータウェアハウスに格納する。データウェアハウスアーキテクチャは、時には、そのデータの全部または一部を、処理のために操作データストアまたはデータマートに供給する。
【0038】
本解決法のアーカイブオブジェクトは、被管理ノードにデータを保管する。そのデータは、変更データのみである必要はなく、組織がビジネス意思決定を行うために格納することを必要とするいかなるデータであってもよい。マネージャ上のデータベースは変更を格納するだけである必要はなく、「データマート」または「操作データストア」およびアーカイブオブジェクトとみなすことができ、すべてがまとまって作用して「データウェアハウス」とみなすことができる。
【0039】
本発明のアーカイブオブジェクトおよびフレームワークは、計算インフラストラクチャにおけるすべての被管理ノードまたはゲートウェイの間に分散したデータウェアハウスを格納するデータウェアハウスを構築するために使用されてもよい。データを被管理ノードから中央ウェアハウスに移動させるのではなく、被管理ノード上のディスクスペースがデータウェアハウスを構築するために利用され、これが組織のためのデータウェアハウスとして使用される。エージェントのextractメソッドは、この高度に分散したデータウェアハウスのコピーが操作データストアまたはデータマートに供給されることを可能にする。ビーンへの拡張された公開インタフェース(例えば、SQLシンタックス、ListPull、Extract)のセット経由であらゆるエージェントにクエリを分散させることによって、アーカイブに対する高度に分散したクエリがサポートされる。
【0040】
[マネージャ]
マネージャ
マネージャは、管理機能をサポートするためのGUIおよびビジネスロジックの両方を含む15。マネージャは、本解決法の諸態様および特徴にグラフィカルインタフェースを提供する。複数のマネージャがマネージャビーンを用いて相互接続されてもよい。それらのマネージャビーンは、あるマネージャが別のマネージャに対しエージェントとして見えるようにする特殊目的のビーンである16。複数のマネージャが単一のデータベースを共有してもよく、複数のマネージャがそれぞれ自己の独立のデータベースを有してもよい。
【0041】
属性変換基準
属性変換基準は、ベースライン値とターゲット値の間の、より複雑な比較を可能にする。これは、ベースライン属性内の変換機能を用いて達成される17。ベースライン(図6−1.0)は、ベースライン属性のリストが、属性一致基準のために使用される複数の変換機能を含むことも例示している。属性一致基準には以下のものがあるが、これらには限定されない:
1)属性は、(図6−1.0)のAttribute-Cのシンタックスを用いて表現されるベースラインに等しくなければならない。
2)属性は、(図6−1.0)のシンタックスAttribute-Bを用いて表現されるベースライン(しきい値)を超えてはならない。50.le−これは、ターゲット属性が50以下でなければならないと解釈される。
3)属性は、(図6 1.0)のシンタックスAttribute-Aを用いて表現されるベースライン(範囲)で指定される値の範囲内に入らなければならない。ターゲット属性は25以上50未満でなければならないと解釈される。
4)システムは、比較のためのオペレータの完全なリストを含む(例:.le、gt、(And)、| Or、if、While等)。
属性比較基準のリストはプログラム可能であり、このことは、フレキシブルで、拡張可能で、複雑な比較を可能にする。
【0042】
比較は、複数属性の集計を含んでもよい。これは、複数のノードに由来する複数のターゲット属性間の比較を複雑なルールと関連づけることを可能にする。これは、Attribute-E(図6−1.0)に表されており、この場合、関連づけオブジェクトが引数(この例ではルール)とともに指定される。
【0043】
属性変換基準は、レポーティングおよび表示のためにマネージャで使用されることも、変更を検出するために被管理ノードで使用されることも、いずれも可能である。
【0044】
データベース更新
このセクションは、変更通知メッセージまたはイベントの内容に基づいてデータベーステーブルへ変更をルーティングする方法を説明する。
【0045】
データベースはマネージャ上に配置され、変更データは被管理ノードに保管される。属性データのソースはアーカイブに由来し、ダイナミックビーンコンフィギュレーションデータのソースは被管理ノード(複数可)に格納される18。このデータ(アーカイブ/ビーンコンフィグ)のコピーがマネージャ内のデータベーステーブルに存在する。ダイナミックビーンのコンフィギュレーションに対する更新は、被管理ノード(複数可)上で制御ビーンを用いてビーンコンフィグファイルに格納される。ビーンコンフィグファイルに対する更新が発生すると、通知イベントが制御ビーンからマネージャ(複数可)に送られ、マネージャは自己のデータベーステーブルを更新してその変更を反映させる。テストがビーン(シンプルまたはダイナミック)上で実行される時、変更が検出された場合、ビーンはマネージャ(複数可)への変更通知をトリガし、マネージャは自己のテーブルを更新してその変更を反映させる。
【0046】
マネージャ(複数可)は、被管理ノード(複数可)に行き、それぞれのシンプルまたはダイナミックビーンのPoll()機能を実行し、その結果を用いて、Poll()機能から受け取ったデータで自己のデータベースコピーを更新することができる19。例えば、図9−1.2は、ダイナミックまたはシンプルビーンに対するPoll()機能がどのようにして属性の値を返すかを示している。データの有効なソースが被管理ノード(複数可)であるため、このPoll()要求を行うマネージャは、そのポーリングからの出力を用いて自己のデータベーステーブルを更新し、Poll()から返されたものを最新の値として書き込むことができる。同様に、制御ビーンのPoll()は、テストの有効なコンフィギュレーションを示し、制御ビーンをポーリングしたマネージャは、自己のテーブルを更新して、Poll()から返される値を最新のものとして反映させることができる。
【0047】
一実施形態では、本解決法は、属性値への変更のみをマネージャ(複数可)へ送信する。これは、変更通知メカニズムにより達成される。図2は、本発明の通知メカニズムがどのようにしてマネージャ(複数可)上のデータベースを属性およびビーンコンフィグデータと同期した状態に保つかを示している20。エージェントを有する被管理ノード(図2−A.1)またはゲートウェイ機能(図2−A.3)は、変更通知イベントを、マネージャ(複数可)(図2−A.2)内のイベント通知ハンドラ(図2−5.0)に送る。これらのメッセージ(図2−5.1、5.2、5.3、5.4)の内容は、イベント通知ハンドラ(図2−5.0)がメッセージ(図2−2.4−a、2.4−b、2.4−c)を適当なデータベーステーブル(図2−2.5−a、2.5−b、2.5−c)へルーティングすることを可能にする情報を含む。なお、プロセスは通常非同期的(ノンブロッキング)であるが、同期的であってもよい(管理ダイナミックビーン(図2−1.0、3.0、4.0 6.0)はデータベース更新が完了するまでブロックすなわち待機する)。作業をスケジューリングするように事前に構成されたスケジューラ(図2−2.0、7.0)は、事前にスケジューリングされたテストによりexecuteメソッド(図2−2.1、2.2、2.3、図2−7.1)を実行する。executeメソッドは、ダイナミックビーン(図2−1.0、3.0、4.0および6.0)に対するいくつかの公開インタフェースの1つである。ダイナミックビーンのexecute()メソッドがテストを実行し、テストを実行するプロセスで変更の検出が生起すると、マネージャへの変更通知イベントが発生する。
【0048】
図10は、再び変更通知プロセスを示している。スケジューラ2.0、Execute 2.1、ビーン1.0、変更通知イベント5.1が示されている。しかし、図10はさらに、イベントハンドラ5.0がルーティング機能5.1を用いてデータベース変更2.4−xを適当なテーブル2.5−xに送ることを示している。
【0049】
図10はまた、本発明の持続性通知メカニズム(6.1、6.2および6.3)も示している。これは持続性21FIFOキューを利用してメッセージを格納する22。
【0050】
図10はさらに、ポーリングメカニズム8.xが通知メカニズム5.xとともに使用されることを示している。マネージャ起動ルーチンは、マネージャのために、図10で再同期ループ8.0として示されているビーンのポーリングを実行するスレッドの起動を開始する23。この名前によって暗示されるように、ポーリングは一般的に、データベースをビーンと再同期させるために使用されるが、それがポーリングの唯一の目的ではない。マネージャ起動(図10 3.0)、コマンドおよび制御(図10−7.0)、内部マネージャ機能(図10−7.2)が、ポーリングまたは1つもしくは複数のビーンの単一のポーリングを開始してもよい。本発明において公開される2種類のポーリングは、最新値をとる標準のPoll()と、ビーンにテストを実行させるとともにそのテストの結果をとってもよいPollNow()機能24である。
【0051】
図10はまた、PollまたはPollNow()(7.4−7.5)がコマンド機能(7.2)によって実行され得ることも示している。コマンド機能は、実施目的で直接にビーンに対してデータを要求する、マネージャ内の任意の機能である。コマンド機能は通常、データベースに行き、属性の最新値を求めることができる。あるいは、コマンド機能はポーリング機能(図10 7.4、7.5)を用いて直接にビーンに行くこともできる。あるいは、コマンド機能は、再同期ループ(図10 8.0)に行き、データベースに対する更新を開始した後、データベースからその更新を読み出すこともできる。
【0052】
[レポーティングとグルーピング]
このセクションは、多様なネットワーク上の複数の計算ノードに対する変更を管理する能力にとって極めて重要なレポーティングコンストラクトを開示する。
【0053】
複数行コンフィギュレーション
表示およびレポートには複数行のものがある。図8は、詳細を、直接結果レベル(図8 3.1)におけるデジタル署名(例えばチェックサム)と、図8 5.0のさらなる詳細へのドリルダウンとにカプセル化することを可能にするドリルダウン(図8 5.0)機能を示している。
【0054】
ベースラインノードに対するシステム比較
本発明は、計算インフラストラクチャ内の変更を検出し報告する方法を提供する。図5は、ベースラインノード(図5−1.0)に対するシステム間比較を示している。この場合、ベースラインノード(図5−1.0)およびターゲットノード(図5−2.0、3.0および4.0)が選択されてから、比較され(図5−7.0)、結果が生成される。結果は、詳細へのドリルダウンを有するレポートまたは対話的表示とすることが可能である。本発明は、単一ノード(図5−1.0)(物理または論理、ハードウェアまたはソフトウェア)をベースラインとして使用し、それと複数のターゲットノード(図5−2.0、3.0、4.0)を比較して(図5−7.0)、システム間比較結果(図5−1.1)を生成することができる。結果は、ノード上の属性間のコンフィギュレーションの差を示す。これには例えば以下のものがあるが、これらには限定されない:
グループ内のファイルサーバの1つが、ソフトウェアパッチに関して最新とみなされ、そのファイルサーバを、選択された、すなわちターゲットとするファイルサーバと比較して、どのターゲットファイルサーバがソフトウェアパッチアップグレードを必要としているかを知る。
ベースラインノード(図5−1.0)からの属性(図5−1.3)が比較機能(図5−7.0)に供給され、ターゲットノード(図5−2.0、3.0、および4.0)からの属性(図5−2.2、3.2、4.2)と比較される。
【0055】
ノードグループに対するシステム比較
次に図6を参照する。図6は、グループノード(図6−5.0)に対するベースライン(図6−1.0)のシステム間比較を示している。ここで、ベースライン(図6−1.0)は物理ノードではなく、ターゲットノード(図6−2.0、3.0および4.0)に対して期待される属性のリスト(図6−1.0)である。ノードグループ(図6−5.0)は、ターゲットノード(図6−2.0、3.0、および4.0)のグループが捕捉されてグループとしてラベルされ、レポーティングのためにそのように選択されるものとして示されている。このグルーピングは通常、レポーティングの前に行われ、意味のある名前(例えば、図6 5.0ではNode-Group I)にセーブされる。例えば、ウェブサーバのグループが、同じ属性設定を要求するため、まとめてweb-groupという名前の単一のグループとして管理されるかもしれない。個別にターゲットノード(図6−2.0、3.0および4.0)を選択するのではなく、ノードグループ(図6−5.0)がレポーティングのために選択される。これは、レポートを生成するため、または対話的表示を設定するために使用可能である。考え方としては、属性のベースラインリスト(図6−1.0)は、グループ内の(図6−5.0)または個別に選択された(図6−4.0)複数のターゲットノードと比較する(図6−7.0)ためのマスタコピーとして使用可能である。ノードグループ(図6−5.0)の概念は、ターゲットノード(図6−4.0、3.0)のグループの選択をそれ自身の固有名とともにグループとしてセーブすることを可能にすることによって、その選択および管理を簡単にする。ベースラインノード(図6−1.0)からの属性(図6−1.3)が比較機能(図6−7.0)に供給され、ターゲットノード(図6−2.0、3.0、および4.0)上の属性(図6−2.2、3.2、5.2)と比較される。比較の結果(図6−1.1)は、属性のもとのベースラインリスト(図6−1.2)と、基準に一致するターゲット属性のリスト(図6−2.1、3.1、4.1)とを含む。基準には、属性がベースラインに一致しなければならない、属性がベースラインで指定される値の範囲内に入らなければならない、等がある。属性比較基準のリストはプログラム可能であり、これによりフレキシブルな比較が可能となる(詳細は「属性変換基準」を参照されたい)。1つの重要な主張は、ノードグループがノードもしくは他のノードグループ(図6−5.3)、またはその両方の組合せ(図6−5.0)を含み得ることである。この主張は、非常に多数のノードの表示および対話の場合に極めて重要である。
【0056】
ノードおよび/またはノードグループに対する属性間比較
図7は、ノード(図7−2.0)またはグループノード(図7−5.0)およびノード(図7−2.0)に対するベースラインの属性間比較を示している。ここで、ベースライン(図7−1.0)は物理ノードではなく、属性グループ(図7−1.7)のリストである。属性グループ(図7−1.1、1.6)は、属性のリスト(図7−1.4、1.5)のためのコンテナである。ユーザは、ベースラインを選択する(図5、図6)のではなく、これらのグループを選択することができる。属性グルーピングの利点は、ノードに関連する属性のサブセットを用いて、ターゲットノードの集団全体のベースラインとしての比較ができることである。例えば、「TCP-CONFIG」という名前の属性グループ内のTCP/IP設定が、ネットワーク上のあらゆるノードに対してTCP/IP設定を比較するために使用されるかもしれない。属性グループを用いてレポーティングをする場合、ユーザはグループ(図7−1.7)を選択する。これは実際にはグループに含まれる属性のリスト(図7−1.4)である。これらは比較(図7−7.0)機能に供給される(図7−1.3)。ターゲットノードは、個別に選択されても(図7−2.0)、ノードグループを用いて選択されてもよい(図7−5.0)。比較機能(図7−7.0)は、ターゲットノード(図7−2.1)またはノードグループ(図7−5.1)から供給を受ける。ノードグループ(図7−5.0)は、それらの値をノード(図7−3.1および4.1)から受け取る。図7は、属性をグルーピングすることができることを示している(図7−1.7は1.4を含み、1.6は1.5を含む)。図7は、レポーティングのためにノード(図7−2.0)およびノードグループ(図7−5.0)の混合が使用可能であることを示している。ターゲットノード(3.0、および4.0)を含むノードグループ(図7−5.0)は、捕捉されてグループとしてラベルされ、レポーティングのためにそのように選択されてもよい。このグルーピングは通常、レポーティングの前に行われ、意味のある名前(node-Group II)にセーブされる。例えば、ルータ、サーバのグループが、同じコンフィギュレーション設定を要求するため、まとめてrouter-groupという名前の単一のグループとして管理されるかもしれない。個別にターゲットノード(図7−2.0、3.0および4.0)を選択するのではなく、ノードグループ(図7−5.0)がレポーティングのために選択される。これは実在のノード(図7−2.0)と混在している。比較(図7−7.0)の結果はレポートであっても対話的表示であってもよい。考え方としては、ベースラインは属性(図7−1.4、1.5)(物理または論理、ハードウェアまたはソフトウェア)のグループ(図7−1.7、1.6)からなり、複数のターゲットノード(図7−2.0、3.0、4.0)と比較(図7−7.0)するためのベースラインとして使用可能である。ノードグループ(図7−5.0)は、ターゲットノードのグループの選択をそれ自身の固有名とともにグループとしてセーブすることを可能にすることによって、その選択を簡単にする。ベースラインノード(図7−1.0)からの属性(図7−1.3)が比較機能(図7−7.0)に供給され、ターゲットノード(図7−2.0、3.0、および4.0)上の属性(図7−3.2、4.2)と比較される。比較の結果(図7−1.1)は、属性のもとのベースラインリスト(図7−1.2)と、基準に一致するターゲット属性のリスト(図7−2.1、3.1、図7−4.1)とを含む。基準には、属性がベースラインに一致しなければならない、属性がベースラインで指定される値の範囲内に入らなければならない、等がある。属性比較基準のリストはプログラム可能であり、これによりフレキシブルな比較が可能となる25。
【0057】
結果(図7〜図5、図6および図7の1.1参照)は、複数のグルーピングもしくは属性、属性グループ、ノードもしくはノードグループの個別の選択、またはこれらの選択を混合した変形を可能にする比較機能の出力である。
【0058】
属性グルーピングと集計
図11および前セクションは、レポーティングおよび表示の目的で属性を属性グループ(図11−1.1および1.2)にグルーピング可能であることを示している。本発明は、属性グループが複数の集計機能(図11−1.7)を含むことができることも開示する。これらは、グループ(図11−1.1および1.2)内の属性に作用する機能である。図11−7.4に示すように、集計機能1.6および1.5は、属性の値が表示またはレポートの一部として参照される時に計算される(図11−7.0)。それにより結果が属性グループのプロパティとして表示される(図11−7.2)。個別のプロパティ(図11−1.5および1.6)が表示されてもよい(図11−7.5および7.6)。集計機能は、例えばサイトにおけるユーザ数を計算して表示するために有用である。ここで、集計機能は、各ノード上のユーザ数のような属性をカウントし、それらのすべてのノードごとの属性が単一の属性グループに含まれる。属性グループが参照される場合、そのプロパティの1つは集計を含むSUMプロパティであってもよい。
【0059】
ルート属性グループが他の属性グループ(図11−1.4)またはグループのグループまたはグループさえも含む状況では、図11−7.3に例示されているように、ツリー内のすべてのリーフノードについてリーフノード属性が集計される26。
【0060】
属性変換機能と属性集計機能
「属性変換基準」のセクションに既に開示したように、属性は、より複雑な属性間の比較を実施する変換機能を含むことができる。これは図12にも示されている。特定の属性(図12−1.4a)が変換機能(例えばRANGE())を含む。これは、この属性をターゲット属性のリストと比較するために使用されてもよい。図12は、変換機能が、RANGE、IF、GT等のようなオペレータとともに多種多様であり得ることを示している。変換機能は、値(図12−1.4−b)またはステータス(図12−1.4−c、1.4−d)を返すことができる。
【0061】
属性グループもまた変換機能を有し得る(図12−1.4−d)。属性グループは集計機能(図12−1.3、1.3a)(「属性グルーピングと集計」のセクション)を含み、これらの集計機能は属性変換から参照されてもよい(図12−1.2a、1.2b)。これは、属性の集計および変換を単一の値またはステータスにまとめるために有益である。
【0062】
変換および集計機能の拡張
頑強な属性変換機能および頑強な集計機能の組合せにより、プログラムを開発することを必要とせずに属性間の相互関連づけが可能となる。しかし、本発明の一部として現在定義されていない属性変換機能またはオブジェクトが参照された場合、それはまず本システム内の内部機能またはオブジェクトとして探索される。それが内部オブジェクトとして見つからない場合、集計機能の変換機能を評価するために外部コマンドスクリプトをコールする。このようにして本発明は、他の言語でカスタム機能を書き、コマンドスクリプト実行経由で本発明へとインタフェースする能力を含む、新しくより頑強な変換および集計機能を含むように拡張される。
【0063】
[結論]
以上、本発明のいくつかの実施形態を説明したが、上記は単に例示であって限定的なものではなく、単に例として提示されているだけであることが当業者には明らかなはずである。本明細書(添付の特許請求の範囲、要約、および図面を含む)に開示されるすべての特徴は、特に明示的に断りのない限り、同じ目的、および同等または類似の目的に適う代替的特徴で置き換えてもよい。したがって、添付の特許請求の範囲により規定される本発明およびその均等物の範囲内に入るその変更例の数多くの他の実施形態が想定される。
【0064】
例えば、本明細書に記載される技法は、ハードウェアもしくはソフトウェア、またはその2つの組合せのいずれで実施されてもよい。さらに、それらの技法は、少なくともプロセッサおよびそのプロセッサによって読み出し可能なストレージ媒体(揮発性および不揮発性のメモリおよび/またはストレージ要素を含む)をそれぞれ含むプログラム可能デバイス上で実行される制御プログラムとして実施されてもよい。それぞれのそのような制御プログラムは、コンピュータシステムと通信するために高水準の手続き型またはオブジェクト指向プログラミング言語で実施されてもよいが、所望であればプログラムはアセンブリ言語または機械語で実施することも可能である。それぞれのそのような制御プログラムはストレージ媒体またはデバイス(例えば、CD−ROM、ハードディスクまたは磁気ディスケット)に格納されてもよい。このストレージ媒体またはデバイスは、本文書に記載される手続きを実行するためにコンピュータによって読み出される時に、コンピュータを設定し動作させるための汎用または専用プログラム可能コンピュータによって読み出し可能なものである。さらに、本明細書に記載される技法は、コンピュータプログラムを備えて構成されたコンピュータ可読ストレージ媒体として実施されてもよい。その場合、そのように構成されたストレージ媒体によりコンピュータが特定のあらかじめ規定された方法で動作する。
【0065】
参考
1) 本発明の時点では、ほとんどの大型コンピュータは30%のCPU使用率で動作し、過剰のディスク、メモリおよびネットワーク帯域資源を有していた。
2) エージェントレス被管理ノードは、ゲートウェイエージェント構成により管理され、マネージャノード自身の上、またはゲートウェイ構成内の別個のノード上の両方で動作し得る。
3) 複数のノードの管理をカプセル化するソフトウェア(例えば、Element Managers、HP OpenView、BMC Patrol等)は、このアーキテクチャでは単一のノードとみなして管理することができる。
4) ネットワークから管理可能ないかなるデバイスまたは特殊ソフトウェアも、このシステムおよび方法を用いて管理可能である。
5) Java JMXは、非JMXアプリケーションを管理するためのアダプタ(例えばSNMPまたはHTTPアダプタ)をサポートするが、Java JMXは、ある種のアダプタがシステムもしくはアプリケーションユーティリティまたは対話的ユーティリティさえも実行可能であることを必要とすることは開示していない。本システムおよび方法は、Java JMXアダプタの概念を、いかなるシステムもしくはアプリケーションユーティリティまたは対話的プログラムにも適応するように、より頑強なJMXアダプタのセットへと拡張するために使用可能である。
6) ドリルダウンを使用する場合、差分を含むデータファイルが被管理ノード、マネージャに格納されてもよく、または差分はドリルダウン時間中に計算され、その場合、もとのソースが被管理ノードもしくはマネージャに格納されてもよい。図8−2.1「node:path」は、差分の位置がフレキシブルであるとともに変動することを示すことを意図している。
7) ダイナミックおよび制御ビーン機能は同じビーン内にあってもよく、これはシンプルビーンとダイナミックビーンの間のハイブリッドを作る。実際にはこれは依然としてダイナミックであり、制御の機能をビーン内に結合している。
9) 制御ビーンおよびダイナミックビーンの機能が別個のビーンとして配備される必要はない。
10) pollNow()メソッドは、ExecuteNow()メソッドと同様に、各テストを実行することによって最新値を実際に更新するが、すべての属性テストを実行する。
11) 新たなインタフェース機能をビーン(制御ビーンおよびダイナミックビーンの両方とも)に追加することができる。
ここで、
12) スケジューラはシンプルビーンもしくはカスタムコードとして実施されてもよく、または外部スケジューラ(例えばCronまたはAt)が使用されてもよい。
13) アーカイブデータは、マネージャ、被管理ノード、およびファイルサーバのような別個のノード等、どこに格納されてもよい。
14) テストの名前と属性の名前は異なっていてもよい。例えば、属性:SHMMAX=2500;テスト:SHMMAX_TEST="grep SHMMAX /etc/system"。
15) 代替実施形態では、GUIはマネージャから分離されていてもよい。
16) 代替実施形態では、マネージャビーンはプロキシエージェントとして作用し、エージェントのプライマリマネージャから別のセカンダリマネージャ(複数可)へのすべてのアクティビティ(例えば通知イベント)を代理するとともに、セカンダリマネージャ(複数可)が同じプロキシメカニズムにより同じマネージャビーン経由で要求を送信することも可能にする。
17) 代替実施形態では、属性変換機能はターゲット属性に対して実施されてもよい。
18) a)属性およびビーンコンフィグデータはマネージャを出所としてもよく、b)ノードとマネージャの間で共有されてもよく、c)ここで指定されていない別のノードまたは外部データソースに由来してもよい。
19) 本解決法の代替実施形態では、すべてのデータがアーカイブ、集中化データベース、またはその2つの組合せのいずれかに格納される。データベースまたはアーカイブに格納される場合、データが格納される場所は可変でありフレキシブルであるが、好ましい実施形態では、データはアーカイブを出所とし、開示されているPollおよびNotifyメカニズムを用いてマネージャで最新に維持される
。
20) データベースに返される通知は、httpプロキシのようなプロキシによってもたらされてもよい。
21) FIFO(図10 6.2)が持続性である(すなわちディスク上に格納される)必要はない。
22) FIFO(図10 6.2)が被管理ノード上にある必要はない。
ここで、
23) 再同期(図10 8.0)はここでは単一のオブジェクト/スレッドとして示されているが、代替実施形態では、再同期は、ポーリングを必要とし得る多くの管理機能(図10−7.2)に分散していてもよい。
24) PollNow()には2つの形式がある。管理機能にデータを返すPollNowと、通知メカニズム(図10 5.1または6.1)の1つによってデータを返すPollNowとである。
25) 図7 1.6 Attribute-Group-Yは属性グループを含む。これは属性および別の属性グループの両方を含む。
26) 含まれている属性のリストに個別に割当て可能な属性集計機能のリストも開示されている。これは、個別の属性(リーフノード)が、他のリーフノードを無視して集計リストを設定するために使用されることを可能にする。これはまた、リーフノードを包含または除外する、分岐ノードの集計も可能にする。
【図面の簡単な説明】
【0066】
【図1】本解決法の態様および特徴を図式的に説明する図である。
【図2】本解決法の態様および特徴を図式的に説明する図である。
【図3】本解決法の態様および特徴を図式的に説明する図である。
【図4】本解決法の態様および特徴を図式的に説明する図である。
【図5】本解決法の態様および特徴を図式的に説明する図である。
【図6】本解決法の態様および特徴を図式的に説明する図である。
【図7】本解決法の態様および特徴を図式的に説明する図である。
【図8】本解決法の態様および特徴を図式的に説明する図である。
【図9】本解決法の態様および特徴を図式的に説明する図である。
【図10】本解決法の態様および特徴を図式的に説明する図である。
【図11】本解決法の態様および特徴を図式的に説明する図である。
【図12】本解決法の態様および特徴を図式的に説明する図である。
Claims (2)
- 本出願の明細書に示され記載される計算インフラストラクチャに対する変更を管理するシステム。
- 複数のノードを有する計算インフラストラクチャにおいて、この計算インフラストラクチャに対する変更を管理するシステムであって、このシステムは、1つまたは複数の被管理ノードと通信する1つまたは複数のマネージャノードを備え、このマネージャノードは、本明細書に提示される技法に従って、前記計算インフラストラクチャで発生する無許可の、および偶発的な変更を動的に検出するように構成される計算インフラストラクチャに対する変更を管理するシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29751201P | 2001-06-11 | 2001-06-11 | |
PCT/US2002/018473 WO2002101572A1 (en) | 2001-06-11 | 2002-06-11 | Apparatus, method, and article of manufacture for managing changes on a compute infrastructure |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005502104A true JP2005502104A (ja) | 2005-01-20 |
Family
ID=23146613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003504264A Pending JP2005502104A (ja) | 2001-06-11 | 2002-06-11 | 計算インフラストラクチャに対する変更を管理するシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050120101A1 (ja) |
EP (1) | EP1405199A4 (ja) |
JP (1) | JP2005502104A (ja) |
WO (1) | WO2002101572A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009064211A (ja) * | 2007-09-06 | 2009-03-26 | Nec Corp | 分散システム |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155501B2 (en) * | 2002-05-16 | 2006-12-26 | Sun Microsystems, Inc. | Method and apparatus for managing host-based data services using CIM providers |
US8447963B2 (en) * | 2002-06-12 | 2013-05-21 | Bladelogic Inc. | Method and system for simplifying distributed server management |
US20030236997A1 (en) * | 2002-06-24 | 2003-12-25 | Paul Jacobson | Secure network agent |
US8140635B2 (en) | 2005-03-31 | 2012-03-20 | Tripwire, Inc. | Data processing environment change management methods and apparatuses |
US20060179116A1 (en) * | 2003-10-10 | 2006-08-10 | Speeter Thomas H | Configuration management system and method of discovering configuration data |
JP2006041709A (ja) * | 2004-07-23 | 2006-02-09 | Mitsubishi Electric Corp | ネットワーク管理システム |
US8200789B2 (en) | 2004-10-12 | 2012-06-12 | International Business Machines Corporation | Method, system and program product for automated topology formation in dynamic distributed environments |
US20060120384A1 (en) * | 2004-12-08 | 2006-06-08 | International Business Machines Corporation | Method and system for information gathering and aggregation in dynamic distributed environments |
US8176158B2 (en) | 2005-08-09 | 2012-05-08 | Tripwire, Inc. | Information technology governance and controls methods and apparatuses |
US7480666B2 (en) * | 2005-08-11 | 2009-01-20 | International Business Machines Corporation | Method for navigating beans using filters and container managed relationships |
US10318894B2 (en) | 2005-08-16 | 2019-06-11 | Tripwire, Inc. | Conformance authority reconciliation |
US20080059504A1 (en) * | 2005-11-30 | 2008-03-06 | Jackie Barbetta | Method and system for rendering graphical user interface |
US20090070425A1 (en) * | 2007-09-12 | 2009-03-12 | Hewlett-Packard Development Company, L.P. | Data processing system, method of updating a configuration file and computer program product |
US8914341B2 (en) | 2008-07-03 | 2014-12-16 | Tripwire, Inc. | Method and apparatus for continuous compliance assessment |
US8266301B2 (en) * | 2009-03-04 | 2012-09-11 | International Business Machines Corporation | Deployment of asynchronous agentless agent functionality in clustered environments |
US8489941B2 (en) * | 2009-09-03 | 2013-07-16 | International Business Machines Corporation | Automatic documentation of ticket execution |
US8074121B2 (en) * | 2009-12-09 | 2011-12-06 | International Business Machines Corporation | Automated information technology error and service request correlation |
US9286471B2 (en) * | 2011-10-11 | 2016-03-15 | Citrix Systems, Inc. | Rules based detection and correction of problems on mobile devices of enterprise users |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
US10749885B1 (en) * | 2019-07-18 | 2020-08-18 | Cyberark Software Ltd. | Agentless management and control of network sessions |
CN112506587B (zh) * | 2020-11-26 | 2023-03-24 | 深圳软通动力信息技术有限公司 | Api部署监控的方法、***、电子装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816429A (ja) * | 1994-04-28 | 1996-01-19 | Toshiba Corp | 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置 |
JPH11288395A (ja) * | 1997-10-06 | 1999-10-19 | Sun Microsyst Inc | オブジェクトの遠隔的ブラウズ方法及びシステム |
JP2000099478A (ja) * | 1998-09-18 | 2000-04-07 | Toshiba Corp | 異種環境における分散情報処理システム、対異種システム通信装置、及び分散情報処理方法 |
WO2001018691A2 (en) * | 1999-09-07 | 2001-03-15 | Citrix Systems, Inc. | Methods and apparatus for efficiently transmitting interactive application data between a client and server using markup language |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994025913A2 (en) * | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
US6061721A (en) * | 1997-10-06 | 2000-05-09 | Sun Microsystems, Inc. | Bean-based management system |
US6134581A (en) * | 1997-10-06 | 2000-10-17 | Sun Microsystems, Inc. | Method and system for remotely browsing objects |
US6338149B1 (en) * | 1998-07-31 | 2002-01-08 | Westinghouse Electric Company Llc | Change monitoring system for a computer system |
US6427153B2 (en) * | 1998-12-04 | 2002-07-30 | Sun Microsystems, Inc. | System and method for implementing Java-based software network management objects |
US6298478B1 (en) * | 1998-12-31 | 2001-10-02 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
US7546605B1 (en) * | 1999-06-15 | 2009-06-09 | Sun Microsystems, Inc. | Management of non-MBeam objects in JMX environment |
-
2002
- 2002-06-11 EP EP02756156A patent/EP1405199A4/en not_active Withdrawn
- 2002-06-11 WO PCT/US2002/018473 patent/WO2002101572A1/en active Application Filing
- 2002-06-11 US US10/480,566 patent/US20050120101A1/en not_active Abandoned
- 2002-06-11 JP JP2003504264A patent/JP2005502104A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816429A (ja) * | 1994-04-28 | 1996-01-19 | Toshiba Corp | 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置 |
JPH11288395A (ja) * | 1997-10-06 | 1999-10-19 | Sun Microsyst Inc | オブジェクトの遠隔的ブラウズ方法及びシステム |
JP2000099478A (ja) * | 1998-09-18 | 2000-04-07 | Toshiba Corp | 異種環境における分散情報処理システム、対異種システム通信装置、及び分散情報処理方法 |
WO2001018691A2 (en) * | 1999-09-07 | 2001-03-15 | Citrix Systems, Inc. | Methods and apparatus for efficiently transmitting interactive application data between a client and server using markup language |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009064211A (ja) * | 2007-09-06 | 2009-03-26 | Nec Corp | 分散システム |
Also Published As
Publication number | Publication date |
---|---|
US20050120101A1 (en) | 2005-06-02 |
EP1405199A4 (en) | 2007-08-15 |
WO2002101572A1 (en) | 2002-12-19 |
EP1405199A1 (en) | 2004-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005502104A (ja) | 計算インフラストラクチャに対する変更を管理するシステム | |
US11347806B2 (en) | Discovery of containerized platform and orchestration services | |
US20210056125A1 (en) | Discovery of database and related services | |
US11431568B2 (en) | Discovery of software bus architectures | |
US10944654B2 (en) | Discovery and mapping of containerized software applications | |
US8205000B2 (en) | Network management with platform-independent protocol interface for discovery and monitoring processes | |
US7337473B2 (en) | Method and system for network management with adaptive monitoring and discovery of computer systems based on user login | |
EP2922238B1 (en) | Resource allocation method | |
US20030061323A1 (en) | Hierarchical system and method for centralized management of thin clients | |
EP2815346B1 (en) | Coordination of processes in cloud computing environments | |
US20020112051A1 (en) | Method and system for network management with redundant monitoring and categorization of endpoints | |
US20040006652A1 (en) | System event filtering and notification for OPC clients | |
US11765120B2 (en) | Message queue architecture and interface for a multi-application platform | |
US20020124066A1 (en) | Method and system for unambiguous addressability in a distributed application framework in which duplicate network addresses exist across multiple customer networks | |
US6892234B2 (en) | Multi-tiered enterprise management system and method including a presentation services unit external to the enterprise | |
US11269618B1 (en) | Client device support for incremental offline updates | |
US11829749B2 (en) | Incremental update for offline data access | |
US20240154863A1 (en) | Storing configuration data changes to perform root cause analysis for errors in a network of managed network devices | |
Wang et al. | Design and Research of SDN Unified Controller in Large Data Center | |
Lu | SESANMS: A Scalable and Extensible Architecture for Web Based NMS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071204 |