(57)【要約】【課題】コンピューティング・システムを構成することの複雑度を定量的に評価するための技術を開示すること。【解決手段】たとえば、評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するための技術は、次のステップ／オペレーションを含む。評価対象のシステムに関する構成関連のデータを収集する。それらの構成関連のデータの少なくとも一部を定量的に分析して、評価対象のシステムの構成の複雑度を算出する。その定量的な分析に基づいて評価対象のシステムの構成の複雑度を提示する。この技術は、評価対象のシステムの構成の品質を評価するステップ／オペレーションをさらに含むことができる。そして、提示するステップ／オペレーションは、定量的な分析および品質の評価に基づいて評価対象のシステムの構成の複雑度を提示するステップ／オペレーションをさらに含むことができる。【選択図】図２
2009505274.tif 000002
【特許請求の範囲】
【請求項１】
評価対象のシステムの構成に関連する複雑度を定量的に評価するための方法であって、
前記評価対象のシステムに関する構成関連データを収集するステップと、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するステップと、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するステップと、
を含む方法。
【請求項２】
前記評価対象のシステムの前記構成の品質を評価するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記提示するステップが、前記定量的な分析および前記品質の評価に基づいて前記評価対象のシステムの前記構成の複雑度を提示するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記評価対象のシステムに関する構成関連のデータを収集する前記ステップが、１つまたは複数の構成プロセスを取り込むステップをさらに含む、請求項１に記載の方法。
【請求項５】
１つまたは複数の構成プロセスを取り込む前記ステップが、
１人または複数の人間のオペレータの動作をモニタするステップ、
文書やスクリプトを分析するステップ、
構成プロセスを直接手動で入力できるようにするステップ、および
構成プロセスの１つまたは複数の明示的な仕様をロードするステップのうちの１つまたは複数をさらに含む、請求項４に記載の方法。
【請求項６】
前記評価対象のシステムに関する構成関連のデータを収集する前記ステップが、１つまたは複数の構成コントロールに関するデータを収集するステップをさらに含む、請求項１に記載の方法。
【請求項７】
１つまたは複数の構成コントロールに関するデータを収集する前記ステップが、パラメータ、実行可能なオペレーション、ステータスの表示、および構成リポジトリのうちの１つまたは複数を含むデータを収集するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記ステップが、１つまたは複数の構成複雑度スコアを計算するステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記１つまたは複数の構成複雑度スコアが、人間による完了時間のスコア、エラー率のスコア、指定されたスキル・レベルを有する指定された人数の人間のオペレータに関するエラーの深刻度のスコア、および前記収集された構成関連のデータの統計的な集約に基づく生の複雑度スコアのうちの１つまたは複数を含む、請求項８に記載の方法。
【請求項１０】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記ステップが、人間による構成に関するコストのモデルを使用するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記評価対象のシステムの前記構成の複雑度を提示する前記ステップが、人間が読み取ることができるフォーマットおよび機械が読み取ることができるフォーマットのうちの１つまたは複数で前記複雑度の分析の結果を提示するステップをさらに含む、請求項１に記載の方法。
【請求項１２】
前記評価対象のシステムの前記構成の複雑度を提示する前記ステップが、指定された構成プロセスの金銭的な影響を計算するアルゴリズムを介してレポートを作成するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
構成の複雑度を最小限に抑えるように１つまたは複数の構成インターフェースを動的に適合させるために、自動化された方法を使用することができる、請求項１に記載の方法。
【請求項１４】
構成コストを最小限に抑える１つまたは複数のシステム構成を選択することによって、１つまたは複数のホスティング・サービスを提供する金銭的なコストを最適化するために、自動化された方法を使用することができる、請求項１に記載の方法。
【請求項１５】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するための装置であって、
メモリと、
前記メモリに結合されていて、（ｉ）前記評価対象のシステムに関する構成関連のデータを収集するオペレーションと、（ｉｉ）前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するオペレーションと、（ｉｉｉ）前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するオペレーションとを行うように機能する少なくとも１つのプロセッサとを含む装置。
【請求項１６】
前記少なくとも１つのプロセッサが、前記評価対象のシステムの前記構成の品質を評価するようにさらに機能する、請求項１５に記載の装置。
【請求項１７】
前記提示するオペレーションが、前記定量的な分析および前記品質の評価に基づいて前記評価対象のシステムの前記構成の複雑度を提示するオペレーションをさらに含む、請求項１６に記載の装置。
【請求項１８】
前記評価対象のシステムに関する構成関連のデータを収集する前記オペレーションが、１つまたは複数の構成プロセスを取り込むオペレーションをさらに含む、請求項１５に記載の装置。
【請求項１９】
１つまたは複数の構成プロセスを取り込む前記オペレーションが、
１人または複数の人間のオペレータの動作をモニタするオペレーション、
文書やスクリプトを分析するオペレーション、
構成プロセスを直接手動で入力できるようにするオペレーション、および
構成プロセスの１つまたは複数の明示的な仕様をロードするオペレーションのうちの１つまたは複数をさらに含む、請求項１８に記載の装置。
【請求項２０】
前記評価対象のシステムに関する構成関連のデータを収集する前記オペレーションが、１つまたは複数の構成コントロールに関するデータを収集するオペレーションをさらに含む、請求項１５に記載の装置。
【請求項２１】
１つまたは複数の構成コントロールに関するデータを収集する前記オペレーションが、パラメータ、実行可能なオペレーション、ステータスの表示、および構成リポジトリのうちの１つまたは複数を含むデータを収集するオペレーションをさらに含む、請求項２０に記載の装置。
【請求項２２】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記オペレーションが、１つまたは複数の構成複雑度スコアを計算するオペレーションをさらに含む、請求項１５に記載の装置。
【請求項２３】
前記１つまたは複数の構成複雑度スコアが、人間による完了時間のスコア、エラー率のスコア、指定されたスキル・レベルを有する指定された人数の人間のオペレータに関するエラーの深刻度のスコア、および前記収集された構成関連のデータの統計的な集約に基づく生の複雑度スコアのうちの１つまたは複数を含む、請求項２２に記載の装置。
【請求項２４】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記オペレーションが、人間による構成に関するコストのモデルを使用するオペレーションをさらに含む、請求項１５に記載の装置。
【請求項２５】
前記評価対象のシステムの前記構成の複雑度を提示する前記オペレーションが、人間が読み取ることができるフォーマットおよび機械が読み取ることができるフォーマットのうちの１つまたは複数で前記複雑度の分析の結果を提示するオペレーションをさらに含む、請求項１５に記載の装置。
【請求項２６】
前記評価対象のシステムの前記構成の複雑度を提示する前記オペレーションが、指定された構成プロセスの金銭的な影響を計算するアルゴリズムを介してレポートを作成するオペレーションをさらに含む、請求項１５に記載の装置。
【請求項２７】
構成の複雑度を最小限に抑えるように１つまたは複数の構成インターフェースを動的に適合させるために、前記装置によって実行される前記オペレーションを使用することができる、請求項１５に記載の装置。
【請求項２８】
構成コストを最小限に抑える１つまたは複数のシステム構成を選択することによって、１つまたは複数のホスティング・サービスを提供する金銭的なコストを最適化するために、前記装置によって実行される前記オペレーションを使用することができる、請求項１５に記載の装置。
【請求項２９】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するための製品であって、実行されると、
前記評価対象のシステムに関する構成関連のデータを収集するステップと、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するステップと、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するステップを実施する１つまたは複数のプログラムを含む機械可読メディアを含む製品。
【請求項３０】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するためのシステムであって、
前記評価対象のシステムに関する構成関連のデータを収集するための構成関連データ・収集部と、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するための複雑度分析部と、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するための提示部とを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・システムに関し、より詳細には、コンピューティング・システムを構成することの複雑度を定量的に評価するための技術に関する。
【背景技術】
【０００２】
コンピューティング・システムを構成することの複雑度は、ハンドヘルド・デバイスからデスクトップ・パーソナル・コンピュータへ、小企業向けサーバへ、そして企業規模および世界規模のＩＴ（情報技術）のバックボーンへと至るすべての規模のコンピューティング・システムを効率よく、エラーなく、そしてコスト効率よく展開して管理する上での大きな障害になる。たとえば、コンピューティング・システムを構成することは、システムの構造、コンポーネントのラインアップ（ｃｏｍｐｏｎｅｎｔ  ｉｎｖｅｎｔｏｒｙ）、トポロジー、またはオペレーション上のパラメータのうちのいずれかが人間のオペレータやシステム管理者によって継続的に修正される過程を経る任意のプロセスを含む可能性がある。
【０００３】
構成の複雑度が高いコンピューティング・システムは、その複雑度を管理するための人的資源を必要とし、そのコンピューティング・システムを所有するコストの総額は高くなる。同様に、複雑度によって、所望の機能を実行するようにコンピューティング・システムを構成するためにそのコンピューティング・システムと対話するのに費やさなければならない時間が増え、やはり人的資源が消費され、効率および俊敏性が低下する。最後に、構成の複雑度は、結果として構成のエラーにつながる。というのは、複雑度が人間の論理的思考に抵抗し、その結果、熟練したオペレータでさえ決定を誤ってしまうためである。
【０００４】
構成の複雑度の負担が非常に重いため、コンピューティング・システムの設計担当者、構築担当者、および実装担当者は、構成の複雑度を少なくしようと努めるであろうし、同様に、コンピューティング・システムの購入者、ユーザ、および管理担当者は、構成の複雑度を最小限に抑えてシステムを組み立てようと努めるであろうということは明らかである。そうするためには、特定のコンピューティング・システムによって被る構成の複雑度の度合いを定量的に評価できなければならない。すなわち、設計担当者、構築担当者、および開発担当者は、自分たちの構築するシステムを評価して、複雑度が少なくなるように最適化できなければならず、購入者、ユーザ、および管理担当者は、資金を投じる前に購入候補品の複雑度を評価できなければならない。さらに、構成の複雑度を定量的に評価することは、コンピューティング・サービスの提供業者および委託業者が、所与のサービスを提供するのに必要とされるであろう人的管理の分量を定量化する上で役立つことができ、より効率的にコストを評価して統一小売価格を設定できるようにする。
【０００５】
これらのシナリオはすべて、構成の複雑度に関する標準化された、典型的な、正確な、容易に比較できる定量的な評価を必要とし、任意のコンピューティング・システムの構成の複雑度を定量的に評価するためのシステムおよび方法に対するニーズを刺激する。
【０００６】
コンピューティング・システムを評価する従来技術には、任意のコンピューティング・システムの構成の複雑度を定量的に評価するためのシステムや方法がまったく含まれていない。コンピューティング・システムを評価する領域のうちでよく研究されているものとしては、システム・パフォーマンスの分析、ソフトウェアの複雑度の分析、人間とコンピュータとの対話の分析、および信頼性の評価が含まれる。
【０００７】
システム・パフォーマンスの分析は、コンピュータ・システムのパフォーマンスの定量的な指標を、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの双方を考慮して計算しようと試みる。これは、分析の技術およびシステムに富んだよく確立された領域である。しかし、システム・パフォーマンスを分析するためのこれらの方法およびシステムのうちのいずれも、評価対象のシステムの構成関連の側面を考慮せず、また、構成関連のデータの収集や分析も行わない。したがって、システム・パフォーマンスの分析は、評価対象のコンピューティング・システムの構成の複雑度に対する洞察をまったく提供しない。
【０００８】
ソフトウェアの複雑度の分析は、ソフトウェア・コードの断片の複雑度の定量的な指標を、そのコードの本質的な複雑度、ならびにそのコードを作成して保持することの複雑度の双方を考慮して計算しようと試みる。しかし、ソフトウェアの複雑度を分析するためのプロセスは、構成関連の統計やデータを収集せず、したがって、分析対象のソフトウェアを実行しているコンピューティング・システムの構成の複雑度に対する洞察をまったく提供しない。
【０００９】
人間とコンピュータとの対話（ｈｕｍａｎ−ｃｏｍｐｕｔｅｒ  ｉｎｔｅｒａｃｔｉｏｎ、略してＨＣＩという）の分析は、人間のユーザとコンピュータ・システムとの間における対話の問題を識別しようと試み、通常は、混乱を招く対話パターン、エラーの生じやすい対話パターン、あるいは非効率的な対話パターンを識別することに焦点を合わせている。しかしＨＣＩの分析は、人間とコンピュータとの対話における問題点を検知することに焦点を合わせており、その対話に関する客観的で定量的な複雑度の分析は行わない。ＨＣＩの分析の方法は、構成の複雑度を測定するようには特に設計されておらず、通常は、構成関連のデータに関しては機能しない。詳細には、ＨＣＩの分析は、多くの人間のユーザを観察することから人間の行動のデータを収集するものであり、したがって、テスト対象のシステムから構成関連のデータを直接収集することはない。
【００１０】
さらに、ＨＣＩの分析は通常、特定のユーザ・インターフェースや対話パターンを改善するための領域を示す定性的な結果をもたらし、したがって、特定のユーザ・インターフェースの経験とは無関係にシステムの全体的な構成の複雑度を評価する定量的な結果はもたらさない。ＨＣＩの分析に対するＭｏｄｅｌ  Ｈｕｍａｎ  Ｐｒｏｃｅｓｓｏｒアプローチ（Ｍｏｄｅｌ  Ｈｕｍａｎ  Ｐｒｏｃｅｓｓｏｒ  ａｐｐｒｏａｃｈ）は、実際に客観的で定量的な結果を提供するが、これらの結果は、マウスを動かすことや画面上のボタンをクリックすることのような運動機能タスク（ｍｏｔｏｒ−ｆｕｎｃｔｉｏｎ  ｔａｓｋ）に関する対話時間を定量化するものであり、したがって、コンピュータ・システムの構成の複雑度に対する洞察は提供しない。
【００１１】
最後に、人間が認識する信頼性の評価は、客観的で再現可能なパフォーマンス・ベンチマーキングの側面をＨＣＩの分析の技術と組み合わせて、構成関連の問題に焦点を合わせたものである。たとえば、Brown et al., “Experience with Evaluating Human-Assisted RecoveryProcesses,” Proceedings of the 2004 International Conference on Dependable Systemsand Networks, Los Alamitos, CA, IEEE, 2004を参照されたい。このアプローチは、人間のユーザによって実行される際の構成の品質を測定するためのシステムを含んでいたが、構成の複雑度を測定せず、再現性や客観的な指標を提供しなかった。
【非特許文献１】Brown et al., “Experience withEvaluating Human-Assisted Recovery Processes,” Proceedings of the 2004 InternationalConference on Dependable Systems and Networks, Los Alamitos, CA, IEEE, 2004
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、コンピューティング・システムを構成することの複雑度を定量的に評価するための技術を提供する。
【課題を解決するための手段】
【００１３】
たとえば、本発明の一態様においては、評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するための技術は、次のステップ／オペレーションを含む。評価対象のシステムに関する構成関連のデータを収集する。それらの構成関連のデータの少なくとも一部を定量的に分析して、評価対象のシステムの構成の複雑度を算出する。その定量的な分析に基づいて評価対象のシステムの構成の複雑度を提示する。
【００１４】
この技術は、評価対象のシステムの構成の品質を評価するステップ／オペレーションをさらに含むことができる。そして、提示するステップ／オペレーションは、定量的な分析および品質の評価に基づいて評価対象のシステムの構成の複雑度を提示するステップ／オペレーションをさらに含むことができる。
【００１５】
評価対象のシステムに関する構成関連のデータを収集するステップ／オペレーションは、１つまたは複数の構成プロセスを取り込むステップ／オペレーションをさらに含むことができる。このステップ／オペレーションは、１人または複数の人間のオペレータの動作をモニタするステップ／オペレーション、文書やスクリプトを分析するステップ／オペレーション、構成プロセスを直接手動で入力できるようにするステップ／オペレーション、および構成プロセスの１つまたは複数の明示的な仕様をロードするステップ／オペレーションのうちの１つまたは複数を含むことができる。さらに、評価対象のシステムに関する構成関連のデータを収集するステップ／オペレーションは、１つまたは複数の構成コントロールに関するデータを収集するステップ／オペレーションをさらに含むことができる。このステップ／オペレーションは、パラメータ、実行可能なオペレーション、ステータスの表示、および構成リポジトリのうちの１つまたは複数を含むデータを収集するステップ／オペレーションを含むことができる。
【００１６】
構成関連のデータの少なくとも一部を定量的に分析して評価対象のシステムの構成の複雑度を算出するステップ／オペレーションは、１つまたは複数の構成複雑度スコア（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｃｏｍｐｌｅｘｉｔｙ  ｓｃｏｒｅ）を計算するステップ／オペレーションをさらに含むことができる。その１つまたは複数の構成複雑度スコアは、人間による完了時間のスコア、エラー率のスコア、指定されたスキル・レベルを有する指定された人数の人間のオペレータに関するエラーの深刻度のスコア、および収集された構成関連のデータの統計的な集約に基づく生の複雑度スコアのうちの１つまたは複数を含むことができる。さらに、構成関連のデータの少なくとも一部を定量的に分析して評価対象のシステムの構成の複雑度を算出するステップ／オペレーションは、人間による構成に関するコストのモデルを使用するステップ／オペレーションをさらに含むことができる。
【００１７】
評価対象のシステムの構成の複雑度を提示するステップ／オペレーションは、人間が読み取ることができるフォーマットおよび機械が読み取ることができるフォーマットのうちの１つまたは複数で複雑度の分析の結果を提示するステップ／オペレーションをさらに含むことができる。さらに、評価対象のシステムの構成の複雑度を提示するステップ／オペレーションは、指定された構成プロセスの金銭的な影響を計算するアルゴリズムを介してレポートを作成するステップ／オペレーションをさらに含むことができる。
【００１８】
有利なことに、本発明のステップ／オペレーションは、構成の複雑度を最小限に抑えるように１つまたは複数の構成インターフェースを動的に適合させるために使用することができる。構成コストを最小限に抑える１つまたは複数のシステム構成を選択することによって、１つまたは複数のホスティング・サービスを提供する金銭的なコストを最適化するために、本発明のステップ／オペレーションを使用することもできる。
【００１９】
本発明のこれらおよびその他の目的、特徴、および利点は、本発明の例示的な実施形態に関する以降の詳細な説明を添付の図面と共に読めば明らかになるであろう。
【発明を実施するための最良の形態】
【００２０】
以降で例示的に説明するように、本発明の原理は、集中型、分散型、および組み込み型のコンピューティング・システムなどのコンピューティング・システムを構成することの複雑度を定量的に評価するための技術を提供する。たとえば、コンピューティング・システムを構成することは、システムの構造、コンポーネントのラインアップ、トポロジー、またはオペレーション上のパラメータのうちのいずれかが人間のオペレータやシステム管理者によって絶え間なく修正される過程を経る任意のプロセスを含む可能性がある。例としては、ソフトウェアやハードウェアをインストールすること、プロビジョニングすること、アップグレードすること、あるいは取り外すこと、複数のシステムが相互に通信できるようにそれらのシステム上の設定を調整すること、システム・パラメータを調整してシステムのパフォーマンスや可用性を変更すること、およびセキュリティー上の事故やコンポーネントの障害から生じるシステムの状態に対するダメージを修復することが含まれるが、これらには限定されない。
【００２１】
構成の複雑度とは、コンピューティング・システム上で構成タスクを実行しようと試みる人間のオペレータ、システム管理者、あるいはユーザによって知覚される簡単さまたは困難さの度合いを指す。コンピュータ・システムの構成の複雑度を定量化することは、広範なコンピューティング関連の領域にわたって有用であり、そうした領域としては、コンピューティング・システムのアーキテクチャー、設計、および実装、自動化されたシステム管理の実施、アウトソーシング・サービスなどのコンピューティング関連サービスのパッケージ化および価格設定、製品の選択、販売およびマーケティング、ならびにシステム運営／管理トレーニング・プログラムの開発が含まれるが、これらには限定されない。
【００２２】
本発明の原理は、コンピュータ・システムの構成の複雑度に関する標準的で再現可能な評価をもたらすためのシステムおよび方法を提供する。本明細書では、システムの構成を、コンピューティング・システムの動作、機能、パフォーマンス、および非機能的な属性に影響を与えるすべての状態、パラメータ設定、オプション、およびコントロールとして例示的に定義しているという点に留意されたい。本明細書ではまた、構成の複雑度を、特定の構成の目標を達成するためにコンピューティング・システムの構成を変更しようと試みる人間のオペレータ、システム管理者、ユーザ、あるいは自動化されたツールによって知覚される簡単さまたは困難さの度合いとして例示的に定義している。
【００２３】
さらに本発明の原理は、コンピューティング・システムの構成の複雑度を客観的かつ再現できるように定量化するという問題に対処する。これは、分散型のコンピューティング・システムおよび企業向けのコンピューティング・システムの領域でこれまで行われてこなかったことである。例示的な実施形態によれば、複数のシステムにわたって比較できる定量的な、再現可能な、客観的な結果をすべて安価な運営コストで提供するベンチマーキングの観点に基づいて上述の問題を解決するためのシステムおよび方法が提供される。構成関連のデータをコンピューティング・システムから収集するための例示的な方法を提案する。この方法は、客観的な、再現可能な、低コストなやり方で構成の複雑度を定量化できるようにする。
【００２４】
以降でさらに詳しく説明するように、本発明の例示的なアーキテクチャーは、構成データ収集部、構成品質評価部、複雑度分析部、および提示部を含み、これらはそれぞれ、コンピュータ・システムの構成の複雑度を定量化する全体的なプロセスの中の１つの段階に対応している。これらの段階のそれぞれは、以降では別々の段階として説明されているが、さまざまな段階は、場合によっては重なることができるということを理解されたい（たとえば、新たな構成関連データを収集しながら古いデータを分析する継続的なシステム）。
【００２５】
第１の段階においては、構成データ収集部が、構成関連のデータをコンピューティング・システムから収集する。構成関連のデータは、コンピュータ・システムの構成に関する情報を提供する。すなわち、そのようなデータは、システムの現在の構成、その構成を変更するために利用できるオプション、それらのオプションがシステムの構成および動作に与える影響、および人間のオペレータや自動化されたツールがシステムの構成を変更する際に経なければならない手続きについて記載している。詳細には、構成関連のデータは、熟練した人間のアドミニストレータによってコンピューティング・システム上で実行された構成手続きの経緯を含むことができ、人間に見える構成コントロールと、それらの可能な値と、さまざまなコントロールどうしの間における依存関係とのセットに関するデータを含むこともできる。
【００２６】
次いで、構成の複雑度を定量化するプロセスの第２段階においては、構成品質評価部が、評価対象のコンピューティング・システムを分析して、その構成の品質を判定する。この段階の間は、評価対象のシステムは、望ましい構成であると想定される。詳細には、収集された構成関連のデータに構成手続きの経緯が含まれている場合には、これらの手続きは、評価対象のシステム上で既に実行されているはずである。評価対象のシステムの構成が、そのために設定されている構成の目標をどの程度よく満たしているかということを評価するためにいかなる指標が必要とされるとしても、その指標において構成の品質が測定される。通常、構成の品質は、評価対象のシステムによって提供される機能性、パフォーマンス、正確性、可用性、およびサービスの品質という点から評価される。
【００２７】
構成データ収集部および構成品質評価部からの結果は、システムの第３のコンポーネント、すなわち複雑度分析部へと送られる。このコンポーネントは、提供された構成関連のデータおよび品質の評価を分析して、１つまたは複数の構成複雑度スコアを計算する。構成複雑度スコアとは、外部から知覚される構成の複雑度の側面を定量化する数的な結果であり、（ｉ）構成の目標を達成するために費やさなければならない時間および労力、（ｉｉ）そのような目標をエラーなしに達成するために必要とされるスキルのレベル（あるいは逆に、所与の不十分なスキル・レベルで起こりうるエラーの確率）、（ｉｉｉ）構成のエラーがシステムにダメージを与える確率、およびそのダメージの深刻度、（ｉｖ）構成の目標の達成へと向かう上で外部から持ち込まなければならない情報の量、およびその情報を入手する困難さ、（ｖ）記憶力など、構成タスクを実行する人間のオペレータのさまざまな認識能力に対する必要性、および（ｖｉ）構成関連のデータや手続きどうしの間における相互依存性の度合いが含まれるが、これらには限定されない。
【００２８】
そのような例示的な構成複雑度スコアは、定量的であり、同じ入力データを与えられれば再現することができ、入力データと、事前に定義された複雑度アルゴリズムおよびモデルとにのみ基づく客観的なものである。
【００２９】
最後に、構成の複雑度を評価するプロセスの最終段階は、システムの提示部のコンポーネントを含む。このコンポーネントは、複雑度分析部によって作成された複雑度スコアを受け取り、人間のシステム管理者および構成の複雑度によって影響を受けるその他の人々が使用できるレポート、ならびに、たとえば複雑度を少なくするために自動的に構成を最適化しようと試みるツールが使用できる機械によって読み取り可能なレポートを作成する。提示部のコンポーネントは、複雑度スコアをビジネス・コストの見積もりなどのさらに高いレベルの指標へ対応付けるモデルを適用することができ、複雑度スコアを直接提示する際に、あるいは複雑度スコアをレポートへと集約する際にそれらの複雑度スコアに適切な重み付けを割り当てるために、ユーザによって提供されたパラメータ化を使用することができる。
【００３０】
本発明の原理は、多くの異なる使用事例に適用することができ、下記の事例は、それらのほんの一例である。
【００３１】
（１）コンピューティング／ＩＴテクノロジーに関する購入の決定を行うため。構成の複雑度を定量的に評価することは、別々の競合製品どうしの間で、製品を所有するコストの総額に影響を与える要因であるそれらの構成の複雑度に基づいて選択を行うための手段を提供する。適切に構築された提示部のコンポーネントを用いれば、本発明の原理は、２つの競合製品の間でそれらの構成の複雑度から生じるコストの差を定量化することができる。
【００３２】
（２）サービス提供業者によってサービスのための価格を設定する際に使用するため。ＩＴシステムの構成の複雑度を定量的に評価することによって、人間による管理がどれぐらい必要か、ならびにシステム管理者のスキル・レベルがどれぐらい必要かを予測することができる。この情報を用いれば、サービス提供業者は、サービスが製品としての使用に際して展開される前でさえ、そのサービスを提供するコストを複雑度の評価に基づいて計算することができる。これは、サービスを提供するための価格を設定する上で貴重な入力を提供する。
【００３３】
（３）アウトソーシング提供業者によってコストを計算する際に使用するため。顧客のＩＴ環境のオペレーションを引き受けることを意図するアウトソーシング提供業者は、本発明の原理を使用して、その環境上で複雑度の定量的な評価を実行することができる。その評価の提示結果は、そのインフラストラクチャーに関する人間による管理のコストを既存の方法よりも正確に算出するために使用することができる。これによって、アウトソーシング提供業者は、さらに正確にアウトソーシング契約の価格を設定することができ、顧客の環境を運営管理することにさらに効率よくリソースを割り当てることができる。
【００３４】
（４）システムの構築担当者および開発担当者によって使用するため。コンピュータ・システムの構築担当者および開発担当者は、構成の複雑度および管理コストに影響を与える可能性のある設計面での決定を行って検証することに役立てるために、構成の複雑度の定量的な評価を使用することができる。たとえば、開発担当者がコード・プロファイラ（ｃｏｄｅ  ｐｒｏｆｉｌｅｒ）を使用してパフォーマンスのボトルネックを特定することができるのと同様に、本発明の原理を使用して複雑度のボトルネックを特定することができる。そして、これらのボトルネックを修正することを、将来の開発に関する要件として使用することができる。
【００３５】
（５）システムの管理担当者によって使用するため。システムの管理担当者／アドミニストレータは、購入の決定（上記参照）を行う際の自らの役割に加えて、構成タスクを単純化するために自前の自動化メカニズムを構築する場合が多い。アドミニストレータによって管理されるすべてのシステムの構成の複雑度を定量的に評価すれば、自動化の取り組みの焦点をどこに合わせればよいかということ、および自動化できない構成の問題に関してどこにトレーニングの的を絞ればよいかということに対する貴重な洞察が提供されるであろう。
【００３６】
はじめに図１を参照すると、ブロック図が、本発明の一実施形態による、構成の複雑度を評価するシステムおよびその関連付けられている環境を示している。
【００３７】
図示されているように、評価対象のシステム１００は、構成の複雑度が評価されているコンピューティング・システムに相当する。この評価対象のシステムは、そのコンピューティング・システムを構成しているハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。この評価対象のシステムは、管理上の立場において操作を行う１人または複数の人間のオペレータ／アドミニストレータやユーザを含む人間の管理スタッフ１０１によって構成され、保守されている。
【００３８】
構成関連データ・収集部１０２は、構成コントロールおよび構成プロセス１０３を含む構成関連の情報を、評価対象のシステム、およびそのシステムと管理スタッフとの対話から抽出する。本発明の一実施形態においては、このデータは、以降の図３および図４において説明するように、評価対象のシステムの管理スタッフによって実行された構成プロセスを取り込むことによって収集される。
【００３９】
収集されたデータは、複雑度分析部１０４によって使用され、この複雑度分析部１０４は、構成関連データの分析を通じて、構成の複雑度に関する低いレベルの指標のセットを得る。複雑度分析部はさらに、人間による構成の複雑度に関するコストのモデル（ｍｏｄｅｌ  ｏｆ  ｈｕｍａｎ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｃｏｍｐｌｅｘｉｔｙ  ｃｏｓｔ）１０５を使用して、低いレベルの指標を、人間によって知覚される構成の複雑度および人間による構成のコストの予測へと対応付け、これは、構成の複雑度の指標およびスコア１０６として表される。
【００４０】
複雑度分析部１０４は、その分析の一環として、構成品質評価部１０９によって作成される構成の品質の評価１１０を利用することができ、この構成品質評価部１０９は、評価対象のシステムの構成の品質を測定する。
【００４１】
複雑度分析部によって作成された指標およびスコアは、提示部１０７によって使用され、この提示部１０７は、それらの指標およびスコアを統合してフォーマット設定し、人間が読み取ることができる構成の複雑度の評価１０８または機械が読み取ることができる構成の複雑度の評価１０８あるいはその両方を作成する。
【００４２】
次いで図２を参照すると、フローチャートが、本発明の一実施形態による、構成の複雑度を評価する方法を示している。より詳細には、図２は、図１の評価システムによって実施することができる方法を示している。
【００４３】
図示されているように、ステップ２００においては、以降ならびに図３および図４において詳細に説明するように、構成プロセスおよびコントロールを含む構成関連のデータが、評価対象のシステムから収集される。ステップ２０１においては、評価対象のシステムの構成を品質の点から評価することができる。一実施形態においては、この評価は、標準的なパフォーマンスのベンチマークなどのサービスの質に関するベンチマーク・テストの形態をとることができる。図示されているように、このシステムは、ステップ２０１をとばすことができるという点を理解されたい。
【００４４】
ステップ２０２においては、収集された構成関連のデータが、以降および図５において説明するように分析されて、構成の複雑度の指標およびスコアが作成され、次いでこの指標およびスコアが、ステップ２０３によって使用され、ステップ２０３は、評価対象のシステムの構成の複雑度に関して、人間が読み取ることができるレポートまたは機械が読み取ることができるレポートあるいはその両方を作成する。
【００４５】
次いで図３を参照すると、ブロック図が、本発明の一実施形態による構成関連データ収集部・コンポーネントを示している。より詳細には、図３は、構成関連データ収集部１０２の一例を示している。
【００４６】
図示されているように、コンポーネントの第１のセット３００〜３０３は、評価対象のシステム上で実行する必要がある構成プロセスに関する情報を収集する。これらのプロセスは、４つの異なるコンポーネントを介して収集される（それらのコンポーネントのうちのいかなるサブセットも、構成関連データ収集部のコンポーネント内に存在することができ、それらの存在するコンポーネントのうちのいかなるサブセットも、いずれかの特定のプロセスを収集することに関与することができる）。
【００４７】
１つのコンポーネントは、人間対話モニタ３００であり、この人間対話モニタ３００は、人間の管理スタッフのうちの（１人または複数の）メンバーが構成プロセスを実行する際に評価対象のシステムとそれらのスタッフ・メンバーとの間における対話を記録する。このようなモニタ３００は、数ある選択肢の中でも、映像を記録する形態、画面上のコンテンツを「スクリーンカム（ｓｃｒｅｅｎｃａｍ）」で取り込む形態、あるいはシステムのインターフェースとの対話を自動的に収集する形態をとることができる。
【００４８】
次のコンポーネントは、プロセス文書化分析部３０１であり、このプロセス文書化分析部３０１は、構成プロセスを構成するステップ、シーケンス、およびパラメータをその手続きの文書化されたバージョンから抽出し、そうした手続きの文書化されたバージョンとしては、インストール・マニュアルのような、人間が読み取ることができるドキュメント、および実行可能なスクリプトのような、機械が読み取ることができるドキュメントなどがあるが、これらには限定されない。
【００４９】
次のコンポーネントは、直接入力インターフェース３０２であり、この直接入力インターフェース３０２は、人間が、特定の構成プロセスを評価対象のシステム上で実行したり文書内で表したりする必要なく、その特定の構成プロセスのステップ、シーケンス、およびパラメータを手動で入力できるようにする。
【００５０】
最後のコンポーネントは、事前提供プロセス用ローダ３０３であり、この事前提供プロセス用ローダ３０３は、評価対象のシステムのための構成プロセスが、機械によって読み取ることができる適切なフォーマットで既に文書化されていて、それらの構成プロセスを収集部１０２内へロードするだけでよいという選択肢を可能にする。
【００５１】
コンポーネントの次なるセット３０４〜３０６は、評価対象のシステム内に存在する構成コントロールに関する情報を収集する。構成コントロールとは、システムの構成を定義したり変更したりするパラメータ、実行可能なオペレーション、ステータスの表示、および状態の中の修正可能な部分である。やはり、これらのコンポーネント（３０４〜３０６）のうちのいかなるサブセットも、構成関連データ収集部内に存在することができ、それらの存在するコンポーネントのうちのいかなるサブセットも、いずれかの所与の複雑度の分析において使用することができる。構成コントロール抽出部（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｃｏｎｔｒｏｌ  ｅｘｔｒａｃｔｏｒ）３０４は、評価対象のシステムのインターフェースを分析して、利用可能な構成コントロールのセットを識別する。直接入力インターフェース３０５は、コンポーネント３０２と同様の機能を実行して、構成コントロールに関する情報を手動で入力できるようにする。最後に、事前提供コントロール用ローダ３０６は、コンポーネント３０３に類似しており、事前に定義されている、機械が読み取ることができる、構成コントロールの表示を構成関連データ収集部内へロードできるようにする。
【００５２】
プロセス抽出／要約部（ｐｒｏｃｅｓｓ  ｄｉｓｔｉｌｌｅｒ  ａｎｄ  ａｂｓｔｒａｃｔｏｒ）３０７は、収集された情報をコンポーネント３００〜３０２から受け取る。プロセス抽出／要約部３０７は、複数のソースのデータを集約し、評価対象のシステムに固有の要素を構成プロセスの一般的なモデル３０８の要素へ対応付けることによって、結果として生じるプロセスを抜き出す。一実施形態においては、このモデルは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）スキーマによって記述されており、このＸＭＬスキーマは、プロセスの要素を定義し、それらの要素をどのようにして集約できるかを指定する。
【００５３】
コントロール抽出／要約部（ｃｏｎｔｒｏｌｓ  ｄｉｓｔｉｌｌｅｒ  ａｎｄ  ａｂｓｔｒａｃｔｏｒ）３０９は、プロセス抽出／要約部と同じ機能を実行するが、ただし、構成コントロールの一般的なモデル３１０を使用して、構成プロセスではなく構成コントロールを処理する。コントロール抽出／要約部と、プロセス抽出／要約部とは、プロセスの引き出し中にコントロールの存在が推察される場合、およびコントロールの引き出し中に識別されたコントロールによってプロセスの存在が示唆される場合を考慮に入れるために通信するという点に留意されたい。
【００５４】
最後に、構成データ・エンコード部３１１は、引き出されたり抜き出されたりしたプロセスおよびコントロールを受け取り、それらを構成関連のデータの標準的な表示へとコード化する。一実施形態においては、この表示は、抜き出されたコントロールおよびプロセスのモデルに基づくＸＭＬスキーマに従ってＸＭＬで取り込まれる。プロセスおよびコントロール用の各ローダ（３０３および３０６）は、抽出／要約部をとばすことによって、既存の引き出されたり抜き出されたりしたプロセスおよびコントロールを直接ロードすることもできるという点に留意されたい。
【００５５】
図４は、図３の構成関連データ収集部のコンポーネントの基礎をなすプロセスを示している。最初のステップ４００は、構成プロセスに関するデータを収集するためにどの（１つまたは複数の）方法を使用するかを選択することである。ステップ４０１〜４０４の方法のいずれのサブセットを使用することもでき、あるいは、プロセスを収集するステップを完全に省略することもできる。これらの４つの方法のうち、第１の方法４０１は、前述の人間対話モニタ３００を介して、評価対象のシステムの管理スタッフと、そのシステムそのものとの間における人間の対話をモニタすることによって、データを収集する。第２の方法４０２は、プロセス文書化分析部３０１を介して文書やスクリプトを分析することによって、構成プロセスを収集する。第３の方法４０３は、直接入力インターフェース３０２を使用して、人間のオペレータによってプロセスを手動で入力できるようにする。最後に、第４の方法４０４は、事前提供プロセス用ローダ３０３を使用して、事前に指定されたプロセスを直接ロードする。
【００５６】
構成関連のデータを収集するプロセスにおける次なるステップは、構成コントロールに関するデータを収集するための副次的な方法４０６〜４０８がある場合に、それらの方法からどの（１つまたは複数の）方法を使用するかを選択することである。１つのオプション４０６は、構成コントロール抽出部３０４を使用して、構成コントロールを識別する。別のオプション４０７は、直接入力インターフェース３０５を介して構成コントロールに関するデータを手動で入力できるようにする。最後に、事前提供コントロール用ローダ３０６を介して、構成コントロール・データの事前に指定されたセットをロードすることができる（４０８）。
【００５７】
構成コントロールおよび構成プロセスが収集されると、次なるステップ４０９は、コントロール・ディスティラ／アブストラクタ３０９を使用して、収集されたデータを引き出したり抜き出したりすること、そして構成データ・エンコーダ３１１を用いてそれらの結果をコード化することである。
【００５８】
次いで図５を参照すると、ブロック図が、本発明の一実施形態による複雑度分析部のコンポーネントを示している。より詳細には、図５は、複雑度分析部のコンポーネント１０４の一例を示している。このコンポーネントは、構成関連データ収集部からのコード化された構成コントロールおよび構成プロセス１０３を使用する。
【００５９】
複雑度分析部のコンポーネントは、はじめにその情報を分析して、構成コントロールおよび構成プロセスの定量的な特性を抽出する（５００）。たとえば複雑度分析部は、シーケンスを識別して、構成プロセス内におけるさまざまなタイプの構成行為の分布を計算したり、コントロール・タイプの分布およびコントロールの依存関係の複雑度に関するグラフ（ｔｈｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｏｆ  ｃｏｎｔｒｏｌ  ｔｙｐｅｓ  ａｎｄ  ｃｏｍｐｌｅｘｉｔｙ  ｏｆ  ｃｏｎｔｒｏｌ  ｄｅｐｅｎｄｅｎｃｙ  ｇｒａｐｈ）を算出したりすることができ、あるいは構成プロセスによって人間の知的能力上に強いられる負担を計算するために人間の知的処理の側面のシミュレーションを適用することもできる。
【００６０】
次いで複雑度分析部は、前のステップにおいて抽出された定量的な特性に基づいて評価対象のシステムに複雑度スコアを割り当てる（５０１）。このステップは、たとえばそれらの定量的な特性を集約して重み付けすることによって単純にデータを削減することを含むこともでき、あるいはそれらの定量的な特性から複雑度が予測されるモデルベースのアプローチを含むこともできる。
【００６１】
次いで希望に応じて、複雑度スコアを、予想される人間レベルの動作に対応付けることができる（５０２）。この対応付けは、人間による構成の複雑度に関するコストのモデル１０５を利用することができ、これは、５０１において作成された複雑度スコアが、人間によって知覚される複雑度の属性にどのような影響を与えるかをモデル化している。これらの属性の例としては、典型的な構成タスクに関して予想される完了時間、エラー率、およびエラーの深刻度、ならびにそれらの時間およびエラー率を達成するために必要とされる人間のアドミニストレータの人数およびスキル・レベルが含まれるが、これらには限定されない。
【００６２】
最後に、希望に応じて、利用可能な場合には構成の品質の評価に基づいて、複雑度の分析の結果を調整することができる（５０３）。この調整は、評価対象のシステムの構成の測定された品質によって複雑度の分析の結果を重み付けする形態をとることができる。この調整は、単にゲイティング関数とすることもでき、その場合、評価された品質が不十分であるならば、複雑度の分析の結果は、評価対象のシステムが構成の複雑度の評価に失敗したという表示に置き換えられる。
【００６３】
次いで図６を参照すると、ブロック図が、本発明の一実施形態による提示部のコンポーネントを示している。より詳細には、図６は、提示部のコンポーネント１０７の一例を示している。
【００６４】
提示部のコンポーネントは、構成の複雑度の指標およびスコア１０６として表されている複雑度分析部・コンポーネントの結果を入力として受け取る。この提示部は、２つの機能を実行する。
【００６５】
はじめに、この提示部は、複雑度分析部によって提供されたさまざまな指標およびスコアを適用し、集約し、重み付けする（６００）。このステップは、複雑度の重み付けアルゴリズムおよびパラメータを利用し（６０１）、これらのアルゴリズムおよびパラメータは、事前に定義することもでき、提示ツールのユーザが提供することもでき、あるいは自動的に作成することもできる。たとえば、１つの可能な重み付けアルゴリズムは、人間による時間の実際のコストと、評価対象のシステムによって提供されるサービス上に構成エラーが与えると予想される金銭的影響とを指定するパラメータに基づいて、複雑度分析部によって作成されたそれぞれのタイプの指標およびスコアにドルコスト関数（ｄｏｌｌａｒ−ｃｏｓｔ  ｆｕｎｃｔｉｏｎ）を割り当てることである。このアルゴリズムは、評価対象のシステム上の構成タスクが、そのシステムを所有するコストの総額にどのような影響を与えるかという見積もりを作成する。
【００６６】
提示部の次なるステップ（６０２）は、構成の複雑度の評価に関するレポートを、前のステップからのデータを使用して、およびその評価レポートのフォーマットを決定するための出力フォーマット仕様６０３のライブラリを利用して作成することである。可能な出力フォーマット仕様としては、評価対象のシステムに関する、人間が読み取ることができる評価のためのドキュメント構造およびテンプレートと、たとえばＸＭＬスキーマとして表されている、機械が読み取ることができる構造化されたレポート・スキーマとを含むことができる。
【００６７】
次いで図７を参照すると、ブロック図が、本発明の一実施形態による構成品質評価部のコンポーネントを示している。より詳細には、図７は、構成品質評価部１０９の一例を示している。図示されているように、構成品質評価部は、テスト・ジェネレータ７００、反応収集部７０１、および品質計算機７０２という３つのサブコンポーネントを含む。
【００６８】
テスト・ジェネレータ７００は、評価対象のシステムに対して構成の品質に関するテストを適用する。これらのテストは、機能性、正確性、およびパフォーマンスのような品質の側面に関してチェックを行うためのシミュレートされたユーザ・トランザクション、負荷やストレスのもとでの品質に関してチェックを行うための完全なシミュレートされた作業負荷、異常な状況のもとでの品質をテストするための（障害、負荷の急増、シミュレートされたセキュリティー上のアクシデントなどの）不具合、およびその他の品質関連のテストを含むことができる。反応収集部７０１は、適用された品質テストに対する評価対象のシステムの反応を収集する。品質計算機７０２は、適用された品質テストに対する反応に基づいて評価対象のシステムの構成の品質を計算する。この品質計算機は、構成の品質の評価１１０を作成し、この評価１１０は、後で複雑度分析部１０４によって使用される。
【００６９】
最後に図８を参照すると、ブロック図が、本発明の一実施形態による、構成の複雑度を評価するシステムを実装するためのコンピュータ・システムを示している。すなわち図８は、コンピュータ・システムの例示的な一実装形態を示しており、これに従って、構成の複雑度を評価するシステムの１つまたは複数のコンポーネント／方法（たとえば、図１〜図７のコンテキストにおいて記載されているコンポーネント／方法）を実装することができる。たとえば、図８のコンピュータ・システムは、図１の構成の複雑度を評価するシステムに関連付けられているコンポーネントを実装することができ、本明細書に記載されている方法を実施することができる。また、図８のコンピュータ・システムは、図１の評価対象のシステム１００の一実装形態に相当することもできる。またさらに、図８のコンピュータ・システムは、図１の環境に関連付けられている１人または複数の個人、たとえば管理スタッフやユーザなどによって使用されるコンピュータの実装形態に相当することもできる。
【００７０】
そのような個々のコンポーネント／方法は、１つのそのようなコンピュータ・システム上に、あるいは複数のそのようなコンピュータ・システム上に実装することができるということを理解されたい。分散コンピューティング・システム内に実装する場合には、個々のコンピュータ・システムまたはデバイスあるいはその両方は、適切なネットワーク、たとえばインターネットやワールド・ワイド・ウェブを介して接続することができる。しかし、このシステムは、プライベート・ネットワークやローカル・ネットワークを介して実現することもできる。本発明は、いかなる特定のネットワークにも限定されない。
【００７１】
図示されているように、このコンピュータ・システムは、コンピュータ・バス８０５や別の接続構成を介して結合されているプロセッサ８０１、メモリ８０２、Ｉ／Ｏデバイス８０３、およびネットワーク・インターフェース８０４に従って実装することができる。
【００７２】
本明細書において使用されている「プロセッサ」という用語は、たとえばＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）またはその他の処理回路あるいはその両方を含む処理デバイスなど、任意の処理デバイスを含むことを意図しているということを理解されたい。「プロセッサ」という用語は、複数の処理デバイスを指すこともできるということ、および１つの処理デバイスに関連付けられているさまざまな要素は、その他の処理デバイスと共有することができるということも理解されたい。
【００７３】
本明細書において使用されている「メモリ」という用語は、たとえばＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、固定式のメモリ・デバイス（たとえばハード・ドライブ）、取り外し可能なメモリ・デバイス（たとえばディスケット）、フラッシュ・メモリなど、プロセッサやＣＰＵに関連付けられているメモリを含むことを意図している。
【００７４】
さらに、本明細書において使用されている「入力／出力デバイス」あるいは「Ｉ／Ｏデバイス」という語句は、たとえば、データを処理装置へ入力するための１つまたは複数の入力デバイス（たとえば、キーボード、マウスなど）、またはその処理装置に関連付けられている結果を提示するための１つまたは複数の出力デバイス（たとえば、スピーカ、ディスプレイなど）、あるいはその両方を含むことを意図している。
【００７５】
またさらに、本明細書において使用されている「ネットワーク・インターフェース」という語句は、たとえば、コンピュータ・システムが適切な通信プロトコルを介して別のコンピュータ・システムと通信できるようにするための１つまたは複数のトランシーバを含むことを意図している。
【００７６】
したがって、本明細書に記載されている方法を実行するための命令やコードを含むソフトウェア・コンポーネントは、関連付けられているメモリ・デバイス（たとえば、読み取り専用メモリ、固定式のメモリや取り外し可能なメモリ）のうちの１つまたは複数の中に保存し、そして利用する準備が整ったら、（たとえば、ランダム・アクセス・メモリへと）部分的にまたは全体的にロードして、ＣＰＵによって実行することができる。
【００７７】
いずれにしても、本明細書に記載されて添付の図に示されている本発明の技術は、さまざまな形態のハードウェア、ソフトウェア、あるいはそれらの組合せ、たとえば、関連付けられているメモリ、実装形態に固有の（１つまたは複数の）集積回路、機能的な回路などを伴った１つまたは複数の動作可能にプログラムされている汎用デジタル・コンピュータ内に実装することができるということを理解されたい。当業者なら、本明細書において提供されている本発明の技術を与えられれば、本発明の技術のその他の実装形態を想起できるであろう。
【００７８】
したがって、ここまで例示的に説明してきたように、本発明の実施形態は、コンピュータ・システムの構成の複雑度に関する標準的で再現可能な評価のためのシステムおよび方法を提供する。この方法は、有利なことに、構成関連のデータをコンピューティング・システムから収集するための技術と、構成関連のデータを分析して構成プロセスの複雑度を計算するための技術と、コンピュータ・システムの構成の複雑度を提示するための技術とを含むことができる。このシステムは、有利なことに、構成データ・収集部、複雑度分析部、構成品質評価部、および提示部を含むことができる。データ・収集部は、実際の構成プロセスの経緯から、あるいはコンピューティング・システム上の見て取れる構成コントロールのセットから構成情報を収集することができる。品質評価部は、特定のコンピュータ・システムの構成の品質を、たとえば、そのシステムがユーザに供給するサービスの質という観点から評価することができる。構成複雑度分析部は、収集された構成データおよび品質の評価を使用して、構成の複雑度の低いレベルの側面ならびに人間によって知覚される複雑度の高いレベルの予測の定量的な指標を計算することができる。最後に提示部は、構成の複雑度の分析の結果に基づいて、コンピューティング・システムの構成の複雑度に関する、人間が読み取ることができる評価レポートおよび機械が読み取ることができる評価レポートを作成することができる。
【００７９】
さらに、上述の例示的な実施形態は、自動化された様式で行われている本発明のステップ／オペレーションの実行について説明しているが、本発明は、そのような様式には限定されない。すなわち、さらなる例として、構成関連のデータを収集するステップ、構成関連のデータを分析するステップ、および複雑度を提示するステップは、完全に手動で実行することもでき、あるいは（分析用にスプレッドシートを使用することや、構成データを手動で収集して、自動化された複雑度分析部に提供することなど）手動の行為と、自動化と、コンピュータベースのツールとを組み合わせて実行することもできる。
【００８０】
本明細書においては、添付の図面を参照して、本発明の例示的な実施形態について説明したが、本発明は、それらの厳密な実施形態に限定されるものではなく、当業者なら、本発明の範囲や趣旨から逸脱することなく、さまざまなその他の変更および修正を行うことができるという点を理解されたい。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施形態による、構成の複雑度を評価するシステムおよびその関連付けられている環境を示すブロック図である。
【図２】本発明の一実施形態による、構成の複雑度を評価する方法を示すフローチャートである。
【図３】本発明の一実施形態による構成関連データ収集部のコンポーネントを示すブロック図である。
【図４】本発明の一実施形態による構成関連データ収集部の方法を示すフローチャートである。
【図５】本発明の一実施形態による複雑度分析部のコンポーネントを示すブロック図である。
【図６】本発明の一実施形態による提示部のコンポーネントを示すブロック図である。
【図７】本発明の一実施形態による構成品質評価部のコンポーネント（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｑｕａｌｉｔｙ  ａｓｓｅｓｓｏｒ  ｃｏｍｐｏｎｅｎｔ）を示すブロック図である。
【図８】本発明の一実施形態による、構成の複雑度を評価するシステムを実装するためのコンピュータ・システムを示すブロック図である。
【図１】
2009505274.tif 000003
【図２】
2009505274.tif 000004
【図３】
2009505274.tif 000005
【図４】
2009505274.tif 000006
【図５】
2009505274.tif 000007
【図６】
2009505274.tif 000008
【図７】
2009505274.tif 000009
【図８】
2009505274.tif 000010
【手続補正書】
【提出日】平成20年12月12日(2008.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するための装置であって、
メモリと、
前記メモリに結合されていて、（ｉ）前記評価対象のシステムに関する構成関連のデータを収集するオペレーションと、（ｉｉ）前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するオペレーションと、（ｉｉｉ）前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するオペレーションと、を実行するように機能する少なくとも１つのプロセッサと、
を含む装置。
【請求項２】
前記少なくとも１つのプロセッサが、前記評価対象のシステムの前記構成の品質を評価するようにさらに機能する、請求項１に記載の装置。
【請求項３】
前記提示するオペレーションが、前記定量的な分析および前記品質の評価に基づいて前記評価対象のシステムの前記構成の複雑度を提示するオペレーションをさらに含む、請求項２に記載の装置。
【請求項４】
前記評価対象のシステムに関する構成関連のデータを収集する前記オペレーションが、１つまたは複数の構成プロセスを取り込むオペレーションをさらに含む、請求項１に記載の装置。
【請求項５】
１つまたは複数の構成プロセスを取り込む前記オペレーションが、
１人または複数の人間のオペレータの動作をモニタするオペレーション、
文書やスクリプトを分析するオペレーション、
構成プロセスを直接手動で入力できるようにするオペレーション、および
構成プロセスの１つまたは複数の明示的な仕様をロードするオペレーションのうちの１つまたは複数をさらに含む、請求項４に記載の装置。
【請求項６】
前記評価対象のシステムに関する構成関連のデータを収集する前記オペレーションが、１つまたは複数の構成コントロールに関するデータを収集するオペレーションをさらに含む、請求項１に記載の装置。
【請求項７】
１つまたは複数の構成コントロールに関するデータを収集する前記オペレーションが、パラメータ、実行可能なオペレーション、ステータスの表示、および構成リポジトリのうちの１つまたは複数を含むデータを収集するオペレーションをさらに含む、請求項６に記載の装置。
【請求項８】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記オペレーションが、１つまたは複数の構成複雑度スコアを計算するオペレーションをさらに含む、請求項１に記載の装置。
【請求項９】
前記１つまたは複数の構成複雑度スコアが、人間による完了時間のスコア、エラー率のスコア、指定されたスキル・レベルを有する指定された人数の人間のオペレータに関するエラーの深刻度のスコア、および前記収集された構成関連のデータの統計的な集約に基づく生の複雑度スコアのうちの１つまたは複数を含む、請求項８に記載の装置。
【請求項１０】
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの前記構成の複雑度を算出する前記オペレーションが、人間による構成に関するコストのモデルを使用するオペレーションをさらに含む、請求項１に記載の装置。
【請求項１１】
前記評価対象のシステムの前記構成の複雑度を提示する前記オペレーションが、人間が読み取ることができるフォーマットおよび機械が読み取ることができるフォーマットのうちの１つまたは複数で前記複雑度の分析の結果を提示するオペレーションをさらに含む、請求項１に記載の装置。
【請求項１２】
前記評価対象のシステムの前記構成の複雑度を提示する前記オペレーションが、指定された構成プロセスの金銭的な影響を計算するアルゴリズムを介してレポートを作成するオペレーションをさらに含む、請求項１に記載の装置。
【請求項１３】
構成の複雑度を最小限に抑えるように１つまたは複数の構成インターフェースを動的に適合させるために、前記装置によって実行される前記オペレーションを使用することができる、請求項１に記載の装置。
【請求項１４】
構成コストを最小限に抑える１つまたは複数のシステム構成を選択することによって、１つまたは複数のホスティング・サービスを提供する金銭的なコストを最適化するために、前記装置によって実行される前記オペレーションを使用することができる、請求項１に記載の装置。
【請求項１５】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するためのシステムであって、
前記評価対象のシステムに関する構成関連のデータを収集するための構成関連データ・収集部と、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するための複雑度分析部と、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するための提示部と、を含むシステム。
【請求項１６】
評価対象のシステムの構成に関連付けられている複雑度を定量的に評価するためのプログラムであって、
前記評価対象のシステムに関する構成関連のデータを収集するステップ、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するステップ、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するステップ、をコンピュータに実施させるプログラム。
【請求項１７】
評価対象のシステムの構成に関連する複雑度を定量的に評価するための方法であって、
前記評価対象のシステムに関する構成関連データを収集するステップと、
前記構成関連のデータの少なくとも一部を定量的に分析して前記評価対象のシステムの構成の複雑度を算出するステップと、
前記定量的な分析に基づいて前記評価対象のシステムの前記構成の複雑度を提示するステップと、を含む方法。
【国際調査報告】
2009505274.tif 000011
2009505274.tif 000012