JP5941873B2 - Webサーバシステム、Webサーバ連携方法、及びプログラム - Google Patents

Webサーバシステム、Webサーバ連携方法、及びプログラム Download PDF

Info

Publication number
JP5941873B2
JP5941873B2 JP2013113184A JP2013113184A JP5941873B2 JP 5941873 B2 JP5941873 B2 JP 5941873B2 JP 2013113184 A JP2013113184 A JP 2013113184A JP 2013113184 A JP2013113184 A JP 2013113184A JP 5941873 B2 JP5941873 B2 JP 5941873B2
Authority
JP
Japan
Prior art keywords
web
operation state
browsing request
web server
gui
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
JP2013113184A
Other languages
English (en)
Other versions
JP2014232442A (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.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West Corp
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 Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2013113184A priority Critical patent/JP5941873B2/ja
Publication of JP2014232442A publication Critical patent/JP2014232442A/ja
Application granted granted Critical
Publication of JP5941873B2 publication Critical patent/JP5941873B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、前記閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバとを連携させるWebサーバシステム、Webサーバ連携方法、及びプログラムに関する。
近時、ゲートウェイ装置におけるHTTP(Hypertext Transfer Protocol)サーバの実装形態として、ネイティブ部分とJava(登録商標)部分とに各々HTTPサーバを持たせる構成が採用されている。その理由は、ベンダ毎に設計の異なるネイティブ部分と切り離してJava部分からなる共通モジュールを設けるためである。この共通モジュールを用いてWeb−GUI(Web Graphical User Interface)を表示させることにより、ゲートウェイ装置の機能を統一し、機能の共通化を目的とする追加開発を抑制してコストダウンを図ることができる(非特許文献1参照)。ある開発例では、既存のゲートウェイ装置の設計変更を最小限とするために、開発者は、ネイティブ部分のHTTPサーバが待ち受ける80番ポートは変えず、80番ポートで受信したWeb−GUIの閲覧リクエストをJava部分のHTTPサーバにも受け渡すプロキシ動作を利用する。
なお、ネイティブ部分とは、装置のOS(Operating System)に依存したコード(言語)で実装された機能を動作させる部分である。JavaはOSに依存しないコードの一例である。
"ホームゲートウェイなどへソフトウェア配信を行うホームICTプラットフォーム"、[online]、[平成25年4月18日検索]、インターネット〈URL:http://www.ntt.co.jp/RD/OFIS/active/2012pdf/hot/sw/01.html〉
しかしながら、上記従来技術において、Java部分はネイティブ部分に比較して起動処理に時間を要する。プロキシ動作を利用する場合には通常、個々のサーバは独立して動作するが、上記のゲートウェイ装置では、ネイティブ部分が動作してその上でJava部分が動作するので起動処理が遅くなる。そのため、起動処理時において、上記従来技術は、Javaを用いない場合と比較して、Web−GUIが表示されるまでの時間が長くなる。このようなWeb−GUI表示の遅さは、ユーザビリティの低下や装置設置時における保守者作業の長時間化を招く。
また、上記従来技術において、Java部分は、商用運用中にガベージコレクションの頻繁な発生やメモリ不足により動作停止などの不具合を起こす可能性が比較的高い。特に、個別バンドルにメモリ制限を課す場合には、各バンドルにおいてメモリリークにより動作停止を起こす可能性が高まる。
動作停止等の障害がJava仮想マシン全体やWeb−GUIに起きてしまうと、Web−GUIの画面で実現するサービスが停止するために深刻な影響が生じる。特に、Web−GUIの画面で提供すべき、システム再起動やファームウェア更新に関する復旧案内の提供が不可能となると、障害からの復旧手段が失われることになる。
最悪の場合、ユーザは、ゲートウェイ装置の物理的な再起動を試みるか、それでも復旧が難しい場合にはゲートウェイ装置を良品と取り換える必要が生じていた。この問題は、仮にJava部分に冗長化したWeb−GUIバンドルを複数準備したとしても、Java部分の全体に障害が生じた場合には解決することができない。
上記事情に鑑み、本発明は、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下におけるユーザのより速い応答を可能とするWebサーバシステム、Webサーバ連携方法、及びプログラムを提供することを目的としている。
本発明の一態様は、Webサーバシステムにおいて、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムであって、前記アプリケーションの動作状態を監視する動作状態監視部と、前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部とを備える。
また、本発明の一態様においては、前記アプリケーションのリソース使用状態を監視するリソース監視部を更に備え、前記リソース監視部は、特定アプリケーションの使用リソースの状態値が閾値を超えた場合には、当該特定アプリケーションを前記動作状態監視部の監視対象とする。
また、本発明の一態様は、Webサーバ連携方法において、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバとを連携させるWebサーバ連携方法であって、前記アプリケーションの動作状態を監視する動作状態監視段階と、前記動作状態監視段階にて監視された前記アプリケーションの動作状態を記録する記録段階と、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記記録段階における記録内容を参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応段階とを備える。
また、本発明の一態様は、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムとしてのコンピュータを、前記アプリケーションの動作状態を監視する動作状態監視部と、前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部として機能させるためのプログラムである。
本発明により、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下におけるユーザのより速い応答を可能とすることができる。例えば、ネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、最低限必要とされる情報を提示する画面をより速くユーザに提供することが可能になる。
本発明の一実施形態に係るゲートウェイ装置の構成を示すブロック図である。 動作状態監視テーブルの具体例を示す図である。 起動処理時にゲートウェイ装置が動作状態監視テーブルを更新する処理の流れを示すフローチャートである。 起動処理完了後にゲートウェイ装置が動作状態監視テーブルを更新する処理の流れを示すフローチャートである。 リソース監視部が特定バンドルを動作状態監視部による監視対象に加えるための閾値を示したテーブルである。 Web−GUIの閲覧リクエスト受信時におけるゲートウェイ装置の処理の流れを示すフローチャートである。
(1.ゲートウェイ装置の構成)
図1は、本実施形態に係るゲートウェイ装置100(Webサーバシステム)の構成を示すブロック図である。ゲートウェイ装置100は、ネイティブによって機能を実現するネイティブ部100aとJavaによって機能を実現するJava部100bとを含む。ネイティブ部100aは、例えばC言語により実装される。Javaは、ネイティブコードに依存しないコードの一例である。 ネイティブ部100aは、通信部110と、HTTPサーバ120(第2のWebサーバ)と、リバースプロキシ部120a(不動作時対応部)と、動作状態監視部150と、動作状態監視テーブル160(監視テーブル)と、リソース監視部170とを備える。Java部100bは、HTTPサーバ130(第1のWebサーバ)と、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cとを備える。
通信部110は、WAN側のネットワークおよびLAN側のネットワークと接続可能となっており、両ネットワークを相互に接続する。通信部110は、HTTPクライアントと通信する。HTTPサーバ120は、通信部110を介して、HTTPクライアントからWeb−GUIの閲覧リクエスト(HTTPリクエスト)を受信する。リバースプロキシ部120aは、HTTPサーバ120が受信した閲覧リクエストを適宜HTTPサーバ130に転送する。HTTPサーバ120は、例えば80番ポートでWeb−GUIの閲覧リクエストを待ち受け、受信した閲覧リクエストをリバースプロキシ部120aが例えば8080番ポートのHTTPサーバ130に転送する。HTTPサーバ120は、80番ポートを利用して、Web−GUIの閲覧リクエストの待ち受け以外にも、例えばWAN側にある保守用のサーバからゲートウェイ装置100のGUI等を遠隔にて確認する遠隔保守システム用にも利用されている。
リバースプロキシ部120a(不動作時対応部)は、HTTPサーバ120がWeb−GUIの閲覧リクエストを受信した場合には、動作状態監視テーブル160を参照し、受信した閲覧リクエストを処理するWeb−GUIバンドルが動作していなければ、所定の不動作時対応処理を実行する。
なお、図1においては、リバースプロキシ部120aは、HTTPサーバ120に包含された構成としたが、リバースプロキシ部120aは、HTTPサーバ120に包含されず、HTTPクライアントからのリクエストを一元的に受信し、HTTPクライアント側のリクエストURLに応じて、該当するHTTPサーバに転送を振り分けるような構成としてもよい。
Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cは、ネイティブコードに依存しないコードであるJavaのアプリケーションである。各Web−GUIバンドルは、Web−GUIの閲覧リクエストを分担して処理する。具体的には、HTTPサーバ130がWeb−GUIの閲覧リクエストを受信すると、閲覧リクエストに対応するWeb−GUIバンドルの処理により適切なWeb−GUIの画面データを送出する。閲覧リクエストの一例としては、ゲートウェイ装置100の保守に関する内容のものがある。なお、Web−GUIバンドルを設ける数は任意としてよい。
動作状態監視部150は、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cの各動作状態を監視する。動作状態監視テーブル160には、動作状態監視部150によって監視された各Web−GUIバンドルの動作状態が記録される。各Web−GUIバンドルの動作状態は、「休眠中」、「動作中」、「動作停止中」のいずれかである。リソース監視部170は、各Web−GUIバンドルがCPUやメモリ等のリソースを使用する、リソース使用状態を監視する。リソース監視部170は、各Web−GUIバンドルの使用リソースの状態値が所定の閾値を超えた場合には、動作状態監視テーブル160を書き換えて、そのWeb−GUIバンドルを動作状態監視部150による監視対象とする。
(2.動作状態監視テーブルの更新)
図2は、動作状態監視テーブル160の具体例を示す図である。図2では、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cの各々に対して、対応するWeb−GUIの閲覧リクエスト、動作状態監視部150による動作状態監視の対象か否か、タイムアウト時間、動作状態の監視結果が示されている。
図2の例では、Web−GUIバンドル(A)140aとWeb−GUIバンドル(B)140bとが動作状態監視部150による動作状態の監視対象となっている。図2の例では、Web−GUIバンドル(C)140cは動作状態監視部150による動作状態の監視対象となっていない。図2の例では、動作状態監視部150が動作状態の監視を実行するときに各Web−GUIバンドルからの回答を待ち受ける限界時間となるタイムアウト時間はいずれも5分である。図2の例では、動作状態監視部150によって動作状態の監視が実行された結果、Web−GUIバンドル(A)140aは「休眠中」であり、Web−GUIバンドル(B)140bは「動作停止中」である。
図3は、ゲートウェイ装置100が起動処理時に動作状態監視テーブル160を更新する処理の流れを示すフローチャートである。図3を参照しながら、起動処理時にゲートウェイ装置100が動作状態監視テーブル160を最新の状態に更新する処理の流れを説明する。
まず、ゲートウェイ装置100が起動処理を開始する(ステップS31)。ネイティブ部100aは、Java部100bより先に起動処理を完了する。ゲートウェイ装置100は、ネイティブ部100aの起動処理が完了した時点において、以下の処理を実行する。この時点において、動作状態監視テーブル160に記録された動作状態は、デフォルト状態として、全てのWeb−GUIバンドルについて「休眠中」である。「休眠中」は、各Web−GUIバンドルが起動処理を始めてから応答処理を始めるまでの初期状態を表している。
次に、動作状態監視部150は、動作状態監視テーブル160に記録された動作状態が「休眠中」のWeb−GUIバンドルに対してポーリング動作を実施する(ステップS32)。
次に、動作状態監視部150は、S32のポーリング動作に対して所定のタイムアウト時間内に応答したWeb−GUIバンドルの動作状態を「動作中」とするように、動作状態監視テーブル160を書き換える(ステップS33)。
次に、動作状態監視部150は、動作状態監視テーブル160を参照して、全てのWeb−GUIバンドルの動作状態が「動作中」になっているか否かを判定する(ステップS34)。ステップS34における判定の結果、全てのWeb−GUIバンドルの動作状態が「動作中」になっていなければ、ゲートウェイ装置100はステップS32に戻って処理を繰り返す。ステップS34における判定の結果、全てのWeb−GUIバンドルの動作状態が「動作中」になっていれば、ゲートウェイ装置100は処理を終了する。
なお、上記の説明(ステップS33)にて、動作状態監視部150は、ポーリング動作に対する各Web−GUIバンドルの応答に基づいて、そのWeb−GUIバンドルの動作状態を「休眠中」から「動作中」に更新する。しかし、動作状態監視部150は、ポーリング動作に対する応答ではなく、各Web−GUIバンドルが有するwatch dog機能の通知に基づいて、そのWeb−GUIバンドルの動作状態を「休眠中」から「動作中」に更新してもよい。
図4は、ゲートウェイ装置100が起動処理完了後に動作状態監視テーブル160を更新する処理の流れを示すフローチャートである。図4を参照しながら、ゲートウェイ装置100が起動処理完了後に動作状態監視テーブル160を最新の状態に更新する処理の流れを説明する。
まず、リソース監視部170は、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cのリソース使用状態を監視する(ステップS41)。監視対象となるリソースは、CPUの負荷とヒープメモリの使用量である。CPUの負荷については時間的な変動量が大きいので、複数回(例えば10回)の測定を行ってその平均値を求める。
次に、リソース監視部170は、リソース使用状態の状態値が所定の閾値より悪化したWeb−GUIバンドルを動作状態監視部150による監視対象に加える(ステップS42)。具体的には、リソース監視部170は、リソース使用状態の状態値が所定の閾値を超えたWeb−GUIバンドルを動作状態監視部150による監視対象とするように動作状態監視テーブル160を書き換える。
図5は、リソース監視部170が特定バンドルを動作状態監視部150による監視対象に加えるための閾値を示したテーブルである。図5に示されるように、リソース監視部170は、監視対象リソースのCPUについては、負荷状態を示す状態値の測定を10回実施する(ステップS41参照)。リソース監視部170は、10回測定の平均値において95%以上の負荷がかかっていれば、そのWeb−GUIバンドルを動作状態監視部150による監視対象に加える。また、図5に示されるように、リソース監視部170は、監視対象リソースのヒープメモリについては、測定を1回実施する(ステップS41参照)。測定の結果、リソース監視部170は、ヒープメモリの使用量(状態値)が40MB以上であれば、そのWeb−GUIバンドルを動作状態監視部150による監視対象に加える。
図4に戻って、動作状態監視部150は、動作状態監視テーブル160を参照して、監視対象(図2参照)としているWeb−GUIバンドルの動作状態を確認する(ステップS43)。例として、Web−GUIバンドル(A)140aとWeb−GUIバンドル(B)140bとが動作状態監視部150による動作状態の監視対象となっていれば、動作状態監視部150は、各Web−GUIバンドルに対応するWeb−GUIの閲覧リクエスト(例えば「http://xxx.setup/8080/aaa/*」)をHTTPサーバ130に送信する。動作状態監視部150は、Web−GUIバンドル(A)140aやWeb−GUIバンドル(B)140bから所定のタイムアウト時間内にWeb−GUIの応答が返ってきたか否かを確認する。
Web−GUIバンドルからの応答が所定のタイムアウト時間内に帰ってきたならば(ステップS44においてYes)、動作状態監視部150は、そのWeb−GUIバンドルの動作状態を「動作中」とするように動作状態監視テーブル160を更新する(S45)。他方、Web−GUIバンドルからの応答が所定のタイムアウト時間内に帰ってこなかったならば(ステップS44においてNo)、動作状態監視部150は、そのWeb−GUIバンドルの動作状態を「動作停止中」とするように動作状態監視テーブル160を更新する(ステップS46)。なお、「動作停止中」とは、動作状態監視部150による動作状態の監視の結果、応答が得られなかった場合である。「動作停止中」とは、Web−GUIバンドルが一時停止している場合の他、Web−GUIバンドルが故障している場合を含む。
次に、動作状態監視部150は、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行したかを判定する(ステップS47)。ステップS47における判定の結果、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行していなければ、動作状態監視部150は、未確認の監視対象のWeb−GUIバンドルについて、ステップS43以降の処理を繰り返す。他方、ステップS47における判定の結果、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行していれば、動作状態監視部150は処理を終了する。
ゲートウェイ装置100は、ステップS41〜S47の各処理を一定時間ごとに繰り返す。ゲートウェイ装置100は、ステップS41〜S47の各処理を、Web−GUIの閲覧リクエスト受信の有無や頻度とは無関係かつ独立に実行する。ゲートウェイ装置100は、内部処理やバックグラウンド処理として、ステップS41〜S47の各処理を繰り返すことにより、リソースの使用状態やWeb−GUIバンドルの動作状態が変化したときに、その変化を動作状態監視テーブル160により速く反映できる。従って、ゲートウェイ装置100は、いずれのタイミングでWeb−GUIの閲覧リクエストを受信したとしても、予め最新の状態に更新された動作状態監視テーブル160の記録内容に基づいて、その後の処理を選択することが可能となる。なお、ゲートウェイ装置100は、ステップS41〜S47の各処理を繰り返し実行するためにタイマーを用いてもよい。
(3.Web−GUIの閲覧リクエスト受信時の動作)
図6は、Web−GUIの閲覧リクエスト受信時におけるゲートウェイ装置100の処理の流れを示すフローチャートである。Web−GUIの閲覧リクエスト受信に先立って、図3及び図4の各処理が実行されているものとする。なお、図3及び図4の各処理が実行されている最中にWeb−GUIの閲覧リクエストを受信した時にも、ゲートウェイ装置100は図6の各処理を実行する。
まず、ゲートウェイ装置100のHTTPサーバ120は、通信部110が通信するHTTPクライアントからWeb−GUIの閲覧リクエストを受信する(ステップS61)。
次に、リバースプロキシ部120aは、動作状態監視テーブル160を参照することにより、Web−GUIの閲覧リクエストに対応付けられるWeb−GUIバンドルの動作状態を確認する(ステップS62)。HTTPサーバ120が受信したWeb−GUIの閲覧リクエストに対応付けられるWeb−GUIバンドルは、その閲覧リクエストを処理対象とするWeb−GUIバンドルである。Web−GUIの閲覧リクエストについては、そのURL(Uniform Resource Locator)の構造によって応答処理が担当されるべきWeb−GUIバンドルが決まっている。図2の例では、閲覧リクエスト「http://xxx.setup/8080/bbb/*」の応答処理を担当すべきWeb−GUIバンドルは、Web−GUIバンドル(B)140bである。
次に、リバースプロキシ部120aは、動作状態監視テーブル160の参照により、確認対象のWeb−GUIバンドルの動作状態が「休眠中」であるか否かを判定する(ステップS63)。ステップS63における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「休眠中」であればステップS64の処理に進む。他方、ステップS63における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「休眠中」でなければステップS65の処理に進む。
ステップS64においては、リバースプロキシ部120aは、HTTPサーバ120が受信したWeb−GUIの閲覧リクエストを、所定の「起動時送出用画面」の閲覧リクエスト(例えば「http://xxx.setup/80/shoki.html」)に変換して、ネイティブ部100aのHTTPサーバ120に送信する。HTTPサーバ120は、「起動時送出用画面」の応答データを保有している。HTTPサーバ120は、「起動時送出用画面」の応答データを送信することにより、リバースプロキシ部120aに対して応答する。「起動時送出用画面」には、現在Web−GUIバンドルが起動処理の途中であることを案内するメッセージ、ファームウェアのバージョン情報が含まれている。
「起動時送出用画面」の表示により、HTTPクライアントのユーザは、閲覧を希望するWeb−GUIの処理モジュールは未だ起動処理中であることを確認する。
他方、リバースプロキシ部120aは、動作状態監視テーブル160の参照により、確認対象のWeb−GUIバンドルの動作状態が「動作中」であるか否かを判定する(ステップS65)。ステップS65における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「動作中」であればステップS66の処理に進む。他方、ステップS65における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「動作中」でなければステップS67の処理に進む。
ステップS66においては、リバースプロキシ部120aは、HTTPサーバ120が受信したWeb−GUIの閲覧リクエストをJava部100bのHTTPサーバ130に転送する。この場合、閲覧リクエストに対して応答処理が担当されるべきWeb−GUIバンドルは動作中であることが確認されている。したがって、HTTPサーバ120が受信したWeb−GUIの閲覧リクエスト(例えば「http://xxx.setup/8080/aaa/*」)をそのままHTTPサーバ130に転送する。これにより、閲覧リクエストに対して適切なWeb−GUIの画面データが送出される。
ステップS67においては、確認対象のWeb−GUIバンドルの動作状態は「休眠中」ではなく(ステップS63においてNo)、「動作中」でもない(ステップS65においてNo)。したがって、確認対象のWeb−GUIバンドルの動作状態は「動作停止中」である。ステップS67において、リバースプロキシ部120aは、HTTPサーバ120が受信したWeb−GUIの閲覧リクエストを、所定の「緊急時送出用画面」の閲覧リクエスト(例えば「http://xxx.setup/80/kinkyu.html」)に変換する。リバースプロキシ部120aは、変換後の「緊急時送出用画面」の閲覧リクエストをネイティブ部100aのHTTPサーバ120に送信する。HTTPサーバ120は、「緊急時送出用画面」の応答データを保有している。HTTPサーバ120は、「緊急時送出用画面」の応答データを送信することにより、リバースプロキシ部120aに対して応答する。「緊急時送出用画面」には、現在Web−GUIバンドルが動作停止していることを案内するメッセージ、ファームウェアのバージョン情報、ゲートウェイ装置100のシステム再起動やファームウェア更新に関する復旧案内情報が含まれている。復旧案内情報の例としては、システム再起動のために押されるべきゲートウェイ装置100のリセットボタンの位置を示す情報や更新ファームウェアのダウンロード先を示すURLがある。「緊急時送出用画面」の表示により、HTTPクライアントのユーザは、復旧に必要な情報を確認する。
上記のゲートウェイ装置100によれば、起動処理時のネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、ユーザは、起動処理の完了を待機してから再度Web−GUIの閲覧リクエストを送信すべきことをより速く確認することができる。また、上記のゲートウェイ装置100によれば、動作停止時のネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、ユーザは、閲覧を希望するWeb−GUIの処理モジュールの動作停止状態から復旧するためには画面の案内に従ったシステム再起動やファームウェア更新などの対処が必要となることをより速く確認することができる。これにより、ユーザは、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下における応答速度を向上させることが可能となる。
なお、閲覧リクエストを処理するWeb−GUIバンドルが不動作時、つまり「休眠中」「動作停止中」に実行される、予め定められている不動作時対応処理の内容は、「起動時送出用画面」の表示や「緊急時送出用画面」の表示に限られない。例えば、ゲートウェイ装置100が、Web−GUIの閲覧リクエストを処理すべきWeb−GUIバンドルの動作状態が「動作停止中」であることを確認した時には、自動的に自機を再起動処理するようにしてもよい。この場合には、再起動処理する前に、ゲートウェイ装置100のユーザから再起動処理の許可の入力指示を受け付ける構成とすることが好ましい。また、ゲートウェイ装置100が、Web−GUIの閲覧リクエストを処理すべきWeb−GUIバンドルの動作状態が「休眠中」「動作停止中」であることを確認した時には、各々の状態に応じた種類の警報音を鳴らしたり、ゲートウェイ装置100に接続された他の端末機器を通じて、「休眠中」「動作停止中」であることやその対策をユーザに情報提供したりしてもよい。
また、上記の説明において、動作状態監視部150は、Javaアプリケーションであるバンドル〔Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140c〕の動作状態を監視するものとしたが、動作状態監視部150が動作状態を監視するアプリケーションは、Javaのバンドルに限定されるものではない。Web−GUIの閲覧リクエストに応答する処理は、Java以外のネイティブコードに依存しないコードのアプリケーションによっても実現可能である。Java以外のネイティブコードに依存しないコードのアプリケーションによって、Web−GUIの閲覧リクエストに応答する処理を実現する場合には、動作状態監視部150は、上記アプリケーションの動作状態を監視するものとすればよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計も含まれる。なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。
100…ゲートウェイ装置;Webサーバシステム, 100a…ネイティブ部, 100b…Java部, 110…通信部, 120…HTTPサーバ;第2のWebサーバ, 120a…リバースプロキシ部;不動作時対応部, 130…HTTPサーバ;第1のWebサーバ, 140a…Web−GUIバンドル(A);アプリケーション, 140b…Web−GUIバンドル(B);アプリケーション, 140c…Web−GUIバンドル(C);アプリケーション, 150…動作状態監視部, 160…動作状態監視テーブル;監視テーブル, 170…リソース監視部

Claims (4)

  1. ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムであって、
    前記アプリケーションの動作状態を監視する動作状態監視部と、
    前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、
    前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部とを備えることを特徴とするWebサーバシステム。
  2. 前記アプリケーションのリソース使用状態を監視するリソース監視部を更に備え、
    前記リソース監視部は、特定アプリケーションの使用リソースの状態値が閾値を超えた場合には、当該特定アプリケーションを前記動作状態監視部の監視対象とすることを特徴とする請求項1に記載のWebサーバシステム。
  3. ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバとを連携させるWebサーバ連携方法であって、
    前記アプリケーションの動作状態を監視する動作状態監視段階と、
    前記動作状態監視段階にて監視された前記アプリケーションの動作状態を記録する記録段階と、
    前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記記録段階における記録内容を参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応段階とを備えるWebサーバ連携方法。
  4. ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムとしてのコンピュータを、
    前記アプリケーションの動作状態を監視する動作状態監視部と、
    前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、
    前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部として機能させるためのプログラム。
JP2013113184A 2013-05-29 2013-05-29 Webサーバシステム、Webサーバ連携方法、及びプログラム Active JP5941873B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013113184A JP5941873B2 (ja) 2013-05-29 2013-05-29 Webサーバシステム、Webサーバ連携方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013113184A JP5941873B2 (ja) 2013-05-29 2013-05-29 Webサーバシステム、Webサーバ連携方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014232442A JP2014232442A (ja) 2014-12-11
JP5941873B2 true JP5941873B2 (ja) 2016-06-29

Family

ID=52125778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013113184A Active JP5941873B2 (ja) 2013-05-29 2013-05-29 Webサーバシステム、Webサーバ連携方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5941873B2 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312338A (ja) * 2001-04-16 2002-10-25 Toshiba Corp イントラネット業務サーバ、イントラネット業務システムおよびプログラム
JP2007164264A (ja) * 2005-12-09 2007-06-28 Fuji Xerox Co Ltd 負荷分散プログラム、負荷分散装置、サービスシステム
JP5197159B2 (ja) * 2007-06-07 2013-05-15 キヤノン株式会社 プログラム起動装置及びプログラム起動方法
JP2010231293A (ja) * 2009-03-26 2010-10-14 Nomura Research Institute Ltd 監視装置
JP5300650B2 (ja) * 2009-08-12 2013-09-25 日本電信電話株式会社 HttpServiceを用いたサービス登録装置、コンテンツ登録装置、サービス登録方法、コンテンツ登録方法、プログラム及び記録媒体
JP5421715B2 (ja) * 2009-10-05 2014-02-19 東日本電信電話株式会社 情報処理装置及び情報処理プログラム
JP5519561B2 (ja) * 2011-03-15 2014-06-11 東日本電信電話株式会社 ホームゲートウェイ遠隔制御システム、ホームゲートウェイ遠隔制御方法、ホームゲートウェイ遠隔制御プログラム及びホームゲートウェイ
JP5478546B2 (ja) * 2011-04-12 2014-04-23 日本電信電話株式会社 アクセス制御システム、およびアクセス制御方法
JP5478554B2 (ja) * 2011-05-19 2014-04-23 日本電信電話株式会社 ゲートウェイ装置および通信方法
JP5919179B2 (ja) * 2012-12-07 2016-05-18 日本電信電話株式会社 情報処理装置及び情報処理プログラム
JP5986942B2 (ja) * 2013-03-19 2016-09-06 西日本電信電話株式会社 プロキシ装置

Also Published As

Publication number Publication date
JP2014232442A (ja) 2014-12-11

Similar Documents

Publication Publication Date Title
TW201944236A (zh) 任務處理方法、裝置及系統
CN107544783B (zh) 一种数据更新方法、装置及系统
CN111866141A (zh) 机器人的监控方法、系统、装置、存储介质和处理器
CN106993043B (zh) 基于代理的数据通信系统和方法
US20150256622A1 (en) Connection management device, communication system, connection management method, and computer program product
CN104935621A (zh) 一种远程监控系统及远程监控方法
JP2006268470A (ja) 非同期通信方法
TW200426571A (en) Policy-based response to system errors occurring during os runtime
WO2013107170A1 (zh) 远程网管系统及其业务操作方法
JP2005301436A (ja) クラスタシステムおよびクラスタシステムにおける障害回復方法
CN112511595B (zh) 一种消息推送方法及消息服务系统
CN100359865C (zh) 一种检测方法
JP5941873B2 (ja) Webサーバシステム、Webサーバ連携方法、及びプログラム
JP2009064115A (ja) 携帯端末装置とサーバ装置との間のファイル同期
JP2012038257A (ja) Os動作状態確認システム、確認対象装置、os動作状態確認装置、os動作状態確認方法およびプログラム
CN106550002A (zh) 一种paas云托管系统及方法
CN113626139B (zh) 一种高可用的虚拟机存储方法及装置
JP2011018223A (ja) 情報通信システム及び情報通信方法
JP2006285453A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2008217290A (ja) サーバ装置、情報処理システム、サーバ制御プログラム
JP4686677B2 (ja) 代替サーバ切り替え方法
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
KR101389214B1 (ko) 원격 관리 시스템 및 방법
JP5577140B2 (ja) 情報処理システム及び情報処理方法
JP4863984B2 (ja) 監視処理プログラム、方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150629

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160420

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5941873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250