説明

機器管理通信システム

【課題】通信が可能な管理装置のみを登録しておくことにより通信開始時の無駄な処理を防止した機器管理通信システムを提供する。
【解決手段】上位ネットNmに複数台のローカル管理装置1が接続される。ローカル管理装置1は、IPアドレスとデバイスIDとを含む階層化されたプロトコルを用いて通信する通信部11を備える。管理装置1は、IPアドレスとデバイスIDと通信の可否を表す通信状態とが対応付けて登録される状態管理テーブルTb1と、IPアドレスとデバイスIDとが対応付けて登録されるアドレステーブルTb2とを備える。アドレステーブルTb2には、状態管理テーブルTb1で通信可能であるIPアドレスおよびデバイスIDのみが登録され、通信部11は、他のローカル管理装置1と通信する際にアドレステーブルTb2に登録されたIPアドレスおよびデバイスIDを用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークを介して接続された管理装置に通信ネットワークとは別に被管理機器を接続し、被管理機器の監視と制御との少なくとも一方を通信ネットワークを介して行うことを可能にした機器管理通信システムに関するものである。
【背景技術】
【0002】
従来より、通信ネットワークを用いて多数台の被管理機器を管理(監視と制御との少なくとも一方)する場合において、被管理機器の種類や配置場所を単位として下位の通信ネットワークを構築し、下位の通信ネットワークを上位の通信ネットワークにより管理することが考えられている。このような階層化された通信ネットワークを構築するには、図8に示すように、下位の通信ネットワーク(以下では、「下位ネット」という)Nsa,Nsbにローカル管理装置1a〜1cを設けてローカル管理装置1a〜1cにより被管理機器2a,2bを管理している。上位の通信ネットワーク(以下では、「上位ネット」という)Nmではローカル管理装置1a〜1cが端末になり、グローバル管理装置3がローカル管理装置1a〜1cを管理する。
【0003】
図示例では、照明器具やスイッチのような被管理機器2aがローカル管理装置1aとともに下位ネットNsaを構築し、計量計測のための計測器のような被管理機器2bがローカル管理装置1bとともに下位ネットNsbを構築している。下位ネットNsa,Nsbは自律的に動作し、たとえば、被管理機器2aを設けた下位ネットNsaでは、上位ネットNmを用いることなくスイッチの操作に応じて照明器具の点灯・消灯を制御することが可能になっている。
【0004】
また、図示例では、複数の下位ネットNsa,Nsbを含むエリアE1,E2を単位として被管理機器2a,2bを管理するために、各エリアE1,E2ごとに被管理装置2a,2bの接続されないローカル管理装置1cを設けてある。ローカル管理装置1cは、各エリアE1,E2内のローカル管理装置1a,1bと通信が可能であり、エリアE1,E2内のローカル管理装置1a,1bが管理している情報を統合して管理する。
【0005】
一方、上位ネットNmに設けたグローバル管理装置3は、ローカル管理装置1a〜1cを端末として扱い、グローバル管理装置3ではローカル管理装置1a〜1cを仲介として被管理機器2a,2bの情報を授受する。グローバル管理装置3は、1ないし複数台のコンピュータにより構成される。
【0006】
各ローカル管理装置1a〜1cは、動作が異なるものの基本的な構成は同様であるから、以下ではとくに区別する必要がなければ、ローカル管理装置1として説明する。
【0007】
ローカル管理装置1では、下位ネットNsa,Nsbから取得した情報を上位ネットNmを介してグローバル管理装置3に伝送し、またグローバル管理装置3から上位ネットNmを通して取得した指示を下位ネットNsa,Nsbに反映させる。さらに、ローカル管理装置1同士の間でも上位ネットNmを用いて情報を授受する。
【0008】
ところで、上位ネットNmで用いる通信プロトコルは、OSI参照モデルと同様に階層化されており、ネットワーク層としてIPプロトコルを用い、上位層のプロトコルとしてBACnet(A Data Communication Protocol for Building Automation and Control Networks)プロトコルを用いることが提案されている(たとえば、特許文献1参照)。BACnetプロトコルで用いるBACnetパケットは、図9に示すように、Ether(登録商標)ヘッダHD1、IPヘッダHD2、UDPヘッダHD3、BVLLヘッダHD4、BACnet領域BACを有し、それぞれ物理層、ネットワーク層、トランスポート層、セッション層、上位層(BACnetプロトコル)に対応する。BACnet領域BACは、BACnetプロトコルのデータを格納する領域であり、BACnet領域BACには、各ローカル管理装置1を識別するためのデバイスIDが含まれる。
【特許文献1】特開2007−96539号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ところで、上位ネットNmにおいてローカル管理装置1の間で通信を行うには、上位ネットNmにおいて通信可能なローカル管理装置1を互いに把握している必要があるが、ローカル管理装置1の追加や削除によって上位ネットNm内のIPアドレスやデバイスIDは動的に変化する。大規模の機器管理通信システムでは、ローカル管理装置1の台数が多くなるから、このような動的変化に対して人手で対応するのは困難である。
【0010】
これに対して、BACnetを採用した通信ネットワークでは、WhoIsとIAmと称するパケットを送受することにより、通信可能か否かを確認するとともに、通信可能なローカル管理装置1のIPアドレスおよびデバイスIDを取得することができるから、通信可能なローカル管理装置1に関してIPアドレスとデバイスIDと通信状態(通信の可否)とを動的に管理することが可能である。
【0011】
しかしながら、各ローカル管理装置1はIPアドレスとデバイスIDと通信状態とを登録する1つの状態管理テーブルしか備えていないものであるから、他のローカル管理装置1と通信しようとすると、当該ローカル管理装置1のIPアドレスおよびデバイスIDについて通信の可否を判断した後でなければ通信を開始することができず、通信のたびに無駄な判断を行うことになるという問題を有している。
【0012】
本発明は上記事由に鑑みて為されたものであり、その目的は、通信が可能な管理装置のみを登録しておくことにより通信開始時の無駄な処理を防止した機器管理通信システムを提供することにある。
【課題を解決するための手段】
【0013】
請求項1の発明は、複数台の管理装置が接続された通信ネットワークを有し、少なくとも1台の管理装置に通信ネットワークとは別に被管理機器が接続された機器管理システムであって、各管理装置は、階層化された第1プロトコルおよび第2プロトコルを用いて他の管理装置と通信する通信部と、第1プロトコルより上位層である第2プロトコルまでの通信が可能な他の管理装置を問い合わせる生存確認パケットを送出させ、生存確認パケットを受信したときには生存確認パケットの送信元に第1プロトコルで用いる第1アドレスと第2プロトコルで用いる第2アドレスとを含む回答パケットを返送させる通信状態確認部と、第1アドレスと第2アドレスと通信の可否を表す通信状態とが対応付けて登録される状態管理テーブルと、第1アドレスと第2アドレスと状態管理テーブルの各データと関係付ける管理インデックスとが対応付けて登録されるアドレステーブルと、状態管理テーブルに登録された管理装置のうち通信状態において通信可能である第1アドレスおよび第2アドレスを抽出してアドレステーブルに記憶させるテーブル管理部とを有し、通信部は、他の管理装置と通信する際にアドレステーブルに登録された第1アドレスおよび第2アドレスを用いることを特徴とする。
【0014】
請求項2の発明では、請求項1の発明において、前記通信状態確認部は、前記通信部を通して受信したパケットに含まれる第1アドレスに対応する管理インデックスが前記アドレステーブルにおいて未登録であるときに、前記通信部を通して生存確認パケットを送出させることを特徴とする。
【0015】
請求項3の発明では、請求項1または請求項2の発明において、前記テーブル管理部は、前記通信部を通して受信した回答パケットに含まれる第1アドレスと第2アドレスとの少なくとも一方が前記アドレステーブルにおいて既登録であり、かつ管理インデックスにより関係付けられた前記状態管理テーブルの通信状態が通信不可であるときにのみ、前記状態管理テーブルおよび前記アドレステーブルの該当データの内容を回答パケットの内容に置き換えることを特徴とする。
【0016】
請求項4の発明では、請求項1ないし請求項3のいずれかの発明において、前記テーブル管理部は、前記通信部を通して受信した回答パケットに含まれる第1アドレスと第2アドレスとの少なくとも一方が前記アドレステーブルにおいて既登録であり、かつ管理インデックスにより関係付けられた前記状態管理テーブルの通信状態が保留であるときに、前記状態管理テーブルに回答パケットの内容を追加することを特徴とする。
【発明の効果】
【0017】
請求項1の発明の構成によれば、各管理装置が生存確認パケットを用いて上位層の第2プロトコルまでの通信の可否を検証しているから、各管理装置において通信が可能な管理装置を把握することができる。しかも、各管理装置では、通信状態を管理する状態管理テーブルに加えて、通信可能な管理装置についてのみ第1アドレスおよび第2アドレスをアドレステーブルに登録しているから、アドレステーブルに登録された第1アドレスおよび第2アドレスは通信可能な管理装置のものであることが保証されており、通信開始前に通信の可否を検証する処理が不要になる。また、アドレステーブルに登録されたデータは、管理インデックスにより状態管理テーブルのデータと関係付けられているから、他の管理装置の第1アドレスや第2アドレスに変更が生じたときや、通信ネットワークに新規な管理装置が参入したときなどに、管理インデックスの有無により既登録か未登録かを容易に判別でき、データを上書きするか追加するかなどの判断が可能になる。
【0018】
請求項2の発明の構成によれば、受信パケットをアドレステーブルに照合したときに管理インデックスが未登録であれば、通信ネットワークに新規に管理装置が参入したと判断できるから、生存確認パケットを送出することにより、新規に参入した管理装置に関して第1アドレスおよび第2アドレスを取得することができる。
【0019】
請求項3の発明の構成によれば、第1アドレスと第2アドレスとの一方しか一致する状態は、管理装置の設定を変更した場合などに生じるが、該当する一組のデータを置き換えるだけであり他のデータに影響しないから、他の管理装置との通信に影響を与えることなく設定変更が可能になる。
【0020】
請求項4の発明の構成によれば、システム構築時にすぐには使用しない管理装置を、設置工事などの関係であらかじめ通信ネットワークに接続しておいても、他の管理装置に関する設定内容を変更する必要がないから、システムに障害を生じることがなく、施工工事の自由度を高めることができる。
【発明を実施するための最良の形態】
【0021】
本実施形態では、図8に示した構成の機器管理システムを例として説明する。通信ネットワークにおける管理装置としてのローカル管理装置1は、図1に示すように、上位ネットNmの伝送路Lmに接続される第1通信部11と、下位ネットNsの伝送路Lsに接続される第2通信部12とを備える。第1通信部12で用いるプロトコルはOSI参照モデルのように階層化されている。
【0022】
上位ネットNmで伝送するパケットには、図9に示したフォーマットを有するBACnetパケットを用いる。BACnetパケットのうちIPヘッダはネットワーク層のプロトコル(第1プロトコル)に対応し、BACnet領域はアプリケーション層のプロトコル(第2プロトコル)に対応する。そして、IPヘッダにはIPアドレス(第1アドレス)が含まれ、BACnet領域にはBACnetにおける装置を個別に識別するためのデバイスID(第2アドレス)が含まれる。したがって、上位ネットNm内においてIPアドレスとデバイスIDとは重複しないように設定することが要求される。なお、本実施形態では、IPアドレスを第1アドレスに対応付け、デバイスIDを第2アドレスに対応付けているが、第1アドレスおよび第2アドレスを他の階層のアドレスに対応付けてもよい。
【0023】
ローカル管理装置1には通信状態確認部13が設けられ、通信状態確認部13は、上位ネットNmに接続された他のローカル管理装置1と通信可能か否かを確認するための「WhoIs」と称するBACnetパケット(以下、「生存確認パケット」という)を所定のタイミング(通常は、1分程度の一定時間間隔)で第1通信部11に送出させる。なお、通信可能とは第1プロトコルによる通信だけではなく、第2プロトコルによる通信も含む。要するに、生存確認パケットでは上位層までの通信の可否を問い合わせる。
【0024】
また、通信状態確認部13は、他のローカル管理装置1からの生存確認パケットを受信すると、生存確認パケットを送出したローカル管理装置1に自己の通信状態を通知するための「IAm」と称するBACnetパケット(以下、「回答パケット」という)を第1通信部11に送出させる。生存確認パケットは同報(ブロードキャスト)で送信され、回答パケットはユニキャストで送信される。回答パケットのBACnet領域には少なくともデバイスIDと通信状態との情報を有するIAmデータが含まれる。
【0025】
通信状態確認部13が回答パケットとして返送する自己の通信状態は、通信可能な状態を示す「生存」である。ローカル管理装置1は、テーブル管理部14を備え、生存確認パケットを送出したローカル管理装置1のテーブル管理部14では、過去に「生存」であったローカル管理装置1から回答パケットが得られなかった場合には、当該ローカル管理装置1の通信状態を「離脱」と判断する。通信状態が「離脱」であるローカル管理装置1は通信不能であって、当該ローカル管理装置1が上位ネットNmから取り外されたか故障して通信できない場合に相当する。なお、ローカル管理装置1が上位ネットNmから意図的に離脱する場合には、「離脱」を示すパケットをブロードキャストで送信して各ローカル管理装置1に通知する。
【0026】
ローカル管理装置1は、上位ネットNmに含まれるローカル管理装置1のIPアドレスとデバイスIDと通信状態とを対応付けて格納する配列構造の状態管理テーブルTb1と、上位ネットNmに含まれるローカル管理装置1のうち通信可能なローカル管理装置1についてのみIPアドレスとデバイスIDとを対応付けて登録したリスト構造のアドレステーブルTb2とを備える。状態管理テーブルTb1におけるデバイスIDおよび通信状態は、回答パケットに含まれるIAmデータと同様に一括して扱われる(つまり、デバイスID+通信状態の形で1項目になる)。状態管理テーブルTb1とアドレステーブルTb2との内容は、システムの起動時にはデバイス設定ファイルに基づいて生成されるが、システムの運用中には生存確認パケットに対する回答パケットの有無と内容とにより更新される。
【0027】
デバイス設定ファイルは、グローバル管理装置3に設定されている。つまり、各ローカル管理装置1のIPアドレスおよびデバイスIDをあらかじめ設定してデバイス設定ファイルを生成することにより、グローバル管理装置3から各ローカル管理装置1にデバイス設定ファイルを配信し、各ローカル管理装置1において状態管理テーブルTb1とアドレステーブルTb2とを生成する。また、デバイス設定ファイルは、グローバル管理装置3から配信する形態のほか、ローカル管理装置にあらかじめ仮のデバイス設定ファイルを持たせるようにしてもよい。
【0028】
生存確認パケットに対する回答パケットの有無と内容とにより状態管理テーブルTb1およびアドレステーブルTb2の内容を更新する手順については後述する。
【0029】
状態管理テーブルTb1は、図2(a)に示すように、IAmデータ(デバイスID+通信状態)とIPアドレスとの項目を含んでいる。状態管理テーブルTb1のIAmデータにおいて「dev−*」(*は数字)の形式で記述しているのがデバイスIDである。上位ネットNmの伝送路Lmは有線であって、原則として上位ネットNmに接続されたすべてのローカル管理装置1は相互に通信可能である。したがって、各ローカル管理装置1の状態管理テーブルTb1およびアドレステーブルTb2には、上位ネットNmに含まれるすべてのローカル管理装置1のIPアドレスが含まれる。
【0030】
ただし、上位ネットNmに新規にローカル管理装置1が参入する場合や、上位ネットNmからローカル管理装置1が除去されたり、ローカル管理装置1が故障したりする場合がある。前者の場合には状態管理テーブルTb1およびアドレステーブルTb2に通信可能なローカル管理装置1を追加する必要があり、後者の場合には状態管理テーブルTb1では通信不能になったことを示するとともに、アドレステーブルTb2では通信不能になったローカル管理装置1を削除することが必要になる。新規に参入した場合の通信状態は「生存」であり、通信不能になった場合の通信状態は「離脱」になる。
【0031】
なお、後述するように状態管理テーブルTb1の各一組のデータについて状態管理テーブルTb1の中での位置を特定するために、状態管理テーブルTb1は配列構造を採用しているから、状態管理テーブルTb1を構築するために必要な容量はあらかじめ余裕を見込んで確保しておく。
【0032】
アドレステーブルTb2は、図2(b)に示すように、IPアドレス、デバイスID、管理インデックス、送信回数、送信時間の各項目を含んでいる。管理インデックスは、状態管理テーブルTb1の各一組のデータを参照するためのインデックスであって、関係付けるデータが状態管理テーブルTb1の何番目に含まれているかを示している。たとえば、アドレステーブルTb2において管理インデックスが「2」であるデータは、状態管理テーブルTb1の2番目(図示例では2行目)のデータと関係付けられる。
【0033】
送信回数と送信時間とは、それぞれ生存確認パケットを送信する回数の上限回数と、生存確認パケットを送信する時間間隔を指定する値であり、通信状態確認部13では、送信回数が設定値以下の場合または送信時間が前回の生存確認パケットの送信から設定値以上になっている場合に生存確認パケットを送信する。したがって、通信状態確認部13は、送信回数を計数するカウンタ機能および送信時間を時限する時計機能を備える。なお、図では省略しているが、アドレステーブルTb1はリスト構造であるから、各一組のデータの前後の連結を表すデータも含まれる。アドレステーブルTb2にリスト構造を採用していることにより、アドレステーブルTb2ではデータの加除が容易になる。
【0034】
テーブル管理部14は、状態管理テーブルTb1に格納されたローカル管理装置1のうち通信状態が「生存」であるローカル管理装置1のみについて、IPアドレスとデバイスIDとをアドレステーブルTb2に登録する。また、このとき管理インデックスも付与される。
【0035】
第1通信部11は、他のローカル管理装置1と通信する際には、アドレステーブルTb2に登録されたIPアドレスおよびデバイスIDを用いる。アドレステーブルTb2には通信状態が「離脱」であるデータは含まれていないから、通信状態が「離脱」であるローカル管理装置1との間で無駄な通信を行うことがなく、処理や通信に関する無駄がなくなる。逆に言えば、アドレステーブルTb2に登録されているローカル管理装置1は通信可能であるから、アドレステーブルTb2に登録されているローカル管理装置1を選択して通信を行えば、通信不能のローカル管理装置1を指定するという無駄な処理が生じない。このことは、多数台のローカル管理装置1を設けている場合にとくに有効であり、不要な処理や通信を行わないことにより上位ネットNmのトラフィックの低減になる。
【0036】
図3を参照してローカル管理装置1の動作を説明する。各ローカル管理装置1では、第1通信部11を通してBACnetパケット(生存確認パケットまたは回答パケット)を受信すると(S1)、アドレステーブルTb2からBACnetパケット(以下、単に「パケット」という)の送信元のIPアドレスに対応するデバイスIDを検索する(S2)。アドレステーブルTb2において、受信したIPアドレスに対応するデバイスIDが登録されていないときには(S3:No)、取得したIPアドレスをアドレステーブルTb2に格納するが、デバイスIDは未知デバイスであることを示す仮デバイスIDとし、また、管理インデックスも未登録に対応する適宜の値を付与する(S4)。仮デバイスIDは、デバイスIDとして用いていない値のうち未使用のものを充てる。その後、受信したパケットが「生存」を示しているか否かを判断する(S5)。
【0037】
アドレステーブルTb2に新規にデータを登録する場所は、アドレステーブルTb2の末尾とすればよいが、アドレステーブルTb2はリスト構造であるからIPアドレスやデバイスIDなどが昇順に並ぶように適宜の箇所に挿入することも可能である。
【0038】
ステップS3においてデバイスIDが登録済みであるときには(S3:Yes)、デバイスIDが仮デバイスIDか否かを確認し(S8)、さらに、受信したパケットが「生存」を示しているか否かを確認する(S5、S9)。ステップS5、S9のいずれの場合も、受信パケットが「生存」を示しているときには(S5:Yes,S9:Yes)、デバイス登録チェック処理に移行し(S6)、その後、登録更新処理に移行する(S7)。デバイス登録チェック処理および登録更新処理については後述する。
【0039】
要するに、アドレステーブルTb2にデバイスID(仮デバイスIDの場合もある)が存在した状態であり、かつ受信パケットが「生存」を示すときには、デバイス登録チェック処理(S6)と登録更新処理(S7)とを行う。
【0040】
一方、受信パケットが「生存」を示しておらず(つまり、生存確認パケットである場合)、しかもデバイスIDが仮デバイスIDであって(S5:No)、さらには以下のような生存確認パケットを送信する条件が成立していれば、生存確認パケットを送信する(S10)。生存確認パケットの送信条件は、IPアドレスとデバイスIDとがアドレステーブルTb2に登録されているにもかかわらず管理インデックスが未登録であるデータが存在する場合、生存確認パケットの送信回数がアドレステーブルTb2に設定した値以下である場合、生存確認パケットを送信してから送信時間の設定値以上の時間が経過している場合のいずれかが成立することである。
【0041】
ステップS10では、受信したパケットが回答パケットで「生存」を示すものではなく、しかもアドレステーブルに管理インデックスが存在しないときには、上位ネットNmに新規のローカル管理装置1が参入したと考えられるから、生存確認パケットをブロードキャストで送信し、新規に参入したローカル管理装置1に回答パケットを送信させるのである。この動作により、新規に参入したローカル管理装置1についてIPアドレスおよびデバイスIDを検出することができる。なお、図3では生存確認パケットを受信したときに回答パケットを返送する処理は省略している。
【0042】
ところで、上述したように、デバイスIDがアドレステーブルTb2に存在し、かつ受信パケットが「生存」を示すときには、回答パケットにより取得したIPアドレスとIAmデータを用いて図3のステップS6であるデバイス登録チェック処理を行う。デバイス登録チェック処理では、図4に示すように、アドレステーブルTb2に登録された全データに対して以下の処理を順に行う。すなわち、以下の処理はアドレステーブルTb2の各一組のデータに対して行う。
【0043】
まず、IPアドレスおよびデバイスIDについて、受信した回答パケットのデータとアドレステーブルTb2に登録されたデータとの一致を判断し(S1)、両方が一致しているか一方が一致している場合には、管理インデックスが登録されているか否かを判定する(S2、S3)。IPアドレスとデバイスIDとがともに一致し、管理インデックスが登録されていれば(S2:Yes)、アドレステーブルTb2に登録済みのデータであるから、デバイス登録チェック処理を終了する。
【0044】
また、IPアドレスおよびデバイスIDについて、受信した回答パケットのデータとアドレステーブルTb2に登録されたデータとが一致するが、管理インデックスが登録されていない場合には(S2:No)、登録更新処理(図3のステップS7)に移行する。この動作は、上述したデバイス設定ファイルがグローバル管理装置3から配信された直後であって、状態管理テーブルTb1とアドレステーブルTb2との関係付けが行われていない状態に対応する。状態管理テーブルTb1とアドレステーブルTb2との関係付けは、以後の生存確認パケットと回答パケットとの授受により行われる。
【0045】
アドレステーブルTb2の着目するデータにおいて、受信した回答パケットに含まれるIPアドレスとデバイスIDとの一方だけが一致する場合で、管理インデックスが登録されているときには(S3:Yes)、IPアドレスとデバイスIDとのいずれかが重複して登録されている可能性があるから、管理インデックスを用いて状態管理テーブルTb1から通信状態を獲得する(S4)。
【0046】
ここで、取得した通信状態が「生存」であれば(S5:Yes)、アドレステーブルTb2の着目している一組のデータの更新を禁止し(S6)、デバイス登録チェック処理を終了する。また、取得した通信状態が「離脱」であれば(S5:No)、登録更新処理(図3のステップS7)に移行する。
【0047】
なお、ステップS3において管理インデックスが登録されていないとき(S3:No)、あるいは、受信した回答パケットに含まれるIPアドレスとデバイスIDとの両方がともにアドレステーブルTb2の着目するデータと一致しない場合には(S1)、回答パケットのIPアドレスとデバイスIDとの照合をアドレステーブルTb2の次のデータについて行う。なお、回答パケットに含まれるIPアドレスとデバイスIDとがともにアドレステーブルTb2に登録されていない場合には、回答パケットの送信元であるローカル管理装置1が上位ネットNmに新規に参加した場合と考えられる。
【0048】
上述の動作は、デバイス登録チェック処理が終了するか登録更新処理に移行するまでは、アドレステーブルTb2の最後のデータまで繰り返し行う。上述の条件でデバイス登録チェック処理が終了する場合には、登録更新処理を行わずに次のパケットを受信待機する。
【0049】
次に、図3のステップS7に対応する登録更新処理について説明する。登録更新処理では、回答パケットの内容に基づいて状態管理テーブルTb1にデータを登録するか状態管理テーブルTb1のデータを更新する。その後、アドレステーブルTb2のデータを更新する。
【0050】
登録更新処理では、図5に示すように、まず状態管理テーブルTb1に登録された全データに対して以下の処理を順に行う。登録更新処理においては、まず回答パケットのIPアドレスおよびデバイスIDと状態管理テーブルTb1に登録されたIPアドレスおよびデバイスIDとを比較する(S1)。ここで、少なくとも一方が一致したのか両方とも一致しなかったのかに応じて以後の処理が異なる。
【0051】
少なくとも一方が一致した場合、通信状態が「離脱」か否かが判定され(S2)、「離脱」であれば(S2:Yes)、一致したのが1回目か2回目以降かを判断する(S3)。1回目であるときには(S3:Yes)、これを優先的に用い、状態管理テーブルTb1の該当データを更新する(S4)。しかし、一致したのが2回目以降であるときには(S2:No)、状態管理テーブルTb1の該当データを削除する(S5)。この処理により、状態管理テーブルTb1に登録された順番で上位のデータのみが残り、他のデータは削除されるから、IPアドレスまたはデバイスIDが重複している場合には重複のない1個のデータのみが残ることになる。
【0052】
次に、ステップS1での一致の有無にかかわらず、状態管理テーブルTb1の着目している領域(管理インデックスが付与される単位の領域)が空き領域か否かが判断され(S6)、空き領域であれば(S6:Yes)当該場所が記憶される(S7)。
【0053】
上述の処理を状態管理テーブルTb1に登録されているすべてのデータについて行った後、IPアドレスとデバイスIDとの一致を再度確認し(S8)、一度も一致していない場合であって状態管理テーブルTb1の空き領域が記憶されているときには、当該空き領域に回答パケットで得られたIPアドレスおよびIAmデータを登録し、状態管理テーブルTb1に空き領域が存在していなければ状態管理テーブルTb1の末尾に回答パケットで得られたIPアドレスおよびIAmデータを登録する(S9)。
【0054】
図5のステップS5、S9のように状態管理テーブルTb1において、IPアドレスまたはデバイスIDに重複があれば削除し、削除により空き領域が生じると、当該空き領域に新たなデータが書き込まれる。なお、状態管理テーブルTb1においてIAmデータに含まれる通信状態が「離脱」になっている場合には、空き領域と同等に扱われる。このように、配列構造を有する状態管理テーブルTb1で空き領域を利用してデータを上書きすることにより、状態管理テーブルTb1として用いる記憶領域の有効利用が図れる。
【0055】
ここまでの処理によって、状態管理テーブルTb1には、回答パケットの送信元に関して通信状態が「生存」として登録される。このように状態管理テーブルTb1にデータが登録された後に、アドレステーブルTb2の内容が更新される。つまり、アドレステーブルTb2について、先頭から末尾まで各データが順に抽出され、各データに対して以下の処理が行われる。
【0056】
すなわち、状態管理テーブルTb1に登録されたIAmデータおよびIPアドレスと、アドレステーブルTb2の各データのIPアドレスおよびデバイスIDとの一致が検証され(S10)、少なくとも一方が一致しているときには、一致したのが1回目か2回目以降を判断する(S11)。一致したのが1回目であれば(S11:Yes)、アドレステーブルTb2において着目している一組のデータを更新する(S12)。一方、2回目以降であるときには、アドレステーブルTb2において着目しているデータを削除する(S13)。つまり、アドレステーブルTb2においてIPアドレスまたはデバイスIDが重複している場合には重複のない1個のデータのみが残る。要するに、状態管理テーブルTb1と同様にIPアドレスとデバイスIDとはそれぞれ重複しないように整理される。
【0057】
次に、ステップS9での一致の有無にかかわらず、アドレステーブルTb2の着目している領域が空き領域か否かが判断され(S14)、空き領域であれば当該場所が記憶される(S15)。
【0058】
上述の処理をアドレステーブルTb2に登録されているすべてのデータについて行った後、IPアドレスとデバイスIDとの一致を再度確認し(S16)、一度も一致していない場合であってアドレステーブルTb2の空き領域が記憶されているときには、当該空き領域にIPアドレスおよびデバイスIDを登録し、アドレステーブルTb2に空き領域が存在していなければアドレステーブルTb2の末尾にIPアドレスおよびデバイスIDを登録する(S17)。
【0059】
一方、ステップS2で「離脱」であれば、通信状態を「保留」にして登録し、さらに通信状態が「保留」になっているものがあれば(S19:Yes)、そのデバイスIDと重複するデバイスIDを再チェックする(S20)。再チェックしたデバイスIDの通信状態が「離脱」になっていれば(S21:Yes)、「離脱」のものに上書き(置換)した後(S22)、ステップS6の後の処理に進む。なお、ステップS19で「保留」がないか、ステップS21で「離脱」がない場合もステップS6の後の処理に進む。
【0060】
以上の手順によれば、回答パケットを受信した場合には、状態管理テーブルTb1に登録される通信状態が「生存」になり、「生存」である場合には、同じIPアドレスおよびデバイスIDがアドレステーブルTb2にも登録される。言い換えると、アドレステーブルTb2にIPアドレスおよびデバイスIDが登録されていれば、状態管理テーブルTb1では通信状態が「生存」であることを意味する。
【0061】
上述したように、ローカル管理装置1のIPアドレスやデバイスIDを変更したりローカル管理装置1を交換したりした場合であっても、状態管理テーブルTb1とアドレステーブルTb2とが自動的に更新されるから、新たな設定を行う必要がなく、上位ネットNmの動作に支障を与えることなく変更に速やかに対応することが可能になる。
【0062】
上述した動作を踏まえて、受信した回答パケットの内容に応じた状態管理テーブルTb1およびアドレステーブルTb2の内容変化の変化を例示する。いま、図6(a)に示す情報を含む回答パケットを受信し、そのときのアドレステーブルTb2が図6(b)のような内容である場合を想定する。
【0063】
まず、新規に接続されたローカル管理装置1が回答パケットの送信元である場合について説明する。この場合、回答パケットのIPアドレスおよびデバイスIDは、状態管理テーブルTb1とアドレステーブルTb2とのいずれにも存在しない。したがって、図3に示した処理により、図6(c)のように、まずアドレステーブルTb2の末尾に回答パケットから得られたIPアドレス(2001::3)が登録され、このIPアドレスに対しては仮デバイスID(0x3FFFFF)が付与される。また、アドレステーブルTb2に登録されていなかった情報であるから、管理インデックスにも未登録を示す値(0xFFFF)が登録される(図3のS2→S3→S4)。
【0064】
次にデバイス登録チェック処理に移行すると、回答パケットのIPアドレスとデバイスIDとに対して、アドレステーブルTb2には一致するIPアドレスが登録されているが、デバイスIDは仮デバイスIDであって不一致であり、さらに管理インデックスは未登録の値が登録されているから、登録更新処理に移行する(図4のS1→S3)。
【0065】
また、回答パケットの内容に一致するデータが状態管理テーブルTb1に存在しないから、図5のステップS1で「不一致」の判断がなされ、状態管理テーブルTb1に回答パケットにより受信したIAmデータ(デバイスIDおよび通信状態)およびIPアドレスが登録され、図6(d)のような内容になる。図示例では、回答パケットの内容に対応するデータが状態管理テーブルTb1の末尾に登録されている。
【0066】
登録更新処理では、状態管理テーブルTb1へのデータの登録後に、状態管理テーブルTb1に登録したデータがアドレステーブルTb2の内容と再度照合され(図5のS10)、IPアドレスとデバイスIDとの少なくとも一方が一致すれば、重複が検証される(図5のS11)。ここで重複が見つかればアドレステーブルTb1から当該情報が削除されるが(図5のS13)、図6の例では、新規に接続されたローカル管理装置1からの回答パケットであるから重複はなく、図6(e)のように、IPアドレスが一致する領域において仮デバイスIDが本来のデバイスID(図示例では「3」)に書き換えられる。また、このとき状態管理テーブルTb1のどのデータに対応するかがわかるから、アドレステーブルTb2の管理インデックス(図示例では「3」)が状態管理テーブルTb1に関係付けて登録される。
【0067】
次に、IPアドレスに対応するデバイスIDが変更された場合を例示する。送信元であるローカル管理装置1からの回答パケットの内容において、図7(a)のように、IPアドレスが「2001::2」、デバイスIDが「3」であるものとし、このときアドレステーブルTb2では図7(b)のように、IPアドレスが「2001::2」であるデータに対応付けてデバイスIDが「2」と登録され、また状態管理テーブルTb1では図7(c)のように、IPアドレスが「2001::2」であるデータが存在し、IAmデータがデバイス2の「離脱」を示しているものとする。「離脱」は生存確認パケットの送信時に応答がないか、「離脱」の際にブロードキャストで送信された「離脱」を示すパケットによって検出される。
【0068】
この条件において回答パケットを受信すると、アドレステーブルTb2に登録されているデータの中にIPアドレスの一致するものがあり、当該IPアドレスに対するデバイスIDが存在するから、図3のS3→S8→S9:Yesの経路でデバイス登録チェック処理に移行する。さらに、アドレステーブルTb2には当該IPアドレスに対応する管理インデックスも存在するから、デバイス登録チェック処理では、図4のステップS3→S4→S5と進み、ここで、状態管理テーブルTb1のIAmデータでは該当するIPアドレスの通信状態が「離脱」になっているから、ステップS5で「Yes」が選択され、登録更新処理に移行する。
【0069】
登録更新処理では、図5のステップS1において、状態管理テーブルTb1のデータに回答パケットの内容に一致するIPアドレスが存在し、図7に図示する条件では1回目だけ一致するから、図5のステップS3→S4と進み、図7(d)のように状態管理テーブルTb1において通信状態が「離脱」であった一組のデータの内容が回答パケットの内容で上書きされて更新される。
【0070】
その後、図5のステップS10において、状態管理テーブルTb1で更新されたIPアドレスおよびデバイスIDと、アドレステーブルTb2のIPアドレスおよびデバイスIDとが照合され(図5のS10)、状態管理テーブルTb1に登録されたIPアドレスと一致するIPアドレスを持つデータが更新される(図5のステップS11→S12)。そして、図7(e)のように、アドレステーブルTb2のIPアドレス「2001::2」に対応するローカル管理装置1のデバイスIDが「3」に変更される。
【0071】
図7に示した例は、デバイスIDが変更された場合であるが、IPアドレスに変更が生じた場合も同様の動作になる。このような動作により、上位ネットNmに接続されるローカル管理装置1のIPアドレスやデバイスIDの変更に容易に対応することができる。
【図面の簡単な説明】
【0072】
【図1】実施形態を示すブロック図である。
【図2】(a)は同上に用いる状態管理テーブルを示す図、(b)は同上に用いるアドレステーブルを示す図である。
【図3】同上の全体の動作説明図である。
【図4】同上におけるデバイス登録チェック処理の動作説明図である。
【図5】同上における登録更新処理の動作説明図である。
【図6】同上の動作例を説明する図である。
【図7】同上の他の動作例を説明する図である。
【図8】機器管理通信システムの構成例を示す図である。
【図9】同上に用いる信号のフォーマットを示す図である。
【符号の説明】
【0073】
1 ローカル管理装置(管理装置)
1a〜1c ローカル管理装置
2a,2b 被管理機器
3 グローバル管理装置
11 第1通信部
12 第2通信部
13 通信状態確認部
14 テーブル管理部
Lm 伝送路
Ls 伝送路
Nm 上位ネット(通信ネットワーク)
Ns 下位ネット
Tb1 状態管理テーブル
Tb2 アドレステーブル

【特許請求の範囲】
【請求項1】
複数台の管理装置が接続された通信ネットワークを有し、少なくとも1台の管理装置に通信ネットワークとは別に被管理機器が接続された機器管理システムであって、各管理装置は、階層化された第1プロトコルおよび第2プロトコルを用いて他の管理装置と通信する通信部と、第1プロトコルより上位層である第2プロトコルまでの通信が可能な他の管理装置を問い合わせる生存確認パケットを送出させ、生存確認パケットを受信したときには生存確認パケットの送信元に第1プロトコルで用いる第1アドレスと第2プロトコルで用いる第2アドレスとを含む回答パケットを返送させる通信状態確認部と、第1アドレスと第2アドレスと通信の可否を表す通信状態とが対応付けて登録される状態管理テーブルと、第1アドレスと第2アドレスと状態管理テーブルの各データと関係付ける管理インデックスとが対応付けて登録されるアドレステーブルと、状態管理テーブルに登録された管理装置のうち通信状態において通信可能である第1アドレスおよび第2アドレスを抽出してアドレステーブルに記憶させるテーブル管理部とを有し、通信部は、他の管理装置と通信する際にアドレステーブルに登録された第1アドレスおよび第2アドレスを用いることを特徴とする機器管理通信システム。
【請求項2】
前記通信状態確認部は、前記通信部を通して受信したパケットに含まれる第1アドレスに対応する管理インデックスが前記アドレステーブルにおいて未登録であるときに、前記通信部を通して生存確認パケットを送出させることを特徴とする請求項1記載の機器管理通信システム。
【請求項3】
前記テーブル管理部は、前記通信部を通して受信した回答パケットに含まれる第1アドレスと第2アドレスとの少なくとも一方が前記アドレステーブルにおいて既登録であり、かつ管理インデックスにより関係付けられた前記状態管理テーブルの通信状態が通信不可であるときにのみ、前記状態管理テーブルおよび前記アドレステーブルの該当データの内容を回答パケットの内容に置き換えることを特徴とする請求項1または請求項2記載の機器管理通信システム。
【請求項4】
前記テーブル管理部は、前記通信部を通して受信した回答パケットに含まれる第1アドレスと第2アドレスとの少なくとも一方が前記アドレステーブルにおいて既登録であり、かつ管理インデックスにより関係付けられた前記状態管理テーブルの通信状態が保留であるときに、前記状態管理テーブルに回答パケットの内容を追加することを特徴とする請求項1ないし請求項3のいずれか1項に記載の機器管理通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate