(58)【調査した分野】(Int.Cl.,DB名)
ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムであって、
前記アプリケーションの動作状態を監視する動作状態監視部と、
前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、
前記第2の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サーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部として機能させるためのプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術において、Java部分はネイティブ部分に比較して起動処理に時間を要する。プロキシ動作を利用する場合には通常、個々のサーバは独立して動作するが、上記のゲートウェイ装置では、ネイティブ部分が動作してその上でJava部分が動作するので起動処理が遅くなる。そのため、起動処理時において、上記従来技術は、Javaを用いない場合と比較して、Web−GUIが表示されるまでの時間が長くなる。このようなWeb−GUI表示の遅さは、ユーザビリティの低下や装置設置時における保守者作業の長時間化を招く。
【0005】
また、上記従来技術において、Java部分は、商用運用中にガベージコレクションの頻繁な発生やメモリ不足により動作停止などの不具合を起こす可能性が比較的高い。特に、個別バンドルにメモリ制限を課す場合には、各バンドルにおいてメモリリークにより動作停止を起こす可能性が高まる。
【0006】
動作停止等の障害がJava仮想マシン全体やWeb−GUIに起きてしまうと、Web−GUIの画面で実現するサービスが停止するために深刻な影響が生じる。特に、Web−GUIの画面で提供すべき、システム再起動やファームウェア更新に関する復旧案内の提供が不可能となると、障害からの復旧手段が失われることになる。
最悪の場合、ユーザは、ゲートウェイ装置の物理的な再起動を試みるか、それでも復旧が難しい場合にはゲートウェイ装置を良品と取り換える必要が生じていた。この問題は、仮にJava部分に冗長化したWeb−GUIバンドルを複数準備したとしても、Java部分の全体に障害が生じた場合には解決することができない。
【0007】
上記事情に鑑み、本発明は、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下におけるユーザのより速い応答を可能とするWebサーバシステム、Webサーバ連携方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の一態様は、Webサーバシステムにおいて、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムであって、前記アプリケーションの動作状態を監視する動作状態監視部と、前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部とを備える。
【0009】
また、本発明の一態様においては、前記アプリケーションのリソース使用状態を監視するリソース監視部を更に備え、前記リソース監視部は、特定アプリケーションの使用リソースの状態値が閾値を超えた場合には、当該特定アプリケーションを前記動作状態監視部の監視対象とする。
【0010】
また、本発明の一態様は、Webサーバ連携方法において、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバとを連携させるWebサーバ連携方法であって、前記アプリケーションの動作状態を監視する動作状態監視段階と、前記動作状態監視段階にて監視された前記アプリケーションの動作状態を記録する記録段階と、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記記録段階における記録内容を参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応段階とを備える。
【0011】
また、本発明の一態様は、ネイティブコードに依存しないコードで実装されたアプリケーションの処理によって、Web−GUIの閲覧リクエストに応答する第1のWebサーバと、ネイティブコードで実装され、前記閲覧リクエストを受信し、当該閲覧リクエストを前記第1のWebサーバに転送する第2のWebサーバと、を備えるWebサーバシステムとしてのコンピュータを、前記アプリケーションの動作状態を監視する動作状態監視部と、前記動作状態監視部によって監視された前記アプリケーションの動作状態を記録する監視テーブルと、前記第2のWebサーバが前記閲覧リクエストを受信した場合には、前記監視テーブルを参照し、当該閲覧リクエストを処理するアプリケーションが動作していなければ、予め定められている不動作時対応処理を実行する不動作時対応部として機能させるためのプログラムである。
【発明の効果】
【0012】
本発明により、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下におけるユーザのより速い応答を可能とすることができる。例えば、ネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、最低限必要とされる情報を提示する画面をより速くユーザに提供することが可能になる。
【発明を実施するための形態】
【0014】
(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とを備える。
【0015】
通信部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等を遠隔にて確認する遠隔保守システム用にも利用されている。
【0016】
リバースプロキシ部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バンドルを設ける数は任意としてよい。
【0017】
動作状態監視部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による監視対象とする。
【0018】
(2.動作状態監視テーブルの更新)
図2は、動作状態監視テーブル160の具体例を示す図である。
図2では、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cの各々に対して、対応するWeb−GUIの閲覧リクエスト、動作状態監視部150による動作状態監視の対象か否か、タイムアウト時間、動作状態の監視結果が示されている。
【0019】
図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は「動作停止中」である。
【0020】
図3は、ゲートウェイ装置100が起動処理時に動作状態監視テーブル160を更新する処理の流れを示すフローチャートである。
図3を参照しながら、起動処理時にゲートウェイ装置100が動作状態監視テーブル160を最新の状態に更新する処理の流れを説明する。
まず、ゲートウェイ装置100が起動処理を開始する(ステップS31)。ネイティブ部100aは、Java部100bより先に起動処理を完了する。ゲートウェイ装置100は、ネイティブ部100aの起動処理が完了した時点において、以下の処理を実行する。この時点において、動作状態監視テーブル160に記録された動作状態は、デフォルト状態として、全てのWeb−GUIバンドルについて「休眠中」である。「休眠中」は、各Web−GUIバンドルが起動処理を始めてから応答処理を始めるまでの初期状態を表している。
【0021】
次に、動作状態監視部150は、動作状態監視テーブル160に記録された動作状態が「休眠中」のWeb−GUIバンドルに対してポーリング動作を実施する(ステップS32)。
次に、動作状態監視部150は、S32のポーリング動作に対して所定のタイムアウト時間内に応答したWeb−GUIバンドルの動作状態を「動作中」とするように、動作状態監視テーブル160を書き換える(ステップS33)。
【0022】
次に、動作状態監視部150は、動作状態監視テーブル160を参照して、全てのWeb−GUIバンドルの動作状態が「動作中」になっているか否かを判定する(ステップS34)。ステップS34における判定の結果、全てのWeb−GUIバンドルの動作状態が「動作中」になっていなければ、ゲートウェイ装置100はステップS32に戻って処理を繰り返す。ステップS34における判定の結果、全てのWeb−GUIバンドルの動作状態が「動作中」になっていれば、ゲートウェイ装置100は処理を終了する。
【0023】
なお、上記の説明(ステップS33)にて、動作状態監視部150は、ポーリング動作に対する各Web−GUIバンドルの応答に基づいて、そのWeb−GUIバンドルの動作状態を「休眠中」から「動作中」に更新する。しかし、動作状態監視部150は、ポーリング動作に対する応答ではなく、各Web−GUIバンドルが有するwatch dog機能の通知に基づいて、そのWeb−GUIバンドルの動作状態を「休眠中」から「動作中」に更新してもよい。
【0024】
図4は、ゲートウェイ装置100が起動処理完了後に動作状態監視テーブル160を更新する処理の流れを示すフローチャートである。
図4を参照しながら、ゲートウェイ装置100が起動処理完了後に動作状態監視テーブル160を最新の状態に更新する処理の流れを説明する。
【0025】
まず、リソース監視部170は、Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140cのリソース使用状態を監視する(ステップS41)。監視対象となるリソースは、CPUの負荷とヒープメモリの使用量である。CPUの負荷については時間的な変動量が大きいので、複数回(例えば10回)の測定を行ってその平均値を求める。
【0026】
次に、リソース監視部170は、リソース使用状態の状態値が所定の閾値より悪化したWeb−GUIバンドルを動作状態監視部150による監視対象に加える(ステップS42)。具体的には、リソース監視部170は、リソース使用状態の状態値が所定の閾値を超えたWeb−GUIバンドルを動作状態監視部150による監視対象とするように動作状態監視テーブル160を書き換える。
【0027】
図5は、リソース監視部170が特定バンドルを動作状態監視部150による監視対象に加えるための閾値を示したテーブルである。
図5に示されるように、リソース監視部170は、監視対象リソースのCPUについては、負荷状態を示す状態値の測定を10回実施する(ステップS41参照)。リソース監視部170は、10回測定の平均値において95%以上の負荷がかかっていれば、そのWeb−GUIバンドルを動作状態監視部150による監視対象に加える。また、
図5に示されるように、リソース監視部170は、監視対象リソースのヒープメモリについては、測定を1回実施する(ステップS41参照)。測定の結果、リソース監視部170は、ヒープメモリの使用量(状態値)が40MB以上であれば、そのWeb−GUIバンドルを動作状態監視部150による監視対象に加える。
【0028】
図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の応答が返ってきたか否かを確認する。
【0029】
Web−GUIバンドルからの応答が所定のタイムアウト時間内に帰ってきたならば(ステップS44においてYes)、動作状態監視部150は、そのWeb−GUIバンドルの動作状態を「動作中」とするように動作状態監視テーブル160を更新する(S45)。他方、Web−GUIバンドルからの応答が所定のタイムアウト時間内に帰ってこなかったならば(ステップS44においてNo)、動作状態監視部150は、そのWeb−GUIバンドルの動作状態を「動作停止中」とするように動作状態監視テーブル160を更新する(ステップS46)。なお、「動作停止中」とは、動作状態監視部150による動作状態の監視の結果、応答が得られなかった場合である。「動作停止中」とは、Web−GUIバンドルが一時停止している場合の他、Web−GUIバンドルが故障している場合を含む。
【0030】
次に、動作状態監視部150は、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行したかを判定する(ステップS47)。ステップS47における判定の結果、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行していなければ、動作状態監視部150は、未確認の監視対象のWeb−GUIバンドルについて、ステップS43以降の処理を繰り返す。他方、ステップS47における判定の結果、全ての監視対象のWeb−GUIバンドルについて動作状態の確認を実行していれば、動作状態監視部150は処理を終了する。
【0031】
ゲートウェイ装置100は、ステップS41〜S47の各処理を一定時間ごとに繰り返す。ゲートウェイ装置100は、ステップS41〜S47の各処理を、Web−GUIの閲覧リクエスト受信の有無や頻度とは無関係かつ独立に実行する。ゲートウェイ装置100は、内部処理やバックグラウンド処理として、ステップS41〜S47の各処理を繰り返すことにより、リソースの使用状態やWeb−GUIバンドルの動作状態が変化したときに、その変化を動作状態監視テーブル160により速く反映できる。従って、ゲートウェイ装置100は、いずれのタイミングでWeb−GUIの閲覧リクエストを受信したとしても、予め最新の状態に更新された動作状態監視テーブル160の記録内容に基づいて、その後の処理を選択することが可能となる。なお、ゲートウェイ装置100は、ステップS41〜S47の各処理を繰り返し実行するためにタイマーを用いてもよい。
【0032】
(3.Web−GUIの閲覧リクエスト受信時の動作)
図6は、Web−GUIの閲覧リクエスト受信時におけるゲートウェイ装置100の処理の流れを示すフローチャートである。Web−GUIの閲覧リクエスト受信に先立って、
図3及び
図4の各処理が実行されているものとする。なお、
図3及び
図4の各処理が実行されている最中にWeb−GUIの閲覧リクエストを受信した時にも、ゲートウェイ装置100は
図6の各処理を実行する。
【0033】
まず、ゲートウェイ装置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である。
【0034】
次に、リバースプロキシ部120aは、動作状態監視テーブル160の参照により、確認対象のWeb−GUIバンドルの動作状態が「休眠中」であるか否かを判定する(ステップS63)。ステップS63における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「休眠中」であればステップS64の処理に進む。他方、ステップS63における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「休眠中」でなければステップS65の処理に進む。
【0035】
ステップ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の処理モジュールは未だ起動処理中であることを確認する。
【0036】
他方、リバースプロキシ部120aは、動作状態監視テーブル160の参照により、確認対象のWeb−GUIバンドルの動作状態が「動作中」であるか否かを判定する(ステップS65)。ステップS65における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「動作中」であればステップS66の処理に進む。他方、ステップS65における判定の結果、確認対象のWeb−GUIバンドルの動作状態が「動作中」でなければステップS67の処理に進む。
【0037】
ステップ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の画面データが送出される。
【0038】
ステップ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クライアントのユーザは、復旧に必要な情報を確認する。
【0039】
上記のゲートウェイ装置100によれば、起動処理時のネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、ユーザは、起動処理の完了を待機してから再度Web−GUIの閲覧リクエストを送信すべきことをより速く確認することができる。また、上記のゲートウェイ装置100によれば、動作停止時のネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下において、ユーザは、閲覧を希望するWeb−GUIの処理モジュールの動作停止状態から復旧するためには画面の案内に従ったシステム再起動やファームウェア更新などの対処が必要となることをより速く確認することができる。これにより、ユーザは、起動処理時や動作停止時などネイティブコードに依存しないコード(Javaを含む)で実装された部分の機能が利用できない状況下における応答速度を向上させることが可能となる。
【0040】
なお、閲覧リクエストを処理するWeb−GUIバンドルが不動作時、つまり「休眠中」「動作停止中」に実行される、予め定められている不動作時対応処理の内容は、「起動時送出用画面」の表示や「緊急時送出用画面」の表示に限られない。例えば、ゲートウェイ装置100が、Web−GUIの閲覧リクエストを処理すべきWeb−GUIバンドルの動作状態が「動作停止中」であることを確認した時には、自動的に自機を再起動処理するようにしてもよい。この場合には、再起動処理する前に、ゲートウェイ装置100のユーザから再起動処理の許可の入力指示を受け付ける構成とすることが好ましい。また、ゲートウェイ装置100が、Web−GUIの閲覧リクエストを処理すべきWeb−GUIバンドルの動作状態が「休眠中」「動作停止中」であることを確認した時には、各々の状態に応じた種類の警報音を鳴らしたり、ゲートウェイ装置100に接続された他の端末機器を通じて、「休眠中」「動作停止中」であることやその対策をユーザに情報提供したりしてもよい。
【0041】
また、上記の説明において、動作状態監視部150は、Javaアプリケーションであるバンドル〔Web−GUIバンドル(A)140a,Web−GUIバンドル(B)140b,Web−GUIバンドル(C)140c〕の動作状態を監視するものとしたが、動作状態監視部150が動作状態を監視するアプリケーションは、Javaのバンドルに限定されるものではない。Web−GUIの閲覧リクエストに応答する処理は、Java以外のネイティブコードに依存しないコードのアプリケーションによっても実現可能である。Java以外のネイティブコードに依存しないコードのアプリケーションによって、Web−GUIの閲覧リクエストに応答する処理を実現する場合には、動作状態監視部150は、上記アプリケーションの動作状態を監視するものとすればよい。
【0042】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計も含まれる。なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。