(57)【要約】  パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えるために、最新パッチ情報と適用済みパッチ情報とを比較して未適用のパッチを抽出し、未適用のパッチのうち、インストールされているソフトウェアを適用対象とする適用パッチを抽出する適用パッチ抽出処理と、抽出した適用パッチのうち、少なくともユーザ資産破壊可能性または非互換可能性がない業務継続中適用可能パッチを抽出する業務継続中適用可能パッチ抽出処理と、業務継続中適用可能パッチの適用対象であるソフトウェアが実行されない時間帯に業務継続中適用可能パッチを適用するパッチ適用スケジュールを生成するパッチ適用スケジュール生成処理と、パッチ適用スケジュールにしたがって、業務継続中に、業務継続中適用可能パッチを適用対象のソフトウェアに適用するパッチ適用処理と、を実行する。
2010029602.tif 000002
【特許請求の範囲】
【請求項１】
最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
【請求項２】
前記パッチ適用スケジュールを生成するステップは、
前記最新パッチ情報記憶部に含まれるパッチ適用時間を、前記適用可能パッチ毎に積算し、前記ソフトウェアが実行されない時間帯に収まるようにパッチ適用スケジュールを生成することを特徴とする請求項１記載のパッチ適用方法。
【請求項３】
前記パッチ適用スケジュールを生成するステップにおいて、
前記積算する時間には、ハードウェア情報記憶部から取得した、前記ソフトウェアの実行に使用するハードウェア情報が有する演算処理装置の停止時間も含まれることを特徴とする請求項２記載のパッチ適用方法。
【請求項４】
前記適用可能パッチをソフトウェアに適用するステップは、
前記適用可能パッチの適用対象であるソフトウェアの動作状況を確認し、該ソフトウェアが動作していない場合には、該ソフトウェアに対してパッチを適用することを特徴とする請求項１記載のパッチ適用方法。
【請求項５】
前記適用可能パッチをソフトウェアに適用するステップは、
前記適用可能パッチの適用対象であるソフトウェアの動作状況を確認し、前記ソフトウェアが動作中の場合には、前記ソフトウェアに対するパッチの適用は行なわないことを特徴とする請求項１記載のパッチ適用方法。
【請求項６】
前記パッチ適用スケジュールを生成するステップにおいて、
前記適用可能パッチの適用対象であるソフトウェアが動作中の場合には、前記パッチ適用スケジュール生成処理により、パッチ適用スケジュールが再度生成されることを特徴とする請求項５記載のパッチ適用方法。
【請求項７】
前記適用可能パッチをソフトウェアに適用するステップは、
前記ソフトウェアの実行に使用するハードウェア情報を記憶するハードウェア情報記憶部から取得したＣＰＵの停止・実行時間に基づいてパッチの適用を行なうことを特徴とする請求項１記載のパッチ適用方法。
【請求項８】
情報処理装置にインストールされたソフトウェアのパッチ適用プログラムにおいて、
前記情報処理装置に、
最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
【請求項９】
パッチ適用対象のソフトウェアを示す最新パッチ情報を記憶する最新パッチ情報記憶部と、
既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を記憶する適用済みパッチ情報記憶部と、
前記最新パッチ情報と前記適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定する適用予定パッチ特定部と、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定する適用可能パッチ特定部と、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するパッチ適用スケジュール生成部と、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するパッチ適用部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置などで動作させるソフトウェアの一部または全部を修正・変更するパッチの適用方法に関する。
【背景技術】
【０００２】
従来、ソフトウェアの一部または全部を修正・変更するプログラム若しくはデータ（以下、「パッチ」という）の適用作業では、パッチの適用対象となるコンピュータシステムの情報と、最新のパッチ情報（パッチの版数、種類などの情報）をもとに、そのコンピュータシステムに適用できるパッチを抽出している。そして、コンピュータシステムを一度停止して抽出したパッチを適用し、パッチの適用が完了した後にシステムを起動している。【０００３】
しかし、業務の関係上、コンピュータシステムを頻繁に停止できない場合も多い。そのため、ローリングアップデートや、代替ブート環境にリモート操作によってパッチを適用する技術（以下、「リモートパッチ適用」という）などが考案されている。また、条件によってはコンピュータシステムを停止せずにマルチユーザモードのままパッチを適用することも可能な場合がある。ここで、ローリングアップデートとは、業務を継続しているコンピュータシステムが複数代のノードを有するクラスタ等によい構成されている場合において、クラスタを構成するノードに対して１ノードずつパッチを適用することにより、コンピュータシステム上で稼動している業務を停止することなくソフトウェアのアップデートを実施する方法をいう。  しかし、ローリングアップデートはクラスタ構成、リモートパッチ適用はディスクの代替ブート環境などが必要となるのでコストがかかる。また、マルチユーザモードで適用できるパッチもあるが、パッチを適用するタイミングによっては業務に影響を与える可能性があるため、パッチの適用に大きなリスクを伴う。【０００４】
上記技術に関連して、ユーザ業務中に実行可能なパッチデータと実行不可能なパッチデータとに振り分け、ユーザ業務中に実行可能なパッチデータはユーザ業務中に適用し、ユーザ業務中に実行不可能なパッチデータはユーザ業務を停止して適用する保守方式が知られている。【０００５】
また、コンピュータシステムを構成する各コンピュータの動作状況を監視し、最も負荷の低い時間帯を選んでパッチ適用予定時刻を決定することで、コンピュータシステム全体を停止せずにパッチ処理を行なうパッチ適用方式が知られている。【０００６】
また、組み込み機器の稼働状況を取得し、その負荷状況から当該組み込み機器で動作するソフトウェアの更新に適する時間帯を算出し、当該時間帯にソフトウェアの更新を実行するソフトウェア管理装置が知られている。
【特許文献１】特開平０１−２２００３１号公報
【特許文献２】特開２００３−０１５８９４号公報
【特許文献３】特開２００４−２０６３９０号公報
【発明の開示】
【０００７】
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えるパッチ適用方法を提供することである。
【０００８】
本パッチ適用方法は、最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行する。
【０００９】
本パッチ適用方法によると、インストール済みのソフトウェアを適用対象とする適用予定パッチが抽出され、その抽出パッチのうち、少なくともユーザ資産破壊可能性または非互換可能性がないパッチが適用可能パッチとして抽出される。
【００１０】
そして、適用可能パッチの適用対象であるソフトウェアが実行されない時間帯に、適用可能パッチを適用するようにパッチ適用スケジュールが生成される。そして、パッチ適用スケジュールにしたがってパッチ適用処理が行われる。
【００１１】
そのため、コンピュータシステムが動作中に適用可能なパッチは、コンピュータシステムが動作中に全て適用することができる。その結果、コンピュータシステムを停止して適用するパッチは、コンピュータシステムを停止しなければ適用できないパッチのみとなる。
【００１２】
以上に説明したように、本パッチ適用方法によると、パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施例に係るパッチ適用方法を実現するシステム全体の構成例を示す図である。
【図２】本実施例に係る最新パッチ情報記憶部の構成例を示す図である。
【図３】本実施例に係るソフトウェア実行スケジュール記憶部の構成例を示す図である。
【図４】本実施例に係るソフトウェア実行スケジュールを説明する図である。
【図５】本実施例に係るハードウェア情報記憶部の構成例を示す図である。
【図６】本実施例に係るパッチ適用システムの処理を示すフローチャートである。
【図７】本実施例に係るパッチ適用スケジュールの生成処理を示すフローチャートである。
【図８】本実施例に係るパッチの適用処理を示すフローチャートである。
【図９】本実施例に係るアプリケーション起動時の処理を示すフローチャートである。
【発明を実施するための最良の形態】
【００１４】
以下、本実施形態について、図１〜図９に基づいて説明する。
図１は、本実施例に係るパッチ適用方法を実現するシステム全体の構成例を示す図である。【００１５】
図１に示すシステムは、本実施例に係るパッチ適用方法にしたがって自身にインストールされているソフトウェアにパッチを適用するパッチ適用システム１１０と、最新のパッチに関する情報などを管理する保守用サーバ１２０と、を備える。以下、最新のパッチに関する情報を「最新パッチ情報」という。【００１６】
パッチ適用システム１１０は、様々なソフトウェアがインストールされている情報処理装置である。したがって、パッチ適用システム１１０は、インストールされている様々なソフトウェアを実行することにより、任意の業務を実行する。【００１７】
また、パッチ適用システム１１０は、既にパッチ適用システム１１０に適用されたパッチに関する情報を記憶する適用済みパッチ情報記憶部１１１と、パッチ適用システム１１０にインストール済みＰＫＧ（Ｐａｃｋａｇｅ：ソフトウェアパッケージ）の情報を記憶するインストール情報記憶部１１２と、ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部１１３と、を備える。なお、既にパッチ適用システム１１０に適用されたパッチを、以下、「適用済みパッチ」という。【００１８】
また、保守用サーバ１２０には、最新パッチ情報を記憶する最新パッチ記憶部１２１と、ソフトウェアの実行に使用するハードウェアの情報を記憶するハードウェア情報記憶部１２２と、を備える。【００１９】
なお、パッチ適用システム１１０は、他の情報処理装置にインストールされているソフトウェアに対してパッチを適用する独立した情報処理装置であってもよい。また、パッチ適用システム１１０は、情報処理装置に備わる演算処理装置であるＣＰＵに所定のプログラム命令を実行させることにより実現することが可能である。この場合、プログラムは、記憶媒体（揮発性メモリ、不揮発性メモリ、磁気ディスク装置、ＣＤ、ＤＶＤなどの可搬記憶媒体など）に記憶し、情報処理装置に記憶媒体からプログラムを読み出させてプログラムを実行させればよい。【００２０】
また、以上に説明した記憶部はそれぞれ独立な記憶装置で構成してもよいし、１つの記憶装置で構成してもよい。図１では、パッチ適用システム１１０と保守用サーバ１２０とは、ネットワークまたは専用線を介して通信可能に接続されている。【００２１】
適用済みパッチ情報記憶部１１１に記憶される適用済みパッチ情報は、既に適用済みパッチのパッチＩＤと、そのパッチに関連するパッチのパッチＩＤと、そのパッチにより修正されたＰＫＧ名などで構成される。【００２２】
インストール情報記憶部１１２に記憶されるインストール情報は、既にインストールされているＰＫＧのＰＫＧ名、そのＰＫＧの版数などで構成される。
ソフトウェア実行スケジュール記憶部１１３に記憶されるソフトウェア実行スケジュールは、定期的に、または、任意の時間帯に一定回数だけ実行するソフトウェアのスケジュールのソフトウェア名、そのジョブの種類、その実行予定時間などで構成される。【００２３】
最新パッチ情報記憶部１２１に記憶される最新パッチ情報は、最新パッチのパッチＩＤ、そのパッチを適用する製品名、パッチ適用により修正されるＰＫＧのＰＫＧ名、パッチ適用により他のソフトウェアと非互換の問題が生じる可能性の有無、ユーザ設定情報などのユーザ資産を初期化等して破壊する可能性の有無、パッチ適用に要する時間の算出基準となる時間などで構成される。【００２４】
なお、パッチ適用により他のソフトウェアと非互換の問題が生じる可能性を、「互換可能性」という。例えば、パッチが適用されることにより版数が新しくなったソフトウェアは、パッチが適用されない他のソフトウェアに対して、非互換の問題が生じる可能性があり、これを「後方互換性」（Ｂａｃｋｗａｒｄ  Ｃｏｍｐａｔｉｂｉｌｉｔｙ）という。また、ユーザ設定情報などのユーザ資産を初期化等して破壊する可能性を、「ユーザ資産破壊可能性」という。また、パッチ適用に要する時間の算出基準となる時間を、「パッチ適用基準時間」という。【００２５】
ハードウェア情報記憶部１２２に記憶されるハードウェア情報は、パッチ適用システム１１０を構成する機種の機種名、実装されているＣＰＵのＣＰＵタイプ、実装されているメモリ、パッチ適用時におけるＣＰＵ停止・実行時間（秒）、パッチ適用に必要な時間をハードウェア構成に応じて調整するために使用する適用予測計数などで構成される。【００２６】
例えば、パッチ適用システム１１０が保守用サーバ１２０に対して最新パッチ情報を要求すると、保守用サーバ１２０は最新パッチ情報記憶部１２１から最新パッチ情報を取得しパッチ適用システム１１０に通知する。同様に、保守用サーバ１２０は、パッチ適用システム１１０からの要求に応じて、ハードウェア情報をパッチ適用システム１１０に通知する。【００２７】
また、パッチ適用システム１１０は、適用済みパッチ情報記憶部１１１から適用済みパッチ情報を取得する。そして、パッチ適用システム１１０は、最新パッチ情報と適用済みパッチ情報とを比較し、比較結果からパッチ適用システム１１０に対して未適用のパッチを抽出する。【００２８】
さらに、パッチ適用システム１１０は、インストール情報記憶部１１２からパッチ適用システム１１０自身にインストールされているＰＫＧの情報を取得し、抽出した未適用のパッチのうち、インストールされているＰＫＧに対して適用するパッチの情報のみを抽出する。さらに、パッチ適用システム１１０は、この抽出したパッチの情報から、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やドライバに対するパッチ以外のパッチの情報を抽出する。なお、パッチ適用システム１１０自身にインストールされているＰＫＧの情報を、「インストール情報」という。【００２９】
以下、本実施例では、ＯＳやカーネル上で動作するＯＳやドライバ以外の上位ソフトウェア（ミドルウェア等も含む）を単にアプリケーションという。
そして、パッチ適用システム１１０は、最新パッチ情報を参照し、適用パッチ毎に最新パッチ情報に含まれるユーザ資産破壊可能性および非互換可能性の有無を確認する。そして、パッチ適用システム１１０は、適用パッチのうち、ユーザ資産破壊の可能性および非互換の可能性の無いパッチの情報のみを抽出する。本実施例では、この抽出したパッチの情報を、業務継続中にパッチ適用システム１１０に適用可能なパッチの情報とする。以下、この抽出したパッチの情報を「業務継続中適用可能パッチ情報」という。また、この業務継続中適用可能パッチ情報に登録されているパッチを「業務継続中適用可能パッチ」という。【００３０】
そして、パッチ適用システム１１０は、ソフトウェア実行スケジュール記憶部１１３からパッチ適用システム１１０自身にインストールされているＰＫＧのアプリケーションの実行スケジュールを取得する。そして、パッチ適用システム１１０は、業務継続中適用可能パッチ毎に適用対象のアプリケーションが実行していない時間を算出し、ソフトウェアに対してパッチを適用するスケジュールを生成する。なお、パッチ適用システム１１０自身にインストールされているＰＫＧを、場合に応じて「ソフトウェア」という。また、ソフトウェアに対してパッチを適用するスケジュールを「パッチ適用スケジュール」という。【００３１】
そして、パッチ適用システム１１０は、パッチ適用スケジュールにしたがって、業務継続中に、業務継続中適用可能パッチを適用する。なお、パッチの適用処理は、パッチ適用システム１１０上で動作する専用のプロセスにより行なう。以下のこのプロセスを「パッチ適用プロセス」という。【００３２】
図２は、本実施例に係る最新パッチ情報記憶部１２１の構成例を示す図である。
上述したように、最新パッチ情報記憶部１２１に記憶される最新パッチ情報は、最新パッチのパッチＩＤと、そのパッチを適用する製品名、パッチ適用により修正されるＰＫＧのＰＫＧ名、パッチ適用により生じる非互換可能性の有無やユーザ資産破壊可能性の有無を示す注意事項、パッチ適用基準時間で構成される。【００３３】
最新パッチ情報は、任意のソフトウェアの一部または全部について修正・変更する必要が生じた場合に随時更新される。
例えば、Ｐａｔｃｈ１とＰａｔｃｈ２が適用済で、ドライバ製品Ａはインストールされておらず、アプリケーションＡ〜Ｄがインストールされていた場合、Ｐａｔｃｈ４〜Ｐａｔｃｈ１０が未適用パッチとなる。また、この場合、ユーザ資産破壊可能性がなく非互換可能性がないパッチは、Ｐａｔｃｈ４〜Ｐａｔｃｈ６およびＰａｔｃｈ１０となる。【００３４】
ここで、パッチ適用基準時間は、あらかじめテスト機等を用いてパッチの適用検証をする際に測定した値を使用している。本実施例では、適用対象となるシステム毎のパッチ適用に要すると思われる時間ｙ１を、以下の計算式により算出している。なお、このパッチ適用に要すると思われる時間ｙ１を「パッチ適用予測時間」という。【００３５】
ｙ１  ＝  ａ×ｘ                                    ・・・  （１）
ここで、ａはハードウェア情報記憶部１２２に記憶されるシステムの適用予測計数、ｘは最新パッチ情報記憶部１２１に記憶されるパッチ適用基準時間である。【００３６】
図３は、本実施例に係るソフトウェア実行スケジュール記憶部１１３の構成例を示す図である。
上述したように、ソフトウェア実行スケジュール記憶部１１３に記憶されるソフトウェア実行スケジュールは、実行予定のソフトウェアの製品名、そのソフトウェアのジョブの種類、その実行予定時間を少なくとも備える。なお、本実施例では、「実行予定時間」に「−」を設定すると、いかなる場合でもそのソフトウェアに対してパッチ適用を行なわない。【００３７】
図４は、本実施例に係るソフトウェア実行スケジュールを説明する図である。なお、図４には、図３に示したアプリケーションＡ、ＢおよびＣに関するソフトウェア実行スケジュールを示している。現在の時刻が１２月２７日０時の場合を示している。【００３８】
アプリケーションＡのスケジュールによると、アプリケーションＡは１４時間間隔で０時から１０時まで１０時間実行される。また、アプリケーションＢのスケジュールによると、アプリケーションＢは１４時間間隔で１０時から２０時まで１０時間実行される。アプリケーションＣのスケジュールによると、アプリケーションＣは１２月２９日２２時から２３時の１時間だけ実行される。【００３９】
したがって、例えば、アプリケーションＡに対するＰａｔｃｈ４の適用処理を１２月２７日１０時から開始し、アプリケーションＢに対するＰａｔｃｈ５の適用処理を１２月２７日２０時から開始し、アプリケーションＣに対するＰａｔｃｈ６の適用処理を１２月２８日０時から開始するパッチ適用のスケジュールを生成することができる。【００４０】
なお、パッチ適用システム１１０は、各アプリケーションへのパッチの適用に要するパッチ適用実時間を上述した（１）式および後述する（２）式から算出する。そして、パッチ適用システム１１０は、パッチの適用処理が、ソフトウェア実行スケジュールで定義された各アプリケーションの実行時間以外の時間帯に完了するようにパッチ適用のスケジュールを生成する。以下、図４に示す休止中の時間帯、すなわち、各アプリケーションの実行時間以外の時間帯を「パッチ適用可能な時間帯」という。【００４１】
例えば、アプリケーションＡに対するパッチＰａｔｃｈ４の場合、パッチ適用システム１１０は、１２月２７日１０時から１２月２８日０時までの１４時間内に、アプリケーションＡに対するパッチの適用処理が完了するようパッチ適用スケジュールを生成する。【００４２】
なお、各アプリケーションに対して適用するパッチが複数あり、パッチ適用対象のアプリケーションがパッチ適用可能な時間帯（１４時間）内に全てのパッチの適用処理を完了することができない場合、パッチ適用対象のアプリケーションに対するパッチを複数のグループに分け、グループ毎に複数回に分けてパッチ適用スケジュールを生成すればよい。【００４３】
例えば、アプリケーションＡに対するパッチがパッチＰａｔｃｈ４だけでなく複数あり、アプリケーションＡについてパッチ適用可能な時間帯（１４時間）内に全てのパッチの適用処理を完了することができない場合、１２月２７日１０時から１２月２８日０時までの１４時間に適用可能な数のパッチを、１２月２７日１０時から１２月２８日０時の時間帯に適用し、１２月２８日１０時から１２月２９日０時までの１４時間に残りのパッチを適用するパッチ適用スケジュールを生成すればよい。【００４４】
また、図３に示すソフトウェア実行スケジュールのアプリケーションＤには「−」が設定されているので、パッチ適用システム１１０は、アプリケーションＤに対するパッチの適用処理を行なわない。すなわち、パッチ適用システム１１０は、アプリケーションＤに関するパッチ適用スケジュールは生成しない。【００４５】
図５は、本実施例に係るハードウェア情報記憶部１２２の構成例を示す図である。
上述したように、ハードウェア情報記憶部１２２に記憶されるハードウェア情報は、パッチ適用システム１１０を構成する機種の機種名、実装されているＣＰＵのＣＰＵタイプ、実装されているメモリのメモリ容量、パッチ適用時におけるＣＰＵ停止・実行時間（秒）、パッチ適用に必要な時間をハードウェア構成に応じて調整するために使用する適用予測計数で構成される。【００４６】
ハードウェア情報は、例えば、新機種がリリースされた場合などのタイミングで更新される。
停止・実行時間は、各機種でのパッチ適用時の負荷状態から、最適と思われる時間を設定する。例えば、機種Ａでは、ＣＰＵＡの２秒停止４秒実行を繰り返すことによりパッチ適用を行なうことを示している。【００４７】
図５に示すハードウェア情報では、パッチ適用システム１１０に関し、機種が機種Ｂ、ＣＰＵタイプがＣＰＵＣ、メモリ容量がメモリ１０２４Ｍバイトの場合、ＣＰＵ停止・実行時間はそれぞれ１秒、６秒と定義されている。すなわち、パッチ適用処理を行なうパッチ適用プロセスを１秒停止し、６秒実行することを繰り返す。【００４８】
このパッチ適用システム１１０にインストールされているアプリケーションＡに対してパッチＰａｔｃｈ４を適用する場合、パッチ適用予測時間は、（１）式を用いると６６秒（＝１．１×６０秒）となる。【００４９】
ここで、パッチ適用プロセスは、１秒停止して、６秒実行することを繰り返すので、パッチ適用プロセスの６秒の実行を１１回（＝６６／６）、パッチ適用プロセスの１秒の停止を１０回（＝６６／６−１）行なうことになる。【００５０】
したがって、パッチ適用プロセスの開始から終了まで、すなわち、パッチ適用処理の開始から完了までの時間は７６秒（＝６×１１＋１×１０）となる。このように、パッチ適用予測時間とハードウェア情報（ＣＰＵ停止・実行時間）とから算出されるパッチ適用に要する実際の時間を、「パッチ適用実時間」という。【００５１】
以上のように、パッチ適用実時間ｙ２は、
ｙ２  ＝  ｔｒｕｎ×ｐ  ＋  ｔｓｔｏｐ×（ｐ−１）  ・・・  （２）
ｐ    ＝  ｙ１／ｔｒｕｎ
ただし、ｔｓｔｏｐ、ｔｒｕｎはそれぞれハードウェア情報で定義されたＣＰＵ停止時間、ＣＰＵ実行時間であり、ｐはパッチ適用プロセスをｔｒｕｎ秒実行する回数（切上げ後の自然数）である。【００５２】
複数のパッチＰ１、Ｐ２、・・・、Ｐｎを同一アプリケーションに適用する場合、パッチ適用システム１１０は、各パッチについて、パッチ適用実時間ｙ２（ｔ１）、ｙ２（ｔ２）、・・・、ｙ２（ｔｎ）を算出する。【００５３】
そして、パッチ適用システム１１０は、パッチ適用実時間ｙ２（ｔ１）、ｙ２（ｔ２）、・・・、ｙ２（ｔｎ）を積算しながらパッチ適用可能な時間帯Ｔ１と比較し、パッチ適用可能な時間帯Ｔ１内に適用可能なパッチを求める。そして、パッチ適用システム１１０は、求めたパッチについて時間帯Ｔ１でパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。【００５４】
同様に、パッチ適用システム１１０は、残りのパッチについて、パッチ適用可能な時間帯Ｔ２内に適用可能なパッチを求め、時間帯Ｔ２でパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。さらに、適用すべきパッチがある場合には、同様に、パッチ適用可能な時間帯Ｔ３、Ｔ４、・・・、Ｔｎでパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。【００５５】
図６は、本実施例に係るパッチ適用システム１１０の処理を示すフローチャートである。
ステップＳ６００において、パッチ適用システム１１０に備わる入力手段を用いてユーザが所定のコマンドを実行すると、パッチ適用システム１１０は、ステップＳ６０１に移行する。そして、パッチ適用システム１１０はパッチ適用処理を開始する。【００５６】
ステップＳ６０１において、パッチ適用システム１１０は、最新パッチ情報からパッチ適用システム１１０に未適用のパッチ情報を取得する。
この時、パッチ適用システム１１０は、保守用サーバ１２０に対して最新パッチ情報を要求する。すると、保守用サーバ１２０は、最新パッチ情報記憶部１２１から最新パッチ情報を取得する。そして、保守用サーバ１２０は、パッチ適用システム１１０に最新パッチ情報を通知する。【００５７】
また、パッチ適用システム１１０は、適用済パッチ情報記憶部１１１から適用済パッチ情報を取得する。そして、パッチ適用システム１１０は、最新パッチ情報のパッチＩＤと適用済パッチ情報のパッチＩＤとを比較する。そして、パッチ適用システム１１０は、最新パッチ情報からパッチＩＤが重複しないパッチの情報を、パッチ適用システム１１０に未適用のパッチの情報として抽出する。以下、この抽出したパッチの情報を「未適用パッチ情報」という。【００５８】
さらに、パッチ適用システム１１０は、インストール情報記憶部１１２からインストール情報を取得する。そして、パッチ適用システム１１０は、未適用パッチ情報のＰＫＧ名とインストール情報のＰＫＧ名とを比較する。そして、パッチ適用システム１１０は、未適用パッチ情報からＰＫＧ名が一致するパッチの情報を、パッチ適用システム１１０にインストールされているＰＫＧに対して適用するパッチの情報として抽出する。【００５９】
ステップＳ６０２において、パッチ適用システム１１０は、ステップＳ６０１で抽出したパッチの情報の製品名を参照し、ステップＳ６０１で抽出したパッチの情報から、パッチ適用システム１１０にインストールされているアプリケーションに対してのパッチの情報のみを抽出する。すなわち、パッチ適用システム１１０は、ステップＳ６０１で抽出したパッチの情報の製品名を参照し、ステップＳ６０１で抽出したパッチの情報から、ＯＳやドライバに対するパッチ以外のパッチの情報を抽出する。【００６０】
ステップＳ６０３において、パッチ適用システム１１０は、ステップＳ６０２で抽出したパッチの情報の注意事項を参照し、ステップＳ６０２で抽出したパッチの情報から、ユーザ資産破壊可能性や非互換可能性が無いパッチの情報、すなわち、業務継続中適用可能パッチ情報を抽出する。【００６１】
ステップＳ６０４において、パッチ適用システム１１０は、ステップＳ６０３で抽出した業務継続中適用可能パッチ情報のパッチをパッチ適用システム１１０に適用するパッチ適用スケジュールを生成する。【００６２】
この時、パッチ適用システム１１０は、ソフトウェア実行スケジュール記憶部１１３からソフトウェア実行スケジュールを取得する。また、パッチ適用システム１１０は、保守用サーバ１２０に対してハードウェア情報を要求する。すると、保守用サーバ１２０は、ハードウェア情報記憶部１２２からハードウェア情報を取得してパッチ適用システム１１０に通知する。【００６３】
そして、パッチ適用システム１１０は、ソフトウェア実行スケジュールを参照し、アプリケーションが実行されない時間帯を使用して業務継続中適用可能パッチをパッチ適用システム１１０に適用するパッチ適用スケジュールを生成する。具体的には、パッチ適用システム１１０は、後述するスケジュールテーブルを生成する。【００６４】
ステップＳ６０５において、パッチ適用システム１１０は、パッチ適用スケジュールにしたがって、パッチ適用対象となるアプリケーション毎に、業務継続中適用可能パッチを所定の時間に実行するように設定する。【００６５】
この時、パッチ適用システム１１０は、パッチ適用システム１１０に備わるパッチ適用プロセスの自動実行機能、例えば、ＵＮＩＸ（登録商標）系商用ＯＳの一種であるＳｏｌａｒｉｓ（登録商標）に標準装備されているａｔコマンドやＵＮＩＸ（登録商標）系ＯＳ一般に標準装備されるｃｒｏｎコマンドを使用して、ステップＳ６０４で生成したスケジュールテーブルにしたがって、パッチ適用対象となるアプリケーション毎に、業務継続中適用可能パッチを所定の時間に実行するように設定する。【００６６】
ステップＳ６０６において、パッチ適用システム１１０は、ステップＳ６０５で設定された時刻になると、パッチ適用プロセスを起動する。パッチ適用プロセスは、設定されたアプリケーションに対して設定された業務継続中適用可能パッチを適用する。ステップＳ６０５で設定された全ての業務継続中適用可能パッチについてパッチ適用が完了すると、パッチ適用システム１１０は、処理をステップＳ６０７に移行し、パッチ適用処理を終了する。【００６７】
なお、パッチ適用プロセスは、ＯＳ等に標準装備、または一般に提供されているパッチ適用ツール等を使用すればよい。
図７は、本実施例に係るパッチ適用スケジュールの生成処理を示すフローチャートである。【００６８】
パッチ適用システム１１０は、図６に示したステップＳ６０４に処理を移行すると、パッチ適用スケジュールの生成処理を開始する（ステップＳ７００）。
ステップＳ７０１において、パッチ適用システム１１０は、現在の時刻を取得する。この時刻を「基準時刻Ａ」とする。【００６９】
ステップ６０２において、パッチ適用システム１１０は、ステップＳ６０３で生成した業務継続中適用可能パッチ情報の製品名を参照する。そして、パッチ適用システム１１０は、その業務継続中適用可能パッチ情報に登録されているアプリケーションのアプリケーション名を１つ取得する。このアプリケーション名を「アプリケーションＸ」という。【００７０】
ステップＳ７０３において、パッチ適用システム１１０は、ソフトウェア実行スケジュール記憶部１１３からソフトウェア実行スケジュールを取得する。そして、パッチ適用システム１１０は、ソフトウェア実行スケジュールにおいて、アプリケーションＸを使用しない時間帯、すなわち、パッチ適用可能な時間帯であって、基準時刻Ａに最も近い時間帯を取得する。この取得した時間帯を「未使用時間帯Ｙ」という。【００７１】
ステップＳ７０４において、パッチ適用システム１１０は、アプリケーションＸにパッチ（既にパッチ適用時刻が割り当てられたパッチは除く）を適用するために要する実際の時間、すなわち、パッチ適用実時間ｙ２を算出する。【００７２】
この時、パッチ適用システム１１０は、業務継続中適用可能パッチ情報の適用時間を参照し、業務継続中適用可能パッチ情報からアプリケーションＸに対するパッチの適用時間を取得する。【００７３】
パッチ適用システム１１０は、保守用サーバ１２０に対してハードウェア情報を要求する。すると、保守用サーバ１２０は、ハードウェア情報記憶部１２２からハードウェア情報を取得してパッチ適用システム１１０に通知する。そして、パッチ適用システム１１０は、パッチ適用システム１１０のシステム情報、例えば、機種、ＣＰＵタイプ、メモリ容量などを、あらかじめ設定された設定ファイル等から取得し、取得したシステム情報に対応する適用予測計数を取得する。【００７４】
そして、パッチ適用システム１１０は、前述の（１）式を用いてアプリケーションＡに対するパッチの適用に要するパッチ適用予測時間ｙ１を算出する。さらに、パッチ適用システム１１０は、ハードウェア情報からＣＰＵ停止・実行時間を取得し、前述の（２）式を用いてアプリケーションＡに対するパッチのパッチ適用に要するパッチ適用実時間ｙ２を算出する。【００７５】
ステップＳ７０５において、パッチ適用システム１１０は、アプリケーションＡに対するパッチ（既にパッチ適用時刻が割り当てられたパッチは除く）のパッチ適用実時間ｙ２の総和である総パッチ適用実時間ｙｔを算出し、未使用時間帯Ｙ内に収まるか否かを判別する。【００７６】
この時、例えば、パッチ適用システム１１０は、（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）と（未使用時間帯Ｙの終了時刻）とを比較する。そして、「（未使用時間帯Ｙの終了時刻）＜（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）」となる場合、パッチ適用システム１１０は、「（未使用時間帯Ｙの終了時刻）≧（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）」となる数のパッチを任意に選択し、選択したパッチのパッチ適用時刻を未使用時間帯Ｙに割り当てる。【００７７】
具体的には、スケジュールテーブルに、生成したパッチ適用スケジュールに順番に付す「スケジュール番号」とともに、パッチ適用対象の「製品名」にアプリケーションＸを設定し、適用する「パッチ」に選択したパッチを設定し、パッチ適用処理の開始時刻である「適用開始時刻」に未使用時間帯Ｙの開始時刻を設定し、パッチ適用処理の終了時刻である「適用終了時刻」に（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）を設定する。【００７８】
下表は、スケジュールテーブルの具体例を示している。【００７９】
【表１】
2010029602.tif 000003
例えば、スケジュール番号が１のパッチ適用スケジュールは、アプリケーションＡに対して、パッチＰａｔｃｈ４ａ、４ｂ、４ｃ、・・・を適用する。そして、パッチ適用処理は、１２月２７日１０時０分０秒に開始し、１２月２７日１０時１分１６秒に終了する。【００８０】
パッチ適用時刻の割り当てが完了すると、パッチ適用システム１１０は、処理をステップＳ７０６に移行する（Ｓ７０５  Ｎｏ）。
また、「（未使用時間帯Ｙの終了時刻）≧（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）」となる場合、パッチ適用システム１１０は、アプリケーションＡに対する全パッチ（既にパッチ適用時刻が割り当てられたパッチは除く）のパッチ適用時刻を未使用時間帯Ｙに割り当てる。【００８１】
この場合も、スケジュールテーブルに、生成したパッチ適用スケジュールに順番に付す「スケジュール番号」とともに、パッチ適用対象の「製品名」にアプリケーションＸを設定し、適用する「パッチ」にアプリケーションＡに対する全パッチを設定し、パッチ適用処理の開始時刻である「適用開始時刻」に未使用時間帯Ｙの開始時刻を設定し、パッチ適用処理の終了時刻である「適用終了時刻」に（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）を設定する。【００８２】
パッチ適用時刻の割り当てが完了すると、処理をステップＳ７０７に移行する（Ｓ７０５  Ｙｅｓ）。
ステップＳ７０６において、パッチ適用システム１１０は、未使用時間帯Ｙの終了時刻を基準時刻Ａに設定する。そして、パッチ適用システム１１０は、処理をステップＳ７０３に移行する。【００８３】
ステップＳ７０７において、パッチ適用システム１１０は、アプリケーションＸに対するパッチの適用処理が終了する時刻、すなわち（総パッチ適用実時間ｙｔ＋未使用時間帯Ｙの開始時刻）を基準時刻Ａに設定する。【００８４】
ステップＳ７０８において、パッチ適用システム１１０は、業務継続中適用可能パッチ情報に登録されているアプリケーションであって、適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションがあるか否かを判別する。【００８５】
適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションがある場合、パッチ適用システム１１０は、処理をステップＳ７０３に移行する（Ｓ７０８  Ｙｅｓ）。そして、まだ適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションから１つのアプリケーションを選択し、この選択したアプリケーションをアプリケーションＸに設定する。そして、パッチ適用システム１１０は、ステップＳ７０２からステップＳ７０８の処理を繰り返す。【００８６】
また、パッチ適用スケジュールが生成されていないアプリケーションがない場合、パッチ適用システム１１０は、処理をステップＳ７０９に移行する（Ｓ７０８  Ｎｏ）。そして、パッチ適用スケジュールの生成処理を終了する。【００８７】
図８は、本実施例に係るパッチの適用処理を示すフローチャートである。
図６に示したステップＳ６０５の処理によって設定されたパッチ適用スケジュールに定められたパッチ適用処理の開始時刻になると、パッチ適用システム１１０は、パッチ適用処理を開始する（ステップＳ８００）。なお、以下の説明では、パッチ適用スケジュールに基づいてパッチ適用の対象となるアプリケーションを「パッチ適用対象アプリケーション」という。【００８８】
ステップＳ８０１において、パッチ適用システム１１０は、パッチ適用対象アプリケーションが現在起動中であるか否かを判別する。パッチ適用対象アプリケーションが起動中の場合、パッチ適用システム１１０は、処理をステップＳ８０２に移行する（ステップＳ８０１  Ｙｅｓ）。また、パッチ適用対象アプリケーションが起動していない場合、パッチ適用システム１１０は、処理をステップＳ８０３に移行する（ステップＳ８０１  Ｎｏ）。【００８９】
ステップＳ８０２において、図６に示した処理を行って、パッチ適用スケジュールのスケジューリング処理を再度実行する。
ステップＳ８０３において、パッチ適用システム１１０は、パッチ適用プロセスのＩＤを記載したファイルを、所定の場所に作成する。この作成したファイルを「ロックファイル」という。この作成された「ロックファイル」は、当該「ロックファイル」に記載されているＩＤに対応するパッチ適用プロセスを起動させないことにより、任意のプロセスに対するロック機能を実現する。【００９０】
ステップＳ８０４において、パッチ適用システム１１０は、パッチ適用プロセスを実行し、パッチ適用対象アプリケーションに対してパッチを適用する処理を実行する。
この時、パッチ適用システム１１０は、保守用サーバ１２０に対してハードウェア情報を要求する。すると、保守用サーバ１２０は、ハードウェア情報記憶部１２２からハードウェア情報を取得してパッチ適用システム１１０に通知する。そして、パッチ適用システム１１０は、パッチ適用システム１１０のシステム情報、例えば、機種、ＣＰＵタイプ、メモリ容量などを、あらかじめ設定された設定ファイル等から取得し、取得したシステム情報に対応する停止・実行時間を取得する。【００９１】
そして、パッチ適用システム１１０は、取得した停止・実行時間にしたがって、パッチ適用プロセスを一定時間停止しその後パッチ適用プロセスを一定時間実行する処理を、パッチ適用対象アプリケーションに対するパッチの適用処理が完了するまで繰り返し行う。【００９２】
ステップＳ８０５において、パッチ適用システム１１０は、ステップＳ８０３で作成したロックファイルを削除する。「ロックファイル」が削除されることにより、当該「ロックファイル」に記載されているＩＤに対応するパッチ適用プロセスの起動が可能となる。【００９３】
ステップＳ８０６において、パッチ適用システム１１０は、適用済パッチ情報記憶部１１１にステップＳ８０４によって適用したパッチのパッチＩＤと、そのパッチに関連するパッチのパッチＩＤと、そのパッチにより修正されたＰＫＧ名などを登録し、適用済パッチ情報を更新する。【００９４】
また、パッチ適用システム１１０は、パッチ適用スケジュールで予定されたパッチの適用処理が全て完了したか否かを判別する。パッチ適用スケジュールで予定されたパッチの適用処理が全て完了した場合、パッチ適用スケジュールで予定されたパッチの適用処理が全て完了した旨のメッセージを表示装置に出力する。【００９５】
以上の処理が終了すると、パッチ適用システム１１０は、ステップＳ８０７に移行してパッチ適用処理を終了する。
図９は、本実施例に係るアプリケーション起動時の処理を示すフローチャートである。【００９６】
例えば、ユーザが入力手段から任意のアプリケーションの実行を指示したり、他のアプリケーションから実行を指示されるなどすると、アプリケーションは、起動処理を開始する（ステップＳ９００）。【００９７】
ステップＳ９０１において、アプリケーションは、所定の場所を参照する。なお、この所定の場所とは、ステップＳ８０３においてロックファイルを作成する場所である。そして、アプリケーションは、ロックファイルがあるか否かを判別する。ロックファイルがある場合、アプリケーションは、処理をステップＳ９０２に移行する（ステップＳ９０１  Ｙｅｓ）。また、ロックファイルがない場合、アプリケーションは、処理をステップＳ９０６に移行する（ステップＳ９０１  Ｎｏ）。【００９８】
ステップＳ９０２において、アプリケーションは、ロックファイルを読み出し、パッチ適用プロセスのプロセスＩＤを取得する。そして、アプリケーションは、取得したプロセスＩＤのプロセスが動作中か否かを判別する。パッチ適用プロセスが動作中の場合、アプリケーションは、処理をステップＳ９０３に移行する（ステップＳ９０２  Ｙｅｓ）。そして、ステップＳ９０３において、アプリケーションは、パッチ適用プロセスが実行中である旨のメッセージを表示装置に出力する。そして、アプリケーションは、処理をステップＳ９０６に移行する。【００９９】
また、ステップＳ９０２において、パッチ適用プロセスが動作中でない場合、アプリケーションは、処理をステップＳ９０４に移行する（ステップＳ９０２  Ｎｏ）。そして、ステップＳ９０４において、アプリケーションは、ロックファイルを削除する。【０１００】
ステップＳ９０５において、アプリケーションは、プログラム命令にしたがって所定の処理を開始する。そして、所定の処理が完了すると、アプリケーションは、ステップＳ９０６に移行してアプリケーションを終了する。【０１０１】
以上に説明したように、パッチ適用システム１１０は、業務継続中適用可能パッチ情報を抽出し（ステップＳ６０３）、抽出した業務継続中適用可能パッチ情報のパッチをパッチ適用システム１１０に適用するパッチ適用スケジュールを生成し（ステップＳ６０４）、そのパッチ適用スケジュールにしたがってパッチ適用が行なわれる。【０１０２】
したがって、業務継続を中止しなければ適用できないパッチ以外のパッチは、業務を継続しながら適用される。その結果、業務継続を中止しなければ適用できないパッチを適用するために、業務を停止する時間を短くする効果を奏する。【０１０３】
また、ユーザ資産破壊可能性や非互換可能性があるパッチは、業務継続中適用可能パッチから除かれるので（ステップＳ６０３）、業務継続中でも安全かつ業務に影響を与えることなくパッチの適用ができるという効果を奏する。【０１０４】
また、パッチ適用時は、パッチ適用プロセスを一定時間停止しその後パッチ適用プロセスを一定時間実行する処理を繰り返し行ないながらパッチの適用処理を行なうので（ステップＳ８０５）、パッチ適用対象のシステムに負荷をかけることなくパッチの適用処理を行なうことが可能となる。【０１０５】
また、パッチ適用システム１１０は、最新パッチ情報から未適用のパッチ情報を取得し、適用すべきパッチ（業務継続中適用可能パッチ）を抽出する（ステップＳ６０２〜Ｓ６０３）ので、ユーザが業務に関係のないパッチを選別する必要がなくなる。
【図１】
2010029602.tif 000004
【図２】
2010029602.tif 000005
【図３】
2010029602.tif 000006
【図４】
2010029602.tif 000007
【図５】
2010029602.tif 000008
【図６】
2010029602.tif 000009
【図７】
2010029602.tif 000010
【図８】
2010029602.tif 000011
【図９】
2010029602.tif 000012
【手続補正書】
【提出日】平成22年12月9日(2010.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
【請求項２】
前記パッチ適用スケジュールを生成するステップは、
前記最新パッチ情報記憶部に含まれるパッチ適用時間を、前記適用可能パッチ毎に積算し、前記ソフトウェアが実行されない時間帯に収まるようにパッチ適用スケジュールを生成することを特徴とする請求項１記載のパッチ適用方法。
【請求項３】
前記適用可能パッチをソフトウェアに適用するステップは、
前記適用可能パッチの適用対象であるソフトウェアの動作状況を確認し、該ソフトウェアが動作していない場合には、該ソフトウェアに対してパッチを適用することを特徴とする請求項１記載のパッチ適用方法。
【請求項４】
情報処理装置にインストールされたソフトウェアのパッチ適用プログラムにおいて、
前記情報処理装置に、
最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
【請求項５】
パッチ適用対象のソフトウェアを示す最新パッチ情報を記憶する最新パッチ情報記憶部と、
既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を記憶する適用済みパッチ情報記憶部と、
前記最新パッチ情報と前記適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定する適用予定パッチ特定部と、
前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定する適用可能パッチ特定部と、
前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するパッチ適用スケジュール生成部と、
前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するパッチ適用部を有することを特徴とする情報処理装置。
【国際調査報告】
2010029602.tif 000013
2010029602.tif 000014
2010029602.tif 000015
2010029602.tif 000016
2010029602.tif 000017