以下、本発明の実施形態を、図面を参照して説明する。
(実施形態1)
図1は、本発明の実施形態1に係るネットワーク解析支援装置100が組み込まれた設備管理システムの構成を示す図である。この設備管理システムは、例えば、ビル内に設置される空調機器や照明機器などの設備機器を制御し、管理するシステム(いわゆる、ビル管理システム)である。この設備管理システムは、図1に示すように、ネットワーク解析支援装置100と、管理装置200と、ゲートウェイ装置300と、設備機器400と、設備機器401と、を備える。なお、設備管理システムが備える設備機器の個数は、2個に限定されない。つまり、設備管理システムが備える設備機器の個数は、1個であってもよいし、3個以上であってもよい。
管理装置200とゲートウェイ装置300とは、第1のネットワーク500に接続される。第1のネットワーク500は、例えば、BACnet(A Data Communication Protocol for Building Automation and Control Networks)等の通信プロトコルに則った上位ネットワークである。ゲートウェイ装置300と設備機器400と設備機器401とは、第2のネットワーク600に接続される。第2のネットワーク600は、例えば、設備機器の提供元であるベンダ独自の通信プロトコルに則った下位ネットワークである。ネットワーク解析支援装置100は、第1のネットワーク500と第2のネットワーク600との双方に接続される。
管理装置200は、何れも図示しない、制御装置(CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成される制御装置)、外部記憶装置(例えば、読み書き可能な不揮発性の半導体メモリやハードディスクドライブ等から構成される外部記憶装置)、入力デバイス(例えば、キーボード、マウス、キーパッド、タッチパッド、タッチパネル等から構成される入力デバイス)、表示デバイス(例えば、CRT(Cathode Ray Tube)や液晶モニタから構成される表示デバイス)、通信インターフェース(例えば、NIC(Network Interface Card)などの通信インターフェース)等を備える。管理装置200は、ゲートウェイ装置300を介して、設備機器400や設備機器401を制御する。
ゲートウェイ装置300は、何れも図示しない、制御装置(CPU、ROM、RAM等から構成される制御装置)、外部記憶装置(例えば、読み書き可能な不揮発性の半導体メモリやハードディスクドライブ等から構成される外部記憶装置)、通信インターフェース(例えば、NICなどの通信インターフェース)等を備える。
管理装置200は、設備機器400や設備機器401を操作する場合、操作用の電文を第1のネットワーク500に出力する。また、管理装置200は、設備機器400や設備機器401の動作状態を監視する場合、監視用の電文を第1のネットワーク500上に出力する。一方、ゲートウェイ装置300は、管理装置200により第1のネットワーク500上に出力された電文を、設備機器400や設備機器401で処理可能なデータ形式の電文に変換し、第2のネットワーク600に出力する。ここで、設備機器400や設備機器401は、ゲートウェイ装置300により第2のネットワーク600上に出力された電文を取得する。
また、設備機器400や設備機器401は、応答用の電文などを第2のネットワーク600に出力する。一方、ゲートウェイ装置300は、設備機器400や設備機器401により第2のネットワーク600上に出力された電文を、管理装置200で処理可能なデータ形式の電文に変換し、第1のネットワーク500上に出力する。ここで、管理装置200は、ゲートウェイ装置300により第1のネットワーク500上に出力された電文を取得する。
このように、管理装置200から送信された操作用の電文や監視用の電文が設備機器400や設備機器401により受信され、設備機器400や設備機器401により送信された応答用の電文が管理装置200により受信される。これにより、管理装置200による設備機器400や設備機器401の操作や監視が実現される。なお、設備管理システムでは、オブジェクトに対する操作(例えば、オブジェクトが備えるプロパティに対してプロパティ値を書き込む操作や、オブジェクトが備えるプロパティからプロパティ値を読み出す操作)により、管理装置200による設備機器400や設備機器401の操作や監視が実現される。
従って、設備管理システムの動作状況を理解するためには、設備管理システムにおいて使用されるオブジェクトの状態(典型的には、オブジェクトが備えるプロパティのプロパティ値)を把握することが好適である。ここで、設備管理システムで用いられる電文は、オブジェクトに対する操作を指示する電文と考えることができる。しかしながら、ユーザが、電文の内容からオブジェクトの状態を直接的に導き出すことは容易でないことがある。そこで、ネットワーク解析支援装置100は、第1のネットワーク500上に出力された電文を解析し、電文の内容と共にオブジェクトの状態を提示することで、ユーザによるネットワークの解析を支援する。
なお、オブジェクトの粒度は、適宜、調整することができる。典型的には、オブジェクトの粒度は、プロトコル毎に様々な粒度に設定可能である。例えば、1つのオブジェクトが、操作対象または監視対象の1つの設備機器を表してもよいし、操作対象または監視対象の1つのグループ(1つ以上の設備機器を備えるグループ)を表してもよい。あるいは、1つのオブジェクトが、操作対象または監視対象の1つの設備機器または1つのグループの一要素(運転/停止、運転モードなど)を表してもよい。
なお、電文の内容とオブジェクトの状態との対応関係が明示されることが好適である。例えば、あるオブジェクトの状態が変化した場合、このオブジェクトの状態に変化をもたらした電文が明示されることが好適である。また、例えば、あるオブジェクトにエラーが発生した場合、このエラーを発生させた電文が明示されることが好適である。そこで、ネットワーク解析支援装置100は、電文の内容とオブジェクトの状態との対応関係が明示される態様で、電文の内容とオブジェクトの状態とを提示する。なお、オブジェクトの状態は、オブジェクトが備えるプロパティのプロパティ値を示す概念であってもよいし、設備管理システムにおいてオブジェクトが用いられているか否かを示す概念であってもよい。
ネットワーク解析支援装置100は、いずれも図示しない、制御装置(CPU、ROM、RAM等から構成される制御装置)、外部記憶装置(例えば、読み書き可能な不揮発性の半導体メモリやハードディスクドライブ等から構成される外部記憶装置)、入力デバイス(例えば、キーボード、マウス、キーパッド、タッチパッド、タッチパネル等から構成される入力デバイス)、表示デバイス(例えば、CRTや液晶モニタから構成される表示デバイス)、通信インターフェース(例えば、NICなどの通信インターフェース)等を備える。ネットワーク解析支援装置100が実行する各処理は、CPU等がROMまたは外部記憶装置に記憶されているプログラムを実行することにより実現する。ネットワーク解析支援装置100は、プロトコルアナライザとしての機能を有するほか、オブジェクトの状態を提示する機能を有する。
ネットワーク解析支援装置100は、機能的には、図2に示すように、電文受信部101と、電文解析部102と、電文情報記憶部103と、電文情報記録部104と、オブジェクト情報記憶部105と、オブジェクト情報更新部106と、表示部107と、表示制御部108と、オブジェクト指定受付部109と、電文指定受付部110と、を備える。
電文受信部101は、設備機器400と設備機器401と管理装置200とを備える設備管理システムにおいて電文の伝達に用いられる第1のネットワーク500に接続される。そして、電文受信部101は、第1のネットワーク500上を流れる電文を受信する。なお、第1のネットワーク500上を流れる電文は、管理装置200により出力された電文、または、設備機器400や設備機器401から出力されゲートウェイ装置300によりデータ形式が変換された電文である。
電文解析部102は、電文受信部101により受信された電文を解析する。図3に示すように、電文解析部102は、電文内容特定部1021と、オブジェクト特定部1022と、電文内容定義テーブル1023と、オブジェクト定義テーブル1024と、を備える。
電文内容特定部1021は、電文内容定義テーブル1023を参照して、電文の内容を特定する。電文内容定義テーブル1023は、例えば、電文を構成するデータと、電文の内容(電文の意味する内容)と、の対応関係が定義されたテーブルである。電文内容定義テーブル1023は、例えば、第1のネットワーク500に用いられた通信プロトコルなどに応じて定められる。
電文の内容は、例えば、送信元(Src)、送信先(Dst)、サービス(Service)またはコマンド、データ(Data)を含む。送信元は、例えば、電文の送信元の機器(管理装置200、設備機器400、設備機器401など)の識別子(10、11、12など)である。送信先は、例えば、電文の送信先の機器(管理装置200、設備機器400、設備機器401など)の識別子(10、11、12など)である。サービスは、例えば、電文により提供されるサービスの識別子(WrProp(Write Property)、RdProp(Read Property)、SiACK(Simple Acknowledge)、U_COV(Unconfirmed Change Of Value)、CmAck(Complex Acknowledge)など)である。データは、例えば、サービスの対象となるオブジェクトの識別子(BO−010101、BO−010102など)やそのオブジェクトのプロパティのプロパティ値(1、0など)である。
オブジェクト特定部1022は、オブジェクト定義テーブル1024を参照して、電文に対応付けられたオブジェクトおよびオブジェクトの状態を特定する。オブジェクト定義テーブル1024は、例えば、電文を構成するデータと、オブジェクトの識別子およびオブジェクトの状態と、の対応関係が定義されたテーブルである。オブジェクト定義テーブル1024は、例えば、第1のネットワーク500に用いられた通信プロトコルなどに応じて定められる。
電文に対応付けられたオブジェクトは、例えば、その電文により操作されるオブジェクトの識別子(BO−010101、BO−010102など)である。電文に対応付けられたオブジェクトの状態は、例えば、その電文により操作されるオブジェクトが備えるプロパティのプロパティ値(1、0など)である。
電文情報記憶部103は、電文解析部102により特定された電文の内容を示す電文情報を記憶する。一方、電文情報記録部104は、電文解析部102による電文の解析結果に基づいて電文情報を生成し、生成した電文情報を電文情報記憶部103に記憶させる。電文情報は、例えば、電文毎に、電文の識別子(No.)と、電文の受信時刻(Time)と、電文の内容とを示す情報である。つまり、電文情報記録部104は、電文受信部101により電文が受信された電文が電文解析部102により解析される毎に、解析により特定された電文の内容に識別子と受信時刻とを付与し、電文情報を生成する。なお、電文情報は、電文により状態の変化がもたらされたプロパティを有するオブジェクトを特定する情報(例えば、オブジェクトの識別子)や、そのプロパティを特定する情報を含んでいてもよい。
オブジェクト情報記憶部105は、設備管理システムで用いられるオブジェクトの状態の履歴を示すオブジェクト情報を記憶する。オブジェクト情報は、例えば、オブジェクト毎に、オブジェクトの状態の履歴をその状態を引き起こした電文とともに示す情報である。オブジェクトの状態は、例えば、オブジェクトが備えるプロパティのプロパティ値、不正なプロパティ値の設定などによるエラーの発生の有無、設備管理システムで用いられたか否かなどである。また、オブジェクトの状態を引き起こした電文は、例えば、そのオブジェクトが備えるプロパティにプロパティ値を設定する電文、そのオブジェクトにエラーを発生させた電文、そのオブジェクトを(最初に)参照した電文である。なお、オブジェクトの状態を引き起こした電文は、電文の識別子により示される。従って、オブジェクト情報を参照することにより、どのオブジェクトがどのような状態を遷移したかを、状態を遷移させた電文とともに特定することができる。
オブジェクト情報更新部106は、電文解析部102により特定されたオブジェクトおよびオブジェクトの状態に基づいて、オブジェクト情報記憶部105に記憶されているオブジェクト情報を更新する。つまり、オブジェクト情報更新部106は、電文解析部102により特定されたオブジェクトの状態の履歴を追加する。例えば、オブジェクト情報更新部106は、電文解析部102により特定されたオブジェクトが備えるプロパティのプロパティ値として、電文解析部102により特定された状態に応じたプロパティ値を追加する。なお、履歴として追加されるオブジェクトの状態は、プロパティ値のみならず、エラーの発生の有無や、設備管理システムで用いられたか否かなども含む。
また、オブジェクト情報更新部106は、オブジェクトの状態を履歴として追加した場合、履歴が追加されたオブジェクトの識別子やプロパティの名前を、その状態を引き起こした電文とともに、電文情報記録部104に通知する。一方、電文情報記録部104は、この通知を受けると、通知された電文が、通知された識別子のオブジェクトが備える、通知されたプロパティの名前により示されるプロパティのプロパティ値を参照した旨を示すように、電文情報を更新する。従って、電文情報を参照することにより、どの電文がどのオブジェクトのどのプロパティを参照したのかを特定することができる。
表示部107は、表示制御部108による制御に従って、電文情報に基づく情報を電文表示領域に表示し、オブジェクト情報に基づく情報をオブジェクト表示領域に表示する。表示制御部108は、電文情報記憶部103に記憶されている電文情報により示される電文の内容を電文毎に表示部107が備える電文表示領域に表示する。また、表示制御部108は、オブジェクト情報記憶部105に記憶されているオブジェクト情報により示されるオブジェクトの状態をオブジェクト毎に表示部107が備えるオブジェクト表示領域に表示する。
ここで、ユーザに提示される基本画面について説明する。図4に示すように、基本画面は、電文表示領域410とオブジェクト表示領域420とを備える画面である。
電文表示領域410には、1つのレコードが1つの電文に関する情報を含むレコード群が時系列順に表示される。レコード群は、電文情報記憶部103に記憶されている電文情報に基づいて生成される。なお、レコード群は、電文の識別子(No.)または電文の受信時刻(Time)に応じて、時系列順に表示される。レコードは、プロトコルアナライザにおける通信ログと考えることができる。各レコードは、電文の識別子(No.)、電文の受信時刻(Time)、送信元(Src)、送信先(Dst)、サービス(Service)、データ(Data)を含む。
例えば、電文の識別子が「1」である電文は、ネットワーク解析支援処理が開始されてから00:00:23経過後に受信され、送信元の機器のIDが10であり、送信先の機器のIDが11であり、サービスの内容がプロパティの書き込みであり、データがBO−010101,1である(識別子がBO−010101のオブジェクトにプロパティ値として「1」を書き込むこと)ことを示している。
なお、電文の識別子が「1」である電文のように、データからオブジェクトの識別子やオブジェクトの状態を容易に特定可能な電文もあるが、電文の識別子が「3」である電文のように、データからオブジェクトの識別子やオブジェクトの状態を容易に特定可能でない電文もある。しかしながら、オブジェクト特定部1022は、例えば、過去に受信された電文の内容やオブジェクトの状態の履歴に基づいて、このような電文からもオブジェクトの識別子やオブジェクトの状態を特定可能である。電文表示領域410には、プロトコルアナライザにおける電文の解析結果が表示される。
オブジェクト表示領域420には、オブジェクトの状態がオブジェクト毎に表示される。本実施形態では、設備管理システムにおいて使用されるオブジェクトのうち、受信された電文により参照されたオブジェクトの識別子のみがオブジェクト表示領域420に表示されるものとする。従って、本実施形態では、オブジェクト表示領域420にオブジェクトの識別子が表示されることは、このオブジェクトの状態が設備管理システムにおいて使用された状態であることを意味する。つまり、本実施形態では、オブジェクト表示領域420にオブジェクトの識別子が表示されることは、オブジェクト表示領域420にオブジェクトの状態が表示されることであるといえる。オブジェクトの状態は、オブジェクト情報記憶部105に記憶されているオブジェクト情報から特定可能である。
ここで、基本画面に加え、プロパティ値提示画面421をさらにユーザに提示することができる。図5に、ユーザに提示されるプロパティ値提示画面421を示す。プロパティ値提示画面421は、注目するオブジェクトが備えるプロパティ毎に、プロパティの名称(Prop.Name)とプロパティ値とを提示する画面である。図5は、注目するオブジェクトが、BO−010101という識別子のオブジェクトであり、PRESENT_VALUE、STATUS_FLAGS、EVENT_STATE、EVENT_TIME_STAMPSという名前の4つのプロパティを備え、PRESENT_VALUEのプロパティ値が「1」であることを示している。
注目するオブジェクトは、例えば、オブジェクト表示領域420内において、識別子にカーソルが重ねられたオブジェクト(ポップアップ指定されたオブジェクト)や、識別子にカーソルが重ねられてクリックされたオブジェクト(ユーザにより選択されたオブジェクト)である。プロパティ値提示画面421に表示される情報は、オブジェクト情報記憶部105に記憶されているオブジェクト情報から抽出可能である。
ここで、オブジェクト情報は、電文解析部102により解析された電文と、電文解析部102により特定されたオブジェクトとを対応付ける情報を含むことができる。この場合、表示制御部108は、特定のオブジェクトの状態と、特定のオブジェクトに対応付けられた電文の内容とを、特定の態様で表示することができる。特定のオブジェクトをどのようなオブジェクトに設定するかは適宜調整することができる。例えば、検出済みのオブジェクト、状態が変化したオブジェクト(プロパティ値が変化したオブジェクト)、エラーを発生したオブジェクト、使用することが想定されていないオブジェクト、ユーザにより選択されたオブジェクト(ユーザの操作・監視対象のオブジェクト)などが特定のオブジェクトに設定される。
特定のオブジェクトに対応付けられた電文は、オブジェクト情報記憶部105に記憶されているオブジェクト情報に基づいて特定可能である。また、この電文の内容は、電文情報記憶部103に記憶されている電文情報から特定可能である。特定の態様をどのような態様にするかは適宜調整することができる。例えば、文字の色、文字のフォント、文字のサイズ、文字の太さ、文字の背景の色、文字の背景の模様の設定などを、他の文字や他の文字の背景の設定とは異なる設定にすることができる。
オブジェクト指定受付部109は、オブジェクト表示領域420に状態が表示されるオブジェクトのうち、いずれかのオブジェクトの指定をユーザから受け付ける。例えば、オブジェクト指定受付部109は、オブジェクト表示領域420に表示されたオブジェクトのうち、マウスにより移動するカーソルが重ねられた状態でクリックされたオブジェクトを、指定されたオブジェクトとして受け付ける。
図6に、オブジェクトの選択に応じて電文の内容が強調表示された基本画面を示す。図6は、BO−010101という識別子のオブジェクトが選択されたときの基本画面の様子を示している。なお、オブジェクトの選択は、オブジェクト指定受付部109がユーザからオブジェクトの指定を受け付けることにより実現する。表示制御部108は、選択されたオブジェクト(BO−010101という識別子のオブジェクト)を、オブジェクト表示領域420内において、他のオブジェクトと区別可能な態様で表示する(例えば、背景の色を青色とする)。
ここで、表示制御部108は、オブジェクト情報記憶部105に記憶されているオブジェクト情報に基づいて、選択されたオブジェクトに対応付けられた電文(識別子が1の電文、識別子が3の電文、識別子が10の電文、識別子が11の電文)を特定する。そして、表示制御部108は、選択されたオブジェクトに対応付けられた電文を、電文表示領域410内において、他の電文と区別可能な態様で表示する(例えば、背景の色を青色とする)。
なお、識別子が1の電文と識別子が3の電文とは、互いに関連する電文である。また、識別子が10の電文と識別子が11の電文とは、互いに関連する電文である。具体的には、識別子が1の電文は、BO−010101という識別子のオブジェクトに対してプロパティ値の書き込みを要求する電文であり、識別子が3の電文は、この要求に応答する電文である。また、識別子が10の電文は、BO−010101という識別子のオブジェクトからプロパティ値の読み込みを要求する電文であり、識別子が11の電文は、この要求に応答してプロパティ値として1を返す電文である。
次に、図7に、基本画面に重ねて提示されるポップアップウインドウ422を示す。ポップアップウインドウ422は、特定のオブジェクトが備えるプロパティに設定されたプロパティ値の履歴を提示するウインドウである。なお、特定のオブジェクトは、状態が変化したオブジェクト、ユーザにより指定されたオブジェクト、エラーが発生したオブジェクトなどである。図7では、特定のオブジェクトが、状態が変化したオブジェクトである例を示している。
まず、表示制御部108は、状態が変化したオブジェクト(MO−010102という識別子のオブジェクト)を検出すると、状態が変化したオブジェクトを、オブジェクト表示領域420内において、他のオブジェクトと区別可能な態様で表示する(例えば、背景の色を緑色とする)。ここで、表示制御部108は、状態が変化したオブジェクトがユーザにより指定されたことを検知すると、基本画面に重ねてポップアップウインドウ422を提示する。なお、ユーザによる指定は、例えば、状態が変化したオブジェクトにカーソルが重ねられた状態でのマウスの右クリック操作などにより実現する。そして、表示制御部108は、ポップアップウインドウ422内に、状態が変化したオブジェクトが備えるプロパティに設定されたプロパティ値の履歴を表示する。
ここで、表示制御部108は、プロパティ値の履歴の中からいずれかのプロパティ値が選択されたことを検知すると、検知されたプロパティ値を他のプロパティ値と区別可能な態様で表示する(例えば、背景の色を青色とする)。図7では、プロパティ値の履歴が「0」→「1」→「0」であり、「1」が選択され、「1」が特定の態様で表示された例を示している。次に、表示制御部108は、オブジェクト情報に基づいて、状態が変化したオブジェクト(MO−010102という識別子のオブジェクト)に対してプロパティ値として「1」を設定した電文(識別子が12の電文)を特定する。そして、表示制御部108は、特定した電文を、電文表示領域410内において、他の電文と区別可能な態様で表示する(例えば、背景の色を緑色とする)。
なお、表示制御部108は、特定された電文が電文表示領域410内に表示されていない場合、特定された電文が電文表示領域410内に表示されるように、画面を自動スクロールすることができる。また、表示制御部108は、状態が変化したオブジェクトがユーザにより指定されるまで、状態が変化したオブジェクトに対応付けられた全ての電文(識別子が2の電文、識別子が4の電文、識別子が6の電文)を、電文表示領域410内において、他の電文と区別可能な態様で表示することができる。
なお、図7の説明では、特定のオブジェクトが自動で選択され、選択されたオブジェクトに対応付けられた電文が特定される例について説明した。この方式とは反対に、特定の電文が自動または手動により選択され、選択された電文に対応付けられたオブジェクトが特定されてもよい。なお、表示制御部108は、電文情報記憶部103に記憶された電文情報に基づいて、選択された電文に対応付けられたオブジェクトを特定することができる。
電文指定受付部110は、電文表示領域410に内容が表示される電文のうち、いずれかの電文の指定をユーザから受け付ける。例えば、電文指定受付部110は、電文内容表示領域に内容が表示された電文のうち、マウスにより移動するカーソルが重ねられた状態でクリックされた電文を、指定された電文として受け付ける。
次に、図8を参照して、オブジェクトのエラーの発生に応じて電文の内容が強調表示された基本画面について説明する。図8は、識別子がBO−010102であるオブジェクトにおいてエラーが発生し、また、識別子がMO−020101である規定外のオブジェクトが検出されたときの基本画面の様子を示している。
まず、表示制御部108は、オブジェクト情報に基づいて、識別子がBO−010102であるオブジェクトにおいてエラーが発生したことを検出し、識別子がBO−010102であるオブジェクトに対応付けられた電文(識別子が4である電文)を特定する。そして、表示制御部108は、識別子がBO−010102であるオブジェクトと、識別子が4である電文とを、他のオブジェクトや電文と識別可能な態様で表示する(例えば、背景の色を黄色にする。)。
また、表示制御部108は、オブジェクト情報に基づいて、識別子がMO−020101であるオブジェクトが規定外のオブジェクト(使用することが想定されていないオブジェクト)であることを検出し、識別子がMO−020101であるオブジェクトに対応付けられた電文(識別子が9である電文)を特定する。そして、表示制御部108は、識別子がMO−020101であるオブジェクトと、識別子が9である電文とを、他のオブジェクトや電文と識別可能な態様で表示する(例えば、文字の色を赤色にする。なお、図9では、太字で文字を示している。)。このように、表示制御部108は、エラーの原因に応じた態様でオブジェクトの状態や電文の内容を表示することにより、オブジェクトと電文との対応関係とともにエラーの原因を分かり易く提示することができる。
また、エラーの原因となった電文に加え、エラーの原因となった電文と関連のある電文も、他の電文と識別可能な態様で表示されてもよい。例えば、図9に示すように、エラーの原因となった電文(識別子が4である電文)に加え、エラーの原因となった電文(識別子が4である電文)と関連のある電文(識別子が2である電文)も、他の電文と識別可能な態様で表示されてもよい(例えば、背景が黄色で表示されてもよい。)。なお、表示制御部108は、オブジェクト情報に基づいて、関連のある電文を特定してもよいし、電文情報に基づいて、関連のある電文を特定してもよい。なお、関連のある電文は、常に表示されるようにしてもよいし、特定の操作がなされた場合に表示されるようにしてもよい。特定の操作は、例えば、電文表示領域410内において、エラーの原因となった電文に、カーソルが重ねられる操作である。
次に、図10に示すフローチャートを参照して、ネットワーク解析支援装置100が実行するネットワーク解析支援処理について説明する。なお、ネットワーク解析支援装置100は、第1のネットワーク500に接続された状態で、ネットワーク解析支援処理の開始指示操作を受け付けたことに応答して、図10に示すネットワーク解析支援処理を開始する。
まず、表示制御部108は、表示部107を制御して、初期画面を表示する(ステップS101)。なお、初期画面は、例えば、図4に示す基本画面において、電文表示領域410とオブジェクト表示領域420とのいずれにも何も表示されていない画面である。
次に、電文受信部101は、電文を受信したか否かを判別する(ステップS102)。電文受信部101は、電文を受信したと判別した場合(ステップS102:YES)、受信した電文を電文解析部102に引き渡す。そして、電文解析部102は、引き渡された電文を解析する(ステップS103)。
電文解析部102は、電文を解析することにより、電文の内容を特定する(ステップS104)。電文解析部102は、特定した電文の内容を電文情報記録部104に引き渡す。また、電文解析部102は、電文を解析することにより、オブジェクトの識別子および状態を特定する(ステップS105)。電文解析部102は、特定したオブジェクトの識別子および状態をオブジェクト情報更新部106に引き渡す。
ここで、オブジェクト情報更新部106は、引き渡されたオブジェクトの識別子および状態に基づいて、オブジェクト情報記憶部105に記憶されているオブジェクト情報を更新する(ステップS106)。一方、電文情報記録部104は、引き渡された電文の内容を含む電文情報を、電文情報記憶部103に記録する(ステップS107)。なお、オブジェクト情報更新部106は、更新に関わるオブジェクトに対応付けられた電文を特定可能な情報をオブジェクト情報に含めることができる。また、電文情報記録部104は、記録に関わる電文に対応付けられたオブジェクトを特定可能な情報を電文情報に含めることができる。
そして、表示制御部108は、表示部107を制御して、電文の追加に応じて画面を更新する(ステップS108)。なお、表示制御部108は、電文情報記憶部103に記憶されている電文情報に基づいて、電文表示領域410内に電文を表示する。従って、電文情報記憶部103に新たな電文情報が記録(追加)されると、電文表示領域410内に表示される電文が追加されることになる。また、表示制御部108は、オブジェクト情報記憶部105に記憶されているオブジェクト情報に基づいて、オブジェクト表示領域420内にオブジェクトの状態を表示する。従って、オブジェクト情報記憶部105に記憶されているオブジェクト情報が更新されると、オブジェクト表示領域420内に表示されるオブジェクトの状態が更新される。表示制御部108は、ステップS108の処理を完了すると、ステップS102に処理を戻す。
一方、電文受信部101は、電文を受信していないと判別すると(ステップS102:NO)、表示制御部108はユーザ操作があるか否かを判別する(ステップS109)。なお、表示制御部108は、オブジェクト指定受付部109や電文指定受付部110から供給される信号を監視することにより、ユーザ操作があるか否かを判別することができる。表示制御部108は、ユーザ操作がないと判別すると(ステップS109:NO)、ステップS102に処理を戻す。
一方、表示制御部108は、ユーザ操作があると判別すると(ステップS109:YES)、ユーザ操作に応じて画面を更新する(ステップS110)。例えば、ユーザ操作がオブジェクトを指定する操作である場合、表示制御部108は、指定されたオブジェクトが他のオブジェクトと識別可能な態様で表示され、指定されたオブジェクトに対応付けられた電文が他の電文と識別可能な態様で表示されるように、画面を更新する。また、例えば、ユーザ操作が電文を指定する操作である場合、表示制御部108は、指定された電文が他の電文と識別可能な態様で表示され、指定された電文に対応付けられたオブジェクトが他のオブジェクトと識別可能な態様で表示されるように、画面を更新する。また、ユーザ操作がポップアップウインドウ422の表示を指示する操作である場合、表示制御部108は、ポップアップウインドウ422を表示する。表示制御部108は、ステップS110の処理を完了すると、ステップS102に処理を戻す。
本実施形態では、受信された電文の内容が電文毎に電文表示領域410に表示されるとともに、受信された電文の解析により特定されたオブジェクトの状態がオブジェクト毎にオブジェクト表示領域420に表示される。従って、本実施形態によれば、設備管理システムにおいて用いられるオブジェクトの状態を分かり易く提示することができる。
また、本実施形態では、特定のオブジェクトの状態と、特定のオブジェクトに対応付けられた電文の内容とが、特定の態様で表示される。従って、本実施形態によれば、特定のオブジェクトと特定のオブジェクトに対応付けられた電文との対応関係を分かり易く提示することができる。
また、本実施形態では、ユーザにより指定されたオブジェクトの状態と、ユーザにより指定されたオブジェクトに対応付けられた電文の内容とが、特定の態様で表示される。従って、本実施形態によれば、ユーザが注目するオブジェクトに対応付けられた電文を分かり易く提示することができる。
また、本実施形態では、状態が変化したオブジェクトの状態と、状態が変化したオブジェクトに対応付けられた電文の内容とが、特定の態様で表示される。従って、本実施形態によれば、状態が変化したオブジェクトに対応付けられた電文を分かり易く提示することができる。
また、本実施形態では、エラーが発生したオブジェクトの状態と、エラーが発生したオブジェクトに対応付けられた電文の内容とが、特定の態様で表示される。従って、本実施形態によれば、エラーが発生したオブジェクトに対応付けられた電文を分かり易く提示することができる。
また、本実施形態では、特定の電文の内容と、特定の電文に対応付けられたオブジェクトの状態とが、特定の態様で表示される。従って、本実施形態によれば、ユーザが注目する電文に対応付けられたオブジェクトの状態を分かり易く提示することができる。
また、本実施形態では、ユーザにより指定された電文の内容と、ユーザにより指定された電文に対応付けられたオブジェクトの状態とが、特定の態様で表示される。従って、本実施形態によれば、ユーザが注目する電文に対応付けられたオブジェクトを分かり易く提示することができる。
(実施形態2)
実施形態1では、1系統の通信プロトコルに従った電文が取得されて解析される例について説明した。つまり、実施形態1では、第1のネットワーク500上を流れる電文と、第1のネットワーク500上を流れる電文の解析により特定されたオブジェクトの状態とが表示される例について説明した。本発明において、複数系統の通信プロトコルに従った電文が取得されて解析されてもよい。例えば、本発明において、第1のネットワーク500上を流れる電文と、第2のネットワーク600上を流れる電文と、第1のネットワーク500または第2のネットワーク600上を流れる電文の解析により特定されたオブジェクトの状態とが表示されてもよい。
以下、本発明の実施形態2に係るネットワーク解析支援装置150について説明する。図11に示すように、ネットワーク解析支援装置150は、電文受信部101と電文解析部102とに代えて第1の電文受信部1011と第1の電文解析部1031とを備え、さらに、第2の電文受信部1012と、第2の電文解析部1032と、を備える点を除き、ネットワーク解析支援装置100と同様の機能を有する。
第1の電文受信部1011は、基本的に、電文受信部101と同様の機能を有する。つまり、第1の電文受信部1011は、第1のネットワーク500上を流れる電文を受信する。第1の電文解析部1031は、基本的に、電文解析部102と同様の機能を有する。つまり、第1の電文解析部1031は、第1の電文受信部1011により受信された電文を解析する。
第2の電文受信部1012は、第2のネットワーク600上を流れる電文を受信する。第2の電文解析部1032は、第2の電文受信部1012により受信された電文を解析する。第2の電文解析部1032は、電文の解析結果として、電文の内容と、電文に対応付けられたオブジェクトの識別子および状態と、を特定する。第2の電文解析部1032は、特定した電文の内容を、電文情報記録部104に通知する。また、第2の電文解析部1032は、特定したオブジェクトの識別子および状態を、オブジェクト情報更新部106に通知する。
なお、電文情報記憶部103と、電文情報記録部104と、オブジェクト情報記憶部105と、オブジェクト情報更新部106と、表示部107と、表示制御部108と、オブジェクト指定受付部109と、電文指定受付部110とのそれぞれは、第1のネットワーク500上を流れる電文に関わる処理を実行する機能に加え、第2のネットワーク600上を流れる電文に関わる処理を実行する機能を備える。
本実施形態では、例えば、図4に示す基本画面において、電文表示領域410に、第1のネットワーク500上を流れる電文の内容と、第2のネットワーク600上を流れる電文の内容と、を混在させることができる。また、本実施形態では、例えば、図4に示す基本画面において、電文表示領域410に第1のネットワーク500上を流れる電文の内容を表示し、電文表示領域410とは別の領域に第2のネットワーク600上を流れる電文の内容を表示することができる。このように、本実施形態では、第1のネットワーク500上を流れる電文の内容と、第2のネットワーク600上を流れる電文の内容と、設備管理システムにおいて用いられるオブジェクトの状態と、が提示される。従って、本実施形態によれば、複数のネットワーク上を流れる電文の内容とともに、設備管理システムにおいて用いられるオブジェクトの状態を分かり易く提示することができる。
(変形例)
以上、本発明の実施形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能である。
本発明において、上記実施形態において説明した構成、機能、動作のどの部分を採用するのかは任意である。また、本発明において、上述した構成、機能、動作のほか、更なる構成、機能、動作が採用されてもよい。
実施形態1では、オブジェクト表示領域420において、特定のオブジェクトが識別可能な態様で表示される例(オブジェクトレベルで識別表示される例)について説明した。本発明において、特定のオブジェクトが備える特定のプロパティが識別可能な態様で表示されてもよい(プロパティレベルで識別表示されてもよい)。図12は、プロパティ値提示画面421内において、特定のオブジェクト(識別子がBO−010101であるオブジェクト)が有する特定のプロパティ(名前がPRESENT_VALUEであるプロパティ)が識別可能な態様で表示される例を示している。この場合、電文表示領域410内において、この特定のオブジェクトのこの特定のプロパティに対応付けられた電文(例えば、このプロパティにアクセスする電文)が識別可能な態様で表示される。
実施形態1では、ポップアップウインドウ422内において、プロパティ値を示す数値が表示される例について説明した。本発明において、プロパティ値が示す内容が表示されてもよいし、プロパティ値を示す数値とともにプロパティ値が示す内容が表示されてもよい。図13(A)は、プロパティ値が示す内容を提示するポップアップ画面423を示す図である。図13(B)は、プロパティ値を示す数値とプロパティ値が示す内容とを提示するポップアップ画面424を示す図である。このように、プロパティ値を示す数値だけが表示されるのではなく、プロパティ値が示す内容が表示されると、オブジェクトの状態がユーザに分かり易く提示されることになる。
また、実施形態1では、オブジェクト表示領域420に、オブジェクトの識別子(例えば、BO−010101)が表示される例について説明した。本発明において、オブジェクト表示領域420に、オブジェクトの意味する内容(例えば、空調機01/運転状態)が表示されてもよい。このように、オブジェクトの識別子が表示されるのではなく、オブジェクトの意味する内容が表示されると、設備管理システムにおいて使用されるオブジェクトがどのようなオブジェクトであるのかがユーザに分かり易く提示されることになる。
実施形態1では、設備管理システムにおいて使用されるオブジェクトのうち、電文の解析により検出済みであるオブジェクトの識別子のみが、オブジェクト表示領域420内に表示される例について説明した。本発明において、設備管理システムにおいて使用される全てのオブジェクトの識別子が、オブジェクト表示領域420内に表示されてもよい。この場合、例えば、電文の解析により検出済みでないオブジェクトの識別子が、オブジェクト表示領域420内において特定の態様で表示(例えば、灰色で表示)されてもよい。
実施形態1では、電文のキャプチャとともにリアルタイムにネットワーク解析支援処理が実行される例について説明した。本発明において、電文のキャプチャが終了した後、ネットワーク解析支援処理が実行されてもよい。この場合、例えば、電文解析部102は、記憶装置などに記憶されている電文のログ情報を順次読み出して、1つずつ電文を解析すればよい。
実施形態1では、第1のネットワーク500上を流れる電文を解析する例について説明し、実施形態2では、第1のネットワーク500上を流れる電文と第2のネットワーク600上を流れる電文とを解析する例について説明した。本発明において、第2のネットワーク600上を流れる電文を解析してもよい。
本発明に係るネットワーク解析支援装置100の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末装置に適用することで、当該パーソナルコンピュータ等を本発明に係るネットワーク解析支援装置100として機能させることも可能である。
また、このようなプログラムの配布方法は任意であり、例えば、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。