(57)【特許請求の範囲】
【請求項１】
コンピューティング環境としてのプラットホーム間のパラメータの設定を管理するために、設定可能な構成要素をアクティブに管理するためのシステムであって、
複数の構成要素を備え、各構成要素は、ＸＭＬ（Extensible  Markup  Language）フォーマットで記述されたドクレットとして定義される文書型定義を含み、前記文書型定義は１組の設定パラメータを含む設定を格納し、前記複数の構成要素は管理されたドメイン内にあり、前記システムはさらに、
設定ポリシーに関する情報を格納するリポジトリと、
サーバとを備え、前記サーバは、コンピュータメモリと、サーバプロセッサと、前記サーバを前記複数の構成要素に接続する通信リンクとを含み、前記設定ポリシーは、前記複数の構成要素の各々の設定の各設定パラメータに対し、前記設定パラメータが前記サーバにより妥当性検証される値の範囲を定義しており、前記サーバは、（ａ）前記複数の構成要素の各々の登録情報を前記コンピュータメモリに記憶し、（ｂ）設定パラメータの収集、検証および分析のための処理を実行するためのアプリケーションプログラミングインターフェイスを用いることにより、各設定に対して行なわれた設定変更の妥当性を検証し、前記設定変更が前記設定ポリシーに従っているかどうかを判断するように構成されており、
前記設定変更の妥当性の検証は、
（ｂ１）前記サーバプロセッサによって、新規の構成要素が発見された場合に、当該新規の構成要素の設定に含まれる設定パラメータについて、前記リポジトリから検索されるＸＭＬフォーマットの文書型定義に照らして、妥当性を検証することと、
（ｂ２）前記サーバプロセッサによって、構成要素の変更が発見された場合に、当該構成要素の設定に含まれるパラメータについて、前記リポジトリから検索されるＸＭＬフォーマットの文書型定義に照らして、妥当性を検証することとを含み、
前記妥当性の検証は、値の種類、値の範囲、および任意のパラメータ参照関係の検査を含む、システム。
【請求項２】
前記サーバによって提供されるサービスは、
パラメータの妥当性検査と、
設定パラメータの変更が行われる前における影響分析と、
前記影響分析に基づいた、矛盾のないパラメータの変更管理と、
設定のバージョン制御とを含む、請求項１に記載のシステム。
【請求項３】
前記サーバプロセッサは、特定の構成要素の設定に対して行なわれた、識別された設定変更をログとして前記コンピュータメモリに格納するように構成されている、請求項１に記載のシステム。
【請求項４】
前記複数の構成要素に照らして前記識別された設定変更に影響分析を行なうための設定および妥当性検証のモジュールをさらに備える、請求項１に記載のシステム。
【請求項５】
１つの構成要素の設定における第１の設定パラメータと、別の構成要素の設定における第２の設定パラメータとは、従属関係にある、請求項１に記載のシステム。
【請求項６】
前記サーバは、前記設定パラメータに対して提案された変更の妥当性を検証する前に、前記第１の設定パラメータと前記第２の設定パラメータとの間の前記従属関係を識別する、請求項５に記載のシステム。
【請求項７】
前記情報は、前記複数の構成要素のうち少なくとも２つの構成要素間の設定のマッピングを定義する少なくとも１つの文書型定義を含み、前記マッピングは、少なくとも１つの他の設定パラメータに対する従属関係を有する設定パラメータを指定する、請求項１に記載のシステム。
【請求項８】
前記従属関係は、単方向、双方向、循環、一対多、多対一、および多対多のうちの１つを含む、請求項５に記載のシステム。
【請求項９】
コンピューティング環境としてのプラットホーム間のパラメータの設定を管理するために、設定可能な複数の構成要素の各々をアクティブに管理するための方法であって、各構成要素は、ＸＭＬ（Extensible  Markup  Language）フォーマットで記述されたドクレットとして定義される文書型定義を含み、前記文書型定義は１組の設定パラメータを含む設定を格納し、前記複数の構成要素は管理されたドメイン内にあり、
サーバにアクセス可能なコンピュータメモリにおいて、設定ポリシーに関する情報を前記コンピュータメモリに格納するリポジトリを維持するステップを備え、前記設定ポリシーは、前記複数の構成要素の各々の設定の各設定パラメータに対し、前記設定パラメータが前記サーバにより妥当性検証される値の範囲を定義しており、
前記サーバが、複数の構成要素の各々を参照する登録情報を格納するステップと、
前記サーバが、設定パラメータの収集、検証および分析のための処理を実行するためのアプリケーションプログラミングインターフェイスを用いることにより、各設定に対して行なわれた設定変更の妥当性を検証し、前記設定変更が前記設定ポリシーに従っているかどうかを判断するステップとを備え、
前記設定変更の妥当性の検証は、
新規の構成要素が発見された場合に、当該新規の構成要素の設定に含まれる設定パラメータについて、前記リポジトリから検索されるＸＭＬフォーマットの文書型定義に照らして、妥当性を検証することと、
構成要素の変更が発見された場合に、当該構成要素の設定に含まれるパラメータについて、前記リポジトリから検索されるＸＭＬフォーマットの文書型定義に照らして、妥当性を検証することとを含み、
前記妥当性の検証は、値の種類、値の範囲、および任意のパラメータ参照関係の検査を含む、方法。
【請求項１０】
前記サーバによって提供されるサービスは、
パラメータの妥当性検査と、
設定パラメータの変更が行われる前における影響分析と、
前記影響分析に基づいた、矛盾のないパラメータの変更管理と、
設定のバージョン制御とを含む、請求項９に記載の方法。
【請求項１１】
前記サーバが特定の構成要素の設定に対して行なわれた、識別された設定変更をログとして前記コンピュータメモリに格納するステップをさらに含む、請求項９に記載の方法。
【請求項１２】
前記サーバが前記複数の構成要素に照らして前記識別された設定変更に影響分析を行なうステップをさらに含む、請求項９に記載の方法。
【請求項１３】
１つの構成要素の設定における第１の設定パラメータと、別の構成要素の設定における第２の設定パラメータとは、従属関係にある、請求項９に記載の方法。
【請求項１４】
前記設定パラメータに対して提案された変更の妥当性を検証する前に、前記第１の設定パラメータと前記第２の設定パラメータとの間の前記従属関係を識別するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記情報は、前記複数の構成要素のうち少なくとも２つの構成要素間の設定のマッピングを定義する少なくとも１つの文書型定義を含み、前記マッピングは、少なくとも１つの他の設定パラメータに対する従属関係を有する設定パラメータを指定する、請求項９に記載の方法。
【請求項１６】
前記従属関係は、単方向、双方向、循環、一対多、多対一、および多対多のうちの１つを含む、請求項１３に記載の方法。
【請求項１７】
請求項９から請求項１６のいずれかに記載の方法を実行するためのコードを保持するコンピュータ読取可能な記憶媒体。
【請求項１８】
前記複数の構成要素の各々は、前記構成要素の設定の設定パラメータにアクセスするためのクライアントモジュールを含み、
前記システムは、前記リポジトリにアクセスすることのできる管理操作卓を含み、前記管理操作卓は、
特定の構成要素に関連する前記クライアントモジュールと通信することによって、前記複数の構成要素の特定の構成要素の設定を検索するための少なくとも１つのサービスインターフェイスと、
検索された設定の各々から設定パラメータを抽出するためのパーサと、
前記設定ポリシーに照らして、抽出された設定パラメータの各々の妥当性の検証を行なうための検証手段とを含む、請求項１に記載のシステム。
【請求項１９】
前記複数の構成要素の少なくとも１つの設定の、構成要素に固有な設定パラメータにアクセスするための少なくとも１つのアダプタをさらに備える、請求項１８に記載のシステム。
【請求項２０】
前記複数の構成要素を動的に調査するための、構成要素に固有な少なくとも１つのアダプタをさらに備える、請求項１８に記載のシステム。
【請求項２１】
前記抽出された設定パラメータから形成される構成要素パラメータの従属関係ツリーと、
前記構成要素パラメータの従属関係ツリーをトラバースすることにより、前記複数の構成要素の特定の構成要素の設定に対して設定変更を行なう影響を分析するための影響分析手段とをさらに備える、請求項１８に記載のシステム。
【請求項２２】
設定パラメータに変更を行なうための変更手段をさらに備える、請求項１８に記載のシステム。
【請求項２３】
前記設定ポリシーは、１組のグローバルパラメータ定義および文書型定義で表現される、請求項１８に記載のシステム。
【請求項２４】
妥当性を検証するための手段をさらに備え、前記妥当性を検証するための手段によって実行される処理は、
前記複数の構成要素の設定の前記設定パラメータを管理することと、
前記複数の構成要素の設定の前記設定パラメータに関して管理者に通知することと、
前記複数の構成要素の設定の前記設定パラメータに関して管理者に警告することと、
前記複数の構成要素の設定の前記設定パラメータの変更を黙諾することとの少なくとも１つを含む、請求項１８に記載のシステム。
【請求項２５】
ユーザインターフェイス管理操作卓を設けるブラウジングサービスをさらに備える、請求項１８に記載のシステム。
【請求項２６】
新規の構成要素を登録するための管理設定モジュールをさらに備える、請求項１８に記載のシステム。
【請求項２７】
ＸＭＬ文書を受信することのできる管理設定モジュールをさらに備え、前記ＸＭＬ文書は、特定の構成要素の設定が変更されたときに前記特定の構成要素の設定の前記設定パラメータを記述する、請求項１８に記載のシステム。
【請求項２８】
前記複数の構成要素の少なくとも１つは、ウェブサーバ、インターネットアプリケーションサーバ、およびデータベースサーバの少なくとも１つに対応する、請求項１８に記載のシステム。
【請求項２９】
前記サーバが設定可能な個々の構成要素の設定パラメータにアクセスするためのクライアントモジュールを各々が含む前記複数の構成要素をインターフェイスするステップと、
前記サーバが前記複数の構成要素の各構成要素に存在するクライアントモジュールと通信することにより、複数の構成要素の各々の設定を検索するステップと、
前記サーバが検索された各設定から１組の設定パラメータを抽出するステップと、
前記サーバが前記設定ポリシーに照らして、抽出された設定パラメータの各々の妥当性を検証するステップとを含む、請求項９に記載の方法。
【請求項３０】
前記サーバが前記複数の構成要素の少なくとも１つの設定の、構成要素に固有な設定パラメータにアクセスするステップをさらに含む、請求項２９に記載の方法。
【請求項３１】
前記サーバが前記複数の構成要素の各構成要素を動的に調査して、前記構成要素の設定が変更されたかどうかを判断するステップをさらに含む、請求項２９に記載の方法。
【請求項３２】
前記サーバが前記抽出された設定パラメータから構成要素パラメータの従属関係ツリーを形成するステップと、
前記サーバが前記構成要素パラメータの従属関係ツリーをトラバースすることによって、前記複数の構成要素の特定の構成要素の設定に設定変更を行なう影響を求めるステップとをさらに含む、請求項２９に記載の方法。
【請求項３３】
前記設定ポリシーは、前記複数の構成要素の各々の設定の各設定パラメータに対し、前記設定パラメータが成功裡に妥当性検証される値の範囲を定義する、請求項２９に記載の方法。
【請求項３４】
前記抽出された設定パラメータは、１つ以上のＸＭＬ文書で表現される、請求項２９に記載の方法。
【請求項３５】
前記設定ポリシーは、１組のグローバルパラメータ定義および文書型定義で表現される、請求項３４に記載の方法。
【請求項３６】
前記サーバが前記複数の構成要素の設定の前記設定パラメータを管理するステップと、
前記サーバが前記複数の構成要素の設定の前記設定パラメータに関して管理者に通知するステップと、
前記サーバが前記複数の構成要素の設定の前記設定パラメータに関して管理者に警告するステップと、
前記サーバが前記複数の構成要素の設定の前記設定パラメータの変更を黙諾するステップとの１つ以上をさらに含む、請求項２９に記載の方法。
【請求項３７】
前記サーバがユーザインターフェイス管理操作卓を含むブラウジングサービスを提供するステップをさらに含む、請求項２９に記載の方法。
【請求項３８】
前記サーバが新規の構成要素を管理設定モジュールに登録するステップをさらに含む、請求項２９に記載の方法。
【請求項３９】
特定の構成要素の設定が変更されたときに、前記サーバが、前記特定の構成要素の設定の前記設定パラメータを記述するＸＭＬ文書を管理設定モジュールにおいて受信するステップをさらに含む、請求項２９に記載の方法。
【請求項４０】
前記複数の構成要素の少なくとも１つは、ウェブサーバ、インターネットアプリケーションサーバ、およびデータベースサーバの少なくとも１つに対応する、請求項２９に記載の方法。
【請求項４１】
請求項２９から請求項４０に記載の方法を実行するためのコードを保持する、コンピュータ読取可能な記憶媒体。
【請求項４２】
前記サーバは、前記設定ポリシーに対して識別された前記設定変更のみの妥当性を検証し、前記設定変更が前記設定ポリシーに適合するか否かを判断する、請求項１に記載のシステム。
【請求項４３】
前記サーバが識別された設定変更の妥当性を検証することは、前記設定変更が前記設定ポリシーに適合するか否かを判断するために、前記設定ポリシーに対して識別された設定変更のみの妥当性を検証することを含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権に関する注意
この特許文書の開示の一部は、著作権保護下にある資料を含む。特許文書または特許開示内容が特許商標庁の特許書類または記録に表示されているため、著作権所有者は、誰もがそれを複製することに異議はない。しかしながら、どのような場合も、著作権所有者はすべての著作権を保持する。
【０００２】
発明の分野
この発明は、一般に、企業の構成要素の管理に関し、特定的に、設定可能な構成要素からなる企業をアクティブに管理するためのシステムおよび方法に関する。
【背景技術】
【０００３】
発明の背景
企業のコンピューティング環境は、ローカライズされた個々のイントラネットワークを含み、これらのイントラネットワークは、広域のインターネットワークまたは「インターネット（Internet）」経由で相互接続される。インターネットワークは地理的に分散されたリソースを含み得、これらのリソースは、全体的に見た場合、柔軟に関連付けられたコンピュータの統一的な組を含む。インターネットは、広く使用されて企業のコンピューティング環境の一部を形成し得る公衆インターネットワークの一例である。
【０００４】
殆どの企業のコンピューティング環境は、異機種のコンピューティングシステムからなり、これらのシステムは、ネットワーク機器およびパーソナルコンピュータから、ワールドワイドウェブ（World Wide Web）（「ウェブ」）コンテンツ、インターネットアプリケーション、およびデータベースへのアクセスを提供する専用サーバおよびメインフレームにまで及ぶ。これらのネットワーク構成要素間の相互運用可能性を高めるために設定パラメータを注意深く設計および調節して、システムの性能を最大にし、かつ、潜在的な競合および問題を有する領域を最小にしなければならない。
【０００５】
信頼可能かつ予測可能な性能を提供するために、プラットホーム間の設定を効果的に管理する能力が極めて重要である。しかしながら、プラットホーム間ベースで設定の管理を行なうことは難しい。ハードウェア、オペレーティングシステム、中間層ソフトウェア、およびアプリケーションソフトウェアの設定の相違により、考え得る設定パラメータのシナリオからなる複雑な組合せが生じる。一般によく生じるプラットホーム間のパラメータ設定の組合せは、時間のかかる試行錯誤の後に初めて、偶然に発見されることが多い。
【０００６】
一例として、共用記憶域モデルを使用するUnix（登録商標）オペレーティングシステムベースのデータベースサーバは、一定数のバッファ、共用記憶域のプール空間、およびプロセスを備えて設定されて、多数のデータベースインスタンスとの並行動作を可能にしなければならない。また、オペレーティングシステムは、十分な数のセマフォーにより共用記憶域のサイズの上限をサポートするように設定されなければならない。信頼可能で並行したデータベース動作を提供するためには、オペレーティングシステムの設定パラメータとデータベースの共用記憶域モデルによって命令された設定パラメータとの間の従属関係が極めて重要である。
【０００７】
多くのソフトウェアのベンダー、たとえばカリフォルニア（California）州レッドウッド・ショアーズ（Redwood Shores）のオラクル・コーポレイション（Oracle Corporation
）は、満足できるレベルの性能および相互運用可能性を保証する公認の設定を提供している。しかしながら、公認の設定の範囲外にある変更が企業全体に伝わって、従属するシステムに、不測であることが多い悪影響を及ぼす。実際の変更を行なう前に影響分析の実施を可能にするために、設定パラメータの従属関係を識別することが極めて重要である。設定パラメータの妥当性を検証することによって影響分析のコアが形成される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
企業の環境を管理する際の問題の１つは、従属関係の事前の検査が難しいことである。十分な解決策として、単一のシステムパラダイムが広く容認されている。たとえばWindows（登録商標）ベースの環境は、アプリケーションおよび構成要素の導入を記録するレジストリを用いる。このレジストリは個々のシステムの設定管理を補佐するにすぎず、設定パラメータの変更が企業に及ぼす影響を検査することができない。使用される設定パラメータ値において従属関係は暗示的なものであり得るが、従属関係自体はプラットホーム間ベースで反映されないため、その妥当性が適切に検証され得ない。
【０００９】
企業の環境を管理する際のさらに別の問題は、矛盾のない「真」の定義を維持することであり、すなわち、構成要素、パラメータ、およびノードリソースの定義に対するグローバルマスタスキーマを維持することである。これに関連する問題が、企業内で稼動している個々の構成要素に対するマスタ設定定義の実行である。
【００１０】
先行技術では、４つの解決策がプラットホーム間の設定管理の提供を試みている。これらには、テキサス（Texas）州ヒューストン（Houston）のＢＭＣにより使用許諾を得たインフラストラクチャ管理プログラム（Infrastructure Management program）、ニューヨーク（New York）州アーモンク（Armonk）のＩＢＭにより使用許諾を得たチボリ・ビジネスシステム管理プログラム（Tivoli Business System Manager）、ニューヨーク州イスランディア（Islandia）のコンピュータ・アソシエーツ（Computer Associates）により使用許諾を得たプラティナム（Platinum）、およびコロラド（Colorado）州ゴールデン（Golden）のセンウェア（Sen Ware）により使用許諾を得たオートＤＢＡ（AutoDBA）が含まれる。インフラストラクチャ管理プログラムは、互いに独立したインフラストラクチャの異なる部分を監視および管理する多数のモジュールを含む。チボリ・ビジネスシステム管理プログラムは、ノードおよび分散型システムの全体にわたるアプリケーションのグループを管理するために単一の制御地点を設ける。プラティナムは、ユーザが定義したジョブの自動化に対して性能および事象（event）の監視を行なう。オートDBAは、学習行動用にニューラルネットワークを使用する。上述の解決策は、プラットホーム間における何らかの形態の設定管理を提供するものの、従属関係およびコンテキストベースの設定管理を提供することができない。
【００１１】
したがって、企業全体にわたる宣言型の設定検証および設定管理を提供する手法が必要とされる。このような手法は、インターネットワークおよびイントラネットワークのベースで共通の入口点から作用する設定管理を提供することが好ましい。
【００１２】
さらに、プラットホーム内およびプラットホーム間のソフトウェア統合を可能にするためのフレームワークを提供する手法が必要とされる。このような手法は、識別された従属関係およびパラメータ定義を介し、設定管理のポリシーを識別して実行することが好ましい。
ＵＳ−Ａ−５８３８９１８は、大きなネットワークにおける設定管理の方法を記載しており、個々のシステムが中央データベースから設定情報を受取ることにより、予約による管理（management-by-subscription）を提供する。
【課題を解決するための手段】
【００１３】
この発明は、企業のコンピューティング環境内にある個々のネットワーク構成要素に適用される設定パラメータを動的に管理するためのシステムおよび方法を提供する。一元化された管理システムは管理設定モジュールを含み、この管理設定モジュールは、管理されたドメイン全体にわたって設定パラメータの全変更のアービタとして働く。管理設定モジュールがアクセスするデータベースリポジトリにおいて、１組のグローバルパラメータ定義および文書型定義が維持される。個々のネットワーク構成要素は企業のコンピューティング環境内で作動し、管理設定モジュールによって妥当性の検証および管理が行なわれる設定パラメータによって設定される。管理された構成要素が導入または変更されると、設定パラメータは適格なXMLドクレット（doclet）として管理設定モジュールにアップロードされる。各構成要素が登録され、その後、各変更が妥当性検証、分析、および管理される。その後、妥当性が検証された変更は、適格なXMLドクレットとして個々のネットワーク構成要素に再び伝えられ、今後の履歴の使用および影響分析に備えてデータベースリポジトリに記録される。
【００１４】
一実施例は、設定可能な構成要素からなる企業をアクティブに管理するためのシステムおよび方法である。管理されたドメイン内にある少なくとも１つの個々の構成要素に対する設定が格納される。この設定は、１組の設定パラメータおよび型定義を含む。設定のマッピングは、個々の構成要素のうち少なくとも２つの間で定義される。各マッピングは、少なくとも１つの他の上記の設定パラメータに対する従属関係を有する設定パラメータを指定する。上記の個々の構成要素の各々が登録される。企業に対して定義された設定パラメータおよび型定義のマスタとなる組に基づき、設定パラメータおよび型定義の妥当性が検証される。企業内のマッピングは、上記の個々の構成要素の各々についての妥当性が検証された設定可能なパラメータを動的に調査することによって実行される。さらに別の実施例は、分散したコンピューティング構成要素の設定を一元的に管理するためのフレームワークを提供するためのシステムおよび方法である。複数の個々の構成要素がインターフェイスされる。各構成要素は、文書型定義を適用して設定パラメータを格納するクライアントモジュールを含む。マスタとなる文書型定義およびグローバルパラメータ定義を格納するデータベースリポジトリが維持される。このデータベースリポジトリはアクセスされて、個々の構成要素をアクティブに管理する。個々の構成要素の各々についての格納された文書型定義は、対応するクライアントモジュールを介して検索される。マスタ文書型定義を用いて、検索された文書型定義の各々から設定パラメータが抽出される。抽出された設定パラメータの各々は、グローバルパラメータ定義内で妥当性が検証された設定パラメータに照らして妥当性が検証される。
【００１５】
この発明のさらに別の実施例が、以下の詳細な説明から当業者には容易に明らかになるであろう。以下の説明で、この発明の実施例は、この発明を実施するために考えられた最良の態様を示すために説明されている。認識されるように、この発明は他の実施例および異なる実施例が可能であり、そのいくつかの詳細は、すべてがこの発明の精神および範囲から逸脱することなく、明らかな種々の局面において変更が可能である。したがって、図面および詳細な説明は本質的に例示とみなされるべきであり、限定と見なされるべきではない。
【００１６】
付録Ａ〜Ｄは、例示として、サンプルの文書型定義（付録Ａ）、XMLドクレット（付録Ｂ）、およびこの発明に従ってフォーマット化されたドクレット片（付録Ｃ〜Ｄ）を含む。
【発明を実施するための最良の形態】
【００１７】
詳細な説明
図１は、この発明に従った企業のコンピューティング環境１０を示すブロック図であり、企業のコンピューティング環境１０は、設定可能な構成要素からなる企業をアクティブに管理するためのシステム１１を含む。企業のコンピューティング環境１０はイントラネ
ットワーク１２を含み、イントラネットワーク１２は、ゲートウェイ２４または同様のブリッジ装置を介してインターネットを含むインターネットワーク２３に相互接続される。当業者に認識されるように、他のネットワークの接続形態、設定、ならびにクライアント、サーバおよび構成要素の配置が可能である。
【００１８】
管理システム１１は、インターネットワーク１２を介して相互接続された複数のシステムの設定パラメータを設定し、妥当性を検証し、管理する。複数のシステムは、ウェブキャッシュ１３、インターネットアプリケーションサーバ（iAS）１４〜１６、およびデータベース（DB）サーバ１７〜１８を含む。ウェブキャッシュ１３は、第三者のウェブサーバ（図示せず）に対してウェブコンテンツの動的なキャッシュ格納を行なう。インターネットアプリケーションサーバ１４〜１６は、ウェブサイト、ポータル、およびインターネットのアプリケーションを柔軟に実行して、従来のウェブブラウザおよびモバイル装置の両方へのアクセスを提供する。データベースサーバ１７〜１８はリレーショナルデータベース１９〜２０にそれぞれ結合されて、構造化されたデータ記録に対する管理およびアクセスを提供する。加えて、管理システム１１は、インターネットワーク２３を介して相互接続された遠隔のサーバ２１および遠隔のクライアント２２を含む遠隔システムを管理および設定することができる。
【００１９】
管理システム１１は、管理されたドメイン内におけるウェブキャッシュ１３、インターネットアプリケーションサーバ１４〜１６、およびデータベースサーバ１７〜１８を含むシステムの組に対し、実行時の企業の環境に対する設定変更を自動化して妥当性を検証する。図２の参照で始まり、以下にさらに説明するように、管理システム１１は、共通の入口点からのシステムおよびユーザソフトウェアの統合および管理を可能にするフレームワークを提供する。さまざまな企業の構成要素間の個々の従属関係は管理システム１１によって管理され、この管理システム１１は、設定パラメータに対して提案された変更の妥当性を検証する前に、文脈ベースの影響分析を用いる。管理された構成要素の各々は格納された文書型定義を維持し、この文書型定義は、宣言型定義として表現された設定パラメータおよび値を含む。説明している実施例において、文書型定義は、拡張可能マークアップ言語（Extensible Markup Language）（XML）フォーマットで記述されたドクレットとして定義される。
【００２０】
管理システム１１ならびにネットワークによって管理される構成要素１３〜１８、２１および２２を含む個々のコンピュータシステムは、プログラムされた汎用のデジタルコンピュータ装置であり、このコンピュータ装置は、中央処理ユニット（CPU）、ランダムアクセスメモリ（RAM）、ハードドライブまたはCD ROMドライブ等の不揮発性補助記憶装置、ネットワークインターフェイス、ならびにキーボードおよび表示装置等のユーザインターフェイス手段を有する周辺装置を含む。CPUにより実行および処理されるために、ソフトウェアプログラムおよびデータを含むプログラムコードがRAM内にロードされ、表示、出力、送信、または格納用に結果が生成される。
【００２１】
図２は、図１の設定可能な構成要素からなる企業をアクティブに管理するためのシステムを示すブロック図である。この管理システムはフレームワーク３０を定義し、フレームワーク３０は、個々のネットワーク構成要素３３の各々、管理操作卓３１、および管理サーバ３２を含む。個々のネットワーク構成要素３３の各々は、Java（登録商標）仮想マシン（JVM）３６にクライアントモジュール（cbean）３７を実行する。クライアントモジュール３７は、格納された設定パラメータ４１にアクセスする。設定パラメータ４１の各組は、その特定のネットワーク構成要素３３上で作動するオペレーティングシステム、中間層ソフトウェア、およびアプリケーションソフトウェアに対する調整可能な設定パラメータの値を格納する。
【００２２】
説明している実施例において、管理操作卓３１は、直感的でユーザが使用しやすいユーザインターフェイスを提示するウェブブラウザベースのアプリケーションとして作動する。管理システム３０のコアが管理設定（mconfig）モジュール３５であり、このモジュールは、Java（登録商標）仮想マシン（JVM）３４上でJava（登録商標）サーバアプリケーション（サーブレット）として作動する。代替的に、当業者に認識されるように、管理設定モジュール３５は独立型アプリケーションであってよく、または、アクティブサーバページの一形態として実現されてよい。
【００２３】
管理操作卓３１は、データベースリポジトリ３８に結合された管理サーバ３２のインターフェイスとなる。データベースリポジトリ３８は、１組の文書型定義（DTD）３９および１組のグローバルパラメータ４２を含む。各文書型定義３９は、プラットホーム内およびプラットホーム間のソフトウェアに対し、構成要素パラメータおよび従属関係のマスタ宣言型定義を提供する。各DTD３９は、個々の設定パラメータを識別して値の種類、値の範囲、およびパラメータの参照関係を定義する。加えて、各従属関係の形式もまた定義され、この形式は、単方向、双方向、循環、一対多対一、および多対多の関係を含み得る。各グローバルパラメータ定義４２は、ネットワーク構成要素３３の各々によって使用されるべき設定パラメータ値の矛盾のないマスタ定義を提供する。
【００２４】
動作上、管理設定モジュール３５は、新規のまたは変更されたネットワーク構成要素がないかどうか、個々のネットワーク構成要素３３を定期的に調査する。管理設定モジュール３５は、個々のネットワーク構成要素３３を調査して、新規のハードウェアリソース、たとえばプロセッサの数、物理的なランダムアクセスメモリの量、ネットワークインターフェイスカードの数、ディスク容量等を発見して、実施される妥当性検証、影響分析、および変更の制御に繰り込む。説明されている実施例において、管理構成モジュール３５は、Java（登録商標）管理拡張（Management Extension）（JMX）によって使用される公用のアプリケーションプログラムインターフェイス（API）を実現して、個々の設定パラメータ４１を収集、検証、および分析するのに必要とされるさまざまなサービスを呼出す。
【００２５】
新規のまたは変更された構成要素またはサーバが発見されると、管理設定モジュール３５は、対応するクライアントモジュール３７に実行時の設定パラメータ４１を要求して、そのクライアントモジュール３７から設定パラメータ４１を受取る。設定パラメータ４１は適格なXMLドクレット４０として受取られる。各XMLドクレット４０は、管理設定モジュール３５が使用するXMLスキーマに準拠する。XMLドクレット４０により、管理設定モジュール３５は、影響分析で用いるために構成要素パラメータの従属関係ツリーを構成することができる。設立された企業では、ネットワークの通信量を最小にするために、変更が発見されたモジュールのみの妥当性が検証される。
【００２６】
管理設定モジュール３５は、各ネットワーク構成要素３３を登録して妥当性を検証する。設定パラメータ４１は、データベースリポジトリ３８内に維持されているマスタ文書型定義３９に照らして妥当性が検証される。マスタ文書型定義３９は、設定パラメータを設定ポリシーとして実行することにより、認証された設定のサポートを可能にする。妥当性の検証が完了すると、管理設定モジュール３５は、企業のコンピューティング環境１０（図１に図示）内の各サーバが使用するリソースについて記述する実行時のXMLドクレット４０を生成および分配する。
【００２７】
図３は、図１の管理システム１１が提供するコアサービス５１のプロセスフロー図５０である。管理システムのコアサービス５１は、以下のもの、すなわち、
（１）  パラメータの妥当性検査、
（２）  設定パラメータの変更が行なわれる前における影響分析、
（３）  影響分析に基づいた、矛盾のないパラメータの変更管理、
（４）  設定のバージョン制御、
（５）  最新の妥当な設定からの再スタートおよび再ブート、
（６）  文書型定義３９（図２に図示）およびパラメータ定義の新規のバージョンに対するフィールド設定のダウンロードサービス、および
（７）  一元化されたサポートサイトへのフィールド設定のアップロードを含む。
【００２８】
コアサービス５１は、４つの主な入力ソースに依存する。まず、構成要素およびパラメータ定義とノードリソース定義とについて予め定義されたスキーマが、データベースリポジトリ３８（図２に図示）から管理サーバ３２によって検索される。加えて、個々のネットワーク構成要素３３（図２に図示）から、サイトに固有な固定リソース５３、サイトに固有な構成要素およびパラメータ５４、ならびに構成要素の登録事項５５を含むXMLドクレットが受取られる。
【００２９】
コアサービス５１は、調査サービス層（図示せず）を呼出すことにより、サイトに固有なリソースおよび構成要素の設定であるXMLドクレット５３〜５５を得る。コアサービス５１は、範囲外の非妥当な設定パラメータを分析、通知、および訂正して循環関係を識別する。１組の新規のXMLドクレット５８が生成されて、実現用に個々のネットワーク構成要素３３にフィールド付けされる。コアサービス５１はまた、管理、通知、および警告のサービス５６をエクスポートする。コアサービス５１は、管理操作卓３１（図２に図示）上で実現されるように、ブラウザサービス５７を介してエクスポートされ得る。
【００３０】
添付の付録は、一例として、サンプルの文書型定義（付録Ａ）、XMLドクレット（付録Ｂ）、およびこの発明に従って架空のシステム用にフォーマット化されたドクレット片（付録Ｃ〜Ｄ）を含み、この架空のシステムは、２つのプロセッサ、２ギガバイトのランダムアクセスメモリ、１つのネットワークインターフェイスカード、および１７．２ギガバイトの別個の４つのディスク装置に分割された６４ギガバイトのローカルディスク空間を有する。
【００３１】
付録Ａは、特定のハードウェアおよびソフトウェアのリソースに関し、管理されたノードおよびリソースについてのサンプルの文書型定義を示す。この文書型定義を用いて、適格なXMLドクレットを生成する。
【００３２】
付録Ｂは、付録Ａの文書型定義から生成されたXMLドクレットを示す。このドクレットはDOCLET_VERSIONおよびDOCLET_DATEタグを含み、ドクレットの複数のバージョンが維持され得る。XMLのタグおよび属性により、管理されたドメイン内の無数のノードに対してロードリソースが定義され得る。効率を上げるため、各ドクレットをXMLフォーマットでデータベースリポジトリに格納することができる。
【００３３】
所定のサーバのノードにおいてリソースが設定されるとGLOBAL_NODE_DOCLETタグが参照されて、リソースが存在しており利用可能な容量があるかどうかが判断され、それによってリソースの過度な割当を防止する。リソースが存在しない場合、構成要素の設定パラメータが非妥当としてマークされ、それによって実在しないリソースが設定されることを防止する。
【００３４】
付録Ｃは、宣言型のCOMPUTED_VALUEタグを含むサンプルのドクレット片を示す。この種のドクレットのタグにより、パラメータの従属関係は、計算可能な値として設定パラメータの従属関係を明示的に定義することによって動的に管理され得る。COMPUTED_VALUEタグは、方程式「１．１*：Ｒ_００１」を含み、これは、PROCESSESの数に基づいてSESSIONSについてのパラメータ定義を指定する。
【００３５】
付録Ｄは、プラットホーム内の従属関係を示すサンプルのドクレット片を示す。一例として、PROCESSESパラメータが３００に等しくなるように設定されている場合、SESSIONSパラメータは３３０に設定される。また、REF_PARAMETERタグが、構成要素の種類、名前、およびノード参照を提供して、SESSIONSタグの値を公式化する。
【００３６】
当業者に認識されるように、種々のドクレットの実現例を含むドクレットの他の形式、スクリプト言語または非スクリプト言語のこれ以外の使用、ならびに種々のタグの定義および構成が実現可能である。
【００３７】
図４は、図２の管理設定モジュール３５のソフトウェアモジュール６０を示すブロック図である。管理設定モジュール３５は、２つの主な構成要素、すなわち、設定の妥当性検証および管理６０と、構成要素に固有のアダプタ６１とを含む。設定の妥当性検証および管理６０は以下の部分から成り立つ。
【００３８】
（１）  アダプタ６５：クライアントモジュール３７（図２に図示）を介して、およびインターネットアプリケーションサーバ（iAS）のシステム管理インターフェイス（SMI）のクラスを介して受取られて構成要素に固有なパラメータの読出しおよび書込みを行ない、特定のパラメータファイルの読出および書込を行なうために用いられる。
【００３９】
（２）  DOM XMLパーサ６６：XMLドクレット４０からXMLドクレット片を読出して抽出する。
【００４０】
（３）  設定の検証器および分析器６７：実行時の設定パラメータが、検索された文書型定義３９（図２に図示）に指定された動作値内に確実に入るようにする。
【００４１】
（４）  サービスインターフェイス６８：個々のネットワーク構成要素３３（図２に図示）から設定パラメータ４１を登録、妥当性検証、および検索する。
設定の妥当性検証および管理の構成要素６０は、多数のアダプタ６５およびサービスインターフェイス６８を含み、ネットワーク構成要素の種々の形態に対処することができる。
【００４２】
構成要素に固有のアダプタ６１は、異種のネットワーク構成要素３３に対する構成要素に固有のパラメータファイルのフォーマットの読出および書込を行なう。
【００４３】
設定の妥当性検証および管理の構成要素６０は、格納されたグローバルパラメータ定義６２、ノードリソース６３、および構成要素に固有のパラメータ値６４にアクセスし、これらはすべてが適格のXMLドクレットとして格納されている。グローバルパラメータ定義６２およびノードリソース６３は、管理サーバ３２によるアクセスが可能なデータベースリポジトリ３８内に維持されている。提案された固有のパラメータ値の各組６４は、個々のネットワーク構成要素３３から検索され、履歴および影響分析に備えてデータベースリポジトリ３８に格納される。
【００４４】
説明されている実施例では、対話式のアクセスまたは自動化された処理のいずれかを介して管理設定モジュール３５を呼出すことができる。対話式のアクセスは、ウェブブラウザベースのアクセスおよび独立型プログラムを含み、これらによりシステム管理者および他の認証されたユーザは履歴を見て変更することができ、認証を受けているならば、管理されたシステムに対する変更が可能になる。自動化により呼出された場合、提供される唯一のサービスが構成要素の妥当性の従属検査であり、予め構成された設定パラメータが確実に妥当となるように、かつ、従属関係が確実に真となるようにする。管理設定モジュール３５は、新規のネットワーク構成要素もしくはサーバが導入もしくは配備されるたびに、または定期的に稼動される際に、自動化により呼出すことができる。
【００４５】
各モジュールは、Ｃ＋＋プログラミング言語等の従来のプログラミング言語でソースコードとして記述されたコンピュータプログラム、プロシージャ、またはモジュールであり、当該技術で公知であるように、オブジェクトコードまたはバイトコードとしてＣＰＵによって実行されるために提供される。ソースコード、オブジェクトコード、およびバイトコードのさまざまな実現例をコンピュータ読取可能な記憶媒体に保持することができ、または、搬送波の形で送信媒体に取り込むことができる。アクセラレータシステム６１は、図５を参照して以下にさらに説明するように、処理段階のシーケンスに従って作動する。
【００４６】
図５は、この発明に従った、設定可能な構成要素８０からなる企業をアクティブに管理するための方法を示すフロー図である。図６を参照して以下にさらに説明するように、この方法はまず、管理システム３０（図２に図示）を初期化する（ブロック８１）。次に、管理システム１１は、反復的かつ連続的な処理のループ（ブロック８２〜７８）に入り、この処理ループは、管理システム１１が終了または遮断されると終了する。
【００４７】
各反復（ブロック８２）中に、管理されたドメイン内にあるすべてのネットワーク構成要素およびサーバは、各クライアントモジュール３７を要求することによって調査され（ブロック８３）、新規のまたは変更された任意の構成要素またはサーバを識別し、登録し、妥当性を検証する。新規の構成要素またはサーバが調査を通じて発見された場合は（ブロック８４）、図７Ａおよび図７Ｂを参照して以下にさらに説明するように、新規の設定が処理される（ブロック８５）。変更された設定が発見された場合は（ブロック８６）、図１０Ａおよび図１０Ｂを参照して以下にさらに説明するように、変更された設定が処理される（ブロック８７）。このシステムが終了または遮断されるまで反復処理が続行する（ブロック７８）。
【００４８】
図６は、図５の方法で用いるための、管理システム１１を初期化するためのルーチン９０を示すフロー図である。このルーチンの目的は、反復的な処理のループが開始される前に、管理システム１１が使用するための必要なサポートファイルをダウンロードすることである。
【００４９】
したがって、XML文書型定義３９（図２に図示）がデータベースリポジトリ３８からダウンロードされる（ブロック９１）。XMLにフォーマット化されたパラメータ定義は、サポートされる全構成要素についてのグローバルパラメータ定義４２（図２に図示）として格納され、これらもまた、データベースリポジトリ３８からダウンロードされる（ブロック９２）。その後、ルーチンは元に戻る。
【００５０】
図７Ａおよび図７Ｂは、図５の方法で用いるための新規の設定を処理するためのルーチン１００を示すフロー図である。このルーチンの目的は、積極的な調査によって新規のネットワーク構成要素を発見したときに、それを登録して妥当性を検証することである。
【００５１】
したがって、新規に発見された各構成要素の構成要素の設定が、管理サーバ３２に登録される（ブロック１０１）。新規に発見された設定内の個々の構成要素の各々は、以下のように反復処理される（ブロック１０２〜１１４）。各反復（ブロック１０２）中に、各構成要素についての実行時の設定パラメータ４１（図２に図示）が、適格なローカルXMLドクレットに記録される（ブロック１０３）。XMLドクレットは管理サーバ３２にダウンロードされて（ブロック１０４）、登録される（ブロック１０５）。管理設定モジュール３５は、登録が完了するまで（ブロック１０５）待ち（ブロック１０６）、その後、図８を参照して以下にさらに説明するように、設定パラメータの妥当性が検証される（ブロック１０７）。
【００５２】
設定パラメータ４１の妥当性が検証されなかった場合（ブロック１０８）、図９を参照して以下にさらに説明するように、妥当性が検証されなかった設定パラメータが処理される（ブロック１０９）。設定パラメータ４１の妥当性が検証された場合は（ブロック１０８）、設定パラメータ４１の実行時のバージョンがXMLドクレット４０に記録されて、バージョン制御番号が割当てられる（ブロック１１０）。
【００５３】
説明されている実施例では、バージョン制御番号としてDOCLET_VERSIONおよびDOCLET_DATEタグが用いられる。次に、XMLドクレット４０が特定のサーバに送られ、この特定のサーバに対して構成要素の設定が定義される（ブロック１１１）。次に、特定のサーバは、設定パラメータ４１がクライアントモジュール３３によって確実に適用されるようにする。実行時の設定パラメータは管理サーバ３２によってデータベースリポジトリ３８内に格納され（ブロック１１２）、任意のステップとして、指定されたサポートサイトにアップロードされる（ブロック１１３）。処理は、残りの構成要素の各々（ブロック１０２）に対して継続され（ブロック１１４）、その後ルーチンは元に戻る。
【００５４】
図８は、設定パラメータの妥当性を検証するためのルーチン１２０を示すフロー図である。このルーチンの目的は、設定パラメータ４１（図２に図示）の妥当性を検証し、このパラメータを分析し、管理することである。
【００５５】
したがって、設定パラメータ４１は、データベースリポジトリ３８から検索されたXML文書型定義３９（図２に図示）に照らして妥当性が検証される（ブロック１２１）。妥当性の検証には、値の種類、値の範囲、および任意のパラメータ参照関係の検査が含まれる。次に、影響分析が行なわれる（ブロック１２２）。影響分析は、設定ポリシーが確実に実行されるように従属関係ツリーを動的にトラバースすることを含む。設定パラメータが変更された値を反映している場合（ブロック１２３）、変更の管理が行なわれる（ブロック１２４）。変更の管理には、変更を実際に適用することに加え、各変更の影響に関してシステム管理者を管理し、システム管理者に通知し、警告することが含まれる。その後、ルーチンは元に戻る。
【００５６】
図９は、図７Ａおよび図７Ｂのルーチンで用いるための、妥当性が検証されなかった設定パラメータを処理するためのルーチン１３０を示すフロー図である。このルーチンの目的は、妥当性の検証に合格しなかった設定パラメータ４１（図２に図示）を巧みに処理することである。
【００５７】
妥当性が検証されなかった設定パラメータは、以下のように、１つ以上の選択された動作（ブロック１３１〜１３６）を実行することによって処理される。第１に、妥当性が検証されなかったものの変更された設定パラメータは、グローバルパラメータ定義４２（図２に図示）に示されたデフォルト値、または以前に妥当性が検証された値へと変更し直すことができる（１３２）。第２に、管理システム１１は、設定パラメータのすべてにわたって検査を行ない（ブロック１３３）、妥当性が検証されなかった設定パラメータの影響を求めることができる。第３に、管理者に対して警告を生成することができる（ブロック１３４）。また、妥当性が検証されなかった設定パラメータの変更をログ記録することができ（ブロック１３５）、それにより、妥当性が検証されなかったこの設定パラメータの変更が黙諾される。
【００５８】
上述の動作の１つ以上が完了すると、このルーチンは元に戻る。
【００５９】
図１０Ａおよび図１０Ｂは、図５の方法で用いるための、変更された設定を処理するためのルーチン１４０を示すフロー図である。このルーチンの目的は、変更された構成要素が調査によって発見された場合、それを登録して妥当性を検証することである。
【００６０】
したがって、変更されたネットワーク構成要素の構成要素の設定の登録事項が、管理サーバ３２から得られる（ブロック１４１）。新規に発見された設定内にある個々の構成要素の各々は、以下のように反復処理される（ブロック１４２〜１５２）。各反復（ブロック１４２）中に、各構成要素についての実行時の設定パラメータ４１（図２に図示）が適格なローカルXMLドクレットに記録される（ブロック１４３）。XMLドクレットは、図８を参照して以下にさらに説明するように、管理サーバ３２にダウンロードされ（ブロック１４４）、妥当性が検証される（ブロック１４５）。
【００６１】
設定パラメータ４１の妥当性が検証されなかった場合（ブロック１４６）、図９を参照して以下にさらに説明するように、妥当性が検証されなかったこの設定パラメータが処理される（ブロック１４７）。設定パラメータ４１の妥当性が検証された場合（ブロック１４６）、設定パラメータ４１の実行時のバージョンがXMLドクレット４０に記録されて、バージョン制御番号が割当てられる（ブロック１４８）。
【００６２】
説明している実施例では、バージョン制御番号としてDOCLET_VERSIONおよびDOCLET_DATEタグが使用される。次に、XMLドクレット４０が特定のサーバに送られ、この特定のサーバに対して構成要素の設定が定義される（ブロック１４９）。次に、特定のサーバは、設定パラメータ４１がクライアントモジュール３３によって確実に適用されるようにする。実行時の設定パラメータが管理サーバ３２によってデータベースリポジトリ３８内に格納され（ブロック１５０）、任意のステップとして、指定されたサポートサイトにアップロードされる（ブロック１５１）。残りの構成要素の各々（ブロック１４２）に対して処理が続行され（ブロック１５２）、その後、このルーチンは元に戻る。
【００６３】
この発明の実施例を参照してこの発明を具体的に例示し説明してきたが、この発明の精神および範囲から逸脱することなく、形態および詳細についての上述の変更および他の変更を行なってよいことを当業者は理解するであろう。
【００６４】
［付録］
【００６５】
【表１】
0005021886.tif 000002
【００６６】
【表２】
0005021886.tif 000003
【００６７】
【表３】
0005021886.tif 000004
【００６８】
【表４】
0005021886.tif 000005
【００６９】
【表５】
0005021886.tif 000006
【００７０】
【表６】
0005021886.tif 000007
【００７１】
【表７】
0005021886.tif 000008
【図面の簡単な説明】
【００７２】
【図１】この発明に従った、設定可能な構成要素からなる企業をアクティブに管理するためのシステムを含む、企業のコンピューティング環境を示すブロック図である。
【図２】図１の設定可能な構成要素からなる企業をアクティブに管理するためのシステムを示すブロック図である。
【図３】図２の管理システムが提供するコアサービスのデータフロー図である。
【図４】図２の管理設定モジュールのソフトウェアモジュールを示すブロック図である。
【図５】設定可能な構成要素からなる企業をアクティブに管理するための方法を示すフロー図である。
【図６】図５の方法で用いるための、管理システムを初期化するためのルーチンを示すフロー図である。
【図７Ａ】図５の方法で用いるための、新規の設定を処理するためのルーチンを示すフロー図である。
【図７Ｂ】図５の方法で用いるための、新規の設定を処理するためのルーチンを示すフロー図である。
【図８】図７Ａおよび図７Ｂのルーチンで用いるための、設定パラメータの妥当性を検証するためのルーチンを示すフロー図である。
【図９】図７Ａおよび図７Ｂのルーチンで用いるための、妥当性が検証されなかった設定パラメータを処理するためのルーチンを示すフロー図である。
【図１０Ａ】図５の方法で用いるための、変更された設定を処理するためのルーチンを示すフロー図である。
【図１０Ｂ】図５の方法で用いるための、変更された設定を処理するためのルーチンを示すフロー図である。
【図１】
0005021886.tif 000009
【図２】
0005021886.tif 000010
【図３】
0005021886.tif 000011
【図４】
0005021886.tif 000012
【図５】
0005021886.tif 000013
【図６】
0005021886.tif 000014
【図７Ａ】
0005021886.tif 000015
【図７Ｂ】
0005021886.tif 000016
【図８】
0005021886.tif 000017
【図９】
0005021886.tif 000018
【図１０Ａ】
0005021886.tif 000019
【図１０Ｂ】
0005021886.tif 000020