JP2005043960A - サーバ、オンラインパッチ処理方法及びプログラム - Google Patents
サーバ、オンラインパッチ処理方法及びプログラム Download PDFInfo
- Publication number
- JP2005043960A JP2005043960A JP2003199961A JP2003199961A JP2005043960A JP 2005043960 A JP2005043960 A JP 2005043960A JP 2003199961 A JP2003199961 A JP 2003199961A JP 2003199961 A JP2003199961 A JP 2003199961A JP 2005043960 A JP2005043960 A JP 2005043960A
- Authority
- JP
- Japan
- Prior art keywords
- server
- processing
- time
- patch
- management
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】必要最低限範囲において、システム内機能の停止による処理を実施し、異常が発生した場合における適切な状態への復旧処理を行い、これらの処理を自動化させることにより、パッチ処理の柔軟性の向上及び、システム全体の運用安定化を実現させる、オンラインパッチ処理方法を提供する。
【解決手段】本発明のオンラインパッチ処理方法は、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、管理プロセス1が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する過程を有することを特徴とする。
【選択図】 図2
【解決手段】本発明のオンラインパッチ処理方法は、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、管理プロセス1が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する過程を有することを特徴とする。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、システム管理上、単独もしくは複数のサーバ構成で運用され、かつ、プロセス間で複数の機能プロセスが連携して業務を実行する場合の、管理プロセスのパッチ処理の自動化および対象範囲を拡大化させるオンラインパッチ処理方法及びサーバに関する発明である。
【0002】
【従来の技術】
従来のシステムにおいては、システム起動後常時にAP(アプリケーションプロセス)を監視しているため、新版のAPに入れ替えるためにはシステム停止を伴う必要があった(特許文献1)。
そして、新版のAPへの更新契機は、システム運用の都合上、可変かつ、自動実施であることが求められている。
しかしながら、自動実施の実現手段がないため、ユーザは実施タイミングをとり、使用しているAPを、新版のAPへ更新するためのオペレーションを行う必要がある。
【0003】
それに加え、新版のAPが起動できなかった場合を考慮し、保守者は一定期間にわたり、更新後の起動した新版のAPの動作に対して監視を行う必要がある。
そして、ユーザが、万が一、新版のAPの起動が失敗した場合、保守者による旧版のAPへの切戻しが必要のため、保守稼働が必要となる。
これはユーザ側の稼動を増やす結果となり、APの実質的な利用性を狭めることになる。
それにより、該当AP及び、機能的に関連している他のAPに対する処理中断時間をも長期化させることとなり、結果としてシステム運用そのものにおいて、長期間にわたる中断を発生させる可能性がある。
【0004】
【特許文献1】
特開2002−342107号公報
【0005】
【発明が解決しようとする課題】
上述したように、従来の方式においては、異常発生時の対応についてシステムに及ぼす影響が懸念されている。その具体例を図11に示す。この図11に示すAP1をパッチ対象プロセスとする。
手順として、ユーザ側でプロセスの停止(旧版のAP)、及びプロセスの起動(新版のAP)を実施するが、この過程において異常が発生した場合、復旧処理をユーザ側で行う。
【0006】
このため、ユーザは、処理実施中の詳細状況を常に把握しておき、異常発生時には迅速な復旧処理の実施を行わなければならない。
しかしながら、上述したAP更新作業の自動化の実現については困難であり、システム運用に悪影響を及ぼす結果となっている。
また、システム運用の都合上、ユーザによりあらかじめ指定されたパッチ処理実施開始時間に、APの変更が必要であっても、上述したように処理実施タイミングにユーザが直接オペレーションを行わなければならず、システムの柔軟性に欠けている。
【0007】
本発明においては、まず、処理の対象となるプロセスの種類を問わず、処理実施において、システム運用に及ぼす影響の極小化及び、処理実施後のシステム安定化を実現することにより、ユーザ側の稼動軽減を目的としている。
そして、本発明は、必要最低限範囲において、システム内機能の停止による処理を実施し、異常が発生した場合における適切な状態への復旧処理を行い、これらの処理を自動化させることにより、パッチ処理の柔軟性の向上及び、システム全体の運用安定化を実現させる、オンラインパッチ処理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明によるオンラインパッチ処理方法は、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、管理手段(管理プロセス1)が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する過程を有することを特徴とする。
ここで、管理手段は、分散サーバシステムを構成する他のサーバに対して、パッチ処理を行う対象プロセスの情報を通知し、また他のサーバからのパッチ処理の処理状況を受信し、システム全体のパッチ処理の管理を行い、パッチ処理完了の同期をとり、内部完了情報の記載の変更を行う。
【0009】
また、本発明によるオンラインパッチ処理方法は、オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項1記載のオンラインパッチ処理方法。
【0010】
本発明によるオンラインパッチ処理方法は、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする。
【0011】
本発明によるサーバは、内部で実行されているアプリケーションプロセスのオンラインパッチ処理方法において、対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する管理手段を有することを特徴とする。
【0012】
本発明によるサーバは、パッチ処理完了後に一定の安定性監視時間が経過したか否かを管理する時刻管理手段を有し、前記管理手段が前記安定性監視時間内にてパッチ対象プロセスに異常終了が発生した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項4記載のサーバ。
【0013】
本発明によるサーバは、前記管理手段が、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記時刻管理手段に設定された、前記必要情報においてユーザにより任意に指定された処理実施開始時間に、オンラインパッチ処理を開始することを特徴とする。
【0014】
本発明によるサーバは、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法をコンピュータに実行させるプログラムであり、
管理手段が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する処理を有することを特徴とするコンピュータにより実行可能なプログラム。
【0015】
本発明によるコンピュータにより実行可能なプログラムは、オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする。
【0016】
本発明によるコンピュータにより実行可能なプログラムは、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする請求項7または請求項8に記載のコンピュータにより実行可能なプログラム。
【0017】
本発明は、上述の構成により、1台もしくは複数サーバ構成で運用されている分散サーバシステムにおける、AP(アプリケーションプロセス、以下プロセス)のオンラインパッチ処理において、システム内の複数のサーバ上において動作している同一のプロセスのプログラムファイル(プロセスを実行するプログラムが記載されたプロセス実行ファイル、すなわち更新を行う対象プロセスのプロセス実行ファイル)を、新しいプログラムファイルに更新する際、システム全体を中断させること無く実施可能であることを特徴とする。
また、本発明は、オンラインパッチ処理において、プロセスの起動停止を制御するために用いるファイルを新しいファイルに更新する際、システム全体を中断させること無く実施可能である。
さらに、本発明は、オンラインパッチ処理において、システムの運用上、常駐して実行されているプロセスもしくは、ユーザのニーズにより起動された非常駐プロセスであるプロセス起動種別にかかわらずシステム全体を中断させること無く、パッチ処理が実施可能である。
【0018】
また、本発明は、1台もしくは複数サーバ構成で運用されている分散サーバシステムにおける、AP(アプリケーションプロセス)のオンラインパッチ処理方式において、システム内の複数のサーバ上において動作している同一のプロセスを新しいプログラムファイルに更新する際、システム全体を中断させること無く実施可能である。
さらに、本発明は、前述のオンラインパッチ処理において、プロセスの起動停止を制御するために用いるファイルを新しいファイルに更新する際、システム全体を中断させること無く実施可能である。
【0019】
加えて本発明は、上述の構成により、単独サーバもしくは複数サーバ構成で運用されている分散サーバシステムにおける、オンラインパッチ処理において、各サーバ上で対象プロセスが複数起動されているケースや、プロセスの起動及び停止の際に、付与されるパラメタに変更が生ずるケースにおいても、システム運用上、常駐して実行されているプロセスもしくは、ユーザのニーズにより起動された非常駐プロセスであるか、その種類にかかわらず、システム全体を中断させることなく処理の実施が可能である。
【0020】
【発明の実施の形態】
以下、本発明の一実施形態によるオンラインパッチ処理の機能を有するサーバ(単独サーバもしくは複数サーバ構成で運用されている分散サーバシステム)の構成例及び動作例を図面を参照して説明する。ここで、本発明のオンラインパッチ処理においては、パッチ処理の実行指示の方法を、サーバの管理プロセスヘの処理要求用コマンドの実行により行う形式とする。また、管理手段及び時間管理手段はコンピュータ処理システムにおいて、コンピュータがプログラムを実行することにより実現するプロセス、またはコンピュータが制御するハードウェアのいずれかにより実現されるものである。一実施形態においては、コンピュータがプログラムを実行することにより実現するプロセスとして説明する。
【0021】
ここで、入力情報例について、図1の概念図を参照して説明する。ユーザは、パッチ処理を実行するコマンド入力時に、パッチ処理に必要な情報をサーバの入力装置(例えば、キーボードなど)から入力して実施する。
このとき、ユーザは、即時にパッチ処理を実行する時、更新用SHELL名、復旧用SHELL名、及び、パッチ対象となるサーバ(ホスト)名を指定し、また、パッチ処理を指定した時刻において実行するとき、上述した即時実行時の各種情報に加え、指定時刻情報の入力を行う。
ここで、更新用SHELL名は、対象プロセスを実行させているプロセス実行ファイルに対するリンクを、新しいプロセス実行ファイルに変更する(張り替える)処理を行うSHELLの名称であり、復旧用SHELL名は、上記変更後のAPの処理に異常が発生した場合等、変更後の、すなわち新版のプロセス実行ファイルに対するリンクを、変更前の旧版のプロセス実行ファイルに変更する処理を行うSHELLの名称である。
【0022】
次に、オンラインパッチ処理の実現方法における、処理全体の概要を図2に示す。
まず、ユーザはパッチ処理の対象となる新ファイルの配置を事前に行い、サーバ(以下、本発明において、サーバと言う場合、単独サーバもしくは複数サーバ構成で運用されている分散サーバシステムにおけるサーバを示している)に対して図1の説明において記述したコマンドの入力を実施する。
そして、管理プロセス1は要求を受信すると、パッチ処理の開始時刻の指定が行われているか否かの確認を行い、指定がある場合、時刻管理プロセス2(時刻管理手段)に対して時刻設定を行い、時刻管理プロセス2からのタイムアウト通知待ち、すなわち、時刻管理プロセス2からのパッチ処理の開始時刻の通知待ち状態に入る。
【0023】
また、管理プロセス1は、時刻指定がない場合、または時刻管理プロセス2からタイムアウトの通知を受けた場合に、パッチ処理の対象プロセス(対象プロセスを実行させる対象プロセス実行ファイルに対して)のパッチ処理を開始する。
そして、管理プロセス1は、パッチ対象サーバの指定が自サーバ以外にある場合、該当サーバ、すなわちコマンドに記載されているパッチ処理の対象サーバの管理プロセス1に、パッチ処理の開始の通知を行う。
【0024】
これにより、パッチ対象サーバの管理プロセス1は、指定された対象プロセスの実行状態の確認を行い、もし停止状態であれば、直ちに指定されたパッチ処理における更新用SHELL(更新用プログラム)を実行して、パッチ対象となる対象プロセスのファイル更新を実施する。
一方、上記管理プロセス1は、対象プロセスが起動状態であれば、まずこの対象プロセスを一旦停止させてから、更新用SHELLを実行して、対象プロセスのファイル更新を行う。
【0025】
そして、管理プロセス1は、更新用SHELLの実行完了後に、パッチ処理の対象プロセスの再起動を行う。
この再起動処理の完了をもってパッチ処理を完了とする。なお、パッチ処理における各処理過程における状態は、管理プロセス1側において随時、記憶部に記憶される内部管理情報の更新及び、ログ出力として管理が行われる。
【0026】
次に、オンラインパッチ処理を即時実行する場合の具体的な処理シーケンスを図3に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、この管理プロセス1は、自身がサーバ内の記憶部にて管理する内部管理情報に対して、パッチ処理の対象プロセスの関連情報の初期登録を行う。
次に、管理プロセス1は、自サーバ以外の指定サーバの管理プロセス1に対してチ処理実施の通知を行い、「パッチ処理開始」のログ出力を行う。
【0027】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバの記憶部にて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、記憶部内の内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0028】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイル(対象プロセスのプロセス実行ファイル)の更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0029】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスのパッチ処理後のプロセス実行ファイルの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0030】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0031】
また、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信前に、パッチ処理終了後の対象プロセスに異常が発生したことを検出すると、パッチ処理を行った対象プロセス(新版)のプロセス実行ファイルを停止し、パッチ処理を行う前の対象プロセス(旧版)のプロセス実行ファイルを起動し、内部管理情報に「新版にエラー発生」と登録更新を行う。
【0032】
次に、オンラインパッチ処理の開始時刻指定による実行時の具体的な処理シーケンスを図4に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、この管理プロセス1は、自身がサーバの記憶部において記憶し、管理する内部管理情報に対して、パッチ処理の対象プロセスの関連情報の初期登録を行う。
ここで、管理プロセス1は、関連情報に開始時刻の指定があることを検出すると、この指定された開始時刻情報について、時刻管理プロセス2に対して時刻設定を行い、時刻管理プロセス2からのタイムアウト通知まで待ち状態に入る。
【0033】
次に、管理プロセス1は、パッチ処理の開始時刻となると、時刻管理プロセス2から指定時刻に対するタイムアウト通知を受信する。
そして、管理プロセス1は、上記タイムアウト通知を受信すると、「パッチ処理開始」のログ出力を行い、自サーバ以外の指定サーバ、すなわち他サーバの管理プロセス3に対して、パッチ処理実施の通知の出力を行わせる。
次に、管理プロセス1は、パッチの対象となるプロセスの実行状態について、自サーバにて管理されている実行状態情報を参照し確認する。
【0034】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバにて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
管理プロセス1は、この処理に関して、記憶部の内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0035】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイルの更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0036】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスのパッチ処理後のプロセス実行ファイルの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0037】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0038】
また、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信前に、パッチ処理終了後の対象プロセスに異常が発生したことを検出すると、パッチ処理を行った対象プロセス(新版)のプロセス実行ファイルを停止し、パッチ処理を行う前の対象プロセス(旧版)のプロセス実行ファイルを起動し、内部管理情報に「新版にエラー発生」と登録更新を行う。
【0039】
次に、オンラインパッチ処理実施中に異常が発生した場合の処理シーケンスを図5、図6に示す。図3の説明で上述したオンラインパッチ処理において、パッチ処理の対象プロセスが、管理プロセス1管理内であり、パッチ要求受信時に起動中状態であった場合で、安定性監視中にパッチ対象プロセスの故障が発生したとする。
このとき、管理プロセス1は、故障発生プロセスについて、内部管理情報のチェックを行い、パッチ処理実施中であることを確認すると、「パッチ処理失敗」のログ出力を行い、自サーバ以外にパッチ対象となるサーバがある場合、他のパッチ対象サーバの管理プロセス1に対して、異常発生の通知を行う。
【0040】
次に、管理プロセス1はパッチ処理の対象ファイルの復旧処理実施の為に、現在起動処理中の対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同情報のログ出力も行う。
そして、管理プロセス1は、指定された復旧用SHELLを実行、パッチ対象となるファイルの復旧を行う。
【0041】
この後、内部管理情報に「対象プロセス旧版再起動」と登録更新を行い、対象プロセスの再起動処理及び、状態監視の再開を行う。
また、管理プロセス1は、復旧処理による再起動の場合、再起動完了後の他サーバの管理プロセス3ヘの通知及び、再起動された旧版の対象プロセスの安定性監視は行わない。
そして、管理プロセス1は、内部管理情報のクリアを行い、エラーとしてパッチ処理完了とする。
【0042】
次に、オンラインパッチ時刻指定実行時において、指定時刻前にサーバ故障等によりサーバ停止が発生したケースの、処理シーケンスを図7、図8に示す。
管理プロセス1は、サーバ故障等の原因のサーバ停止から、サーバ復旧によるサーバ起動時に内部管理情報の参照を行う。
そして、管理プロセス1は、時刻管理システムから、パッチ処理開始のタイムアウト通知待ち状態である情報を確認すると、現時刻と指定時刻について前後の比較を行う。
【0043】
このとき、管理プロセス1は、もし現時点での時刻が指定された開始時刻後であることを検出すると、パッチ処理失敗として、内部管理情報のクリアを行い、パッチ処理の更新用SHELLを終了する。
一方、管理プロセス1は、もし現時点での時刻が開始時刻前であることを検出すると、時刻管理プロセス2に対して、パッチ処理の開示時刻の再設定を行い、時刻管理システムからのタイムアウト通知(パッチ処理開始時刻を示す)まで待ち状態に入る。
【0044】
そして、管理プロセス1は、パッチ処理の開始時刻となった時点で、指定時刻になったことにより、時刻管理プロセス2からタイムアウト通知が行われる。
そして、管理プロセス1は、上記タイムアウト通知を受信すると、「パッチ処理開始」のログ出力を行い、自サーバ以外の指定サーバ、すなわち他サーバの管理プロセス3に対して、パッチ処理実施の通知の出力を行わせる。
次に、管理プロセス1は、パッチの対象となるプロセスの実行状態について、自サーバにて管理されている実行状態情報を参照し確認する。
【0045】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバにて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0046】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイルの更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0047】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0048】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0049】
次に、オンラインパッチ処理実施時に、対象サーバが故障していた場合のパッチ処理のシーケンスを図9に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、管理プロセス1は、ユーザのコマンド実施により、オンラインパッチ処理要求を受信すると、サーバ運用状態情報からパッチ処理の対象である指定サーバの状態の確認を行う。
このとき、管理用プロセスは、上記対象サーバが非運用状態であることを確認すると、「オンラインパッチ実施不可」のログ出力を行い、エラーとして処理を終了する。
【0050】
次に、オンラインパッチ処理実施中に、他サーバにおいてオンラインパッチ処理失敗が発生した場合の処理シーケンスを図10に示す。
管理プロセス1は、オンラインパッチ処理の実施中において、他サーバの管理プロセス3よりオンラインパッチ処理失敗の通知を受信したとする。このとき、サーバは、他のサーバにおいてオンラインパッチ処理が失敗したこと(すなわち、他のサーバにおいては旧版の対象プロセスを継続して使用する通知)を検出すると、同一の対象プロセスを使用するため、自身の対象プロセスを以下のように旧版の対象プロセスに戻して再起動することとなる。
このとき、管理プロセス1は内部管理情報のチェックを行い、自サーバ内にてパッチ処理実施中であることの確認を行い、「パッチ処理失敗」のログ出力を行う。
【0051】
次に、管理プロセス1は、パッチ処理の対象ファイルの復旧処理実施の為に、現在起動処理中の対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
管理プロセス1は、この処理に関して、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同情報のログ出力も行う。
そして、管理プロセス1は、指定された復旧用SHELLを実行、パッチ対象となるファイルの復旧を行う。
この後、管理プロセス1は、内部管理情報に「対象プロセス旧版再起動」と登録更新を行い、対象プロセスの再起動処理及び、状態監視の再開を行うとともに、「対象プロセス起動」のログ出力を行う。
このとき、管理プロセス1は、復旧処理による再起動の場合、再起動完了後の他サーバ管理プロセス1ヘの通知及び、安定性監視は行わず、内部管理情報のクリアを行い、エラーとしてパッチ処理完了とする。
【0052】
また、図2における管理プロセス1,時刻管理プロセス2を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりパッチ処理の管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可般媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0053】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0054】
【発明の効果】
以上説明したように、本発明によるパッチ処理方法及びサーバによれば、下記の効果を得ることができる。
・システム内の複数のサーバ上において操作している同一のAPを、新しいプログラムファイルに更新する際、システム全体を中断させることなく、パッチ処理を実施させることができるため、複数のサーバにおいてパッチ処理の対象となるプロセス適用範囲を拡大することができる。
【0055】
・管理手段がパッチ処理の異常発生を検出したとき、旧版のプログラムによりプロセスを再起動するため、システムを停止させずに、迅速且つ正確な救済処理により、システム安定性の向上させることができる。
・時刻管理手段に対して、パッチ処理の開始時間を設定して、対応する時間となると管理手段がパッチ処理を実行するため、ユーザの都合のよい任意の時間帯にパッチ処理を自動的に行うことが可能となる。
【図面の簡単な説明】
【図1】パッチ処理実施方法を説明するコマンドの一例を示す概念図である。
【図2】本発明における、パッチ処理方法を説明する概要図である。
【図3】パッチ処理即時実行時のシーケンス図である。
【図4】パッチ処理時刻指定実行時のシーケンス図である。
【図5】パッチ処理失敗時の復旧処理シーケンス図である。
【図6】パッチ処理失敗時の復旧処理シーケンス図である。
【図7】パッチ処理時刻指定実行時(サーバ一時停止)のシーケンス図である。
【図8】パッチ処理時刻指定実行時(サーバ一時停止)のシーケンス図である。
【図9】パッチ処理実行時(サーバ故障時実行時)のシーケンス図である。
【図10】パッチ処理失敗時(他サーバ失敗通知)のシーケンス図である。
【図11】従来のパッチ処理方式を説明する概念図である。
【符号の説明】
1 管理プロセス
2 時刻管理プロセス
3 他のサーバの管理プロセス
【発明の属する技術分野】
本発明は、システム管理上、単独もしくは複数のサーバ構成で運用され、かつ、プロセス間で複数の機能プロセスが連携して業務を実行する場合の、管理プロセスのパッチ処理の自動化および対象範囲を拡大化させるオンラインパッチ処理方法及びサーバに関する発明である。
【0002】
【従来の技術】
従来のシステムにおいては、システム起動後常時にAP(アプリケーションプロセス)を監視しているため、新版のAPに入れ替えるためにはシステム停止を伴う必要があった(特許文献1)。
そして、新版のAPへの更新契機は、システム運用の都合上、可変かつ、自動実施であることが求められている。
しかしながら、自動実施の実現手段がないため、ユーザは実施タイミングをとり、使用しているAPを、新版のAPへ更新するためのオペレーションを行う必要がある。
【0003】
それに加え、新版のAPが起動できなかった場合を考慮し、保守者は一定期間にわたり、更新後の起動した新版のAPの動作に対して監視を行う必要がある。
そして、ユーザが、万が一、新版のAPの起動が失敗した場合、保守者による旧版のAPへの切戻しが必要のため、保守稼働が必要となる。
これはユーザ側の稼動を増やす結果となり、APの実質的な利用性を狭めることになる。
それにより、該当AP及び、機能的に関連している他のAPに対する処理中断時間をも長期化させることとなり、結果としてシステム運用そのものにおいて、長期間にわたる中断を発生させる可能性がある。
【0004】
【特許文献1】
特開2002−342107号公報
【0005】
【発明が解決しようとする課題】
上述したように、従来の方式においては、異常発生時の対応についてシステムに及ぼす影響が懸念されている。その具体例を図11に示す。この図11に示すAP1をパッチ対象プロセスとする。
手順として、ユーザ側でプロセスの停止(旧版のAP)、及びプロセスの起動(新版のAP)を実施するが、この過程において異常が発生した場合、復旧処理をユーザ側で行う。
【0006】
このため、ユーザは、処理実施中の詳細状況を常に把握しておき、異常発生時には迅速な復旧処理の実施を行わなければならない。
しかしながら、上述したAP更新作業の自動化の実現については困難であり、システム運用に悪影響を及ぼす結果となっている。
また、システム運用の都合上、ユーザによりあらかじめ指定されたパッチ処理実施開始時間に、APの変更が必要であっても、上述したように処理実施タイミングにユーザが直接オペレーションを行わなければならず、システムの柔軟性に欠けている。
【0007】
本発明においては、まず、処理の対象となるプロセスの種類を問わず、処理実施において、システム運用に及ぼす影響の極小化及び、処理実施後のシステム安定化を実現することにより、ユーザ側の稼動軽減を目的としている。
そして、本発明は、必要最低限範囲において、システム内機能の停止による処理を実施し、異常が発生した場合における適切な状態への復旧処理を行い、これらの処理を自動化させることにより、パッチ処理の柔軟性の向上及び、システム全体の運用安定化を実現させる、オンラインパッチ処理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明によるオンラインパッチ処理方法は、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、管理手段(管理プロセス1)が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する過程を有することを特徴とする。
ここで、管理手段は、分散サーバシステムを構成する他のサーバに対して、パッチ処理を行う対象プロセスの情報を通知し、また他のサーバからのパッチ処理の処理状況を受信し、システム全体のパッチ処理の管理を行い、パッチ処理完了の同期をとり、内部完了情報の記載の変更を行う。
【0009】
また、本発明によるオンラインパッチ処理方法は、オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項1記載のオンラインパッチ処理方法。
【0010】
本発明によるオンラインパッチ処理方法は、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする。
【0011】
本発明によるサーバは、内部で実行されているアプリケーションプロセスのオンラインパッチ処理方法において、対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する管理手段を有することを特徴とする。
【0012】
本発明によるサーバは、パッチ処理完了後に一定の安定性監視時間が経過したか否かを管理する時刻管理手段を有し、前記管理手段が前記安定性監視時間内にてパッチ対象プロセスに異常終了が発生した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項4記載のサーバ。
【0013】
本発明によるサーバは、前記管理手段が、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記時刻管理手段に設定された、前記必要情報においてユーザにより任意に指定された処理実施開始時間に、オンラインパッチ処理を開始することを特徴とする。
【0014】
本発明によるサーバは、サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法をコンピュータに実行させるプログラムであり、
管理手段が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する処理を有することを特徴とするコンピュータにより実行可能なプログラム。
【0015】
本発明によるコンピュータにより実行可能なプログラムは、オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする。
【0016】
本発明によるコンピュータにより実行可能なプログラムは、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする請求項7または請求項8に記載のコンピュータにより実行可能なプログラム。
【0017】
本発明は、上述の構成により、1台もしくは複数サーバ構成で運用されている分散サーバシステムにおける、AP(アプリケーションプロセス、以下プロセス)のオンラインパッチ処理において、システム内の複数のサーバ上において動作している同一のプロセスのプログラムファイル(プロセスを実行するプログラムが記載されたプロセス実行ファイル、すなわち更新を行う対象プロセスのプロセス実行ファイル)を、新しいプログラムファイルに更新する際、システム全体を中断させること無く実施可能であることを特徴とする。
また、本発明は、オンラインパッチ処理において、プロセスの起動停止を制御するために用いるファイルを新しいファイルに更新する際、システム全体を中断させること無く実施可能である。
さらに、本発明は、オンラインパッチ処理において、システムの運用上、常駐して実行されているプロセスもしくは、ユーザのニーズにより起動された非常駐プロセスであるプロセス起動種別にかかわらずシステム全体を中断させること無く、パッチ処理が実施可能である。
【0018】
また、本発明は、1台もしくは複数サーバ構成で運用されている分散サーバシステムにおける、AP(アプリケーションプロセス)のオンラインパッチ処理方式において、システム内の複数のサーバ上において動作している同一のプロセスを新しいプログラムファイルに更新する際、システム全体を中断させること無く実施可能である。
さらに、本発明は、前述のオンラインパッチ処理において、プロセスの起動停止を制御するために用いるファイルを新しいファイルに更新する際、システム全体を中断させること無く実施可能である。
【0019】
加えて本発明は、上述の構成により、単独サーバもしくは複数サーバ構成で運用されている分散サーバシステムにおける、オンラインパッチ処理において、各サーバ上で対象プロセスが複数起動されているケースや、プロセスの起動及び停止の際に、付与されるパラメタに変更が生ずるケースにおいても、システム運用上、常駐して実行されているプロセスもしくは、ユーザのニーズにより起動された非常駐プロセスであるか、その種類にかかわらず、システム全体を中断させることなく処理の実施が可能である。
【0020】
【発明の実施の形態】
以下、本発明の一実施形態によるオンラインパッチ処理の機能を有するサーバ(単独サーバもしくは複数サーバ構成で運用されている分散サーバシステム)の構成例及び動作例を図面を参照して説明する。ここで、本発明のオンラインパッチ処理においては、パッチ処理の実行指示の方法を、サーバの管理プロセスヘの処理要求用コマンドの実行により行う形式とする。また、管理手段及び時間管理手段はコンピュータ処理システムにおいて、コンピュータがプログラムを実行することにより実現するプロセス、またはコンピュータが制御するハードウェアのいずれかにより実現されるものである。一実施形態においては、コンピュータがプログラムを実行することにより実現するプロセスとして説明する。
【0021】
ここで、入力情報例について、図1の概念図を参照して説明する。ユーザは、パッチ処理を実行するコマンド入力時に、パッチ処理に必要な情報をサーバの入力装置(例えば、キーボードなど)から入力して実施する。
このとき、ユーザは、即時にパッチ処理を実行する時、更新用SHELL名、復旧用SHELL名、及び、パッチ対象となるサーバ(ホスト)名を指定し、また、パッチ処理を指定した時刻において実行するとき、上述した即時実行時の各種情報に加え、指定時刻情報の入力を行う。
ここで、更新用SHELL名は、対象プロセスを実行させているプロセス実行ファイルに対するリンクを、新しいプロセス実行ファイルに変更する(張り替える)処理を行うSHELLの名称であり、復旧用SHELL名は、上記変更後のAPの処理に異常が発生した場合等、変更後の、すなわち新版のプロセス実行ファイルに対するリンクを、変更前の旧版のプロセス実行ファイルに変更する処理を行うSHELLの名称である。
【0022】
次に、オンラインパッチ処理の実現方法における、処理全体の概要を図2に示す。
まず、ユーザはパッチ処理の対象となる新ファイルの配置を事前に行い、サーバ(以下、本発明において、サーバと言う場合、単独サーバもしくは複数サーバ構成で運用されている分散サーバシステムにおけるサーバを示している)に対して図1の説明において記述したコマンドの入力を実施する。
そして、管理プロセス1は要求を受信すると、パッチ処理の開始時刻の指定が行われているか否かの確認を行い、指定がある場合、時刻管理プロセス2(時刻管理手段)に対して時刻設定を行い、時刻管理プロセス2からのタイムアウト通知待ち、すなわち、時刻管理プロセス2からのパッチ処理の開始時刻の通知待ち状態に入る。
【0023】
また、管理プロセス1は、時刻指定がない場合、または時刻管理プロセス2からタイムアウトの通知を受けた場合に、パッチ処理の対象プロセス(対象プロセスを実行させる対象プロセス実行ファイルに対して)のパッチ処理を開始する。
そして、管理プロセス1は、パッチ対象サーバの指定が自サーバ以外にある場合、該当サーバ、すなわちコマンドに記載されているパッチ処理の対象サーバの管理プロセス1に、パッチ処理の開始の通知を行う。
【0024】
これにより、パッチ対象サーバの管理プロセス1は、指定された対象プロセスの実行状態の確認を行い、もし停止状態であれば、直ちに指定されたパッチ処理における更新用SHELL(更新用プログラム)を実行して、パッチ対象となる対象プロセスのファイル更新を実施する。
一方、上記管理プロセス1は、対象プロセスが起動状態であれば、まずこの対象プロセスを一旦停止させてから、更新用SHELLを実行して、対象プロセスのファイル更新を行う。
【0025】
そして、管理プロセス1は、更新用SHELLの実行完了後に、パッチ処理の対象プロセスの再起動を行う。
この再起動処理の完了をもってパッチ処理を完了とする。なお、パッチ処理における各処理過程における状態は、管理プロセス1側において随時、記憶部に記憶される内部管理情報の更新及び、ログ出力として管理が行われる。
【0026】
次に、オンラインパッチ処理を即時実行する場合の具体的な処理シーケンスを図3に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、この管理プロセス1は、自身がサーバ内の記憶部にて管理する内部管理情報に対して、パッチ処理の対象プロセスの関連情報の初期登録を行う。
次に、管理プロセス1は、自サーバ以外の指定サーバの管理プロセス1に対してチ処理実施の通知を行い、「パッチ処理開始」のログ出力を行う。
【0027】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバの記憶部にて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、記憶部内の内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0028】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイル(対象プロセスのプロセス実行ファイル)の更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0029】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスのパッチ処理後のプロセス実行ファイルの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0030】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0031】
また、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信前に、パッチ処理終了後の対象プロセスに異常が発生したことを検出すると、パッチ処理を行った対象プロセス(新版)のプロセス実行ファイルを停止し、パッチ処理を行う前の対象プロセス(旧版)のプロセス実行ファイルを起動し、内部管理情報に「新版にエラー発生」と登録更新を行う。
【0032】
次に、オンラインパッチ処理の開始時刻指定による実行時の具体的な処理シーケンスを図4に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、この管理プロセス1は、自身がサーバの記憶部において記憶し、管理する内部管理情報に対して、パッチ処理の対象プロセスの関連情報の初期登録を行う。
ここで、管理プロセス1は、関連情報に開始時刻の指定があることを検出すると、この指定された開始時刻情報について、時刻管理プロセス2に対して時刻設定を行い、時刻管理プロセス2からのタイムアウト通知まで待ち状態に入る。
【0033】
次に、管理プロセス1は、パッチ処理の開始時刻となると、時刻管理プロセス2から指定時刻に対するタイムアウト通知を受信する。
そして、管理プロセス1は、上記タイムアウト通知を受信すると、「パッチ処理開始」のログ出力を行い、自サーバ以外の指定サーバ、すなわち他サーバの管理プロセス3に対して、パッチ処理実施の通知の出力を行わせる。
次に、管理プロセス1は、パッチの対象となるプロセスの実行状態について、自サーバにて管理されている実行状態情報を参照し確認する。
【0034】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバにて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
管理プロセス1は、この処理に関して、記憶部の内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0035】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイルの更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0036】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスのパッチ処理後のプロセス実行ファイルの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0037】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0038】
また、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信前に、パッチ処理終了後の対象プロセスに異常が発生したことを検出すると、パッチ処理を行った対象プロセス(新版)のプロセス実行ファイルを停止し、パッチ処理を行う前の対象プロセス(旧版)のプロセス実行ファイルを起動し、内部管理情報に「新版にエラー発生」と登録更新を行う。
【0039】
次に、オンラインパッチ処理実施中に異常が発生した場合の処理シーケンスを図5、図6に示す。図3の説明で上述したオンラインパッチ処理において、パッチ処理の対象プロセスが、管理プロセス1管理内であり、パッチ要求受信時に起動中状態であった場合で、安定性監視中にパッチ対象プロセスの故障が発生したとする。
このとき、管理プロセス1は、故障発生プロセスについて、内部管理情報のチェックを行い、パッチ処理実施中であることを確認すると、「パッチ処理失敗」のログ出力を行い、自サーバ以外にパッチ対象となるサーバがある場合、他のパッチ対象サーバの管理プロセス1に対して、異常発生の通知を行う。
【0040】
次に、管理プロセス1はパッチ処理の対象ファイルの復旧処理実施の為に、現在起動処理中の対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同情報のログ出力も行う。
そして、管理プロセス1は、指定された復旧用SHELLを実行、パッチ対象となるファイルの復旧を行う。
【0041】
この後、内部管理情報に「対象プロセス旧版再起動」と登録更新を行い、対象プロセスの再起動処理及び、状態監視の再開を行う。
また、管理プロセス1は、復旧処理による再起動の場合、再起動完了後の他サーバの管理プロセス3ヘの通知及び、再起動された旧版の対象プロセスの安定性監視は行わない。
そして、管理プロセス1は、内部管理情報のクリアを行い、エラーとしてパッチ処理完了とする。
【0042】
次に、オンラインパッチ時刻指定実行時において、指定時刻前にサーバ故障等によりサーバ停止が発生したケースの、処理シーケンスを図7、図8に示す。
管理プロセス1は、サーバ故障等の原因のサーバ停止から、サーバ復旧によるサーバ起動時に内部管理情報の参照を行う。
そして、管理プロセス1は、時刻管理システムから、パッチ処理開始のタイムアウト通知待ち状態である情報を確認すると、現時刻と指定時刻について前後の比較を行う。
【0043】
このとき、管理プロセス1は、もし現時点での時刻が指定された開始時刻後であることを検出すると、パッチ処理失敗として、内部管理情報のクリアを行い、パッチ処理の更新用SHELLを終了する。
一方、管理プロセス1は、もし現時点での時刻が開始時刻前であることを検出すると、時刻管理プロセス2に対して、パッチ処理の開示時刻の再設定を行い、時刻管理システムからのタイムアウト通知(パッチ処理開始時刻を示す)まで待ち状態に入る。
【0044】
そして、管理プロセス1は、パッチ処理の開始時刻となった時点で、指定時刻になったことにより、時刻管理プロセス2からタイムアウト通知が行われる。
そして、管理プロセス1は、上記タイムアウト通知を受信すると、「パッチ処理開始」のログ出力を行い、自サーバ以外の指定サーバ、すなわち他サーバの管理プロセス3に対して、パッチ処理実施の通知の出力を行わせる。
次に、管理プロセス1は、パッチの対象となるプロセスの実行状態について、自サーバにて管理されている実行状態情報を参照し確認する。
【0045】
そして、管理プロセス1は、パッチ処理の対象となる対象プロセスの実行状態について、自サーバにて管理されている実行状態情報を参照、すなわち、対象プロセスが実行中であるか否かの確認を行う。
このとき、管理プロセス1は、対象プロセスが実行中状態であった場合、同対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
この処理に関しては、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同内部管理情報のログ出力も行う。
【0046】
一方、管理プロセス1は、対象プロセスが実行中状態でない場合、もしくは、パッチ処理の対象プロセスが管理プロセス1の管理外であった場合、この対象プロセスの停止処理は行わない。
そして、管理プロセス1は、指定された更新用SHELLを実行、パッチ対象となる対象ファイルの更新を行う。
この後、対象となるプロセスが管理プロセス1の管理内であり、パッチ要求受信時に起動中状態でなかった場合、もしくは、管理プロセス1の管理外であった場合は、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
【0047】
そして、管理プロセス1は、パッチ処理を行った対象プロセスが管理内であり、パッチ要求受信時に起動中状態であった場合は、この内部管理情報に「対象プロセス再起動」と登録更新を行い、一旦停止されていた対象プロセスの再起動処理及び、状態監視の再開を行う。
この場合、管理プロセス1は、対象プロセスの再起動完了後に、一定時間の安定性監視を実施する為、時刻管理プロセス2に対して安定性監視時間の時刻設定を行う。
【0048】
そして、管理プロセス1は、時刻管理プロセス2から、上記安定性監視時間が経過したことを示すタイムアウト通知を受信すると、他サーバの管理プロセス3に対してパッチ処理完了通知を行い、内部管理情報に「パッチ処理完了」と登録更新を行う。
また、管理プロセス1は、他サーバの管理プロセス3からのパッチ処理完了通知を受信して、全てのパッチ対象サーバにおいて処理が完了したことを認識した時点で、内部管理情報のクリア及び、「パッチ処理完了」のログ出力を行い、パッチ処理を完了とする。
【0049】
次に、オンラインパッチ処理実施時に、対象サーバが故障していた場合のパッチ処理のシーケンスを図9に示す。
ユーザのコマンド入力処理の実施により、管理プロセス1は、サーバを介してオンラインパッチ処理の要求を受信する。
そして、管理プロセス1は、ユーザのコマンド実施により、オンラインパッチ処理要求を受信すると、サーバ運用状態情報からパッチ処理の対象である指定サーバの状態の確認を行う。
このとき、管理用プロセスは、上記対象サーバが非運用状態であることを確認すると、「オンラインパッチ実施不可」のログ出力を行い、エラーとして処理を終了する。
【0050】
次に、オンラインパッチ処理実施中に、他サーバにおいてオンラインパッチ処理失敗が発生した場合の処理シーケンスを図10に示す。
管理プロセス1は、オンラインパッチ処理の実施中において、他サーバの管理プロセス3よりオンラインパッチ処理失敗の通知を受信したとする。このとき、サーバは、他のサーバにおいてオンラインパッチ処理が失敗したこと(すなわち、他のサーバにおいては旧版の対象プロセスを継続して使用する通知)を検出すると、同一の対象プロセスを使用するため、自身の対象プロセスを以下のように旧版の対象プロセスに戻して再起動することとなる。
このとき、管理プロセス1は内部管理情報のチェックを行い、自サーバ内にてパッチ処理実施中であることの確認を行い、「パッチ処理失敗」のログ出力を行う。
【0051】
次に、管理プロセス1は、パッチ処理の対象ファイルの復旧処理実施の為に、現在起動処理中の対象プロセスに対する状態監視の停止及び、プロセスの停止処理を行う。
管理プロセス1は、この処理に関して、内部管理情報に「対象プロセス停止完了」と登録更新を行い、同情報のログ出力も行う。
そして、管理プロセス1は、指定された復旧用SHELLを実行、パッチ対象となるファイルの復旧を行う。
この後、管理プロセス1は、内部管理情報に「対象プロセス旧版再起動」と登録更新を行い、対象プロセスの再起動処理及び、状態監視の再開を行うとともに、「対象プロセス起動」のログ出力を行う。
このとき、管理プロセス1は、復旧処理による再起動の場合、再起動完了後の他サーバ管理プロセス1ヘの通知及び、安定性監視は行わず、内部管理情報のクリアを行い、エラーとしてパッチ処理完了とする。
【0052】
また、図2における管理プロセス1,時刻管理プロセス2を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりパッチ処理の管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可般媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0053】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0054】
【発明の効果】
以上説明したように、本発明によるパッチ処理方法及びサーバによれば、下記の効果を得ることができる。
・システム内の複数のサーバ上において操作している同一のAPを、新しいプログラムファイルに更新する際、システム全体を中断させることなく、パッチ処理を実施させることができるため、複数のサーバにおいてパッチ処理の対象となるプロセス適用範囲を拡大することができる。
【0055】
・管理手段がパッチ処理の異常発生を検出したとき、旧版のプログラムによりプロセスを再起動するため、システムを停止させずに、迅速且つ正確な救済処理により、システム安定性の向上させることができる。
・時刻管理手段に対して、パッチ処理の開始時間を設定して、対応する時間となると管理手段がパッチ処理を実行するため、ユーザの都合のよい任意の時間帯にパッチ処理を自動的に行うことが可能となる。
【図面の簡単な説明】
【図1】パッチ処理実施方法を説明するコマンドの一例を示す概念図である。
【図2】本発明における、パッチ処理方法を説明する概要図である。
【図3】パッチ処理即時実行時のシーケンス図である。
【図4】パッチ処理時刻指定実行時のシーケンス図である。
【図5】パッチ処理失敗時の復旧処理シーケンス図である。
【図6】パッチ処理失敗時の復旧処理シーケンス図である。
【図7】パッチ処理時刻指定実行時(サーバ一時停止)のシーケンス図である。
【図8】パッチ処理時刻指定実行時(サーバ一時停止)のシーケンス図である。
【図9】パッチ処理実行時(サーバ故障時実行時)のシーケンス図である。
【図10】パッチ処理失敗時(他サーバ失敗通知)のシーケンス図である。
【図11】従来のパッチ処理方式を説明する概念図である。
【符号の説明】
1 管理プロセス
2 時刻管理プロセス
3 他のサーバの管理プロセス
Claims (9)
- サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、
管理手段が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する過程を有することを特徴とするオンラインパッチ処理方法。 - オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項1記載のオンラインパッチ処理方法。
- オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする請求項1または請求項2に記載のオンラインパッチ処理方法。
- サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法において、
対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する管理手段を有することを特徴とするサーバ。 - パッチ処理完了後に一定の安定性監視時間が経過したか否かを管理する時刻管理手段を有し、前記管理手段が前記安定性監視時間内にてパッチ対象プロセスに異常終了が発生した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項4記載のサーバ。
- 前記管理手段が、オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記時刻管理手段に設定された、前記必要情報においてユーザにより任意に指定された処理実施開始時間に、オンラインパッチ処理を開始することを特徴とする請求項4または請求項5に記載のサーバ。
- サーバにて実行されているアプリケーションプロセスのオンラインパッチ処理方法をコンピュータに実行させるプログラムであり、
管理手段が対象プロセスの状態が実行中であるか否かの判定を行い、実行中であれば、一旦、対象プロセスを停止させた後に、対象プロセス実行ファイルの入れ替えを実施し、完了後に再び対象プロセスを起動する処理を有することを特徴とするコンピュータにより実行可能なプログラム。 - オンラインパッチ処理完了後に、時刻管理手段が一定の安定性監視時間を設定し、前記管理手段がこの安定性監視時間内に、オンラインパッチ対象プロセスに異常終了が発生したことを検知した場合、旧版の該当プロセス実行ファイルにて同プロセスの再起動することを特徴とする請求項7記載のコンピュータにより実行可能なプログラム。
- オンラインパッチ処理の実行時に、該当サーバのコンソールから、必要情報を付与して処理実施要求用コマンドを実行することにより、オンラインパッチ処理の実行を受付け、前記必要情報でユーザが任意に設定した処理実施開始時間に基づいて、オンラインパッチ処理を開始することを特徴とする請求項7または請求項8に記載のコンピュータにより実行可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003199961A JP2005043960A (ja) | 2003-07-22 | 2003-07-22 | サーバ、オンラインパッチ処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003199961A JP2005043960A (ja) | 2003-07-22 | 2003-07-22 | サーバ、オンラインパッチ処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005043960A true JP2005043960A (ja) | 2005-02-17 |
Family
ID=34260559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003199961A Withdrawn JP2005043960A (ja) | 2003-07-22 | 2003-07-22 | サーバ、オンラインパッチ処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005043960A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200040A (ja) * | 2006-01-26 | 2007-08-09 | Sharp Corp | 制御装置、製造システム、制御アプリケーション切替プログラム、および記録媒体 |
JP2009015428A (ja) * | 2007-07-02 | 2009-01-22 | Nippon Telegr & Teleph Corp <Ntt> | プログラム更新方法、情報処理装置、プログラムおよび記録媒体 |
JP2011053954A (ja) * | 2009-09-02 | 2011-03-17 | Toyota Motor Corp | ソフトウェア更新装置 |
-
2003
- 2003-07-22 JP JP2003199961A patent/JP2005043960A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200040A (ja) * | 2006-01-26 | 2007-08-09 | Sharp Corp | 制御装置、製造システム、制御アプリケーション切替プログラム、および記録媒体 |
JP2009015428A (ja) * | 2007-07-02 | 2009-01-22 | Nippon Telegr & Teleph Corp <Ntt> | プログラム更新方法、情報処理装置、プログラムおよび記録媒体 |
JP2011053954A (ja) * | 2009-09-02 | 2011-03-17 | Toyota Motor Corp | ソフトウェア更新装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6971095B2 (en) | Automatic firmware version upgrade system | |
JP5564956B2 (ja) | 情報処理装置及び情報処理装置のファームウェア更新方法 | |
JP6556851B2 (ja) | データベースシステム、サーバ装置、プログラムおよび情報処理方法 | |
US9158528B2 (en) | Forcibly completing upgrade of distributed software in presence of failures | |
KR20040024412A (ko) | 펌웨어 업데이트 방법 | |
JP2009230171A (ja) | アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム | |
US5905896A (en) | Method of changing software version in a computer system comprising a plurality of stations, and a computer system for implementing the method | |
JP3612043B2 (ja) | 執行中のプログラムファイルをアップデートすることができるシステムおよびその方法 | |
JP2005242691A (ja) | プログラムダウンロード及び切替え方法及びその装置 | |
JPH11184825A (ja) | クラスタシステム | |
CN110109772B (zh) | 一种cpu的重启方法、通信设备及可读存储介质 | |
JP2006252437A (ja) | パッチ適用方式及びパッチ適用方法 | |
JP5056504B2 (ja) | 制御装置、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラム | |
US8880552B2 (en) | Database system and database control method | |
TWI509421B (zh) | 用於運算節點之可編程式件更新技術 | |
WO2024083259A1 (zh) | 主备数据库集群及选主方法、计算设备及存储介质 | |
CN106301877A (zh) | 一种虚拟网元的升级方法和装置 | |
JP2005043960A (ja) | サーバ、オンラインパッチ処理方法及びプログラム | |
JPH117382A (ja) | ファームウェアのバージョンアップ方法 | |
EP3671482B1 (en) | Transparent database session recovery with client-side caching | |
JP2010146436A (ja) | 監視システム、及びその制御方法、プログラム | |
JP2001134428A (ja) | 運用プログラム更新方法及び装置 | |
JP2004157767A (ja) | ソフトウェア更新システム | |
JP2003140905A (ja) | システムプログラムのバージョンアップ方法,システムプログラムのバージョンアップ用プログラムおよびシステムプログラムのバージョンアップ用プログラム記録媒体 | |
CN117472457B (zh) | 一种双bios系统、系统切换方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061003 |