(57)【要約】【課題】コンピュータにアプリケーションソフトウェアを適切にインストールし動作させる。【解決手段】本発明にかかる方法は、アプリケーションプログラムの作成者によって生成されたアプリケーションプログラムの１組の要件を、アプリケーションプログラムの潜在的ユーザに伝達する方法であって、アプリケーションプログラムの作成者が、アプリケーションプログラムの１組の要件を指定するコンピュータファイルを生成し、コンピュータファイルの複製を潜在的ユーザに渡す段階を含み、潜在的ユーザが、コンピュータファイルを読み込み、アプリケーションプログラムの１組の要件に関してコンピュータシステムの性能を解析するコンピュータプログラムを実行する。【選択図】図３
2006294019.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラム（３０８）の１組の要件に関してコンピュータシステム（３１４）を解析するためのコンピュータ可読コードが組み込まれたコンピュータ使用可能媒体であって、
前記コンピュータ可読コードは、
前記アプリケーションプログラム（３０８）の前記要件のリストを含むコンピュータファイル（３０６）を読み込む第１組のプログラミング命令（３１８）と、
前記コンピュータシステム（３１４）の性能を決定する第２組のプログラミング命令（３２０）と、
前記コンピュータシステムの性能（３１８）と前記アプリケーションプログラム（３０８）の前記要件とを比較する第３組のプログラミング命令（３２２）と、
前記比較の結果をレポートする第４組のプログラミング命令（３２４）と
を含む
コンピュータ使用可能媒体。
【請求項２】
前記コンピュータシステム（３１４）は、制御ノード（４００）と１つまたは複数の管理ノード（４０２）とを有するコンピュータネットワークであり、
前記第２組のプログラミング命令（３２０）は、
前記１つまたは複数の管理ノード（４０２）の性能を明らかにする第５組のプログラミング命令（４０４）
を含む
請求項１に記載のコンピュータ使用可能媒体。
【請求項３】
前記第２組のプログラミング命令（３２０）は、
前記制御ノードから管理ノード（４０２）に、前記第５組のプログラミング命令（４０４）を配布するプログラミング命令
をさらに含む
請求項２に記載のコンピュータ使用可能媒体。
【請求項４】
前記第２組のプログラミング命令（３２０）は、
管理ノード（４０２）からの性能に関するレポートを要求するプログラミング命令
を含む
請求項２に記載のコンピュータ使用可能媒体。
【請求項５】
前記コンピュータファイル（３０６）は、
１組の属性タグおよび前記属性タグと関連したデータ値
を含む
請求項１に記載のコンピュータ使用可能媒体。
【請求項６】
アプリケーションプログラム（３０８）の作成者（３０２）によって生成されたアプリケーションプログラムの１組の要件を、前記アプリケーションプログラムの潜在的ユーザに伝達する方法であって、
前記アプリケーションプログラムの前記作成者（３０２）が、アプリケーションプログラム（３０８）の前記１組の要件を指定するコンピュータファイル（３０６）を生成するステップと、
前記コンピュータファイル（３０６）の複製（３０６'）を、前記潜在的ユーザに渡すステップと、
前記潜在的ユーザは、前記コンピュータファイル（３０６）を読み込み、前記アプリケーションプログラム（３０８）の前記１組の要件に関してコンピュータシステム（３１４）の性能を解析するコンピュータプログラム（３１６）を実行するステップと
を含む方法。
【請求項７】
前記コンピュータファイル（３０６）を生成する前記アプリケーションプログラム（３０８）の前記作成者（３０２）が、
前記アプリケーションプログラムの作成者（３０２）は、前記作成者（３０２）に属性による要件の入力を要求するソフトウェアツール（３０４）を使用する
請求項６に記載の方法。
【請求項８】
前記潜在的ユーザが、ソフトウェアツール（３１６）を使用して、前記アプリケーションプログラム（３０８）を動作させる前記コンピュータシステム（３１４）の性能を明らかにする
請求項６に記載の方法。
【請求項９】
前記アプリケーションを動作させる前記コンピュータシステム（３１４）は、制御ノード（４００）と１つまたは複数の管理ノード（４０２）とを含むコンピュータネットワークであり、
前記コンピュータシステム（３１４）の前記性能を明らかにする段階は、
前記コンピュータネットワークの管理ノード（４０２）においてコンピュータプログラムを実行して前記管理ノードの性能を決定する段階
を含み、
前記管理ノード（４０２）は、前記管理ノードの前記性能（４０６）を前記制御ノード（４００）に伝達する
請求項８に記載の方法。
【請求項１０】
前記管理ノード（４０２）において実行される前記コンピュータプログラム（４０４）が、前記制御ノード（４００）から前記管理ノード（４０２）に渡される
請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータソフトウェアの分野に関する。
より詳細には、本発明は、アプリケーションプログラムの１組の要件に関してコンピュータシステムを解析するためのコンピュータ化した方法に関する。
【背景技術】
【０００２】
コンピュータにアプリケーションソフトウェアを適切にインストールし動作させるために、コンピュータは、そのアプリケーションプログラムに固有の場合がある１組の要件を満たす必要がある。
そのような要件は、手動で任意の時間に確認されることもあり、ソフトウェアをコンピュータにインストールするときにインストールプロセスによって確認されることもある。
【０００３】
手動プロセスは、時間がかかりかつ間違いが起きやすい。
これは、通常、アプリケーションソフトウェアをインストールする前またはソフトウェアの動作が失敗したときに行われる。
手動プロセスは、いくつかのプログラムを実行し、その出力を文書化された要件と比較することを必要とする場合がある。
これにより２つの部分に問題が生じる。
第１に、手動チェックを行うユーザは、出力の意味を理解しなければならならず、第２に、文書は適時に修正され、最新の要件を反映していない場合がある。
【０００４】
特定のアプリケーションのインストールソフトウェアは、ディスクスペース、メモリ容量、ソフトウェアの以前のバージョンなどの不可欠な要件を検査することがある。
しかしながら、インストールソフトウェアは、通常、環境全体の検査を行ってソフトウェアが適切に動作することを判定することはまれである。
これは、必要なプログラミングの量と、インストールプログラムに追加される実行時間のためである。
公開するアプリケーションソフトウェアを開発するたびに、環境を評価する新しいコードを記述しなければならない。
【０００５】
この問題は、コンピュータのネットワークではさらに大きい。
例えば、企業ネットワーク上に実装されているアプリケーションは、多数のコンピュータをまたがっていることがある。
現在は、新しいアプリケーションソフトウェアの要件を満たすかどうかを確認するために、ネットワーク内の影響を受ける各コンピュータを手動で確認しなければならない。
これにより、新しいアプリケーションを実装するたびに多くの時間とリソースが消費される。
【０００６】
この問題に対する１つの手法は、ネットワーク内のコンピュータを管理する資産管理システムを使用することである。
しかしながら、この情報は、不正確か不完全なことが多い。
さらに、資産管理システムの情報を、公開された要件と手作業で照合しなけばならない。
【０００７】
もう１つの手法は、特定のソフトウェアをインストールする前にコンピュータシステムの準備状態を評価するアプリケーション固有のソフトウェアを使用することである。
この手法は、特定のオペレーティングシステムをインストールする前に使用されてきた。
【発明の開示】
【課題を解決するための手段】
【０００８】
本発明は、上述した背景からなされたものであって、本発明にかかるコンピュータ使用可能媒体は、アプリケーションプログラム（３０８）の１組の要件に関してコンピュータシステム（３１４）を解析するためのコンピュータ可読コードが組み込まれたコンピュータ使用可能媒体であって、前記コンピュータ可読コードは、前記アプリケーションプログラム（３０８）の前記要件のリストを含むコンピュータファイル（３０６）を読み込む第１組のプログラミング命令（３１８）と、前記コンピュータシステム（３１４）の性能を決定する第２組のプログラミング命令（３２０）と、前記コンピュータシステムの性能（３１８）と前記アプリケーションプログラム（３０８）の前記要件とを比較する第３組のプログラミング命令（３２２）と、前記比較の結果をレポートする第４組のプログラミング命令（３２４）とを含む。
【発明を実施するための最良の形態】
【０００９】
本発明は、多数の異なる実施形態が可能であり、本明細書において１つまたは複数の特定の実施形態を図面に示し詳細に説明するが、この開示が、発明の原理の例示として見なされ、本発明を示し記載した特定の実施形態に限定しようとするものではないことを理解されたい。
【００１０】
以下の説明において、類似の参照数字は、図面のいくつかの図において同じ部分、類似の部分または対応する部分を示すために使用される。
【００１１】
本発明は、アプリケーションプログラムの１組の要件に関してコンピュータシステムを解析するためのコンピュータ化された方法および関連ソフトウェアに関する。
１つの実施形態において、アプリケーションプログラムの要件のリストが、コンピュータファイルに記憶される。
次に、コンピュータを操作して、コンピュータシステムの性能を判定し、コンピュータシステムの性能とアプリケーションプログラムの要件を比較する。
次に、比較結果がレポートされる。
アプリケーションプログラムの要件のリストを含むコンピュータファイルは、アプリケーションプログラムの作成者によって生成される場合がある。
公開者がユーザインタフェースを含むソフトウェアツールを使用してコンピュータファイルを生成することができる。
【００１２】
図１は、本発明の特定の実施形態と合致する方法を示すフローチャート１００である。
図１を参照すると、開始ブロック１０２に続いて、ブロック１０４で、ソフトウェア作成者（以降、ソフトウェア公開者とも呼ぶ）によってアプリケーションソフトウェアが生成される。
アプリケーションソフトウェアは、様々なハードウェア及びソフトウェア資源を利用する様々なコンピュータ環境で動作するように設計される場合がある。
アプリケーションソフトウェアは、その機能を実行するためにアプリケーションに必要な最小限の資源に関連した１組の要件を有する。
そのような要件は、通常、ソフトウェアの設計者または作成者によって設定されるが、いつ設定されてもよい。
例えば、要件は、アプリケーションソフトウェアが検査された後またはユーザフィードバックの結果として生成または修正されることがある。
ブロック１０６で、アプリケーションソフトウェアの要件を列挙するコンピュータファイルが生成される。
このコンピュータファイルは、「要件ファイル」と呼ばれ、アプリケーションソフトウェアのユーザまたは潜在的ユーザが取り出し、そのようなユーザに渡したり使用可能にしたり通信したりすることができる情報を含む。
要件ファイルは、例えば、拡張可能マークアップ言語（ＸＭＬ）形式でよい。
【００１３】
ブロック１０８で、要件ファイルがユーザに配布される。
ユーザは、アプリケーションソフトウェアを入手する前に要件ファイルを取得してもよい。
これにより、ユーザは、アプリケーションソフトウェアを購入する前にそのアプリケーションソフトウェアが自分のコンピュータシステムで動作するかどうかを判定することができる。
これは、ソフトウェア返品の数を減少させるという点で公開者にとって有益である。
また、これは、ユーザがユーザのコンピュータ上で適正に動作しないソフトウェアを返品しその金額を返金してもらうという不都合を回避できるのでユーザに有益である。
代替として、アプリケーションソフトウェアは、要件ファイルと同時に配布されてもよい。
プロセスは、終了ブロック１１０で終了する。
【００１４】
図２は、本発明の特定の実施形態と合致する方法を示すフローチャート２００である。
この方法により、ユーザは、自分のコンピュータシステムが特定のアプリケーションソフトウェアを実行できるかどうかを判定することができる。
図２の開始ブロック２０２に続いて、ユーザは、ブロック２０４でユーザがアプリケーションを選択することを可能にするコンピュータプログラムを実行する。
例えば、コンピュータプログラムは、ユーザのコンピュータシステム上のディレクトリを探して有効な要件ファイルを見つけ、そのファイルにアクセスして対応するアプリケーションの説明を読み、次にユーザに選択用のメニューを表示することができる。
ブロック２０６で、選択されたアプリケーションの要件ファイルを読み込む。
ブロック２０８で、コンピュータシステムの性能が明らかになる。
これは、一般的な性能でもよく、要件ファイルに列挙された要件と具体的に関連した性能でもよい。
【００１５】
ブロック２１０で、明らかになった性能を要件ファイルに列挙された要件と比較することによって性能が解析される。
ブロック２１２で、解析の結果を示すレポートが生成される。
このレポートにより、ユーザは、選択したアプリケーションが自分のコンピュータシステムで正常に動作するかどうかを判定することができる。
プロセスは、終了ブロック２１４で終了する。
【００１６】
プロセス２００は、ユーザによって、アプリケーションのインストールの前に実行されても後に実行されてもよい。
また、アプリケーションがインストールされた後のプログラムされた間隔で実行されてもよい。
これにより、コンピュータシステムを監視して必要な資源が利用できなくなるかどうかを明らかにすることができる。
【００１７】
インストールしたアプリケーションに対するソフトウェア更新を、更新した要件ファイルによって配布することができる。
【００１８】
例えば、最初の要件が間違っていることが分かった場合にいつでも要件ファイルを更新することができる。
【００１９】
公開されたアプリケーションソフトウェアの技術的支援を提供するためにレポートが公開者に複写されてもよい。
【００２０】
１つの実施形態において、プロセス２００は、単一のコンピュータプログラムによって実行される。
さらに他の実施形態において、プロセス２０８と２１０は、様々なコンピュータ上で実行することができる別個のコンピュータプログラムによって実行される。
【００２１】
図３は、本発明の特定の実施形態と合致するコンピュータシステムを表す図である。
図３を参照すると、ソフトウェア公開者３０２は、要件ファイル作成ツール３０４を使用してアプリケーションソフトウェア３０８と関連した要件ファイル３０６を生成する。
要件ファイル作成ツール３０４は、属性による要件の入力を要求するユーザインタフェースを含んでもよい。
属性には、カーネルパラメータ、特定ファイルの存在、インストールされたソフトウェアのバージョン番号、レジスタのヒープサイズなどがある。
次に、要件ファイル作成ツール３０４が、要件情報を含む要件ファイル３０６を書き込む。
【００２２】
要件ファイル３０６と関連アプリケーションソフトウェア３０８は、配布用の公開ソフトウェアバンドル３１０として一緒にパッケージ化されてもよく、個別に配布されてもよい。
要件の複製３０６'が、１人または複数のユーザのターゲットコンピュータ３１４に（矢印３１２によって示したように）配布される。
アプリケーションソフトウェアの複製３０８'は、ユーザに、公開ソフトウェアバンドルの複製３１０'で同時に配布されてもよく後で配布されてもよい。
【００２３】
ユーザは、汎用ソフトウェア解析ツール３１６を使用することによって、自分のコンピュータシステムがアプリケーションソフトウェアを実行できるかどうかを判定することができる。
各ツールは、１組のプログラミング命令を含む。
汎用ソフトウェア解析ツール３１６は、要件ファイルを読み込み解釈するためのファイル読み込みおよび解釈ツール３１８と、ユーザのコンピュータシステム上で使用可能な資源と性能を明らかにする性能発見ツール３２０とを含む。
汎用ソフトウェア解析ツール３１６は、また、ユーザのコンピュータシステムの明らかになった性能を要件ファイル３０６'に列挙されたアプリケーションソフトウェア要件と比較するために使用される性能／要件解析ツール３２２を含む。
汎用ソフトウェア解析ツール３１６は、また、ユーザにレポート３２６を生成するために使用されるレポート作成ツール３２４を含む。
レポート３２６は、解析結果を含み、ソフトウェアアプリケーション３０８'がユーザのコンピュータシステム上で正常に動作するかどうかをユーザが判定することを可能にする。
汎用ソフトウェア解析ツール３１６は、アプリケーションソフトウェア３０８'のインストール前に実行されてもよくインストール後に実行されてもよい。
【００２４】
当業者には、公開ソフトウェアバンドル３１０が複数ユーザに配布される場合があることは明らかであろう。
【００２５】
また、当業者には、汎用ソフトウェア解析ツール３１６を使用して複数のアプリケーションソフトウェアを解析することができることが明らかであろう。
したがって、公開者は、それぞれの新しいアプリケーション用のシステム性能解析ソフトウェアを作成する作業から開放される。
【００２６】
図４は、本発明の特定の実施形態と合致するネットワーク接続コンピュータシステムを表す図である。
図４は、ユーザによって操作される中央サイトまたは制御ノード４００と、いくつかの管理ノード４０２および４０２'とを有する企業ネットワークなどのネットワーク接続コンピュータシステム３１４を示す。
ネットワーク上に実装されたアプリケーションは、制御ノードといくつかの管理ノードをまたぐ場合がある。
ユーザは、汎用ソフトウェア解析ツール３１６を使用することによって、ネットワーク接続コンピュータシステム３１４がアプリケーションソフトウェアを実行できるかどうかを判定することができる。
汎用ソフトウェア解析ツール３１６は、要件ファイルを読み込み解釈するためのファイル読み込み解釈ツール３１８を含む。
ツール３１６は、また、ネットワーク接続コンピュータシステム上で使用可能な資源と性能を明らかにする性能発見ツール３２０を含む。
ネットワーク内の他の管理ノード（例えば、４０２'と４０２）の性能を明らかにするために、検査している管理ノードのそれぞれに小さいプログラム（４０４、４０４'）が送られる。
このプログラムは、受け取り側の管理ノードの関連情報（インベントリデータや構成データなど）を収集する役割をする。
情報を収集した後で、プログラムは、情報（４０６、４０６'）のレポートを制御ノード４００に戻す。
レポートは、データを収集した後または制御ノードからの要求に応じて送ることができる。
制御ノード４００は、検査に適したシステムのリストを維持する。
制御ノード４００は、また、各システムごとに現行のデータセットが存在するかどうかのリストを維持することができる。
データセットを必要とするシステムの場合は、制御点によってデータセットを収集するネットワークトランザクションが開始される。
この情報は、ローカルレポジトリ４０８に記憶されてもよい。
企業レベルで収集したインベントリデータと構成データを要約する特別レポート（ａｄ  ｈｏｃ  ｒｅｐｏｒｔ）を任意の時間に生成することができる。
収集した後で、性能／要件解析ツール３２２が、例えば不可欠なソフトウェア、パッチ、ハードウェアおよび構成に関してデータを解析することができる。
【００２７】
汎用ソフトウェア解析ツール３１６は、また、ユーザ用のレポート３２６を生成するために使用されるレポート作成ツール３２４を含む。
レポート３２６は、ユーザが、ソフトウェアアプリケーション３０８'がユーザのコンピュータシステム上で正常に動作するかどうかを判定しまたアプリケーションの準備に必要な時間と資源を決定することを可能にする任意の異常を含む場合がある。
【００２８】
解析ツールは、要件ファイル３０６'からの情報を使用して、要件を満たさないネットワーク内のシステムを識別する。
１つの実施形態において、必要なソフトウェア、ハードウェアおよび構成の詳細は、属性タグおよびそれと関連した値のリストを含む。
ファイルは、国際標準化機構（ＩＳＯ）によって管理されている汎用マークアップ言語（ＳＧＭＬ）や、ＷＷＷコンソシアムによって管理されている拡張可能マークアップ言語（ＸＭＬ）プロトコルなどの業界標準のプロトコルに従って書き込まれてもよい。
【００２９】
ＸＭＬ要件ファイルの例を以下に示す。
【００３０】
<?xml version="1.0" encoding="UTF-8"?>
<prerequisites schema-version="1.0">
<application>
<id>NNM</id>
<name>Network Node Manager</name>
<version>8.0</version>
<version>8.5></version>
</application>
<systems>
<system os="HP-UX" os-version="11.0">
<hardware model="9000">
<series>700</series>
<series>800</series>
<memory scale="MB">512</memory>
<disk-space scale="GB">1</disk-space>
<virtual-memory scale="MB">768     </virtual-memory>
</hardware>
<software>
<kernel-parameters>
<max-thread-proc>1024 </max-thread-proc>
<nfile>8192</nfile>
<maxdsiz>1073741824</maxdsiz>
<maxfiles>2048</maxfiles>
<maxusers>256</maxusers>
</kernel-parameters>
<libraries>
<library>libnm.sl</library>
</libraries>
<patches>
<patch id="PHNE_25226"/>
<patch id="PHKL_26059"/>
<patch id="PHCO_25902"/>
</patches>
</software>
<conflicts>
<component>
<id>OVO</id>
<name>Operations for Unix</name>
<version>8.0</version>
</component>
</conflicts>
</system>
<system os="Windows 2000" os-version="Professional">
<hardware model="PII">
<speed scale="MHz">333</speed>
<memory scale="MB">512</memory>
<disk-space sale="GB">1</disk-space>
<virtual-memoryscale="MB">512</virtual-memory>
</hardware>
<software>
<component>
<name>IIS</name>
<version>4.0</version>
</component>
<libraries>
<library>devenum.dll</library>
</libraries>
<patches>
<patch>SP4</patch>
</patches>
</software>
<conflicts>
<component>
<id>SSC</id>
<name>Some Shared Component </name>
<version>4.5</version>
</component>
</conflicts>
</system>
</systems>
</prerequisites>
【００３１】
この例は、「ネットワークノードマネージャ」という名前のアプリケーションのものであり、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ  ＣｏｒｐｏｒａｔｉｏｎのＨＰ−ＵＸ（登録商標）｝オペレーティングシステムと、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ  ２０００（登録商標）｝オペレーティングシステムの下でアプリケーションを実行するための要件または前提条件を含む。
ハードウェア要件、ソフトウェア要件、および競合回避要件は、各オペレーティングシステムごとに指定される。
必要に応じて他のタグを使用することができる。
【００３２】
従来の手法では、新しいアプリケーションソフトウェアの要件を満たすかどうかを確認するために、ネットワーク内の影響を受ける各コンピュータを手作業で確認しなければならない。
これにより、新しいアプリケーションを実装する度に時間と資源がかなり消費される。
前述の自動プロセスは、手動プロセスの必要を回避し、それにより人間の間違いの可能性を低下させる。
【００３３】
当業者は、前述の実施形態を実現するために使用されるプログラムステップおよび関連データが、ディスク記憶装置ならびに例えば読み出し専用メモリ（ＲＯＭ）装置、ランダムアクセスメモリ（ＲＡＭ）装置、光学記憶要素、磁気記憶要素、光磁気記憶要素、フラッシュメモリ、コアメモリ、および／または本発明から逸脱しない他の等価な記憶技術などの他の記憶形態を使用して実現することができることを理解するであろう。
そのような代替の記憶装置は、等価物と見なされるべきである。
【００３４】
本発明は、本明細書の実施形態に示したように、任意の適切な電子記憶媒体に記憶することができるフローチャート形式で、前に大雑把に示したプログラミング命令を実行するプログラムされたプロセッサを使用することによって実現される。
しかしながら、当業者は、前述のプロセスが、本発明から逸脱しない任意の数の変形及び多くの適切なプログラミング言語で実現することができることを理解するであろう。
例えば、本発明から逸脱することなく実行する特定の操作の順序を頻繁に変更することができ、また追加の操作を追加し、操作を削除することができる。
本発明から逸脱することなくエラートラッピングを追加しかつ／または強化し、またユーザインタフェースと情報表現を変更することができる。
そのような変化は、意図されており、等価物と見なされる。
【００３５】
本発明を特定の実施形態と関連して説明したが、以上の説明を鑑みて、多くの代替、修正、置換および変形が当業者に明らかになることは明白である。
したがって、本発明は、併記の特許請求の範囲内にあるそのようなすべての代替、修正および変形を含むように意図されている。
【図面の簡単な説明】
【００３６】
【図１】本発明の特定の実施形態と合致する方法を示すフローチャートである。
【図２】本発明の特定の実施形態と合致する方法を示すフローチャートである。
【図３】本発明の特定の実施形態と合致するコンピュータシステムを表す図である。
【図４】本発明の特定の実施形態と合致するネットワーク接続されたコンピュータシステムを表す図である
【符号の説明】
【００３７】
３０６・・・コンピュータファイル，
３０８・・・アプリケーションプログラム，
３１４・・・コンピュータシステム，
３１８，３２０，３２２，３２４・・・プログラミング命令，
【図１】
2006294019.tif 000003
【図２】
2006294019.tif 000004
【図３】
2006294019.tif 000005
【図４】
2006294019.tif 000006