(57)【要約】【課題】サーバ装置、制御システム、コンピュータプログラム及び通信方法を提供する。【解決手段】パブリッシュ／サブスクライブ型のメッセージの送受信をパブリッシャ又はサブスクライバである複数のクライアント装置との間で行なうサーバ装置において、前記メッセージの対象である１又は複数のトピックと対応する識別情報を記憶する記憶部と、前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断する判断部と、該判断部により制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行なう解析部と、前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対応する処理を実行するメッセージ処理部とを備える。【選択図】図１
2018124679.tif 000002
【特許請求の範囲】
【請求項１】
パブリッシュ／サブスクライブ型のメッセージの送受信をパブリッシャ又はサブスクライバである複数のクライアント装置との間で行なうサーバ装置において、
前記メッセージの対象である１又は複数のトピックと対応する識別情報を記憶する記憶部と、
前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断する判断部と、
該判断部により制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行なう解析部と、
前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対応する処理を実行するメッセージ処理部と
を備えることを特徴とするサーバ装置。
【請求項２】
前記制御文は、識別情報の条件式を含み、
前記解析部は、該条件式によりトピックを抽出する抽出部を有し、
前記メッセージ処理部は、抽出されたトピックを対象としてメッセージを送信する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
パブリッシュ／サブスクライブ型のメッセージ送受信により、情報端末装置から制御対象デバイスの動作を制御する制御システムにおいて、
請求項１又は２に記載のサーバ装置を含み、
前記トピックは、前記制御対象デバイスを識別するデバイス識別情報であり、
前記情報端末装置はクライアント装置として、前記制御文を含むパブリッシュメッセージを前記サーバ装置へ送信し、
前記メッセージ処理部は、受信したパブリッシュメッセージへの前記解析部による解析結果に基づき特定される識別情報に対応するトピックへ前記指示を含むパブリッシュメッセージを発行する
ことを特徴とする制御システム。
【請求項４】
通信部及び記憶部を備えるコンピュータに、パブリッシュ／サブスクライブ型のメッセージの送受信を実行させるコンピュータプログラムにおいて、
前記コンピュータに、
前記メッセージの対象である１又は複数のトピックに付されている識別情報を記憶させておき、
前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断するステップ、
該ステップにより制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行なうステップ、及び、
前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対する処理ステップ
を実行させることを特徴とするコンピュータプログラム。
【請求項５】
パブリッシュ／サブスクライブ型のメッセージの送受信をパブリッシャ又はサブスクライバである複数のクライアント装置との間で行なうサーバ装置における通信方法において、
前記サーバ装置は、
前記メッセージの対象である１又は複数のトピックに付されている識別情報を記憶しておき、
前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断し、
制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行ない、
前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対する処理を行なう
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、パブリッシュ／サブスクライブ型のメッセージの送受信を制御するサーバ装置、該サーバ装置を用いる制御システム、コンピュータプログラム及び通信方法に関する。
【背景技術】
【０００２】
簡素な構成で更に通信量が少なくて済むパブリッシュ（Publish ）／サブスクライブ（Subscribe ）型（以下、Pub/Sub 型という）のメッセージ送受信システムが、ＩＯＴ（Internet of Things ）システム等の種々の分野で利用されている。Pub/Sub 型のメッセージ送受信では、メッセージ（データ）の送信者であるパブリッシャ（publisher ）と、メッセージの受信者であるサブスクライバ（subscriber）との間のメッセージの送受信をブローカ（broker）と呼ばれるサーバが仲介する。そしてそのメッセージ送受信の仲介には、トピックと呼ばれるメッセージの送信先を区別するための情報が利用される。まずサブスクライバがトピックを指定し、該トピックを送信先とするメッセージを購読する。この購読という処理によりブローカではサブスクライバの識別情報とトピックの識別情報とが対応付けられる。パブリッシャがトピックを指定してメッセージを送信した場合、ブローカはこれを指定されたトピックに対応するサブスクライバへ配信する。これによりパブリッシャは宛先（サブスクライバ）が誰で何人いるかなどを意識することなくメッセージを送信することができる。
【０００３】
特許文献１にはPub/Sub 型のメッセージ送受信システムに関し、トピックの具体例を認識していないユーザのサブスクライバからも自然言語要求によって所望のメッセージを購読できるようにするシステムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１１−５１５７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Pub/Sub 型メッセージ送受信システムでは、サブスクライバの講読時のトピックの指定の際にワイルドカードを用いることにより、共通の識別情報を含むトピックについてまとめて指定ができる仕組みが提供されている。例えば、ＭＱＴＴ（MQ Telemetry Transport）モデルではワイルドカードとして「# 」、「+ 」等を用い、サブスクライバは共通の文字列を同一階層に含むトピックをまとめて指定することができる。しかしながら、現状のPub/Sub 型メッセージ送受信システムでは、ＭＱＴＴのみならず他のシステムにおいても、パブリッシャ側からのワイルドカードを用いたトピックの指定は実施されていない。
【０００６】
本発明は斯かる事情を鑑みてなされたものであり、パブリッシャからメッセージをまとめて送信することを可能として通信量を低減させることができるサーバ装置、該サーバ装置を用いる制御システム、コンピュータプログラム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様に係るサーバ装置は、Pub/Sub 型のメッセージの送受信をパブリッシャ又はサブスクライバである複数のクライアント装置との間で行なうサーバ装置において、前記メッセージの対象である１又は複数のトピックと対応する識別情報を記憶する記憶部と、前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断する判断部と、該判断部により制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行なう解析部と、前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対応する処理を実行するメッセージ処理部とを備える。
【０００８】
本開示の一態様では、前記制御文は、識別情報の条件式を含み、前記解析部は、該条件式によりトピックを抽出する抽出部を有し、前記メッセージ処理部は、抽出されたトピックを対象としてメッセージを送信する。
【０００９】
本開示の一態様に係る制御システムは、Pub/Sub 型のメッセージ送受信により、情報端末装置から制御対象デバイスの動作を制御する制御システムにおいて、前記サーバ装置を含み、前記トピックは、前記制御対象デバイスを識別するデバイス識別情報であり、前記情報端末装置はクライアント装置として、前記制御文を含むパブリッシュメッセージを前記サーバ装置へ送信し、前記メッセージ処理部は、受信したパブリッシュメッセージへの前記解析部による解析結果に基づき特定される識別情報に対応するトピックへ前記指示を含むパブリッシュメッセージを発行する。
【００１０】
本開示の一態様に係るコンピュータプログラムは、通信部及び記憶部を備えるコンピュータに、パブリッシュ／サブスクライブ型のメッセージの送受信を実行させるコンピュータプログラムにおいて、前記コンピュータに、前記メッセージの対象である１又は複数のトピックに付されている識別情報を記憶させておき、前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断するステップ、該ステップにより制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行なうステップ、及び、前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対する処理ステップを実行させる。
【００１１】
本開示の一態様に係る通信方法は、パブリッシュ／サブスクライブ型のメッセージの送受信をパブリッシャ又はサブスクライバである複数のクライアント装置との間で行なうサーバ装置における通信方法において、前記サーバ装置は、前記メッセージの対象である１又は複数のトピックに付されている識別情報を記憶しておき、前記クライアント装置から受信したパブリッシュ又はサブスクリプションメッセージに制御文が含まれているか否かを判断し、制御文が含まれていると判断された場合、該制御文に含まれる前記識別情報の解析を行ない、前記識別情報の解析結果に基づき特定される識別情報に対応するトピックを対象として前記パブリッシュ又はサブスクリプションメッセージに対する処理を行なう。
【発明の効果】
【００１２】
本開示のサーバ装置によれば、パブリッシャとブローカとの間の通信量が低減される。また、１のパブリッシャからのメッセージが複数のサブスクライバへ送信される際の時間差を軽減させることができる。また、パブリッシャから目的に即した制御文にてメッセージを送信することができるから、簡素なメッセージ送受信システムを利用しつつ、より複雑な処理を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態におけるＨＥＭＳの概要を示す説明図である。
【図２】本実施の形態におけるＨＥＭＳサーバの内部構成を示すブロック図である。
【図３】記憶部に記憶されている情報の一例を示す説明図である。
【図４】ラベルとトピックとの間の対応関係を示す説明図である。
【図５】ＨＥＭＳサーバの制御部により実行されるメッセージ処理手順の一例を示すフローチャートである。
【図６】本実施の形態のＨＥＭＳサーバによる効果を示す概略図である。
【発明を実施するための形態】
【００１４】
以下、本開示のサーバ装置についてその実施の形態を示す図面に基づいて具体的に説明する。なお以下の実施の形態では、本開示のサーバ装置をＨＥＭＳ（Home Energy Management System ）に適用した例を挙げて説明する。
【００１５】
図１は、本実施の形態におけるＨＥＭＳの概要を示す説明図である。ＨＥＭＳは、ＨＥＭＳサーバ１（サーバ装置）と、屋内ネットワーク２と、制御機器３（クライアント装置）と、事業者ネットワーク４と、通信端末装置５（クライアント装置）とを含む。
【００１６】
屋内ネットワーク２及び制御機器３は、ＨＥＭＳの適用対象である建物（住宅）に配設されている。制御機器３は、家庭用の電子機器に屋内ネットワーク２を介してメッセージを受信する通信部及びメッセージに含まれる制御情報を抽出する通信制御部を加えて構成されるものである。ＨＥＭＳにおいて制御機器３は例えば照明機器であり、又は、冷房機器若しくは暖房機器である。屋内ネットワーク２は有線又は無線を問わない。ＨＥＭＳサーバ１は、制御機器３及び屋内ネットワーク２と同様に建物内に配置されていてもよいが、屋内ネットワーク２と安全に通信接続が可能であれば建物外、即ち事業者ネットワーク４に接続されたサーバセンタ内に配置されていてもよいし、機能毎に分散して配置されていてもよい。
【００１７】
屋内ネットワーク２は、ルータ等の通信機器を介して事業者ネットワーク４に接続されている。事業者ネットワーク４は、通信キャリアが提供する通信回線でもよいし、その他の事業者が提供する通信回線でもよいし、所謂インターネットであってもよい。事業者ネットワーク４についても有線又は無線を問わない。そして事業者ネットワーク４は、通信キャリア又はインターネットと接続されており、ユーザが保持する所謂スマートフォン等である通信端末装置５（クライアント装置）から事業者ネットワーク４を介してＨＥＭＳサーバ１へ通信接続が可能である。なお通信端末装置５は、他にタブレット型端末など、有線又は無線による通信機能を備える通信装置であればよい。
【００１８】
図２は、本実施の形態におけるＨＥＭＳサーバ１の内部構成を示すブロック図である。ＨＥＭＳサーバ１はサーバコンピュータを用い、制御部１０、記憶部１１、一時記憶部１２、及び通信部１３を備える。制御部１０はＣＰＵ（Central Processing Unit ）、クロック等を用いて記憶部１１に記憶されているサーバプログラム１Ｐに基づいた各処理を実行し、汎用サーバコンピュータをPub/Sub 型メッセージ通信システムにおけるブローカ（broker）として機能させる。ＨＥＭＳサーバ１は詳細には、ＭＱＴＴモデルにおけるメッセージのブローカとして機能する。なおＭＱＴＴモデルには限られない。一時記憶部１２はＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリを用いて制御部１０の処理により生成される情報を一時的に記憶する。
【００１９】
記憶部１１は、例えばハードディスク又はフラッシュメモリ等の不揮発性メモリを用いる。記憶部１１は、サーバプログラム１Ｐのほか、制御部１０が参照する情報を記憶する。記憶部１１は、Pub/Sub 型メッセージ通信システムにおけるトピックを夫々識別する情報及びトピックの文字列自体を記憶し、更に、後述するラベルとトピックとの間の関係を記憶する（図３参照）。また、ラベルの文字列とトピックの文字列に含まれる情報との間の関係を辞書として記憶しておいてもよい。
【００２０】
通信部１３は、事業者ネットワーク４及び屋内ネットワーク２を介した通信接続を実現するデバイスである。具体的にはネットワークカード又は無線通信デバイスである。
【００２１】
制御機器３は、上述した通り電子機器に通信部及び通信制御部を加えて構成されている。通信部は無線又は有線によりＨＥＭＳサーバ１と通信が可能であり、通信制御部の処理によってPub/Sub 型メッセージ通信システムにおけるサブスクライバ（subscriber）として機能する。通信制御部は、ＨＥＭＳサーバ１から受信するメッセージから、自機器への制御内容を取り出し、制御内容に応じて電子機器の動作制御を行なう。例えば制御機器３が照明機器である場合、通信制御部はメッセージからオン／オフ等の制御内容を取り出し、電子機器が備える制御部へスイッチ情報又は明るさの調整を指示する制御信号を出力する。制御機器３が冷房機器若しくは暖房機器、又は空気調節装置である場合、通信制御部はメッセージからオン／オフ等の制御内容を取り出し同様にして制御信号を出力する。
【００２２】
通信端末装置５は、制御部、記憶部、及び無線通信（又は有線通信）により情報を送受信する通信部を少なくとも備える。通信端末装置５は上述したように所謂スマートフォン又はタブレット型端末であるから他に液晶パネル又は有機ＥＬディスプレイ等を用いた表示部５１、スピーカ及びマイクロフォン等を用いる音声処理部、物理ボタン及びディスプレイ内蔵のタッチパネル等を用いた操作部５２を備える。なお表示部５１、操作部５２及び音声処理部は、後述するインタフェース画面による操作等、ユーザからの操作を受け付ける機能が不要な場合には必須ではない。
【００２３】
通信端末装置５の記憶部には、ＨＥＭＳ用のクライアントプログラムが記憶されている。通信端末装置５の制御部は、クライアントプログラムに基づきPub/Sub 型メッセージ通信システムにおけるパブリッシャ（publisher ）として機能する。特に通信端末装置５においてはＨＥＭＳにて各制御機器３へ制御の指示を受け付けるインタフェース画面を表示部５１に表示させるプログラムが記憶されている。インタフェース画面には照明機器のオン／オフの切り替え、冷房機器若しくは暖房機器、又は空気調節装置のオン／オフ、設定温度を受け付けるアイコン等が含まれるようにしてある。
【００２４】
このように構成されるＨＥＭＳにて、ＨＥＭＳサーバ１、通信端末装置５、及び制御機器３間でのメッセージの送受信及び制御手順について説明する。
【００２５】
まずＨＥＭＳサーバ１の記憶部１１には、通信端末装置５のユーザ（アカウント）に対応する建物に対応するトピック（topic ）及びトピックに対応するラベルのリストが記憶されている。図３は、記憶部１１に記憶されている情報の一例を示す説明図である。記憶部１１にはトピックとして制御機器３を夫々識別する機器識別情報が記憶されている。図３の例では機器識別情報として、ＭＱＴＴに則り「/ 」によって階層化された文字列が記憶されている。具体的には図１の建物に所属する制御機器３を識別するべく建物を識別する「houseA」の後に夫々「/1F/kitchen/light, /1F/living/light, /living/air-conditioner,...」のようにして機器識別情報が記憶されている。また他の建物（houseB）に所属する制御機器３について「houseB/1F/living/light」、「houseB/1F/restroom/light」等の機器識別情報が記憶されている。また、他の建物の階層、区画、又は部屋毎に「buildingA 」、「buildingB 」、「buildingA/10/」等の上位階層とそれらに続く制御機器３に夫々対応する機器識別情報が記憶されてある。各トピックはＨＥＭＳの管理者により予め定義されて設定されているものである。図３の例であればＭＱＴＴに則り「/ 」を用いて階層化されていれば管理者権限を持つユーザによって自由に設定が可能である。
【００２６】
そして本実施の形態においては記憶部１１にはラベル（label ）の情報（識別情報）のリストが記憶されている。更にラベル情報には図３に示す通り、トピックとの対応関係が予め登録されて記憶されている（label-topic ）。例えば「HA_ALL_LIGHT」というラベルには「houseA」を上位層として「light 」の文字列を最下層に含むトピック群「houseA/1F/kitchen/light, houseA/1F/living/light, houseA/1F/restroom/light, houseA/2F/bedroom/light, houseA/2F/room1/light, ...」との関係が記憶されている。また、「HA_PATTERN1 」いうラベルと「houseA/1F/kitchen/light, houseA/1F/living/air-conditioner」との関係が記憶されている。
【００２７】
なおラベルは記憶されているトピック群から対象のトピックを抽出することを可能とするものであればよく、トピックに含まれる要素そのものをラベルとして用いてもよい。図４は、ラベルと抽出されるトピックとの間の対応関係を示す説明図である。図４に示す対応関係は、図３のようにラベル及びトピックの情報が記憶されている場合に、指定されるラベルによって抽出されるトピックの例を示している。まず図４に示すように、予めラベルとトピックとの対応関係が記憶されているラベル「HA_ALL_LIGHT」が指定された場合当然に、対応するトピック群「houseA/1F/kitchen/light, houseA/1F/living/light, houseA/1F/restroom/light, houseA/2F/bedroom/light, houseA/2F/room1/light, ...」が抽出される。それ以外に予め対応関係が記憶されていないラベルであっても、例えばラベルとして「1F」が指定された場合、図４に示すように、「1F」の要素を含むトピックが対応するものとして抽出可能である。このように、トピックに含まれる要素をラベルとして指定した場合には、要素がいずれの階層に含まれていても抽出できる点が従来とは異なる。要素をラベルとして用いてトピックと対応付けることができるから、例えばＭＱＴＴにおけるワイルドカード「+ 」とは異なり、その要素がいずれの階層に含まれていてもこれを含むトピックを特定することができる。
【００２８】
更に図４では、要素をラベルとして指定できることで後述するように、要素を論理式に含めた制御文（図４の例であれば「houseA&light」）により、特定のトピックを抽出することが可能であることが示されている。図３を参照すれば図４に示すように「houseA」及び「light 」には夫々図４の右側に挙げられるトピックが対応するから、上述の論理式に対応するトピックとして、トピック群「houseA/1F/kitchen/light, houseA/1F/living/light, houseA/1F/restroom/light, houseA/2F/bedroom/light, houseA/2F/room1/light」が抽出可能である。このようにトピックに含まれる要素を識別する情報をラベルとして指定することにより、所望のトピックの抽出が可能になる。要素を識別する情報は図４に示す例のような文字列でなくともよい。例えば「houseA」は「0x0010」、「living」は「0x01」、「light」は「0x10」と夫々識別情報が付与されており、それらの識別情報をラベルとしてもよい。なお図４に示す対応関係をそのまま記憶部１１に予め記憶しておくようにしてもよく、この場合図４中の左側部分がラベルのリストに対応する。
【００２９】
図３に示したラベルは、パブリッシャとして機能する通信端末装置５から、ブローカで独自の意味に解釈することが許可されている「$SYS/ 」から始まるトピックとしてＨＥＭＳサーバ１へ送信される。通信端末装置５は、当該特定のトピックの後の文字列にラベルを用いた条件式を制御文として含めて送信する。例えば、図３の例で示した例であれば、通信端末装置５の表示部５１におけるインタフェース画面上で建物（houseA）内の全ての電灯を点灯させるための「全灯」というアイコンがタップされた場合、制御部は「$SYS/HA_ALL_LIGHT 」を指定してその後、制御内容（ＯＮ又はＯＦＦ）を示すデータ（payload）を含むメッセージをＨＥＭＳサーバ１へ向けて送信する。他に、後述するようにラベルを用いた論理式を条件式としてもよい。なお制御内容を示すデータは、より情報量が少ないものが好ましく、制御内容の種類毎にトピックが定義されていてもよい。例えば照明機器のオン／オフの切り替えは「houseA/1F/living/light/onoff」、明るさ調整は「houseA/1F/living/light/luminosity」のように区別しておく。同様にして空調機器のオン／オフの切り替えは「houseA/2F/bedroom/air-conditioner/onoff」、モード設定は「houseA/2F/bedroom/air-conditioner/mode」、温度設定は「houseA/2F/bedroom/air-conditioner/temperature」のように区別しておくようにしてもよい。
【００３０】
このようにパブリッシャからメッセージが送信されるとＨＥＭＳサーバ１は、以下のように処理を実行する。図５は、ＨＥＭＳサーバ１の制御部１０により実行されるメッセージ処理手順の一例を示すフローチャートである。
【００３１】
ＨＥＭＳサーバ１の制御部１０は、通信部１３によりパブリッシャからのメッセージを受信する（ステップＳ１）。制御部１０は受信したメッセージの文字列解析を行ない、所定の「$SYS/ 」から始まるトピックか否かにより、受信したメッセージにラベルに係る制御文が含まれているか否かを判断する（ステップＳ２）。
【００３２】
Ｓ２にて制御文が含まれていると判断された場合（Ｓ２：ＹＥＳ）、制御部１０は、「$SYS/ 」以降の文字列を制御文として抽出して一時記憶し（ステップＳ３）、抽出した文字列を記憶部１１に記憶されたラベル情報を参照して制御文を解析する（ステップＳ４）。なおステップＳ４にて制御部１０は、文字列をラベルの条件式として解釈する。条件式に用いられる論理演算子は記憶部１１に予め記憶しておき、これらを参照して解釈を実行する。
【００３３】
制御部１０は、制御文の解析に基づき対応するトピックを抽出し（ステップＳ５）、抽出したトピックに対して、ステップＳ１で受信したメッセージに対応するメッセージをパブリッシャからのメッセージとして発行し（ステップＳ６）、処理を終了する。
【００３４】
ステップＳ６によりＨＥＭＳサーバ１内でメッセージが発行されると、対応するトピックを指定して購読している制御機器３へメッセージが送信される。制御機器３からは各トピックのメッセージそのものがパブリッシャである通信端末装置５から送信されたのか、ブローカであるＨＥＭＳサーバ１から送信されたのかは区別できずともよい。なおＨＥＭＳサーバ１から制御機器３へのメッセージ送信（発行）は、MQTTにおける「retain」の機能を用いるようにしてもよい。例えば制御機器３が数十ミリ秒〜数秒等の時間間隔で間欠的に起動するなどして消費電力を低減させて動作する場合、ＨＥＭＳサーバ１からのメッセージを即時受信できない可能性がある。この場合「retain」機能のような制御内容の最新情報を保持する機能を用いることにより、間欠的にメッセージを受信する制御機器３でも対応が可能となる。
【００３５】
ステップＳ２にて制御文が含まれていないと判断された場合（Ｓ２：ＮＯ）、制御部１０は、他のPub/Sub 型メッセージ送受信の処理を行ない（ステップＳ７）、処理を終了する。
【００３６】
上述したように通信端末装置５から「$SYS/HA_ALL_LIGHT 」のメッセージが送信された場合、ＨＥＭＳサーバ１の制御部１０はステップＳ１にてこれを受信するとステップＳ２にて「$SYS/ 」の存在により制御文が含まれると判断する（Ｓ２：ＹＥＳ）。そして制御部１０は、制御文が含まれると判断し（Ｓ２：ＹＥＳ）、「HA_ALL_LIGHT」を制御文として抽出する（Ｓ３）。制御部１０は、ステップＳ４にて参照したラベルのリストと制御文「HA_ALL_LIGHT」が一致すると解析できるので、ステップＳ５にてラベルに対応するトピック群「houseA/1F/kitchen/light, houseA/1F/living/light, houseA/1F/restroom/light, houseA/2F/bedroom/light, houseA/2F/room1/light, ...」を抽出する。制御部１０は、ステップＳ６にて抽出した各トピック夫々についてメッセージを発行する。これにより、建物内の照明機器である制御機器３全てに対して一斉に制御が実行される。
【００３７】
また例えば、通信端末装置５から「$SYS/houseA&1F&(living|kitchen) 」のメッセージが送信された場合、ＨＥＭＳサーバ１の制御部１０はステップＳ１にてこれを受信するとステップＳ２にて「$SYS/ 」の存在により制御文が含まれると判断する（Ｓ２：ＹＥＳ）。そして「houseA&1F&(living|kitchen)&light 」を制御文として抽出する（Ｓ３）。参照されるトピックから制御文は『「houseA」の「1F」の「living」又は「kitchen 」の「light 」』と解析できるから（Ｓ４）、これにより制御部１０は、記憶されているトピック（図３）の内「houseA/1F/kitchen/light, houseA/1F/living/light 」を抽出する（Ｓ５）。制御部１０は、ステップＳ５にて抽出した各トピック夫々についてメッセージを発行する。これにより、建物内の１階におけるキッチン及びリビングの照明機器である制御機器３に対して制御が実行される。
【００３８】
更に例えば、通信端末装置５から「$SYS/houseA&!(1F&restroom)」のメッセージが送信された場合、ＨＥＭＳサーバ１の制御部１０はステップＳ１にてこれを受信するとステップＳ２にて制御文が含まれると判断し（Ｓ２：ＹＥＳ）、「houseA&!(1F&restroom)」を制御文として抽出する（Ｓ３）。参照されるトピックから制御文は『「houseA」の「1F」の「restroom」以外全部』と解析できる（Ｓ４）。これにより制御部１０は、記憶されているトピック（図３）の内「houseA/1F/restroom/light」を除く、「houseA/1F/kitchen/light, houseA/1F/living/light, houseA/1F/living/air-conditioner, houseA/1F/living/heater, houseA/2F/bedroom/light, houseA/2F/bedroom/air-conditioner, houseA/2F/room1/light 」を抽出する（Ｓ５）。制御部１０は、ステップＳ５にて抽出した各トピック夫々についてメッセージを発行する。これにより、建物内の２階の寝室以外の制御機器３全ての制御が実行される。
【００３９】
図６は、本実施の形態のＨＥＭＳサーバ１による効果を示す概略図である。図６（Ａ）は、本実施の形態におけるＨＥＭＳサーバ１と、通信端末装置５及び制御機器３との間のメッセージの送受信を示している。図６（Ｂ）は、従来のPub/Sub 型のブローカ、パブリッシャ、及びサブスクライバ間でのメッセージの送受信を、同様のＨＥＭＳに適用した例を示している。そして図６の例では、上述した例の内、建物内の全ての照明機器に対応するトピックにメッセージを送信する場合を例にして説明する。
【００４０】
建物内の全ての照明機器に対応するトピックにメッセージを送信するためには、図６（Ａ）で示す本実施の形態のＨＥＭＳサーバ１を用いる場合は上述したように、パブリッシャである通信端末装置５からは「$SYS/HA_ALL_LIGHT 」のメッセージが送信されるのみである。ＨＥＭＳサーバ１では内部にて、対応する各トピックを対象とするメッセージが発行され、サブスクライバである制御機器３は自身に対応するトピックのメッセージを受信する。これに比して従来Pub/Sub 型の一例として使用されているＭＱＴＴでは、サブスクライバから講読時にトピックを指定する場合にワイルドカード（「# 」又は「+ 」）を用いることはできたが、パブリッシャからのトピックの指定にワイルドカードの使用は実施されていない。また、仮にパブリッシャからＭＱＴＴにおける「# 」又は「+ 」を使用したとしても図３に示したように、同じ要素を含むトピックでも階層構造が異なる場合には「# 」及び「+ 」の解釈が異なる。したがって図６（Ｂ）に示すように、パブリッシャは対応するトピックを全て予め記憶しておいた上でそれらを指定してメッセージを各々送信しなければならないからパブリッシャとブローカとの間の通信量が増大する。
【００４１】
このようにして本開示のＨＥＭＳサーバ１におけるラベルを使用したトピックの抽出処理により、通信端末装置５からＨＥＭＳサーバ１へのメッセージの送信はトピック毎ではなく、制御の目的に即した制御文の送信１回で済む。これにより通信端末装置５とＨＥＭＳサーバ１との間の通信量が低減される。ＩＯＴシステムが適用されれば制御機器３の数の膨大化は容易に想定されることである。更にはＨＥＭＳのようなシステムにおけるメッセージ送受信には通信速度が遅い帯域が利用される可能性が高いから、制御に係る通信量の低減は非常に効果的である。これに加え、パブリッシャからの１回のメッセージ送信で、複数のサブスクライバがメッセージを受信できることから、対象となる制御機器３へのメッセージの同報性が向上する。例えば図６（Ｂ）に示したように５以上のトピック、仮に１０以上のトピック全てに同じ制御内容（例えば電源ＯＮ）をメッセージとして送信しようとする場合には、１つ目のメッセージと最後のメッセージとの間に少なからず時差が発生する。しかしながら図６（Ａ）に示したように通信端末装置５からのメッセージは１回で、ＨＥＭＳサーバ１の内部で複数のトピック宛てにメッセージを送信する場合に発生する時差は僅かである。しかもＨＥＭＳサーバ１と制御機器３との間のメッセージの送受信は従前と変わらない。このようにPub/Sub 型のメッセージ送受信を用いた比較的簡素な制御システムにおいても、ラベルの導入で通信量低減を実現した上で更には同報性の向上が期待できる。
【００４２】
本実施の形態で示したようにラベルは、制御の目的に即してメッセージの送信先（範囲）を限定するために用いられている。ラベルとトピックとの関係をその目的に応じて適切に対応付けることにより、通信端末装置５（パブリッシャ）からは制御文を含む１つのメッセージの送信にて、その制御文に対応するトピックの組み合わせによって複雑な処理を実現することも可能となる。パブリッシャが簡素な処理のみ行なえる程度の処理能力を持つハードウェア（一定時間毎に検知結果を送信するセンサ）である場合には特に、このような処理の簡素化は効果的である。
【００４３】
本実施の形態では、通信端末装置５をパブリッシャ、制御機器３をサブスクライバとして説明した。しかしながら当業者であれば当然に、制御機器３は同時にパブリッシャでもあり、通信端末装置５も同時にサブスクライバとしても動作するようにしてもよいことは理解できる。例えば制御機器３が照明機器であればその制御状態（例えば照明機器の点灯状態／消灯状態）をメッセージのデータ部分として送信し、通信端末装置５にて所望の制御機器３の制御状態を知ることが可能である。
【００４４】
なお本実施の形態では、本開示のサーバ装置をＨＥＭＳに適用した例を示したが、このような小規模な制御システムのみに適用されるものではない。複数拠点の工場設備内の制御機器を一又は複数のメンテナンス用クライアント装置から制御するシステムにも適用可能である。この場合制御対象の拠点毎、設備毎、ライン毎、装置の種類毎などの制御対象の範囲を絞って１つのメッセージで同時的に制御を行なうか、逆に、対象の装置又はセンサからのメッセージを送信させてメンテナンスに用いるなどの制御が可能になる。その他例えば制御システムのみならず、情報の範囲を絞って収集する情報収集システムにも適用可能である。各所に設けられたセンサから送信されるメッセージを地域、時間帯等を限定して受信できるようにするなどにより、必要な情報のみを提供するなどのサービスへの適用等が考えられる。
【００４５】
本開示の実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００４６】
１  ＨＥＭＳサーバ（サーバ装置）
１０  制御部
１１  記憶部
１Ｐ  サーバプログラム（コンピュータプログラム）
１３  通信部
３  制御機器（クライアント装置）
５  情報端末装置（クライアント装置）
【図１】
2018124679.tif 000003
【図２】
2018124679.tif 000004
【図３】
2018124679.tif 000005
【図４】
2018124679.tif 000006
【図５】
2018124679.tif 000007
【図６】
2018124679.tif 000008