(57)【要約】【課題】他のＷｅｂサーバの動作状況を測定しなくても、負荷の小さいＷｅｂサーバに負荷を分散させることができるＷｅｂサーバシステムおよび負荷分散方法を提供する。【解決手段】各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃは、各Ｗｅｂサーバ間で共通の静的コンテンツを保存する共有データ保存部３３と、各Ｗｅｂサーバの過去の負荷情報および監視制御部３５による動作スケジュール情報からなる運用情報を所定の時間帯にＷｅｂサーバ間で授受する運用情報授受部３６と、運用情報を蓄積する運用情報蓄積部３４と、Ｗｅｂ記述言語により記述されて静的コンテンツのリンク先が貼られたＷｅｂページの送信要求をクライアント端末６から受信すると、運用情報をもとに送信要求受信時の各Ｗｅｂサーバの負荷を推定する負荷推定部３７と、負荷の推定結果に基づいてＷｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるＷｅｂページ変更部３８とを備る。【選択図】図１
2009237835.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを提供する複数台のＷｅｂサーバとクライアント端末とが通信ネットワークを介して接続されたＷｅｂサーバシステムにおいて、
各々のＷｅｂサーバは、配下の端末の監視又は制御を行う監視制御部と、各Ｗｅｂサーバ間で共通の静的コンテンツを保存する共有データ保存部と、各Ｗｅｂサーバの過去の負荷情報および監視制御部による動作スケジュール情報を少なくとも含む運用情報を所定の時間帯にＷｅｂサーバ間で授受する運用情報授受部と、取得した運用情報を蓄積する運用情報蓄積部と、Ｗｅｂ記述言語により記述されて前記静的コンテンツのリンク先が貼られたＷｅｂページの送信要求をクライアント端末から受信すると、送信要求受信時の各Ｗｅｂサーバの負荷を前記運用情報に基づいて推定する負荷推定部と、負荷推定部の推定結果に基づいて前記Ｗｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるために前記Ｗｅｂページを変更するＷｅｂページ変更部とを備えたことを特徴とするＷｅｂサーバシステム。
【請求項２】
前記運用情報授受部は、他の時間帯に比べて負荷が相対的に大きい時間帯を示す混雑時間情報を有し、混雑時間中に何れかのＷｅｂサーバで前記動作スケジュール情報が変更された場合、変更された差分情報をＷｅｂサーバ間で授受することを特徴とする請求項１記載のＷｅｂサーバシステム。
【請求項３】
前記Ｗｅｂページ変更部は、前記負荷推定部によって推定された各Ｗｅｂサーバの負荷情報と、クライアント端末に搭載されたブラウザソフトが前記Ｗｅｂページを解析した時点で前記負荷情報をもとに静的コンテンツのリンク先を変更させる処理をクライアント端末側で実行させる処理命令とを前記Ｗｅｂページに書き込むことを特徴とする請求項１又は２記載のＷｅｂサーバシステム。
【請求項４】
前記Ｗｅｂサーバは、監視対象又は制御対象の端末の異常状態を検知すると、異常状態を報知する異常情報を他のＷｅｂサーバに送信するとともに、他のＷｅｂサーバからの異常情報を受信する異常情報送受信部を備え、前記Ｗｅｂページ変更部は、Ｗｅｂページ中のリンク先を変更する際に、異常状態を報知してきたＷｅｂサーバを変更先の対象から外すことを特徴とする請求項１乃至３の何れか１項に記載のＷｅｂサーバシステム。
【請求項５】
Ｗｅｂサービスを提供する複数台のＷｅｂサーバとクライアント端末とが通信ネットワークを介して接続されたＷｅｂサーバシステムの負荷分散方法であって、
各Ｗｅｂサーバの過去の負荷情報および監視制御部による動作スケジュール情報を少なくとも含む運用情報を所定の時間帯にＷｅｂサーバ間で授受するステップと、
Ｗｅｂサーバが、他のＷｅｂサーバから取得した運用情報を運用情報蓄積部に蓄積するステップと、
Ｗｅｂサーバが、Ｗｅｂ記述言語により記述されて前記静的コンテンツのリンク先が貼られたＷｅｂページの送信要求をクライアント端末から受信すると、運用情報蓄積部に蓄積された運用情報をもとに受信時の各Ｗｅｂサーバの負荷を推定するステップと、
Ｗｅｂサーバが、各Ｗｅｂサーバの負荷を推定した結果に基づいて、前記Ｗｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるために前記Ｗｅｂページを変更するステップとを備えることを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバシステムおよび負荷分散方法に関するものである。
【背景技術】
【０００２】
従来、図３に示すように、建物の各エリアＡ，Ｂ，Ｃ…にそれぞれ設置された照明機器や空調機器などの制御端末１２および監視端末１３と、各エリアＡ，Ｂ，Ｃ…に設置され、自エリア内の端末（制御端末１２および監視端末１３）がローカルネットワーク１４を介して接続されて各端末の監視又は制御を行う統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…と、複数台の統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…が通信ネットワーク１５を介して接続され、システム全体の動作状態を監視したり、各エリアに設置された端末の動作スケジュールを設定する中央監視盤１６とで構成される中央監視システムが提供されている。
【０００３】
図３に示すシステムでは、統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…にはグラフィカルなユーザインタフェース（ＧＵＩ）機能が不要なため、ネットワーク通信機能を組み込んだ制御装置が用いられるのに対して、中央監視盤１６は統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…や端末（制御端末１２又は監視端末１３）に比べて出荷台数が少なく、またＧＵＩ機能が必要になるため、統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…との通信機能を持たせた専用のコンピュータで構成する場合が殆どであった。そのため、長期的な信頼性を確保するのが難しく、信頼性を長期にわたって確保するための費用（初期費用およびメンテナンス費用）を価格に上乗せしなければならないから、非常に高価なものになっていた。
【０００４】
そこで、図３に示すような中央監視システムにおいて、統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…にＷｅｂサーバ機能を搭載し、汎用的なブラウザソフトを組み込んだコンピュータから各統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…にＨＴＴＰリクエストを送り、各統合コントローラ１１Ａ，１１Ｂ，１１Ｃ…がＨＴＴＰリクエストを解析して所望の処理（端末の制御又は監視）を行うようにしたＷｅｂサーバシステムが提案されており、高価な中央監視盤１６を無くすことで、システム全体のコストダウンを図っている。
【０００５】
このようなＷｅｂサーバシステムでは、統合コントローラの台数が少ない小規模システムであれば管理者が数名程度であり、統合コントローラ（Ｗｅｂサーバ）へのアクセス頻度も低くて済むが、統合コントローラが数台から数十台設置されるような中規模以上のシステム（例えばテナントビル向け）では、建物全体の管理者だけではなく、各エリア（例えばテナント）毎に管理者が複数存在する場合もある。このようなシステムでは建物全体の管理者や各エリアの管理者からＷｅｂサーバへのアクセス頻度が高くなりすぎる場合があり、その結果、システムで規定している時間内でＨＴＴＰリクエストに対する処理を行えなかったり、警報通知などの重要な通知処理がタイムアウトになって管理者側へ通知されなくなるといった問題が発生する虞があった。
【０００６】
ところで、制御要求など特定の統合コントローラが対象のＨＴＴＰリクエストを、他の統合コントローラが代わりに処理することはできないが、画像、ＨＴＭＬ（Hyper Text Markup Language）、スクリプト、ＣＳＳ（Cascading Style Sheets）などの静的コンテンツ（時間が経過しても変化しないコンテンツ）は、何れのＷｅｂサーバから配信しても良いので、特定のＷｅｂサーバの負荷が過大になるのを防ぐために、複数のＷｅｂサーバで配信処理を分散して処理することが行われている。例えば図４に示すようなＷｅｂサーバシステムでは、クライアント端末２０からハブ２３を介して送られたＨＴＴＰリクエストをロードバランサ２１が配下のサーバ群２２に割り振ることで、特定のＷｅｂサーバ２４の負荷が過大になるのを防止している。しかしながら、このＷｅｂサーバシステムではＷｅｂサーバ２４の負荷を分散するためにロードバランサ２１やＤＮＳサーバ（図示せず）が必要にあり、システム全体の導入コストが高くなるため、各々のＷｅｂサーバ２４で自立的に負荷を分散するシステムの方が望ましく、このようなシステムとしては例えばプロキシ型の負荷分散方法を採用したものがある。
【０００７】
図５（ａ）はプロキシ型の負荷分散方法を説明する説明図である。このシステムは、各エリアＡ，Ｂ…にそれぞれ設置された制御端末２および監視端末３と、各エリアＡ，Ｂ…に設置されてエリア内の端末２、３の監視又は制御を行うＷｅｂサーバ１Ａ，１Ｂ…と、Ｗｅｂサーバ１Ａ，１Ｂ…が通信ネットワーク５を介して接続され、システム全体の動作状態を監視したり、各エリアに設置された端末の動作スケジュールを設定するクライアント端末６とで構成されている。ここで、クライアント端末６が、Ｗｅｂサーバ１ＡにＨＴＭＬファイルの取得要求を行うと（図中のａ）、Ｗｅｂサーバ１Ａからクライアント端末６に静的コンテンツのリンク先を記述したＨＴＭＬファイルが返送される（図中のｂ）。その後、クライアント端末６が、ＨＴＭＬファイル中にリンク先が貼られた静的コンテンツの配信要求（ＨＴＴＰリクエスト）をＷｅｂサーバ１Ａに送ると（図中のｃ）、Ｗｅｂサーバ１Ａは、クライアント端末６からの配信要求をＷｅｂサーバ１Ｂに転送する（図中のｄ）。そして、Ｗｅｂサーバ１Ａでは、Ｗｅｂサーバ１Ｂから返送された静的コンテンツを受信すると（図中のｅ）、受信した静的コンテンツをクライアント端末６に返送して（図中のｆ）、ＨＴＴＰリクエストに対する処理を終了する。このようにプロキシ型の負荷分散方法では、クライアント端末６がＨＴＭＬファイルの取得要求を行ってから静的コンテンツを受信するまでの間に、Ｗｅｂサーバ１Ａとクライアント端末６又はＷｅｂサーバ１Ｂとの間で６回の通信が行われるのであるが、ハードディスクのような二次記憶装置を持たないコントローラであって、組み込み形のＷｅｂサーバを備えたコントローラでは、プロセス数や同時接続数の上限値が低いため、あるＷｅｂサーバが他のＷｅｂサーバの代理応答をするプロキシ型の負荷分散方法では接続数を低減できないという問題がある。また転送先のＷｅｂサーバ１Ｂが無応答の場合、その接続はタイムアウトするまで放置されたままとなってしまう問題もあった。
【０００８】
そこで、プロキシ型の負荷分散方法ではなく、クライアント端末６に返信するＨＴＭＬファイル中のリンクを書き換えることで、所望のＷｅｂサーバの負荷を低減する方法も考えられる（例えば特許文献１参照）。
【０００９】
図５（ｂ）はリンク書き換えによる負荷分散方法の説明図であり、クライアント端末６がＷｅｂサーバ１ＡにＨＴＭＬファイルの取得要求を行うと（図中のｇ）、Ｗｅｂサーバ１Ａではクライアント端末６に返信するＨＴＭＬファイル中に記述された静的コンテンツのリンク先を他のＷｅｂサーバに書き換えてから、このＨＴＭＬファイルをＷｅｂサーバ１Ｂに返信する（図中のｈ）。その後、クライアント端末６は、Ｗｅｂサーバ１Ａから取得したＨＴＭＬファイル中にリンク先が貼られた静的コンテンツの配信要求（ＨＴＴＰリクエスト）をＷｅｂサーバ１Ｂに送信し（図中のｉ）、Ｗｅｂサーバ１Ｂは要求された静的コンテンツをクライアント端末６に返信する（図中のｊ）。
【００１０】
このように、クライアント端末６に返信するＨＴＭＬファイル中のリンクを書き換える方法であればＷｅｂサーバ１Ａへの接続回数が減り、Ｗｅｂサーバ１Ａの負荷を低減することが可能になる。
【特許文献１】特開２００２−２７８８２３号公報（段落［００１９］−［００３０］、及び、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、上述したリンク書き換えによる負荷分散方法では、Ｗｅｂサーバ１Ａがリンク先を他のＷｅｂサーバに変更する際に、変更先のＷｅｂサーバを割り振る方法として、既存のロードバランサと同様、表１に示す４つの方法が考えられる。
【００１２】
【表１】
2009237835.tif 000003
【００１３】
ここで、表１に示した方法１では、予め定められた順番でリンクを割り振っており、割り振り先のＷｅｂサーバの負荷状況が全く考慮されていないという問題がある。また、表１の方法２，３，４では、リンクを書き換える時点での他のＷｅｂサーバの動作状況を検出する必要があった。これらの情報は、ロードバランサを用いるＷｅｂサーバシステムでは容易に取得したり、予測したりすることが可能であるが、コスト減のためにロードバランサを無くしたＷｅｂサーバシステムでは他のＷｅｂサーバの動作状況を取得することができず、またリンクを書き換える時点で他のＷｅｂサーバの動作状況を取得しようとする処理自体がＷｅｂサーバやネットワークの負荷を増大させてしまうという問題があった。
【００１４】
本発明は上記問題点に鑑みて為されたものであり、その目的とするところは、他のＷｅｂサーバの動作状況を測定しなくても、負荷の小さいＷｅｂサーバに負荷を分散させることができるＷｅｂサーバシステムおよび負荷分散方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、請求項１の発明は、Ｗｅｂサービスを提供する複数台のＷｅｂサーバとクライアント端末とが通信ネットワークを介して接続されたＷｅｂサーバシステムにおいて、各々のＷｅｂサーバは、配下の端末の監視又は制御を行う監視制御部と、各Ｗｅｂサーバ間で共通の静的コンテンツを保存する共有データ保存部と、各Ｗｅｂサーバの過去の負荷情報および監視制御部による動作スケジュール情報を少なくとも含む運用情報を所定の時間帯にＷｅｂサーバ間で授受する運用情報授受部と、取得した運用情報を蓄積する運用情報蓄積部と、Ｗｅｂ記述言語により記述されて前記静的コンテンツのリンク先が貼られたＷｅｂページの送信要求をクライアント端末から受信すると、送信要求受信時の各Ｗｅｂサーバの負荷を前記運用情報に基づいて推定する負荷推定部と、負荷推定部の推定結果に基づいてＷｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるために前記Ｗｅｂページを変更するＷｅｂページ変更部とを備えたことを特徴とする。
【００１６】
請求項２の発明は、請求項１の発明において、運用情報授受部は、他の時間帯に比べて負荷が相対的に大きい時間帯を示す混雑時間情報を有し、混雑時間中に何れかのＷｅｂサーバで動作スケジュール情報が変更された場合、変更された差分情報をＷｅｂサーバ間で授受することを特徴とする。
【００１７】
請求項３の発明は、請求項１又は２の発明において、Ｗｅｂページ変更部は、負荷推定部によって推定された各Ｗｅｂサーバの負荷情報と、クライアント端末に搭載されたブラウザソフトがＷｅｂページを解析した時点で負荷情報をもとに静的コンテンツのリンク先を変更させる処理をクライアント端末側で実行させる処理命令とをＷｅｂページに書き込むことを特徴とする。
【００１８】
請求項４の発明は、請求項１乃至３の何れか１つの発明において、Ｗｅｂサーバは、監視対象又は制御対象の端末の異常状態を検知すると、異常状態を報知する異常情報を他のＷｅｂサーバに送信するとともに、他のＷｅｂサーバからの異常情報を受信する異常情報送受信部を備え、Ｗｅｂページ変更部は、Ｗｅｂページ中のリンク先を変更する際に、異常状態を報知してきたＷｅｂサーバを変更先の対象から外すことを特徴とする。
【００１９】
請求項５の発明は、Ｗｅｂサービスを提供する複数台のＷｅｂサーバとクライアント端末とが通信ネットワークを介して接続されたＷｅｂサーバシステムの負荷分散方法であって、各Ｗｅｂサーバの過去の負荷情報および監視制御部による動作スケジュール情報を少なくとも含む運用情報を所定の時間帯にＷｅｂサーバ間で授受するステップと、Ｗｅｂサーバが、他のＷｅｂサーバから取得した運用情報を運用情報蓄積部に蓄積するステップと、Ｗｅｂサーバが、Ｗｅｂ記述言語により記述されて静的コンテンツのリンク先が貼られたＷｅｂページの送信要求をクライアント端末から受信すると、運用情報蓄積部に蓄積された運用情報をもとに受信時の各Ｗｅｂサーバの負荷を推定するステップと、Ｗｅｂサーバが、各Ｗｅｂサーバの負荷を推定した結果に基づいて、Ｗｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるためにＷｅｂページを変更するステップとを備えることを特徴とする。
【発明の効果】
【００２０】
請求項１の発明によれば、各Ｗｅｂサーバの過去の負荷情報や監視制御部の動作スケジュール情報を少なくとも含む運用情報を各Ｗｅｂサーバの運用情報授受部が所定の時間帯に授受しておき、クライアント端末からＷｅｂページの送信要求を受信すると、負荷推定部が運用情報をもとに受信時の各Ｗｅｂサーバの負荷を推定しているので、各Ｗｅｂサーバの負荷状況をリアルタイムで測定するロードバランサが無い場合でも、送信要求を受信した時点での各Ｗｅｂサーバの負荷を推定可能なＷｅｂサーバシステムを実現できる。そして、Ｗｅｂページ変更部では、負荷の推定結果をもとにＷｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるためにＷｅｂページを変更しているので、クライアント端末がＷｅｂページ中のリンク先に静的コンテンツの送信を要求する際には、変更されたリンク先のＷｅｂサーバに送信要求が送信されることになり、負荷が低いと推定されるＷｅｂサーバに負荷を分散可能なＷｅｂサーバシステムを実現することができる。
【００２１】
請求項２の発明によれば、何れかのＷｅｂサーバで動作スケジュール情報が変更された場合、Ｗｅｂサーバ間で変更後のスケジュール情報を授受する必要があるが、混雑時間中は差分情報をＷｅｂサーバ間で授受することによって、トラフィックの増加を抑制することができる。さらに、運用情報が変更された場合は運用情報の差分情報をＷｅｂサーバ間で授受することによって、変更後の運用情報をもとに各Ｗｅｂサーバの負荷を推定することができるから、各Ｗｅｂサーバの負荷を確実に推定することができる。
【００２２】
請求項３の発明によれば、Ｗｅｂページ変更部が、負荷推定部によって推定された各Ｗｅｂサーバの負荷情報と処理命令とをＷｅｂページに書き込んでおり、このＷｅｂページをクライアント端末に搭載されたブラウザソフトが解析した際に、クライアント端末側でＷｅｂページに書き込まれた負荷情報をもとに静的コンテンツのリンク先を変更しているので、静的コンテンツのリンク先を変更する処理をクライアント端末側で実行することができ、Ｗｅｂサーバの処理をさらに低減することができる。
【００２３】
請求項４の発明によれば、異常状態を報知してきたＷｅｂサーバは、Ｗｅｂページ中のリンク先を変更する際に変更先の対象から外されるので、監視対象または制御対象の端末が異常状態となっているＷｅｂサーバの負荷を低減することができ、異常状態に対応する処理（例えば異常状態を報知する処理）を確実に行わせることができる。
【００２４】
請求項５の発明によれば、各Ｗｅｂサーバの過去の負荷情報や監視制御部の動作スケジュール情報を少なくとも含む運用情報をＷｅｂサーバ間で所定の時間帯に授受して、運用情報蓄積部に蓄積しておき、各Ｗｅｂサーバが、クライアント端末からＷｅｂページの送信要求を受信すると、蓄積された運用情報をもとに受信時の各Ｗｅｂサーバの負荷を推定しているので、各Ｗｅｂサーバの負荷状況をリアルタイムで測定するロードバランサが無い場合でも、送信要求を受信した時点での各Ｗｅｂサーバの負荷を推定することができる。そして、各Ｗｅｂサーバでは、負荷の推定結果をもとにＷｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えるためにＷｅｂページを変更しているので、クライアント端末がＷｅｂページ中のリンク先に静的コンテンツの送信を要求する際には、変更されたリンク先のＷｅｂサーバに送信要求が送信されることになり、負荷が低いと推定されるＷｅｂサーバに負荷を分散することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を図面に基づいて説明する。
【００２６】
（実施形態１）
本発明の実施形態１を図１および図２に基づいて説明する。本実施形態のＷｅｂサーバシステムは、図１に示すように、例えばテナントビルのような建物の各エリアＡ，Ｂ，Ｃ…にそれぞれ設置された照明機器や空調機器などの制御端末２および監視端末３と、各エリアＡ，Ｂ，Ｃ…にそれぞれ設置され、自エリア内の端末（制御端末２および監視端末３）がローカルネットワーク４を介して接続されて各端末の監視又は制御を行うＷｅｂサーバ１Ａ，１Ｂ，１Ｃ…と、ブラウザソフトを搭載したコンピュータからなり、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…にインターネットのような通信ネットワーク５を介して接続されたクライアント端末６とで構成される。なお、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…には、同じ建物に設置された全てのＷｅｂサーバ（後述の静的コンテンツを共有するＷｅｂサーバ）のグローバルアドレスが予め登録されているものとし、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…は通信ネットワーク５を介して相互に通信が行えるようになっている。
【００２７】
Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…は、配下の端末（制御端末２および監視端末３）の監視または制御を行う機能を備えるとともに組み込み形のＷｅｂサーバを備えたコントローラで構成される。Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…は同一の構成を有しているので、以下にＷｅｂサーバ１Ａを例にしてその構成を説明する。
【００２８】
Ｗｅｂサーバ１Ａは、演算処理部３０と、通信部３１，３２と、共有データ保存部３３と、運用情報蓄積部３４とを主要な構成として備えている。また演算処理部３０は運用情報授受部３６と負荷推定部３７とＷｅｂページ変更部３８と異常情報送受信部３９とを備えている。ここにおいて、監視制御部３５、運用情報授受部３６、負荷推定部３７、Ｗｅｂページ変更部３８及び異常情報送受信部３９は、演算処理部３０が予め組み込まれたプログラムを実行することによって、演算処理部３０の演算機能により実現されている。
【００２９】
通信部３１は、ローカルネットワーク４を介して自エリア内の端末との間で通信を行う。
【００３０】
通信部３２は、通信ネットワーク５を介してクライアント端末６や他のＷｅｂサーバ１Ｂ，１Ｃ…との間で通信を行う。
【００３１】
共有データ保存部３３は、各Ｗｅｂサーバ間で共通の静的コンテンツ（画像、ＨＴＭＬ、スクリプト、ＣＳＳなど）を保存する。
【００３２】
運用情報蓄積部３４は、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の過去の負荷情報および後述の監視制御部３５による動作スケジュール情報を少なくとも含む運用情報を蓄積する。
【００３３】
監視制御部３５は、ローカルネットワーク４を介して配下の端末（制御端末２および監視端末３）の監視又は制御を行う。
【００３４】
運用情報授受部３６は、所定の時間帯、例えば他の時間帯に比べて負荷が低い深夜や早朝等の時間帯に、通信ネットワーク５を介してＷｅｂサーバ間で運用情報を授受する。各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の運用情報は、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の過去の負荷情報と、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の監視制御部３５による当日の動作スケジュール情報（制御端末２の制御スケジュールおよび監視端末３の監視スケジュール）とからなり、負荷情報としては、例えば前日に各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…で計測された負荷（クライアント端末６や他のＷｅｂサーバからの接続数や応答時間など）の情報や、先週の同曜日に各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…で計測された負荷の情報がある。
【００３５】
負荷推定部３７は、通信部３２がクライアント端末６からＷｅｂ記述言語で記述されたＷｅｂページの送信要求を受信すると、運用情報蓄積部３４に蓄積された運用情報に基づいて、送信要求受信時の各Ｗｅｂサーバの負荷を推定する。
【００３６】
Ｗｅｂページ変更部３８は、通信部３２がクライアント端末６からの上記送信要求を受信した時点で、要求されたＷｅｂページを解析するとともに、Ｗｅｂページ中に貼られた静的コンテンツのリンク先を負荷のより低いＷｅｂサーバに書き換えるためにＷｅｂページを変更する処理を行う。
【００３７】
異常情報送受信部３９は、自エリア内の端末（制御端末２又は監視端末３）の異常状態を検知すると、異常状態を報知する異常情報を他のＷｅｂサーバ１Ｂ，１Ｃ…に送信するとともに、他のＷｅｂサーバ１Ｂ，１Ｃ…からの異常情報を受信する。
【００３８】
次に、本実施形態のＷｅｂサーバシステムによる負荷の分散方法について、図１および図２を参照して説明する。
【００３９】
各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の演算処理部３０は、過去の負荷情報、例えば前日の負荷情報や過去の同曜日の負荷情報を計測した結果を図示しないメモリに保存している。そして、毎日、深夜や早朝などの所定の時間帯になると、運用情報授受部３６が通信部３２を用いて他のＷｅｂサーバとの間で通信を行い、過去の負荷情報と当日の動作スケジュール情報を少なくとも含む運用情報をＷｅｂサーバ間で授受する（図２のステップＳ１）。そして、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の演算処理部３０では、運用情報授受部３６が授受した運用情報を、運用情報蓄積部３４に記憶させる（ステップＳ２）。
【００４０】
その後、本システムを用いた建物内のテナントの営業時間が来ると、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の監視制御部３５では、予め設定された動作スケジュールにしたがって制御端末２を制御する。また操作用スイッチの操作入力を監視する監視端末３から、スイッチ操作に応じた監視情報が監視制御部３５に入力されると、監視制御部３５では監視端末３と対応付けられた制御端末２を制御して、操作用スイッチに対応する負荷の動作を制御する。
【００４１】
そして、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃが各エリア内の端末の監視又は制御を行っている状態で、通信ネットワーク５に接続されたクライアント端末６が、例えばＷｅｂサーバ１Ａに対して、所望の静的コンテンツのリンク先が貼られたＨＴＭＬファイル（Ｗｅｂページ）の送信要求を行うと（ステップＳ３）、Ｗｅｂサーバ１Ａの通信部３２がこの送信要求を受信して、演算処理部３０に出力する。
【００４２】
Ｗｅｂサーバ１Ａの演算処理部３０は、クライアント端末６からの送信要求を受信すると、負荷推定部３７に現時点での各Ｗｅｂサーバの負荷の状況を推定させる（ステップＳ４）。ここにおいて、負荷推定部３７では、運用情報蓄積部３４に蓄積された運用情報、すなわち各Ｗｅｂサーバの過去の負荷情報と当日の動作スケジュール情報とに基づいて、現時点における各Ｗｅｂサーバの負荷を推定する。
【００４３】
そして、負荷推定部３７による負荷の推定が終了すると、演算処理部３０のＷｅｂページ変更部３８が、要求されたＨＴＭＬファイルを解析して当該ＨＴＭＬファイルに貼られた静的コンテンツのリンクを抽出するとともに、ステップＳ４の負荷推定結果をもとに静的コンテンツのリンク先を、負荷のより低いＷｅｂサーバに書き換える（ステップＳ５）。その後、Ｗｅｂページ変更部３８は、リンク先が書き換えられたＨＴＭＬファイルを通信部３２から要求元のクライアント端末６に返送する（ステップＳ６）。したがって、要求元のクライアント端末６は、静的コンテンツのリンク先が書き換えられたＨＴＭＬファイルを受信することになり、ＨＴＭＬファイルの受信後にＨＴＭＬファイルにリンクが貼られた静的コンテンツの送信要求を行うと、リンク先が変更されたＷｅｂサーバに対して静的コンテンツの送信要求が送られ、当該Ｗｅｂサーバからクライアント端末６へ要求された静的コンテンツが送信される（ステップＳ７）。
【００４４】
以上説明したように、本実施形態のＷｅｂサーバシステムでは、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の運用情報授受部３６が、他のＷｅｂサーバの運用情報を所定の時間帯に授受して、運用情報蓄積部３４に蓄積しておき、クライアント端末６からＷｅｂページ（ＨＴＭＬファイル）の送信要求を受信すると、蓄積された運用情報をもとに負荷推定部３７が受信時の各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷を推定している。したがって、各Ｗｅｂサーバの負荷状況をリアルタイムで測定するロードバランサが無い場合でも、送信要求を受信した時点での各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷を推定することが可能になる。そして、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…のＷｅｂページ変更部３８では、負荷推定部３７による負荷の推定結果をもとに、Ｗｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換えているので、クライアント端末６がＷｅｂページ中のリンク先に静的コンテンツの送信を要求する際には、変更されたリンク先のＷｅｂサーバに送信要求が送信されることになり、負荷が低いと推定されるＷｅｂサーバに負荷を分散することができる。また、クライアント端末６からＨＴＭＬファイルの送信要求を受けたＷｅｂサーバ１Ａ…では、クライアント端末６に返送するＨＴＭＬファイルに貼られたリンク先を、負荷のより低いＷｅｂサーバに書き換えることで、負荷の分散を行っているので、クライアント端末６からのリクエスト処理中の通信回数を減らして、負荷の増加を防止することができる。
【００４５】
ところで、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の監視制御部３５が、自エリア内の端末の異常状態（例えば火災、停電或いは使用電力量がデマンドピークを超えないように負荷の動作を抑制するデマンド制御状態など）を検知した場合、異常情報送受信部３９は、通信部３２を介して異常状態を報知する報知情報を他のＷｅｂサーバに送信する。また他のＷｅｂサーバで異常状態が発生した場合、異常情報送受信部３９は、通信部３２を介して他のＷｅｂサーバから送信された異常情報を受信するようになっている。而して、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の演算処理部３０では、異常情報を発信しているＷｅｂサーバを把握することができ、Ｗｅｂページ変更部３８が、ステップＳ５の処理でＨＴＭＬファイル中のリンク先を変更する際に、異常情報を報知してきたＷｅｂサーバを変更先の対象から外すようにすれば、監視対象または制御対象の端末が異常状態となっているＷｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷を低減することができるので、異常状態に対応する処理（例えば異常状態を報知する処理）を確実に行わせることができる。
【００４６】
また、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の動作スケジュール情報は運用中に変更されることがあり、何れかのＷｅｂサーバで動作スケジュール情報が変更された場合、各Ｗｅｂサーバの負荷を正確に予測するためには、Ｗｅｂサーバ間で変更後のスケジュール情報を授受する必要がある。そこで、何れかのＷｅｂサーバ（例えばＷｅｂサーバ１Ａ）で動作スケジュール情報が変更された場合、当該Ｗｅｂサーバ１Ａの運用情報授受部３６は、変更された動作スケジュール情報を通信部３２から他のＷｅｂサーバ１Ｂ，１Ｃ…へ送信させて、他のＷｅｂサーバ１Ｂ，１Ｃ…に変更後の動作スケジュール情報を反映させている。したがって、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…では、何れかのＷｅｂサーバ１Ａ，１Ｂ，１Ｃ…で動作スケジュール情報が変更された場合でも、変更後の動作スケジュール情報に基づいて、送信要求受信時の各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷を推定できるから、より正確に負荷の予測が行える。
【００４７】
ここにおいて、各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の運用情報授受部３６に、他の時間帯に比べて各Ｗｅｂサーバの負荷が相対的に大きい時間帯を示す混雑時間情報（例えば制御スケジュールが集中している時間帯など）を持たせ、混雑時間中に何れかのＷｅｂサーバ１Ａ，１Ｂ，１Ｃ…で動作スケジュール情報が変更された場合は、当該Ｗｅｂサーバの運用情報授受部３６が、変更前の動作スケジュール情報から変更された部分（差分情報）のみを他のＷｅｂサーバ１Ｂ，１Ｃ…へ送信させても良く、Ｗｅｂサーバ間で差分情報のみを授受することで、トラフィックを増大させることなく、動作スケジュール情報の変更内容を他のＷｅｂサーバに反映させることができる。
【００４８】
なお本実施形態では、各Ｗｅｂサーバ１Ａ…のＷｅｂページ変更部３８が、負荷推定部３７の推定結果に基づいてＷｅｂページ中のリンク先を負荷のより低いＷｅｂサーバに書き換える処理を行っているが、Ｗｅｂページ中のリンク先を書き換える処理をクライアント端末６側で行っても良い。
【００４９】
リンク先の書き換えをクライアント端末６側で行わせる場合、Ｗｅｂページ変更部３８は、上述したステップＳ６の処理でリンク先を書き換える代わりに、負荷推定部３７によって推定された各Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷情報と、当該負荷情報に基づいて静的コンテンツのリンク先を書き換える処理を実行させる処理命令（関数）とをＨＴＭＬファイルに書き込んだ後、このＨＴＭＬファイルをクライアント端末６に返送する。そして、クライアント端末６に搭載されたブラウザソフトが、Ｗｅｂサーバから返送されたＨＴＭＬファイルの読み込みを完了した時点、すなわちＨＴＭＬファイルの内容を解析し終わった直後に、ＨＴＭＬファイルに書き込まれた処理命令を実行することによって、ＨＴＭＬファイル中の静的コンテンツのリンク先が負荷のより低いＷｅｂサーバに書き換えられる。したがって、クライアント端末６がＷｅｂページ中のリンク先に静的コンテンツの送信を要求する際には、変更されたリンク先のＷｅｂサーバに送信要求が送信されることになり、負荷が低いと推定されるＷｅｂサーバに負荷を分散することができる。このようにＷｅｂサーバ１Ａ，１Ｂ，１Ｃ…側で行っていたリンク書き換えの処理をクライアント端末６側に行わせているので、Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…の負荷をさらに低減できる。ここにおいて、Ｗｅｂサーバ１Ａ，１Ｂ，１Ｃ…はコントローラにＷｅｂサーバ機能を組み込んで構成され、一般に組み込み系のＷｅｂサーバはクライアント端末６に比べてＣＰＵの処理能力が低く、また搭載するメモリの容量も小さいため、Ｗｅｂサーバ側の負荷低減効果は大きいと言える。
【００５０】
なお、本発明の精神と範囲に反することなしに、広範に異なる実施形態を構成することができることは明白なので、この発明は、特定の実施形態に制約されるものではない。
【図面の簡単な説明】
【００５１】
【図１】本実施形態のＷｅｂサーバシステムの概略構成を示すシステム構成図である。
【図２】同上の動作を説明するフローチャートである。
【図３】中央監視システムのシステム構成図である。
【図４】ロードバランサを用いた負荷分散方法の説明図である。
【図５】（ａ）はプロキシ型の負荷分散方法の説明図、（ｂ）はリンク書き換えによる負荷分散方法の説明図である。
【符号の説明】
【００５２】
１Ａ，１Ｂ，１Ｃ  Ｗｅｂサーバ
６    クライアント端末
３０  演算処理部
３１，３２  通信部
３３  共有データ保存部
３４  運用情報蓄積部
３５  監視制御部
３６  運用情報授受部
３７  負荷推定部
３８  Ｗｅｂページ変更部
３９  異常情報送受信部
【図１】
2009237835.tif 000004
【図２】
2009237835.tif 000005
【図３】
2009237835.tif 000006
【図４】
2009237835.tif 000007
【図５】
2009237835.tif 000008