(57)【要約】【課題】  ＯＳおよびアプリケーションソフトウェアにパッチプログラムを適用する場合、不必要なパッチプログラムを適用してしまったり、パッチプログラムを適用することによって、他のアプリケーションソフトウェア等の動作に影響を及ぼしてしまったりしていた。【解決手段】  クライアント端末１００は、搭載しているＯＳおよび各アプリケーションソフトウェアのパッチプログラムの適用状況をサーバ４００に送信する。サーバ４００は、サーバ記憶装置５００が記憶している各データベースの情報にもとづいて、パッチプログラムを適用することによって他のアプリケーションソフトウェア等の動作に影響を及ぼさない必要最小限のパッチプログラムをクライアント端末１００に送信する。クライアント端末１００は、受信したパッチプログラムをＯＳおよび各アプリケーションソフトウェアに適用する。【選択図】  図１
2005222453.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳとアプリケーションソフトウェアとを搭載する端末装置と、
通信ネットワークを介して、前記端末装置にＯＳとおよびプリケーションソフトウェアのパッチプログラムを提供するパッチプログラム提供装置と
を備えたパッチ管理システムにおいて、
前記端末装置に搭載されているＯＳとアプリケーションソフトウェアとのパッチプログラムの適用状況を示す情報であるパッチ累積状況情報を特定するパッチ累積状況情報特定装置を備え、
前記パッチプログラム提供装置は、
前記パッチ累積状況情報を受信する受信手段と、
受信した前記パッチ累積状況情報にもとづいて、前記端末装置に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定し、さらに、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認するパッチプログラム管理手段と、
前記端末装置に搭載されているＯＳおよびアプリケーションソフトウェアを、前記パッチプログラム管理手段が確認したアプリケーションソフトウェアの版および前記最新のＯＳの版に更新するための各パッチプログラムを前記端末装置に送信するパッチプログラム送信手段とを含む
ことを特徴とするパッチ管理システム。
【請求項２】
端末装置は、パッチ累積状況特定装置を内蔵する
請求項１記載のパッチ管理システム。
【請求項３】
パッチプログラム提供装置は、
複数の版のＯＳおよびアプリケーションソフトウェアについて、旧版のＯＳおよびアプリケーションソフトウェアから更新するためのパッチプログラムを特定する情報が格納されたパッチ累積履歴データベースと、
前記パッチ累積履歴データベースに格納されている情報で特定される各パッチプログラムを格納したパッチプログラムデータベースと、
最新のＯＳの版に対して動作確認されている各アプリケーションソフトウェアの版を示す情報が格納された動作確認データベースと、
アプリケーションソフトウェアの複数の版のそれぞれについて、他のアプリケーションソフトウェアの動作に対して影響を及ぼすか否かを特定可能な情報が格納された干渉状況データベースとを有し、
パッチプログラム管理手段は、
前記動作確認データベースに格納されている情報を用いて、端末装置に適用すべき最新のＯＳの版での動作確認がとれているアプリケーションソフトウェアの版を特定し、
前記干渉状況データベースに格納されている情報を用いて、特定されているアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認し、
パッチプログラム送信手段は、パッチ累積履歴データベースに格納されている情報を用いて、端末装置に送信するパッチプログラムを特定する
請求項１または請求項２記載のパッチ管理システム。
【請求項４】
パッチプログラム管理手段は、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、端末装置にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信する
請求項１から請求項３のうちのいずれか１項に記載のパッチ管理システム。
【請求項５】
パッチプログラム提供装置は、特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略するパッチプログラム依存関係判定手段を含む
請求項１から請求項４のうちのいずれか１項に記載のパッチ管理システム。
【請求項６】
パッチプログラム提供装置は、アプリケーションソフトウェアおよびＯＳの各パッチプログラムの依存関係が設定された依存関係データベースを有し、
パッチプログラム依存関係判定手段は、前記依存関係データベースの内容を用いて不要なパッチプログラムを特定する
請求項５記載のパッチ管理システム。
【請求項７】
端末装置は、パッチプログラム提供装置から通信ネットワークを介してパッチプログラムを受信すると、パッチプログラムを適用するＯＳまたはアプリケーションソフトウェアの複製を別名で作成する複製作成手段と、
作成した別名のＯＳまたはアプリケーションソフトウェアの複製にパッチプログラムを適用し、パッチプログラムの適用後、パッチプログラムの適用に応じてパッチ累積状況特定装置が特定するパッチ累積状況情報を変更するパッチ累積状況情報変更手段と、
パッチプログラムを適用したＯＳまたはアプリケーションソフトウェアの名前を原本のＯＳまたはアプリケーションソフトウェアの名前に変更して端末装置を再起動するソフトウェア更新完了手段とを含む
請求項１から請求項６のうちのいずれか１項に記載のパッチ管理システム。
【請求項８】
通信ネットワークを介して、端末装置にＯＳおよびアプリケーションソフトウェアのパッチプログラムを提供するサーバに搭載されるパッチ管理プログラムであって、
前記サーバに、
前記端末装置からパッチ累積状況情報を受信する処理と、
受信した前記パッチ累積状況情報にもとづいて、前記端末装置に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定する特定処理と、
特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認する確認処理と、
前記端末装置に搭載されているＯＳおよびアプリケーションソフトウェアを、前記確認処理で確認されたアプリケーションソフトウェアの版および前記最新のＯＳの版に更新するための各パッチプログラムを前記端末装置に送信する送信処理と
を実行させることを特徴とするパッチ管理プログラム。
【請求項９】
サーバに、
特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、端末装置にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信する処理を実行させる
請求項８記載のパッチ管理プログラム。
【請求項１０】
サーバに、
特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略する処理を実行させる
請求項８または請求項９記載のパッチ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの一部を変更するためのプログラムであるパッチプログラムのＯＳおよびアプリケーションソフトウェアへの適用を管理するパッチ管理システムおよびパッチ管理プログラムに関する。
【背景技術】
【０００２】
コンピュータが搭載しているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションソフトウェアの一部を変更（例えば、アップデート）するには、コンピュータのユーザが、それらのソフトウェアの一部を変更するためのプログラムであるパッチプログラムを内蔵したＣＤ−ＲＯＭ等を店頭や通信販売等で購入し、購入したＣＤ−ＲＯＭを用いてＯＳやアプリケーションソフトウェアの一部を変更する。以下、パッチプログラムを用いてソフトウェアの一部を変更することをパッチプログラムを適用するという。
【０００３】
しかし、ＯＳおよびアプリケーションソフトウェアのユーザがパッチプログラムを適用する場合、ＯＳおよびアプリケーションソフトウェアに対してそれぞれ個別にパッチプログラムを適用しなければならないため、ユーザの操作が煩雑である。
【０００４】
そのような煩雑さをなくすために、ユーザがアップデートを希望するソフトウェアを搭載したコンピュータを通信ネットワークを介してサーバに接続させ、現在のソフトウェアの状態から、目標のソフトウェアの状態に変更するパッチプログラムのファイルを特定し、特定したファイルを用いてソフトウェアをユーザの目標の状態に変更するシステムが提案されている（例えば、特許文献１参照。）。
【０００５】
また、ソフトウェアの供給者がソフトウェアのパッチプログラムを提供するパッチ管理コンピュータを、ソフトウェアを利用しているユーザのコンピュータに通信回線を介して接続させて、パッチプログラムの送信と実行とを行い、ユーザのコンピュータに搭載されているソフトウェアを自動的に変更する方式が提案されている（例えば、特許文献２参照。）。
【０００６】
【特許文献１】特開２００３−２９６１３２号公報  （第９−１７頁、図２）
【特許文献２】特開平４−１９５５６７号公報  （第２−３頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、クライアント端末に搭載されているＯＳを最新の状態に変更した場合、その状態で動作確認されている各アプリケーションソフトウェアのパッチプログラムの適用状況がクライアント端末のユーザにはわからないという問題がある。
【０００８】
また、クライアント端末に搭載されているＯＳや特定のアプリケーションソフトウェアを最新の状態にした場合、別のアプリケーションソフトウェアが影響を受ける可能性があるが、どのアプリケーションにどのような影響が出てくるのか、クライアント端末のユーザにはわからないという問題がある。
【０００９】
さらに、現状のＯＳおよび各アプリケーションソフトウェアを最新の状態にするために適用しなければならないパッチプログラムが複数あり、複数あるパッチプログラムのうち、一のパッチプログラムと他のパッチプログラムとの間に依存関係がある場合、ユーザがパッチプログラム間の依存関係を知らないと、間違ったパッチプログラムの組み合わせや順番でパッチプログラムを適用するおそれがあるという問題がある。ここで、一のパッチプログラムと他のパッチプログラムとの間に依存関係があるとは、パッチプログラムの適用順序を誤るとＯＳやアプリケーションソフトウェアが正常に動作しなかったり、一のパッチプログラムを適用すれば他のパッチプログラムが不要になったりすることをいう。
【００１０】
そこで、本発明は、端末装置に搭載されたＯＳを最新の状態に変更した場合に、その状態で動作確認されている各アプリケーションソフトウェアのパッチプログラムの適用状況を自動的に判定し、必要な全てのパッチプログラムを、自動的に端末装置に搭載されたＯＳおよびアプリケーションソフトウェアに適用することができるパッチ管理システムおよびパッチ管理プログラムを提供することを目的とする。
【００１１】
さらに、ＯＳや特定のアプリケーションソフトウェアにパッチプログラムを適用した場合、他のアプリケーションソフトウェアの動作が影響を受けることがわかっているときに、クライアント端末のユーザに対して予め警告して、情報を提示することができるパッチ管理システムおよびパッチ管理プログラムを提供することを目的とする。
【００１２】
また、ＯＳやアプリケーションソフトウェアを最新の状態にするために適用しなければならないパッチプログラムが複数あり、そのパッチプログラム間に依存関係がある場合、依存関係を自動的に判定して、正しいパッチプログラムの組み合わせおよび順番で必要最小限のパッチプログラムを適用することができるパッチ管理システムおよびパッチ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるパッチ管理システムは、ＯＳとアプリケーションソフトウェアとを搭載する端末装置と、通信ネットワークを介して、前記端末装置にＯＳとおよびプリケーションソフトウェアのパッチプログラムを提供するパッチプログラム提供装置とを備えたパッチ管理システムにおいて、前記端末装置に搭載されているＯＳとアプリケーションソフトウェアとのパッチプログラムの適用状況を示す情報であるパッチ累積状況情報を特定するパッチ累積状況情報特定装置を備え、パッチプログラム提供装置は、パッチ累積状況情報を受信する受信手段と、受信した前記パッチ累積状況情報にもとづいて、前記端末装置に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定し、さらに、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認するパッチプログラム管理手段と、端末装置に搭載されているＯＳおよびアプリケーションソフトウェアを、前記パッチプログラム管理手段が確認したアプリケーションソフトウェアの版および前記最新のＯＳの版に更新するための各パッチプログラムを前記端末装置に送信するパッチプログラム送信手段とを含むことを特徴とする。
【００１４】
端末装置は、パッチ累積状況特定装置を内蔵してもよい。そのような構成によれば、例えば、パーソナルコンピュータ等のような、記憶装置を内蔵した端末装置に、本発明によるパッチ管理システムを適用することができる。なお、パッチ累積状況特定装置の好ましい一形態はパッチ累積状況情報を記憶するパッチ累積状況情報記憶装置であるが、パッチ累積状況特定装置は、そのような記憶装置に限られず、端末装置に当てられているパッチを解析することによってパッチ累積状況を認識する手段としても実現できる。さらには、パッチプログラム提供装置その他の外部装置から、パッチ累積状況情報の提供を受ける形態として実現することもできる。
【００１５】
パッチプログラム提供装置は、複数の版のＯＳおよびアプリケーションソフトウェアについて、旧版のＯＳおよびアプリケーションソフトウェアから更新するためのパッチプログラムを特定する情報が格納されたパッチ累積履歴データベースと、パッチ累積履歴データベースに格納されている情報で特定される各パッチプログラムを格納したパッチプログラムデータベースと、最新のＯＳの版に対して動作確認されている各アプリケーションソフトウェアの版を示す情報が格納された動作確認データベースと、アプリケーションソフトウェアの複数の版のそれぞれについて、他のアプリケーションソフトウェアの動作に対して影響を及ぼすか否かを特定可能な情報が格納された干渉状況データベースとを有してもよく、パッチプログラム管理手段は、動作確認データベースに格納されている情報を用いて、端末装置に適用すべき最新のＯＳの版での動作確認がとれているアプリケーションソフトウェアの版を特定し、干渉状況データベースに格納されている情報を用いて、特定されているアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認してもよく、パッチプログラム送信手段は、パッチ累積履歴データベースに格納されている情報を用いて、端末装置に送信するパッチプログラムを特定してもよい。そのような構成によれば、パッチプログラムの適用によって端末装置に搭載されているＯＳまたはアプリケーションソフトウェアの動作に影響があるか否かを各データベースに格納されている情報を用いて確認することができる。
【００１６】
パッチプログラム管理手段は、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、端末装置にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信してもよい。そのような構成によれば、一のアプリケーションソフトウェアにパッチプログラムを適用すると他のアプリケーションソフトウェアの動作に影響を及ぼす場合、端末装置のユーザにパッチプログラムを適用するアプリケーションソフトウェアの選択を要求することができる。
【００１７】
パッチプログラム提供装置は、特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略するパッチプログラム依存関係判定手段を含んでもよい。そのような構成によれば、パッチプログラム提供装置は、パッチプログラム間の依存関係にもとづいて、必要最小限のパッチプログラムを端末装置に送信することができる。
【００１８】
パッチプログラム提供装置は、アプリケーションソフトウェアおよびＯＳの各パッチプログラムの依存関係が設定された依存関係データベースを有してもよく、パッチプログラム依存関係判定手段は、前記依存関係データベースの内容を用いて不要なパッチプログラムを特定してもよい。そのような構成によれば、パッチプログラム提供装置は、依存関係データベースの内容にもとづいて、不要なパッチプログラムを特定することができる。
【００１９】
端末装置は、パッチプログラム提供装置から通信ネットワークを介してパッチプログラムを受信すると、パッチプログラムを適用するＯＳまたはアプリケーションソフトウェアの複製を別名で作成する複製作成手段と、作成した別名のＯＳまたはアプリケーションソフトウェアの複製にパッチプログラムを適用し、パッチプログラムの適用後、パッチプログラムの適用に応じてパッチ累積状況特定装置が特定するパッチ累積状況情報を変更するパッチ累積状況情報変更手段と、パッチプログラムを適用したＯＳまたはアプリケーションソフトウェアの名前を原本のＯＳまたはアプリケーションソフトウェアの名前に変更して端末装置を再起動するソフトウェア更新完了手段とを含んでもよい。そのような構成によれば、パッチプログラムの適用によってＯＳまたはアプリケーションソフトウェアの動作に影響があるか否かを、複製したＯＳまたはアプリケーションソフトウェアによってテストすることができる。
【００２０】
本発明によるパッチ管理プログラムは、通信ネットワークを介して、端末装置にＯＳおよびアプリケーションソフトウェアのパッチプログラムを提供するサーバに搭載されるパッチ管理プログラムであって、サーバに、端末装置からパッチ累積状況情報を受信する処理と、受信した前記パッチ累積状況情報にもとづいて、前記端末装置に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定する特定処理と、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認する確認処理と、前記端末装置に搭載されているＯＳおよびアプリケーションソフトウェアを、前記確認処理で確認されたアプリケーションソフトウェアの版および前記最新のＯＳの版に更新するための各パッチプログラムを前記端末装置に送信する送信処理とを実行させることを特徴とする。
【００２１】
サーバに、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、端末装置にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信する処理を実行させてもよい。そのような構成によれば、一のアプリケーションソフトウェアにパッチプログラムを適用すると他のアプリケーションソフトウェアの動作に影響を及ぼす場合、端末装置のユーザにパッチプログラムを適用するアプリケーションソフトウェアの選択を要求することができる。
【００２２】
サーバに、特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略する処理を実行させてもよい。そのような構成によれば、パッチプログラム提供装置は、パッチプログラム間の依存関係にもとづいて、必要最小限のパッチプログラムを端末装置に送信することができる。
【発明の効果】
【００２３】
本発明によれば、通信ネットワークでサーバに接続されたクライアント端末に搭載されたＯＳおよび各アプリケーションソフトウェアに、最小限の操作で必要な全てのパッチプログラムを適用することが可能になり、さらに、ＯＳを最新の状態に変更した場合、その状態で動作確認されている各アプリケーションソフトウェアのパッチプログラムの適用状況を自動的に判定し、必要な全てのパッチプログラムを適用することが可能になる。その理由は、端末装置の側で記憶されているパッチ累積状況情報にもとづいて、動作確認されている各アプリケーションソフトウェアのパッチプログラムの適用状況を確認し、自動的にパッチプログラムの適用を行うためである。
【００２４】
また、パッチプログラム管理手段が、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、端末装置にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信することによって、問題の発生を未然に回避することが可能になる。その理由は、端末装置に問題が発生する可能性があることを通知して、ユーザに問題の回避手段を選択させることができるためである。
【００２５】
さらに、パッチプログラム間に依存関係がある場合に、依存関係を自動的に判定して正しいパッチプログラムの組み合わせおよび順番で必要最小限のパッチプログラムを適用するように構成することによって、パッチプログラムを自動的に適用することによってＯＳやアプリケーションプログラムの動作がおかしくなってしまうという問題を生じさせないようにすることができる。
【発明を実施するための最良の形態】
【００２６】
本発明の実施の形態の構成を図面を参照して説明する。図１は、本発明の実施の形態の一構成例を示すブロック図である。
【００２７】
クライアント端末１００とサーバ４００とが通信ネットワーク３００を介して接続され、クライアント端末１００にはクライアント記憶装置２００が接続され、サーバ４００にはサーバ記憶装置５００が接続される。以下に記載される上記の各装置間の通信ネットワーク３００による接続形態は、インターネットなどの広域通信ネットワークや、企業内ＬＡＮや家庭内ＬＡＮなどのローカル通信ネットワーク、無線通信ネットワーク、無線パケット通信網、地上波放送網、衛星放送網、衛星通信網や、これらに類似するその他の接続形態であってよい。クライアント端末１００は、例えばパーソナルコンピュータ等のコンピュータによって実現される。クライアント記憶装置２００およびサーバ記憶装置５００は、例えばハードディスクアレイ等の記憶手段によって実現される。以下、アプリケーションソフトウェアをＡＰといい、データベースをＤＢという。また、クライアント端末１００はクライアント記憶装置２００を内蔵していてもよく、サーバ４００はサーバ記憶装置５００を内蔵していてもよい。サーバ４００およびクライアント記憶装置２００は、パッチプログラム提供装置を構成する。
【００２８】
クライアント記憶装置２００は、クライアント端末１００に搭載されているＯＳおよびＡＰを特定する情報と、クライアント端末１００に搭載されているＯＳおよび各ＡＰに対するパッチプログラムの適用状況を示す情報とであるパッチ累積状況情報とを記憶している。図２は、パッチ累積状況情報の構成を示す説明図である。パッチ累積状況情報は、クライアント端末１００に搭載されているＯＳに対するパッチプログラムの適用状況を示すＯＳパッチ累積状態名、ＡＰ１からＡＰｎに対するパッチプログラムの適用状況を示すＡＰ１からＡＰｎパッチ累積状態名を含む。ここで、クライアント端末１００には、ＡＰがＡＰ１からＡＰｎまでｎ個搭載されているものとし、ＡＰ１からＡＰｎに対するパッチプログラムの適用状況は、それぞれＡＰ１からＡＰｎパッチ累積状態名によって示される。すなわち、パッチ累積状態名とは、パッチプログラムの適用状況を示す情報である。具体的には、ＡＰ１パッチ累積状態名は、ＡＰ１に対するパッチプログラムの適用状況を示し、ＡＰ２パッチ累積状態名は、ＡＰ２に対するパッチプログラムの適用状況を示し、以下同様に、ＡＰｎパッチ累積状態名は、ＡＰｎに対するパッチプログラムの適用状況を示す。なお、パッチプログラムの適用状況は、ＯＳおよび各ＡＰのそれぞれに、どのパッチプログラムをそれぞれ適用したかの状況を示す。なお、パッチ累積状態は、ソフトウェアのバージョン（版）に対応し、パッチ累積状態名は、バージョン数（バージョン名）に対応する。
【００２９】
サーバ記憶装置５００は、ＯＳ１からＯＳｍの各ＯＳのそれぞれおよびＡＰ１からＡＰｉの各ＡＰのそれぞれに対するパッチプログラムを記憶するパッチプログラム格納領域５１０（パッチプログラムデータベース、以下、単にパッチプログラムという。）、各ＯＳおよび各ＡＰのそれぞれのパッチプログラムの履歴のＤＢであるパッチ累積履歴ＤＢ５２０、ＯＳ１からＯＳｍの各ＯＳに対して予め動作確認されている各ＡＰのパッチプログラムを特定する情報のＤＢである動作確認ＤＢ５３０、各ＡＰのパッチプログラムによって影響を受ける他のＡＰのパッチ累積状態名を特定する情報のＤＢである干渉状況ＤＢ５４０、ならびに各ＯＳおよび各ＡＰのパッチプログラムの依存関係を示す依存関係ＤＢ５５０を記憶している。
【００３０】
パッチ累積履歴ＤＢ５２０について図面を参照して説明する。図３は、パッチ累積履歴ＤＢ５２０の構成を示す説明図である。パッチ累積履歴ＤＢ５２０は、ＯＳ１からＯＳｍの各種ＯＳのそれぞれおよびＡＰ１からＡＰｉの各ＡＰのそれぞれのパッチプログラムの履歴を示す各パッチ累積履歴テーブルによって構成されている。
【００３１】
各パッチ累積履歴テーブルについて説明する。図４は、ＯＳ１のパッチプログラムの履歴を示すＯＳ１パッチ累積履歴テーブルのレコード構成を示す説明図である。ＯＳ１パッチ累積履歴テーブルには、それぞれのパッチ累積状態名（バージョン名）について、１レコード内で、ＯＳ１のパッチ累積状態を示す各ＯＳ１パッチ累積状態名が設定され、続いて、ＯＳ１を、直前のパッチ累積状態から、先頭のフィールドのパッチ累積状態名が示すパッチ累積状態にするためにＯＳ１に適用するパッチプログラムを示す各パッチプログラム名（ＯＳ１適用パッチプログラム名）が設定されている。すなわち、各レコード（図４における各行）は、ＯＳ１のパッチ累積状態を示すＯＳ１パッチ累積状態名ｊ（バージョンｊ：ｊ＝１，・・・，ａ）と、ＯＳ１を、直前のパッチ累積状態からパッチ累積状態名ｊの状態にするためのパッチプログラム名１からパッチプログラム名ｓの各フィールドによって構成されている。なお、パッチプログラム名１からパッチプログラム名ｓの設定順は、パッチプログラムの適用順に対応している。また、各レコードにおいて、パッチプログラム名の数は同じであるとは限らない。また、パッチ履歴テーブルにおいて、最上位のレコード（累積状態名１）が最新のパッチ累積状態名のものである。
【００３２】
ＯＳ２パッチ累積履歴テーブルからＯＳｍパッチ累積履歴テーブルは、ＯＳ１パッチ累積履歴テーブルの構成と同じ構成になっている。
【００３３】
例えば、図５は、ＯＳｍのパッチプログラムの履歴を示すＯＳｍパッチ累積履歴テーブルのレコード構成を示す説明図である。ＯＳｍパッチ累積履歴テーブルには、ＯＳｍのパッチ累積状態を示す各ＯＳｍパッチ累積状態名と、ＯＳｍを直前のパッチ累積状態から先頭のフィールドのパッチ累積状態名が示すパッチ累積状態にするためにＯＳｍに適用するパッチプログラムを示す各パッチプログラム名（ＯＳｍ適用パッチプログラム名）とが、１つのパッチ累積状態名（バージョン名）について１レコードで設定されている。すなわち、各レコード（図５における各行）は、ＯＳｍのパッチ累積状態を示すＯＳｍパッチ累積状態名ｊ（バージョンｊ：１，・・・，ｄ）と、ＯＳｍを、直前のパッチ累積状態からパッチ累積状態名ｊの状態にするためのパッチプログラム名１からパッチプログラム名ｔの各フィールドによって構成されている。なお、パッチプログラム名１からパッチプログラム名ｔの設定順は、パッチプログラムの適用順に対応している。また、各レコードにおいて、パッチプログラム名の数は同じであるとは限らない。
【００３４】
図６は、ＡＰ１のパッチプログラムの履歴を示すＡＰ１パッチ累積履歴テーブルのレコード構成を示す説明図である。ＡＰ１パッチ累積履歴テーブルには、ＡＰ１のパッチ累積状態を示す各ＡＰ１パッチ累積状態名と、ＡＰ１を直前のパッチ累積状態から先頭のフィールドのパッチ累積状態名が示すパッチ累積状態にするためにＡＰ１に適用するパッチプログラムを示す各パッチプログラム名（ＡＰ１適用パッチプログラム名）とが、１つのパッチ累積状態名（バージョン名）について１レコードで設定されている。例えば、各レコード（図６における各行）は、ＡＰ１のパッチ累積状態を示すＡＰ１パッチ累積状態名ｊ（バージョンｊ：１，・・・，ｇ）と、ＡＰ１を、直前のパッチ累積状態からパッチ累積状態名ｊの状態にするためのパッチプログラム名１からパッチプログラム名ｕの各フィールドによって構成されている。なお、パッチプログラム名１からパッチプログラム名ｕの設定順は、パッチプログラムの適用順に対応している。また、各レコードにおいて、パッチプログラム名の数は同じであるとは限らない。また、パッチ履歴テーブルにおいて、最上位のレコード（累積状態名１）が最新のパッチ累積状態名のものである。
【００３５】
ＡＰ２パッチ累積履歴テーブルからＡＰｉパッチ累積履歴テーブルは、ＡＰ１パッチ累積履歴テーブルおよびＡＰｋパッチ累積履歴テーブルの構成と同じ構成になっている。
【００３６】
例えば、図７は、ＡＰｉのパッチプログラムの履歴を示すＡＰｉパッチ累積履歴テーブルのレコード構成を示す説明図である。ＡＰｉパッチ累積履歴テーブルには、ＡＰｉのパッチ累積状態を示す各ＡＰｉパッチ累積状態名と、ＡＰｉを直前のパッチ累積状態から先頭のフィールドのパッチ累積状態名が示すパッチ累積状態にするためにＡＰｉに適用するパッチプログラムを示す各パッチプログラム名（ＡＰｍ適用パッチプログラム名）とが、１つのパッチ累積状態名（バージョン名）について１レコードで設定されている。例えば、各レコード（図７における各行）は、ＡＰｉのパッチ累積状態を示すＡＰｉパッチ累積状態名ｊ（バージョンｊ：１，・・・，ｋ）と、ＡＰｉを、直前のパッチ累積状態からパッチ累積状態名ｊの状態にするためのパッチプログラム名１からパッチプログラム名ｖの各フィールドによって構成されている。なお、パッチプログラム名１からパッチプログラム名ｖの設定順は、パッチプログラムの適用順に対応している。また、各レコードにおいて、パッチプログラム名の数は同じであるとは限らない。
【００３７】
次に、動作確認ＤＢ５３０について図面を参照して説明する。図８は、動作確認ＤＢ５３０の構成を示す説明図である。動作確認ＤＢ５３０は、ＯＳ１からＯＳｍの各ＯＳのそれぞれに対して、動作確認されている各ＡＰのパッチ累積状態を特定する情報を示す各動作確認テーブルによって構成されている。
【００３８】
各動作確認テーブルについて説明する。図９は、ＯＳ１の動作環境において動作確認されているＡＰを特定する情報を示すＯＳ１動作確認テーブルのレコード構成を示す説明図である。最新のＯＳ１のパッチ累積状態を示すＯＳ１パッチ累積状態名、ＯＳ１パッチ累積状態名が示すパッチ累積状態で動作確認されているＡＰ名とそのＡＰのパッチ累積状態名とを示す動作確認ＡＰ１パッチ累積状態名（ＯＳ１動作確認ＡＰ１パッチ累積状態名）１から動作確認ＡＰｉパッチ累積状態名ｗの各フィールドによって構成されている。以下、同様に、ＯＳ２動作確認テーブルからＯＳｍ動作確認テーブルは、ＯＳ２からＯＳｍに対して、それぞれＯＳ１動作確認テーブルと同様のレコード構成となっている。
【００３９】
例えば、図１０は、ＯＳｍの動作環境において動作確認されているＡＰを特定する情報を示すＯＳｍ動作確認テーブルのレコード構成を示す説明図である。ＯＳｍ動作確認テーブルは、最新のＯＳｍのパッチ累積状態を示すＯＳｍパッチ累積状態名、ＯＳｍパッチ累積状態名が示すパッチ累積状態で動作確認されているＡＰ名とそのＡＰのパッチ累積状態名とを示す動作確認ＡＰパッチ累積状態名（ＯＳｍ動作確認ＡＰ１パッチ累積状態名）１から動作確認ＡＰパッチ累積状態名ｘの各フィールドによって構成されている。
【００４０】
なお、この実施の形態では、ＯＳ１〜ＯＳｍのそれぞれの動作確認テーブルにおいて、最新のＯＳのパッチ累積状態（バージョン）における各ＡＰの動作確認状況のみが設定されているが、各ＯＳについて、複数のパッチ累積状態（バージョン）における各ＡＰの動作確認状況が設定されていることが好ましい。
【００４１】
次に、干渉状況ＤＢ５４０について図面を参照して説明する。図１１は、干渉状況ＤＢ５４０の構成を示す説明図である。干渉状況ＤＢ５４０は、ＡＰ１からＡＰｉの各ＡＰのそれぞれのパッチプログラムによって影響を受ける他のＡＰのパッチ累積状態名が設定された各干渉状況テーブルによって構成されている。
【００４２】
各干渉状況テーブルについて説明する。図１２は、ＡＰ１のパッチプログラムによって影響を受ける他のＡＰのパッチ累積状態名が設定されたＡＰ１干渉状況テーブルのレコード構成を示す説明図である。ＡＰ１干渉状況テーブルには、ＡＰ１の各パッチ累積状態を示すＡＰ１パッチ累積状態名が設定され、続いて、ＡＰ１の状態がＡＰ１パッチ累積状態名が示すパッチ累積状態である場合に動作に影響が与えられる各ＡＰの各パッチ累積状態名（ＡＰ１干渉確認ＡＰｘパッチ累積状態名：ｘはＡＰ番号に対応）が設定される各フィールドが設けられている。例えば、ＡＰ１の状態がＡＰ１パッチ累積状態名１が示すパッチ累積状態である場合にＡＰ２の動作に影響が与えられるときには、ＡＰ１干渉状況テーブルにＡＰ１干渉確認ＡＰ２パッチ累積状態名１が存在することになる。
【００４３】
ＡＰ１干渉状況テーブルには、複数種類のＡＰ１パッチ累積状態（バージョン）に対応するそれぞれのレコードがあり、それぞれにおいて、ＡＰ１パッチ累積状態名、および他のＡＰの各パッチ累積状態名が設定されている。また、ＡＰ２干渉確認テーブルからＡＰｉ干渉確認テーブルの構成も、ＡＰ１干渉確認テーブルの構成と同じである。なお、「動作に影響が与えられる」とは、本来の機能を発揮できなくなることや、全く動作しなくなることを意味する。
【００４４】
例えば、図１３は、ＡＰｉのパッチプログラムによって影響を受ける他のＡＰのパッチ累積状態名が設定されたＡＰｉ干渉状況テーブルのレコード構成を示す説明図である。ＡＰｉ干渉状況テーブルは、ＡＰｉの各パッチ累積状態を示すＡＰｉパッチ累積状態名、およびＡＰｉの状態がＡＰｉパッチ累積状態名が示すパッチ累積状態である場合に動作に影響が与えられる各ＡＰの各パッチ累積状態名（ＡＰｉ干渉確認ＡＰｘパッチ累積状態名：ｘはＡＰ番号に対応）の各フィールドによって構成されている。
【００４５】
次に、依存関係ＤＢ５５０について図面を参照して説明する。図１４は、依存関係ＤＢ５５０の構成を示す説明図である。依存関係ＤＢ５５０は、ＯＳ１からＯＳｍの各ＯＳのそれぞれおよびＡＰ１からＡＰｉの各ＡＰのそれぞれのパッチプログラムの依存関係を示す各依存関係テーブルによって構成されている。
【００４６】
各依存関係テーブルについて説明する。図１５は、ＯＳ１のパッチプログラムの依存関係を示すＯＳ１依存関係テーブルのレコード構成を示す説明図である。ＯＳ１依存関係テーブルは、最新のＯＳ１のパッチ累積状態（バージョン）を示すＯＳ１パッチ累積状態名が設定され、続いて、ＯＳ１適用パッチプログラム名１（図４参照）というパッチプログラムの依存関係を示すＯＳ１適用パッチプログラム名１依存関係から、ＯＳ１適用パッチプログラム名ｓというパッチプログラムの依存関係を示すＯＳ１適用パッチプログラム名ｓ依存関係が設定される各フィールドが設けられている。ＯＳ１依存関係テーブルにおけるＯＳ１適用パッチプログラム名１依存関係からＯＳ１適用プログラムパッチプログラム名ｓ依存関係の各フィールドの順番は、図４に示すＯＳ１パッチ累積履歴テーブル内のＯＳ１適用パッチプログラム名１からＯＳ１適用パッチプログラム名ｓの各フィールドの順番と同じである。ＯＳ２依存関係テーブルからＯＳｍ依存関係テーブルの構成は、ＯＳ１依存関係テーブルの構成と同じである。
【００４７】
例えば、図１６は、ＯＳｍのパッチプログラムの依存関係を示すＯＳｍ依存関係テーブルのレコード構成を示す説明図である。ＯＳｍ依存関係テーブルは、最新のＯＳｍのパッチ累積状態を示すＯＳｍパッチ累積状態名が設定され、続いて、ＯＳｍ適用パッチプログラム名１（図５参照）というパッチプログラムの依存関係を示すＯＳｍ適用パッチプログラム名１依存関係から、適用パッチプログラム名ｔというパッチプログラムの依存関係を示すＯＳｍ適用パッチプログラム名ｔ依存関係が設定される各フィールドが設けられている。ＯＳｍ依存関係テーブルにおけるＯＳｍ適用パッチプログラム名１依存関係からＯＳｍ適用パッチプログラム名ｔ依存関係の各フィールドの順番は、図５に示すＯＳｍパッチ累積履歴テーブル内のＯＳｍ適用パッチプログラム名１からＯＳｍ適用パッチプログラム名ｔの各フィールドの順番と同じである。
【００４８】
なお、図１５および図１６には、ＯＳ１〜ＯＳｍのそれぞれの依存関係テーブルにおいて、最新のＯＳのパッチ累積状態（バージョン）における各パッチプログラムの依存関係のみが示されているが、各ＯＳについて、複数のパッチ累積状態（バージョン）のそれぞれに対応して各パッチプログラムの依存関係が設定されている。従って、ＯＳ１〜ＯＳｍにおけるパッチ累積状態に応じたそれぞれの依存関係テーブルにおいて、各フィールドの順番は、対応するパッチ累積状態に応じたパッチ累積履歴テーブル（図４および図５参照）における各フィールドの順番と同じである。
【００４９】
図１７は、ＡＰ１のパッチプログラムの依存関係を示すＡＰ１依存関係テーブルのレコード構成を示す説明図である。ＡＰ１依存関係テーブルには、ＡＰ１のパッチ累積状態を示すＡＰ１パッチ累積状態名が設定され、続いて、ＡＰ１適用パッチプログラム名１（図６参照）というパッチプログラムの依存関係を示すＡＰ１適用パッチプログラム名１依存関係から、ＡＰ１適用パッチプログラム名ｕというパッチプログラムの依存関係を示すＡＰ１適用プログラムパッチプログラム名ｕ依存関係が設定される各フィールドが設けられている。ＡＰ１依存関係テーブルにおけるＡＰ１適用パッチプログラム名１依存関係からＡＰ１適用パッチプログラム名ｕ依存関係の各フィールドの順番は、図６に示すＡＰ１パッチ累積履歴テーブル内のＡＰ１適用パッチプログラム名１からＡＰ１適用パッチプログラム名ｕの順番と同じである。ＡＰ２依存関係テーブルからＡＰｉ依存関係テーブルの構成は、ＡＰ１依存関係テーブルの構成と同じである。
【００５０】
例えば、図１８は、ＡＰｉのパッチプログラムの依存関係を示すＡＰｉ依存関係テーブルのレコード構成を示す説明図である。ＡＰｉ依存関係テーブルは、ＡＰｉのパッチ累積状態を示すＡＰｉパッチ累積状態名が設定され、続いて、ＡＰｉ適用パッチプログラム名１というパッチプログラムの依存関係を示すＡＰｉ適用パッチプログラム名１依存関係から、ＡＰｉ適用パッチプログラム名ｖというパッチプログラムの依存関係を示すＡＰｉ適用パッチプログラム名ｖ依存関係の各フィールドによって構成されている。ＡＰｉ依存関係テーブルにおけるＡＰｉ適用パッチプログラム名１依存関係からＡＰｉ適用パッチプログラム名ｖ依存関係の各フィールドの順番は、図７に示すＡＰｉパッチ累積履歴テーブル内のＡＰｉ適用パッチプログラム名１からＡＰｉ適用パッチプログラム名ｖの各フィールドの順番と同じである。
【００５１】
なお、図１７および図１８には、ＡＰ１〜ＡＰｉのそれぞれの依存関係テーブルにおいて、最新のＯＳのパッチ累積状態（バージョン）における各パッチプログラムの依存関係のみが示されているが、各ＡＰについて、複数のパッチ累積状態（バージョン）のそれぞれに対応して各パッチプログラムの依存関係が設定されている。従って、ＡＰ１〜ＡＰｉにおけるパッチ累積状態に応じたそれぞれの依存関係テーブルにおいて、各フィールドの順番は、対応するパッチ累積状態に応じたパッチ累積履歴テーブル（図６および図７参照）における各フィールドの順番と同じである。
【００５２】
次に、各パッチプログラムの依存関係について説明する。図１９は、各ＯＳおよび各ＡＰのパッチプログラムの依存関係の分類の一例を示す説明図である。各ＯＳおよび各ＡＰのパッチプログラムの依存関係は、例えば、図１９には、「他のパッチプログラムに影響せずに、パッチプログラムを適用することができる」という依存関係Ａと、「他のパッチプログラムを完全に上書きする」という依存関係Ｂとが例示されている。なお、依存関係Ａと依存関係Ｂとは排他的な関係である。
【００５３】
図２０は、パッチプログラムの依存関係が依存関係Ａであった場合の各依存関係テーブルにおけるフィールドの内容を示す説明図である。パッチプログラムが「他のパッチプログラムに影響せずに、パッチプログラムを適用することができる」という性格のプログラムである場合には、依存関係テーブルの該当フィールドに「Ａ」と設定される。
【００５４】
図２１は、パッチプログラムの依存関係が依存関係Ｂであった場合の各依存関係テーブルを構成するフィールドの内容を示す説明図である。パッチプログラムが「他のパッチプログラムを完全に上書きする」という性格のプログラムである場合には、依存関係テーブルの該当フィールドに、「Ｂ」が設定されるとともに上書きされるパッチプログラムのパッチプログラム名が設定される。
【００５５】
サーバ４００には、以上に説明した各データベースに設定されているデータを用いて、クライアント端末１００からパッチ累積状況情報を受信すると、受信したパッチ累積状況情報にもとづいて、クライアント端末１００に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定し、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認する処理を実行し、さらに、特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略する処理を制御部（ＣＰＵ）に実行させるプログラムが搭載されている。また、クライアント端末１００に搭載されているＯＳおよびアプリケーションソフトウェアを、確認されたアプリケーションソフトウェアの版および最新のＯＳの版に更新するための各パッチプログラムをクライアント端末１００に送信する処理を制御部に実行させるプログラムが搭載されている。さらに、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼすと判定すると、クライアント端末１００にパッチプログラムを適用しないアプリケーションソフトウェアの選択を要求するメッセージを送信する処理を制御部に実行させるプログラムが搭載されている。
【００５６】
そのようなプログラムと制御部とによって、パッチ累積状況情報を受信する受信手段と、受信したパッチ累積状況情報にもとづいて、クライアント端末１００に適用すべき最新のＯＳの版およびその版での動作確認がとれているアプリケーションソフトウェアの版を特定し、さらに、特定したそれぞれのアプリケーションソフトウェアの版による動作が他のアプリケーションソフトウェアの動作に影響を及ぼさないことを確認するパッチプログラム管理手段と、特定したそれぞれのアプリケーションソフトウェアおよび最新のＯＳにおける複数のパッチプログラムのそれぞれについて、他のパッチプログラムに対する依存関係を調べ、不要なパッチプログラムの端末装置への送信を省略するパッチプログラム依存関係判定手段と、クライアント端末１００に搭載されているＯＳおよびアプリケーションソフトウェアを、パッチプログラム管理手段が確認したアプリケーションソフトウェアの版および最新のＯＳの版に更新するための各パッチプログラムを端末装置に送信するパッチプログラム送信手段とが実現されている。
【００５７】
次に、本発明の実施の形態の動作を図面を参照して説明する。まず、サーバ４００の動作について説明する。図２２は、本発明の実施の形態のサーバ４００の動作を説明するフローチャートである。
【００５８】
サーバ４００は、クライアント端末１００から通信ネットワーク３００を介してパッチ累積状況情報を受信すると、その情報から、クライアント端末１００が搭載しているＯＳおよびＡＰの種類とパッチ累積状態（バージョン）とを知る（ステップＳ１０１）。そして、サーバ記憶装置５００が記憶しているパッチ累積履歴ＤＢ５２０を検索して、クライアント端末１００が搭載しているＯＳに適用するべき最新のパッチ累積状態名（バージョン名）を特定する（ステップＳ１０２）。ここで、クライアント端末はＯＳ１を搭載しているとする。以下、サーバ４００が特定したＯＳのパッチ累積状態名は、ＯＳ１パッチ累積状態名１であるとする。
【００５９】
そして、サーバ４００は、特定したＯＳ１パッチ累積状態名にもとづいて動作確認ＤＢ５３０のＯＳ１動作確認テーブルを検索し、クライアント端末１００から受信したパッチ累積状況情報が示す各ＡＰに関するパッチ累積状態名が、ＯＳ１動作確認テーブルのＯＳ１動作確認ＡＰパッチ累積状態名１からＯＳ１動作確認ＡＰパッチ累積状態名ｗのうちのいずれかのフィールドに含まれているか否かを判定する（ステップＳ１０３、Ｓ１０４）。なお、以下、パッチ累積状況情報がＯＳ１動作確認テーブルにおけるどのフィールドにも含まれていないＡＰを、「ＯＳ１動作確認テーブルに存在しないＡＰ」のように表現する。同様に、他のテーブルのフィールドとＡＰとの関係についても、「テーブルに存在する（または存在しない）ＡＰ」のように表現する。
【００６０】
ＯＳ１動作確認テーブルにおけるどのフィールドにも含まれていないＡＰが存在した場合には、そのＡＰの動作が未確認であることを示すメッセージを作成して保持する（ステップＳ１１２）。
【００６１】
サーバ４００は、特定したＯＳ１パッチ累積状態名にもとづいて動作確認ＤＢ５３０のＯＳ１動作確認テーブル（図９参照）を検索し、クライアント端末１００に搭載されている各ＡＰについてのパッチ累積状態名を、ＯＳ１動作確認テーブルから抽出する。そして、抽出した各ＡＰのパッチ累積状態名と、パッチ累履歴ＤＢ５２０の各ＡＰの最新のパッチ累積状態名（図６における「ＡＰ１パッチ累積状態名１」および図７における「ＡＰｉパッチ累積状態名１」に相当）とが合致するか否かを判定する（ステップＳ１０５，Ｓ１０６）。合致しないＡＰが１つ以上あった場合には、そのＡＰが最新でないことを示すメッセージ、すなわちそのＡＰを最新版にできないことを示すメッセージを作成して保持する（ステップＳ１１３）。
【００６２】
次に、サーバ４００は、干渉状況ＤＢ５４０を検索して、クライアント端末１００に搭載されている各ＡＰのパッチ累積状態（バージョン）に対応するパッチ累積状態名（バージョン名）であって、ステップＳ１０２で特定した最新のＯＳのパッチ累積状態名（この例ではＯＳ１パッチ累積状態名）に対応する動作確認テーブル（この例ではＯＳ１動作確認テーブル）に存在したパッチ累積状態名（ステップＳ１０５で抽出したパッチ累積状態名）の組み合わせが、ＡＰ１干渉状況テーブルからＡＰｉ干渉状況テーブルに存在するか否か判定する（ステップＳ１０７，Ｓ１０８）。ここで、クライアント端末１００に搭載されている各ＡＰのうち、最新のＯＳのパッチ累積状態名に対応する動作確認テーブルに存在しないＡＰ、すなわちステップＳ１１２で動作が未確認であることが記憶されているＡＰについては、ステップＳ１０１でクライアント端末１００から受信した情報に含まれるパッチ累積状態名を対象にして判定を行う。
【００６３】
例えば、ＡＰ１の最新のＯＳ１動作確認ＡＰパッチ累積状態名がＯＳ１動作確認ＡＰ１パッチ累積状態名１であって、ＡＰ２の最新のＯＳ１動作確認ＡＰパッチ累積状態名がＯＳ１動作確認ＡＰ２パッチ累積状態名５であった場合、ＡＰ１干渉状況テーブルにＡＰ２パッチ累積状態名５と合致するフィールドが存在していると、サーバ４００は、ＡＰ１とＡＰ２との組み合わせが存在すると判定する。
【００６４】
ステップＳ１０８で組み合わせがあると判定した場合、サーバ４００は、組み合わせを示す情報（上記の例ではＡＰ１とＡＰ２）と、パッチプログラムを適用しないＡＰの選択を要求するメッセージとをクライアント端末１００に送信して表示させる（ステップＳ１１４）。すなわち、サーバ４００は、ステップＳ１０５の処理で特定したそれぞれのＡＰの版による動作が他のＡＰの動作に影響を及ぼすと判定すると、クライアント端末１００にパッチプログラムを適用しないＡＰの選択を要求するメッセージを送信する。
【００６５】
ユーザが、パッチプログラムを適用しないＡＰを選択し、選択したＡＰを特定する情報をクライアント端末１００が送信し、サーバ４００がその情報を受信すると、サーバ４００は、その情報で示されるＡＰについてはステップＳ１０１でクライアント端末１００から受信した情報に含まれるパッチ累積状態名を使用して、ステップＳ１０７の処理と同様の処理を行う。すなわち、干渉状況ＤＢ５４０を検索して、ステップＳ１０５で抽出したパッチ累積状態名（ただし、クライアント端末１００から情報を受信した場合には、その情報に含まれるパッチ累積状態名）の組み合わせが、ＡＰ１干渉状況テーブルからＡＰｉ干渉状況テーブルに存在するか否か判定する（ステップＳ１１５）。ここでも、クライアント端末１００に搭載されている各ＡＰのうち、最新のＯＳのパッチ累積状態名に対応する動作確認テーブルに存在しないＡＰ、すなわちステップＳ１１２で動作が未確認であることが記憶されているＡＰについては、ステップＳ１０１でクライアント端末１００から受信した情報に含まれるパッチ累積状態名を対象にして判定を行う。
【００６６】
具体的には、例えば、ユーザが、パッチプログラムを適用しないＡＰとしてＡＰ２を選択した場合には、ＡＰ２についてはステップＳ１０１で受信したパッチ累積状況情報に含まれるパッチ累積状態名を用いて、ステップＳ１０７と同様の処理を行う。
【００６７】
ステップＳ１１５で組み合わせがあると判定した場合、ステップＳ１１４に戻る（ステップＳ１１６）
【００６８】
ステップＳ１０８またはステップＳ１１６で組み合わせがないと判定した場合、サーバ４００は、クライアント端末１００のＯＳと各ＡＰとを更新するために、上記の処理によって決まる最新のＯＳのパッチ累積状態名と各ＡＰのパッチ累積状態名とにもとづいて、適用するパッチプログラムの候補のパッチプログラム名を特定する（ステップＳ１０９）。
【００６９】
具体的には、サーバ４００は、パッチ累積履歴ＤＢ５２０のＯＳ１パッチ累積履歴テーブル（図４参照）からパッチ累積状態名を収集する。すなわち、クライアント端末１００が搭載している現状のＯＳについてのパッチ累積状態名の次のレコードから、ステップＳ１０２で特定された最新のＯＳのパッチ累積状態名のレコードまでの各レコードに設定されている全てのＯＳ１適用パッチプログラム名を収集する。「次のレコード」とは１つ新しい版のパッチ累積状態名のレコードである。また、パッチ累積履歴ＤＢ５２０の各ＡＰパッチ累積履歴テーブル（図６，図７参照）からパッチ累積状態名を収集する。すなわち、クライアント端末１００が搭載している現状の各ＡＰについてのパッチ累積状態名の次のレコードから、ステップＳ１０５で抽出された各ＡＰ（ステップＳ１０５で抽出できなかったＡＰについては現状のもの、また、ステップＳ１０８，Ｓ１１６で干渉状況にあるとされたＡＰについてはステップＳ１１５で指定されたもの）のパッチ累積状態名のレコードまでの各レコードに設定されている全ての適用パッチプログラム名を収集する。なお、ＯＳまたは各ＡＰのパッチ累積履歴テーブルの最上位のレコードのパッチ累積状態名すなわち最新のパッチ累積状態名が、クライアント端末１００が搭載している現状のＯＳまたはＡＰのパッチ累積状態名と同じ場合は、パッチプログラムを適用する必要がないので、そのパッチプログラム名を特定しない。
【００７０】
次に、サーバ４００は、依存関係ＤＢ５５０のパッチプログラムを適用するＯＳおよび各ＡＰの依存関係テーブルを参照して、ステップＳ１０９の処理で特定したＯＳおよび各ＡＰのパッチプログラムの依存関係を調べるとともに、各パッチプログラムの適用順を決定する（ステップＳ１１０）。
【００７１】
具体的には、パッチ累積履歴ＤＢ５２０の、パッチプログラムを適用するＯＳのパッチ累積履歴テーブルを参照して、ステップＳ１０９で特定したパッチプログラム名を、ＯＳパッチ累積状態名の古いものから新しいものへの順（バージョンの低いものから高いものへの順）に、かつ、１つのレコード内では適用パッチプログラム名の適用順に並べる。
【００７２】
そして、サーバ４００は、パッチプログラムを適用するＯＳの依存関係テーブルを参照して、適用するパッチプログラムの依存関係を調べる。そして、並べた順番にパッチプログラムの依存関係をチェックしていく。具体的には、パッチプログラムの依存関係テーブルのフィールドが「Ａ」（他のパッチに影響せず適用できる）であれば、そのパッチプログラム名はそのまま残しておき、パッチプログラムの依存関係テーブルのフィールドが「Ｂ」（他の特定のパッチプログラムを完全に上書きする）であれば、そのパッチプログラムより古い順番であって、依存関係フィールドに示される上書きされるパッチプログラムが存在すれば、そのパッチプログラムのパッチプログラム名を削除する。以上の処理をパッチプログラムを適用する順番に最後まで行うと、削除されずに残されたパッチプログラム名のパッチプログラムは、適用するべき必要最小限のパッチプログラムであり、クライアント端末１００は、並べられたパッチプログラム名の順番にパッチプログラムを適用すればよい。
【００７３】
そして、サーバ４００は、各ＡＰについても、ＯＳの場合と同様の処理を行う。
【００７４】
サーバ４００は、決定したパッチプログラム名のパッチプログラムを、ＯＳまたはＡＰ名とそれぞれ対応付けて、パッチプログラムを適用する順番を特定する情報であるパッチ適用順番情報とともに、通信ネットワーク３００を介してクライアント端末１００に送信する。なお、サーバ４００は、ステップＳ１１２およびステップＳ１１３でメッセージを生成した場合は、生成したメッセージをパッチプログラムとともに通信ネットワーク３００を介してクライアント端末１００に送信する（ステップＳ１１１）。
【００７５】
次に、クライアント端末１００の動作について図面を参照して説明する。図２３は、本発明の実施の形態のクライアント端末１００の動作を説明するフローチャートである。
【００７６】
クライアント端末１００は、サーバ４００に通信ネットワーク３００を介してパッチ累積状況情報を送信する（ステップＳ２０１）。そして、サーバ４００から、パッチプログラムあるいはメッセージの受信を待つ（ステップＳ２０２、Ｓ２０３、Ｓ２０４）。
【００７７】
クライアント端末１００は、サーバ４００の動作におけるステップ１１４で生成したメッセージを受信すると、受信したメッセージをクライアント端末１００の表示部（図示せず）に表示する（ステップＳ２０５）。
【００７８】
クライアント端末１００は、受信したメッセージにもとづいて、パッチプログラムを適用しないＡＰをユーザに選択させ、選択したＡＰを特定する情報をクライアント端末１００の入力部（図示せず）に入力させる（ステップＳ２０６）。
【００７９】
クライアント端末１００は、ユーザが選択した、パッチプログラムを適用しないＡＰを特定する情報を通信ネットワーク３００を介してサーバ４００に送信する（ステップＳ２０７）。
【００８０】
クライアント端末１００は、サーバ４００からパッチプログラムを受信すると、パッチプログラムとともに受信したメッセージが存在した場合、メッセージをクライアント端末１００の表示部に表示する（ステップＳ２０８）。
【００８１】
クライアント端末１００は、パッチプログラムを適用するＯＳおよび各ＡＰの複製を生成する（ステップＳ２０９）。そして、クライアント端末１００は、生成したＯＳおよび各ＡＰの複製を別名でクライアント記憶装置２００に記憶させる（ステップＳ２１０）。
【００８２】
クライアント端末１００は、クライアント記憶装置２００に記憶させたＯＳおよび各ＡＰに、パッチ適用順番情報が示す順番で、各パッチプログラムを適用する（ステップＳ２１１）。ユーザはこのとき、ＯＳおよび各ＡＰの動作が正常であるか否かを確認してもよい。
【００８３】
クライアント端末１００は、パッチプログラムを適用したＯＳおよび各ＡＰの複製を、元の名前に変更する（ステップＳ２１２）。
【００８４】
クライアント端末１００は、クライアント記憶装置２００が記憶しているパッチ累積状況情報の内容を、パッチプログラムを適用した内容に変更する（ステップＳ２１４）。
【００８５】
クライアント端末１００は、クライアント端末１００自身を再起動する（ステップＳ２１５）。
【００８６】
以上、述べたように、本発明の実施の形態によれば、ＯＳにパッチプログラムを適用した場合の各ＡＰの動作確認の状況と、ＯＳおよび各ＡＰにパッチプログラムを適用した場合の他のＡＰの動作に与える影響と、ＯＳおよび各ＡＰのパッチプログラム間の依存関係とを考慮して、一回の作業で、ＯＳおよび各ＡＰに必要最小限の数のパッチプログラムを適用することができる。
【産業上の利用可能性】
【００８７】
本発明は、インターネット等の通信ネットワークに接続可能なパーソナルコンピュータ等の端末装置に搭載されているソフトウェアを最新の状態にする応用に利用することができる。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施の形態の一構成例を示すブロック図である。
【図２】パッチ累積状況情報の構成を示す説明図である。
【図３】パッチ累積履歴ＤＢの構成を示す説明図である。
【図４】ＯＳ１パッチ累積履歴テーブルのレコード構成を示す説明図である。
【図５】ＯＳｍパッチ累積履歴テーブルのレコード構成を示す説明図である。
【図６】ＡＰ１パッチ累積履歴テーブルのレコード構成を示す説明図である。
【図７】ＡＰｉパッチ累積履歴テーブルのレコード構成を示す説明図である。
【図８】動作確認ＤＢの構成を示す説明図である。
【図９】ＯＳ１動作確認テーブルのレコード構成を示す説明図である。
【図１０】ＯＳｍ動作確認テーブルのレコード構成を示す説明図である。
【図１１】干渉状況ＤＢの構成を示す説明図である。
【図１２】ＡＰ１干渉状況テーブルのレコード構成を示す説明図である。
【図１３】ＡＰｉ干渉状況テーブルのレコード構成を示す説明図である。
【図１４】依存関係ＤＢの構成を示す説明図である。
【図１５】ＯＳ１依存関係テーブルのレコード構成を示す説明図である。
【図１６】ＯＳｍ依存関係テーブルのレコード構成を示す説明図である。
【図１７】ＡＰ１依存関係テーブルのレコード構成を示す説明図である。
【図１８】ＡＰｉ依存関係テーブルのレコード構成を示す説明図である。
【図１９】各ＯＳおよび各ＡＰにパッチプログラムを適用した場合の依存関係の分類の一例を示す説明図である。
【図２０】依存関係の分類が依存関係Ａであった場合の、各依存関係テーブルを構成するフィールドの内容を示す説明図である。
【図２１】依存関係の分類が依存関係Ｂであった場合の、各依存関係テーブルを構成するフィールドの内容を示す説明図である。
【図２２】本発明の実施の形態のサーバの動作を説明するフローチャートである。
【図２３】本発明の実施の形態のクライアント端末の動作を説明するフローチャートである。
【符号の説明】
【００８９】
１００  クライアント端末
２００  クライアント記憶装置
３００  通信ネットワーク
４００  サーバ
５００  サーバ記憶装置
５１０  パッチプログラム格納領域
５２０  パッチ累積履歴データベース
５３０  動作確認データベース
５４０  干渉状況データベース
５５０  依存関係データベース
【図１】
2005222453.tif 000003
【図２】
2005222453.tif 000004
【図３】
2005222453.tif 000005
【図４】
2005222453.tif 000006
【図５】
2005222453.tif 000007
【図６】
2005222453.tif 000008
【図７】
2005222453.tif 000009
【図８】
2005222453.tif 000010
【図９】
2005222453.tif 000011
【図１０】
2005222453.tif 000012
【図１１】
2005222453.tif 000013
【図１２】
2005222453.tif 000014
【図１３】
2005222453.tif 000015
【図１４】
2005222453.tif 000016
【図１５】
2005222453.tif 000017
【図１６】
2005222453.tif 000018
【図１７】
2005222453.tif 000019
【図１８】
2005222453.tif 000020
【図１９】
2005222453.tif 000021
【図２０】
2005222453.tif 000022
【図２１】
2005222453.tif 000023
【図２２】
2005222453.tif 000024
【図２３】
2005222453.tif 000025