(57)【要約】【課題】各ノードが処理可能な電文を流通させること。【解決手段】実施形態に係る通信装置は、受信部と、判定部と、分割部と、送信部とを具備する。受信部は、所定の装置によってノード宛に送信された電文を受信する。判定部は、受信部によって受信された電文に、ノードに対する命令が所定数以上含まれるか否かを判定する。分割部は、判定部によって電文に所定数以上の命令が含まれると判定された場合に、受信部によって受信された電文をノードが処理可能な数以下の命令を含む電文に分割する。送信部は、分割部によって分割された複数の電文をノードに送信する。【選択図】図２
2014165883.tif 000002
【特許請求の範囲】
【請求項１】
所定の装置によってノード宛に送信された電文を受信する受信部と；
前記受信部によって受信された電文に、前記ノードに対する命令が所定数以上含まれるか否かを判定する判定部と；
前記判定部によって前記電文に所定数以上の命令が含まれると判定された場合に、前記受信部によって受信された電文を前記ノードが処理可能な数以下の命令を含む電文に分割する分割部と；
前記分割部によって分割された複数の電文を前記ノードに送信する送信部と；
を具備する通信装置。
【請求項２】
前記ノード毎に、当該ノードが処理可能である命令の数を記憶する記憶部と；
前記送信部によって前記ノードに送信された電文に含まれる命令の数と、当該電文に対する当該ノードからの応答とに基づいて、前記記憶部に記憶されている命令の数を更新する更新部と；
をさらに具備する請求項１に記載の通信装置。
【請求項３】
所定の装置によってノード宛に送信された電文を受信する受信部と；
前記受信部によって受信された電文に、前記ノードの属性情報を書き込むための書込命令と、前記ノードの属性情報を読み出すための読出命令とが含まれるか否かを判定する判定部と；
前記判定部によって前記電文に書込命令と読出命令との双方が含まれると判定された場合に、前記受信部によって受信された電文を、前記書込命令を含む電文と前記読出命令を含む電文とに分割する分割部と；
前記分割部によって分割された複数の電文を前記ノードに送信する送信部と；
を具備する通信装置。
【請求項４】
前記送信部によって送信された複数の電文に対する応答を前記ノードから受信した場合に、受信した応答を結合する結合部をさらに具備し、
前記送信部は、前記結合部によって結合された応答を前記所定の装置に送信する、
請求項１〜３のいずれか一つに記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置に関する。
【背景技術】
【０００２】
近年、電化製品等を制御するエネルギー管理システムが普及しつつある。このようなエネルギー管理システムの一種として、ＨＥＭＳ（Home  Energy  Management  System）と呼ばれるシステムが知られている。かかるＨＥＭＳには、標準プロトコルとして、ＥＣＨＯＮＥＴやＥＣＨＯＮＥＴ  Ｌｉｔｅが適用される。
【０００３】
ＥＣＨＯＮＥＴやＥＣＨＯＮＥＴ  Ｌｉｔｅでは、電文と呼ばれるフレームを電化製品等のノードに送信することで、かかるノードを遠隔制御することができる。このような電文には、プロパティと呼ばれる値を書き込むことでノードを制御する書込命令や、プロパティの値を読み出すことでノードの状態を取得する読出命令などが設定される。そして、ＥＣＨＯＮＥＴやＥＣＨＯＮＥＴ  Ｌｉｔｅでは、１個の電文に複数の命令が設定される場合がある。例えば、１個の電文には、複数の書込命令が含まれる場合や、複数の読出命令が含まれる場合や、書込命令及び読出命令の双方が含まれる場合がある。
【０００４】
しかし、ノードによっては、仕様や処理能力等の理由により、１個の電文で処理できる命令数が決められている場合がある。例えば、１個の電文で５個の命令を処理できるノードであっても、６個の命令が含まれる電文を処理できない場合がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“エコーネット規格（一般公開）”、［online］、［平成２４年１１月２６日検索］、インターネット＜http://www.echonet.gr.jp/spec/spec_v101_lite.htm＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、各ノードが処理可能な電文を流通させることができる通信装置を提供することである。
【課題を解決するための手段】
【０００７】
実施形態に係る通信装置は、受信部と、判定部と、分割部と、送信部とを具備する。受信部は、所定の装置によってノード宛に送信された電文を受信する。判定部は、前記受信部によって受信された電文に、前記ノードに対する命令が所定数以上含まれるか否かを判定する。分割部は、前記判定部によって前記電文に所定数以上の命令が含まれると判定された場合に、前記受信部によって受信された電文を前記ノードが処理可能な数以下の命令を含む電文に分割する。送信部は、前記分割部によって分割された複数の電文を前記ノードに送信する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係るエネルギー管理システムの構成例を示す図である。
【図２】図２は、第１の実施形態に係る通信装置の構成例を示す図である。
【図３】図３は、第１の実施形態に係る相手先情報テーブルの一例を示す図である。
【図４】図４は、第１の実施形態に係るＴＩＤ対応テーブルの一例を示す図である。
【図５】図５は、第１の実施形態に係る通信装置による電文の送受信処理の一例を示す図である。
【図６】図６は、第１の実施形態に係るエネルギー管理システムによる処理手順を示すシーケンス図である。
【図７】図７は、第１の実施形態に係る相手先情報テーブルの他の例を示す図である。
【図８】図８は、第１の実施形態に係る通信装置によるＳｅｔＧｅｔ電文の送受信処理の一例を示す図である。
【図９】図９は、第１の実施形態に係る通信装置による処理手順の一例を示すフローチャートである。
【図１０】図１０は、第２の実施形態に係る通信装置の構成例を示す図である。
【図１１】図１１は、第２の実施形態に係る相手先情報テーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下で説明する実施形態に係る通信装置１００（又は、通信装置２００）は、受信部１３１（又は、受信部２３１）と、判定部１３２（又は、判定部２３２）と、分割部１３３（又は、分割部２３３）と、送信部１３４（又は、送信部２３４）とを具備する。受信部１３１（又は、受信部２３１）は、管理装置４０（所定の装置の一例に相当）によってノード１０宛に送信された電文を受信する。判定部１３２（又は、判定部２３２）は、受信部１３１（又は、受信部２３１）によって受信された電文に、ノード１０に対する命令が所定数以上含まれるか否かを判定する。分割部１３３（又は、分割部２３３）は、判定部１３２（又は、判定部２３２）によって電文に所定数以上の命令が含まれると判定された場合に、受信部１３１（又は、受信部２３１）によって受信された電文をノード１０が処理可能な数以下の命令を含む電文に分割する。送信部１３４（又は、送信部２３４）は、分割部１３３（又は、分割部２３３）によって分割された複数の電文をノード１０に送信する。
【００１０】
また、以下で説明する実施形態に係る通信装置２００は、相手先情報テーブル２２１と、更新部２３６とを具備する。相手先情報テーブル２２１は、ノード１０毎に、かかるノード１０が処理可能である命令の数を記憶する。また、更新部２３６は、送信部２３４によってノード１０に送信された電文に含まれる命令の数と、かかる電文に対する当該ノードからの応答に基づいて、相手先情報テーブル２２１に記憶されている命令の数を更新する。
【００１１】
また、以下で説明する実施形態において、受信部１３１（又は、受信部２３１）は、管理装置４０によってノード１０宛に送信された電文を受信する。また、判定部１３２（又は、判定部２３２）は、受信部１３１（又は、受信部２３１）によって受信された電文に、ノード１０のプロパティ（属性情報の一例に相当）を書き込むための書込命令と、ノード１０のプロパティを読み出すための読出命令とが含まれるか否かを判定する。また、分割部１３３（又は、分割部２３３）は、判定部１３２（又は、判定部２３２）によって電文に書込命令と読出命令との双方が含まれると判定された場合に、受信部１３１（又は、受信部２３１）によって受信された電文を、書込命令を含む電文と読出命令を含む電文とに分割する。また、送信部１３４（又は、送信部２３４）は、分割部１３３（又は、分割部２３３）によって分割された電文をノード１０に送信する。
【００１２】
また、以下で説明する実施形態に係る通信装置１００（又は、通信装置２００）は、結合部１３５を具備する。結合部１３５は、送信部１３４（又は、送信部２３４）によって送信された電文の応答をノード１０から受信した場合に、受信した応答を結合する。また、送信部１３４（又は、送信部２３４）は、結合部１３５によって結合された応答を管理装置４０に送信する。
【００１３】
以下、図面を参照して、実施形態に係る通信装置を説明する。実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１４】
（第１の実施形態）
［エネルギー管理システムの構成］
図１は、第１の実施形態に係るエネルギー管理システム１の構成例を示す図である。図１に示したエネルギー管理システム１は、例えば、宅内に設置されている家電等の制御や監視を実現するシステムであり、ＨＥＭＳなどと呼ばれる。第１の実施形態に係るエネルギー管理システム１は、ＨＥＭＳ標準プロトコルのＥＣＨＯＮＥＴ  Ｌｉｔｅが適用されているものとする。
【００１５】
このエネルギー管理システム１には、図１に示すように、ホームネットワークシステム２と、ユーザ端末３と、管理サーバ４とが含まれる。ホームネットワークシステム２、ユーザ端末３及び管理サーバ４は、ネットワーク５を介して、有線又は無線により通信可能に接続される。かかるネットワーク５は、例えば、インターネットやイントラネットに該当する。なお、エネルギー管理システム１には、複数のホームネットワークシステム２や、複数台のユーザ端末３や、複数台の管理サーバ４が含まれてもよい。
【００１６】
ホームネットワークシステム２は、例えばユーザ宅内や店舗内などに構築され、分電盤１０１、家電１０２、家電１０３、ゲートウェイ装置２０、ユーザ端末３０、管理装置４０、通信装置１００１〜１００３などを有する。
【００１７】
分電盤１０１は、例えばユーザ宅内の壁などに設けられ、各種ブレーカーを有し、家電１０２や家電１０３へ電力を供給する。家電１０２や家電１０３は、ユーザ宅内に設置されている電化製品である。例えば、家電１０２や家電１０３は、冷蔵庫、テレビ、エアコン、クッキングヒーター、暖房器具、給湯器、電気錠、インターホン（ドアホン）、照明器具、洗濯機などに該当する。
【００１８】
ＥＣＨＯＮＥＴ  Ｌｉｔｅにおいて、このような分電盤１０１、家電１０２及び１０３は、「ＥＣＨＯＮＥＴオブジェクト」などと呼ばれる。そして、各ＥＣＨＯＮＥＴオブジェクトには、設定値や状態といった属性が「ＥＣＨＯＮＥＴプロパティ」として定義される。このようなＥＣＨＯＮＥＴオブジェクトは、後述する管理装置４０から、「ＥＣＨＯＮＥＴ  Ｌｉｔｅ電文（以下、単に「電文」と表記する場合がある）」を受信することにより、ＥＣＨＯＮＥＴプロパティを書き込む処理や読み出す処理を行う。
【００１９】
例えば、ＥＣＨＯＮＥＴオブジェクトは、ＥＣＨＯＮＥＴプロパティに所定のプロパティ値を書き込む旨の書込命令が設定されている電文を受信した場合に、ＥＣＨＯＮＥＴプロパティに所定のプロパティ値を書き込む。これにより、ＥＣＨＯＮＥＴオブジェクトは、管理装置４０によって「電源のオン／オフ」や「動作モードの切り替え」などの各種制御が行われる。
【００２０】
また、例えば、ＥＣＨＯＮＥＴオブジェクトは、ＥＣＨＯＮＥＴプロパティに設定されているプロパティ値を読み出す旨の読出命令が設定されている電文を受信した場合に、ＥＣＨＯＮＥＴプロパティに設定されているプロパティ値を管理装置４０に送信する。これにより、ＥＣＨＯＮＥＴオブジェクトは、管理装置４０によって動作状況の監視などが行われる。
【００２１】
以下では、分電盤１０１、家電１０２及び１０３などのＥＣＨＯＮＥＴオブジェクトを区別する必要がない場合には、単に「ノード１０」と表記し、ＥＣＨＯＮＥＴプロパティを単に「プロパティ」と表記する。また、ノード１０に送信される電文を「要求電文」と表記し、ノード１０から送信される要求電文に対する応答の電文を「応答電文」と表記する場合がある。
【００２２】
ゲートウェイ装置２０は、管理装置４０と接続され、ホームネットワークシステム２を外部のネットワーク５に接続する通信機器である。図１の例では、ゲートウェイ装置２０は、ホームネットワークシステム２内の管理装置４０と、ホームネットワークシステム２外のユーザ端末３や管理サーバ４とをネットワーク５を介して接続する。
【００２３】
ユーザ端末３０は、例えば、タブレット端末、ＰＣ（Personal  Computer）、携帯電話機、ＰＤＡ（Personal  Data  Assistance）などであり、無線ＬＡＮ（Local  Area  Network）や有線ＬＡＮなどを介して管理装置４０に接続される。かかるユーザ端末３０は、ユーザ操作に従ってノード１０に対する制御命令を管理装置４０に送信したり、管理装置４０から受信したノード１０に関する各種情報を表示したりする。
【００２４】
管理装置４０は、アクセスポイントとしての役割を担い、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線技術や宅内ＬＡＮを用いて、ゲートウェイ装置２０やユーザ端末３０や通信装置１００１〜１００３と通信を行う。かかる管理装置４０は、ユーザ端末３０から入力された各種制御命令に基づいて、「プロパティ値の書き込み」や「プロパティ値の読み出し」といった命令が設定されている要求電文をノード１０に送信したり、ノード１０から受信した応答電文から得られる各種情報をユーザ端末３０に送信したりする。なお、管理装置４０は、ゲートウェイ装置２０と一体となって形成されてもよい。
【００２５】
通信装置１００１〜１００３は、ノード１０と管理装置４０との間で送受信される電文を中継する。図１の例の場合、通信装置１００１は、分電盤１０１と管理装置４０との間に設置され、通信装置１００２は、家電１０２と管理装置４０との間に設置され、通信装置１００３は、家電１０３と管理装置４０との間に設置される。詳細については後述するが、通信装置１００１〜１００３は、管理装置４０から要求電文を受信した場合に、ノード１０において処理可能な数の命令が含まれる要求電文に分割し、分割した複数の要求電文をノード１０に送信する。そして、通信装置１００１〜１００３は、ノード１０から受信した各応答電文を結合して管理装置４０に送信する。なお、以下では、通信装置１００１〜１００３を区別する必要がない場合には、単に「通信装置１００」と表記する場合がある。
【００２６】
このように、ホームネットワークシステム２を利用するユーザは、ユーザ端末３０を用いることで、管理装置４０を介してノード１０を制御することができる。例えば、ユーザ端末３０が携帯電話機である場合、ユーザは、宅内で携帯電話機を操作するだけで、ノード１０の動作を制御したり、ノード１０の動作状況を監視したりすることができる。
【００２７】
また、図１において、ホームネットワークシステム２の外部に示したユーザ端末３は、例えば、携帯電話機、ＰＤＡ、タブレット端末、ＰＣなどであり、無線ＬＡＮや有線ＬＡＮなどを介してネットワーク５に接続される。かかるユーザ端末３は、ユーザ端末３０と同様に、ユーザ操作に従ってノード１０に対する制御命令を管理サーバ４に送信したり、管理サーバ４から受信したノード１０に関する各種情報を表示したりする。
【００２８】
管理サーバ４は、ネットワーク５を介してユーザ端末３から受信した各種制御命令を管理装置４０に送信する。これにより、管理装置４０は、ホームネットワークシステム２の外部に位置するユーザ端末３から送信された制御命令に基づいて、ノード１０を制御する。また、管理サーバ４は、ネットワーク５を介して管理装置４０から受信したノード１０に関する各種情報をユーザ端末３に送信する。これにより、ユーザ端末３は、ホームネットワークシステム２内に設置されているノード１０に関する各種情報を表示する。このように、ユーザ端末３のユーザは、ホームネットワークシステム２内に所在しない場合であっても、ノード１０を制御することや、ノード１０の動作状況を監視したりすることができる。
【００２９】
このようなエネルギー管理システム１では、通信装置１００による処理によって、各ノード１０が処理可能な電文を流通させることを可能にする。以下、通信装置１００について詳細に説明する。
【００３０】
［通信装置の構成］
図２は、第１の実施形態に係る通信装置１００の構成例を示す図である。図２に示すように、第１の実施形態に係る通信装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。
【００３１】
通信部１１０は、無線通信処理や有線通信処理を行う。例えば、通信部１１０は、図１に示したノード１０や管理装置４０との間で、無線通信又は有線通信により電文等の各種情報を送受信する。
【００３２】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子等の記憶装置によって実現される。かかる記憶部１２０は、図２に示すように、相手先情報テーブル１２１と、ＴＩＤ（Transaction  ID）対応テーブル１２２とを有する。
【００３３】
図３に、第１の実施形態に係る相手先情報テーブル１２１の一例を示す。図３に示した例では、相手先情報テーブル１２１は、「送信先アドレス」と、「処理可能プロパティ数」とを対応付けて記憶する。
【００３４】
「送信先アドレス」は、ノード１０の宛先情報を示し、図３の例ではＩＰアドレスに該当する。なお、「送信先アドレス」は、ＩＰアドレスに限られず、ノード１０を識別可能な情報であればよく、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）アドレス等のＭＡＣ（Media  Access  Control）アドレスであってもよい。「処理可能プロパティ数」は、ノード１０が１個の要求電文において処理できるプロパティへの命令の数を示す。ここでいう「プロパティへの命令」とは、「プロパティ値の書き込み命令」や「プロパティ値の読み出し命令」などに該当する。また、要求電文には、同一のプロパティに対する書き込み命令及び読み出し命令が含まれる場合もあるが、ここでは、処理対象のプロパティが同一であっても、「プロパティ値の書き込み命令」が１個の命令に該当し、「プロパティ値の読み出し命令」が１個の命令に該当するものとする。
【００３５】
すなわち、図３では、送信先アドレスが「１９２．１６８．０．１００」であるノード１０は、１個の命令が含まれている要求電文を処理することができるものの、２個以上の命令が含まれている要求電文を処理することができない例を示している。
【００３６】
なお、図１に示した例のように、１台のノード１０に１台の通信装置１００が設置される場合には、相手先情報テーブル１２１には、１レコードのみ格納されることとなる。また、第１の実施形態では、管理者等によって、相手先情報テーブル１２１に処理可能プロパティ数を予め格納されるものとする。
【００３７】
ＴＩＤ対応テーブル１２２は、管理装置４０から受信した要求電文と、かかる要求電文が分割された後の要求電文（以下、分割された要求電文を「分割電文」と表記する場合がある）との対応関係を記憶する。ここで、図４に、第１の実施形態に係るＴＩＤ対応テーブル１２２の一例を示す。図４に示した例では、ＴＩＤ対応テーブル１２２は、「送信元アドレス」と、「元電文ＴＩＤ」と、「分割数」と、「分割電文ＴＩＤ」と、「応答受信有無」とを対応付けて記憶する。
【００３８】
「送信元アドレス」は、要求電文の送信元（管理装置４０など）の宛先情報を示し、図３の例ではＩＰアドレスに該当する。なお、「送信元アドレス」は、Ｅｔｈｅｒｎｅｔ（登録商標）アドレス等のＭＡＣアドレスであってもよい。「元電文ＴＩＤ」は、管理装置４０から受信した要求電文に設定されているＴＩＤを示す。「分割数」は、元電文ＴＩＤによって識別される要求電文の分割数を示す。「分割電文ＴＩＤ」は、分割電文に設定されるＴＩＤを示す。「応答受信有無」は、分割電文に対する応答電文をノード１０から受信したか否かを示す。図４の例では、「応答受信有無」に「ｙｅｓ」が記憶されている場合には、ノード１０から応答電文を受信したことを示し、「応答受信有無」に「ｎｏ」が記憶されている場合には、ノード１０から応答電文を受信していないことを示す。
【００３９】
すなわち、図４では、送信元アドレスが「１９２．１６８．１．１」である装置（管理装置４０など）から、ＴＩＤ「１」が設定されている要求電文を受信し、かかる要求電文が３個の分割電文に分割されている例を示している。また、図４では、これらの３個の分割電文には、それぞれＴＩＤ「１００」、「１０１」、「１０２」が設定され、ＴＩＤが「１００」である分割電文、及び、ＴＩＤが「１０１」である分割電文に対応する応答電文をノード１０から受信しており、ＴＩＤが「１０２」である分割電文に対応する応答電文をノード１０から受信していない例を示している。
【００４０】
なお、図１に示した例のように、通信装置１００が管理装置４０のみから要求電文を受信する場合には、ＴＩＤ対応テーブル１２２には、管理装置４０の送信元アドレスのみが格納されることとなる。
【００４１】
図２の説明に戻って、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。また、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置（例えば、記憶部１２０）に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。かかる制御部１３０は、受信部１３１と、判定部１３２と、分割部１３３と、送信部１３４と、結合部１３５とを有する。
【００４２】
受信部１３１は、ノード１０宛の要求電文を管理装置４０から受信する。すなわち、第１の実施形態では、管理装置４０からノード１０に要求電文が直接送信されるのではなく、管理装置４０から送信された要求電文は通信装置１００によってインターセプトされる。
【００４３】
また、受信部１３１は、後述する送信部１３４によって送信された要求電文を受信したノード１０から、かかる要求電文に対する応答電文を受信する。この場合、受信部１３１は、ノード１０から受信した応答電文を結合部１３５に出力する。
【００４４】
判定部１３２は、受信部１３１によって受信された要求電文に所定の閾値以上の命令が含まれるか否かを判定する。具体的には、判定部１３２は、要求電文の送信先アドレスに対応する処理可能プロパティ数を相手先情報テーブル１２１から取得する。そして、判定部１３２は、要求電文に含まれる命令の数（処理対象プロパティの数）と、相手先情報テーブル１２１から取得した処理可能プロパティ数とを比較する。
【００４５】
例えば、相手先情報テーブル１２１が図３に示した各種情報を記憶しているものとする。そして、受信部１３１が、送信先アドレスが「１９２．１６８．０．１０１」である要求電文を受信したものとする。この場合、判定部１３２は、かかる要求電文に含まれる命令数と、相手先情報テーブル１２１に記憶されている処理可能プロパティ数「３」とを比較する。
【００４６】
分割部１３３は、判定部１３２によって要求電文に命令が含まれる命令数が所定の閾値（すなわち、処理可能プロパティ数）よりも大きいと判定された場合に、かかる要求電文を処理可能プロパティ数以下の命令を含む複数の分割電文に分割する。
【００４７】
例えば、上記例のように、相手先情報テーブル１２１が図３に示した各種情報を記憶しているものとする。また、受信部１３１が、送信先アドレスが「１９２．１６８．０．１０１」であり、かつ、６個の命令が含まれている要求電文を受信したものとする。この場合、分割部１３３は、例えば、処理可能プロパティ数と同一の３個の命令が含まれる分割電文を２個生成する。また、この例に限られず、分割部１３３は、２個の命令が含まれる３個の分割電文を生成したり、１個の命令が含まれる６個の分割電文を生成したりしてもよい。
【００４８】
送信部１３４は、受信部１３１によって受信された要求電文をノード１０に送信する。具体的には、送信部１３４は、分割部１３３によって分割処理が行われた場合には、分割電文のそれぞれをノード１０に送信する。また、送信部１３４は、分割部１３３によって分割処理が行われていない場合には、受信部１３１によって受信された要求電文をノード１０に送信する。
【００４９】
結合部１３５は、受信部１３１によって応答電文が受信された場合に、かかる応答電文を結合することで、１個の応答電文を生成する。そして、結合部１３５は、生成した応答電文を送信部１３４に出力することで、管理装置４０への応答電文を送信させる。
【００５０】
［通信装置の処理例］
次に、図５を用いて、通信装置１００による電文の送受信処理について説明する。図５は、第１の実施形態に係る通信装置１００による電文の送受信処理の一例を示す図である。図５の上段には、管理装置４０から受信した要求電文Ｄ１０を示し、図５の下段には、要求電文Ｄ１０が分割された後の分割電文Ｄ１０１〜Ｄ１０ｋを示す。
【００５１】
図５の上段に示すように、要求電文Ｄ１０には、「ＥＨＤ１」、「ＥＨＤ２」、「ＴＩＤ」、「ＳＥＯＪ」、「ＤＥＯＪ」、「ＥＳＶ」、「ＯＰＣ」、「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」、・・・、「ＥＰＣｍ」、「ＰＤＣｍ」、「ＥＤＴｍ」といった項目が含まれる。
【００５２】
「ＥＨＤ１」及び「ＥＨＤ２」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ電文のヘッダを示し、プロトコル種別等が設定される。「ＴＩＤ」は、電文を識別するための識別子を示す。かかる「ＴＩＤ」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信において、送信側（例えば、管理装置４０）が、要求電文と応答電文とを紐付ける際に用いる。「ＳＥＯＪ」は、送信元ＥＣＨＯＮＥＴオブジェクトを識別するための識別子を示す。「ＤＥＯＪ」は、送信先ＥＣＨＯＮＥＴオブジェクトを識別するための識別子を示す。
【００５３】
「ＥＳＶ」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅサービスを示す。例えば、要求電文Ｄ１０に含まれる命令が「プロパティ値の書き込み」である場合、「ＥＳＶ」には「０ｘ６１」が設定され、要求電文Ｄ１０に含まれる命令が「プロパティ値の読み出し」である場合、「ＥＳＶ」には「０ｘ６２」が設定される。
【００５４】
「ＯＰＣ」は、処理対象プロパティカウンタを示し、要求電文Ｄ１０に含まれる命令数に該当する。具体的には、「ＯＰＣ」には、「プロパティ値の書き込み対象となるプロパティの数」や「プロパティ値の読み出し対象となるプロパティの数」として、後段の「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」の組合せの数が設定される。なお、要求電文Ｄ１０に「プロパティ値の書き込み命令」及び「プロパティ値の読み出し命令」の双方が含まれる場合には、「プロパティ値の書き込み対象となるプロパティの数」が「ＯＰＣＳｅｔ」に設定され、「プロパティ値の読み出し対象となるプロパティの数」が「ＯＰＣＧｅｔ」に設定されるが、図５の例では、要求電文Ｄ１０に「プロパティ値の書き込み命令」又は「プロパティ値の読み出し命令」のいずれか一方のみが含まれているものとする。
【００５５】
「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」は、１個の命令に該当する。このうち、「ＥＰＣ」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅプロパティを示す。「ＰＤＣ」は、後段の「ＥＤＴ」のバイト数を示す。「ＥＤＴ」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅプロパティの値を示す。
【００５６】
すなわち、図５に示した要求電文Ｄ１０には、「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」の組合せがｍ個存在するので、プロパティへの命令がｍ個含まれていることとなる。判定部１３２は、このような要求電文Ｄ１０が受信部１３１によって受信された場合に、要求電文Ｄ１０に設定されているＯＰＣ「ｍ」と、相手先情報テーブル１２１に記憶されている処理可能プロパティ数とを比較する。ここの例では、ＯＰＣ「ｍ」が処理可能プロパティ数よりも大きいものとする。そして、通信装置１００の分割部１３３は、図５の下段に示すように、要求電文Ｄ１０をｎ（＜ｍ）個の命令を含む分割電文Ｄ１０１〜Ｄ１０ｋに分割するものとする。
【００５７】
分割処理について一例を挙げて説明すると、分割部１３３は、所定のカウンタ「ｋ」、及び、通信装置１００において管理されるＴＩＤであるＴＩＤカウンタ値を用いて、カウンタ「ｋ」をインクリメントしながら分割電文Ｄ１０ｋを順次生成する。具体的には、分割部１３３は、要求電文Ｄ１０の送信元のＩＰアドレスと、要求電文Ｄ１０の「ＴＩＤ」とをＴＩＤ対応テーブル１２２の「送信元アドレス」及び「元電文ＴＩＤ」に格納する。このとき、分割部１３３は、ＴＩＤ対応テーブル１２２の「分割数」に「０」を格納する。
【００５８】
続いて、分割部１３３は、カウンタ「ｋ」を「１」とし、分割電文Ｄ１０ｋ（すなわち、分割電文Ｄ１０１）の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」、「ＤＥＯＪ」及び「ＥＳＶ」に、要求電文Ｄ１０の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」、「ＤＥＯＪ」及び「ＥＳＶ」をコピーする。また、分割部１３３は、要求電文Ｄ１０に含まれる「ＥＰＣ１」、「ＰＤＣ１」及び「ＥＤＴ１」〜「ＥＰＣｎ」、「ＰＤＣｎ」及び「ＥＤＴｎ」を分割電文Ｄ１０１にコピーする。さらに、分割部１３３は、分割電文Ｄ１０１の「ＯＰＣ」に「ｎ」を設定する。
【００５９】
続いて、分割部１３３は、ＴＩＤカウンタ値を読み出して、読み出したＴＩＤカウンタ値を分割電文Ｄ１０１の「ＴＩＤ」に設定する。ここでは、ＴＩＤカウンタ値が「ｓ」であるものとし、分割部１３３は、分割電文Ｄ１０１の「ＴＩＤ」に「ｓ」を設定する。さらに、分割部１３３は、ＴＩＤカウンタ値「ｓ」をＴＩＤ対応テーブル１２２の「分割電文ＴＩＤ」に格納するとともに、ＴＩＤ対応テーブル１２２の「応答受信有無」に未受信を示す情報（図４の例では「ｎｏ」）を格納する。このとき、分割部１３３は、上記において要求電文Ｄ１０の「ＴＩＤ」を格納したＴＩＤ対応テーブル１２２のレコードに、ＴＩＤカウンタ値「ｓ」、及び、未受信を示す情報を格納する。そして、分割部１３３は、ＴＩＤ対応テーブル１２２の「分割数」に「１」を加算する。分割部１３３は、カウンタ「ｋ」が「１」の場合には、「分割数」に「１」を格納することとなる。また、分割部１３３は、ＴＩＤカウンタ値「ｓ」に「１」を加算して、新たなＴＩＤカウンタ値「ｓ＋１」として記録しておく。
【００６０】
このようにして、分割部１３３は、カウンタ「ｋ」に「１」を加算しながら「ｋ×ｎ≧ｍ」となるまで上記処理を行うことにより、分割電文Ｄ１０１〜Ｄ１０ｋを生成する。このとき、分割部１３３は、分割電文Ｄ１０ｋを生成する場合には、要求電文Ｄ１０に含まれる「ＥＰＣ（（ｋ−１）ｎ＋１）」、「ＰＤＣ（（ｋ−１）ｎ＋１）」及び「ＥＤＴ（（ｋ−１）ｎ＋１）」〜「ＥＰＣ（ｋ×ｎ）」、「ＰＤＣ（ｋ×ｎ）」及び「ＥＤＴ（ｋ×ｎ）」をコピーする。また、「ｋ×ｎ＞ｍ」である場合（すなわち、「ｍ」が「ｋ」で割り切れない場合）、分割部１３３は、最後の分割電文Ｄ１０ｋについては、要求電文Ｄ１０に含まれる「ＥＰＣ（（ｋ−１）ｎ＋１）」、「ＰＤＣ（（ｋ−１）ｎ＋１）」及び「ＥＤＴ（（ｋ−１）ｎ＋１）」〜「ＥＰＣｍ」、「ＰＤＣｍ」及び「ＥＤＴｍ」をコピーする。
【００６１】
そして、送信部１３４は、分割部１３３によって分割された分割電文Ｄ１０１〜Ｄ１０ｋをノード１０に送信する。これにより、受信部１３１は、分割電文Ｄ１０１〜Ｄ１０ｋのそれぞれに対応する応答電文をノード１０から受信し、受信した各応答電文を結合部１３５に出力する。ノード１０から送信される応答電文には、分割電文Ｄ１０１〜Ｄ１０ｋに設定されていたＴＩＤと同一のＴＩＤが設定される。これにより、結合部１３５は、応答電文に設定されているＴＩＤに基づいて、どの分割電文に対応する応答電文であるかを判定する。そして、結合部１３５は、応答電文に設定されている「ＴＩＤ」に対応するＴＩＤ対応テーブル１２２の「応答受信有無」に受信済みを示す情報（図４の例では「ｙｅｓ」）を格納する。
【００６２】
また、結合部１３５は、分割電文Ｄ１０１〜Ｄ１０ｋに対応する全ての応答電文が受信済みとなった場合に、各応答電文を結合することで、要求電文Ｄ１０に対する応答電文を生成する。具体的には、ＥＣＨＯＮＥＴ  Ｌｉｔｅの応答電文には、要求電文に設定されていた命令（「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」の組合せ）の順に、かかる命令に対応する応答内容（「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」の組合せ）が設定される。したがって、結合部１３５は、ノード１０から受信した各応答電文から応答内容を抽出し、抽出した応答内容を要求電文Ｄ１０に設定されていた命令の順に配置することで、要求電文Ｄ１０に対する応答電文を生成する。
【００６３】
また、結合部１３５は、ノード１０から受信した全応答電文の「ＥＳＶ」に正常応答である情報（例えば、「０ｘ７１」や「０ｘ７２」）が設定されている場合には、要求電文Ｄ１０に対する応答電文の「ＥＳＶ」には正常応答である情報（例えば、「０ｘ７１」や「０ｘ７２」）を設定する。一方、結合部１３５は、「ＥＳＶ」に不可応答である情報（例えば、「０ｘ５１」や「０ｘ５２」）が設定されている応答電文が存在する場合には、要求電文Ｄ１０に対する応答電文の「ＥＳＶ」には不可応答である情報（例えば、「０ｘ５１」や「０ｘ５２」）を設定する。そして、送信部１３４は、結合部１３５によって生成された応答電文を管理装置４０に送信する。
【００６４】
なお、結合部１３５は、分割電文を送出した後に所定の時間が経過しても分割電文に対する応答電文の一部が受信できなかった場合は、受信済みの応答電文のみから要求電文Ｄ１０に対する応答電文を生成することもできる。この場合、結合部１３５は、応答のなかった命令に対応する応答内容を飛ばし、後に続く命令に対応する応答内容を前に詰めることで、要求電文Ｄ１０に対する応答電文を生成する。また、この場合、結合部１３５は、応答電文の「ＥＳＶ」には不可応答である情報（例えば、「０ｘ５１」や「０ｘ５２」）を設定する。
【００６５】
［エネルギー管理システムの処理手順］
次に、図６を用いて、エネルギー管理システム１による処理の手順について説明する。図６は、第１の実施形態に係るエネルギー管理システム１による処理手順を示すシーケンス図である。
【００６６】
図６に示した例において、管理装置４０は、要求電文を通信装置１００に送信する（ステップＳ１０１）。通信装置１００の判定部１３２は、管理装置４０から受信した要求電文に含まれる命令数（すなわち、ＯＰＣの値）に基づいて、ノード１０が要求電文を処理できるか否かを判定する（ステップＳ１０２）。ここでは、判定部１３２が、ノード１０が要求電文を処理できないと判定したものとする。この場合に、分割部１３３は、図５に示した例のように、管理装置４０から受信した要求電文を分割することで分割電文を生成する（ステップＳ１０３）。
【００６７】
そして、送信部１３４は、分割部１３３によって生成された分割電文を個別にノード１０へ送信する（ステップＳ１０４）。これにより、ノード１０は、通信装置１００から受信した分割電文に対する応答電文を通信装置１００に送信する（ステップＳ１０５）。
【００６８】
また、結合部１３５は、ステップＳ１０４及びＳ１０５の間に、送信部１３４によって送信された各分割電文に対する応答電文を全て受信したか否かを判定する（ステップＳ１０６）。そして、結合部１３５は、全ての応答電文を受信した場合には、受信した応答電文を結合する（ステップＳ１０７）。そして、送信部１３４は、ステップＳ１０１において受信した要求電文に対する応答電文として、結合部１３５によって結合された後の応答電文を管理装置４０に送信する（ステップＳ１０８）。
【００６９】
［他の分割例（１）］
上記実施形態では、図５に示した例のように、ノード１０が処理可能な命令数（処理可能プロパティ数）に基づいて、要求電文を分割する例を示した。これは、ノード１０によって１個の要求電文において処理可能な命令数（プロパティ数）が異なるからである。しかし、ノード１０によっては、命令数にかかわらず、「プロパティ値の書き込み命令」及び「プロパティ値の読み出し命令」の双方が含まれている要求電文を処理することができない場合もある。そこで、通信装置１００は、要求電文に「プロパティ値の書き込み命令」及び「プロパティ値の読み出し命令」の双方が含まれている場合に、「プロパティ値の書き込み命令」のみが含まれる分割電文と、「プロパティ値の読み出し命令」のみが含まれる分割電文とに分割してもよい。この点について図７及び図８を用いて具体的に説明する。なお、以下では、「プロパティ値の書き込み命令」及び「プロパティ値の読み出し命令」の双方が含まれる要求電文を「ＳｅｔＧｅｔ電文」と表記する場合がある。
【００７０】
図７は、第１の実施形態に係る相手先情報テーブル１２１の他の例を示す図である。図７に示した例では、相手先情報テーブル１２１は、「送信先アドレス」と、「ＳｅｔＧｅｔ電文対応」と対応付けて記憶する。「送信先アドレス」は、図３に示した送信先アドレスと同様である。「ＳｅｔＧｅｔ電文対応」は、ノード１０がＳｅｔＧｅｔ電文を処理することができるか否かを示す。図７の例では、「ＳｅｔＧｅｔ電文対応」に「ｙｅｓ」が記憶されている場合には、ノード１０がＳｅｔＧｅｔ電文を処理できることを示し、「ＳｅｔＧｅｔ電文対応」に「ｎｏ」が記憶されている場合には、ノード１０がＳｅｔＧｅｔ電文を処理できないことを示す。
【００７１】
続いて、図８を用いて、通信装置１００によるＳｅｔＧｅｔ電文の送受信処理について説明する。図８は、第１の実施形態に係る通信装置１００によるＳｅｔＧｅｔ電文の送受信処理の一例を示す図である。図８の上段には、管理装置４０から受信したＳｅｔＧｅｔ電文Ｄ２０を示し、図８の下段には、ＳｅｔＧｅｔ電文Ｄ２０が分割された後の２個の分割電文Ｄ２０１及びＤ２０２を示す。
【００７２】
図８の上段に示すように、ＳｅｔＧｅｔ電文Ｄ２０には、図５に示した要求電文Ｄ１０と比較して、「ＯＰＣ」の代わりに、「ＯＰＣＳｅｔ」及び「ＯＰＣＧｅｔ」が含まれる。「ＯＰＣＳｅｔ」は、プロパティ値の書き込み対象となるプロパティの数を示す。具体的には、「ＯＰＣＳｅｔ」には、後段の「ＥＰＣ１」、「ＰＤＣ１」及び「ＥＤＴ１」〜「ＥＰＣｉ」、「ＰＤＣｉ」及び「ＥＤＴｉ」の数「ｉ」が設定される。また、「ＯＰＣＧｅｔ」は、プロパティ値の読み出し対象となるプロパティの数を示す。具体的には、「ＯＰＣＧｅｔ」には、後段の「ＥＰＣｉ＋１」、「ＰＤＣｉ＋１」及び「ＥＤＴｉ＋１」〜「ＥＰＣｊ」、「ＰＤＣｊ」及び「ＥＤＴｊ」の数「ｊ−ｉ」が設定される。すなわち、図８に示したＳｅｔＧｅｔ電文Ｄ２０には、ｉ個の書き込み命令と、（ｊ−ｉ）個の読み出し命令とが含まれる。このようなＳｅｔＧｅｔ電文Ｄ２０の「ＥＳＶ」には、例えば、「プロパティ値の書き込み命令」及び「プロパティ値の読み出し命令」の双方が含まれることを示す「０ｘ６Ｅ」が設定される。
【００７３】
通信装置１００の判定部１３２は、図８に示したＳｅｔＧｅｔ電文Ｄ２０が受信部１３１によって受信された場合に、ＳｅｔＧｅｔ電文Ｄ２０の「ＥＳＶ」を読み出す。そして、判定部１３２は、「ＥＳＶ」に「０ｘ６Ｅ」が設定されている場合には、図７に示した相手先情報テーブル１２１の「ＳｅｔＧｅｔ電文対応」を参照し、ＳｅｔＧｅｔ電文Ｄ２０の送信先となるノード１０がＳｅｔＧｅｔ電文Ｄ２０を処理することができるか否かを判定する。そして、分割部１３３は、判定部１３２による判定処理の結果、ノード１０がＳｅｔＧｅｔ電文Ｄ２０を処理することができる場合には、ＳｅｔＧｅｔ電文Ｄ２０を送信部１３４に出力することで、送信部１３４にＳｅｔＧｅｔ電文Ｄ２０をノード１０へ送信させる。一方、分割部１３３は、ノード１０がＳｅｔＧｅｔ電文Ｄ２０を処理できない場合には、図８の下段に示した例のように、ＳｅｔＧｅｔ電文Ｄ２０を分割する。
【００７４】
かかる分割処理の一例について説明すると、分割部１３３は、ＳｅｔＧｅｔ電文Ｄ２０の送信元のＩＰアドレスと、ＳｅｔＧｅｔ電文Ｄ２０の「ＴＩＤ」とをＴＩＤ対応テーブル１２２の「送信元アドレス」及び「元電文ＴＩＤ」に格納する。このとき、分割部１３３は、ＴＩＤ対応テーブル１２２の「分割数」に「０」を格納する。
【００７５】
続いて、分割部１３３は、カウンタ「ｋ」を「１」とし、分割電文Ｄ２０ｋ（すなわち、分割電文Ｄ２０１）の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」及び「ＤＥＯＪ」に、ＳｅｔＧｅｔ電文Ｄ２０の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」及び「ＤＥＯＪ」をコピーする。また、分割部１３３は、カウンタ「ｋ」が「１」である場合には、ＳｅｔＧｅｔ電文Ｄ２０に含まれる「ＥＰＣ１」、「ＰＤＣ１」及び「ＥＤＴ１」〜「ＥＰＣｉ」、「ＰＤＣｉ」及び「ＥＤＴｉ」を分割電文Ｄ２０１にコピーする。さらに、分割部１３３は、分割電文Ｄ２０１の「ＯＰＣ」に、ＳｅｔＧｅｔ電文Ｄ２０の「ＯＰＣＳｅｔ」に設定されている「ｉ」をコピーする。さらに、分割部１３３は、分割電文Ｄ２０１の「ＥＳＶ」に、プロパティ値の書き込みを示す「０ｘ６１」を設定する。
【００７６】
続いて、分割部１３３は、ＴＩＤカウンタ値を読み出して、読み出したＴＩＤカウンタ値を分割電文Ｄ２０１の「ＴＩＤ」に設定する。ここでは、分割部１３３は、分割電文Ｄ２０１の「ＴＩＤ」に「ｓ」を設定するものとする。さらに、分割部１３３は、ＴＩＤカウンタ値「ｓ」をＴＩＤ対応テーブル１２２の「分割電文ＴＩＤ」に格納するとともに、ＴＩＤ対応テーブル１２２の「応答受信有無」に未受信を示す情報（図４の例では「ｎｏ」）を格納する。そして、分割部１３３は、ＴＩＤ対応テーブル１２２の「分割数」に「１」を加算する。また、分割部１３３は、ＴＩＤカウンタ値「ｓ」に「１」を加算して、新たなＴＩＤカウンタ値「ｓ＋１」として記録しておく。
【００７７】
続いて、分割部１３３は、カウンタ「ｋ」に「１」を加算して「２」とし、分割電文Ｄ２０ｋ（すなわち、分割電文Ｄ２０２）の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」及び「ＤＥＯＪ」に、ＳｅｔＧｅｔ電文Ｄ２０の「ＥＨＤ１」、「ＥＨＤ２」、「ＳＥＯＪ」及び「ＤＥＯＪ」をコピーする。また、分割部１３３は、カウンタ「ｋ」が「２」である場合には、ＳｅｔＧｅｔ電文Ｄ２０に含まれる「ＥＰＣｉ＋１」、「ＰＤＣｉ＋１」及び「ＥＤＴｉ＋１」〜「ＥＰＣｊ」、「ＰＤＣｊ」及び「ＥＤＴｊ」を分割電文Ｄ２０２にコピーする。さらに、分割部１３３は、分割電文Ｄ２０２の「ＯＰＣ」に、ＳｅｔＧｅｔ電文Ｄ２０の「ＯＰＣＧｅｔ」に設定されている「ｊ−ｉ」をコピーする。さらに、分割部１３３は、分割電文Ｄ２０２の「ＥＳＶ」に、プロパティ値の読み出しを示す「０ｘ６２」を設定する。
【００７８】
続いて、分割部１３３は、ＴＩＤカウンタ値「ｓ＋１」を読み出して、読み出したＴＩＤカウンタ値「ｓ＋１」を分割電文Ｄ２０２の「ＴＩＤ」に設定する。さらに、分割部１３３は、ＴＩＤカウンタ値「ｓ＋１」をＴＩＤ対応テーブル１２２の「分割電文ＴＩＤ」に格納するとともに、ＴＩＤ対応テーブル１２２の「応答受信有無」に未受信を示す情報を格納する。そして、分割部１３３は、ＴＩＤ対応テーブル１２２の「分割数」に「１」を加算する。また、分割部１３３は、ＴＩＤカウンタ値「ｓ＋１」に「１」を加算して、新たなＴＩＤカウンタ値「ｓ＋２」として記録しておく。
【００７９】
このようにして、分割部１３３は、「ｋ＞２」となるまで上記処理を行う。すなわち、分割部１３３は、カウンタ「ｋ」＝「１」である場合には、プロパティ値の書き込み命令のみが含まれる分割電文Ｄ２０１を生成し、カウンタ「ｋ」＝「２」である場合には、プロパティ値の読み出し命令のみが含まれる分割電文Ｄ２０２を生成する。
【００８０】
そして、送信部１３４は、分割部１３３によって分割された分割電文Ｄ２０１及びＤ２０２をノード１０に送信する。これにより、受信部１３１は、分割電文Ｄ２０１及びＤ２０２のそれぞれについて、ノード１０から応答電文を受信し、受信した応答電文を結合部１３５に出力する。そして、結合部１３５は、応答電文に設定されている「ＴＩＤ」に対応するＴＩＤ対応テーブル１２２の「応答受信有無」に受信済みを示す情報を格納する。そして、結合部１３５は、分割電文Ｄ２０１及びＤ２０２の双方の応答電文が受信済みとなった場合に、各応答電文を結合することで、要求電文Ｄ２０に対する応答電文を生成する。そして、送信部１３４は、結合部１３５によって生成された応答電文を管理装置４０に送信する。
【００８１】
なお、結合部１３５は、分割電文Ｄ２０１及びＤ２０２の双方の応答電文の「ＥＳＶ」がいずれも正常応答を表す情報であった場合は、要求電文Ｄ２０に対する応答電文の「ＥＳＶ」には正常応答を表す「０ｘ７Ｅ」を設定する。また、結合部１３５は、分割電文Ｄ２０１及びＤ２０２のいずれか一方でも「ＥＳＶ」が不可応答を表す情報であった場合は、要求電文Ｄ２０に対する応答電文の「ＥＳＶ」には不可応答を表す「０ｘ５Ｅ」を設定する。
【００８２】
［他の分割例（２）］
上記実施形態において、通信装置１００は、図５に示した分割処理と、図８に示した分割処理との双方を行ってもよい。この点について図９を用いて説明する。図９は、第１の実施形態に係る通信装置１００による処理手順の一例を示すフローチャートである。なお、図９の例では、通信装置１００の相手先情報テーブル１２１は、図３に示した「処理可能プロパティ数」と、図７に示した「ＳｅｔＧｅｔ電文対応」との双方を記憶する。
【００８３】
図９に示すように、受信部１３１は、管理装置４０から要求電文を受信したか否かを判定する（ステップＳ２０１）。そして、受信部１３１は、要求電文を受信していない場合には（ステップＳ２０１否定）、要求電文を受信するまで待機する。
【００８４】
一方、受信部１３１によって要求電文が受信された場合（ステップＳ２０１肯定）、判定部１３２は、かかる要求電文がＳｅｔＧｅｔ電文であるか否かを判定する（ステップＳ２０２）。例えば、判定部１３２は、要求電文の「ＥＳＶ」に「０ｘ６Ｅ」が設定されているか否かを判定する。そして、判定部１３２は、受信した要求電文がＳｅｔＧｅｔ電文である場合には（ステップＳ２０２肯定）、相手先情報テーブル１２１の「ＳｅｔＧｅｔ電文対応」に基づいて、ノード１０がＳｅｔＧｅｔ電文を処理できるか否かを判定する（ステップＳ２０３）。
【００８５】
そして、分割部１３３は、ノード１０がＳｅｔＧｅｔ電文を処理できない場合には（ステップＳ２０３否定）、図８に示した分割処理を行う（ステップＳ２０４）。続いて、判定部１３２は、ステップＳ２０４において生成された分割電文毎に、かかる分割電文に含まれる命令数（すなわち、ＯＰＣの値）と、相手先情報テーブル１２１の「処理可能プロパティ数」とを比較する（ステップＳ２０５）。
【００８６】
そして、分割部１３３は、分割電文に含まれる命令数が処理可能プロパティ数よりも大きい場合には（ステップＳ２０５肯定）、分割電文について図５に示した分割処理を更に行う。そして、送信部１３４は、ステップＳ２０６において生成された分割電文をノード１０に送信する（ステップＳ２０７）。
【００８７】
一方、分割部１３３は、分割電文に含まれる命令数が処理可能プロパティ数以下である場合には（ステップＳ２０５否定）、分割電文について図５に示した分割処理を行わない。この場合、送信部１３４は、ステップＳ２０４において生成された分割電文をノード１０に送信する（ステップＳ２０７）。
【００８８】
また、分割部１３３は、受信した要求電文がＳｅｔＧｅｔ電文でない場合（ステップＳ２０２否定）、又は、ノード１０がＳｅｔＧｅｔ電文を処理できる場合には（ステップＳ２０３肯定）、図８に示したステップＳ２０４における分割処理を行わない。この場合、判定部１３２は、ステップＳ２０１において受信した要求電文に含まれる命令数（すなわち、ＯＰＣの値）と、相手先情報テーブル１２１の「処理可能プロパティ数」とを比較する（ステップＳ２０５）。
【００８９】
そして、分割部１３３は、要求電文に含まれる命令数が処理可能プロパティ数よりも大きい場合には（ステップＳ２０５肯定）、要求電文について図５に示した分割処理を行う。そして、送信部１３４は、ステップＳ２０６において生成された分割電文をノード１０に送信する（ステップＳ２０７）。
【００９０】
一方、分割部１３３は、要求電文に含まれる命令数が処理可能プロパティ数以下である場合には（ステップＳ２０５否定）、要求電文について図５に示したステップＳ２０６における分割処理を行わない。この場合、送信部１３４は、ステップＳ２０１において受信した要求電文をノード１０に送信する（ステップＳ２０７）。
【００９１】
［第１の実施形態の効果］
上述してきたように、第１の実施形態に係る通信装置１００によれば、所定数以下の命令を含む分割電文に分割されるので、各ノードが処理可能な電文を流通させることができる。
【００９２】
（第２の実施形態）
上記第１の実施形態では、図３に示した相手先情報テーブル１２１の処理可能プロパティ数が管理者等によって予め格納されるものとして説明した。しかし、この処理可能プロパティ数は、通信装置によって検出されてもよい。そこで、第２の実施形態では、通信装置が処理可能プロパティ数を検出する例について説明する。なお、第２の実施形態に係るエネルギー管理システム１の構成は、図１に示した例と同様であるので、以下では説明を省略する。また、以下では、図５に示した分割処理を行う例について説明する。
【００９３】
［管理装置の構成］
図１０は、第２の実施形態に係る通信装置２００の構成例を示す図である。図１０に示すように、通信装置２００は、記憶部２２０と、制御部２３０とを有する。記憶部２２０は、相手先情報テーブル２２１を含む。また、制御部２３０は、受信部２３１、判定部２３２、分割部２３３、送信部２３４及び更新部２３６を含む。
【００９４】
図１１に、第２の実施形態に係る相手先情報テーブル２２１の一例を示す。図１１に示した例では、相手先情報テーブル２２１は、「送信先アドレス」と、「処理可能プロパティ数」と、「処理不可プロパティ数」とを対応付けて記憶する。「送信先アドレス」は、図３に示した送信先アドレスと同様である。「処理可能プロパティ数」は、図３に示した処理可能プロパティ数と同様であり、ノード１０が過去に処理することができた命令数の最大値を示す。「処理不可プロパティ数」は、ノード１０が１個の要求電文において処理することができないプロパティへの命令の数を示し、ノード１０が過去に処理することができなかった命令数の最小値を示す。このような「処理可能プロパティ数」及び「処理不可プロパティ数」は、通信装置２００によって更新される。
【００９５】
すなわち、図１１では、送信先アドレスが「１９２．１６８．０．１００」であるノード１０は、３個の命令が含まれている要求電文を過去に処理したことがあり、６個の命令が含まれている要求電文を過去に処理できなかった例を示している。この例の場合、送信先アドレス「１９２．１６８．０．１００」のノード１０は、４個や５個の命令が含まれる要求電文を処理することができるか否かは不明である。
【００９６】
また、図１１の例において、送信先アドレスが「１９２．１６８．０．１０５」であるノード１０に対応する「処理可能プロパティ数」及び「処理不可プロパティ数」は、通信装置２００と電文の送受信を行ったことのないノード１０に設定される初期値を示す。具体的には、通信装置２００と通信を行ったことのないノード１０については、何個の命令を処理できるかが不明であるので、「処理可能プロパティ数」には「０」が設定される。また、ＥＣＨＯＮＥＴ  Ｌｉｔｅにおいて、１個の電文に設定できるプロパティへの命令の数は、「２５５」と決められているので、通信装置２００と通信を行ったことのないノード１０の「処理不可プロパティ数」は「２５６」となる。なお、「処理可能プロパティ数」の初期値は、「０」でなく、どのようなノード１０であっても確実に処理できる命令数「１」であってもよい。すなわち、送信先アドレス「１９２．１６８．０．１０５」のノード１０は、いくつの命令が含まれる要求電文を処理することができるか否かは不明である。
【００９７】
また、図１１の例において、送信先アドレスが「１９２．１６８．０．１０２」であるノード１０に対応する「処理可能プロパティ数」及び「処理不可プロパティ数」には、双方に「４」が設定されている。この例については後述する。
【００９８】
図１０の説明に戻って、制御部２３０による処理について説明する。受信部２３１は、ノード１０から応答電文を受信した場合に、受信した応答電文を更新部２３６に出力する。また、送信部２３４は、ノード１０に送信した要求電文（管理装置４０から受信した要求電文、又は、分割部２３３によって生成された分割電文）を更新部２３６に出力する。
【００９９】
更新部２３６は、送信部２３４によって送信された要求電文や、受信部２３１によって受信された応答電文に基づいて、相手先情報テーブル２２１の処理可能プロパティ数や処理不可プロパティ数を更新する。具体的には、更新部２３６は、一部の命令のみ処理できた旨の応答電文に、かかる応答電文に基づいて処理不可プロパティ数を更新する。また、更新部２３６は、１個の命令も処理できなかった旨の応答電文が受信部２３１によって受信された場合に、かかる応答電文に対応する要求電文に基づいて処理不可プロパティ数を更新する。また、更新部２３６は、全ての命令について正常に処理した旨の応答電文が受信部２３１によって受信された場合に、かかる応答電文に対応する要求電文に基づいて処理可能プロパティ数を更新する。以下に、更新部２３６による処理について、ノード１０から送信される応答電文のパターン毎に説明する。
【０１００】
まず、ノード１０によっては、要求電文に含まれる命令数が多いために一部の命令だけ処理できる場合に、先頭の命令から順に処理することがある。この場合、ノード１０は、処理できた命令数を「ＯＰＣ」に設定するとともに、処理した命令の応答を「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」に設定した応答電文を通信装置２００に送信する。このとき、ノード１０は、応答電文の「ＥＳＶ」に「０ｘ５１」や「０ｘ５２」などを設定する。このような応答電文が受信部２３１によって受信された場合、更新部２３６は、かかる応答電文の「ＯＰＣ」に「１」を加えた値と、相手先情報テーブル２２１の処理不可プロパティ数とを比較する。そして、更新部２３６は、処理不可プロパティ数よりも「ＯＰＣ＋１」の方が小さい場合には、かかる「ＯＰＣ＋１」の値を新たな処理不可プロパティ数として相手先情報テーブル２２１を更新する。
【０１０１】
また、ノード１０によっては、要求電文に含まれる命令数が多い場合に、いずれの命令についても処理を行わずに、全く処理しなかったことを示す応答電文を通信装置２００に送信することがある。また、ノード１０によっては、処理できた命令数が判断できないような応答電文を通信装置２００に送信することがある。このような応答電文が受信部２３１によって受信された場合、更新部２３６は、送信部２３４によってノード１０に送信された要求電文（又は、分割電文）に設定されていた「ＯＰＣ」を新たな処理不可プロパティ数として相手先情報テーブル２２１を更新する。このとき、更新部２３６は、処理不可プロパティ数よりも要求電文の「ＯＰＣ」の方が小さい場合に、かかる「ＯＰＣ」の値を新たな処理不可プロパティ数として相手先情報テーブル２２１を更新してもよい。
【０１０２】
また、ノード１０は、要求電文に含まれる全ての命令について処理することができた場合には、処理した命令数を「ＯＰＣ」に設定するとともに、処理した命令の応答を「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ」に設定した応答電文を通信装置２００に送信する。このとき、ノード１０は、応答電文の「ＥＳＶ」に「０ｘ７１」や「０ｘ７２」などを設定する。このような応答電文が受信部２３１によって受信された場合、更新部２３６は、ノード１０に送信された要求電文（又は、分割電文）に設定されていた「ＯＰＣ」と、相手先情報テーブル２２１の処理可能プロパティ数とを比較する。そして、更新部２３６は、処理可能プロパティ数よりも「ＯＰＣ」の方が大きい場合には、かかる「ＯＰＣ」の値を新たな処理可能プロパティ数として相手先情報テーブル２２１を更新する。
【０１０３】
このようにして、更新部２３６は、ノード１０との間で実際に送受信した電文に基づいて、相手先情報テーブル２２１を更新する。例えば、通信装置２００が、ノード１０に対して３個の命令を含む要求電文を送信し、全ての命令を処理したことを示す応答電文を受信したものとする。また、通信装置２００が、同一のノード１０に対して１０個の命令を含む要求電文を送信し、５個の命令を処理したことを示す応答電文を受信したものとする。この場合、更新部２３６は、図１１の１レコード目のように、処理可能プロパティ数を「３」に更新し、処理不可プロパティ数を「６」に更新する。
【０１０４】
また、例えば、通信装置２００が、ノード１０に対して４個の命令を含む要求電文を送信し、全ての命令を処理したことを示す応答電文を受信したものとする。また、その後に、通信装置２００が、同一のノード１０に対して４個の命令を含む要求電文を送信し、３個の命令を処理したことを示す応答電文を受信したものとする。これは、ノード１０が、４個の命令を含む要求電文を処理できる場合もあれば、処理できない場合もある例を示している。具体的には、ノード１０は、処理することができる要求電文のサイズ（バイト数）が決められている場合がある。このため、命令数が４個であっても要求電文のサイズによってノード１０が処理できるか否かが変動する。このようなケースでは、更新部２３６は、図１１の３レコード目のように、処理可能プロパティ数を「４」に更新し、処理不可プロパティ数を「４」に更新することとなる。
【０１０５】
また、図１１では図示することを省略したが、要求電文のサイズによってノード１０が命令を処理できるか否かが変動する場合には、相手先情報テーブル２２１の処理可能プロパティ数には、処理不可プロパティ数よりも大きい値が設定される場合もある。例えば、処理可能プロパティ数に「５」が設定され、処理不可プロパティ数に「４」が設定される場合もある。
【０１０６】
続いて、通信装置２００の判定部２３２及び分割部２３３について説明する。判定部２３２は、相手先情報テーブル２２１から、受信部２３１が管理装置４０から受信した要求電文の送信先に対応する処理可能プロパティ数及び処理不可プロパティ数を取得する。そして、判定部２３２は、要求電文に含まれる命令数と処理可能プロパティ数とを比較するとともに、要求電文に含まれる命令数と処理不可プロパティ数とを比較する。
【０１０７】
分割部２３３は、判定部２３２による判定処理の結果に基づいて、要求電文を分割するか否かを決定する。一例を挙げて説明すると、分割部２３３は、要求電文に含まれる命令数が処理可能プロパティ数以下であり、かつ、要求電文に含まれる命令数が処理不可プロパティ数よりも小さい場合には、分割処理を行わない。この例は、図１１における相手先アドレス「１９２．１６８．０．１００」であるノード１０に対する要求電文に３個以下の命令が含まれているケースに該当する。この場合、送信部２３４は、管理装置４０から受信した要求電文をノード１０に送信する。
【０１０８】
また、分割部２３３は、要求電文に含まれる命令数が処理可能プロパティ数よりも大きく、かつ、要求電文に含まれる命令数が処理不可プロパティ数よりも小さい場合には、分割処理を行わない。この例は、図１１における相手先アドレス「１９２．１６８．０．１００」であるノード１０に対する要求電文に４個や５個の命令が含まれているケースに該当する。この場合、送信部２３４は、管理装置４０から受信した要求電文をノード１０に送信する。なお、この例では、ノード１０に４個の命令を含む要求電文を送信したことがないので、ノード１０が４個全ての命令を処理できるか否かは不明である。このため、上述した更新部２３６は、ノード１０から送信される応答電文に応じて、処理可能プロパティ数又は処理不可プロパティ数を更新することとなる。
【０１０９】
また、分割部２３３は、要求電文に含まれる命令数が処理可能プロパティ数よりも大きく、かつ、要求電文に含まれる命令数が処理不可プロパティ数以上である場合には、１個の分割電文に含まれる命令数が処理不可プロパティ数よりも小さくなるように、図５に示した例のような分割処理を行う。この例は、図１１における相手先アドレス「１９２．１６８．０．１００」であるノード１０に対する要求電文に６個以上の命令が含まれているケースに該当する。この場合、送信部２３４は、分割部２３３によって分割された要求電文をノード１０に送信する。
【０１１０】
また、分割部２３３は、要求電文に含まれる命令数が処理可能プロパティ数以下であり、かつ、要求電文に含まれる命令数が処理不可プロパティ数以上である場合には、分割処理を行ってもよいし、分割処理を行わなくてもよい。この例は、図１１における相手先アドレス「１９２．１６８．０．１０２」であるノード１０に対する要求電文に４個の命令が含まれているケースに該当する。
【０１１１】
ここで、上記の通り、要求電文のサイズによってノード１０が命令を処理できるか否かが変動する場合もある。したがって、分割部２３３は、要求電文に含まれる命令数が処理可能プロパティ数以下であり、かつ、要求電文に含まれる命令数が処理不可プロパティ数以上である場合には、要求電文のサイズに基づいて、分割処理を行うか否かを決定してもよい。例えば、分割部２３３は、要求電文に含まれる各命令（「ＥＰＣ」、「ＰＤＣ」及び「ＥＤＴ）の平均サイズ（平均バイト数）が所定値よりも小さい場合には、分割処理を行わず、要求電文に含まれる各命令の平均サイズ（平均バイト数）が所定値よりも大きい場合には、１個の分割電文に含まれる命令数が処理不可プロパティ数よりも少なくなるように分割処理を行ってもよい。これにより、分割部２３３は、ノード１０が処理できる可能性の高い電文を送信することができる。
【０１１２】
［第２の実施形態の変形例］
上記第２の実施形態では、図５に示した分割処理を例に挙げて説明した。しかし、通信装置２００は、図８に示したＳｅｔＧｅｔ電文に対する分割処理を行った後に、上述した第２の実施形態における分割処理を行ってもよい。また、通信装置２００は、図７に示した相手先情報テーブル１２１の「ＳｅｔＧｅｔ電文対応」を動的に更新してもよい。具体的には、相手先情報テーブル１２１の「ＳｅｔＧｅｔ電文対応」に初期値として「ｙｅｓ」を格納しておき、通信装置２００は、ノード１０にＳｅｔＧｅｔ電文を送信し、かかるノード１０から不可応答を示す応答電文を受信した場合には、「ＳｅｔＧｅｔ電文対応」に「ｎｏ」を格納し、正常応答を示す応答電文を受信した場合には、「ＳｅｔＧｅｔ電文対応」に「ｙｅｓ」を格納する。
【０１１３】
また、第２の実施形態では、通信装置２００が相手先情報テーブル２２１を順次更新するので、ノード１０との間で電文の送受信が何度も行われていない初期段階では、ノード１０から不可応答を示す応答電文を受信する場合もある。このため、第２の実施形態に係る通信装置２００は、ノード１０から不可応答を受信した場合には、ノード１０によって処理されなかった命令については再送してもよい。
【０１１４】
例えば、通信装置２００が、図１１に示した送信先アドレスが「１９２．１６８．０．１０５」であるノード１０宛の要求電文を管理装置４０から受信し、この要求電文に１０個の命令が含まれているものとする。この場合、通信装置２００は、まずは、１個の電文に５個の命令が含まれる２個の分割電文を生成し、生成した２個の分割電文をノード１０に送信する。そして、通信装置２００は、例えば、２個の分割電文のそれぞれについて４個の命令のみ処理した旨の応答電文を受信した場合に、ノード１０によって処理されなかった計２個の命令を含む分割電文をノード１０に再送する。このとき、通信装置２００は、相手先情報テーブル２２１の処理不可プロパティ数を「５」に更新する。
【０１１５】
また、上記第２の実施形態では、図１１に示すように、相手先情報テーブル２２１に「処理可能プロパティ数」と「処理不可プロパティ数」とが記憶される例を示した。しかし、相手先情報テーブル２２１は、「処理可能プロパティ数」及び「処理不可プロパティ数」のいずれか一方のみが記憶されてもよい。この場合、判定部２３２及び分割部２３３は、「処理可能プロパティ数」及び「処理不可プロパティ数」のいずれか一方を用いて、判定処理及び分割処理を行う。
【０１１６】
［第２の実施形態の効果］
上述してきたように、第２の実施形態に係る通信装置２００によれば、分割電文に含めるべき命令数を通信装置２００自体が動的に検出するので、管理者等による相手先情報テーブル２２１の更新作業を低減することができる。
【０１１７】
（他の実施形態）
上記第１及び第２の実施形態では、分割電文に対する全ての応答電文を受信した場合に、応答電文を結合する例を示した。しかし、通信装置１００及び２００は、所定時間が経過しても全ての応答電文を受信しない場合には、応答電文を受信していない要求電文をノード１０に再送してもよいし、受信済み応答電文のみを結合した応答電文を不可応答として管理装置４０に送信してもよい。
【０１１８】
上記第１及び第２の実施形態では、所定値（例えば、処理可能プロパティ数）以下の命令を含む分割電文を生成する例を示した。しかし、通信装置１００及び２００は、常に１個の命令のみ含む分割電文に分割してもよい。どのようなノード１０であっても１個の命令であれば処理することができるので、通信装置１００及び２００は、各ノードが確実に処理可能な電文を流通させることができる。
【０１１９】
上記第１及び第２の実施形態では、ＥＣＨＯＮＥＴ  Ｌｉｔｅを例に挙げて説明したが、上述してきた各実施形態は、ＥＣＨＯＮＥＴにも同様に適用することができる。
【０１２０】
また、上記実施形態におけるエネルギー管理システム１の構成は図１の例に限られない。例えば、管理サーバ４からホームネットワークシステム２に要求電文が送信されるようなシステムの場合には、管理装置４０と通信装置１００（又は通信装置２００）とが一体となって構成されてもよい。この場合、図１の例のように複数の通信装置１００がホームネットワークシステム２に設置されるのではなく、管理装置４０が、上述してきた通信装置１００又は２００と同等の機能を有することとなる。また、この例に限られず、ゲートウェイ装置２０と通信装置１００（又は通信装置２００）とが一体となって構成されてもよい。
【０１２１】
また、例えば、エネルギー管理システム１には、ユーザ端末３や管理サーバ４が含まれなくてもよい。また、例えば、ホームネットワークシステム２にはユーザ端末３０が含まれなくてもよい。この場合、管理装置４０は、ノード１０を制御するための制御画面等を表示する。そして、ユーザは、かかる制御画面を操作することにより、ノード１０を制御及び監視する。
【０１２２】
以上説明したとおり、上記実施形態によれば、各ノードが処理可能な電文を流通させることができる。
【０１２３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２４】
１  エネルギー管理システム
１０  ノード
４０  管理装置
１００  通信装置
１２１  相手先情報テーブル
１２２  ＴＩＤ対応テーブル
１３１  受信部
１３２  判定部
１３３  分割部
１３４  送信部
１３５  結合部
２３６  更新部
【図１】
2014165883.tif 000003
【図２】
2014165883.tif 000004
【図３】
2014165883.tif 000005
【図４】
2014165883.tif 000006
【図５】
2014165883.tif 000007
【図６】
2014165883.tif 000008
【図７】
2014165883.tif 000009
【図８】
2014165883.tif 000010
【図９】
2014165883.tif 000011
【図１０】
2014165883.tif 000012
【図１１】
2014165883.tif 000013