JP5689156B2 - 通信システム、サーバ装置、制御方法、およびプログラム - Google Patents
通信システム、サーバ装置、制御方法、およびプログラム Download PDFInfo
- Publication number
- JP5689156B2 JP5689156B2 JP2013162244A JP2013162244A JP5689156B2 JP 5689156 B2 JP5689156 B2 JP 5689156B2 JP 2013162244 A JP2013162244 A JP 2013162244A JP 2013162244 A JP2013162244 A JP 2013162244A JP 5689156 B2 JP5689156 B2 JP 5689156B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- controller
- control
- server device
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000006854 communication Effects 0.000 title claims description 149
- 238000004891 communication Methods 0.000 title claims description 108
- 238000000034 method Methods 0.000 title claims description 47
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000005540 biological transmission Effects 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 29
- 208000033748 Device issues Diseases 0.000 claims 1
- 238000012545 processing Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 21
- 230000007175 bidirectional communication Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001816 cooling Methods 0.000 description 1
- 238000007791 dehumidification Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Images
Landscapes
- Selective Calling Equipment (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、通信システム、サーバ装置、制御方法、およびプログラムに関する。特に、家庭用電気器具等の被制御装置を制御するための通信システム、通信システムを構成するサーバ装置、通信装置における制御方法、サーバ装置における制御方法、およびサーバ装置を制御するためのプログラムに関する。
従来、家庭用電気器具から受信するポーリング信号に基づき、当該家庭用電気器具にユーザ端末から受信した制御指令を送信する遠隔制御システムが知られている。
たとえば、特許文献1には、当該遠隔制御システムとして、制御情報格納手段と、判定手段と、割当手段とを備える構成が開示されている。当該判定手段は、情報家電機器から、第1のタイムスロットにおいて、機器識別情報と初期ポーリング間隔とを含むポーリング信号を受信したことに応じて、制御情報格納手段を参照し、予め定めた制御情報有無判定時間内に、情報家電機器に対する制御情報の受信があったか否かを判定する。また、上記割当手段は、制御情報の受信があった場合に、前記第1のタイムスロットから、前記初期ポーリング間隔を所定の時間長さだけ短縮した時間だけ後の第2のタイムスロットを、次にポーリング信号を送出するタイムスロットとして情報家電機器に割り当てる。
しかしながら、ポーリングを用いた通信処理では、リアルタイムでの遠隔制御を行なうことはできない。つまり、制御指令が実行されるまでに時間を要する。また、常時接続の通信方式を利用して制御指令を送信することも技術的には可能となってきたが、常時接続の通信方式では通信の切断が度々発生する。この場合には、制御指令を確実に送信できるとは言い難い。
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、ポーリングを用いた通信処理を利用しつつも、従来よりも制御指令を早期に送信可能な通信システム、通信システムを構成するサーバ装置、通信装置における制御方法、サーバ装置における制御方法、およびサーバ装置を制御するためのプログラムを提供することにある。
本発明のある局面に従うと、通信システムは、サーバ装置と、被制御装置を制御する制御装置とを備える。制御装置は、被制御装置を制御するための第1の指令がサーバ装置に存在するか否かを、指定されたタイミングでサーバ装置に問い合わせる。サーバ装置は、第1の指令を電子機器から受信する受信手段と、問い合わせに対して、第1の指令を制御装置に送信する送信手段とを含む。送信手段は、受信手段によって第1の指令が受信された場合、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信する。制御装置は、第2の指令を受信したことに基づき、指定されたタイミングよりも早いタイミングで問い合わせを行なう。
好ましくは、送信手段は、第2の指令を、制御装置との常時接続によるデータ通信によって制御装置に送信する。
好ましくは、送信手段は、第1の指令が第1の種別の指令である場合には、制御装置に対して第2の指令を1回送信する。送信手段は、第1の指令が第2の種別の指令である場合には、制御装置に対して第2の指令を複数回送信する。
好ましくは、送信手段は、第1の指令が第2の種別である場合には、制御装置に対して第2の指令を2回送信する。送信手段は、1回目の第2の指令に基づく問い合わせに応じた第1の指令の送信が終了した後に、2回目の第2の指令を制御装置に対して送信する。
好ましくは、問い合せのタイミングは、サーバ装置によって指定される。
本発明の他の局面に従うと、サーバ装置は、電子機器と、被制御装置を制御する制御装置と通信する。被制御装置を制御するための第1の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。サーバ装置は、第1の指令を電子機器から受信する受信手段と、問い合わせに対して、第1の指令を制御装置に送信する送信手段とを備える。送信手段は、受信手段によって第1の指令が受信された場合、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信する。
本発明の他の局面に従うと、サーバ装置は、電子機器と、被制御装置を制御する制御装置と通信する。被制御装置を制御するための第1の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。サーバ装置は、第1の指令を電子機器から受信する受信手段と、問い合わせに対して、第1の指令を制御装置に送信する送信手段とを備える。送信手段は、受信手段によって第1の指令が受信された場合、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信する。
本発明のさらに他の局面に従うと、制御方法は、サーバ装置と、被制御装置を制御する制御装置とを備える通信システムにおいて実行される。制御方法は、制御装置が、被制御装置を制御するための第1の指令がサーバ装置に存在するか否かを、指定されたタイミングでサーバ装置に問い合わせるステップと、サーバ装置が、第1の指令を電子機器から受信するステップと、第1の指令が受信された場合、サーバ装置が、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信するステップと、制御装置が、第2の指令を受信したことに基づき、指定されたタイミングよりも早いタイミングで問い合わせを行なうステップとを備える。
本発明のさらに他の局面に従うと、制御方法は、電子機器と、被制御装置を制御する制御装置と通信するサーバ装置において実行される。被制御装置を制御するための第1の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。制御方法は、第1の指令を電子機器から受信するステップと、第1の指令が受信された場合、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信するステップとを備える。
本発明のさらに他の局面に従うと、プログラムは、電子機器と、被制御装置を制御する制御装置と通信するサーバ装置を制御する。被制御装置を制御するための第1の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。プログラムは、第1の指令を電子機器から受信するステップと、第1の指令が受信された場合、第1の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第2の指令を制御装置に対して送信するステップとを、サーバ装置のプロセッサに実行させる。
本発明によれば、ポーリングを用いた通信処理を利用しつつも、従来よりも制御指令を早期に送信可能となる。
以下、図面を参照しつつ、本発明の各実施の形態に係る通信システムについて説明する。また、以下の説明では、同一の部材には同一の参照符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[実施の形態1]
<A.システム構成>
図1は、本実施の形態に係る通信システム1の概略構成を表した図である。図1を参照して、通信システム1は、サーバ装置100と、コントローラ200と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。家庭用電気器具群400は、複数の家庭用電気器具(被制御装置)として、エアーコンディショナ401と、照明装置402と、テレビ403とを含む。なお、エアーコンディショナ401、照明装置402、およびテレビ403は、被制御装置の一例であって、これに限定されるものではない。
[実施の形態1]
<A.システム構成>
図1は、本実施の形態に係る通信システム1の概略構成を表した図である。図1を参照して、通信システム1は、サーバ装置100と、コントローラ200と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。家庭用電気器具群400は、複数の家庭用電気器具(被制御装置)として、エアーコンディショナ401と、照明装置402と、テレビ403とを含む。なお、エアーコンディショナ401、照明装置402、およびテレビ403は、被制御装置の一例であって、これに限定されるものではない。
ルータ600と、コントローラ200と、各家庭用電気器具401〜403とは、宅内に設置されている。サーバ装置100は、宅外に設置されている。また、本実施の形態では、スマートフォン500は、宅外にいるユーザに所持されているものとして説明する。
スマートフォン500は、サーバ装置100と通信可能に接続されている。サーバ装置100は、ルータ600を介して、コントローラ200と通信可能に接続されている。コントローラ200は、サーバ装置100および各家庭用電気器具401〜403と通信可能に接続されている。
サーバ装置100は、ポーリングを利用した双方向通信と、常時接続を利用した双方向通信とを選択的に利用して、ルータ600を介してコントローラ200と通信する。通信システム1では、常時接続を利用することにより、ポーリングを行なうことなく双方向通信ができる。以下では、常時接続を利用した通信方式として、ウェブソケット(Web Socket)を用いる例を説明する。
サーバ装置100は、ポーリングを利用した双方向通信およびウェブソケットを用いた双方向通信の各々において、一例として、XML(Extensible Markup Language)等のマークアップ言語を用いた通信仕様に基づき、コントローラ200と通信する。なお、サーバ装置100は、JSON(JavaScript(登録商標) Object Notation)等の非マークアップ言を用いた通信仕様に基づき、コントローラ200と通信してもよい。通信に用いるデータの形式は、特に限定されるものではない。
ポーリングを利用した双方向通信方式においては、コントローラ200は、家庭用電気器具を制御するための制御指令が存在するか否かを、指定されたタイミングでサーバ装置100に対して問い合わせ(つまり、ポーリングを行ない)、当該問い合わせに基づき制御指令を受信する。
以下においては、問合せのタイミングのデフォルト値がコントローラ200において予め指定(決定)されており、サーバ装置100が必要に応じてデフォルト値以外のタイミングで問い合せを行なうようにコントローラ200に対して指令を送信する構成を例に挙げて説明する。具体的には、ポーリングの送信についての時間間隔がコントローラ200において規定されており、サーバ装置100が、デフォルト値以外のタイミングにおいてポーリングを実行させるために、ウェブソケットを用いた通信によってポーリングを実行させるための指令(ポーリング要求指令)をコントローラ200に送信する構成を例に挙げて説明する。ポーリング要求指令を送信するためのトリガ等については、後述する。
なお、ポーリング要求指令が送信されることによりポーリングが行なわれる場合を含み、次回の問い合わせのタイミングは、サーバ装置100によって毎回指定される構成であってもよい。つまり、ポーリングのタイミングは、サーバ装置100によって都度指定される構成としてもよい。問い合わせのタイミングは、たとえば、時間間隔または時刻により指定され得る。
また、以下では、説明を簡略化するために、コントローラ200は、ポーリング要求指令が送信されることによりポーリングが行なわれる場合を除き、指定されたタイミングの一例として予め定められた時間間隔で、サーバ装置100に対してポーリングを行なうものとして説明を行なう。すなわち、実際には、ポーリングの時間間隔は、一定範囲のランダム要素が含まれるため、正確には予め定められ時間間隔とはならない。たとえば、次回の問い合わせのタイミングがサーバ装置100によって毎回指定される構成においては、でサーバ装置100から指定される時間は、たとえば15分間隔といった固定された値ではなく、サーバ装置100への負荷を加味して、15分前後といったランダム要素が考慮された値となる。また、上述したように問合せのタイミングのデフォルト値がコントローラ200において予め指定されている構成であっても、ランダム要素が考慮される。しかしながら、以下の説明では、説明を簡略化し、理解を容易とするために、当該ランダム要素を考慮しないで説明を行なう。
コントローラ200は、スマートハウス向けの制御プロトコルおよびセンサーネットプロトコルを有する通信プロトコルを用いて、各家庭用電気器具401〜403と通信する。コントローラ200は、たとえばECHONET Lite(登録商標)によって、各家庭用電気器具401〜403と通信する。ただし、コントローラ200と家庭用電気器具401〜403との通信は、ECHONET Liteのように汎用の通信プロトコルによるものではなく、独自の通信プロトコルにより実現してもよい。なお、コントローラ200は、具体例を挙げれば、ホームサーバである。
本実施の形態では、説明の便宜上、各家庭用電気器具401〜403がECHONETLiteによる通信を可能とする機能を内蔵しているものとして説明する。なお、家庭用電気器具がECHONET Liteによる通信を可能とする機能を内蔵していない場合には、当該機能を実現するためのアダプタを家庭用電気器具に通信可能に接続すればよい。
スマートフォン500は、ユーザ操作に基づき、各家庭用電気器具401〜403を制御するための制御指令の入力を受け付ける。スマートフォン500は、受付けた制御指令をサーバ装置100に送信する。
サーバ装置100は、制御指令をスマートフォン500から受信した場合には、ポーリングに対する応答として、コントローラ200に当該制御指令を送信する。この場合、コントローラ200は、受信した制御指令に基づき、エアーコンディショナ401と照明装置402とテレビ403とのうち制御指令で指定された1つの家庭用電気器具を制御する。より詳しくは、コントローラ200は、マークアップ言語を用いた制御指令から、ECHONET Liteの通信に必要なデータを抽出する。コントローラ200は、当該抽出したデータを制御対象である家庭用電気器具に送信することより、当該家庭用電気器具を制御する。
より詳しくは、サーバ装置100は、スマートフォン500から受信した制御指令に基づき、被制御装置用の制御指令を生成し、当該生成した制御指令をコントローラ200を介して被制御装置に送信する。それゆえ、コントローラ200は、制御指令を生成する処理を行なう必要がなく、上記データの抽出のみを行なうだけでよい。したがって、コントローラ200における処理を簡略化できる。
また、以下では、説明の便宜上、主として、スマートフォン500からエアーコンディショナ401を制御する局面に着目して説明する。ただし、通信システム1で行なわれる後述する処理は、エアーコンディショナ401にのみ適用されるものではなく、照明装置402およびテレビ403等の各種の被制御装置に適用できる。
<B.処理の概要>
図2は、通信システム1における処理の概要を説明するためのシーケンスチャートである。図2を参照して、シーケンスSQ2において、コントローラ200は、サーバ装置100に対してポーリング(問い合わせ)を行なう。
図2は、通信システム1における処理の概要を説明するためのシーケンスチャートである。図2を参照して、シーケンスSQ2において、コントローラ200は、サーバ装置100に対してポーリング(問い合わせ)を行なう。
コントローラ200は、シーケンスSQ2においてポーリングを行なってから時間T1後に(つまり、指定されたタイミングで)、シーケンスSQ4において、サーバ装置100に対して再度ポーリングを行なう。コントローラ200は、シーケンスSQ4においてポーリングを行ってから時間T1後に、シーケンスSQ6において、サーバ装置100に対して再度ポーリングを行なう。なお、時間T1は、一例として、15分である。
シーケンスSQ6においてポーリングを行なってから時間T1が経過していない時点で、サーバ装置100は、スマートフォン500からエアーコンディショナ401を制御するための制御指令を受信する(シーケンスSQ8)。シーケンスSQ10において、サーバ装置100は、制御指令を受信したことに基づき、当該制御指令をコントローラ200に送信するために、ウェブソケットを用いた常時接続の通信により、ポーリングをコントローラ200に実行させるためのポーリング要求指令をコントローラ200に対して送信する。
サーバ装置100がポーリング要求指令をコントローラ200に送信したことにより、通信システム1において、ポーリングの送信を含む一連の通信処理G1が実行される。具体的には、シーケンスSQ12において、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ14において、サーバ装置100は、ポーリングを受け付けたことに基づき、スマートフォン500から受信した制御命令をコントローラ200に送信する。
以上のように、サーバ装置100は、スマートフォン500から制御指令を受信すると、次のポーリングを待たずに、ポーリング要求指令をウェブソケットによってコントローラ200に送信する。また、サーバ装置100は、ポーリングに対する応答として、制御指令をコントローラ200に送信できる。
したがって、通信システム1では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期にコントローラ200およびエアーコンディショナ401に送信可能となる。
また、通信システム1では、定期的に(たとえば15分間隔で)行なわれるポーリングの処理を流用可能であるため、コントローラ200の処理を、ポーリングの処理を流用しない場合に比べて簡易化できる。さらに、ポーリング要求指令のみをウェブソケットにより送信するため、制御指令をウェブソケットを用いて送信する構成に比べて当該ウェブソケットにおける通信処理の負荷を低減することができる。
<C.ハードウェア構成>
(c1.サーバ装置100)
図3は、サーバ装置100のハードウェア構成の典型例を表した図である。図3を参照して、サーバ装置100は、主たる構成要素として、プログラムを実行するCPU151と、データを不揮発的に格納するROM152と、CPU151によるプログラムの実行により生成されたデータ、又は入力装置(図示せず)を介して入力されたデータを揮発的に格納するRAM153と、データを不揮発的に格納するHDD154と、LED155と、スイッチ156と、通信IF(Interface)157と、電源回路158と、モニタ159と、操作キー160とを含む。各構成要素は、相互にデータバスによって接続されている。
(c1.サーバ装置100)
図3は、サーバ装置100のハードウェア構成の典型例を表した図である。図3を参照して、サーバ装置100は、主たる構成要素として、プログラムを実行するCPU151と、データを不揮発的に格納するROM152と、CPU151によるプログラムの実行により生成されたデータ、又は入力装置(図示せず)を介して入力されたデータを揮発的に格納するRAM153と、データを不揮発的に格納するHDD154と、LED155と、スイッチ156と、通信IF(Interface)157と、電源回路158と、モニタ159と、操作キー160とを含む。各構成要素は、相互にデータバスによって接続されている。
電源回路158は、コンセントを介して受信した商用電源の電圧を降圧し、サーバ装置100の各部に電源供給を行なう回路である。スイッチ156は、電源回路158に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。モニタ159は、各種のデータを表示するためのデバイスである。
通信IF157は、コントローラ200に対するデータの送信処理およびコントローラ200から送信されたデータの受信処理、並びに、スマートフォン500に対するデータの送信処理およびスマートフォン500から送信されたデータの受信処理を行なう。
LED155は、サーバ装置100の動作状態を表す各種の表示ランプである。たとえば、LED155は、サーバ装置100の主電源のオンまたはオフ状態、およびHDD154への読み出しまたは書き込み状態等を表す。操作キー160は、サーバ装置100のユーザがサーバ装置100へデータを入力するための用いるキー(キーボード)である。
サーバ装置100における処理は、各ハードウェアおよびCPU151により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD154に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信IF157等を介してダウンロードされた後、HDD154に一旦格納される。そのソフトウェアは、CPU151によってHDD154から読み出され、RAM153に実行可能なプログラムの形式で格納される。CPU151は、そのプログラムを実行する。
同図に示されるサーバ装置100を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM153、HDD154、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置100の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
なお、記録媒体としては、DVD−RAMに限られず、DVD-ROM、CD−ROM、FD、ハードディスク、磁気テープ、カセットテープ、光ディスク、EEPROM、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
(c2.コントローラ200)
図4は、コントローラ200のハードウェア構成の典型例を表した図である。図4を参照して、コントローラ200は、主たる構成要素として、プログラムを実行するCPU251と、データを不揮発的に格納するROM252と、CPU251によるプログラムの実行により生成されたデータ、又は入力装置(図示せず)を介して入力されたデータを揮発的に格納するRAM253と、データを不揮発的に格納するHDD254と、LED255と、スイッチ256と、通信IF(Interface)257と、電源回路258と、モニタ259と、操作キー260とを含む。各構成要素は、相互にデータバスによって接続されている。
図4は、コントローラ200のハードウェア構成の典型例を表した図である。図4を参照して、コントローラ200は、主たる構成要素として、プログラムを実行するCPU251と、データを不揮発的に格納するROM252と、CPU251によるプログラムの実行により生成されたデータ、又は入力装置(図示せず)を介して入力されたデータを揮発的に格納するRAM253と、データを不揮発的に格納するHDD254と、LED255と、スイッチ256と、通信IF(Interface)257と、電源回路258と、モニタ259と、操作キー260とを含む。各構成要素は、相互にデータバスによって接続されている。
電源回路258は、コンセントを介して受信した商用電源の電圧を降圧し、サーバ装置100の各部に電源供給を行なう回路である。スイッチ256は、電源回路258に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。モニタ259は、各種のデータを表示するためのデバイスである。
通信IF257は、サーバ装置100および各家庭用電気器具401〜403に対するデータの送信処理、およびサーバ装置100および各家庭用電気器具401〜403から送信されたデータの受信処理を行なう。
LED255は、サーバ装置100の動作状態を表す各種の表示ランプである。たとえば、LED255は、サーバ装置100の主電源のオンまたはオフ状態、およびHDD254への読み出しまたは書き込み状態等を表す。操作キー260は、サーバ装置100のユーザがサーバ装置100へデータを入力するための用いるキー(キーボード)である。
サーバ装置100における処理は、各ハードウェアおよびCPU251により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD254に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信IF257等を介してダウンロードされた後、HDD254に一旦格納される。そのソフトウェアは、CPU251によってHDD254から読み出され、RAM253に実行可能なプログラムの形式で格納される。CPU251は、そのプログラムを実行する。
同図に示されるサーバ装置100を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM253、HDD254、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置100の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
なお、記録媒体としては、DVD−RAMに限られず、DVD-ROM、CD−ROM、FD、ハードディスク、磁気テープ、カセットテープ、光ディスク、EEPROM、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
<D.処理の詳細>
(d1.通信処理G1)
図5は、図2に示した通信処理G1の詳細を説明するための図である。詳しくは、図5は、ポーリングを開始することによって行なわれる一連の処理を説明するための図である。
(d1.通信処理G1)
図5は、図2に示した通信処理G1の詳細を説明するための図である。詳しくは、図5は、ポーリングを開始することによって行なわれる一連の処理を説明するための図である。
図5を参照して、シーケンスSQ12において、コントローラ200は、サーバ装置100に対してポーリングを行なう。換言すれば、コントローラ200は、サーバ装置100に対して、指示確認を行なうための確認信号を送信する。
シーケンスSQ14において、サーバ装置100は、コントローラ200に対して、スマートフォン500から受信した制御指令を送信する。換言すれば、サーバ装置100は、コントローラ200に対して、制御を要求するための要求信号を送信する。なお、制御指令には、被制御装置の最新の状態を取得することを指示する状態更新指令、被制御装置の動作状態を変更するための機器制御指令等を含む。動作状態とは、エアーコンディショナ401に関しては、運転または停止、運転種別(冷房、除湿、送風、暖房)、設定温度、風量等を含む。
シーケンスSQ16において、コントローラ200は、サーバ装置100に対して、制御指令に基づく処理を実行した旨を表す応答信号を送信する。シーケンスSQ18において、サーバ装置100は、応答信号を受信したことに基づき、コントローラ200に対して、通信処理G1を終了することを表す終了通知を送信する。
なお、上述したように、シーケンスSQ12のポーリングは、予め定められた時間間隔(たとえば15分間隔)で行われる。詳しくは、通信処理G1は、ポーリング要求指令がサーバ装置100からコントローラ200に送信されない限り、当該予め定められた時間間隔で実行される。
(d2.状態更新)
図6は、状態更新処理を説明するためのシーケンスチャートである。詳しくは、図6は、スマートフォン500のユーザがエアーコンディショナ401の状態を取得するための処理の流れを説明するための図である。
図6は、状態更新処理を説明するためのシーケンスチャートである。詳しくは、図6は、スマートフォン500のユーザがエアーコンディショナ401の状態を取得するための処理の流れを説明するための図である。
図6を参照して、シーケンスSQ102において、スマートフォン500は、スマートフォン500のユーザの操作に基づき、制御指令を送信する。具体的には、スマートフォン500は、状態更新指令を送信する。シーケンスSQ104において、サーバ装置100は、ウェブソケット通信によって、ポーリング要求指令をコントローラ200に送信する。シーケンスSQ106において、サーバ装置100は、制御指令をサーバ装置100が受け付けたことを表す確認通知と、サーバ装置100において当該制御指令を特定するための指令IDとをスマートフォン500に送信する。
コントローラ200がポーリング要求指令を受信したことに基づき、通信システム1において、一連の通信処理G21が行なわれる。まず、シーケンスSQ108において、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ110において、サーバ装置100は、スマートフォン500から受信した制御指令(状態更新指令)をコントローラ200に送信する。つまり、サーバ装置100は、被制御装置(エアーコンディショナ401)がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ200に送信する。シーケンスSQ112において、コントローラ200は、エアーコンディショナ401の状態を表した応答信号をサーバ装置100に送信する。シーケンスSQ114において、サーバ装置100は、コントローラ200に対して終了通知を送信する。
シーケンスSQ116において、スマートフォン500は、スマートフォン500のユーザの操作に基づき、機器状態取得要求を行なう。すなわち、スマートフォン500は、SQ106において受信した指令IDを用いて、サーバ装置100がコントローラ200から取得したエアーコンディショナ401の状態を送信するよう、サーバ装置100に対して指示する。シーケンスSQ118において、サーバ装置100は、エアーコンディショナ401の機器状態をスマートフォン500に送信する。これにより、スマートフォン500のユーザは、エアーコンディショナ401の現在の状態を把握することが可能となる。
(d3.制御指示)
図7は、機器制御処理を説明するためのシーケンスチャートである。詳しくは、図7は、スマートフォン500のユーザがエアーコンディショナ401の動作を制御するための処理の流れを説明するための図である。
図7は、機器制御処理を説明するためのシーケンスチャートである。詳しくは、図7は、スマートフォン500のユーザがエアーコンディショナ401の動作を制御するための処理の流れを説明するための図である。
図7を参照して、シーケンスSQ202において、スマートフォン500は、スマートフォン500のユーザの操作に基づき、制御指令を送信する。具体的には、スマートフォン500は、機器制御指令を送信する。シーケンスSQ204において、サーバ装置100は、ウェブソケット通信によって、ポーリング要求指令をコントローラ200に送信する。シーケンスSQ206において、サーバ装置100は、制御指令をサーバ装置100が受け付けたことを表す確認通知と、サーバ装置100において当該制御指令を特定するための指令IDとをスマートフォン500に送信する。
コントローラ200がポーリング要求指令を受信したことに基づき、通信システム1において、一連の通信処理G31が行なわれる。まず、シーケンスSQ208において、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ210において、サーバ装置100は、スマートフォン500から受信した制御指令(機器制御指令)をコントローラ200に送信する。つまり、サーバ装置100は、被制御装置(エアーコンディショナ401)の動作を機器制御指令に基づいて制御するように要求する制御要求信号を、コントローラ200に送信する。シーケンスSQ212において、コントローラ200は、エアーコンディショナ401の動作を制御したことを表す応答信号をサーバ装置100に送信する。シーケンスSQ214において、サーバ装置100は、コントローラ200に対して終了通知を送信する。
シーケンスSQ216において、サーバ装置100は、再び、ウェブソケット通信によってポーリング要求指令をコントローラ200に送信する。サーバ装置100は、シーケンスSQ210において制御指令を送信してから予め定められた時間経過した後に、当該ポーリング要求指令をコントローラ200に対して送信する。予め定められた時間として、たとえば、200msとすることができる。
予め定められた時間経過した後にポーリング要求指令をコントローラ200に送信する理由は、制御指令の送信直後ではエアーコンディショナ401の状態が変更させていない虞があるためである。なお、通信システム1において、シーケンスSQ214の後の直後にポーリング要求指令を送信しても上記の問題が生じない場合には、予め定められた時間の経過を待たずにポーリング要求指令を送信するように、サーバ装置100を構成してもよい。
コントローラ200がポーリング要求指令を受信したことに基づき、通信システム1において、一連の通信処理G22が行なわれる。まず、シーケンスSQ218において、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ220において、サーバ装置100は、状態更新指令をコントローラ200に送信する。つまり、サーバ装置100は、エアーコンディショナ401がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ200に送信する。詳しくは、サーバ装置100は、機器制御指令により制御を指示した項目を含めた、エアーコンディショナ401の状態を特定するための全ての項目を送信するよう、コントローラ200に要求する。なお、サーバ装置100を、制御を指示した項目のみを送信するようコントローラ200に要求する構成としてもよい。
シーケンスSQ222において、コントローラ200は、エアーコンディショナ401の状態を表した応答信号をサーバ装置100に送信する。シーケンスSQ224において、サーバ装置100は、コントローラ200に対して終了通知を送信する。
シーケンスSQ226において、スマートフォン500は、スマートフォン500のユーザの操作に基づき、機器状態取得要求を行なう。すなわち、スマートフォン500は、SQ206において受信した指令IDを用いて、サーバ装置100がコントローラ200から取得したエアーコンディショナ401の状態を送信するよう、サーバ装置100に対して指示する。シーケンスSQ228において、サーバ装置100は、エアーコンディショナ401の機器状態をスマートフォン500に送信する。これにより、スマートフォン500のユーザは、エアーコンディショナ401の現在の状態(動作を制御した後の状態)を把握することが可能となる。
図6および図7に示したように、サーバ装置100は、スマートフォン500からの制御指令の種別に関わらず、同一内容のポーリング要求指令をコントローラ200に送信する。それゆえ、コントローラ200は、制御指令の種別を判断することなく、ポーリングを行なう。したがって、制御指令の種別の判断を行なう必要がある構成に比べて、コントローラ200における処理を簡略化できる。
また、ポーリングの種別は1つのみであるため、ポーリング要求指令においてもポーリングの種別の指定が不要となる。それゆえ、コントローラ200は、ポーリングの種別を判定する必要がなくなる。したがって、ポーリングの種別を判定する必要がある構成に比べて、コントローラ200における処理を簡略化できる。
(d4.被制御装置とコントローラとサーバ装置との間の通信の態様)
図8は、サーバ装置100とコントローラ200との間の通信処理G1と、当該通信処理G1に基づくコントローラ200とエアーコンディショナ401との間の通信の一例とを説明するためのシーケンスチャートである。図8を参照して、シーケンスSQ12において、上述したとおり、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ12の後は、一連の通信処理g11(シーケンスSQ14,SQ302,SQ304,SQ16)が実行される。
図8は、サーバ装置100とコントローラ200との間の通信処理G1と、当該通信処理G1に基づくコントローラ200とエアーコンディショナ401との間の通信の一例とを説明するためのシーケンスチャートである。図8を参照して、シーケンスSQ12において、上述したとおり、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ12の後は、一連の通信処理g11(シーケンスSQ14,SQ302,SQ304,SQ16)が実行される。
まず、シーケンスSQ14において、サーバ装置100は、コントローラ200に対して、スマートフォン500から受信した制御指令を送信する。シーケンスSQ302において、コントローラ200は、サーバ装置100から受信した制御指令をエアーコンディショナ401に送る。具体的には、コントローラ200は、サーバ装置100から受信した制御命令からエアーコンディショナ401の制御に用いるデータ(記述)を抽出し、当該抽出されたデータを用いてエアーコンディショナ401を制御する。より具体的には、コントローラ200は、マークアップ言語等で記述された制御命令からECHONET Lite用の制御命令を生成する。シーケンスSQ304において、エアーコンディショナ401は、コントローラ200に対して制御命令に応じた応答信号(状態を表す信号、制御結果を表す信号等)を送信する。
シーケンスSQ16において、上述したとおり、コントローラ200は、サーバ装置100に対して、制御指令に基づく処理を実行した旨を表す応答信号を送信する。シーケンスSQ18において、サーバ装置100は、応答信号を受信したことに基づき、コントローラ200に対して、通信処理G1を終了することを表す終了通知を送信する。
図9は、サーバ装置100とコントローラ200との間の他の通信処理G1’と、当該通信処理G1’に基づくコントローラ200とエアーコンディショナ401との間の通信処理とを説明するためのシーケンスチャートである。
図9を参照して、シーケンスSQ12において、上述したとおり、コントローラ200は、サーバ装置100に対してポーリングを行なう。シーケンスSQ12の後は、一連の通信処理g12(シーケンスSQ14A,SQ302A,SQ304A,SQ16A)と、一連の処理g11(シーケンスSQ14,SQ302,SQ304,SQ16)とが、この順に実行される。
シーケンスSQ14Aにおいて、サーバ装置100は、コントローラ200に対して、指定された制御指令(たとえば、後述する属性情報を要求するための制御指令)を送信する。シーケンスSQ302Aにおいて、上述したとおり、コントローラ200は、サーバ装置100から受信した制御指令をエアーコンディショナ401に送る。シーケンスSQ304Aにおいて、エアーコンディショナ401は、コントローラ200に対して制御命令に応じた応答信号(たとえば属性情報を表す信号)を送信する。シーケンスSQ16Aにおいて、コントローラ200は、サーバ装置100に対して、受信した応答信号に基づく応答信号を送信する。
シーケンスSQ14において、サーバ装置100は、コントローラ200に対して、スマートフォン500から受信した制御指令を送信する。シーケンスSQ302において、コントローラ200は、サーバ装置100から受信した制御指令をエアーコンディショナ401に送る。シーケンスSQ304において、エアーコンディショナ401は、コントローラ200に対して制御命令に応じた応答信号(状態を表す信号、制御結果を表す信号等)を送信する。シーケンスSQ18において、サーバ装置100は、応答信号を受信したことに基づき、コントローラ200に対して、通信処理G1を終了することを表す終了通知を送信する。
なお、図8では通信処理g11を含むシーケンスを説明し、図9では通信処理g11に加えて通信処理g12を含むシーケンスを例に挙げて説明した。しかしながら、被制御装置とコントローラとサーバ装置との間の通信の態様はこれらに限定されるものではない。さらに、通信処理g11,g12以外に、他の一連の通信処理(たとえば図示しない通信処理g13,g14,…)を含む構成であってもよい。
図10は、図9における通信処理G1’の一例の詳細を説明するためのシーケンスチャートである。詳しくは、図10は、通信処理G1’の典型例である通信処理G41を説明するための図である。
図10を参照して、シーケンスSQ404において、コントローラ200は、サーバ装置100のCPU151に対してポーリングを行なう。シーケンスSQ404の後は、ステップS2において、CPU151は、第1の判断処理を実行する。なお、第1の判断処理の詳細については、後述する(図13)。ステップS2の後、シーケンスSQ406において、CPU151は、コントローラ200に対して、属性情報を要求するための制御指令(属性要求信号)を送信するための処理を実行する。
シーケンスSQ408において、コントローラ200は、CPU151に対して、制御命令に応じた応答信号(属性情報を表す信号)を送信する。シーケンスSQ408の後、ステップS4において、CPU151は、第2の判断処理を実行する。なお、第2の判断処理の詳細については、後述する(図14)。ステップS4の後、CPU151は、コントローラ200から受信した属性情報をHDD154に格納する。
属性情報とは、被制御装置に関する情報であって、変更されない情報である。具体的には、本実施の形態の場合、属性情報には、ECHONET Liteのプロパティに含まれる、メーカ名、商品名、制御可能プロパティ、状態取得可能プロパティの一部等が含まれる。なお、「制御可能プロパティ」とは、制御可能な項目を表した情報である。「状態取得可能プロパティ」とは、複数の状態を表す項目のうち、取得可能な項目を表した情報である。
シーケンスSQ412において、CPU151は、エアーコンディショナ401の状態の送信を要求する制御命令(状態要求信号)を、コントローラ200に送信する。シーケンスSQ412の後、ステップS6において、CPU151は、再度、第2の判断処理を実行する。ステップS6の後、CPU151は、コントローラ200から受信した状態情報をHDD154に格納する。シーケンスSQ418において、CPU151は、シーケンスSQ414において応答信号を受信したことに基づき、コントローラ200に対して、通信処理G41を終了することを表す終了通知を送信する。
なお、状態情報とは、被制御装置の動作状態を表す情報である。詳細には、上記状態取得プロパティに沿って取得する被制御装置の状態を表した情報である。本実施の形態では、状態情報とは、上記状態取得可能プロパティのうち、属性情報に関する情報を除いた情報である。
図11は、図8における通信処理G1の一例の詳細を説明するためのシーケンスチャートである。詳しくは、図11は、通信処理G1の典型例である通信処理G31を説明するための図である。さらには、図11は、図7に示した通信処理G31の詳細を表した図である。
図11を参照して、シーケンスSQ208において、コントローラ200は、サーバ装置100のCPU151に対してポーリングを行なう。シーケンスSQ208の後、CPU151は、ステップS12において、第1の判断処理を実行する。
ステップS12の後、シーケンスSQ252において、CPU151は、制御指令(機器制御指令)をHDD154から読み出す。つまり、CPU151は、スマートフォン500から事前に受信し、かつHDD154に格納しておいた機器制御命令を読み出す。シーケンスSQ210において、サーバ装置100は、スマートフォン500から受信した制御指令(機器制御指令)をコントローラ200に送信する。つまり、サーバ装置100は、エアーコンディショナ401の動作を機器制御指令に基づいて制御するように要求する制御要求信号を、コントローラ200に送信する。
シーケンスSQ212において、コントローラ200は、エアーコンディショナ401の動作を制御したことを表す応答信号をCPU151に送信する。シーケンスSQ212の後、ステップS14において、CPU151は第2の判断処理を実行する。ステップS14の後、シーケンスSQ214において、CPU151は、コントローラ200に対して終了通知を送信する。
図12は、図8における通信処理G1の他の例の詳細を説明するためのシーケンスチャートである。詳しくは、図12は、通信処理G1の他の典型例である通信処理G22を説明するための図である。さらには、図12は、図7に示した通信処理G22の詳細を表した図である。
図12を参照して、シーケンスSQ218において、コントローラ200は、サーバ装置100のCPU151に対してポーリングを行なう。シーケンスSQ218の後、ステップS22において、CPU151は、第1の判断処理を実行する。ステップS22の後、シーケンスSQ220において、CPU151は、制御指令として状態更新指令をコントローラ200に送信する。つまり、CPU151は、エアーコンディショナ401がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ200に送信する。
シーケンスSQ222において、コントローラ200は、エアーコンディショナ401の状態を表した応答信号(状態情報)をサーバ装置100に送信する。シーケンスSQ222の後、ステップS24において、CPU151は、第2の判断処理を実行する。ステップS24の後、シーケンスSQ262において、CPU151は、コントローラ200から受信した状態情報をHDD154に格納する。シーケンスSQ224において、CPU151は、コントローラ200に対して終了通知を送信する。
図13は、図10〜図12における第1の判断処理の詳細を説明するためのフローチャートである。図13を参照して、ステップS102において、サーバ装置100のCPU151は、HDD154に機器制御指令が格納されているか否かを判断する。CPU151は、機器制御指令が格納されていると判断された場合(ステップS102においてYES)、ステップS108において制御要求信号を送信対象とし、第1の判断処理を終了する。CPU151は、機器制御指令が格納されていないと判断された場合(ステップS102においてNO)、ステップS104において、エアーコンディショナ401の属性情報を取得済みであるか否かを判断する。具体的には、CPU151は、HDD154に属性情報が既に格納されているか否かを判断する。
CPU151は、属性情報を取得済みであると判断した場合(ステップS104においてYES)、ステップS110において状態要求信号を送信対象とし、第1の判断処理を終了する。CPU151は、属性情報を未だ取得していないと判断した場合(ステップS104においてNO)、ステップS106において属性要求信号を送信対象とし、第1の判断処理を終了する。
図14は、図10〜図12における第2の判断処理の詳細を説明するためのフローチャートである。図14を参照して、ステップS202において、CPU151は、属性情報を受信したか否かを判断する。CPU151は、属性情報を受信したと判断した場合(ステップS202においてYES)、ステップS208において当該受信した属性情報をHDD154に格納する。ステップS208の後は、ステップS210において、CPU151は、状態要求信号を送信対象とし、第2の判断処理を終了する。
CPU151は、属性情報を受信しなかったと判断した場合(ステップS202においてNO)、ステップS204において状態情報を受信したか否かを判断する。CPU151は、属性情報を受信したと判断した場合(ステップS204においてYES),ステップS212において当該受信した状態情報をHDD154に格納する。ステップS212の後は、ステップS214において、CPU151は、終了通知を送信対象として、第2の判断処理を終了する。CPU151は、状態情報を受信しなかったと判断した場合(ステップS204においてNO)、ステップS206において終了通知を送信対象とし、第2の判断処理を終了する。
<E.機能的構成>
図15は、サーバ装置100の機能的構成を説明するための図である。図15を参照して、サーバ装置100は、受信部111と、記憶部112と、送信部113と、受付部1114とを備える。
図15は、サーバ装置100の機能的構成を説明するための図である。図15を参照して、サーバ装置100は、受信部111と、記憶部112と、送信部113と、受付部1114とを備える。
(1)上述したように、コントローラ200は、被制御装置を制御するための制御指令がサーバ装置100に存在するか否かを、指定されたタイミングでサーバ装置100に問い合わせる。つまり、コントローラ200は、指定されたタイミングでポーリングを行なう。
サーバ装置100の受信部111は、制御指令をスマートフォン500から受信する。詳しくは、受信部111は、制御指令として、機器制御指令、状態更新指令を受信する。記憶部112は、スマートフォン500から受信した制御指令を記憶する。
送信部113は、受信部111によって制御指令が受信された場合、当該制御指令をコントローラ200に送信するために、ポーリング(問い合わせ)をコントローラ200に実行させる指令(つまりポーリング要求指令)をコントローラ200に対して送信する。
この場合、コントローラ200は、ポーリング要求指令を受信したことに基づき、指定されたタイミングよりも早いタイミングでポーリングを行なう。具体的には、ポーリング要求指令を受信した後、速やかにポーリングを開始する。
送信部113は、ポーリングに対して、制御指令をコントローラ200に送信する。つまり、送信部113は、受付部114がポーリングをコントローラ200から受け付けたことに基づき、スマートフォンから事前に受け付けていた制御命令をコントローラ200に送信する。
したがって、通信システム1では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期にコントローラ200および被制御装置に送信可能となる。
(2)詳しくは、送信部113は、ポーリング要求指令を、コントローラ200との常時接続によるデータ通信によってコントローラ200に送信する。具体的には、送信部113は、ウェブソケットによりポーリング要求指令をコントローラ200に送信する。したがって、サーバ装置100は、制御指令をリアルタイムにコントローラ200に送信可能となる。
(3)送信部113は、制御指令が第1の種別の指令(たとえば、状態更新指令)である場合には、コントローラ200に対してポーリング要求指令を1回送信する。また、送信部113は、制御指令が第2の種別の指令(たとえば、機器制御指令)である場合には、コントローラ200に対してポーリング要求指令を複数回送信する。したがって、サーバ装置100は、制御指令の種別を判断することにより、ポーリング要求指令の送信回数を判断できる。
(4)ある局面において、送信部113は、制御指令が上記第2の種別である場合には、コントローラ200に対してポーリング要求指令を2回送信する。送信部113は、1回目のポーリング要求指令に基づくポーリングに応じた制御指令の送信が終了した後に、2回目のポーリング要求指令をコントローラ200に対して送信する。
より詳しくは、送信部113は、1回目のポーリング要求指令に基づくポーリングに関する一連の通信処理が終了した後に、2回目のポーリング要求指令をコントローラ200に対して送信する。この点について図7に基づいて説明すれば、送信部113は、シーケンスSQ204におけるポーリング要求指令に基づくポーリングに関する通信処理G31が終了した後に、シーケンスSQ216において、次のポーリング要求指令をコントローラ200に対して送信する。
したがって、サーバ装置100は、1回目のポーリングに基づいた制御指令の送信が終了した後に、速やかに次の制御指令をコントローラ200に送信可能となる。
[実施の形態2]
図16は、本実施の形態に係る通信システム1Aの概略構成を表した図である。図16を参照して、通信システム1Aは、サーバ装置100と、複数のコントローラ300と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。通信システム1Aは、コントローラ200の代わりに複数のコントローラ300を備える点において、実施の形態1の通信システム1とは異なる。
[実施の形態2]
図16は、本実施の形態に係る通信システム1Aの概略構成を表した図である。図16を参照して、通信システム1Aは、サーバ装置100と、複数のコントローラ300と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。通信システム1Aは、コントローラ200の代わりに複数のコントローラ300を備える点において、実施の形態1の通信システム1とは異なる。
サーバ装置100は、ルータ600を介して、各コントローラ300と通信可能に接続されている。具体的には、サーバ装置100は、ポーリングを利用した双方向通信と、常時接続を利用した双方向通信とを選択的に利用して、ルータ600を介して各コントローラ300と通信する。各コントローラ300は、ルータ600を介して、サーバ装置100および対応する1つの家庭用電気器具と通信可能に接続されている。
各コントローラは、宅内に設置されている。各コントローラ300は、コントローラに接続された家庭用電気器具の動作を制御する。つまり、各コントローラ300は、対応する家庭用電気器具を制御する装置として機能する。各コントローラ300は、実施の形態1のコントローラ200と同様、サーバ装置100に対してポーリングを行なう。詳しくは、各コントローラ300は、コントローラ200について説明したのと同様のポーリング処理を行なう。それゆえ、各コントローラ300のポーリングに関する説明は、ここでは繰り返さない。
なお、各コントローラ300は、対応する家庭用電気器具と離れた位置に設置されていてもよいし、あるいは当該家庭用電気器具に据え付けられていてもよい。また、各コントローラ300は、対応する家庭用電気器具の内部に備え付けられていてもよい。
通信システム1Aにおいては、サーバ装置100は、XML等のマークアップ言語を用いた通信仕様、あるいはJSON等の非マークアップ言を用いた通信仕様に基づき、各コントローラ300と通信する。なお、通信に用いるデータの形式は、特に限定されるものではない。
図17は、コントローラ300のハードウェア構成の典型例を表した図である。図17を参照して、コントローラ300は、主たる構成要素として、プログラムを実行するCPU351と、フラッシュROM等のデータを不揮発的に格納するROM352と、CPU351によるプログラムの実行により生成されたデータ、又は入力装置(図示せず)を介して入力されたデータを揮発的に格納するRAM353と、スイッチ356と、通信IF357と、電源回路358とを含む。各構成要素は、相互にデータバスによって接続されている。
電源回路358は、コンセントを介して受信した商用電源の電圧を降圧し、コントローラ300の各部に電源供給を行なう回路である。スイッチ356は、電源回路358に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。通信IF357は、サーバ装置100およびエアーコンディショナ401との間で通信を行なうために、データの送受信処理を行なう。
コントローラ300における処理は、各ハードウェアおよびCPU351により実行されるソフトウェアによって実現される。このようなソフトウェアは、ROM352に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信IF357等を介してダウンロードされた後、ROM352に一旦格納される。そのソフトウェアは、CPU351によってROM352から読み出され、RAM353に実行可能なプログラムの形式で格納される。CPU351は、そのプログラムを実行する。
同図に示されるコントローラ300を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM353、ROM352、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コントローラ300の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
なお、記録媒体としては、DVD−RAMに限られず、DVD-ROM、CD−ROM、FD、ハードディスク、磁気テープ、カセットテープ、光ディスク、EEPROM、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
本実施の形態においても、実施の形態1における通信システム1で得られる効果(利点)と同様の効果を得ることができる。
[実施の形態3]
図18は、本実施の形態に係る通信システム1Bの概略構成を表した図である。図18を参照して、通信システム1Bは、サーバ装置100と、コントローラ200と、コントローラ300と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。通信システム1Cは、コントローラ300をさらに備える点において、実施の形態1の通信システム1とは異なる。
[実施の形態3]
図18は、本実施の形態に係る通信システム1Bの概略構成を表した図である。図18を参照して、通信システム1Bは、サーバ装置100と、コントローラ200と、コントローラ300と、家庭用電気器具群400と、端末装置としてのスマートフォン500と、ルータ600とを備える。通信システム1Cは、コントローラ300をさらに備える点において、実施の形態1の通信システム1とは異なる。
サーバ装置100は、コントローラ200(ホームサーバ)およびコントローラ300(通信機器)と通信可能に接続されている。コントローラ200は、サーバ装置100および各家庭用電気器具401〜403と通信可能に接続されている。コントローラ300は、サーバ装置100およびエアーコンディショナ401と通信可能に接続されている。このように、通信システム1Cでは、サーバ装置100は、コントローラ200を介してエアーコンディショナ401と通信可能に接続されているとともに、コントローラ300を介してエアーコンディショナ401と通信可能に接続されている。
サーバ装置100は、受信した制御指令がエアーコンディショナ401を制御するための指令である場合、エアーコンディショナ401を制御する主体として、予め定められた規則に基づき、コントローラ200およびコントローラ300の何れかを選択する。この場合、サーバ装置100によって選択された機器(コントローラ200またはコントローラ300)は、受信した制御指令に基づき、エアーコンディショナ401を制御する。たとえば、コントローラ300が選択された場合、コントローラ300は、マークアップ言語を用いた制御指令を解釈し、エアーコンディショナ401を制御する。また、コントローラ200が選択された場合、上記と同様に、制御指令から抽出したデータを制御対象であるエアーコンディショナ401に送信することより、家庭用電気器具を制御する。
このように、コントローラ200は、各家庭用電気器具401〜403を制御するための制御装置として機能する。また、コントローラ300は、エアーコンディショナ401の動作を制御するための制御装置として機能する。つまり、通信システム1Cでは、2つの制御装置(コントローラ200およびコントローラ300)によって、1つの被制御装置であるエアーコンディショナ401の制御が可能である。
コントローラ300は、実施の形態2で説明したとおり、実施の形態1のコントローラ200と同様、サーバ装置100に対してポーリングを行なう。詳しくは、コントローラ300は、コントローラ200について説明したのと同様のポーリング処理を行なう。それゆえ、コントローラ300のポーリングに関する説明は、ここでは繰り返さない。
本実施の形態においても、実施の形態1における通信システム1で得られる効果(利点)と同様の効果を得ることができる。
[実施の形態4]
実施の形態1では、一台のコントローラ200によって複数の家庭用電気器具401〜403を制御する構成を説明した。本実施の形態に係る通信システムでは、複数台のコントローラ(具体的には、ホームサーバ)によって、各家庭用電気器具401〜403を制御する。一例を挙げれば、コントローラ200とは別のコントローラが、複数の家庭用電気器具401〜403のうちの少なくとも1つを制御する。このように、複数台のホームサーバによって家庭用電気器具を個別に制御する構成にも、実施の形態1で説明した処理を適用できる。
[実施の形態5]
本実施の形態に係る通信システムは、サーバ装置100とは別に、データベースサーバ装置を備える。サーバ装置100は、コントローラ200を介して取得した属性情報および状態情報、並びにスマートフォン500から受信した各種の制御指令を、当該データベースサーバ装置に格納する。つまり、サーバ装置100は、HDD154の代わりに、データベースサーバ装置を利用する。このようなシステム構成であっても、実施の形態1で述べた効果と同様の効果を得ることができる。
[実施の形態4]
実施の形態1では、一台のコントローラ200によって複数の家庭用電気器具401〜403を制御する構成を説明した。本実施の形態に係る通信システムでは、複数台のコントローラ(具体的には、ホームサーバ)によって、各家庭用電気器具401〜403を制御する。一例を挙げれば、コントローラ200とは別のコントローラが、複数の家庭用電気器具401〜403のうちの少なくとも1つを制御する。このように、複数台のホームサーバによって家庭用電気器具を個別に制御する構成にも、実施の形態1で説明した処理を適用できる。
[実施の形態5]
本実施の形態に係る通信システムは、サーバ装置100とは別に、データベースサーバ装置を備える。サーバ装置100は、コントローラ200を介して取得した属性情報および状態情報、並びにスマートフォン500から受信した各種の制御指令を、当該データベースサーバ装置に格納する。つまり、サーバ装置100は、HDD154の代わりに、データベースサーバ装置を利用する。このようなシステム構成であっても、実施の形態1で述べた効果と同様の効果を得ることができる。
<まとめ>
(1)通信システム1は、サーバ装置100と、被制御装置(家庭用電気器具401〜403)を制御する制御装置(コントローラ200)とを備える。
(1)通信システム1は、サーバ装置100と、被制御装置(家庭用電気器具401〜403)を制御する制御装置(コントローラ200)とを備える。
前記制御装置は、前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせる。
前記サーバ装置は、前記第1の指令を電子機器(スマートフォン500)から受信する受信部111と、前記問い合わせ(ポーリング)に対して、前記第1の指令を前記制御装置に送信する送信部113とを含む。送信部113は、受信部111によって前記第1の指令が受信された場合、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信する。
前記制御装置は、前記第2の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なう。
したがって、通信システム1では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期に制御装置および被制御装置に送信可能となる。
(2)送信部113は、前記第2の指令を、前記制御装置との常時接続によるデータ通信によって前記制御装置に送信する。したがって、サーバ装置100は、制御指令をリアルタイムに制御装置に送信可能となる。
(3)送信部113は、前記第1の指令が第1の種別の指令である場合には、前記制御装置に対して前記第2の指令を1回送信する。送信部113は、前記第1の指令が第2の種別の指令である場合には、前記制御装置に対して前記第2の指令を複数回送信する。したがって、サーバ装置100は、制御指令の種別を判断することにより、ポーリング要求指令の送信回数を判断できる。
(4)送信部113は、前記第1の指令が前記第2の種別である場合には、前記制御装置に対して前記第2の指令を2回送信する。送信部113は、1回目の前記第2の指令に基づく前記問い合わせに応じた前記第1の指令の送信が終了した後に、2回目の前記第2の指令を前記制御装置に対して送信する。したがって、サーバ装置100は、1回目のポーリングに基づいた制御指令の送信が終了した後に、速やかに次の制御指令を制御装置に送信可能となる。
(5)前記問い合せのタイミングは、前記サーバ装置によって指定される。この場合、制御装置においては、問い合わせのタイミングを予め設定しておく必要がなくなる。
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A,1B,1C 通信システム、100 サーバ装置、111 受信部、112 記憶部、113 送信部、114 受付部、151,251,351 CPU、152,252,352 ROM、153,253,353 RAM、154,254 HDD、200,300 コントローラ、400 家庭用電気器具群、401 エアーコンディショナ、402 照明装置、403 テレビ、500 スマートフォン、600 ルータ、157,257,357 通信IF。
Claims (9)
- サーバ装置と、被制御装置を制御する制御装置とを備える通信システムであって、
前記制御装置は、前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせ、
前記サーバ装置は、
前記第1の指令を電子機器から受信する受信手段と、
前記問い合わせに対して、前記第1の指令を前記制御装置に送信する送信手段とを含み、
前記送信手段は、前記受信手段によって前記第1の指令が受信された場合、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信し、
前記制御装置は、前記第2の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なう、通信システム。 - 前記送信手段は、前記第2の指令を、前記制御装置との常時接続によるデータ通信によって前記制御装置に送信する、請求項1に記載の通信システム。
- 前記送信手段は、
前記第1の指令が第1の種別の指令である場合には、前記制御装置に対して前記第2の指令を1回送信し、
前記第1の指令が第2の種別の指令である場合には、前記制御装置に対して前記第2の指令を複数回送信する、請求項1または2に記載の通信システム。 - 前記送信手段は、
前記第1の指令が前記第2の種別である場合には、前記制御装置に対して前記第2の指令を2回送信し、
1回目の前記第2の指令に基づく前記問い合わせに応じた前記第1の指令の送信が終了した後に、2回目の前記第2の指令を前記制御装置に対して送信する、請求項3に記載の通信システム。 - 前記問い合せのタイミングは、前記サーバ装置によって指定される、請求項1〜4のいずれか1項に記載の通信システム。
- 電子機器と、被制御装置を制御する制御装置と通信するサーバ装置であって、
前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記サーバ装置は、
前記第1の指令を前記電子機器から受信する受信手段と、
前記問い合わせに対して、前記第1の指令を前記制御装置に送信する送信手段とを備え、
前記送信手段は、前記受信手段によって前記第1の指令が受信された場合、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信する、サーバ装置。 - サーバ装置と、被制御装置を制御する制御装置とを備える通信システムにおける制御方法であって、
前記制御装置が、前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせるステップと、
前記サーバ装置が、前記第1の指令を電子機器から受信するステップと、
前記第1の指令が受信された場合、前記サーバ装置が、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信するステップと、
前記制御装置が、前記第2の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なうステップとを備える、制御方法。 - 電子機器と、被制御装置を制御する制御装置と通信するサーバ装置における制御方法であって、
前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記制御方法は、
前記第1の指令を前記電子機器から受信するステップと、
前記第1の指令が受信された場合、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信するステップとを備える、制御方法。 - 電子機器と、被制御装置を制御する制御装置と通信するサーバ装置を制御するプログラムであって、
前記被制御装置を制御するための第1の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記プログラムは、
前記第1の指令を前記電子機器から受信するステップと、
前記第1の指令が受信された場合、前記第1の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第2の指令を前記制御装置に対して送信するステップとを、前記サーバ装置のプロセッサに実行させる、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013162244A JP5689156B2 (ja) | 2013-08-05 | 2013-08-05 | 通信システム、サーバ装置、制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013162244A JP5689156B2 (ja) | 2013-08-05 | 2013-08-05 | 通信システム、サーバ装置、制御方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015033034A JP2015033034A (ja) | 2015-02-16 |
JP5689156B2 true JP5689156B2 (ja) | 2015-03-25 |
Family
ID=52518005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013162244A Expired - Fee Related JP5689156B2 (ja) | 2013-08-05 | 2013-08-05 | 通信システム、サーバ装置、制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5689156B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769895B (zh) * | 2020-12-18 | 2023-10-13 | 杭州涂鸦信息技术有限公司 | 一种群组或场景的控制方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4944991B2 (ja) * | 2008-03-31 | 2012-06-06 | パナソニック株式会社 | 監視システム |
-
2013
- 2013-08-05 JP JP2013162244A patent/JP5689156B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015033034A (ja) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105580313B (zh) | 用于控制用于智能家居服务的装置的方法和设备 | |
CN103973748A (zh) | 智能家居系统及其监控方法 | |
EP2840741B1 (en) | Method and apparatus for using service of home network device based on remote access | |
EP2461523B1 (en) | Systems and methods for operating an appliance control device for an appliance | |
JP2005109746A (ja) | 家電遠隔制御システム、サービス提供サーバ、ホームサーバ、家電機器、サービス提供サーバの家電遠隔制御支援方法及びサービス提供サーバの家電サービス提供支援方法 | |
US9560167B2 (en) | Network system, communication method, server, and terminal | |
US9002927B2 (en) | Apparatus and method for managing remote user interface and system for the same | |
JP4754432B2 (ja) | 遠隔操作システム、通信端末、サーバ装置、およびコンピュータプログラム | |
JP5689156B2 (ja) | 通信システム、サーバ装置、制御方法、およびプログラム | |
JP5868476B2 (ja) | 通信装置、通信システム、通信方法、及び、プログラム | |
JP5714067B2 (ja) | 通信システム、サーバ装置、制御方法、およびプログラム | |
US9923769B2 (en) | Methods and systems for verifying installation of a device | |
JP6425372B2 (ja) | 通信装置及び通信方法 | |
JP2014230064A (ja) | 通信システム、サーバ装置、通信方法、およびプログラム | |
WO2015020154A1 (ja) | 通信装置、機器操作システム、通信方法及びプログラム | |
US20170094035A1 (en) | Management method and management device | |
KR101723561B1 (ko) | 사물웹 플러그인 시스템 | |
JP6084539B2 (ja) | サーバ、情報端末、情報提供方法、プログラム、および制御システム | |
KR20120092912A (ko) | Nfc 통신을 이용한 이동통신 단말기의 펌웨어 제공 방법 및 상기 이동통신 단말기를 포함하는 펌웨어 제공 시스템 | |
WO2016084234A1 (ja) | 通信機器、通信アダプタ、通信システム、通信パラメータ応答方法及びプログラム | |
JP5528603B1 (ja) | 通信アダプタ、制御システム、通信アダプタの制御方法、及び、プログラム | |
JP2015142315A (ja) | 遠隔制御装置、遠隔制御システム及び遠隔制御方法 | |
JP6234523B2 (ja) | サーバ、情報端末、制御システム、情報提供方法、および、プログラム | |
JP2017046281A (ja) | コントローラ、電気機器、制御システム、および、制御システムの制御方法 | |
WO2012160987A1 (ja) | ゲートウェイ装置、ソフトウェア設定方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5689156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |