(57)【特許請求の範囲】
【請求項１】
ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、
前記サーバ装置は、
特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備え、
ブラウザの前記特性は、当該ブラウザが同時に確立できる接続の数であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、前記接続の数のうち、少なくとも１つを残して持続的接続を確立して、当該ブラウザが表示するデータを各サーバ装置から取得するためのプログラムである
ことを特徴とする監視システム。
【請求項２】
前記監視システムは、更に、ブラウザの特性を、当該ブラウザからのリクエストに基づいた識別子と対応付けて記憶する特性記憶手段を備え、
前記特性検出手段は、検出した特性を前記特性記憶手段に記憶し、
前記応答手段は、前記表示装置のブラウザからリクエストを受けた際に、前記特性記憶手段に当該識別子と対応付けた特性が記憶されている場合は、記憶されている特性に応じた応答プログラムを送信する
ことを特徴とする請求項１に記載の監視システム。
【請求項３】
前記特性検出手段がブラウザに送信する検出プログラムは、当該ブラウザが前記サーバ装置に複数のリクエストをほぼ同時に送信するものであり、受信する前記結果とは、当該サーバ装置が当該ブラウザから受信するリクエストであり、
前記特性検出手段は、当該ブラウザの特性である同時に確立できる接続の数は、所定時間内に当該ブラウザから受信したリクエストの数であると検出する
ことを特徴とする請求項１に記載の監視システム。
【請求項４】
ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、
前記サーバ装置は、
特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備え、
ブラウザの前記特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うか否かであり、
前記応答手段が、受信した順序で処理を行わない特性を有するブラウザに送信する前記応答プログラムは、持続的接続を行わないプログラムである
ことを特徴とする監視システム。
【請求項５】
前記特性検出手段がブラウザに送信する検出プログラムは、当該ブラウザが前記サーバ装置に、応答メッセージを送信する時間が異なるように指定した複数のリクエストをほぼ同時に送信し、当該サーバ装置からの当該リクエストに対する応答メッセージの処理順序を当該サーバ装置に送信するものであり、受信する前記結果とは、当該応答メッセージの処理順序であり、
前記特性検出手段は、当該サーバ装置がリクエストに対する応答メッセージを送信した順序と、前記結果である当該応答メッセージの処理順序とが一致した場合に、当該ブラウザの特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うものであると検出する
ことを特徴とする請求項４に記載の監視システム。
【請求項６】
ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、
前記サーバ装置は、
特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<img>タグのソース指定記述により、他の各サーバ装置を指定して、他の各サーバ装置から表示するデータを取得するプログラムである
ことを特徴とする監視システム。
【請求項７】
ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、
前記サーバ装置は、
特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<script>タグのソース指定記述により、他のサーバ装置のスクリプトソースを指定し、他の各サーバ装置から表示するデータを取得するプログラムである
ことを特徴とする監視システム。
【請求項８】
ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、
前記サーバ装置は、
特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備え、
前記表示装置が前記応答プログラムを実行することにより、前記複数のサーバ装置全てから当該ブラウザが表示するデータを取得し、当該ブラウザが取得したデータを表示する
ことを特徴とする監視システム。
【請求項９】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、
前記一のサーバ装置は、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段とを備え、
ブラウザの前記特性は、当該ブラウザが同時に確立できる接続の数であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、前記接続の数のうち、少なくとも１つを残して持続的接続を確立して、当該ブラウザが表示するデータを各サーバ装置から取得するためのプログラムである
ことを特徴とするサーバ装置。
【請求項１０】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、
前記一のサーバ装置は、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段とを備え、
ブラウザの前記特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うか否かであり、
前記応答手段が、受信した順序で処理を行わない特性を有するブラウザに送信する前記応答プログラムは、持続的接続を行わないプログラムである
ことを特徴とするサーバ装置。
【請求項１１】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、
前記一のサーバ装置は、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段とを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<img>タグのソース指定記述により、他の各サーバ装置を指定して、他の各サーバ装置から表示するデータを取得するプログラムである
を備えることを特徴とするサーバ装置。
【請求項１２】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、
前記一のサーバ装置は、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段とを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<script>タグのソース指定記述により、他のサーバ装置のスクリプトソースを指定し、他の各サーバ装置から表示するデータを取得するプログラムである
ことを特徴とするサーバ装置。
【請求項１３】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、
前記一のサーバ装置は、
当該一のサーバ装置にアクセスされると、当該一のサーバ装置のみならず、他のサーバ装置それぞれからデータを取得して表示するブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示する前記データを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段と
を備えることを特徴とするサーバ装置。
【請求項１４】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムであって、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップとを備え、
ブラウザの前記特性は、当該ブラウザが同時に確立できる接続の数であり、
前記応答ステップが、当該ブラウザに送信する前記応答プログラムは、前記接続の数のうち、少なくとも１つを残して持続的接続を確立して、当該ブラウザが表示するデータを各サーバ装置から取得するためのプログラムである
ことを特徴とするコンピュータプログラム。
【請求項１５】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムであって、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップとを備え、
ブラウザの前記特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うか否かであり、
前記応答ステップが、受信した順序で処理を行わない特性を有するブラウザに送信する前記応答プログラムは、持続的接続を行わないプログラムである
ことを特徴とするコンピュータプログラム。
【請求項１６】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムであって、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップとを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答ステップが、当該ブラウザに送信する前記応答プログラムは、<img>タグのソース指定記述により、他の各サーバ装置を指定して、他の各サーバ装置から表示するデータを取得するプログラムである
を備えることを特徴とするコンピュータプログラム。
【請求項１７】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムであって、
ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップとを備え、
前記応答プログラムは、ＨＴＭＬ文書であり、
前記応答ステップが、当該ブラウザに送信する前記応答プログラムは、<script>タグのソース指定記述により、他のサーバ装置のスクリプトソースを指定し、他の各サーバ装置から表示するデータを取得するプログラムである
を備えることを特徴とするコンピュータプログラム。
【請求項１８】
Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムであって、
当該一のサーバ装置にアクセスされると、当該一のサーバ装置のみならず、他のサーバ装置それぞれからデータを取得して表示するブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、
前記ブラウザからのリクエストへの応答として、前記ブラウザが表示する前記データを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップと
を備えることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビルなどの設備を監視する機能に関し、特に監視結果を表示する技術に関する。
【背景技術】
【０００２】
従来から、ビルなどの設備、例えば、照明設備や空調設備等が正常に動作しているかを確認するために、各設備の監視用の装置（以下、「監視サーバ装置」という。）をネットワークに接続し、一箇所で集中して設備の状況を把握できるようにしている。
ここで、複数ビルの設備状況を参照できる技術として、各ビルの監視サーバ装置が集めたビル単位の設備状況を、インターネット等を介して、設備状況を統括的に管理するサーバ装置に集めて、このサーバ装置をアクセスすることで全ての設備状況を参照できる技術がある（特許文献１参照）。この技術によれば、このサーバ装置にアクセスすれば、全設備の状況が把握できる。
【０００３】
また、ユーザが設備の状況を把握するために、各監視サーバ装置が集めた設備状況を汎用的なブラウザで表示させることができるものがある。この技術によれば、汎用的なブラウザを使用すればよく、特別な表示装置が不要となる。
【特許文献１】特開２０００−３０８１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、サーバ装置に全設備状況を集める技術は、サーバ装置にさえアクセスすれば、全設備の状況が把握できるという利点はあるものの、大容量のメモリが必要となる。
また、設備状況を汎用的なブラウザで表示させる場合は、特別な表示装置がいらないという利点はあるものの、ブラウザ毎の仕様が異なる場合や、バージョンアップにより又はユーザにより変更される場合等があり得、表示されていたものが表示されなくなる場合が生じ得る。
【０００５】
そこで、本発明は、ビル等の設備状況を、あるサーバに集めることなく複数の監視サーバ装置に分散したままで、ブラウザからはインターネットを介して設備状況を各監視サーバ装置から収集でき、且つ、様々な仕様のブラウザに表示することができる監視システムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する為に、本発明の監視システムは、ブラウザを有する１以上の表示装置とＷｅｂサーバ機能を有する１以上のサーバ装置とから成る監視システムであって、前記サーバ装置は、特性を検出するための検出プログラムをブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果として送信されたデータを受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、前記表示装置のブラウザからリクエストを受けた際に、前記特性検出手段で当該ブラウザの特性を検出し、当該ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、検出した特性に応じて選定し当該ブラウザに送信する応答手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明に係る監視システムは、上述の構成を備えることにより、サーバ装置は、リクエストを送ってきたブラウザの特性を検出することができるので、ブラウザの特性に応じた応答プログラムを返すことができるようになる。
すなわち、ブラウザが監視サーバ装置の設置時とは異なる仕様のものに変えられたり、バージョンアップしたりしたとしても、サーバ装置は現在のブラウザの特性に応じた応答プログラムを返すことができるので、ブラウザは各サーバ装置からデータを取得し表示することができる。
【０００８】
また、各監視サーバ装置の監視情報は、それぞれの監視サーバ装置が記憶していたとしてもブラウザが取得できるので、大容量のメモリを備えたサーバ装置が不要となる。
尚、ここでブラウザの特性とは、ブラウザが使用できる通信方式、同時接続数、受信順処理可能などを言うものとする。
また、前記監視システムは、更に、ブラウザの特性を、当該ブラウザからのリクエストに基づいた識別子と対応付けて記憶する特性記憶手段を備え、前記特性検出手段は、検出した特性を前記特性記憶手段に記憶し、前記応答手段は、前記表示装置のブラウザからリクエストを受けた際に、前記特性記憶手段に当該識別子と対応付けた特性が記憶されている場合は、記憶されている特性に応じた応答プログラムを送信することとしてもよい。
【０００９】
これにより、検出したブラウザ特性を記憶しておくことができるので、一度特性を検出したブラウザからリクエストを受けたときは、特性を検出すること無く、適切な応答プログラムを返すことができるようになる。
また、ブラウザの前記特性は、当該ブラウザが同時に確立できる接続の数であり、前記応答手段が、当該ブラウザに送信する前記応答プログラムは、前記接続の数のうち、少なくとも１つを残して持続的接続を確立して、当該ブラウザが表示するデータを各サーバ装置から取得するためのプログラムであることとしてもよい。
【００１０】
また、前記特性検出手段がブラウザに送信する検出プログラムは、当該ブラウザが前記サーバ装置に複数のリクエストをほぼ同時に送信するものであり、受信する前記結果とは、当該サーバ装置が当該ブラウザから受信するリクエストであり、前記特性検出手段は、当該ブラウザの特性である同時に確立できる接続の数は、所定時間内に当該ブラウザから受信したリクエストの数であると検出することとしてもよい。
【００１１】
これにより、ブラウザが同時に確立できる接続の数を知ることができるので、ブラウザがサーバ装置に対して緊急時等に通信するための接続を残して処理を行うような応答プログラムをブラウザに送信することができるようになる。
設備を監視するようなシステムにおいては、持続的なＨＴＴＰ接続をブラウザとサーバ装置との間で確立しておくことが望ましい。というのは、持続的接続は、一旦確立してしまえば、サーバ装置からの異常発生等の通知を素早く検知することができるからである。しかし、持続的接続をした場合は、接続を確立したままとなるため、同時に確立可能な接続数をすべて使ってしまった場合には、ブラウザは、サーバ装置に対して新たな接続を確立できず、通信を行うことができなくなってしまう。従って、持続的接続以外の接続を１つは確立できるようにする応答プログラムを送信する。
【００１２】
ここで、ほぼ同時とは、連続してリクエストを送信することをいうものとする。
また、ブラウザの前記特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うか否かであり、前記応答手段が、受信した順序で処理を行わない特性を有するブラウザに送信する前記応答プログラムは、持続的接続を行わないプログラムであることとしてもよい。
【００１３】
また、前記特性検出手段がブラウザに送信する検出プログラムは、当該ブラウザが前記サーバ装置に、応答メッセージを送信する時間が異なるように指定した複数のリクエストをほぼ同時に送信し、当該サーバ装置からの当該リクエストに対する応答メッセージの処理順序を当該サーバ装置に送信するものであり、受信する前記結果とは、当該応答メッセージの処理順序であり、前記特性検出手段は、当該サーバ装置がリクエストに対する応答メッセージを送信した順序と、前記結果である当該応答メッセージの処理順序とが一致した場合に、当該ブラウザの特性は、当該ブラウザからのリクエスト順にかかわらず、応答メッセージを受信した順序で処理を行うものであると検出することとしてもよい。
【００１４】
これにより、ブラウザが応答メッセージを受信順に処理するか否かが判るので、受信順に処理しない場合は、持続的接続を使用しないようにすることができるようになる。
持続的接続は、サーバ装置からの警報等を素早く検出できるというメリットはあるが、複数のサーバ装置と持続的接続を行っていた場合に、応答メッセージを受信順に処理しないブラウザは、警報等を素早く検出できない場合が生ずるからである。
【００１５】
すなわち、受信順に処理しないブラウザとは、例えば、あるサーバ装置が警報等の応答を返した場合に、接続中の全てのサーバ装置から応答があるまで応答に対する処理を行わないようなものである。このようなブラウザの場合、持続的接続を使用すると、警報等の検出が遅れてしまうこととなる。
また、前記応答プログラムは、ＨＴＭＬ文書であり、前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<img>タグのソース指定記述により、他の各サーバ装置を指定して、他の各サーバ装置から表示するデータを取得するプログラムであることとしてもよい。
【００１６】
また、前記応答プログラムは、ＨＴＭＬ文書であり、前記応答手段が、当該ブラウザに送信する前記応答プログラムは、<script>タグのソース指定記述により、他のサーバ装置のスクリプトソースを指定し、他の各サーバ装置から表示するデータを取得するプログラムであることとしてもよい。
これにより、ブラウザは、各監視サーバ装置から監視情報を取得することができ、監視情報の一括表示ができるようになる。
【００１７】
また、各監視サーバ装置の監視情報は、それぞれの監視サーバ装置が記憶していたとしてもブラウザから取得できるので、大容量のメモリを備えたサーバ装置が不要となる。
また、Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置であって、前記一のサーバ装置は、ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出手段と、前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出手段で検出した特性に応じて選定して当該ブラウザに送信する応答手段とを備えることを特徴とする。
【００１８】
また、Ｗｅｂサーバ機能を有する１以上のサーバ装置からなる監視システムで使用される一のサーバ装置に応答処理を行わせる為のコンピュータプログラムは、ブラウザからリクエストを受けた場合に、特性を検出するための検出プログラムを当該ブラウザに送信し、送信した検出プログラムが当該ブラウザで実行された結果を受信して、当該結果に基づいて当該ブラウザの特性を検出する特性検出ステップと、前記ブラウザからのリクエストへの応答として、前記ブラウザが表示するデータを各サーバ装置から取得するための応答プログラムを、前記特性検出ステップで検出した特性に応じて選定して当該ブラウザに送信する応答ステップとを備えることを特徴とする。
【００１９】
これらにより、本監視システムの構築をすることができるようになる。
【発明を実施するための最良の形態】
【００２０】
＜実施形態＞
＜概要＞
本発明に係る監視システムは、複数の監視サーバ装置がそれぞれ監視している設備の状況（以下、「監視情報」という。）を、監視情報表示装置のブラウザで一括表示するものである。
【００２１】
まず、本監視システムは、次の２つの前提がある。
1つ目は、ブラウザは、ユーザが１つの監視サーバ装置にアクセスさせると、その監視サーバ装置の監視装置のみならず、他の監視サーバ装置それぞれの監視情報を自動的に取得して表示することができることであり、２つ目は、ブラウザは通常のＷｅｂブラウザであり、その仕様は変更され得ることである。
【００２２】
１つ目の前提に対応する方法については、以下の＜監視システムの全体像＞の中の＜通信方式＞の項で説明する。
ここで、問題となるのは、1つ目の前提を実現する方法は複数あるが、ブラウザの仕様がそれら全て方法を必ずしもサポートしていない場合があることである。すなわち、ある方法で1つ目の前提を実現していたときに、ブラウザの仕様が変更となった場合、監視情報の一括表示が出来なくなってしまう場合があることである。
【００２３】
ブラウザの仕様が変更となった場合は、ブラウザからのＨＴＴＰリクエストのヘッダに含まれているUser-Agent情報や、ブラウザのnavigatorオブジェクトから得られる情報等から、ブラウザの種別やバージョンを判定し、判別した種別等に対応できるようにサーバ側をバージョンアップするという対処も考えられる。
しかし、監視サーバ装置は、設備の監視用であるという性質上、一度設置されるとそのままであることが通常である。従って、ブラウザの仕様変更に伴い、バージョンアップされたりすることは望めない。
【００２４】
本監視システムは、様々な仕様のブラウザからリクエストされた場合や、ブラウザの仕様が変更された場合に、サーバ側で自動的に対応し、ブラウザによる監視情報の一括表示が出来るようにするものである。言いかえれば、どの様な未知のブラウザが現れたとしても、また、ユーザが個別にブラウザの設定を変えたとしても、以下の＜通信方式＞で説明するようなクロスドメイン通信手段のいずれかで通信を行うことができるようなシステムが提供できることとなる。
【００２５】
具体的には、ブラウザに表示する監視情報を送信する監視サーバ装置側で、ブラウザの特性を検出し、その特性に応じた通信方式での通信を行うようにさせるためのプログラムを送り、ブラウザにそのプログラムを実行させることで、ブラウザの仕様変更に対処する。このブラウザ特性の検出方法については、以下の＜ブラウザ特性の検出方法＞の項で説明する。
【００２６】
ここで、本発明に係る監視システムを説明する前に、本システムの全体像について図１及び図５〜図７を用いて説明する。
＜監視システムの全体像＞
本発明の実施形態に係る監視システムの全体像について、次の３つの項で説明する。１つ目は、＜システム構成例＞の項で本システムの構成を、２つ目は、＜通信方式＞の項で本システムで使用する通信方式を、３つめは、＜通信手順＞の項で本システムの装置間での通信手順を説明する。
【００２７】
＜システム構成例＞
まず、本発明の実施形態に係る監視システムの構成例について図１を用いて説明する。
図１は、本発明の実施形態に係る監視システムの構成例を示す図である。
監視システム１００は、設備（１１０、１１１）を監視しているメイン監視サーバ装置１０００、設備（２１０、２１１）を監視している監視サーバ装置２０００、設備（３１０、３１１）を監視している監視サーバ装置３０００及び監視情報表示装置（５０００，６０００）で構成され、インターネット１０で接続されている。
【００２８】
本図では、説明の便宜上、複数の監視サーバ装置のうち３つを記載し、1つをメイン監視サーバ装置と称している。また、各監視サーバ装置（１０００、２０００、３０００）が監視している複数の設備のうち２つのみを記載している。
本実施形態では、メイン監視サーバ装置１０００、監視サーバ装置２０００、監視サーバ装置３０００は、それぞれ、設備の状況を監視しているものとし、各設備が正常であるか否か等を定期的に記録しているものとする。
【００２９】
＜通信方式＞
ここでは、本システムにおいて、ブラウザが１つの監視サーバ装置にアクセスすると、他の監視サーバ装置それぞれの監視情報を取得することができる仕組みについて説明する。
本システムのブラウザは、複数の監視サーバ装置から監視情報を取得する必要があるが、通常のＷｅｂブラウザは、セキュリティの観点等から、基本的には、複数の監視サーバ装置には同時にアクセスできないというクロスドメイン制約がある。従って、限られたクロスドメイン通信手段を使用して、１つ目の前提を実現する必要がある。
【００３０】
本実施形態では、監視情報を一括表示するために、各監視サーバ装置から監視情報を取得するための手法として、次の４つの通信方式を想定する。ここでは、これらの４つの通信方式を便宜上、ＩＭＧ方式、ＪＳＯＮＰ方式、ＦＩＭ（Fragment Identifier Messaging）方式、ＰＲＯＸＹ方式と名付けるものとし、以下に説明する。
1つ目のＩＭＧ方式は、メイン監視サーバ装置１０００から、監視情報を表示できるように記述したＨＴＭＬ（Hyper Text Markup Language）文書をブラウザ５２００に送り、<img>タグのソース（src）指定記述により、他の各監視サーバ装置上の、監視情報を表すためのイメージデータを返すＣＧＩ等のアドレスを指定して、他の各監視サーバ装置からの監視情報もまとめて表示させるようにする方式であり、画像として監視情報を取得する。この方式を使用する場合、各監視サーバ装置には、イメージデータを生成するための変換ツールを備えるか、予めイメージデータを記憶しておく必要がある。また、この通信方式では、ブラウザは、画像の高さと横幅しか取得できないため、本実施形態では、監視情報の内容、例えば警報の度合に応じて、サイズの異なる画像をブラウザに返信することで、監視情報をブラウザに伝えることとする。例えば、縦横のサイズが共に１である場合は、異常無しとし、それ以外は異常有りとするなどである。
【００３１】
上述のＨＴＭＬでは、その監視情報の内容、例えば、異常の有無を識別して、その結果に応じて適切な情報を表示するようなスクリプトを含んでおき、これで、ブラウザ５０００上では各監視サーバ装置からの各監視情報を表示させることが出来る。以後の、２つ目、３つ目の各通信方式も、監視情報を取得してからの処理は同じである。
２つ目のＪＳＯＮＰ方式は、他のドメインのサーバにおけるスクリプトソースを指定した<script>タグにより通信を行う方式であり、他の監視サーバ装置のcallback関数を読み込んで実行するものである。
【００３２】
次に、３つ目のＦＩＭ方式は、ＵＲＬ内のfragment identifierを使用して通信を行う方式であり、通信相手のＨＴＭＬをインフラフレーム（ＩＦＲＡＭＥ）に取り込み、そこからリクエストする。フレーム間の通信は、fragment identifierを使用する。具体的には、fragment identifierであるＵＲＬの＃以降の文字列で情報をやり取りする。これは、＃以降の文字列が変更された時には、ブラウザはリロードを行わないことを利用するものである。
【００３３】
ＰＲＯＸＹ方式は、１つの監視サーバ装置に、他の監視サーバ装置へのアクセスを中継させる方式である。すなわち、１つの監視サーバ装置が、他の各監視サーバ装置の監視情報を集めて、ブラウザに返す。
本システムでは、これら４つの方式のいずれかを用いて、ユーザがブラウザに１つのサーバ装置にアクセスさせると、他の監視サーバ装置それぞれの監視情報をも自動で取得して一括表示させることができる仕組みを実現する。
【００３４】
＜通信手順＞
図５は、本システムのブラウザ５２００とメイン監視サーバ装置１０００及び監視サーバ装置（２０００、３０００）との通信手順を示した図である。尚、ブラウザ５２００は、監視情報表示装置５０００が備えるブラウザである。詳細は、図２を用いて＜構成＞の項で説明する。
【００３５】
ここで、メイン監視サーバ装置１０００は、ブラウザ５２００から監視情報を要求される監視サーバ装置であり、上述した４つの通信方式毎に、ＨＴＭＬドキュメントを記憶している。このＨＴＭＬドキュメントは、各監視サーバ装置から監視情報を取得するためのＨＴＭＬドキュメントであり、後述する＜構成＞の項で説明する全体用ＨＴＭＬである。
また、各監視サーバ装置（２０００、３０００）は、それぞれ、ＦＩＭ方式、ＩＭＧ方式、ＪＳＯＮＰ方式の監視情報を送信するプログラム「iframe.cgi」、「img.cgi」、「json.cgi」を記憶している。これらのプログラムは、自装置の監視情報をブラウザに知らせるためのプログラムであり、後述する＜構成＞の項で説明する自装置用ＨＴＭＬである。
【００３６】
また、ＰＲＯＸＹ方式では、他の監視サーバ装置と通信を行うのがブラウザではないことからクロスドメイン制約は存在せず、独自の通信方式で他の監視サーバ装置から監視情報を取得することとする。尚、ＰＲＯＸＹ方式の監視情報を送信するプログラムとして、「iframe.cgi」、「img.cgi」、「json.cgi」のいずれかを使用することとしてもよい。
まず、ブラウザ５２００は、ユーザの操作を受けて、メイン監視サーバ装置１０００のアドレスにより、そこにアクセスして監視情報をリクエストする（(1)参照）。尚、メイン監視サーバ装置１０００のアドレスは、例えばユーザが入力する、又は、ブラウザに予め登録されているものとする。
【００３７】
リクエストを受けたメイン監視サーバ装置１０００は、リクエストしてきたブラウザ５２００の特性を検出するために、検出用ＨＴＭＬをブラウザ５２００に送信する（(2)参照）。ブラウザ５２００は、検出用ＨＴＭＬを実行する（(3)参照）。
その後、ブラウザ５２００は、検出用ＨＴＭＬによる結果をメイン監視サーバ装置１０００に送る（(4)参照）。メイン監視サーバ装置１０００は、受信した結果と通信ログとから、ブラウザ５２００の特性を検出し、検出したブラウザ特性に応じた通信方式を選定し、選定した通信方式のＨＴＭＬを、ブラウザ５２００に送信する（(5)参照）。
【００３８】
ＨＴＭＬを受信したブラウザ５２００は、ＨＴＭＬを実行し、他の監視サーバ装置（２０００、３０００）から監視情報を取得し（(6)参照）、表示する。
図６は、検出したブラウザ特性に応じた通信方式としてＦＩＭ方式が選定された場合の動作例を示す図である。
この例では、監視サーバ装置２０００の監視情報をブラウザが取得する例を示している。上述したように、ＦＩＭ方式では、ＵＲＬの＃以降の文字列で情報をやり取りするので、ここでは、ブラウザ５２００は、監視サーバ装置２０００から“信号線異常”という文字列を取得する。
【００３９】
図１２に、ＪＳＯＮＰ方式の自装置用ＨＴＭＬ「json.cgi」の例を示す。
ここでは、受信したデータを引数にした関数が呼ばれることにより、監視情報をブラウザで処理することができる。ブラウザは、各監視サーバ装置から受信したこのような応答データを処理して、ディスプレイに表示する。
次に、図７は、ブラウザ５２００がディスプレイ５３００に表示する監視情報一覧５３１０の例である。
【００４０】
ここでは、監視サーバ装置２０００の４つの設備（１１０〜１１３）の監視情報５３０１と、監視サーバ装置３０００の３つの設備（２１０〜２１２）の監視情報５３０２とが表示されている。
以下、本発明に係る監視システムの例として、ビルの非常灯などの設備を監視するシステムを説明する。
【００４１】
＜構成＞
本システムを構成する、メイン監視サーバ装置１０００、監視サーバ装置（２０００、３０００）及び監視情報表示装置（５０００、６０００）について説明する。
図２は、本発明にかかる監視サーバ装置１０００と監視サーバ装置２０００と監視情報表示装置５０００の機能ブロック図である。
【００４２】
監視サーバ装置２０００と監視サーバ装置３０００とは同様の構成を有し、ここでは、監視装置２０００についてのみ説明する。また、監視情報表示装置５０００と監視情報表示装置６０００も同様の構成を有し、ここでは、監視情報表示装置５０００についてのみ説明する。但し、ブラウザの仕様は異なるものとする。
本実施形態のメイン監視サーバ装置１０００、監視装置２０００等は、通常の設備監視装置の機能を有するが、メイン監視サーバ装置１０００は、更に、監視情報表示装置５０００から、表示する監視情報の要求を受ける機能も有するものとする。
【００４３】
まず、監視情報表示装置５０００は、通信部５１００、ブラウザ５２００及びディスプレイ５３００から構成される。
通信部５１００は、インターネット１０を通して、メイン監視サーバ装置１０００及び監視サーバ装置２０００等とデータのやり取りを行う機能を有する。
また、ブラウザ５２００は、通常のＷｅｂコンテンツのブラウザ機能を有しており、各監視サーバ装置からの監視情報をＷｅｂコンテンツとしてディスプレイ５３００に表示する。また、メイン監視サーバ装置１０００からのブラウザ特性検出用のＨＴＭＬドキュメントを実行して実行結果を返すことにより、メイン監視サーバ装置１０００にブラウザの特性を知らせる。
【００４４】
次に、監視サーバ装置１０００は、通信部１１００、ブラウザ特性検出部１２００、通信方式選定部１３００、Ｗｅｂサービス部１４００、全体用ＨＴＭＬ記憶部１５００、検出用ＨＴＭＬ記憶部１６００、ブラウザ特性記憶部１７００及び設備状態取得部１６００から構成される。
まず、通信部１１００は、インターネット１０を通して、監視情報表示装置５０００及び他の監視サーバ装置２０００等とデータのやり取りを行う機能を有する。また、通信ログを取る機能も有する。
【００４５】
ブラウザ特性検出部１２００は、監視情報を要求してきたブラウザの特性を検出する機能を有する。ここで検出するブラウザの特性の内容は、後で＜データ＞の項で説明する。
このブラウザ特性検出部１２００は、検出用ＨＴＭＬをブラウザに送信し、ブラウザでの結果と自装置、すなわちメイン監視サーバ装置１０００の通信ログとを分析することによりブラウザの特性を検出する。この検出用ＨＴＭＬは、検出用ＨＴＭＬ記憶部１６００に記憶されている。
【００４６】
また、このブラウザ特性検出部１２００は、検出したブラウザの特性を、ブラウザ特性記憶部１７００に記憶する機能を有する。
次に、通信方式選定部１３００は、監視情報を要求してきたブラウザに対して、どの通信方式で応答を行うか、言い換えれば、ブラウザが監視サーバ装置２０００等に監視情報を要求する通信方式を選定する機能を有する。また、この通信方式選定部１３００は、ポーリング方式で接続するのか、持続的な接続で接続するのかという接続方式も選定する。選定方法は、後述する＜動作＞の中の＜通信方式の選定方法＞の項で説明する。
【００４７】
Ｗｅｂサービス部１４００は、ブラウザからのリクエストに対して、ブラウザで表示する監視情報を取得する為のプログラムを返信する機能を有する。具体的には、監視情報の一括表示を行うためのＨＴＭＬを生成し返信する機能を有する。本実施形態では、通信方式選定部１３００が選定した通信方式の全体用ＨＴＭＬを、全体用ＨＴＭＬ記憶部１５００から読出し、必要に応じて自装置の設備情報を表示するための修正を施す等して返信する。
【００４８】
全体用ＨＴＭＬ記憶部１５００は、全体用ＨＴＭＬを記憶する機能を有する。この全体用ＨＴＭＬは、監視情報の一括表示を行うために、各監視サーバ装置から監視情報を取得するためのものであり、通信方式毎に記憶される。本実施形態では、ＩＭＧ方式、ＪＳＯＮＰ方式、ＦＩＭ方式、ＰＲＯＸＹ方式の４つである。例えば、図５及び図６のＸ１０．ＨＴＭＬが、ＦＩＭ方式の全体用ＨＴＭＬであり、図５のＸ２０．ＨＴＭＬがＩＭＧ方式の全体用ＨＴＭＬである。
【００４９】
検出用ＨＴＭＬ記憶部１６００は、ブラウザの特性を検出するための検出用ＨＴＭＬを記憶する機能を有する。本実施形態では、検出用ＨＴＭＬは通信方式毎に記憶され、更に、これらの検出用ＨＴＭＬを順に呼び出すＣＧＩとしてresearch.cgiが記憶されているものとする。
ブラウザ特性記憶部１７００は、ブラウザの特性を記憶する機能を有する。この特性は、ブラウザ特性検出部１２００が検出したものであり、ブラウザ特性検出部１２００により記憶される。
【００５０】
設備状態取得部１６００は、自装置が監視している設備（１１０、１１１）の状態を取得する機能を有する。
次に、監視サーバ装置２０００について説明する。
監視サーバ装置２０００は、通信部２１００、Ｗｅｂサービス部２２００、自装置用ＨＴＭＬ記憶部２３００及び設備状態取得部２４００から構成される。
【００５１】
通信部２１００は、メイン監視サーバ装置１０００の通信部１１００と同様の機能を有し、インターネット１０を通して、監視情報表示装置５０００及び他の監視サーバ装置３０００等とデータのやり取りを行う機能を有する。
Ｗｅｂサービス部２２００は、ブラウザからのリクエストに対して、ブラウザで表示する監視情報を返信する機能を有する。具体的には、自装置が監視している設備の監視情報の表示を行うためのデータ等を生成する機能を有する。本実施形態では、ブラウザが通信してきた通信方式の自装置用ＨＴＭＬを、自装置用ＨＴＭＬ記憶部２３００から読出し、必要があれば自装置の設備の状態に応じて修正を施して返信する。
【００５２】
自装置用ＨＴＭＬ記憶部２４００は、自装置用ＨＴＭＬを記憶する機能を有する。この自装置用ＨＴＭＬは、通信方式毎に記憶される。
設備状態取得部２４００は、自装置が監視している設備（２１０、２１１）の状態を取得する機能を有する。
ここで、ブラウザ特性検出部１２００等の各部による各処理の全部または一部は、ＣＰＵ（図示していない。）が各種プログラムを実行することにより実現されるものである。
【００５３】
＜データ＞
以下、本発明である監視システムが用いる主なデータについて、図３と図４とを用いて説明する。
図３は、ブラウザ特性テーブル１７１０の構成および内容例を示す図である。これは、ブラウザ特性記憶部１７００に、ブラウザを識別するためのＩＤと対応付けて記憶されている。ブラウザを識別するためのＩＤは、ブラウザから送られたＨＴＴＰリクエストのヘッダ情報を元に作成したものとする。
【００５４】
ブラウザ特性テーブル１７１０は、通信方式１７１１、使用可否１７１２、同時接続数１７１３及び受信順処理可能１７１４で構成される。
ブラウザの特性は数々あるが、ここでは、各通信方式の使用可否１７１２、同時接続数１７１３及び受信順処理可能１７１４を特性とするものとする。
ここでは、通信方式１７１１毎に同時接続数１７１３と受信順処理可能１７１４とが記載されている。実際のブラウザの特性は一意に定まっているものであるが、本実施形態では、通信方式毎にブラウザ特性の検出用ＨＴＭＬを実行させて検出することから、その検出結果を通信方式毎に記憶しておくものとする。
【００５５】
通信方式１７１１は、監視サーバ装置と通信するための方式を示し、使用可否１７１２は、通信方式１７１１をブラウザが使用できるか否かを示している。使用できる場合は「可」が、使用できない場合は「否」が記載される。
次に、同時接続数１７１３は、ブラウザ５２００が、同時に接続できる最大数を示す。すなわち、ブラウザ５２００が、監視サーバ装置に対して同時にいくつのリクエストを発行できるかを示している。
【００５６】
受信順処理可能１７１４は、ブラウザ５２００が、リクエストを送信した順にかかわらず、応答を受信した順に処理を実行するか否かを示す。受信順に実行可能であれば「○」を、実行できなければ「×」を記載している。
図４に、別のブラウザ、例えば、ブラウザ６０００のブラウザ特性テーブルの例を示す。
【００５７】
ブラウザ６０００のブラウザ特性テーブル１７５０は、通信方式１７１１の「ＰＲＯＸＹ方式」と「ＩＭＧ方式」のみの使用可否１７１２が「○」であり、それぞれ同時接続数１７１３が「１」、受信順処理可能１７１４が「○」である。
＜動作＞
以下、上述した監視システムの監視情報表示装置５０００、メイン監視サーバ装置１０００及び監視サーバ装置２０００等の動作について図８と図９とを用いて説明する。
【００５８】
図８は、監視情報表示装置５０００が、メイン監視サーバ装置１０００と監視サーバ装置２０００等の監視情報を取得し、表示する処理を示すフローチャートであり、図９は、ブラウザの特性を検出する処理を示すフローチャートである。
まず、図８を用いて、監視情報表示装置５０００が、メイン監視サーバ装置１０００と監視サーバ装置２０００等の監視情報を取得し、表示する処理を説明する。
【００５９】
まず、監視情報表示装置５０００のブラウザ５２００が、通信部５１００を介して、メイン監視サーバ装置１０００に、監視情報のリクエストを送信する（ステップＳ２００、ステップＳ２０１）。
通信部１１００を介してリクエストを受信したＷｅｂサービス部１４００は、ブラウザ特性記憶部１７００に、リクエストを受けたブラウザのブラウザ特性が記憶されているかを判断する（ステップＳ１１０）。
【００６０】
ブラウザ特性が記録されていない場合（ステップＳ１１０：ＮＯ）、Ｗｅｂサービス部１４００は、ブラウザ特性検出部１２００に検出するよう依頼する。
依頼を受けたブラウザ特性検出部１２００は、ブラウザの特性を検出する処理を行うため、検出用ＨＴＭＬ記憶部１７００から検出用ＨＴＭＬを読み出して、監視情報表示装置５０００のブラウザ５２００に送信する（ステップＳ１２１）。ブラウザ５２００は、受信したＨＴＭＬを実行し（ステップＳ２１０）、結果をブラウザ特性検出部１２００に返す（ステップＳ２１１）。
【００６１】
結果を受信したブラウザ特性検出部１２００は、受信結果と自装置の通信ログとから、ブラウザの特性を検出し、検出したブラウザ特性を、ブラウザを識別するＩＤと対応付けてブラウザ特性記憶部１７００に記憶する（ステップＳ１２０）。特性を検出する処理は、以下の＜ブラウザ特性の検出方法＞の項で図９を用いて説明する。
特性検出処理を終了したブラウザ特性検出部１２００は、その旨をＷｅｂサービス部１４００に通知する。
【００６２】
特性検出処理を終了した旨を通知されたＷｅｂサービス部１４００は、通信方式選定部１３００に、通信方式の選定を依頼する。
依頼を受けた通信方式選定部１３００は、ブラウザ特性記憶部１７００に記憶されているブラウザ特性テーブル１７１０を参照して、通信方式を選定する（ステップＳ１３０）。選定方法は、以下の＜通信方式の選定方法＞の項で説明する。
【００６３】
一方、ブラウザ特性が記録されている場合（ステップＳ１１０：ＹＥＳ）は、ブラウザ特性検出処理を行わないで、ブラウザ特性記憶部１７００に記憶されているブラウザ特性テーブル１７１０を参照して、通信方式を選定する（ステップＳ１３０）。
通信方式を選定した通信方式選定部１３００は、選定した通信方式をＷｅｂサービス部１４００に通知し、通知を受けたＷｅｂサービス部１４００は、全体用ＨＴＭＬ記憶部１５００から、通知された通信方式に応じた全体用ＨＴＭＬを読み出し、必要に応じて、設備状態取得部１８００から自装置の設備の監視情報を読み出して追加し、ブラウザ５２００に送信する（ステップＳ１４０、ステップＳ１４１）。
【００６４】
全体用ＨＴＭＬを受信したブラウザ５２００は、受信したＨＴＭＬを実行し（ステップＳ２２０）、各監視サーバ装置２０００に監視情報を要求し（ステップＳ２２１）、要求を受信した監視サーバ装置２０００のＷｅｂサービス部２２００は、自装置用ＨＴＭＬ記憶部２３００から要求された通信方式に合致したＨＴＭＬを読み出し、必要に応じて、設備状態取得部２４００から自装置の設備の監視情報を読み出して修正し、ブラウザ５２００に送信する（ステップＳ３００、ステップＳ３０１）。
【００６５】
監視サーバ装置２０００から監視情報を取得したブラウザ５２００は、ディスプレイ５３００に、監視情報を表示する（ステップＳ２３０）。
＜通信方式の選定方法＞
ここで、本実施形態での通信方式の選定処理について説明する。この処理は、通信方式選定部１３００が行う処理である。ここでは、ＩＭＧ方式、ＪＳＯＮＰ方式、ＦＩＭ方式、ＰＲＯＸＹ方式の４つの中から１つを通信方式として選定し、ポーリング方式又は持続的接続方式のいずれか１つを接続方式として選定する。これらの選定は、ブラウザ特性テーブル１７１０をもとに行われる。
【００６６】
まず、特性テーブル１７１０の使用可否１７１２をもとに、通信方式が選定される。通信方式１７１１の上から順に、優先度が高いものとする。例えば、通信方式１７２１が「ＪＳＯＮＰ」の使用可能１７２２が「○」であれば、ＪＳＯＮＰ方式が選定される。
同時接続数１７１３と受信順処理可能１７１４とは、通信をポーリング方式で行うか、持続的ＨＴＴＰ接続で行うかの接続方式の判断に用いられる。持続的ＨＴＴＰ接続は、通称Ｃｏｍｅｔ方式といい、以下「Ｃｏｍｅｔ方式」というものとする。
【００６７】
これらの接続方式は、それぞれ特徴を有し、ポーリング方式は、定期的に各監視サーバ装置にポーリングを行う必要があることから、通信負荷に耐えうる資源を必要とする。一方、Ｃｏｍｅｔ方式は、普段通知したい情報はないが、イベント発生時には即座に低負荷で通知したい情報を配信するのに適しているが、ＨＴＴＰコネクションを張ったままにする必要がある。
【００６８】
本システムは、設備を監視するのを目的とし、警報等の通知の即時性が求められるシステムであることから、Ｃｏｍｅｔ方式で接続するのが望ましい。
本実施形態では、同時接続数１７１３が「２」以上で、受信順処理可能１７１４が「○」である場合にのみＣｏｍｅｔ方式を選択する。
同時接続数１７１３が「２」以上であるのは、Ｃｏｍｅｔ方式を使用する場合には、２つ以上の接続が確立できなければ、他の監視サーバ装置との通信を行うことができなくなってしまうからである。Ｃｏｍｅｔ方式は、接続を確立したままにするので、例えば、同時接続数が「１」であった場合は、１つの監視サーバ装置とＣｏｍｅｔ方式で接続した場合に、他の監視サーバ装置と通信することができないこととなる。
【００６９】
また、受信順処理可能１７１４が「○」、すなわち、受信順に実行可能である必要があるのは、仮に、Ｃｏｍｅｔ方式で監視サーバ装置２０００と監視サーバ装置３０００と通信しているときに、監視サーバ装置３０００から警報が送られてきたとしても、その警報が即座に処理されない場合が発生し得るからである。すなわち、監視サーバ装置２０００の応答、例えば、一定時間経過後か、警報発生まで待たされる場合が発生し得るからである。
【００７０】
例えば、図３で示される特性のブラウザは、通信方式１７１１の通信方式「ＪＳＯＮＰ方式」、「ＦＩＭ方式」、「ＩＭＧ方式」、「ＰＲＯＸＹ方式」それぞれの使用可否１７１２が「○」であるので、これら４つの通信方式が使用可能であり、例えば、「ＪＳＯＮＰ方式」は、同時接続数１７１３が「５」であり、受信処理可能１７１４が「○」であるので、Ｃｏｍｅｔ方式で接続可能である。
【００７１】
従って、図３のブラウザ特性テーブル１７１０で示されるブラウザとの通信は、通信方式はＪＳＯＮＰ方式が、接続方式はＣｏｍｅｔ方式が選定される。
図４に、ブラウザ６０００のブラウザ特性テーブルの例を示す。
図４で示されるブラウザ６０００のブラウザ特性テーブル１７５０は、通信方式１７１１の「ＰＲＯＸＹ方式」と「ＩＭＧ方式」のみの使用可否１７１２が「○」であり、それぞれ同時接続数１７１３が「１」、受信順処理可能１７１４が「○」である。
【００７２】
つまり、このブラウザは、使用できる通信方式１７１１「ＩＭＧ方式」、「ＰＲＯＸＹ方式」の同時接続数１７１３が「１」なので、Ｃｏｍｅｔ方式で通信できず、ポーリング方式で通信することになる。
従って、図４のブラウザ特性テーブル１７５０で示されるブラウザとの通信は、通信方式はＩＭＧ方式が、接続方式はポーリング方式が選定される。
【００７３】
尚、Ｃｏｍｅｔ方式で接続する場合は、ＨＴＭＬにその旨の指示を追加する。
＜ブラウザ特性の検出方法＞
ここで、ブラウザ特性を検出する方法について、図９を用いて説明する。
図９は、ブラウザ特性を検出する処理を示すフローチャートである。
ブラウザ特性の検出処理は、ブラウザ特性検出部１２００が行う（図２参照）。
【００７４】
まず、メイン監視サーバ装置１０００のブラウザ特性検出部１２００は、ブラウザを識別するためのＩＤをクッキーとして設定し、検出用ＨＴＭＬ記憶部１６００に記憶されている検出用ＣＧＩ「research.cgi」を実行し、各通信方式用の検出用ＨＴＭＬをブラウザ５２００に送信する（ステップＳ４００）。
各検出用ＨＴＭＬは、callback関数で最後にresearch.cgiに結果を送信し、次の通信方式の検出用ＨＴＭＬを実行するよう作成され、ブラウザ５２００では、順次全ての通信方式の検出用ＨＴＭＬを実行する。
【００７５】
図１０に、ＩＭＧ方式の検出用ＨＴＭＬの例を、図１１に、ＪＳＯＮＰ方式の検出用ＨＴＭＬの例を示す。図１０のＩＭＧ方式の検出用ＨＴＭＬでは、imgタグを自動的に生成してメイン監視サーバ装置１０００にリクエストし、応答を受信した場合に、callback関数を実行する。また、図１１のＪＳＯＮＰ方式の検出用ＨＴＭＬでは、scriptタグを自動的に生成してリクエストする。
【００７６】
以下、図１０を用いて、ＩＭＧ方式でブラウザ特性を検出する例を説明する。他の通信方式も同様の手順で特性を検出する。
メイン監視サーバ１０００に記憶されているＩＭＧ方式の検出用ＣＧＩプログラム「img.cgi」（以下、「ＩＭＧ方式ＣＧＩ」という。）に対して、遅延時間の異なる複数のrequest関数１６１０を同時に実行する。request関数は、ＩＭＧタグを動的に生成し、監視サーバ装置からのレスポンスを受信した場合に、callback関数を実行する。
【００７７】
request関数のＵＲＬは、request関数の記載順にＩＭＧ方式ＣＧＩの実行が開始されるまでの待ち時間（以下、「実行遅延時間」という。）が短くなるように構成されている。ＩＭＧ方式ＣＧＩの「sleep」引数がＩＭＧ方式ＣＧＩの実行遅延時間の秒数を、「data」引数がＩＭＧ方式ＣＧＩによって、ブラウザ５２００に返されるデータ値となる。ここでは、データ値は、リクエストの順序を示している。すなわち、ＩＭＧ方式ＣＧＩは、「sleep」引数で指定された時間後に、「data」引数で指定された内容を返すように作成されている。他の通信方式のＣＧＩも同様である。
【００７８】
次に、callback関数１６１１では、メイン監視サーバ装置１０００から受信したデータ値と受信時刻を保存し、全request関数の完了後に、結果をresearch.cgiに送信し、次の通信方式の検出用ＨＴＭＬに遷移する。
全ての通信方式の検出用ＨＴＭＬの実行結果を取得したブラウザ特性検出部１２００は、これらの結果等から、ブラウザ特性を検出する（ステップＳ４１０）。
【００７９】
詳細には、検出用ＨＴＭＬから送られたデータ値と受信時刻と、メイン監視サーバ装置１０００の通信ログに記録されているブラウザからのrequest関数１６１０の受付時間とを元に、同時接続数１７１３と受信順処理可能１７１４とを求める。
すなわち、同時接続数１７１３は、同一セッション内での各通信方式の検出用ＣＧＩへのリクエストのログにおいて、最も過去のリクエスト時刻からＣＧＩの最小の実行遅延時間、例えば、５秒経過するまでに受信したリクエスト数を同時接続数１７１３とする。
【００８０】
また、受信順処理可能１７１４は、上記で求めた同時接続数１７１３の数分の受信結果を、最も過去の受信時刻のものから取り出し、その受信内容に書かれたデータ値が、昇順になっていれば受信順処理が可能であるとする。
また、通信方式の検出用ＨＴＭＬの実行結果が記録されている場合は、使用可否１７１２を「可」とし、記録されていない場合は、その通信方式は使用できないと判断し、使用可否１７１２を「否」とする。
【００８１】
ブラウザ特性検出部１２００は、検出したブラウザ特性を、ブラウザ特性記憶部１７００に記憶する（ステップＳ４２０）。
＜補足＞
以上、本発明に係る監視システムについて実施形態に基づいて説明したが、このシステムを部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。即ち、
（１）実施形態では、ブラウザ特性の同時接続数が２以上で、且つ、受信順に処理可能である場合に、Ｃｏｍｅｔ方式を選定することとしているが、Ｃｏｍｅｔ方式で接続するか否かは、アプリケーションの内容に依存する。
（２）実施形態では、４つの通信方式すべてについて使用可否等の特性を調べているが、優先順位の高いものから調べて、使用できる場合は、他の通信方式を調べないこととしてもよい。調べるための時間を短縮でき、迅速な応答が可能になる。
【００８２】
また、通信方式が使用できるか否かを調べる場合は、監視サーバ装置やブラウザでの失敗を検出するために、リクエストのタイムアウト時間を設ける必要がある。例えば、図１０及び図１１の検出用ＨＴＭＬにおいては、<head>部の<meta>タグで、<meta http-equiv=”Refresh”content=”60;URL=  …  ”>と記載し、何らかの要因により特性の調査が続行不能となった場合に、指定期間、ここでは６０秒後に強制的に「調査中の通信方式は使用不能」である旨の情報をメイン監視サーバ装置に返信するようにしている。
【００８３】
従って、監視サーバ装置の設計時に使用できる通信方式を調査し、使用できる通信方式の検出用ＨＴＭＬを、先に送信するように組み込んでおくことで、通信方式の選定時間をより短くすることが可能となる。
また、使用できる通信方法が予め１つに決まっている場合であっても、ブラウザの特性が変更されている場合を考慮し、検出用ＨＴＭＬを送信することとしてももちろんよい。
（３）実施形態では、通信方式がＩＭＧ方式の場合は、画像のサイズで監視情報を伝えることとしているが、例えば、ＧＩＦ画像中のヘッダを用いて画像のサイズを返信することとしてもよい。
（４）実施形態では、監視サーバ装置（２０００、３０００）と、メイン監視サーバ装置１０００とを説明したが、すべての監視サーバ装置が双方の機能を備えていることとしてもよい。この場合、ブラウザは、どの監視サーバ装置にアクセスしても全監視情報を取得することができる。
（５）実施形態では、ブラウザ特性記憶部には、ブラウザ特性をブラウザを識別できるＩＤと対応付けて記憶することとし、識別ＩＤをＨＴＴＰリクエストのヘッダ情報を元に生成しているが、他の方法で識別ＩＤ作成してもよい。
【００８４】
例えば、ブラウザがリクエスト時に、ブラウザに一意なＩＤを送信し、メイン監視サーバ装置では、そのＩＤとブラウザ特性とを対応付けて記憶する。ブラウザは、次回からのリクエストでもそのＩＤを送ることとするなどである。
ヘッダ情報は、メイン監視サーバ装置１０００に送られる途中のプロキシやファイアウォールで削除される場合があることからである。
（６）実施形態では、ブラウザ特性記憶部に、ブラウザを識別できるＩＤと対応付けてブラウザ特性を記憶しており、記憶されているＩＤと同じブラウザからリクエストがあったときは、特性検出処理を行わずに記憶されているブラウザ特性を使用することとしている。しかし、同時接続数等の特性は、ブラウザの仕様だけでなく、ファイアウォールやユーザの設定によって異なる場合があることから、最初にリクエストを受けた際だけでなく、例えば、定期的に検出するのが望ましい。
（７）監視システムは、図２の各構成要素の全部又は一部を、１チップ又は複数チップの集積回路で実現してもよい。
（８）実施形態で示した監視システムの各機能を実現させる為の各制御処理（図８等参照）をＣＰＵに実行させる為のプログラムを、記録媒体に記録し又は各種通信路等を介して、流通させ頒布することもできる。このような記録媒体には、ＩＣカード、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布されたプログラムは、機器におけるＣＰＵで読み取り可能なメモリ等に格納されることにより利用に供され、そのＣＰＵがそのプログラムを実行することにより実施形態で示した各機能が実現される。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施形態に係る監視システムの構成例を示す図である。
【図２】本発明にかかる監視サーバ装置１０００と監視サーバ装置２０００と監視情報表示装置５０００の機能ブロック図である。
【図３】ブラウザ特性テーブル１７１０の構成および内容例を示す図である。
【図４】ブラウザ６０００のブラウザ特性テーブルの内容例を示す図である。
【図５】本システムのブラウザ５２００と監視サーバ装置（１０００、２０００、３０００）との通信手順を示した図である。
【図６】検出したブラウザ特性に応じた通信方式としてＦＩＭ方式が選定された場合の動作例を示す図である。
【図７】ブラウザ５２００がディスプレイ５３００に表示する監視情報一覧５３１０の例である。
【図８】監視情報表示装置５０００が、メイン監視サーバ装置１０００と監視サーバ装置２０００等の監視情報を取得し、表示する処理を示すフローチャートである。
【図９】ブラウザ特性を検出する処理を示すフローチャートである。
【図１０】ＩＭＧ方式の検出用ＨＴＭＬの内容例を示す図である。
【図１１】ＪＳＯＮＰ方式の検出用ＨＴＭＬの内容例を示す図である。
【図１２】ＪＳＯＮＰ方式の自装置用ＨＴＭＬ「json.cgi」の内容例を示す図である。
【符号の説明】
【００８６】
１０００    メイン監視サーバ装置
１１００    通信部
１２００    ブラウザ特性検出部
１３００    通信方式選定部
１４００    Ｗｅｂサービス部
１５００    全体用ＨＴＭＬ記憶部
１６００    検出用ＨＴＭＬ記憶部
１７００    ブラウザ特性記憶部
１７１０  １７５０    ブラウザ特性テーブル
１８００    設備状態取得部
２０００  ３０００    監視サーバ装置
２１００    通信部
２２００    Ｗｅｂサービス部
２３００    自装置用ＨＴＭＬ記憶部
２４００    設備状態取得部
５０００  ６０００    監視情報表示装置
５１００    通信部
５２００    ブラウザ
５３００    ディスプレイ
５３１０    監視情報一覧
【図１】
0005015052.tif 000002
【図２】
0005015052.tif 000003
【図３】
0005015052.tif 000004
【図４】
0005015052.tif 000005
【図５】
0005015052.tif 000006
【図６】
0005015052.tif 000007
【図７】
0005015052.tif 000008
【図８】
0005015052.tif 000009
【図９】
0005015052.tif 000010
【図１０】
0005015052.tif 000011
【図１１】
0005015052.tif 000012
【図１２】
0005015052.tif 000013