(57)【特許請求の範囲】
【請求項１】
コンピュータに、
一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶部に記憶し、
前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する
処理を実行させる、プログラム。
【請求項２】
利用するファイルが前記パッチプログラムの適用によって変更される前記アプリケーションプログラムを利用する前記業務処理が停止している期間である場合に、前記パッチプログラムを適用可能と判断する
処理を実行させる、請求項１に記載のプログラム。
【請求項３】
前記パッチプログラムを適用する場合に、利用するファイルが前記パッチプログラムの適用によって変更される前記アプリケーションプログラムを利用する前記業務処理を表示部に表示する
処理を実行させる、請求項１または２に記載のプログラム。
【請求項４】
前記パッチプログラムの適用により追加される新たなアプリケーションプログラムが、前記業務処理に対応付けて記憶された前記アプリケーションプログラムと連携する場合、前記新たなアプリケーションプログラムの情報を当該業務処理に対応付けて前記記憶部に記憶させる
処理を実行させる、請求項１〜３のいずれか１項に記載のプログラム。
【請求項５】
コンピュータが、
一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶部に記憶し、
前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する
更新制御方法。
【請求項６】
一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶する記憶部と、
前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する制御部と、
を備える、更新制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、更新制御方法、および更新制御装置に関する。
【背景技術】
【０００２】
新機能の追加、安定性の向上、セキュリティの向上など様々な理由でコンピュータにインストールされたアプリケーションプログラムに修正が加えられることがある。こうしたアプリケーションプログラムに対する修正は、例えば、新たなファイルを追加する処理や修正対象のファイルを置換する処理を実行するパッチプログラムを用いて行われる。
【０００３】
アプリケーションプログラムは使用中のファイルをロックし、使用中に他のプログラムにより変更されないようにする。そのため、パッチプログラムを適用する場合、修正対象のファイルを使用しているアプリケーションプログラムを停止する処理が実行される。アプリケーションプログラムの停止は業務の中断などを伴うため、パッチプログラムの適用に際して停止されるアプリケーションプログラムの数は少ないことが望ましい。
【０００４】
ユーザが行う業務は、１つまたは複数のアプリケーションプログラムを利用して行われる。複数のアプリケーションプログラムを利用する業務の場合、パッチプログラムの適用に伴って停止されるアプリケーションプログラムが、業務で利用されるアプリケーションプログラムの一部であっても業務全体に影響する。
【０００５】
パッチプログラムの適用に伴う業務の停止に関し、仮想ディスクの使用状況、次回起動時刻、パッチ適用状況などを管理し、未使用状態にある仮想ディスクにパッチプログラムを適用することで、業務の停止時間を短縮する方法が提案されている。
【０００６】
なお、パッチプログラムの適用による不具合の発生を抑制する技術に関し、パッチプログラムを適用するサーバのリソースの情報と、パッチプログラムがアクセスするリソースの情報とに基づいて、パッチプログラムの適用可否を判定する方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２８９０９５号公報
【特許文献２】特開２０１４−０１３４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
業務で利用される複数のアプリケーションプログラムは連携して処理を実行することがある。そのため、パッチプログラムを適用する際には、業務を軸としたアプリケーションプログラムの連携を考慮して適切なアプリケーションプログラムの停止を行わなければ、業務の異常停止などを招くリスクがある。
【０００９】
パッチプログラムは、個々のファイルを修正するだけでなく、例えば、ファイルとアプリケーションプログラムとの対応関係を修正する処理や、新たなファイルを追加してアプリケーションプログラムとの対応関係を追加する処理を実行することがある。パッチプログラムの適用時に全ての業務で利用されるアプリケーションプログラムを停止させれば、上述した異常停止などのリスクは生じにくいが、パッチプログラムの適用に影響を受ける業務の範囲が広くなる。
【００１０】
パッチプログラムの適用により動的に変化する業務とアプリケーションプログラムとの対応関係を適切に管理することができれば、パッチプログラムの適用時に業務単位で停止対象のアプリケーションプログラムを特定することができる。その結果、パッチプログラムの適用による業務への影響を低減することが可能になる。
【００１１】
一態様によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更があってもアプリケーションプログラムまたはファイルと業務処理との対応関係を適切に管理することを目的とする。
【課題を解決するための手段】
【００１２】
１つの態様によれば、コンピュータが、一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムまたはファイルに関する情報とを対応付けて記憶部に記憶し、アプリケーションプログラムまたはファイルの変更を伴うパッチプログラムを適用する場合に、変更されるアプリケーションプログラムまたはファイルを利用する業務処理に対応付けて記憶されたアプリケーションプログラムまたはファイルの情報を、パッチプログラムに含まれるアプリケーションプログラムまたはファイルの情報に基づいて更新する更新制御方法が提供される。
【発明の効果】
【００１３】
本発明によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更があってもアプリケーションプログラムまたはファイルと業務処理との対応関係を適切に管理することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係るコンピュータの一例を示した図である。
【図２】第２実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。
【図３】第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【図４】第２実施形態に係るプロセス管理情報の一例を示した図である。
【図５】第２実施形態に係るファイル管理情報の一例を示した図である。
【図６】第２実施形態に係る業務管理情報の一例を示した図である。
【図７】第２実施形態に係るパッチデータの一例を示した図である。
【図８】第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第１の図である。
【図９】第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第２の図である。
【図１０】第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第３の図である。
【図１１】第２実施形態に係る情報処理装置が実行する処理の流れを示した第１のフロー図である。
【図１２】第２実施形態に係る情報処理装置が実行する処理の流れを示した第２のフロー図である。
【図１３】第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第１のフロー図である。
【図１４】第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第２のフロー図である。
【図１５】第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第３のフロー図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書および図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１６】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係るコンピュータの一例を示した図である。
【００１７】
第１実施形態は、コンピュータ上で動作するアプリケーションプログラムに対して新機能の追加や不具合の修正などの修正を施すパッチプログラムを適用する際に停止する業務を適切に判断できるようにする方法に関する。
【００１８】
パッチプログラムの適用は、適用時に変更されるアプリケーションプログラムおよび変更されるファイルを使用中のアプリケーションプログラムを停止してから実行される。停止対象のアプリケーションプログラムを利用しているユーザの作業やコンピュータの処理は、パッチプログラムの適用に伴い停止されることになる。そのため、パッチプログラムを適用する際に停止されるアプリケーションプログラムは少ないことが好ましい。
【００１９】
ユーザがコンピュータを用いて行う業務は、一または複数のアプリケーションプログラムまたはファイルを利用して行われる。業務に伴いコンピュータが実行する処理（業務処理）で複数のアプリケーションプログラムが利用されている場合、少なくとも１つのアプリケーションプログラムが停止対象になると業務が中断される。そのため、パッチプログラムの適用時に停止される業務処理は少ないことが好ましい。
【００２０】
また、修正対象のアプリケーションプログラムと同じ業務処理に用いられる他のアプリケーションプログラムがあり、両者が連携して動作する場合には、後者を停止させずにパッチプログラムを適用することにより業務処理が異常停止するリスクがある。例えば、連携の対象となるアプリケーションプログラムや利用中のファイルに削除や置換などの変更が行われると、連携の維持やファイルの参照が行えなくなることがある。
【００２１】
第１実施形態では、業務処理を基準としてアプリケーションプログラムまたはファイルに関する情報を管理する仕組みを提供し、パッチプログラムの適用時に上記のようなリスクを抑制すると共に効率的にパッチプログラムを適用できるようにする方法を提案する。この方法は、例えば、図１に例示したコンピュータ１０により実現可能である。
【００２２】
コンピュータ１０は、記憶部１１および制御部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。制御部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、制御部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）などの電子回路であってもよい。制御部１２は、例えば、記憶部１１または他のメモリに記憶されたプログラムを実行する。
【００２３】
記憶部１１は、管理情報１１ａおよびパッチプログラム１１ｂを有する。
管理情報１１ａは、一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムまたはファイルに関する情報とを対応付ける。図１の例では説明の都合上、ツリー構造で管理情報１１ａにおける業務とアプリケーションプログラムまたはファイルの対応関係を示しているが、記憶部１１は、当該対応関係をテーブル形式で表現した管理情報１１ａを記憶してもよい。
【００２４】
図１には、業務＃１、＃２に係る業務処理の管理情報１１ａを例示した。業務＃１、＃２は、例えば、経理業務、受注業務、在庫管理業務、配送業務などの任意の業務である。業務処理は、こうした業務を行う際にコンピュータ１０が実行する処理である。
【００２５】
この例では、業務＃１の業務処理にアプリケーションプログラムＡＰＰ１が対応付けられ、アプリケーションプログラムＡＰＰ１にファイルＦ１１が対応付けられている。この情報は、業務＃１の業務処理でアプリケーションプログラムＡＰＰ１が利用され、アプリケーションプログラムＡＰＰ１がファイルＦ１１を利用する関係を示している。
【００２６】
また、この例では、業務＃２の業務処理にアプリケーションプログラムＡＰＰ２が対応付けられ、アプリケーションプログラムＡＰＰ２にファイルＦ２１、Ｆ２２が対応付けられている。この情報は、業務＃２の業務処理でアプリケーションプログラムＡＰＰ２が利用され、アプリケーションプログラムＡＰＰ２がファイルＦ２１、Ｆ２２を利用する関係を示している。
【００２７】
パッチプログラム１１ｂの適用は、アプリケーションプログラムまたはファイルの変更を伴う。図１に例示したパッチプログラム１１ｂは、（Ａ）ファイルＦ１１を修正し、（Ｂ）ファイルＦ３１を追加する処理をコンピュータ１０に実行させる。
【００２８】
ファイルＦ３１は、アプリケーションプログラムＡＰＰ３が利用するファイルである。また、ファイルＦ３１は、パッチプログラム１１ｂの適用後にアプリケーションプログラムＡＰＰ２にも利用される。つまり、パッチプログラム１１ｂは、（Ｃ）新たに追加するファイルＦ３１を介してアプリケーションプログラムＡＰＰ２、ＡＰＰ３を連携させる処理をコンピュータ１０に実行させる。
【００２９】
パッチプログラム１１ｂの適用に伴う処理は制御部１２が実行する。制御部１２は、パッチプログラム１１ｂを適用する場合に、変更されるアプリケーションプログラムまたはファイルを利用する業務処理に対応付けて記憶されたアプリケーションプログラムまたはファイルの情報を、パッチプログラム１１ｂに含まれるアプリケーションプログラムまたはファイルの情報に基づいて更新する。
【００３０】
図１の例では、パッチプログラム１１ｂを適用する場合、制御部１２は、（Ａ）修正済みのファイルで置換するなどの方法でファイルＦ１１を修正する。この修正に伴ってファイル名が変更された場合やファイルの格納場所が変更された場合、制御部１２は、管理情報１１ａに変更を反映させる。また、制御部１２は、（Ｂ）アプリケーションプログラムＡＰＰ２、ＡＰＰ３が参照できる場所（記憶部１１）にファイルＦ３１を格納する。
【００３１】
そして、制御部１２は、アプリケーションプログラムＡＰＰ３およびファイルＦ３１の情報を管理情報１１ａに追加する。このとき、制御部１２は、パッチプログラム１１ｂによる処理内容を示す情報（図１の例では（Ａ）から（Ｃ））を参照し、パッチプログラム１１ｂの適用後にファイルＦ３１を利用するアプリケーションプログラムＡＰＰ２を特定する。そして、制御部１２は、アプリケーションプログラムＡＰＰ２が属する業務＃２の業務処理を特定する。
【００３２】
また、制御部１２は、特定した業務＃２の業務処理に、ファイルＦ３１を利用するアプリケーションプログラムＡＰＰ３を対応付けるように管理情報１１ａを更新する。また、制御部１２は、アプリケーションプログラムＡＰＰ３とファイルＦ３１との対応関係を管理情報１１ａに追加する。なお、制御部１２は、図１に示すように、アプリケーションプログラムＡＰＰ２、ＡＰＰ３の連携関係を管理情報１１ａに追加してもよい。
【００３３】
上記のように、第１実施形態によれば、パッチプログラム１１ｂの適用に伴うアプリケーションプログラムまたはファイルと業務処理との対応関係の変化を管理情報１１ａに反映させることができる。そのため、新たにパッチプログラムを適用する際、管理情報１１ａを参照することで、変更を伴うアプリケーションプログラムまたはファイルが属する業務処理を容易に特定することが可能になる。その結果、パッチプログラムの適用時に停止を要する業務処理を管理情報１１ａに基づいて適切に特定でき、停止が不要な業務処理を停止させずに済むようになる。
【００３４】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態は、コンピュータ上で動作するアプリケーションプログラムに対して新機能の追加や不具合の修正などの修正を施すパッチプログラムを適用する際に停止する業務を適切に判断できるようにする方法に関する。
【００３５】
［２−１．ハードウェア］
第２実施形態に係る方法は、例えば、図２に示したハードウェアを有する情報処理装置１００により実現可能である。図２は、第２実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。
【００３６】
情報処理装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＭＰＵ（Micro Processing Unit）、またはＤＳＰである。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ、ＰＬＤなどの電子回路で実現してもよい。
【００３７】
メモリ１０２は、情報処理装置１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えば、ＲＡＭなどの揮発性の半導体記憶装置が使用される。
【００３８】
バス１０９に接続されている周辺機器としては、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３９】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、情報処理装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置（ＳＳＤ：Solid State Drive）を使用することもできる。
【００４０】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４１】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４２】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４３】
機器接続インタフェース１０７は、情報処理装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４４】
ネットワークインタフェース１０８は、内部ネットワーク２０に接続されている。ネットワークインタフェース１０８は、内部ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４５】
以上のようなハードウェア構成によって、情報処理装置１００を実現することができる。第１実施形態に係るコンピュータ１０の機能も、図２と同様のハードウェアにより実現できる。
【００４６】
情報処理装置１００は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２実施形態の処理機能を実現する。情報処理装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。
【００４７】
プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また、情報処理装置１００に実行させるプログラムは、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録されていてもよい。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４８】
以上、情報処理装置１００のハードウェアについて説明した。
［２−２．機能］
次に、図３を参照しながら、情報処理装置１００の機能について説明する。図３は、第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【００４９】
図３に示すように、情報処理装置１００は、記憶部１３１、ＡＰＰ実行部１３２、適用前処理部１３３、パッチ適用部１３４、および情報更新部１３５を有する。
記憶部１３１の機能は、上述したメモリ１０２やＨＤＤ１０３を用いて実現できる。ＡＰＰ実行部１３２、適用前処理部１３３、パッチ適用部１３４、および情報更新部１３５の機能は、上述したプロセッサ１０１などを用いて実現できる。
【００５０】
記憶部１３１は、プロセス管理情報１３１ａ、ファイル管理情報１３１ｂ、業務管理情報１３１ｃ、およびパッチデータ１３１ｄを有する。なお、記憶部１３１には、後述するＡＰＰ実行部１３２が実行するアプリケーションプログラムやアプリケーションプログラムの実行時に用いるファイルなども格納される。
【００５１】
プロセス管理情報１３１ａの一例を図４に示した。図４は、第２実施形態に係るプロセス管理情報の一例を示した図である。プロセス管理情報１３１ａは、アプリケーションプログラムが実行する命令の実体であるプロセスと、そのプロセスが利用するファイル（利用ファイル）とを対応付ける情報である。記憶部１３１には、情報処理装置１００で動作中のプロセス（動作プロセス）を識別するプロセスＩＤ（ＰＩＤ）と、各動作プロセスに対応する利用ファイルとを対応付けるプロセス管理情報１３１ａが格納される。
【００５２】
ファイル管理情報１３１ｂの一例を図５に示した。図５は、第２実施形態に係るファイル管理情報の一例を示した図である。ファイル管理情報１３１ｂは、情報処理装置１００で利用可能なファイルと、各ファイルのロック状態（ロック中／ロックなし）と、ロックしている動作プロセスとを対応付ける情報である。ファイルがロック中の場合、そのファイルをロックしている動作プロセスを停止させないと、そのファイルについてパッチプログラムの適用に伴うファイルの修正が行えない。
【００５３】
業務管理情報１３１ｃの一例を図６に示した。図６は、第２実施形態に係る業務管理情報の一例を示した図である。業務管理情報１３１ｃは、業務と、その業務で利用されるアプリケーションプログラム（利用プログラム）と、その利用プログラムに連携するアプリケーションプログラム（連携プログラム）と、その利用プログラムが利用するファイルとを対応付ける情報である。なお、図６に例示した業務管理情報１３１ｃは、連携プログラムの欄に連携元（連携するプログラムのうち連携を要求される側のプログラム）となるアプリケーションプログラムの情報が記録される。
【００５４】
パッチデータ１３１ｄの一例を図７に示した。図７は、第２実施形態に係るパッチデータの一例を示した図である。パッチデータ１３１ｄは、パッチプログラムの適用時に実行される処理の内容を示すデータである。
【００５５】
パッチデータ１３１ｄは、適用する処理の集合を識別するパッチ番号毎に、対象プログラム、連携プログラム、および適用対象ファイルの情報を含んでいる。対象プログラムの情報は、対象プログラムの名前および特定の変更内容を示すフラグを有する。連携プログラムの情報は、連携プログラムの名前および特定の変更内容を示すフラグを有する。適用対象ファイルの情報は、適用対象ファイルの名前および特定の変更内容を示すフラグを有する。
【００５６】
特定の変更内容は、例えば、追加、変名、削除、またはファイルの格納場所を示すパスの変更などである。追加は、アプリケーションプログラムまたはファイルの追加を示す。変名は、アプリケーションプログラムまたはファイルの名前変更を示す。削除は、アプリケーションプログラムまたはファイルの削除を示す。なお、変名のフラグが設定されている場合、変名後の名前がパッチデータ１３１ｄに記録されていてもよい。
【００５７】
再び図３を参照する。ＡＰＰ実行部１３２は、記憶部１３１に格納されたアプリケーションプログラムを実行する。また、ＡＰＰ実行部１３２は、アプリケーションプログラムの実行時に記憶部１３１に格納されたファイルを利用する。適用前処理部１３３は、パッチプログラムを適用する前に、適用に際して変更されるファイルをロックしているプロセスを停止させる処理などを実行する。このとき、適用前処理部１３３は、業務管理情報１３１ｃを利用して停止対象のプロセスを判断する。
【００５８】
パッチ適用部１３４は、パッチデータ１３１ｄに基づいてパッチプログラムを適用する。なお、業務が停止している時間帯に関する時間情報が記憶部１３１に格納されている場合、パッチ適用部１３４は、当該時間情報を参照して業務が停止している時間帯にパッチプログラムを適用する。時間情報は、例えば、業務毎に開始時刻と停止時刻とを含む。情報更新部１３５は、パッチプログラムの適用後に業務管理情報１３１ｃを更新する。このとき、情報更新部１３５は、パッチデータ１３１ｄを参照し、変更されたアプリケーションプログラムまたはファイルの情報を業務管理情報１３１ｃに反映させる。
【００５９】
（業務管理情報の更新方法）
ここで、図８〜図１０を参照しながら、業務管理情報１３１ｃの更新方法について、さらに説明する。図８は、第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第１の図である。図９は、第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第２の図である。図１０は、第２実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第３の図である。
【００６０】
図８は、パッチ番号００１のパッチプログラム（図７を参照）を適用した場合に、情報更新部１３５により変更される業務管理情報１３１ｃの内容を示している。このパッチプログラム（パッチプログラム００１）を適用すると、アプリケーションプログラムＡＰＰ３と連携するアプリケーションプログラムＡＰＰ５が追加される。また、アプリケーションプログラムＡＰＰ５が利用するファイルＤＤＤ．ｅｘｅが追加される。
【００６１】
この場合、業務管理情報１３１ｃには、図８に示すように、利用プログラムの欄にＡＰＰ５が追加され、対応する連携プログラムの欄にＡＰＰ３が追加され、対応する利用ファイルの欄にＤＤＤ．ｅｘｅが追加される。このとき、情報更新部１３５は、業務管理情報１３１ｃを参照し、アプリケーションプログラムＡＰＰ５と連携するアプリケーションプログラムＡＰＰ３の属する業務（この例では「受注業務」）を特定し、特定した業務にアプリケーションプログラムＡＰＰ５を対応付ける。
【００６２】
業務管理情報１３１ｃに基づく業務、アプリケーションプログラム、およびファイルの関係をツリー形式で表現すると図９のようになる。パッチデータ１３１ｄに基づくパッチ番号００１の処理は、（Ａ）ファイルＡＡＡ．ｄｌｌに対する修正、（Ｂ）アプリケーションプログラムＡＰＰ５が利用するファイルＤＤＤ．ｅｘｅの追加、（Ｄ）ファイルＣＣＣ．ｅｘｅの修正である。（Ｃ）ファイルＤＤＤ．ｅｘｅを介してアプリケーションプログラムＡＰＰ３、ＡＰＰ５は連携する。
【００６３】
図９の例では、ファイルＡＡＡ．ｄｌｌ、ＣＣＣ．ｅｘｅがロック中の状態にある。ロック中の状態にあるファイルは、ファイル管理情報１３１ｂに基づいて特定することができる。また、ファイルをロックしているプロセスは、プロセス管理情報１３１ａに基づいて特定することができる。適用前処理部１３３は、業務管理情報１３１ｃに基づいて修正を受けるファイルに対応する業務を特定し、特定した業務に対応するアプリケーションプログラムのプロセスを停止させる。
【００６４】
パッチ適用部１３４は、パッチデータ１３１ｄに基づいて（Ａ）ファイルＡＡＡ．ｄｌｌを修正し、（Ｂ）ファイルＤＤＤ．ｅｘｅを追加し、（Ｄ）ファイルＣＣＣ．ｅｘｅを修正する。そして、情報更新部１３５は、パッチプログラムの適用に伴う変更を業務管理情報１３１ｃに反映させる。このとき、情報更新部１３５は、（Ｃ）アプリケーションプログラムＡＰＰ３、ＡＰＰ５の連携を考慮し、アプリケーションプログラムＡＰＰ５をアプリケーションプログラムＡＰＰ３と同じ受注業務に対応付ける（図１０を参照）。
【００６５】
上記のように、情報更新部１３５は、パッチプログラムの適用時に新たなファイルやアプリケーションプログラムの追加を伴う場合、業務を軸にアプリケーションプログラム間の連携関係を考慮して業務管理情報１３１ｃが更新される。この業務管理情報１３１ｃを利用することで、新たにパッチプログラムを適用する場合に停止させるプロセスを適用前処理部１３３が業務単位で特定できるようになる。その結果、パッチプログラムの適用時に業務が異常停止するリスクを抑制できると共に、停止が不要な業務を停止させずに済むため、停止業務の数を低減することができる。
【００６６】
以上、情報処理装置１００の機能について説明した。
［２−３．処理フロー］
次に、図１１および図１２を参照しながら、パッチプログラムの適用時に情報処理装置１００が実行する処理の流れについて説明する。図１１は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第１のフロー図である。図１２は、第２実施形態に係る情報処理装置が実行する処理の流れを示した第２のフロー図である。
【００６７】
（Ｓ１０１）適用前処理部１３３は、適用対象のパッチプログラムを取得する。パッチプログラムが記憶部１３１に格納されている場合、適用前処理部１３３は、記憶部１３１から適用対象のパッチプログラムを読み出す。このとき、適用前処理部１３３は、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更の内容を示すパッチデータ１３１ｄを取得する。パッチデータ１３１ｄは、例えば、パッチプログラムに含まれている。
【００６８】
情報処理装置１００に直接またはネットワークを介して接続された他の機器（サーバやストレージ装置など）からパッチプログラムが提供される場合、適用前処理部１３３は、他の機器からパッチプログラムを取得する。
【００６９】
なお、パッチプログラムを適用するタイミングは、夜間などの業務の停止時間帯に設定されていてもよい。業務の開始時刻および終了時刻を示す時間情報を予め記憶部１３１に格納しておき、適用前処理部１３３が、その時間情報を参照して業務の停止時間帯を特定し、特定した業務停止時間帯に基づいてパッチプログラムの適用処理を開始するか否か判断してもよい。この場合、適用前処理部１３３は、業務毎の停止時間帯に基づき、パッチプログラムの適用に伴って停止される業務が停止中であると判断した場合に処理を開始する。
【００７０】
（Ｓ１０２）適用前処理部１３３は、Ｓ１０１で取得したパッチプログラムのうち、未選択のパッチプログラムを１つ選択する。
（Ｓ１０３）適用前処理部１３３は、適用対象のファイル（対象ファイル）を取得する。対象ファイルは、選択したパッチプログラムの適用に伴い変更されるファイルである。
【００７１】
例えば、ファイルを置換する変更の場合、適用前処理部１３３は、置き換える新たなファイルを取得する。ファイルを追加する変更の場合、適用前処理部１３３は、追加する新たなファイルを取得する。適用前処理部１３３は、新たなファイルが記憶部１３１に格納されている場合には記憶部１３１から新たなファイルを取得し、他の機器から提供される場合には他の機器から取得する。
【００７２】
（Ｓ１０４）適用前処理部１３３は、Ｓ１０３で取得した対象ファイルのうち、未選択の対象ファイルを１つ選択する。
（Ｓ１０５）適用前処理部１３３は、ファイル管理情報１３１ｂを参照し、Ｓ１０４で選択した対象ファイルがロック中か否かを判定する。対象ファイルがロック中である場合、処理は図１２のＳ１１１へと進む。一方、対象ファイルがロック中でない場合、処理はＳ１０６へと進む。
【００７３】
（Ｓ１０６）適用前処理部１３３は、Ｓ１０３で取得した対象ファイルを選択し終えたか否かを判定する。対象ファイルを選択し終えた場合、処理はＳ１０７へと進む。一方、未選択の対象ファイルがある場合、処理はＳ１０４へと進む。
【００７４】
（Ｓ１０７）適用前処理部１３３は、Ｓ１０３で取得した全ての対象ファイルがロックなしの状態であるか否かを判定する。全ての対象ファイルがロックなしの状態である場合、処理はＳ１０８へと進む。一方、ロック中の対象ファイルがある場合、処理はＳ１０２へと進む。ロック中の対象ファイルは変更できないため、この対象ファイルに対する変更を伴うパッチプログラムは適用されない。
【００７５】
（Ｓ１０８）パッチ適用部１３４は、Ｓ１０２で選択されたパッチプログラムを適用する。例えば、パッチ番号００１のパッチプログラム（図７を参照）を適用する場合、パッチ適用部１３４は、対象プログラムＡＰＰ２、ＡＰＰ３、ＡＰＰ４が利用する適用対象ファイルＡＡＡ．ｄｌｌ、ＢＢＢ．ｉｎｉ、ＣＣＣ．ｅｘｅを変更する。また、パッチ適用部１３４は、対象プログラムＡＰＰ５が利用する適用対象ファイルＤＤＤ．ｅｘｅを追加し、ＡＰＰ３とＡＰＰ５とを連携させる。
【００７６】
（Ｓ１０９）情報更新部１３５は、パッチプログラムの適用後におけるアプリケーションプログラムまたはファイルと業務との関係を業務管理情報１３１ｃに反映させるように、業務管理情報１３１ｃを更新する（図９および図１０を参照）。Ｓ１０９の処理については、後段においてさらに説明する。
【００７７】
（Ｓ１１０）適用前処理部１３３は、Ｓ１０１で取得したパッチプログラムを選択し終えたか否かを判定する。全てのパッチプログラムを選択し終えた場合、図１１および図１２に示した一連の処理は終了する。一方、未選択のパッチプログラムがある場合、処理はＳ１０２へと進む。
【００７８】
（Ｓ１１１）適用前処理部１３３は、ファイル管理情報１３１ｂを参照し、対象ファイルをロックしているプロセスのプロセスＩＤを取得する。
（Ｓ１１２）適用前処理部１３３は、ファイル管理情報１３１ｂを参照し、Ｓ１１１で取得したプロセスＩＤから実行ファイルを特定する。
【００７９】
（Ｓ１１３）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１１２で特定した実行ファイルに対応するプログラム（利用プログラムまたは連携プログラム）が業務管理情報１３１ｃにあるか否かを判定する。対応するプログラムが業務管理情報１３１ｃにある場合、処理はＳ１１５へと進む。一方、対応するプログラムが業務管理情報１３１ｃにない場合、処理はＳ１１４へと進む。
【００８０】
（Ｓ１１４）適用前処理部１３３は、対象ファイルをロックしているプロセスを停止させる。プロセスが停止することで、対象ファイルのロックが解除される。Ｓ１１４の処理が完了すると、処理はＳ１１のＳ１０４へと進む。
【００８１】
（Ｓ１１５）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１１２で特定した実行ファイルに対応するプログラムを利用する業務を特定する。Ｓ１１５で特定された業務は、パッチプログラムの適用に伴い停止される業務に該当する。
【００８２】
（Ｓ１１６）適用前処理部１３３は、停止対象の業務として、Ｓ１１５で特定した業務をモニタ２１に表示する。
（Ｓ１１７）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１１５で特定した業務で利用されるプログラム（利用プログラムおよび連携プログラム）を停止する。プログラムの停止に伴い、このプログラムが実行していた全てのプロセスが停止され、これらのプロセスによる対象ファイルのロックが解除される。Ｓ１１７の処理が完了すると、処理は図１１のＳ１０４へと進む。
【００８３】
（業務管理情報の更新処理の流れ）
ここで、図１３〜図１５を参照しながら、業務管理情報１３１ｃの更新に係る処理（Ｓ１０９参照）について、さらに説明する。
【００８４】
図１３は、第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第１のフロー図である。図１４は、第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第２のフロー図である。図１５は、第２実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第３のフロー図である。
【００８５】
（Ｓ１２１）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄからフラグが設定された対象プログラムを特定する。例えば、パッチ番号００１のパッチプログラム（図７を参照）を適用する場合、対象プログラムＡＰＰ５にフラグ「追加」が設定されている。この場合、適用前処理部１３３は、フラグが設定された対象プログラムとして対象プログラムＡＰＰ５を特定する。
【００８６】
（Ｓ１２２）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄに、フラグが設定された対象プログラムがあるか否かを判定する。フラグが設定された対象プログラムがある場合、処理はＳ１２３へと進む。一方、フラグが設定された対象プログラムがない場合、処理は図１４のＳ１２７へと進む。
【００８７】
（Ｓ１２３）適用前処理部１３３は、Ｓ１２１で特定した対象プログラムの中から未選択の対象プログラムを１つ選択する。
（Ｓ１２４）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１２３で選択した対象プログラムが業務管理情報１３１ｃにあるか否かを判定する。対象プログラムが業務管理情報１３１ｃにある場合、処理はＳ１２５へと進む。但し、対象プログラムに設定されたフラグが「追加」である場合、処理はＳ１２６へと進む。また、対象プログラムが業務管理情報１３１ｃにない場合、処理はＳ１２６へと進む。
【００８８】
（Ｓ１２５）情報更新部１３５は、業務管理情報１３１ｃにある対象プログラムの情報を更新する。対象プログラムのフラグが「追加」の場合にはＳ１２５へ処理が進まないため、Ｓ１２５ではフラグに設定された「変名」または「削除」を更新内容とする業務管理情報１３１ｃの更新が行われる。例えば、「変名」の場合には、利用プログラムの名前が変更される。「削除」の場合には、利用プログラムの情報が削除される。
【００８９】
（Ｓ１２６）適用前処理部１３３は、Ｓ１２１で特定した対象プログラムを選択し終えたか否かを判定する。対象プログラムを全て選択し終えた場合、処理は図１４のＳ１２７へと進む。一方、未選択の対象プログラムがある場合、処理はＳ１２３へと進む。
【００９０】
（Ｓ１２７）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄからフラグが設定された連携プログラムを特定する。例えば、パッチ番号００１のパッチプログラム（図７を参照）を適用する場合、連携プログラムＡＰＰ３、ＡＰＰ５にフラグ「追加」が設定されている。この場合、適用前処理部１３３は、フラグが設定された連携プログラムとして連携プログラムＡＰＰ３、ＡＰＰ５を特定する。
【００９１】
（Ｓ１２８）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄに、フラグが設定された連携プログラムがあるか否かを判定する。フラグが設定された連携プログラムがある場合、処理はＳ１２９へと進む。一方、フラグが設定された連携プログラムがない場合、処理は図１５のＳ１３５へと進む。
【００９２】
（Ｓ１２９）適用前処理部１３３は、Ｓ１２７で特定した連携プログラムの中から未選択の連携プログラムを１つ選択する。
（Ｓ１３０）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１２９で選択した連携プログラムが業務管理情報１３１ｃにあるか否かを判定する。連携プログラムが業務管理情報１３１ｃにある場合、処理はＳ１３１へと進む。一方、連携プログラムが業務管理情報１３１ｃにない場合、処理はＳ１３２へと進む。
【００９３】
（Ｓ１３１）情報更新部１３５は、業務管理情報１３１ｃにある連携プログラムの情報を更新する。Ｓ１３１ではフラグに設定された「追加」、「変名」、「削除」のいずれかを更新内容とする業務管理情報１３１ｃの更新が行われる。例えば、「追加」の場合には、連携プログラムの情報が追加される。「変名」の場合には、連携プログラムの名前が変更される。「削除」の場合には、連携プログラムの情報が削除される。Ｓ１３１の処理が完了すると、処理はＳ１３４へと進む。
【００９４】
（Ｓ１３２）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１２９で選択した連携プログラムに対応する対象プログラムが業務管理情報１３１ｃにあるか否かを判定する。対象プログラムが業務管理情報１３１ｃにある場合、処理はＳ１３３へと進む。一方、対象プログラムが業務管理情報１３１ｃにない場合、処理はＳ１３４へと進む。
【００９５】
（Ｓ１３３）情報更新部１３５は、業務管理情報１３１ｃについて、Ｓ１２９で選択した連携プログラムに対応する対象プログラムと同じ業務の下に連携プログラムの情報を追加し、連携元となる連携プログラムの情報を更新する（図８を参照）。
【００９６】
（Ｓ１３４）適用前処理部１３３は、Ｓ１２７で特定した連携プログラムを選択し終えたか否かを判定する。連携プログラムを全て選択し終えた場合、処理は図１５のＳ１３５へと進む。一方、未選択の対象プログラムがある場合、処理はＳ１２９へと進む。
【００９７】
（Ｓ１３５）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄからフラグが設定された適用対象ファイルを特定する。例えば、パッチ番号００１のパッチプログラム（図７を参照）を適用する場合、適用対象ファイルＤＤＤ．ｅｘｅにフラグ「追加」が設定されている。この場合、適用前処理部１３３は、フラグが設定された適用対象ファイルとして適用対象ファイルＤＤＤ．ｅｘｅを特定する。
【００９８】
（Ｓ１３６）適用前処理部１３３は、適用対象のパッチプログラムのパッチデータ１３１ｄに、フラグが設定された適用対象ファイルがあるか否かを判定する。フラグが設定された適用対象ファイルがある場合、処理はＳ１３７へと進む。一方、フラグが設定された適用対象ファイルがない場合、処理は図１３〜図１５に示した一連の処理は終了する。
【００９９】
（Ｓ１３７）適用前処理部１３３は、Ｓ１３５で特定した適用対象ファイルの中から未選択の適用対象ファイルを１つ選択する。
（Ｓ１３８）適用前処理部１３３は、業務管理情報１３１ｃを参照し、Ｓ１３７で選択した適用対象ファイルが業務管理情報１３１ｃにあるか否かを判定する。適用対象ファイルが業務管理情報１３１ｃにある場合、処理はＳ１３９へと進む。一方、適用対象ファイルが業務管理情報１３１ｃにない場合、処理はＳ１４０へと進む。
【０１００】
（Ｓ１３９）情報更新部１３５は、業務管理情報１３１ｃにある適用対象ファイルの情報を更新する。例えば、「追加」の場合には、適用対象ファイルの情報が追加される。「変名」の場合には、適用対象ファイルの名前が変更される。「削除」の場合には、適用対象ファイルの情報が削除される。
【０１０１】
（Ｓ１４０）適用前処理部１３３は、Ｓ１３５で特定した適用対象ファイルを選択し終えたか否かを判定する。適用対象ファイルを全て選択し終えた場合、図１３〜図１５に示した一連の処理は終了する。一方、未選択の適用対象ファイルがある場合、処理はＳ１３７へと進む。
【０１０２】
以上、情報処理装置１００が実行する処理の流れについて説明した。
上記のように、第２実施形態によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルと業務との対応関係の変化を業務管理情報１３１ｃに反映させることができる。そのため、新たにパッチプログラムを適用する際、業務管理情報１３１ｃを参照することで、変更を伴うアプリケーションプログラムまたはファイルが属する業務を容易に特定することが可能になる。その結果、パッチプログラムの適用時に停止を要する業務を業務管理情報１３１ｃに基づいて適切に特定でき、停止が不要な業務を停止させずに済むようになる。
【０１０３】
以上、第２実施形態について説明した。
【符号の説明】
【０１０４】
１０  コンピュータ
１１  記憶部
１１ａ  管理情報
１１ｂ  パッチプログラム
１２  制御部
ＡＰＰ１、ＡＰＰ２、ＡＰＰ３  アプリケーションプログラム
Ｆ１１、Ｆ２１、Ｆ２２、Ｆ３１  ファイル
【図１】
0006451465.tif 000002
【図２】
0006451465.tif 000003
【図３】
0006451465.tif 000004
【図４】
0006451465.tif 000005
【図５】
0006451465.tif 000006
【図６】
0006451465.tif 000007
【図７】
0006451465.tif 000008
【図８】
0006451465.tif 000009
【図９】
0006451465.tif 000010
【図１０】
0006451465.tif 000011
【図１１】
0006451465.tif 000012
【図１２】
0006451465.tif 000013
【図１３】
0006451465.tif 000014
【図１４】
0006451465.tif 000015
【図１５】
0006451465.tif 000016