(57)【要約】【課題】  二重化サーバシステムにおけるパッチ適用の自動化とサービス中断の発生を防止したサーバシステムとパッチ処理方法を提供する。【解決手段】  運用系サーバ及び待機系サーバとを備える二重化サーバと、プロセスを修正するためのパッチを転送可能な保守サーバとを備える二重化サーバシステムにおいて、保守サーバはプロセスの初期化処理に対するパッチを適用した後、システム再開コマンドを投入する。二重化サーバはパッチを適用した後にシステムを再開し、パッチを有効化する。また、二重化サーバは先に待機系サーバにパッチを適用し、当該待機系サーバのシステムを再開してパッチを有効化した後に待機系サーバと運用系サーバを切り替え、切り替えられた新たな待機系サーバにパッチを適用する。【選択図】  図４
2008242679.tif 000002
【特許請求の範囲】
【請求項１】
プロセスを実行する運用系サーバ及び当該運用系サーバの代替サーバである待機系サーバとを備える二重化サーバと、前記二重化サーバに接続され、前記プロセスを修正するためのパッチを前記二重化サーバにオンラインで転送可能な保守サーバとを備える二重化サーバシステムにおいて、前記保守サーバはパッチの転送後に前記二重化サーバのシステムを再開させるシステム再開コマンドを投入する手段を備えることを特徴とするサーバシステム。
【請求項２】
前記保守サーバはプロセスの初期化処理に対するパッチを転送後、前記システム再開コマンドによりシステム階層中のシステム再開レベルを指定することを特徴とする請求項１に記載のサーバシステム。
【請求項３】
前記二重化サーバは、転送されたパッチを先に待機系サーバに適用し、当該待機系サーバのシステムを再開してパッチを有効化した後に待機系サーバと運用系サーバを切り替え、切り替えられた新たな待機系サーバに前記パッチを適用して当該新たな待機系サーバのシステムを再開する手段を備えることを特徴とする請求項１または２に記載のサーバシステム。
【請求項４】
前記二重化サーバは転送したパッチを適用するためのパッチ適用コマンドに基づいて前記各サーバの切り替えを行うことを特徴とする請求項３に記載のサーバシステム。
【請求項５】
プロセスを実行する運用系サーバ及び当該運用系サーバの代替サーバである待機系サーバとを備える二重化サーバと、前記二重化サーバに接続され、前記プロセスを修正するためのパッチデータを前記二重化サーバにオンラインで転送可能な保守サーバとを備え、前記保守サーバは前記プロセスの初期化処理に対するパッチを転送し、かつシステム再開レベルを指定するシステム再開コマンドを投入し、前記二重化サーバは前記パッチを適用し、システムの再開を実行してパッチを有効化することを特徴とするパッチ処理方法。
【請求項６】
前記二重化サーバは、転送されたパッチを先に待機系サーバに適用し、当該待機系サーバのシステムを再開してパッチを有効化した後に待機系サーバと運用系サーバを切り替え、切り替えられた新たな待機系サーバに前記パッチを適用してシステムを再開することを特徴とする請求項５に記載のパッチ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は二重化サーバシステムにおけるパッチ処理の技術に関し、特に二重化サーバの自動システム再開を可能にしたサーバシステム及びパッチ処理方法に関するものである。
【背景技術】
【０００２】
クライアントサーバシステムとして、サーバを運用系サーバと待機系サーバとで二重化したサーバシステムがあり、常用的に運用させる運用系サーバが障害などによりダウンしたとき、予備の待機系サーバに切り替えて代替稼動を開始させている。また、サーバを構成しているコンピュータにインストールされているプログラムの一部を修正する技術としてパッチ処理がある。例えば、特許文献１にはマルチタスクのオンラインシステムにおけるパッチ処理システムが提案されている。
【０００３】
従来のパッチ処理では、図５に概略のフローを示すように、例えば保守サーバから対象となるサーバに対してパッチ（パッチデータ）を送信した上でパッチ有効化コマンド投入を行ない（Ｓ２００）、投入したパッチでのプロセスを実行してテストを行い、このテスト成功の場合にパッチ恒久化コマンド投入を行なっている（Ｓ２１０）。また、パッチの中には常駐プロセスの初期化処理に対するパッチも存在するため、この種のパッチを適用する場合にはパッチを適用する際に保守者が手動でシステム再開コマンド投入を行ってシステムの再開（再起動）を行っており（Ｓ２２０）、これによりパッチが適用されている（Ｓ２３０）。また、特許文献１では、パッチ管理処理部が投入されたパッチにパッチ投入前処理プログラムが存在することを検出したときにパッチ投入前処理プログラムを起動し、またパッチ投入後処理プログラムが存在することを検出したときにパッチ投入対象タスクを再起動する。
【特許文献１】特開２００３−２１６４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のパッチ処理では、パッチ適用時に保守者が手動でシステム再開コマンド投入を行ってシステムを再開させる必要があり、手間がかかるとともにオペレーションミスが発生する要因になっている。特に、二重化サバーシステムの場合には、二重化サーバを構成している運用系サーバと待機系サーバのそれぞれに対してパッチの投入とシステム再開を行う必要があり、作業がさらに煩雑なものになる。特に、運用系サーバにパッチ適用したときにはシステムを再開させる間、システムが停止されてサービスの中断を生じることになる。特に、適用するパッチに問題があった場合にはパッチの切り戻しを行う必要があるが、この間運用系サーバにおいて長時間のサービスの中断を生じることになる。
【０００５】
本発明の目的はシステム再開の自動化を実現するとともに、二重化サーバシステムにおけるサービス中断の発生を防止したサーバシステムとパッチ処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のサーバシステムは、プロセスを実行する運用系サーバ及び当該運用系サーバの代替サーバである待機系サーバとを備える二重化サーバと、この二重化サーバに接続されてプロセスを修正するためのパッチを二重化サーバにオンラインで転送可能な保守サーバとを備える二重化サーバシステムにおいて、保守サーバはパッチの転送後に二重化サーバのシステムを再開させるシステム再開コマンドを投入する手段を備えることを特徴とする。ここで、保守サーバはプロセスの初期化処理に対するパッチを転送後、システム再開コマンドによりシステム階層中のシステム再開レベルを指定する構成とする。
【０００７】
また、本発明のサーバシステムにおいて、二重化サーバは、転送されたパッチを先に待機系サーバに適用し、当該待機系サーバのシステムを再開してパッチを有効化した後に待機系サーバと運用系サーバを切り替え、切り替えられた新たな待機系サーバに前記パッチを適用して当該新たな待機系サーバのシステムを再開する手段を備えることが好ましい。また、二重化サーバはパッチ適用コマンドに基づいて各サーバの切り替えを行う構成とする。
【０００８】
本発明のパッチ処理方法は、プロセスを実行する運用系サーバ及び当該運用系サーバの代替サーバである待機系サーバとを備える二重化サーバと、二重化サーバに接続され、プロセスを修正するためのパッチデータを二重化サーバにオンラインで転送可能な保守サーバとを備え、保守サーバはプロセスの初期化処理に対するパッチを転送し、かつシステム再開レベルを指定するシステム再開コマンドを投入し、二重化サーバはパッチを適用し、システムの再開を実行してパッチを有効化することを特徴とする。
【０００９】
また、本発明のパッチ処理方法において、二重化サーバは、転送されたパッチを先に待機系サーバに適用し、当該待機系サーバのシステムを再開してパッチを有効化した後に待機系サーバと運用系サーバを切り替え、切り替えられた新たな待機系サーバにパッチを適用してシステムを再開することが好ましい。
【発明の効果】
【００１０】
本発明のサーバシステム及びパッチ処理方法によれば、パッチの転送後にシステム再開コマンドを投入するので、プロセスの初期化処理に対するパッチを適用した際には二重化サーバにおいて自動的に指定されたレベルでプログラムが再開され、プログラムの再起動が行われる。そのため、保守者が手動でシステム再開を行う手間がかからず、またオペレーションミスが未然に防止できる。さらに、二重化サーバにおいて先に待機系サーバにパッチ適用を行い、正常にシステム再開が行われてパッチが有効化された後に運用系サーバへの切り替えを行い、新たな待機系サーバに対してパッチ適用を行うので、二重化サーバがダウンすることが未然に防止でき、サービス中断の発生を防止する。
【実施例１】
【００１１】
次に、本発明の実施例１を図面を参照して説明する。図１は本発明が適用される二重化サーバシステムの構成図であり、運用系サーバ１１及び待機系サーバ１２で構成される二重化サーバ１と、これと回線ＯＬによりオンライン接続された保守サーバ２とで構成される。二重化サーバ１では運用系サーバ１１と待機系サーバ１２はそれぞれ同一のプロセス１００が走行しているが、運用系サーバ１１が常用的に稼動し、待機系サーバ１２は運用系サーバ１１に障害が生じたとき、あるいは必要なときに代替稼動することが可能である。保守サーバ２は二重化サーバ１に対してプロセスを修正するためのプログラム等を含むパッチ（パッチデータ）を転送することが可能である。また、転送されたパッチは二重化サーバ１の運用系サーバ１１と待機系サーバ１２のそれぞれに適用が可能である。
【００１２】
前記待機系サーバと運用系サーバでは、図２（ａ）に運用系サーバ１１で代表して示すように、メモリ２００上にプロセス使用領域２１０が確保されており、このプロセス使用領域２１０に保守サーバから転送されるパッチ１１０が適用可能とされている。転送されたパッチ１１０はプロセス使用領域２１０にパッチ適用領域２２０を確保する。また、各サーバにおいては、図２（ｂ）に簡略して示すように、下層のＯＳ（オペレーティングシステム）レベル、その上のミドルレベル、上層のアプリケーションレベルのシステム階層を有しており、通常のパッチ適用では上方のアプリケーションレベルでのプロセスの走行であるが、投入されるコマンドによる指定によりミドルレベルでのプロセスの走行が可能とされている。特に、ミドルレベルの指定によるプロセスの走行ではシステムの再開（再起動）が行われる。
【００１３】
ここで、保守サーバ２から二重化サーバ１に転送する初期化処理に対するパッチを適用する際には、プロセスを修正するためのプログラム、すなわちパッチを転送すると共に、当該パッチを適用するためのパッチ適用コマンドを投入する。ここでは、このパッチ適用コマンドには後述するように運用系サーバ１１と待機系サーバ１２の現用状態を切り替えるサーバ切替プログラムを含んでいる。また、前記パッチ適用コマンドを投入した後には、前記したシステム階層の中のミドルレベルを指定してシステムを再開するための、すなわちシステムを再起動するためのシステム再開コマンドを投入する。
【００１４】
実施例１の二重化サーバシステムにおけるパッチ適用方法について説明する。図３は図５に示した従来の「パッチ有効コマンド投入フロー」（Ｓ２００）を改善した実施例１の「パッチ有効コマンド投入フロー」（Ｓ１００）のフロー図である。運用系又は待機系のサーバでは、保守サーバ２からのパッチ転送及びパッチ適用コマンドの投入を受けて図２に示したメモリ２００のプロセス使用領域２１０にパッチ１１０を適用する（Ｓ１０１）。また、システム再開コマンドを受けてシステムを再開する。システム再開コマンドにはシステム階層のミドルレベルが指定されているので、プロセスの走行によりパッチが適用された後、システムが再開される（Ｓ１０２）。そして、システム再開が正常に行われ、パッチの有効化が完了されたことを確認すると（Ｓ１０３）、パッチ有効化コマンド投入フローが終了される。その後はこれまでと同様にパッチ恒久化コマンド投入フロー（Ｓ１１０）を行う。
【００１５】
図４は実施例１の二重化サーバにおけるパッチ適用方法の全体フロー図である。二重化サーバ１の運用系サーバ１１でのプロセス１００において問題が発生したとすると、待機系サーバ１２のプロセス１００においても同様の問題が発生する危険性がある。問題対処のため、保守サーバ２から二重化サーバ１にパッチ１１０の転送とパッチ適用コマンドを投入する（Ｓ１０）。二重化サーバ１では転送されたパッチを先ず待機系サーバ１２に投入し、パッチ有効化コマンド投入フローを行う（Ｓ１００）。このパッチ有効化コマンド投入フローは図３に示した通りである。すなわち、待機系サーバ１２のメモリのプロセス使用領域にパッチを適用し（Ｓ１０１）、待機系サーバ１２のプロセスの走行によりパッチが適用される。パッチの適用が終了すると保守サーバ２からシステム再開コマンドが投入され、このシステム再開コマンドに基づいてシステムが再開され、パッチが有効化される（Ｓ１０２）。システム再開を検証し（Ｓ１０３）、システム再開が正常に行われない場合には、適用したパッチに問題があったとして元のプログラムの状態に戻すパッチの切り戻しを行う（Ｓ５０）。また、システム再開が正常に行われたときにはパッチ有効化コマンド投入フローが完了され、パッチ恒久化コマンド投入フローを行う（Ｓ２０：Ｓ１１０と同じ）。
【００１６】
次いで、パッチ適用コマンドに含まれるサーバ切替プログラムに基づいて系切り替えを実行し、待機系サーバ１２を新たな運用系サーバ（新運用系サーバ）とし、それまでの運用系サーバ１１を新たな待機系サーバ（新待機系サーバ）に切り替える（Ｓ３０）。これにより、以降はシステム再開により常駐プロセスの初期化処理が行われた新運用系サーバによるサービスが行われる。
【００１７】
次いで、二重化サーバ１では、転送されているパッチ１１０をパッチ適用コマンドにより新待機系サーバ１１に投入し、前述したと同様に図３に示したパッチ有効化コマンド投入フローＳ１００を実行する。これにより、新待機系サーバ１１に対するパッチ有効化コマンド投入フローが行われ（Ｓ１０１）、パッチが適用された後、システム再開コマンドによりシステム再開が行われ、パッチが有効化される（Ｓ１０２）。しかる後、当該新待機系サーバにおけるシステム再開を検証し（Ｓ１０３）、システム再開が正常に行われない場合にはパッチの切り戻しを行う（Ｓ５０）。また、システム再開が正常に行われたことを確認したときにはパッチ有効化コマンド投入フローを完了し、パッチ恒久化コマンド投入フローを行う（Ｓ４０：Ｓ１１０と同じ）。
【００１８】
以上のように実施例１では、保守サーバ２においてパッチ適用コマンドを投入し、システム再開コマンドを投入するシステム構成であるため、プロセスの初期化処理に対するパッチを適用する際には二重化サーバにおいて自動的にパッチの適用とシステム再開が実行される。そのため、保守者が手動でシステム再開を行う手間がかからず、またオペレーションミスが未然に防止できる。
【００１９】
また、実施例１では、保守サーバ２から転送されるパッチ１１０に対し、二重化サーバ１において先に待機系サーバ１２にパッチ適用を行った上で自動的にシステム再開を行い、正常にシステム再開が行われた後に自動的に運用系サーバへの切り替えを行い、新たな待機系サーバ１１に対してパッチ適用を行って自動的にシステム再開を行い、正常にシステム再開が行われることを確認するので、二重化サーバがダウンしてサービスが中断することを未然に防止することができる。
【００２０】
ここで、実施例１では、パッチの転送及びパッチ適用コマンド投入とシステム再開コマンド投入をそれぞれ別の手段として分けて説明しているが、パッチの転送及びパッチ適用コマンドの投入とシステム再開コマンド投入を一体化して行うようにすることも可能である。
【００２１】
本発明においては保守サーバから投入するシステム再開コマンドは二重化サーバでのシステム再開が可能なコマンドであれば必ずしも実施例１に記載のようなシステム階層レベルを指定する手法でなくてもよい。
【図面の簡単な説明】
【００２２】
【図１】本発明のサーバシステムの実施例１の構成図である。
【図２】サーバにおけるパッチ処理の概念図である。
【図３】本発明のサーバにおけるパッチ有効化コマンド投入フロー図である。
【図４】本発明のパッチ処理のフロー図である。
【図５】従来のパッチ処理の概略フロー図である。
【符号の説明】
【００２３】
１  二重化サーバ
２  保守サーバ
１１  運用系サーバ
１２  待機系サーバ
１００  プロセス
１１０  パッチ
２００  メモリ
２１０  プロセス使用領域
２２０  バッチ適用領域
【図１】
2008242679.tif 000003
【図２】
2008242679.tif 000004
【図３】
2008242679.tif 000005
【図４】
2008242679.tif 000006
【図５】
2008242679.tif 000007