JP6451465B2 - プログラム、更新制御方法、および更新制御装置 - Google Patents

プログラム、更新制御方法、および更新制御装置 Download PDF

Info

Publication number
JP6451465B2
JP6451465B2 JP2015076834A JP2015076834A JP6451465B2 JP 6451465 B2 JP6451465 B2 JP 6451465B2 JP 2015076834 A JP2015076834 A JP 2015076834A JP 2015076834 A JP2015076834 A JP 2015076834A JP 6451465 B2 JP6451465 B2 JP 6451465B2
Authority
JP
Japan
Prior art keywords
program
application
file
application program
patch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015076834A
Other languages
English (en)
Other versions
JP2016197326A (ja
Inventor
文彦 諏訪部
文彦 諏訪部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015076834A priority Critical patent/JP6451465B2/ja
Priority to US15/050,884 priority patent/US20160291961A1/en
Publication of JP2016197326A publication Critical patent/JP2016197326A/ja
Application granted granted Critical
Publication of JP6451465B2 publication Critical patent/JP6451465B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラム、更新制御方法、および更新制御装置に関する。
新機能の追加、安定性の向上、セキュリティの向上など様々な理由でコンピュータにインストールされたアプリケーションプログラムに修正が加えられることがある。こうしたアプリケーションプログラムに対する修正は、例えば、新たなファイルを追加する処理や修正対象のファイルを置換する処理を実行するパッチプログラムを用いて行われる。
アプリケーションプログラムは使用中のファイルをロックし、使用中に他のプログラムにより変更されないようにする。そのため、パッチプログラムを適用する場合、修正対象のファイルを使用しているアプリケーションプログラムを停止する処理が実行される。アプリケーションプログラムの停止は業務の中断などを伴うため、パッチプログラムの適用に際して停止されるアプリケーションプログラムの数は少ないことが望ましい。
ユーザが行う業務は、1つまたは複数のアプリケーションプログラムを利用して行われる。複数のアプリケーションプログラムを利用する業務の場合、パッチプログラムの適用に伴って停止されるアプリケーションプログラムが、業務で利用されるアプリケーションプログラムの一部であっても業務全体に影響する。
パッチプログラムの適用に伴う業務の停止に関し、仮想ディスクの使用状況、次回起動時刻、パッチ適用状況などを管理し、未使用状態にある仮想ディスクにパッチプログラムを適用することで、業務の停止時間を短縮する方法が提案されている。
なお、パッチプログラムの適用による不具合の発生を抑制する技術に関し、パッチプログラムを適用するサーバのリソースの情報と、パッチプログラムがアクセスするリソースの情報とに基づいて、パッチプログラムの適用可否を判定する方法が提案されている。
特開2009−289095号公報 特開2014−013457号公報
業務で利用される複数のアプリケーションプログラムは連携して処理を実行することがある。そのため、パッチプログラムを適用する際には、業務を軸としたアプリケーションプログラムの連携を考慮して適切なアプリケーションプログラムの停止を行わなければ、業務の異常停止などを招くリスクがある。
パッチプログラムは、個々のファイルを修正するだけでなく、例えば、ファイルとアプリケーションプログラムとの対応関係を修正する処理や、新たなファイルを追加してアプリケーションプログラムとの対応関係を追加する処理を実行することがある。パッチプログラムの適用時に全ての業務で利用されるアプリケーションプログラムを停止させれば、上述した異常停止などのリスクは生じにくいが、パッチプログラムの適用に影響を受ける業務の範囲が広くなる。
パッチプログラムの適用により動的に変化する業務とアプリケーションプログラムとの対応関係を適切に管理することができれば、パッチプログラムの適用時に業務単位で停止対象のアプリケーションプログラムを特定することができる。その結果、パッチプログラムの適用による業務への影響を低減することが可能になる。
一態様によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更があってもアプリケーションプログラムまたはファイルと業務処理との対応関係を適切に管理することを目的とする。
1つの態様によれば、コンピュータが、一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムまたはファイルに関する情報とを対応付けて記憶部に記憶し、アプリケーションプログラムまたはファイルの変更を伴うパッチプログラムを適用する場合に、変更されるアプリケーションプログラムまたはファイルを利用する業務処理に対応付けて記憶されたアプリケーションプログラムまたはファイルの情報を、パッチプログラムに含まれるアプリケーションプログラムまたはファイルの情報に基づいて更新する更新制御方法が提供される。
本発明によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更があってもアプリケーションプログラムまたはファイルと業務処理との対応関係を適切に管理することができる。
第1実施形態に係るコンピュータの一例を示した図である。 第2実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。 第2実施形態に係るプロセス管理情報の一例を示した図である。 第2実施形態に係るファイル管理情報の一例を示した図である。 第2実施形態に係る業務管理情報の一例を示した図である。 第2実施形態に係るパッチデータの一例を示した図である。 第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第1の図である。 第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第2の図である。 第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第3の図である。 第2実施形態に係る情報処理装置が実行する処理の流れを示した第1のフロー図である。 第2実施形態に係る情報処理装置が実行する処理の流れを示した第2のフロー図である。 第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第1のフロー図である。 第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第2のフロー図である。 第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第3のフロー図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書および図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係るコンピュータの一例を示した図である。
第1実施形態は、コンピュータ上で動作するアプリケーションプログラムに対して新機能の追加や不具合の修正などの修正を施すパッチプログラムを適用する際に停止する業務を適切に判断できるようにする方法に関する。
パッチプログラムの適用は、適用時に変更されるアプリケーションプログラムおよび変更されるファイルを使用中のアプリケーションプログラムを停止してから実行される。停止対象のアプリケーションプログラムを利用しているユーザの作業やコンピュータの処理は、パッチプログラムの適用に伴い停止されることになる。そのため、パッチプログラムを適用する際に停止されるアプリケーションプログラムは少ないことが好ましい。
ユーザがコンピュータを用いて行う業務は、一または複数のアプリケーションプログラムまたはファイルを利用して行われる。業務に伴いコンピュータが実行する処理(業務処理)で複数のアプリケーションプログラムが利用されている場合、少なくとも1つのアプリケーションプログラムが停止対象になると業務が中断される。そのため、パッチプログラムの適用時に停止される業務処理は少ないことが好ましい。
また、修正対象のアプリケーションプログラムと同じ業務処理に用いられる他のアプリケーションプログラムがあり、両者が連携して動作する場合には、後者を停止させずにパッチプログラムを適用することにより業務処理が異常停止するリスクがある。例えば、連携の対象となるアプリケーションプログラムや利用中のファイルに削除や置換などの変更が行われると、連携の維持やファイルの参照が行えなくなることがある。
第1実施形態では、業務処理を基準としてアプリケーションプログラムまたはファイルに関する情報を管理する仕組みを提供し、パッチプログラムの適用時に上記のようなリスクを抑制すると共に効率的にパッチプログラムを適用できるようにする方法を提案する。この方法は、例えば、図1に例示したコンピュータ10により実現可能である。
コンピュータ10は、記憶部11および制御部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。制御部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、制御部12は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)などの電子回路であってもよい。制御部12は、例えば、記憶部11または他のメモリに記憶されたプログラムを実行する。
記憶部11は、管理情報11aおよびパッチプログラム11bを有する。
管理情報11aは、一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムまたはファイルに関する情報とを対応付ける。図1の例では説明の都合上、ツリー構造で管理情報11aにおける業務とアプリケーションプログラムまたはファイルの対応関係を示しているが、記憶部11は、当該対応関係をテーブル形式で表現した管理情報11aを記憶してもよい。
図1には、業務#1、#2に係る業務処理の管理情報11aを例示した。業務#1、#2は、例えば、経理業務、受注業務、在庫管理業務、配送業務などの任意の業務である。業務処理は、こうした業務を行う際にコンピュータ10が実行する処理である。
この例では、業務#1の業務処理にアプリケーションプログラムAPP1が対応付けられ、アプリケーションプログラムAPP1にファイルF11が対応付けられている。この情報は、業務#1の業務処理でアプリケーションプログラムAPP1が利用され、アプリケーションプログラムAPP1がファイルF11を利用する関係を示している。
また、この例では、業務#2の業務処理にアプリケーションプログラムAPP2が対応付けられ、アプリケーションプログラムAPP2にファイルF21、F22が対応付けられている。この情報は、業務#2の業務処理でアプリケーションプログラムAPP2が利用され、アプリケーションプログラムAPP2がファイルF21、F22を利用する関係を示している。
パッチプログラム11bの適用は、アプリケーションプログラムまたはファイルの変更を伴う。図1に例示したパッチプログラム11bは、(A)ファイルF11を修正し、(B)ファイルF31を追加する処理をコンピュータ10に実行させる。
ファイルF31は、アプリケーションプログラムAPP3が利用するファイルである。また、ファイルF31は、パッチプログラム11bの適用後にアプリケーションプログラムAPP2にも利用される。つまり、パッチプログラム11bは、(C)新たに追加するファイルF31を介してアプリケーションプログラムAPP2、APP3を連携させる処理をコンピュータ10に実行させる。
パッチプログラム11bの適用に伴う処理は制御部12が実行する。制御部12は、パッチプログラム11bを適用する場合に、変更されるアプリケーションプログラムまたはファイルを利用する業務処理に対応付けて記憶されたアプリケーションプログラムまたはファイルの情報を、パッチプログラム11bに含まれるアプリケーションプログラムまたはファイルの情報に基づいて更新する。
図1の例では、パッチプログラム11bを適用する場合、制御部12は、(A)修正済みのファイルで置換するなどの方法でファイルF11を修正する。この修正に伴ってファイル名が変更された場合やファイルの格納場所が変更された場合、制御部12は、管理情報11aに変更を反映させる。また、制御部12は、(B)アプリケーションプログラムAPP2、APP3が参照できる場所(記憶部11)にファイルF31を格納する。
そして、制御部12は、アプリケーションプログラムAPP3およびファイルF31の情報を管理情報11aに追加する。このとき、制御部12は、パッチプログラム11bによる処理内容を示す情報(図1の例では(A)から(C))を参照し、パッチプログラム11bの適用後にファイルF31を利用するアプリケーションプログラムAPP2を特定する。そして、制御部12は、アプリケーションプログラムAPP2が属する業務#2の業務処理を特定する。
また、制御部12は、特定した業務#2の業務処理に、ファイルF31を利用するアプリケーションプログラムAPP3を対応付けるように管理情報11aを更新する。また、制御部12は、アプリケーションプログラムAPP3とファイルF31との対応関係を管理情報11aに追加する。なお、制御部12は、図1に示すように、アプリケーションプログラムAPP2、APP3の連携関係を管理情報11aに追加してもよい。
上記のように、第1実施形態によれば、パッチプログラム11bの適用に伴うアプリケーションプログラムまたはファイルと業務処理との対応関係の変化を管理情報11aに反映させることができる。そのため、新たにパッチプログラムを適用する際、管理情報11aを参照することで、変更を伴うアプリケーションプログラムまたはファイルが属する業務処理を容易に特定することが可能になる。その結果、パッチプログラムの適用時に停止を要する業務処理を管理情報11aに基づいて適切に特定でき、停止が不要な業務処理を停止させずに済むようになる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、コンピュータ上で動作するアプリケーションプログラムに対して新機能の追加や不具合の修正などの修正を施すパッチプログラムを適用する際に停止する業務を適切に判断できるようにする方法に関する。
[2−1.ハードウェア]
第2実施形態に係る方法は、例えば、図2に示したハードウェアを有する情報処理装置100により実現可能である。図2は、第2実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。
情報処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSPである。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
メモリ102は、情報処理装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAMなどの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、情報処理装置100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置(SSD:Solid State Drive)を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、情報処理装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、内部ネットワーク20に接続されている。ネットワークインタフェース108は、内部ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、情報処理装置100を実現することができる。第1実施形態に係るコンピュータ10の機能も、図2と同様のハードウェアにより実現できる。
情報処理装置100は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2実施形態の処理機能を実現する。情報処理装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100に実行させるプログラムをHDD103に格納しておくことができる。
プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また、情報処理装置100に実行させるプログラムは、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録されていてもよい。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
以上、情報処理装置100のハードウェアについて説明した。
[2−2.機能]
次に、図3を参照しながら、情報処理装置100の機能について説明する。図3は、第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
図3に示すように、情報処理装置100は、記憶部131、APP実行部132、適用前処理部133、パッチ適用部134、および情報更新部135を有する。
記憶部131の機能は、上述したメモリ102やHDD103を用いて実現できる。APP実行部132、適用前処理部133、パッチ適用部134、および情報更新部135の機能は、上述したプロセッサ101などを用いて実現できる。
記憶部131は、プロセス管理情報131a、ファイル管理情報131b、業務管理情報131c、およびパッチデータ131dを有する。なお、記憶部131には、後述するAPP実行部132が実行するアプリケーションプログラムやアプリケーションプログラムの実行時に用いるファイルなども格納される。
プロセス管理情報131aの一例を図4に示した。図4は、第2実施形態に係るプロセス管理情報の一例を示した図である。プロセス管理情報131aは、アプリケーションプログラムが実行する命令の実体であるプロセスと、そのプロセスが利用するファイル(利用ファイル)とを対応付ける情報である。記憶部131には、情報処理装置100で動作中のプロセス(動作プロセス)を識別するプロセスID(PID)と、各動作プロセスに対応する利用ファイルとを対応付けるプロセス管理情報131aが格納される。
ファイル管理情報131bの一例を図5に示した。図5は、第2実施形態に係るファイル管理情報の一例を示した図である。ファイル管理情報131bは、情報処理装置100で利用可能なファイルと、各ファイルのロック状態(ロック中/ロックなし)と、ロックしている動作プロセスとを対応付ける情報である。ファイルがロック中の場合、そのファイルをロックしている動作プロセスを停止させないと、そのファイルについてパッチプログラムの適用に伴うファイルの修正が行えない。
業務管理情報131cの一例を図6に示した。図6は、第2実施形態に係る業務管理情報の一例を示した図である。業務管理情報131cは、業務と、その業務で利用されるアプリケーションプログラム(利用プログラム)と、その利用プログラムに連携するアプリケーションプログラム(連携プログラム)と、その利用プログラムが利用するファイルとを対応付ける情報である。なお、図6に例示した業務管理情報131cは、連携プログラムの欄に連携元(連携するプログラムのうち連携を要求される側のプログラム)となるアプリケーションプログラムの情報が記録される。
パッチデータ131dの一例を図7に示した。図7は、第2実施形態に係るパッチデータの一例を示した図である。パッチデータ131dは、パッチプログラムの適用時に実行される処理の内容を示すデータである。
パッチデータ131dは、適用する処理の集合を識別するパッチ番号毎に、対象プログラム、連携プログラム、および適用対象ファイルの情報を含んでいる。対象プログラムの情報は、対象プログラムの名前および特定の変更内容を示すフラグを有する。連携プログラムの情報は、連携プログラムの名前および特定の変更内容を示すフラグを有する。適用対象ファイルの情報は、適用対象ファイルの名前および特定の変更内容を示すフラグを有する。
特定の変更内容は、例えば、追加、変名、削除、またはファイルの格納場所を示すパスの変更などである。追加は、アプリケーションプログラムまたはファイルの追加を示す。変名は、アプリケーションプログラムまたはファイルの名前変更を示す。削除は、アプリケーションプログラムまたはファイルの削除を示す。なお、変名のフラグが設定されている場合、変名後の名前がパッチデータ131dに記録されていてもよい。
再び図3を参照する。APP実行部132は、記憶部131に格納されたアプリケーションプログラムを実行する。また、APP実行部132は、アプリケーションプログラムの実行時に記憶部131に格納されたファイルを利用する。適用前処理部133は、パッチプログラムを適用する前に、適用に際して変更されるファイルをロックしているプロセスを停止させる処理などを実行する。このとき、適用前処理部133は、業務管理情報131cを利用して停止対象のプロセスを判断する。
パッチ適用部134は、パッチデータ131dに基づいてパッチプログラムを適用する。なお、業務が停止している時間帯に関する時間情報が記憶部131に格納されている場合、パッチ適用部134は、当該時間情報を参照して業務が停止している時間帯にパッチプログラムを適用する。時間情報は、例えば、業務毎に開始時刻と停止時刻とを含む。情報更新部135は、パッチプログラムの適用後に業務管理情報131cを更新する。このとき、情報更新部135は、パッチデータ131dを参照し、変更されたアプリケーションプログラムまたはファイルの情報を業務管理情報131cに反映させる。
(業務管理情報の更新方法)
ここで、図8〜図10を参照しながら、業務管理情報131cの更新方法について、さらに説明する。図8は、第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第1の図である。図9は、第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第2の図である。図10は、第2実施形態に係るパッチプログラムの適用時に実行する業務管理情報の更新方法について説明するための第3の図である。
図8は、パッチ番号001のパッチプログラム(図7を参照)を適用した場合に、情報更新部135により変更される業務管理情報131cの内容を示している。このパッチプログラム(パッチプログラム001)を適用すると、アプリケーションプログラムAPP3と連携するアプリケーションプログラムAPP5が追加される。また、アプリケーションプログラムAPP5が利用するファイルDDD.exeが追加される。
この場合、業務管理情報131cには、図8に示すように、利用プログラムの欄にAPP5が追加され、対応する連携プログラムの欄にAPP3が追加され、対応する利用ファイルの欄にDDD.exeが追加される。このとき、情報更新部135は、業務管理情報131cを参照し、アプリケーションプログラムAPP5と連携するアプリケーションプログラムAPP3の属する業務(この例では「受注業務」)を特定し、特定した業務にアプリケーションプログラムAPP5を対応付ける。
業務管理情報131cに基づく業務、アプリケーションプログラム、およびファイルの関係をツリー形式で表現すると図9のようになる。パッチデータ131dに基づくパッチ番号001の処理は、(A)ファイルAAA.dllに対する修正、(B)アプリケーションプログラムAPP5が利用するファイルDDD.exeの追加、(D)ファイルCCC.exeの修正である。(C)ファイルDDD.exeを介してアプリケーションプログラムAPP3、APP5は連携する。
図9の例では、ファイルAAA.dll、CCC.exeがロック中の状態にある。ロック中の状態にあるファイルは、ファイル管理情報131bに基づいて特定することができる。また、ファイルをロックしているプロセスは、プロセス管理情報131aに基づいて特定することができる。適用前処理部133は、業務管理情報131cに基づいて修正を受けるファイルに対応する業務を特定し、特定した業務に対応するアプリケーションプログラムのプロセスを停止させる。
パッチ適用部134は、パッチデータ131dに基づいて(A)ファイルAAA.dllを修正し、(B)ファイルDDD.exeを追加し、(D)ファイルCCC.exeを修正する。そして、情報更新部135は、パッチプログラムの適用に伴う変更を業務管理情報131cに反映させる。このとき、情報更新部135は、(C)アプリケーションプログラムAPP3、APP5の連携を考慮し、アプリケーションプログラムAPP5をアプリケーションプログラムAPP3と同じ受注業務に対応付ける(図10を参照)。
上記のように、情報更新部135は、パッチプログラムの適用時に新たなファイルやアプリケーションプログラムの追加を伴う場合、業務を軸にアプリケーションプログラム間の連携関係を考慮して業務管理情報131cが更新される。この業務管理情報131cを利用することで、新たにパッチプログラムを適用する場合に停止させるプロセスを適用前処理部133が業務単位で特定できるようになる。その結果、パッチプログラムの適用時に業務が異常停止するリスクを抑制できると共に、停止が不要な業務を停止させずに済むため、停止業務の数を低減することができる。
以上、情報処理装置100の機能について説明した。
[2−3.処理フロー]
次に、図11および図12を参照しながら、パッチプログラムの適用時に情報処理装置100が実行する処理の流れについて説明する。図11は、第2実施形態に係る情報処理装置が実行する処理の流れを示した第1のフロー図である。図12は、第2実施形態に係る情報処理装置が実行する処理の流れを示した第2のフロー図である。
(S101)適用前処理部133は、適用対象のパッチプログラムを取得する。パッチプログラムが記憶部131に格納されている場合、適用前処理部133は、記憶部131から適用対象のパッチプログラムを読み出す。このとき、適用前処理部133は、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルの変更の内容を示すパッチデータ131dを取得する。パッチデータ131dは、例えば、パッチプログラムに含まれている。
情報処理装置100に直接またはネットワークを介して接続された他の機器(サーバやストレージ装置など)からパッチプログラムが提供される場合、適用前処理部133は、他の機器からパッチプログラムを取得する。
なお、パッチプログラムを適用するタイミングは、夜間などの業務の停止時間帯に設定されていてもよい。業務の開始時刻および終了時刻を示す時間情報を予め記憶部131に格納しておき、適用前処理部133が、その時間情報を参照して業務の停止時間帯を特定し、特定した業務停止時間帯に基づいてパッチプログラムの適用処理を開始するか否か判断してもよい。この場合、適用前処理部133は、業務毎の停止時間帯に基づき、パッチプログラムの適用に伴って停止される業務が停止中であると判断した場合に処理を開始する。
(S102)適用前処理部133は、S101で取得したパッチプログラムのうち、未選択のパッチプログラムを1つ選択する。
(S103)適用前処理部133は、適用対象のファイル(対象ファイル)を取得する。対象ファイルは、選択したパッチプログラムの適用に伴い変更されるファイルである。
例えば、ファイルを置換する変更の場合、適用前処理部133は、置き換える新たなファイルを取得する。ファイルを追加する変更の場合、適用前処理部133は、追加する新たなファイルを取得する。適用前処理部133は、新たなファイルが記憶部131に格納されている場合には記憶部131から新たなファイルを取得し、他の機器から提供される場合には他の機器から取得する。
(S104)適用前処理部133は、S103で取得した対象ファイルのうち、未選択の対象ファイルを1つ選択する。
(S105)適用前処理部133は、ファイル管理情報131bを参照し、S104で選択した対象ファイルがロック中か否かを判定する。対象ファイルがロック中である場合、処理は図12のS111へと進む。一方、対象ファイルがロック中でない場合、処理はS106へと進む。
(S106)適用前処理部133は、S103で取得した対象ファイルを選択し終えたか否かを判定する。対象ファイルを選択し終えた場合、処理はS107へと進む。一方、未選択の対象ファイルがある場合、処理はS104へと進む。
(S107)適用前処理部133は、S103で取得した全ての対象ファイルがロックなしの状態であるか否かを判定する。全ての対象ファイルがロックなしの状態である場合、処理はS108へと進む。一方、ロック中の対象ファイルがある場合、処理はS102へと進む。ロック中の対象ファイルは変更できないため、この対象ファイルに対する変更を伴うパッチプログラムは適用されない。
(S108)パッチ適用部134は、S102で選択されたパッチプログラムを適用する。例えば、パッチ番号001のパッチプログラム(図7を参照)を適用する場合、パッチ適用部134は、対象プログラムAPP2、APP3、APP4が利用する適用対象ファイルAAA.dll、BBB.ini、CCC.exeを変更する。また、パッチ適用部134は、対象プログラムAPP5が利用する適用対象ファイルDDD.exeを追加し、APP3とAPP5とを連携させる。
(S109)情報更新部135は、パッチプログラムの適用後におけるアプリケーションプログラムまたはファイルと業務との関係を業務管理情報131cに反映させるように、業務管理情報131cを更新する(図9および図10を参照)。S109の処理については、後段においてさらに説明する。
(S110)適用前処理部133は、S101で取得したパッチプログラムを選択し終えたか否かを判定する。全てのパッチプログラムを選択し終えた場合、図11および図12に示した一連の処理は終了する。一方、未選択のパッチプログラムがある場合、処理はS102へと進む。
(S111)適用前処理部133は、ファイル管理情報131bを参照し、対象ファイルをロックしているプロセスのプロセスIDを取得する。
(S112)適用前処理部133は、ファイル管理情報131bを参照し、S111で取得したプロセスIDから実行ファイルを特定する。
(S113)適用前処理部133は、業務管理情報131cを参照し、S112で特定した実行ファイルに対応するプログラム(利用プログラムまたは連携プログラム)が業務管理情報131cにあるか否かを判定する。対応するプログラムが業務管理情報131cにある場合、処理はS115へと進む。一方、対応するプログラムが業務管理情報131cにない場合、処理はS114へと進む。
(S114)適用前処理部133は、対象ファイルをロックしているプロセスを停止させる。プロセスが停止することで、対象ファイルのロックが解除される。S114の処理が完了すると、処理はS11のS104へと進む。
(S115)適用前処理部133は、業務管理情報131cを参照し、S112で特定した実行ファイルに対応するプログラムを利用する業務を特定する。S115で特定された業務は、パッチプログラムの適用に伴い停止される業務に該当する。
(S116)適用前処理部133は、停止対象の業務として、S115で特定した業務をモニタ21に表示する。
(S117)適用前処理部133は、業務管理情報131cを参照し、S115で特定した業務で利用されるプログラム(利用プログラムおよび連携プログラム)を停止する。プログラムの停止に伴い、このプログラムが実行していた全てのプロセスが停止され、これらのプロセスによる対象ファイルのロックが解除される。S117の処理が完了すると、処理は図11のS104へと進む。
(業務管理情報の更新処理の流れ)
ここで、図13〜図15を参照しながら、業務管理情報131cの更新に係る処理(S109参照)について、さらに説明する。
図13は、第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第1のフロー図である。図14は、第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第2のフロー図である。図15は、第2実施形態に係る情報処理装置が実行する業務管理情報の更新処理の流れを示した第3のフロー図である。
(S121)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dからフラグが設定された対象プログラムを特定する。例えば、パッチ番号001のパッチプログラム(図7を参照)を適用する場合、対象プログラムAPP5にフラグ「追加」が設定されている。この場合、適用前処理部133は、フラグが設定された対象プログラムとして対象プログラムAPP5を特定する。
(S122)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dに、フラグが設定された対象プログラムがあるか否かを判定する。フラグが設定された対象プログラムがある場合、処理はS123へと進む。一方、フラグが設定された対象プログラムがない場合、処理は図14のS127へと進む。
(S123)適用前処理部133は、S121で特定した対象プログラムの中から未選択の対象プログラムを1つ選択する。
(S124)適用前処理部133は、業務管理情報131cを参照し、S123で選択した対象プログラムが業務管理情報131cにあるか否かを判定する。対象プログラムが業務管理情報131cにある場合、処理はS125へと進む。但し、対象プログラムに設定されたフラグが「追加」である場合、処理はS126へと進む。また、対象プログラムが業務管理情報131cにない場合、処理はS126へと進む。
(S125)情報更新部135は、業務管理情報131cにある対象プログラムの情報を更新する。対象プログラムのフラグが「追加」の場合にはS125へ処理が進まないため、S125ではフラグに設定された「変名」または「削除」を更新内容とする業務管理情報131cの更新が行われる。例えば、「変名」の場合には、利用プログラムの名前が変更される。「削除」の場合には、利用プログラムの情報が削除される。
(S126)適用前処理部133は、S121で特定した対象プログラムを選択し終えたか否かを判定する。対象プログラムを全て選択し終えた場合、処理は図14のS127へと進む。一方、未選択の対象プログラムがある場合、処理はS123へと進む。
(S127)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dからフラグが設定された連携プログラムを特定する。例えば、パッチ番号001のパッチプログラム(図7を参照)を適用する場合、連携プログラムAPP3、APP5にフラグ「追加」が設定されている。この場合、適用前処理部133は、フラグが設定された連携プログラムとして連携プログラムAPP3、APP5を特定する。
(S128)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dに、フラグが設定された連携プログラムがあるか否かを判定する。フラグが設定された連携プログラムがある場合、処理はS129へと進む。一方、フラグが設定された連携プログラムがない場合、処理は図15のS135へと進む。
(S129)適用前処理部133は、S127で特定した連携プログラムの中から未選択の連携プログラムを1つ選択する。
(S130)適用前処理部133は、業務管理情報131cを参照し、S129で選択した連携プログラムが業務管理情報131cにあるか否かを判定する。連携プログラムが業務管理情報131cにある場合、処理はS131へと進む。一方、連携プログラムが業務管理情報131cにない場合、処理はS132へと進む。
(S131)情報更新部135は、業務管理情報131cにある連携プログラムの情報を更新する。S131ではフラグに設定された「追加」、「変名」、「削除」のいずれかを更新内容とする業務管理情報131cの更新が行われる。例えば、「追加」の場合には、連携プログラムの情報が追加される。「変名」の場合には、連携プログラムの名前が変更される。「削除」の場合には、連携プログラムの情報が削除される。S131の処理が完了すると、処理はS134へと進む。
(S132)適用前処理部133は、業務管理情報131cを参照し、S129で選択した連携プログラムに対応する対象プログラムが業務管理情報131cにあるか否かを判定する。対象プログラムが業務管理情報131cにある場合、処理はS133へと進む。一方、対象プログラムが業務管理情報131cにない場合、処理はS134へと進む。
(S133)情報更新部135は、業務管理情報131cについて、S129で選択した連携プログラムに対応する対象プログラムと同じ業務の下に連携プログラムの情報を追加し、連携元となる連携プログラムの情報を更新する(図8を参照)。
(S134)適用前処理部133は、S127で特定した連携プログラムを選択し終えたか否かを判定する。連携プログラムを全て選択し終えた場合、処理は図15のS135へと進む。一方、未選択の対象プログラムがある場合、処理はS129へと進む。
(S135)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dからフラグが設定された適用対象ファイルを特定する。例えば、パッチ番号001のパッチプログラム(図7を参照)を適用する場合、適用対象ファイルDDD.exeにフラグ「追加」が設定されている。この場合、適用前処理部133は、フラグが設定された適用対象ファイルとして適用対象ファイルDDD.exeを特定する。
(S136)適用前処理部133は、適用対象のパッチプログラムのパッチデータ131dに、フラグが設定された適用対象ファイルがあるか否かを判定する。フラグが設定された適用対象ファイルがある場合、処理はS137へと進む。一方、フラグが設定された適用対象ファイルがない場合、処理は図13〜図15に示した一連の処理は終了する。
(S137)適用前処理部133は、S135で特定した適用対象ファイルの中から未選択の適用対象ファイルを1つ選択する。
(S138)適用前処理部133は、業務管理情報131cを参照し、S137で選択した適用対象ファイルが業務管理情報131cにあるか否かを判定する。適用対象ファイルが業務管理情報131cにある場合、処理はS139へと進む。一方、適用対象ファイルが業務管理情報131cにない場合、処理はS140へと進む。
(S139)情報更新部135は、業務管理情報131cにある適用対象ファイルの情報を更新する。例えば、「追加」の場合には、適用対象ファイルの情報が追加される。「変名」の場合には、適用対象ファイルの名前が変更される。「削除」の場合には、適用対象ファイルの情報が削除される。
(S140)適用前処理部133は、S135で特定した適用対象ファイルを選択し終えたか否かを判定する。適用対象ファイルを全て選択し終えた場合、図13〜図15に示した一連の処理は終了する。一方、未選択の適用対象ファイルがある場合、処理はS137へと進む。
以上、情報処理装置100が実行する処理の流れについて説明した。
上記のように、第2実施形態によれば、パッチプログラムの適用に伴うアプリケーションプログラムまたはファイルと業務との対応関係の変化を業務管理情報131cに反映させることができる。そのため、新たにパッチプログラムを適用する際、業務管理情報131cを参照することで、変更を伴うアプリケーションプログラムまたはファイルが属する業務を容易に特定することが可能になる。その結果、パッチプログラムの適用時に停止を要する業務を業務管理情報131cに基づいて適切に特定でき、停止が不要な業務を停止させずに済むようになる。
以上、第2実施形態について説明した。
10 コンピュータ
11 記憶部
11a 管理情報
11b パッチプログラム
12 制御部
APP1、APP2、APP3 アプリケーションプログラム
F11、F21、F22、F31 ファイル

Claims (6)

  1. コンピュータに、
    一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶部に記憶し、
    前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する
    処理を実行させる、プログラム。
  2. 利用するファイルが前記パッチプログラムの適用によって変更される前記アプリケーションプログラムを利用する前記業務処理が停止している期間である場合に、前記パッチプログラムを適用可能と判断する
    処理を実行させる、請求項1に記載のプログラム。
  3. 前記パッチプログラムを適用する場合に、利用するファイルが前記パッチプログラムの適用によって変更される前記アプリケーションプログラムを利用する前記業務処理を表示部に表示する
    処理を実行させる、請求項1または2に記載のプログラム。
  4. 前記パッチプログラムの適用により追加される新たなアプリケーションプログラムが、前記業務処理に対応付けて記憶された前記アプリケーションプログラムと連携する場合、前記新たなアプリケーションプログラムの情報を当該業務処理に対応付けて前記記憶部に記憶させる
    処理を実行させる、請求項1〜3のいずれか1項に記載のプログラム。
  5. コンピュータが、
    一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶部に記憶し、
    前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する
    更新制御方法。
  6. 一または複数の業務処理と該一または複数の業務処理の各々で利用されるアプリケーションプログラムおよび該アプリケーションプログラムで利用されるファイルに関する情報とを対応付けて記憶する記憶部と、
    前記アプリケーションプログラムで利用されるファイルの変更を伴うパッチプログラムを適用する場合に、前記アプリケーションプログラムを利用する前記業務処理に対応付けて記憶された前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報を、前記パッチプログラムに含まれる前記アプリケーションプログラムおよび前記アプリケーションプログラムで利用されるファイルの情報に基づいて更新する制御部と、
    を備える、更新制御装置。
JP2015076834A 2015-04-03 2015-04-03 プログラム、更新制御方法、および更新制御装置 Active JP6451465B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015076834A JP6451465B2 (ja) 2015-04-03 2015-04-03 プログラム、更新制御方法、および更新制御装置
US15/050,884 US20160291961A1 (en) 2015-04-03 2016-02-23 Update control method and update control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015076834A JP6451465B2 (ja) 2015-04-03 2015-04-03 プログラム、更新制御方法、および更新制御装置

Publications (2)

Publication Number Publication Date
JP2016197326A JP2016197326A (ja) 2016-11-24
JP6451465B2 true JP6451465B2 (ja) 2019-01-16

Family

ID=57017008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015076834A Active JP6451465B2 (ja) 2015-04-03 2015-04-03 プログラム、更新制御方法、および更新制御装置

Country Status (2)

Country Link
US (1) US20160291961A1 (ja)
JP (1) JP6451465B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053609A (ja) * 2004-08-09 2006-02-23 Nec Fielding Ltd アップデートシステム、アップデート方法及びパッチ提供装置
JP4902282B2 (ja) * 2006-07-12 2012-03-21 株式会社日立製作所 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム
WO2010029602A1 (ja) * 2008-09-12 2010-03-18 富士通株式会社 ソフトウェアパッチ適用方法、プログラム及び装置
JP2011154437A (ja) * 2010-01-26 2011-08-11 Alpine Electronics Inc 共用プログラムの更新システム
JP5592828B2 (ja) * 2011-03-30 2014-09-17 Kddi株式会社 パッチ影響解析装置、方法及びプログラム
JP2014013457A (ja) * 2012-07-03 2014-01-23 Fujitsu Ltd パッチ判定プログラム、パッチ判定方法および情報処理装置

Also Published As

Publication number Publication date
US20160291961A1 (en) 2016-10-06
JP2016197326A (ja) 2016-11-24

Similar Documents

Publication Publication Date Title
RU2580065C2 (ru) Способ и система обновления программного обеспечения
US8060871B2 (en) Servicing software through versioning
US8381231B2 (en) Deployment and management of virtual containers
US7774636B2 (en) Method and system for kernel panic recovery
US7886270B2 (en) Methods, systems, and computer program products for file version control management
CN104809025B (zh) 一种项目上线方法及装置
US20130290949A1 (en) System reset
JP2003173255A (ja) 動的にコードをパッチするシステムおよび方法
US10592354B2 (en) Configurable recovery states
US9208034B2 (en) Determining security holes of a backup image
US7383466B2 (en) Method and system of previewing a volume revert operation
US20200409686A1 (en) Systems and methods for updating virtual machines
US20200012572A1 (en) System and method for critical virtual machine protection
US20110185350A1 (en) Shared-program updating system
US20100287407A1 (en) Computer Storage Synchronization and Backup System
US20110055629A1 (en) Computer system, control method thereof and recording medium storing computer program thereof
US20130263106A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP6442059B2 (ja) 運用自動化装置及び方法並びに記憶媒体
US11176089B2 (en) Systems and methods for implementing dynamic file systems
CA2832799C (en) Cache memory structure and method
US20110088025A1 (en) Use of software update policies
JP6451465B2 (ja) プログラム、更新制御方法、および更新制御装置
US7725882B1 (en) System and method for profiling processes in a computing system
JP2019020798A (ja) 情報処理装置およびプログラム
US20170206138A1 (en) Versioned records management using restart era

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6451465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150