(57)【要約】      （修正有）【課題】相互に関連するプロセスを適切に判断して、パッチを適用するプロセスを特定可能とする。【解決手段】関係度判定部１０６が、関係度再評価情報１１２のエントリ毎に、そのエントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の各関係度合計値を所定の閾値と比較することにより、そのエントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、その関連プロセスを示す情報がパッチ/プロセス関係表１１０のエントリ情報と共に保存されたパッチ/プロセス関連情報１１４を生成する。この情報に基づいて、パッチ構成ファイル毎に、パッチ構成ファイルが属するプロセスとそのプロセスに関連する関連プロセスが判別されながらパッチが実行される。【選択図】図１
2011060160.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
【請求項２】
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成する重み再評価部と、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
【請求項３】
前記情報収集ハンドラ部は、
オペレーティングシステムのシステムコールにフックを設定するフックセット部と、
前記フックセット部が設定したフックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
を含むことを特徴とする請求項１又は２に記載のソフトウェア更新装置。
【請求項４】
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項１乃至３に記載のソフトウェア更新装置。
【請求項５】
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
【請求項６】
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項５に記載のソフトウェア更新方法。
【請求項７】
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
【請求項８】
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、複数のプロセスで構成されるソフトウェア実行システムに対し、パッチを適用してソフトウェアを更新する技術に関する。
【背景技術】
【０００２】
コンピュータシステム上では一般に、オペレーティングシステム及びオペレーティングシステム上で動作するアプリケーションシステムからなる様々なソフトウェアが動作している。そして、コンピュータシステム上では、各ソフトウェアが実行されることにより生成される複数のプロセスが、並列に実行されている。
【０００３】
コンピュータシステム上で実行されるこのようなソフトウェアにおいては、バグの修正や機能改良等を目的として、しばしばソフトウェアの更新が行われる。ソフトウェアの更新は一般的に、現在インストールされているソフトウェアに対して、パッチを投入することによって実施される。パッチの投入においては、更新対象となるソフトウェアの提供元から提供されるパッチプログラムファイルが、更新対象となるソフトウェアがインストールされているコンピュータシステム上で実行される。この結果、コンピュータシステム上の更新対象となるソフトウェアを構成するファイル群が、新しい版のファイル群に書き換えられる。
【０００４】
ここで、近年のコンピュータシステムでは、サーバコンピュータシステムはもちろん、パーソナルコンピュータシステムにおいても、ユーザの運用を阻害しないように稼働状態で、実行中のソフトウェアプログラムに対してソフトウェアの更新が行えることが要求される。
【０００５】
また、オペレーティングシステムなどのように、複数のソフトウェアに対して、同時にパッチが投入できることも要求される。
このような要求に対して、次のような第１の従来技術が知られている。即ち、コンピュータシステムにおいて、更新対象となるソフトウェアに対応するプロセスの動作が停止させられた後に、パッチプログラムファイルが実行され、更新対象となるソフトウェアが更新される。
【０００６】
また、次のような第２の従来技術も知られている。即ち、コンピュータシステムにおいて、通常動作する大半のプロセスの動作が停止させられた後に、パッチプログラムファイルが実行され、更新対象となるソフトウェアが更新される。
【０００７】
また、次のような第３の従来技術も知られている。即ち、まず、更新対象となるソフトウェアを構成するファイル群のコピーが作成される。次に、それらのコピーファイル群を更新対象としてパッチプログラムファイルが実行され、コピーファイル群が書き換えられる。その後、コンピュータシステムが再起動されて、更新対象となるソフトウェアを構成する古いファイル群がコピーファイル群に置き換えられる。この結果、更新対象となるソフトウェアを構成するファイル群の内容が、新しい内容に書き換えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−２９７３９０号公報
【特許文献２】特開２００３−１３１９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、前述した第１の従来技術では、パッチ投入者がパッチを投入する際に、複数の実行中のプロセスを停止する必要があるが、どのプロセスを停止すべきかわからない場合が多い。結果として、停止が必要なプロセスが停止されずにパッチが投入されてしまい、結果としてプログラム間の不整合が発生し、プロセスが正常に動作しない場合が発生し得るという問題点を有していた。
【００１０】
また、必要最小限のプロセスを停止した上で同時に適用可能な複数のパッチが存在する場合でも、パッチ投入者は、どのパッチを同時に適用可能かは容易にわからないため、パッチを１つずつ順番に適用していた。結果としてパッチの更新時間が長くなり、サービスの停止時間が長くなってしまうという問題点を有していた。
【００１１】
また、パッチの投入時にプログラム間の不整合を発生させないようにするため、前述した第２の従来技術のように、パッチ投入者がコンピュータシステム上の全てのプロセスを停止してからパッチの投入作業を実施する場合には、次のような問題がある。即ち、パッチに関係の無いソフトウェアのプロセスまで停止されるため、結果としてコンピュータシステムが提供しているサービスの停止時間が長くなってしまうという問題点を有していた。
【００１２】
更に、前述した第３の従来技術では、パッチ投入後にコンピュータシステムを再起動する必要があるため、システムサービスを停止させる必要があるという問題点を有していた。
【００１３】
そこで、本発明の１つの側面では、どのプロセス同士が相互に関係しているかわからないようなコンピュータシステムのソフトウェア実行環境であっても、相互に関連するプロセスを適切に判断して、パッチを適用するプロセスを特定可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
以下の構成を有する。
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
【発明の効果】
【００１５】
パッチ投入時に該当パッチとの関連性が高いプロセスを自動的に判定できるため、パッチ投入者がパッチを投入する時、該当ソフトウェアシステム内部に精通していなくても停止すべきプロセスを判断でき、その結果、プログラム間の不整合の発生を抑止することが可能となる。
【００１６】
パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、影響のあるプロセスだけを停止することができるようになり、その結果、サービスの停止時間を短くすることが可能となる。
【００１７】
パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、必要最小限のプロセス停止をおこなった際でも同時に適用可能なパッチを把握することができ、その結果、パッチの更新時間が短くでき、サービスの停止時間も短くすることが可能となる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態の構成図である。
【図２】本実施形態の動作フローチャート（その１）である。
【図３】本実施形態の動作フローチャート（その２）である。
【図４】本実施形態の動作フローチャート（その３）である。
【図５】本実施形態の動作フローチャート（その４）である。
【図６】フックセット部１０１と情報収集ハンドラ部１０２の説明図（その１）である。
【図７】フックセット部１０１と情報収集ハンドラ部１０２の説明図（その２）である。
【図８】プロセス間通信回数の例を示す図である。
【図９】共有メモリアクセス回数の例を示す図である。
【図１０】共有メソッド呼出し回数の例を示す図である。
【図１１】共有ファイルアクセス回数の例を示す図である。
【図１２】プロセス間通信の関係度の算出例を示す図である。
【図１３】共有メモリアクセスの関係度の算出例を示す図である。
【図１４】共有メソッド呼出しの関係度の算出例を示す図である。
【図１５】共有ファイルアクセスの関係度の算出例を示す図である。
【図１６】プロセスＡに対応する関係度算出情報１０８の例を示す図である。
【図１７】パッチ構成ファイルの例を示す図である。
【図１８】パッチ/プロセス関係表１１０の例を示す図である。
【図１９】重み情報１１１の例を示す図である。
【図２０】パッチ/プロセス関係表１１０から抽出された情報の例を示す図である。
【図２１】パッチ１の構成ファイルＡ１に対応する重み情報１１１の例を示す図である。
【図２２】パッチ１の構成ファイルＡ１が属するプロセスＡに対して獲得された関係度算出情報１０８での関連プロセス毎の合計値の算出例を示す図である。
【図２３】パッチ１の構成ファイルＡ１が属するプロセスＡに対して獲得された関係度再評価情報１１２の例を示す図である。
【図２４】各パッチの各構成ファイルが属する各プロセスに対して最終的に獲得された関係度再評価情報１１２の例を示す図である。
【図２５】関連度閾値情報１１３である。
【図２６】パッチ１の構成ファイルＡ１に対して得られるパッチ/プロセス関連情報１１４の例を示す図である。
【図２７】各パッチの各構成ファイルに対して最終的に得られるパッチ/プロセス関連情報１１４の例を示す図である。
【図２８】パッチ１に対応するパッチ/プロセス関連情報１１４の例を示す図である。
【図２９】パッチとプロセスの関連の例を示す図である。
【図３０】実施形態を実現できるハードウェアのシステム構成例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、ソフトウェア更新装置の一実施形態の構成図である。この装置は、フックセット部１０１、情報収集ハンドラ部１０２、関係度算出部１０３、パッチ/プロセス関係判定部１０４、重み再評価部１０５、関係度判定部１０６の各機能を実現するプログラムを実行するコンピュータシステムとして実現される。
【００２０】
以下、これらの各部の動作について、図２〜図５の動作フローチャート、及び図６〜図３０の説明図に基づいて説明する。
図１のフックセット部１０１は、ＯＳ（オペレーティングシステム）のシステムコールにフックを設定する（図２のステップＳ２０１）。
【００２１】
図１の情報収集ハンドラ部１０２は、フックセット部１０１が設定したフックを使用してＯＳから、プロセス間の関係度を類推するために必要な情報を収集する（図２のステップＳ２０２）。具体的には、プロセス間通信回数、共有メモリアクセス回数、共有メソッド呼出し回数、及び共有ファイルアクセス回数が収集される。情報収集ハンドラ部１０２は、収集した情報を、アクセス情報１０７として保存する（以上、図２のステップＳ２０２）。
【００２２】
例えば図６に示されるように、通常、各プロセスＡ〜Ｄは、各システムコール＃１〜＃４のＡＰＩアドレス１〜４をコールすることにより、それぞれの処理を実行している。図１の情報収集ハンドラ部１０２は、例えば図７に示されるように、各プロセスＡ〜Ｄと各システムコール＃１〜＃４の間に挿入されるソフトウェアとして実現される。このとき、例えば、以下の４つの情報収集ハンドラが定義される。
・情報収集ハンドラ＃１：プロセス間通信回数を獲得した後、
システムコール＃１を実施するハンドラ
・情報収集ハンドラ＃２：共有メモリアクセス回数を獲得した後、
システムコール＃２を実施するハンドラ
・情報収集ハンドラ＃３：共有メソッド呼出し回数を獲得した後、
システムコール＃３を実施するハンドラ
・情報収集ハンドラ＃４：共有ファイルアクセス回数を獲得した後、
システムコール＃４を実施するハンドラ
【００２３】
図７に示されるように、前述した図２のステップＳ２０１の処理により、フックセット部１０１は、例えば、各プロセスＡ〜Ｄが各システムコール＃１〜＃４を呼ぶときのＡＰＩアドレス１〜４を変更し、それぞれの情報収集ハンドラ＃１〜＃４のＡＰＩアドレスａ，ｂ，ｃ，ｄを呼び出すように変更する。この結果、各プロセスＡ〜Ｄよりコールされた情報収集ハンドラ部１０２内の各情報収集ハンドラ＃１〜＃４が、前述した図２のステップＳ２０２の処理により、それぞれ、プロセス間通信回数、共有メモリアクセス回数、共有メソッド呼出し回数、共有ファイルアクセス回数を、それらをアクセス情報１０７として収集する。
【００２４】
図８は、アクセス情報１０７として得られるプロセス間通信回数の例を示す図である。図８から理解されるように、任意の２つのプロセスの組合せのマトリクス毎にプロセス間通信回数が得られる。
【００２５】
図９は、アクセス情報１０７として得られる共有メモリアクセス回数の例を示す図である。プロセスＡ〜Ｄのそれぞれ毎に、それぞれメモリ領域を示す予め設定された共有メモリ１〜３に対するアクセス回数が得られる。
【００２６】
図１０は、共有メソッド呼出し回数の例を示す図である。プロセスＡ〜Ｄのそれぞれ毎に、各プロセスが共有してアクセスするメソッド（関数ライブラリ等）に対するアクセス回数が得られる。
【００２７】
図１１は、共有ファイルアクセス回数の例を示す図である。プロセスＡ〜Ｄのそれぞれ毎に、各プロセスが共有してアクセスするファイルに対するアクセス回数が得られる。
図１の関係度算出部１０３は、情報収集ハンドラ部１０２が収集したアクセス情報１０７に基づいて、プロセスについて、他のプロセスとの関係度を数値化し、関係度算出情報１０８として保存する（図２のステップＳ２０３→Ｓ２０４→Ｓ２０３の繰返し処理）。
【００２８】
プロセス間通信に関するプロセス間の関係度の具体的な算出方法について以下に説明する。例えば図１２（ａ）（＝図８）に示されるアクセス情報１０７のプロセス間通信回数において、プロセスＡと通信しているプロセスの中で、最も多いアクセス回数を１として、プロセスＡと他プロセスとの通信回数が割合に換算される。換算された結果は、関係度算出情報１０８として保存される。図１２（ａ）の例の場合、プロセスＡと通信しているプロセスで最も多いアクセス回数は１０回であるので、１０回の割合を１として、他の各通信回数がそれぞれ各割合に換算される。図１２（ｂ）は、プロセス間通信に関するプロセス間の関係度の算出例を示す図である。
【００２９】
次に、共有メモリアクセスに関するプロセス間の関係度の具体的な算出方法について説明する。例えば図１３（ａ）（＝図９）に示されるアクセス情報１０７の共有メモリアクセス回数において、プロセスＡが共有メモリにアクセスしている回数のうち最大アクセス回数の割合を１として、プロセスＡがそれぞれの共有メモリ１〜３にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報１０８として保存される。図１３（ａ）の例の場合、プロセスＡが共有メモリ１〜３にアクセスする回数のうち最大アクセス回数は１０回なので、１０回の割合を１として、他の各アクセス回数が各割合に換算される。次に、他のプロセスＢ〜Ｄが各共有メモリ１〜３にアクセスしている回数（図１３（ａ））に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有メモリに関するプロセスＡと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報１０８として保存される。図１３（ｂ）は、共有メモリアクセスに関するプロセス間の関係度の算出例を示す図である。
【００３０】
次に、共有メソッド呼出しに関するプロセス間の関係度の具体的な算出方法について説明する。共有メソッド呼出しの関係度算出方法は共有メモリアクセスの場合と同様である。即ち、例えば図１４（ａ）（＝図１０）に示されるアクセス情報１０７の共有メソッド呼出し回数において、プロセスＡが共有メソッドにアクセスしている回数のうち最大アクセス回数の割合を１として、プロセスＡがそれぞれの共有メソッド１〜３にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報１０８として保存される。図１４（ａ）の例の場合、プロセスＡが共有メソッド１〜３にアクセスする回数のうち最大アクセス回数は１０回なので、１０回の割合を１として、他の各アクセス回数が各割合に換算される。次に、他のプロセスＢ〜Ｄが各共有メソッド１〜３にアクセスしている回数（図１４（ａ））に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有メソッドに関するプロセスＡと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報１０８として保存される。図１４（ｂ）は、共有メソッド呼出しに関するプロセス間の関係度の算出例を示す図である。
【００３１】
最後に、共有ファイルアクセスに関するプロセス間の関係度の具体的な算出方法について説明する。共有ファイルアクセスの関係度算出方法も共有メモリアクセスの場合と同様である。即ち、例えば図１５（ａ）（＝図１１）に示されるアクセス情報１０７の共有ファイルアクセス回数において、プロセスＡが共有ファイルにアクセスしている回数のうち最大アクセス回数の割合を１として、プロセスＡがそれぞれの共有ファイル１〜３にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報１０８として保存される。図１５（ａ）の例の場合、プロセスＡが共有ファイル１〜３にアクセスする回数のうち最大アクセス回数は２０回なので、２０回の割合を１として、他の各アクセス回数が各割合に換算される。次に、他のプロセスＢ〜Ｄが各共有ファイル１〜３にアクセスしている回数（図１５（ａ））に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有ファイルに関するプロセスＡと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報１０８として保存される。図１５（ｂ）は、共有ファイルアクセスに関するプロセス間の関係度の算出例を示す図である。
【００３２】
以上の算出方法により、図８〜図１１に示されるアクセス情報１０７の例の場合、図１２〜図１５の算出結果が統合されることにより、プロセスＡと他のプロセスとの関係度を示す関係度算出情報１０８は、図１６に示される如くとなる。
【００３３】
上述のプロセスＡの場合と同様の手法で、図１の関係度算出部１０３は、プロセスＢ〜Ｄのそれぞれと他のプロセスとの関係を示す関係度算出情報１０８を算出する。
図１のパッチ/プロセス関係判定部１０４は、全てのパッチ１０９のそれぞれを展開して、各パッチ１０９を構成しているファイルを獲得する（図３のステップＳ２０５→・・・→Ｓ２０８→Ｓ２０５の繰返し処理）。
【００３４】
図１７は、パッチ１０９を展開して得られるパッチ構成ファイルの例を示す図である。パッチ１０９は、複数のパッチを含むことができる。図１７の例では、パッチ１０９が展開されると、パッチ１はファイルＡ１とＢ１の２つのファイルで構成され、パッチ２はファイルＢ２で構成され、パッチ３はファイルＤ１で構成されていることを示す情報が得られる。
【００３５】
次に、パッチ/プロセス関係判定部１０４は、ＯＳからプロセス情報を獲得し、各パッチ１０９を構成している全てのファイル（パッチ構成ファイル）について、各ファイルがどのプロセスに属するかを判定する。そして、パッチ/プロセス関係判定部１０４は、上述の判定結果を、パッチ/プロセス関係表１１０に保存する（図３のステップＳ２０６→Ｓ２０７→Ｓ２０６の繰返し処理）。図１８は、パッチ/プロセス関係表１１０の例を示す図である。図１８の例の場合、例えばパッチ１のパッチ構成ファイルＡ１に属するプロセスはＡ、パッチ１のパッチ構成ファイルＢ１に属するプロセスはＢであることが検出される。また、パッチ２のパッチ構成ファイルＢ２に属するプロセスはＢ、パッチ３のパッチ構成ファイルＤ１に属するプロセスはＤであることが検出される。
【００３６】
次に、図１の重み再評価部１０５は、まず、重み情報１１１を定義する（図３のステップＳ２０９）。通常、パッチ１０９によるプログラムの修正種別に応じて、プロセス間通信、共有メモリアクセス、共有メソッド呼出し、共有ファイルアクセスなどの要素毎のプロセス間の関係度に対する影響の強さは異なる。そこで、本実施形態では、プロセス間通信、共有メモリアクセス、共有メソッド呼出し、共有ファイルアクセスの４つの観点で、パッチのプログラム修正概要分類毎に、プロセス間の関係度に与える強さが重みとして数値化され、重み情報１１１として定義される。この重み情報１１１は、ユーザにより自由に定義が可能である。
【００３７】
図１９は、重み情報１１１の定義例を示す図である。例えば、パッチ１０９がインタフェース（Ｉ／Ｆ）変更を行う内容である場合、次のような重みが設定される。即ち、前述したアクセス情報１０７のうちプロセス間通信に対する関係度の重みが１０、共有メモリアクセスに対する関係度の重みが３、共有メソッド呼出しに対する関係度の重みが５、共有ファイルアクセスに対する関係度の重みが１と設定される。パッチ１０９が、データ構造変更、内部ロジック変更、内部データ変更、ファイル変更、その他変更のそれぞれの場合である毎に、各アクセス情報１０７に対する関係度の重みが設定される。
【００３８】
次に、重み再評価部１０５は、パッチの修正内容説明文から、各パッチ１０９がどの重み情報１１１を使用するかを決定しておく（図４のステップＳ２０９）。図１９の定義例に対応して、例えば、パッチ１は「Ｉ/Ｆ変更」、パッチ２は「データ構造変更」であるなどと決定される。
【００３９】
次に、重み再評価部１０５は、パッチ/プロセス関係表１１０に定義されているパッチとパッチ構成ファイルの全ての組合せのそれぞれについて、以下の一連の処理を実行する（図４のステップＳ２１０〜Ｓ２１２→Ｓ２１３→Ｓ２１０の繰返し処理）。
【００４０】
即ち、重み再評価部１０５は、パッチ/プロセス関係表１１０に定義されているエントリを１つ獲得する（図４のステップＳ２１０）。例えば、図１８に例示されるパッチ/プロセス関係表１１０から、図２０に例示されるように、先頭のエントリが獲得される。このエントリは、パッチ１とパッチ構成ファイルＡ１の組合せであり、ファイルＡ１がプロセスＡに属することを示している。
【００４１】
次に、重み再評価部１０５は、ステップＳ２０９での処理結果に基づいて、パッチ/プロセス関係表１１０から獲得したエントリのパッチ名に基づいて重み情報１１１を検索して、該当する重み情報を獲得する（図４のステップＳ２１１）。今、ステップＳ２０９により、図２０の例の場合、パッチ１は「Ｉ/Ｆ変更」であると判明しているため、重み情報１１１から「Ｉ/Ｆ変更」が検索される結果、図２１に例示される重み情報１１１が獲得できる。
【００４２】
次に、重み再評価部１０５は、パッチ/プロセス関係表１１０から獲得したエントリに基づいて、そのエントリに含まれるプロセス名に対応する関係度算出情報１０８を獲得する（図４のステップＳ２１２）。例えば、図２０に例示されるエントリからプロセス名としてプロセスＡが認識されることにより、図１６に例示されるプロセスＡに対応する関係度算出情報１０８が獲得される。
【００４３】
そして、重み再評価部１０５は、獲得した重み情報（図２１）と関係度算出情報１０８（図１６）を元に、プロセス間の関係度をアクセス情報１０７毎に再評価して数値化する。重み再評価部１０５は、再評価して数値化したアクセス情報１０７毎の関係度を、対象となるパッチの構成ファイルが属するプロセスと比較される他プロセス毎に合計して合計値を関係度合計値として算出する。そして、重み再評価部１０５は、対象となるパッチの構成ファイルが属するプロセスと比較される他プロセス毎に得られた関係度合計値を、関係度再評価情報１１２として保存する（図４のステップＳ２１３）。
【００４４】
例えば図１６に例示されるプロセスＡに対応する関係度算出情報１０８において、プロセス間通信（図中では「プロセス間」と表示）に対応する列のプロセスＡと各他プロセスＢ、Ｃ、Ｄとの関係度には、図２１に示される「プロセス間の重み」＝１０が乗算される。また、共有メモリ１へのアクセス（図中では「メモリ１」と表示）に対応する列のプロセスＡと各プロセスＢ、Ｃ、Ｄとの関係度には、図２１に示される「メモリの重み」＝３が乗算される。共有メモリ２，３への各アクセス（図中では「メモリ２」「メモリ３」と表示）に対応する列のプロセスＡと各プロセスＢ、Ｃ、Ｄとの関係度にも同じく、図２１に示される「メモリの重み」＝３が乗算される。同様に、共有メソッド１、２、３の各呼出し（図中では「メソッド１」「メソッド２」「メソッド３」と表示）に対応する各列のプロセスＡと各プロセスＢ、Ｃ、Ｄとの関係度には、図２１に示される「メソッドの重み」＝５が乗算される。更に同様に、共有ファイル１、２、３への各アクセス（図中では「ファイル１」「ファイル２」「ファイル３」と表示）に対応する各列のプロセスＡと各プロセスＢ、Ｃ、Ｄとの関係度には、図２１に示される「ファイルの重み」＝１が乗算される。
【００４５】
以上の再評価処理の結果、図１６に例示されるプロセスＡに対応する関係度算出情報１０８から、図２２に例示される情報が得られる。更に、重み再評価部１０５は、図２２の表において、他プロセスＢ、Ｃ、Ｄのそれぞれ（図２２の各行）において、全てのプロセス間通信、共有メモリ１〜３へのアクセス、共有メソッド１〜３の呼出し、共有ファイル１〜３へのアクセスに関するプロセスＡとの関係度の合計値を算出する。この結果、図２２の例では、プロセスＢについては関係度合計値＝８９．３、プロセスＣについては関係度合計値＝１７０．８、プロセスＤについては関係度合計値＝１５が得られる。
【００４６】
以上の処理の結果、重み再評価部１０５は、図２０の例の場合、パッチ１の構成ファイルＡ１が属するプロセスＡと比較される各他プロセスＢ、Ｃ、Ｄの関係度合計値が格納された、図２３に例示されるような関係度再評価情報１１２を得る。
【００４７】
このようにして、図４のステップＳ２１０からＳ２１３までの一連の処理がパッチ/プロセス関係表１１０に登録されている各エントリ（図１８参照）に対して繰り返し実行される。この結果、図２４に例示されるような関係度再評価情報１１２が最終的に得られる。なお、図２４では、一部の関係度合計値は省略されている（図中「（省略）」と記載されている）。
【００４８】
図１の関係度判定部１０６は、重み再評価部１０５が再評価した関係度再評価情報１１２に定義されているエントリを１つずつ獲得しながら（図４のステップＳ２１５）、それぞれのエントリについて、以下の処理を実行する（図５のステップＳ２１６〜Ｓ２１７→Ｓ２１８→Ｓ２１５の繰返し処理）。
【００４９】
即ち、関係度判定部１０６は、関係度再評価情報１１２から獲得したエントリに基づいて、対象となるパッチの構成ファイルが属するプロセスと比較される各他プロセスの関係度合計値のそれぞれを、関連度閾値情報１１３と比較する（図５のステップＳ２１６）。ここで、関連度閾値情報１１３は、例えば図２５に示されるように、関係度判定部１０６が関連の有無を判定するために必要な数値を格納する。関連度閾値情報１１３は、予めユーザが設定しておくことができる。関係度判定部１０６は、ステップＳ２１６において、関係度合計値のほうが関連度閾値情報１１３よりも大きい場合は、その関係度合計値に対応する他プロセスを、対象となるパッチの構成ファイルが属するプロセスに対応する関連プロセスとして、パッチ/プロセス関連情報１１４に保存する。
【００５０】
関係度判定部１０６は、ステップＳ２１６の処理を、全ての他プロセスの関係度合計値について繰り返し実行する（図５のステップＳ２１６→Ｓ２１７→Ｓ２１６の繰返し処理）。
【００５１】
以上の処理により最終的に得られるパッチ/プロセス関連情報１１４として、パッチ１０９を構成するパッチとパッチ構成ファイルの組合せ毎に、そのファイルが属するプロセスと、そのプロセスに関連する関連プロセスが、特定される。
【００５２】
今、関連度閾値情報１１３の値が図２５に例示されるように例えば５０であるとき、図２４に示される関係度再評価情報１１２の先頭のエントリより、パッチ１の構成ファイルＡ１が属するプロセスＡと比較される他プロセスＢ、Ｃ、Ｄのうち、関連プロセスはＢ及びＣとなる。この結果、パッチ１の構成ファイルＡ１に対して得られるパッチ/プロセス関連情報１１４は、図２６に例示される如くとなる。
【００５３】
以上の動作がパッチ１０９から展開される各パッチの各構成ファイルについて実行される結果、各パッチの各構成ファイルに対して最終的に得られるパッチ/プロセス関連情報１１４は、図２７に例示される如くとなる。
【００５４】
以上のようにして、本実施形態では、自動的にプロセス間の関係度及び各プロセスと各パッチの関係度を、高精度に算出することができる。
ここで、パッチ/プロセス関連情報１１４を使用して、パッチが関連するプロセスと、同時に適用可能なパッチの見つけ方について説明する。
【００５５】
今例えば、図２７に例示されているパッチ/プロセス関連情報１１４が得られているとする。パッチ１を例にとって、パッチ/プロセス関連情報１１４から関連プロセスを求める方法について記述する。
【００５６】
図２７に例示されるパッチ/プロセス関連情報１１４を「パッチ１」で検索すると、図２８に示されるエントリ群が獲得できる。
上述のエントリ群の中から、「パッチが属するプロセス」又は「関連プロセス」として記憶されているプロセスを検索することにより、パッチ１に関連度の高いプロセスは、プロセスＡ、プロセスＢ、プロセスＣの３つであることが判明する。
【００５７】
同様の方法で、パッチ２に関連度の高いプロセスは、プロセスＢとプロセスＣであることが判明し、パッチ３に関連度の高いプロセスは、プロセスＣとプロセスＤであることが判明する。
【００５８】
以上の例において、パッチとプロセスの関連をまとめると、図２９に示される如くとなる。このようにしてパッチとプロセスの関係が判明するため、パッチに関連する必要最小限のプロセス停止でのパッチ適用が可能となる。
【００５９】
次に同時に適用可能なパッチを見つける方法について説明する。ここでは、図２９に示されるパッチとプロセスの関連情報に基づいて、パッチ１と同時に適用可能なパッチを見つける方法を例に取って示す。
【００６０】
パッチ１はプロセスＡ〜Ｃとの関連があるので、他のパッチで、プロセスＡ〜Ｃ以外のプロセスに関連するか否か判定することで、同時に適用可能なパッチを見つける。
パッチ２は、プロセスＢ、Ｃと関連があり、プロセスＡ〜Ｃの中に含まれるので、パッチ１と同時に適用可能なことが判明する。
【００６１】
パッチ３は、プロセスＣ、Ｄと関連があり、プロセスＡ〜Ｃの中に含まれていないプロセス（プロセスＤ）が存在するため、パッチ１と同時には適用不可であることが判明する。
【００６２】
このように、パッチ１とパッチ２は同時に適用可能であることが判明し、必要最小限のプロセス停止をおこなった上で、同時にパッチを適用し、パッチの適用時間の短縮が可能となる。
【００６３】
図３０は、上述の実施形態のソフトウェア更新装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図３０に示されるコンピュータは、ＣＰＵ３００１、メモリ３００２、入力装置３００３、出力装置３００４、外部記憶装置３００５、可搬記録媒体３００９が挿入される可搬記録媒体駆動装置３００６、及びネットワーク接続装置３００７を有し、これらがバス３００８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００６４】
このコンピュータにおいては、パッチの投入対象となるソフトウェアが実行されているものとする。
ＣＰＵ３００１は、当該コンピュータ全体の制御を行う。メモリ３００２は、プログラムの実行、データ更新等の際に、外部記憶装置３００５（或いは可搬記録媒体３００９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ３００１は、プログラムをメモリ３００２に読み出して実行することにより、全体の制御を行う。
【００６５】
入力装置３００３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置３００３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ３００１に通知する。
【００６６】
出力装置３００４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置３００４は、ＣＰＵ３００１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００６７】
外部記憶装置３００５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置３００６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体３００９を収容するもので、外部記憶装置３００５の補助の役割を有する。
【００６８】
ネットワーク接続装置３００７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図１に示される各部１０１、１０２、１０３、１０４、１０５、及び１０６に必要な、図２〜図５の動作フローチャートで示される機能を搭載したプログラムを、ＣＰＵ３００１が実行することで実現される。そのプログラムは、例えば外部記憶装置３００５や可搬記録媒体３００９に記録して配布してもよく、或いはネットワーク接続装置３００７によりネットワークから取得できるようにしてもよい。
【００６９】
以上説明した実施形態によれば、パッチ投入時に該当パッチとの関連性が高いプロセスを自動的に判定できるため、パッチ投入者がパッチを投入する時、該当ソフトウェアシステム内部に精通していなくても停止すべきプロセスを判断でき、その結果、プログラム間の不整合の発生を抑止することが可能となる。
【００７０】
また、パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、影響のあるプロセスだけを停止することができるようになり、その結果、サービスの停止時間を短くすることが可能となる。
【００７１】
更に、パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、必要最小限のプロセス停止をおこなった際でも同時に適用可能なパッチを把握することができ、その結果、パッチの更新時間が短くでき、サービスの停止時間も短くすることが可能となる。
【００７２】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
（付記２）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成する重み再評価部と、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
（付記３）
前記情報収集ハンドラ部は、
オペレーティングシステムのシステムコールにフックを設定するフックセット部と、
前記フックセット部が設定したフックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
を含むことを特徴とする付記１又は２に記載のソフトウェア更新装置。
（付記４）
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記１乃至３に記載のソフトウェア更新装置。
（付記５）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
（付記６）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、
該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、
該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、
その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成し、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
（付記７）
前記アクセス情報の収集において、
オペレーティングシステムのシステムコールにフックを設定し、
前記フックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ処理を実行する、
ことを特徴とする付記５又は６に記載のソフトウェア更新方法。
（付記８）
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記５乃至７に記載のソフトウェア更新方法。
（付記９）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
（付記１０）
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、
該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、
該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、
その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成し、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
（付記１１）
前記アクセス情報の収集において、
オペレーティングシステムのシステムコールにフックを設定し、
前記フックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ処理を実行する、
ことを特徴とする付記９又は１０に記載のプログラム。
（付記１２）
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記９乃至１１に記載のプログラム。
【符号の説明】
【００７３】
１０１  フックセット部
１０２  情報収集ハンドラ部
１０３  関係度算出部
１０４  パッチ/プロセス関係判定部
１０５  重み再評価部
１０６  関係度判定部
１０７  アクセス情報
１０８  関係度算出情報
１０９  パッチ
１１０  パッチ/プロセス関係表
１１１  重み情報
１１２  関係度再評価情報
１１３  関連度閾値情報
１１４  パッチ/プロセス関連情報
３００１  ＣＰＵ
３００２  メモリ
３００３  入力装置
３００４  出力装置
３００５  外部記憶装置
３００７  ネットワーク接続装置
３００６  可搬記録媒体駆動装置
３００９  可搬記録媒体
３００８  バス
【図１】
2011060160.tif 000003
【図２】
2011060160.tif 000004
【図３】
2011060160.tif 000005
【図４】
2011060160.tif 000006
【図５】
2011060160.tif 000007
【図６】
2011060160.tif 000008
【図７】
2011060160.tif 000009
【図８】
2011060160.tif 000010
【図９】
2011060160.tif 000011
【図１０】
2011060160.tif 000012
【図１１】
2011060160.tif 000013
【図１２】
2011060160.tif 000014
【図１３】
2011060160.tif 000015
【図１４】
2011060160.tif 000016
【図１５】
2011060160.tif 000017
【図１６】
2011060160.tif 000018
【図１７】
2011060160.tif 000019
【図１８】
2011060160.tif 000020
【図１９】
2011060160.tif 000021
【図２０】
2011060160.tif 000022
【図２１】
2011060160.tif 000023
【図２２】
2011060160.tif 000024
【図２３】
2011060160.tif 000025
【図２４】
2011060160.tif 000026
【図２５】
2011060160.tif 000027
【図２６】
2011060160.tif 000028
【図２７】
2011060160.tif 000029
【図２８】
2011060160.tif 000030
【図２９】
2011060160.tif 000031
【図３０】
2011060160.tif 000032