(57)【要約】【課題】導入コスト高を招くことなく、業務継続性が保障でき、運用負担が少ないアプリケーションサーバシステムを提供すること。【解決手段】クライアントＰＣからの処理要求を受付けるＷｅｂアプリケーションサーバをハードウェアによる二重化ではなく、ソフトウェアによる二重化構成とし、その一方の業務アプリケーションに障害が発生し、当該障害を検知したとき、データベースからＷｅｂセッション情報を受け、他方の業務アプリケーションにソフトウェア切り替えを行い、当該ソフトウェア切り替えをもってＷｅｂアプリケーションサーバでの業務継続性を保障する手段を設ける。【選択図】図１
2014160379.tif 000002
【特許請求の範囲】
【請求項１】
クライアントＰＣからの処理要求を受付けるＷｅｂアプリケーションサーバにおいて、
Ａ系業務処理プロセス手段と、Ｂ系業務処理プロセス手段と、障害監視・系切替制御手段、を有し、
前記クライアントＰＣからの処理要求を受付ける前記Ａ系業務処理プロセス手段と前記Ｂ系業務処理プロセス手段を同一ポート番号にて二重化構成とし、
前記障害監視・系切替制御手段は、
前記障害監視・系切替制御手段の障害を検知する障害発生検知手段と、
前記Ａ系業務処理プロセス手段に障害が発生した場合、前記障害発生検知手段による障害検知をもって前記Ａ系業務処理プロセス手段を停止し、またＢ系業務処理プロセス手段を起動するＡ系／Ｂ系Ｗｅｂサーバ停止／起動制御部と、セッション情報サーバのＡ系セッション情報を前記Ｂ系業務処理プロセス手段に引き継ぐＡセッション情報引継部と、前記クライアントＰＣと前記Ａ系業務処理プロセス手段との接続を、前記クライアントＰＣと前記Ｂ系業務処理プロセス手段との接続に切り替えるＡ系／Ｂ系業務処理プロセス切替制御部と、
を有する、
ことを特徴とするＷｅｂアプリケーションサーバシステム。
【請求項２】
請求項１に記載のＷｅｂアプリケーションサーバシステムであって、前記前記障害発生検知手段による障害検知を受け、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部および前記Ａ系／Ｂ系業務処理プロセス切替制御部を制御するＡ系／Ｂ系Ｗｅｂサーバ停止・起動・切替要求通知部、を有する、
ことを特徴とするＷｅｂアプリケーションサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂアプリケーションサーバシステムに関する。
【０００２】
更に詳しくは、クライアントＰＣからの業務処理要求（アクセス）に対して、当該要求に対応する業務処理を実行し、その結果をＷｅｂ画面（ブラウザ）に組み立てる業務Ｗｅｂプロセスを実行するＷｅｂアプリケーションサーバを含むＷｅｂアプリケーションサーバシステムに関する。
【背景技術】
【０００３】
係るＷｅｂアプリケーションサーバシステムにあっては、Ｗｅｂアプリケーションサーバに障害が発生したとき、クライアントＰＣからの業務処理要求のリトライは不可能となる。
【０００４】
そのため、一般的には、図６に示す如く、ハードウェア、つまりＷｅｂアプリケーションサーバの二重化構成、例えば現用のＡ系（業務処理プロセスを実行するＷｅｂサーバと業務アプリケーションサーバ）と待機中のＢ系（待機中の業務処理プロセスを実行するＷｅｂサーバと業務アプリケーションサーバ）を有する２重化構成としている。そして、Ａ系とＢ系のＷｅｂアプリケーションサーバの前段に負荷分散装置を設け、現用のＡ系のサーバに障害が発生した場合、当該負荷分散装置により、現用のＡ系から待機用のＢ系のサーバに切り替え、クライアントＰＣからの業務処理要求に対応可能な構成とすることが基本となっている。
本技術分野の背景技術として、例えば、特開２０１２−１０４９６７号公報（特許文献１）が挙げられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１０４９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、このようにハードウェアのサーバを二重化するシステムにあっては、それらを切り替えるための負荷分散装置が必須となり、導入コストが高くなるのみならず、障害発生時には、Ｗｅｂセッション情報がないため、業務継続性が保障できず、クライアントＰＣ（ユーザ）側では、初期操作、つまりＷｅｂセッションからやり直す必要があった。
【０００７】
その結果として、運用者の夜間・休祭日対応（セキュリティＰＣでの対応・出社対応）が必要となるなど、運用者の運用負担が大きくなり、また、その間、業務システムを利用できないことによる損失を被る課題があった。
【課題を解決するための手段】
【０００８】
そこで、本発明は、導入コスト高を招くことなく、業務継続性が保障でき、運用負担が少ないアプリケーションサーバシステムを提供する。
【０００９】
本発明者は、以下の点に着目した。まず、システム障害はプロセス障害などのソフトウェアに起因することが多いこと、また、２４時間３６５日運用を必要とせず冗長性を持たないシステムであっても、障害時は即時の回復が求められることが多いことである。
【００１０】
本発明は、係る点に鑑み、上記課題を解決するため、クライアントＰＣからの処理要求を受付けるＷｅｂアプリケーションサーバをハードウェアによる二重化ではなく、ソフトウェアによる二重化構成とし、その一方の業務アプリケーションに障害が発生し、当該障害を検知したとき、データベースからＷｅｂセッション情報を受け、他方の業務アプリケーションにソフトウェア切り替えを行い、当該ソフトウェア切り替えをもってＷｅｂアプリケーションサーバでの業務継続性を保障する手段を設ける。
【００１１】
例えば、本発明のＷｅｂアプリケーションサーバシステムは、クライアントＰＣからの処理要求を受付けるＷｅｂアプリケーションサーバにおいて、
Ａ系業務処理プロセス手段と、Ｂ系業務処理プロセス手段と、障害監視・系切替制御手段、を有し、
前記クライアントＰＣからの処理要求を受付ける前記Ａ系業務処理プロセス手段と前記Ｂ系業務処理プロセス手段を同一ポート番号にて二重化構成とし、
前記障害監視・系切替制御手段は、
前記障害監視・系切替制御手段の障害を検知する障害発生検知手段と、
前記Ａ系業務処理プロセス手段に障害が発生した場合、前記障害発生検知手段による障害検知をもって前記Ａ系業務処理プロセス手段を停止し、またＢ系業務処理プロセス手段を起動するＡ系／Ｂ系Ｗｅｂサーバ停止／起動制御部と、セッション情報サーバのＡ系セッション情報を前記Ｂ系業務処理プロセス手段に引き継ぐＡセッション情報引継部と、前記クライアントＰＣと前記Ａ系業務処理プロセス手段との接続を、前記クライアントＰＣと前記Ｂ系業務処理プロセス手段との接続に切り替えるＡ系／Ｂ系業務処理プロセス切替制御部と、を有することを特徴とする。
【００１２】
上記Ｗｅｂアプリケーションサーバシステムであって、更に、前記前記障害発生検知手段による障害検知を受け、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部および前記Ａ系／Ｂ系業務処理プロセス切替制御部を制御するＡ系／Ｂ系Ｗｅｂサーバ停止・起動・切替要求通知部、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、専用ハードウェア・ソフトウェアの導入を必要とせず低コストかつ簡易に構築が可能となる。また、システム開発・運用の標準技術の組み合わせにて構築するため、特殊製品・特殊技術を必要としないで済む、と言う効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本発明のＷｅｂアプリケーションサーバシステムの構成例を示すブロック図である。
【図２】Ａ系業務処理プロセスのアプリケーションサーバプロセスの障害発生検知およびＷｅｂサーバプロセス停止／起動制御の様子を示す構成図である。
【図３】Ａ系業務処理プロセス／Ｂ系業務処理プロセス切り替え制御の様子を示す構成図である。
【図４】Ｂ系業務処理プロセス部による業務継続の様子を示す構成図である。
【図５】本発明のＷｅｂアプリケーションサーバシステムの処理フローを示すツローチャートである。
【図６】従来の本発明のＷｅｂアプリケーションサーバシステムの構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、実施例を、図面を用いて説明する。本実施例では、Ｗｅｂアプリケーションサーバプロセス二重化による業務継続性の向上を図った例について説明する。
【実施例１】
【００１６】
図１は、本発明のＷｅｂアプリケーションサーバシステムの構成を示す図である。同図において、Ｗｅｂアプリケーションサーバシステムは、クライアントＰＣ１０にネットワーク４０を介して接続するＷｅｂアプリケーションサーバ２０、障害監視・系切替制御手段５０は、を有する。
障害監視・系切替制御手段５０は、Ｗｅｂアプリケーションサーバ２０とは、別に設けてもよい。
【００１７】
Ｗｅｂアプリケーションサーバ２０は、Ａ系業務処理プロセス（プログラム）２０１と、Ｂ系業務処理プロセス（プログラム）２０２と、を有する。Ａ系業務処理プロセス手段（プログラム）２０１、Ｂ系業務処理プロセス手段２０２は、共にソフトウェアにより構成する。
【００１８】
Ａ系業務処理プロセス（プログラム）２０１およびＢ系業務処理プロセス（プログラム）２０２は、それぞれＷｅｂサーバプロセス（プログラム）２０１１、２１０２１、ＡＰサーバプロセス（業務アプリケーション）２０１２、２０２２、を有する。
【００１９】
Ａ系およびＢ系Ｗｅｂサーバプロセス２０１および２０２は、クライアントＰＣ１０とＷｅｂサアプリケーションサーバ２０とを同一ポート番号（例えばポート８０）をもって接続（起動）し、また当該接続を断（停止）する。
【００２０】
障害監視・系切替制御手段５０は、障害発生検知部５１、Ａセッション情報引継部５３、系切替制御部５２、を有する。
【００２１】
障害発生検知部５１は、Ａ系又はＢ系の業務処理プロセス２０１、２０２の動作状況を監視し、また同系に障害が発生した場合、その障害、例えばプロセスがダウン、ハングアップ（hung−up）等を検知する障害発生検知部５１１を有する。
【００２２】
セッション情報引継部５３は、ＤＢサーバ３０のＡ系セッション情報をＢ系業務プロセス側に引渡し、Ａ系業務プロセスによる業務をＢ系業務プロセスにて引継ぎを可能とするＡセッション情報引継部５３１を有する。
【００２３】
系切替制御部５２は、例えば制御サーバからなり、当該サーバは、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部５２１、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動要求通知部５２２、Ａ系／Ｂ系業務処理プロセス切替制御部５２３、を有する。
【００２４】
Ａ系／Ｂ系Ｗｅｂサーバ停止／起動要求通知部５２２は、障害発生検知部５１１が、Ａ系業務処理プロセス２０１のＡＰサーバプロセス（業務アプリケーション）２０１２の障害を検知した場合、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部５２２に、Ａ系業務処理プロセス２０１のＷｅｂサーバプロセス２０１１を停止し、またＢ系業務処理プロセス２０２のＷｅｂサーバプロセス２０２１を起動する通知を行う。
【００２５】
Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部５２１は、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動要求通知部５２２からの通知に基づき、Ａ系業務処理プロセス２０１のＷｅｂサーバプロセス２０１１を停止し、またＢ系業務処理プロセス２０２のＷｅｂサーバプロセス２０２１を起動する。
【００２６】
Ａ系／Ｂ系業務処理プロセス切替制御部５２３は、障害発生検知部５１が、Ａ系業務処理プロセス２０１のＡＰサーバプロセス（業務アプリケーション）２０１２の障害を検知した場合、クライアントＰＣ１０とＷｅｂアプリケーションサーバ２０との接続を、Ａ系業務処理プロセス２０１側からＢ系業務処理プロセス２０２側に切り替える。ここで、重要なことは、Ａ系と同一のポート番号、例えばポート８０で接続することである。
【００２７】
この切替タイミングは、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動制御部５２１によるＷｅｂサーバプロセス２０１１の停止、Ｗｅｂサーバプロセス２０２１の起動の後に行うとよいが、その逆であってもよい。
【００２８】
図２〜図４は、本発明のＷｅｂアプリケーションサーバシステムにおける障害発生時における遷移を示す図である。
【００２９】
図２は、Ａ系業務処理プロセス２０１のアプリケーションサーバプロセス２０１２の障害発生検知およびＷｅｂサーバプロセス停止／起動制御の様子を示す図である。
【００３０】
同図において、アプリケーションサーバプロセス（業務アプリケーション）２０１２に障害が発生すると、障害発生検知部５１１は、アプリケーションサーバプロセス（業務アプリケーション）２０１２に障害が発生したことを検知する。
【００３１】
すると、制御サーバ５２のＡ系／Ｂ系Ｗｅｂサーバ停止／起動制御部５２１は、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動要求・切替通知部５２２からの要求を受け、Ａ系業処理プロセッサ２０１のＷｅｂサーバプロセス２０１１を停止し、またＢ系業処理プロセッサ２０２のＷｅｂサーバプロセス２０１２を起動する。
【００３２】
図３は、Ａ系業務処理プロセス／Ｂ系業務処理プロセス切り替え制御の様子を示す構成図である。
【００３３】
同図において、障害発生検知部５１１が、アプリケーションサーバプロセス（業務アプリケーション）２０１２に障害が発生したことを検知すると、Ａ系／Ｂ系業務処理プロセス切替制御部５２３は、Ａ系／Ｂ系Ｗｅｂサーバ停止／起動要求・切替通知部５２２からの要求を受け、クライアントＰＣ１０とＷｅｂアプリケーションサーバとの接続を、Ａ系Ｗｅｂサーバプロセス２０１１からＢ系Ｗｅｂサーバプロセス２０１２に切り替える。
この切替は、以下に述べるセッション情報ＤＢ３０１のＡセッション情報により実行される。
【００３４】
図４は、Ｂ系業務処理プロセスによる業務処理の継続の様子を示す構成図である。
【００３５】
同図において、アプリケーションサーバプロセス（業務アプリケーション）２０１２に障害が発生すると、Ａセッション情報引継部５３１は、ＤＢサーバ３０のセッション情報ＤＢ３０１からＡ系Ｗｅｂサーバセッション情報を、Ｂ系業務処理プロセス２０２１側に供給する。
このＡセッション情報をもって、Ｂ系業務処理プロセス２０２１は、クライアントＰＣ１０との接続を維持し、Ａ系業務処理プロセス２０１１による業務処理を引継ぎ、継続する。
【００３６】
図５は、本発明のＷｅｂアプリケーションサーバシステムの業務処理プロセスのシーケンスを示す図である。
【００３７】
同図において、ステップＳ５０１にて、Ａ系業務処理プロセスでの業務処理を実行する。ステップＳ５０２にて、Ａ系業務処理プロセスの状態を監視し、ステップＳ５０３にて、Ａ系業務処理プロセスのアプリケーションサーバプロセスの障害発生、つまりプロセスの生死やハングアップ（動作していたソフトウェアが停止し、コンピュータが操作を受付けなくなる現象や状態）検知等を検知する。
【００３８】
このとき、ステップＳ５０４にて、Ａ系業務処理プロセス２０１のＷｅｂサーバプロセス（８０ポート）２０１１を停止し、ステップＳ５０５にて、Ｂ系業務処理プロセス２０２のＷｅｂサーバプロセス（８０ポート）２０２１を起動状態とする。
【００３９】
また、ステップＳ５０６にて、セッション情報ＤＢ３０１のＡ系Ｗｅｂサーバセッション情報をＢ系業務処理プロセス２０２側に引き継ぐ。
【００４０】
次いで、ステップＳ５０７にて、Ａ系業務処理プロセス／Ｂ系業務処理プロセスの切替を行い、クライアントＰＣ１０との接続をＡ系業務処理プロセス２０１からＡ系業務処理プロセス２０２に切り替える。
【００４１】
以降は、ステップＳ５０８にて、Ｂ系業務処理プロセスでＡ系業務処理プロセスの業務を継続する。
【００４２】
以上述べた実施例によれば、
（Ａ）通常状態時
（１）ＰＣからの処理要求を受け付けるＷｅｂプロセスを同一ポート番号にて２重化する(Ａ系とＢ系)。
（２）運用監視プロセスにて、各プロセスの状態を常時監視する。
【００４３】
（Ｂ）障害発生時
（１）Ａ系プロセスダウンを運用監視プロセスにて検知後、Ａ系Ｗｅｂプロセス停止、B系Ｗｅｂプロセス起動を自動処理する。
【００４４】
（Ｃ）切替後
（１）ブラウザからのアクセス先はＷｅｂプロセスのポート番号にて決定するため、B系Ｗｅｂサーバへ自動接続される。
（２）Ａ系とB系にてＷｅｂセッション情報を共有しているため、障害発生前の状態にて処理継続が可能となる。
【００４５】
そして、サーバ設定・監視設定・運用スクリプトによって、専用ハードウェア・ソフトウェアの導入を必要とせず低コストかつ簡易に構築が可能となる(高信頼性が必要とされ、コストを厭わない重要システムを除く)。
【００４６】
また、システム開発・運用の標準技術の組み合わせにて構築するため、特殊製品・特殊技術を必要としない。
従来は、障害発生〜検知〜担当者への連絡に数分、原因特定〜回復（十数〜数十分、夜間・休祭日は数時間）となっていたが、本実施例では、その間、業務システムを利用できないことによる損失を防止可能となった。
【００４７】
なお、本発明は上記した実施例限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
【産業上の利用可能性】
【００４８】
二重化システムを必要とするものには適用可能である。
【符号の説明】
【００４９】
１０  クライアントＰＣ
２０  Ｗｅｂアプリケーションサーバ
２０１  Ａ系業務処理プロセッサ
２０２  Ｂ系業務処理プロセッサ
２０１１、２０２１  Ｗｅｂサーバプロセス（８０ポート）
２０１２、２０２２  アプリケーションサーバプロセス（業務アプリケーション）
３０  ＤＢサーバ
３０１  セッション情報ＤＢ
４０  ネットワーク
５０  障害監視・系切替制御手段
５１  障害発生検知手段
５２  制御サーバ
５２１  Ａ系／Ｂ系Ｗｅｂサーバ停止／起動・切替制御部
５２２  Ａ系／Ｂ系Ｗｅｂサーバ停止／起動。切替要求通知部
５２３  Ａ系／Ｂ系業務処理プロセス切替制御部
５３  セッション情報引継手段
５３１  Ａセッション情報引継部
【図１】
2014160379.tif 000003
【図２】
2014160379.tif 000004
【図３】
2014160379.tif 000005
【図４】
2014160379.tif 000006
【図５】
2014160379.tif 000007
【図６】
2014160379.tif 000008