(57)【要約】      （修正有）【課題】ポーリングを用いた通信処理を利用しつつも、従来よりも制御指令を早期に送信可能な通信システムを提供する。【解決手段】コントローラ２００は、被制御装置を制御するための制御指令がサーバ装置１００に存在するか否かを、指定されたタイミングでサーバ装置１００に問い合わせる。つまり、コントローラ２００は、ポーリングを行なう。サーバ装置１００は、制御指令をスマートフォン５００から受信する。サーバ装置１００は、ポーリングに対して、制御指令をコントローラ２００に送信する、サーバ装置１００は、制御指令が受信された場合、制御指令をコントローラ２００に送信するために、ポーリングをコントローラ２００に実行させるポーリング要求指令をコントローラ２００に対して送信する。コントローラ２００は、ポーリング要求指令を受信したことに基づき、上記指定されたタイミングよりも早いタイミングでポーリングを行なう。【選択図】図１
2015033034.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、被制御装置を制御する制御装置とを備える通信システムであって、
前記制御装置は、前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせ、
前記サーバ装置は、
前記第１の指令を電子機器から受信する受信手段と、
前記問い合わせに対して、前記第１の指令を前記制御装置に送信する送信手段とを含み、
前記送信手段は、前記受信手段によって前記第１の指令が受信された場合、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信し、
前記制御装置は、前記第２の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なう、通信システム。
【請求項２】
前記送信手段は、前記第２の指令を、前記制御装置との常時接続によるデータ通信によって前記制御装置に送信する、請求項１に記載の通信システム。
【請求項３】
前記送信手段は、
前記第１の指令が第１の種別の指令である場合には、前記制御装置に対して前記第２の指令を１回送信し、
前記第１の指令が第２の種別の指令である場合には、前記制御装置に対して前記第２の指令を複数回送信する、請求項１または２に記載の通信システム。
【請求項４】
前記送信手段は、
前記第１の指令が前記第２の種別である場合には、前記制御装置に対して前記第２の指令を２回送信し、
１回目の前記第２の指令に基づく前記問い合わせに応じた前記第１の指令の送信が終了した後に、２回目の前記第２の指令を前記制御装置に対して送信する、請求項３に記載の通信システム。
【請求項５】
前記問い合せのタイミングは、前記サーバ装置によって指定される、請求項１〜４のいずれか１項に記載の通信システム。
【請求項６】
電子機器と、被制御装置を制御する制御装置と通信するサーバ装置であって、
前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記サーバ装置は、
前記第１の指令を前記電子機器から受信する受信手段と、
前記問い合わせに対して、前記第１の指令を前記制御装置に送信する送信手段とを備え、
前記送信手段は、前記受信手段によって前記第１の指令が受信された場合、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信する、サーバ装置。
【請求項７】
サーバ装置と、被制御装置を制御する制御装置とを備える通信システムにおける制御方法であって、
前記制御装置が、前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせるステップと、
前記サーバ装置が、前記第１の指令を電子機器から受信するステップと、
前記第１の指令が受信された場合、前記サーバ装置が、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信するステップと、
前記制御装置が、前記第２の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なうステップとを備える、制御方法。
【請求項８】
電子機器と、被制御装置を制御する制御装置と通信するサーバ装置における制御方法であって、
前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記制御方法は、
前記第１の指令を前記電子機器から受信するステップと、
前記第１の指令が受信された場合、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信するステップとを備える、制御方法。
【請求項９】
電子機器と、被制御装置を制御する制御装置と通信するサーバ装置を制御するプログラムであって、
前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かが、指定されたタイミングで前記制御装置から前記サーバ装置に問い合わされ、
前記プログラムは、
前記第１の指令を前記電子機器から受信するステップと、
前記第１の指令が受信された場合、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信するステップとを、前記サーバ装置のプロセッサに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、サーバ装置、制御方法、およびプログラムに関する。特に、家庭用電気器具等の被制御装置を制御するための通信システム、通信システムを構成するサーバ装置、通信装置における制御方法、サーバ装置における制御方法、およびサーバ装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、家庭用電気器具から受信するポーリング信号に基づき、当該家庭用電気器具にユーザ端末から受信した制御指令を送信する遠隔制御システムが知られている。
【０００３】
たとえば、特許文献１には、当該遠隔制御システムとして、制御情報格納手段と、判定手段と、割当手段とを備える構成が開示されている。当該判定手段は、情報家電機器から、第１のタイムスロットにおいて、機器識別情報と初期ポーリング間隔とを含むポーリング信号を受信したことに応じて、制御情報格納手段を参照し、予め定めた制御情報有無判定時間内に、情報家電機器に対する制御情報の受信があったか否かを判定する。また、上記割当手段は、制御情報の受信があった場合に、前記第１のタイムスロットから、前記初期ポーリング間隔を所定の時間長さだけ短縮した時間だけ後の第２のタイムスロットを、次にポーリング信号を送出するタイムスロットとして情報家電機器に割り当てる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６６６２６号公報
【特許文献２】特開２００９−１１０３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ポーリングを用いた通信処理では、リアルタイムでの遠隔制御を行なうことはできない。つまり、制御指令が実行されるまでに時間を要する。また、常時接続の通信方式を利用して制御指令を送信することも技術的には可能となってきたが、常時接続の通信方式では通信の切断が度々発生する。この場合には、制御指令を確実に送信できるとは言い難い。
【０００６】
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、ポーリングを用いた通信処理を利用しつつも、従来よりも制御指令を早期に送信可能な通信システム、通信システムを構成するサーバ装置、通信装置における制御方法、サーバ装置における制御方法、およびサーバ装置を制御するためのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある局面に従うと、通信システムは、サーバ装置と、被制御装置を制御する制御装置とを備える。制御装置は、被制御装置を制御するための第１の指令がサーバ装置に存在するか否かを、指定されたタイミングでサーバ装置に問い合わせる。サーバ装置は、第１の指令を電子機器から受信する受信手段と、問い合わせに対して、第１の指令を制御装置に送信する送信手段とを含む。送信手段は、受信手段によって第１の指令が受信された場合、第１の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第２の指令を制御装置に対して送信する。制御装置は、第２の指令を受信したことに基づき、指定されたタイミングよりも早いタイミングで問い合わせを行なう。
【０００８】
好ましくは、送信手段は、第２の指令を、制御装置との常時接続によるデータ通信によって制御装置に送信する。
【０００９】
好ましくは、送信手段は、第１の指令が第１の種別の指令である場合には、制御装置に対して第２の指令を１回送信する。送信手段は、第１の指令が第２の種別の指令である場合には、制御装置に対して第２の指令を複数回送信する。
【００１０】
好ましくは、送信手段は、第１の指令が第２の種別である場合には、制御装置に対して第２の指令を２回送信する。送信手段は、１回目の第２の指令に基づく問い合わせに応じた第１の指令の送信が終了した後に、２回目の第２の指令を制御装置に対して送信する。
【００１１】
好ましくは、問い合せのタイミングは、サーバ装置によって指定される。
本発明の他の局面に従うと、サーバ装置は、電子機器と、被制御装置を制御する制御装置と通信する。被制御装置を制御するための第１の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。サーバ装置は、第１の指令を電子機器から受信する受信手段と、問い合わせに対して、第１の指令を制御装置に送信する送信手段とを備える。送信手段は、受信手段によって第１の指令が受信された場合、第１の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第２の指令を制御装置に対して送信する。
【００１２】
本発明のさらに他の局面に従うと、制御方法は、サーバ装置と、被制御装置を制御する制御装置とを備える通信システムにおいて実行される。制御方法は、制御装置が、被制御装置を制御するための第１の指令がサーバ装置に存在するか否かを、指定されたタイミングでサーバ装置に問い合わせるステップと、サーバ装置が、第１の指令を電子機器から受信するステップと、第１の指令が受信された場合、サーバ装置が、第１の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第２の指令を制御装置に対して送信するステップと、制御装置が、第２の指令を受信したことに基づき、指定されたタイミングよりも早いタイミングで問い合わせを行なうステップとを備える。
【００１３】
本発明のさらに他の局面に従うと、制御方法は、電子機器と、被制御装置を制御する制御装置と通信するサーバ装置において実行される。被制御装置を制御するための第１の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。制御方法は、第１の指令を電子機器から受信するステップと、第１の指令が受信された場合、第１の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第２の指令を制御装置に対して送信するステップとを備える。
【００１４】
本発明のさらに他の局面に従うと、プログラムは、電子機器と、被制御装置を制御する制御装置と通信するサーバ装置を制御する。被制御装置を制御するための第１の指令がサーバ装置に存在するか否かが、指定されたタイミングで制御装置からサーバ装置に問い合わされる。プログラムは、第１の指令を電子機器から受信するステップと、第１の指令が受信された場合、第１の指令を制御装置に送信するために、問い合わせを制御装置に実行させる第２の指令を制御装置に対して送信するステップとを、サーバ装置のプロセッサに実行させる。
【発明の効果】
【００１５】
本発明によれば、ポーリングを用いた通信処理を利用しつつも、従来よりも制御指令を早期に送信可能となる。
【図面の簡単な説明】
【００１６】
【図１】通信システム１の概略構成を表した図である。
【図２】通信システム１における処理の概要を説明するためのシーケンスチャートである。
【図３】サーバ装置１００のハードウェア構成の典型例を表した図である。
【図４】コントローラ２００のハードウェア構成の典型例を表した図である。
【図５】図２に示した通信処理Ｇ１の詳細を説明するための図である。
【図６】状態更新処理を説明するためのシーケンスチャートである。
【図７】機器制御処理を説明するためのシーケンスチャートである。
【図８】サーバ装置１００とコントローラ２００との間の通信処理Ｇ１と、当該通信処理Ｇ１に基づくコントローラ２００とエアーコンディショナ４０１との間の通信の一例とを説明するためのシーケンスチャートである。
【図９】サーバ装置１００とコントローラ２００との間の他の通信処理Ｇ１’と、当該通信処理Ｇ１’に基づくコントローラ２００とエアーコンディショナ４０１との間の通信処理とを説明するためのシーケンスチャートである。
【図１０】図９における通信処理Ｇ１’の一例の詳細を説明するためのシーケンスチャートである。
【図１１】図８における通信処理Ｇ１の一例の詳細を説明するためのシーケンスチャートである。
【図１２】図８における通信処理Ｇ１の他の例の詳細を説明するためのシーケンスチャートである。
【図１３】図１０〜図１２における第１の判断処理の詳細を説明するためのフローチャートである。
【図１４】図１０〜図１２における第２の判断処理の詳細を説明するためのフローチャートである。
【図１５】サーバ装置１００の機能的構成を説明するための図である。
【図１６】通信システム１Ａの概略構成を表した図である。
【図１７】コントローラ３００のハードウェア構成の典型例を表した図である。
【図１８】通信システム１Ｂの概略構成を表した図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の各実施の形態に係る通信システムについて説明する。また、以下の説明では、同一の部材には同一の参照符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
［実施の形態１］
＜Ａ．システム構成＞
図１は、本実施の形態に係る通信システム１の概略構成を表した図である。図１を参照して、通信システム１は、サーバ装置１００と、コントローラ２００と、家庭用電気器具群４００と、端末装置としてのスマートフォン５００と、ルータ６００とを備える。家庭用電気器具群４００は、複数の家庭用電気器具（被制御装置）として、エアーコンディショナ４０１と、照明装置４０２と、テレビ４０３とを含む。なお、エアーコンディショナ４０１、照明装置４０２、およびテレビ４０３は、被制御装置の一例であって、これに限定されるものではない。
【００１８】
ルータ６００と、コントローラ２００と、各家庭用電気器具４０１〜４０３とは、宅内に設置されている。サーバ装置１００は、宅外に設置されている。また、本実施の形態では、スマートフォン５００は、宅外にいるユーザに所持されているものとして説明する。
【００１９】
スマートフォン５００は、サーバ装置１００と通信可能に接続されている。サーバ装置１００は、ルータ６００を介して、コントローラ２００と通信可能に接続されている。コントローラ２００は、サーバ装置１００および各家庭用電気器具４０１〜４０３と通信可能に接続されている。
【００２０】
サーバ装置１００は、ポーリングを利用した双方向通信と、常時接続を利用した双方向通信とを選択的に利用して、ルータ６００を介してコントローラ２００と通信する。通信システム１では、常時接続を利用することにより、ポーリングを行なうことなく双方向通信ができる。以下では、常時接続を利用した通信方式として、ウェブソケット（Web Socket）を用いる例を説明する。
【００２１】
サーバ装置１００は、ポーリングを利用した双方向通信およびウェブソケットを用いた双方向通信の各々において、一例として、ＸＭＬ（Extensible Markup Language）等のマークアップ言語を用いた通信仕様に基づき、コントローラ２００と通信する。なお、サーバ装置１００は、ＪＳＯＮ（JavaScript（登録商標） Object Notation）等の非マークアップ言を用いた通信仕様に基づき、コントローラ２００と通信してもよい。通信に用いるデータの形式は、特に限定されるものではない。
【００２２】
ポーリングを利用した双方向通信方式においては、コントローラ２００は、家庭用電気器具を制御するための制御指令が存在するか否かを、指定されたタイミングでサーバ装置１００に対して問い合わせ（つまり、ポーリングを行ない）、当該問い合わせに基づき制御指令を受信する。
【００２３】
以下においては、問合せのタイミングのデフォルト値がコントローラ２００において予め指定（決定）されており、サーバ装置１００が必要に応じてデフォルト値以外のタイミングで問い合せを行なうようにコントローラ２００に対して指令を送信する構成を例に挙げて説明する。具体的には、ポーリングの送信についての時間間隔がコントローラ２００において規定されており、サーバ装置１００が、デフォルト値以外のタイミングにおいてポーリングを実行させるために、ウェブソケットを用いた通信によってポーリングを実行させるための指令（ポーリング要求指令）をコントローラ２００に送信する構成を例に挙げて説明する。ポーリング要求指令を送信するためのトリガ等については、後述する。
【００２４】
なお、ポーリング要求指令が送信されることによりポーリングが行なわれる場合を含み、次回の問い合わせのタイミングは、サーバ装置１００によって毎回指定される構成であってもよい。つまり、ポーリングのタイミングは、サーバ装置１００によって都度指定される構成としてもよい。問い合わせのタイミングは、たとえば、時間間隔または時刻により指定され得る。
【００２５】
また、以下では、説明を簡略化するために、コントローラ２００は、ポーリング要求指令が送信されることによりポーリングが行なわれる場合を除き、指定されたタイミングの一例として予め定められた時間間隔で、サーバ装置１００に対してポーリングを行なうものとして説明を行なう。すなわち、実際には、ポーリングの時間間隔は、一定範囲のランダム要素が含まれるため、正確には予め定められ時間間隔とはならない。たとえば、次回の問い合わせのタイミングがサーバ装置１００によって毎回指定される構成においては、でサーバ装置１００から指定される時間は、たとえば１５分間隔といった固定された値ではなく、サーバ装置１００への負荷を加味して、１５分前後といったランダム要素が考慮された値となる。また、上述したように問合せのタイミングのデフォルト値がコントローラ２００において予め指定されている構成であっても、ランダム要素が考慮される。しかしながら、以下の説明では、説明を簡略化し、理解を容易とするために、当該ランダム要素を考慮しないで説明を行なう。
【００２６】
コントローラ２００は、スマートハウス向けの制御プロトコルおよびセンサーネットプロトコルを有する通信プロトコルを用いて、各家庭用電気器具４０１〜４０３と通信する。コントローラ２００は、たとえばＥＣＨＯＮＥＴ Ｌｉｔｅ（登録商標）によって、各家庭用電気器具４０１〜４０３と通信する。ただし、コントローラ２００と家庭用電気器具４０１〜４０３との通信は、ＥＣＨＯＮＥＴ Ｌｉｔｅのように汎用の通信プロトコルによるものではなく、独自の通信プロトコルにより実現してもよい。なお、コントローラ２００は、具体例を挙げれば、ホームサーバである。
【００２７】
本実施の形態では、説明の便宜上、各家庭用電気器具４０１〜４０３がＥＣＨＯＮＥＴＬｉｔｅによる通信を可能とする機能を内蔵しているものとして説明する。なお、家庭用電気器具がＥＣＨＯＮＥＴ Ｌｉｔｅによる通信を可能とする機能を内蔵していない場合には、当該機能を実現するためのアダプタを家庭用電気器具に通信可能に接続すればよい。
【００２８】
スマートフォン５００は、ユーザ操作に基づき、各家庭用電気器具４０１〜４０３を制御するための制御指令の入力を受け付ける。スマートフォン５００は、受付けた制御指令をサーバ装置１００に送信する。
【００２９】
サーバ装置１００は、制御指令をスマートフォン５００から受信した場合には、ポーリングに対する応答として、コントローラ２００に当該制御指令を送信する。この場合、コントローラ２００は、受信した制御指令に基づき、エアーコンディショナ４０１と照明装置４０２とテレビ４０３とのうち制御指令で指定された１つの家庭用電気器具を制御する。より詳しくは、コントローラ２００は、マークアップ言語を用いた制御指令から、ＥＣＨＯＮＥＴ Ｌｉｔｅの通信に必要なデータを抽出する。コントローラ２００は、当該抽出したデータを制御対象である家庭用電気器具に送信することより、当該家庭用電気器具を制御する。
【００３０】
より詳しくは、サーバ装置１００は、スマートフォン５００から受信した制御指令に基づき、被制御装置用の制御指令を生成し、当該生成した制御指令をコントローラ２００を介して被制御装置に送信する。それゆえ、コントローラ２００は、制御指令を生成する処理を行なう必要がなく、上記データの抽出のみを行なうだけでよい。したがって、コントローラ２００における処理を簡略化できる。
【００３１】
また、以下では、説明の便宜上、主として、スマートフォン５００からエアーコンディショナ４０１を制御する局面に着目して説明する。ただし、通信システム１で行なわれる後述する処理は、エアーコンディショナ４０１にのみ適用されるものではなく、照明装置４０２およびテレビ４０３等の各種の被制御装置に適用できる。
【００３２】
＜Ｂ．処理の概要＞
図２は、通信システム１における処理の概要を説明するためのシーケンスチャートである。図２を参照して、シーケンスＳＱ２において、コントローラ２００は、サーバ装置１００に対してポーリング（問い合わせ）を行なう。
【００３３】
コントローラ２００は、シーケンスＳＱ２においてポーリングを行なってから時間Ｔ１後に（つまり、指定されたタイミングで）、シーケンスＳＱ４において、サーバ装置１００に対して再度ポーリングを行なう。コントローラ２００は、シーケンスＳＱ４においてポーリングを行ってから時間Ｔ１後に、シーケンスＳＱ６において、サーバ装置１００に対して再度ポーリングを行なう。なお、時間Ｔ１は、一例として、１５分である。
【００３４】
シーケンスＳＱ６においてポーリングを行なってから時間Ｔ１が経過していない時点で、サーバ装置１００は、スマートフォン５００からエアーコンディショナ４０１を制御するための制御指令を受信する（シーケンスＳＱ８）。シーケンスＳＱ１０において、サーバ装置１００は、制御指令を受信したことに基づき、当該制御指令をコントローラ２００に送信するために、ウェブソケットを用いた常時接続の通信により、ポーリングをコントローラ２００に実行させるためのポーリング要求指令をコントローラ２００に対して送信する。
【００３５】
サーバ装置１００がポーリング要求指令をコントローラ２００に送信したことにより、通信システム１において、ポーリングの送信を含む一連の通信処理Ｇ１が実行される。具体的には、シーケンスＳＱ１２において、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ１４において、サーバ装置１００は、ポーリングを受け付けたことに基づき、スマートフォン５００から受信した制御命令をコントローラ２００に送信する。
【００３６】
以上のように、サーバ装置１００は、スマートフォン５００から制御指令を受信すると、次のポーリングを待たずに、ポーリング要求指令をウェブソケットによってコントローラ２００に送信する。また、サーバ装置１００は、ポーリングに対する応答として、制御指令をコントローラ２００に送信できる。
【００３７】
したがって、通信システム１では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期にコントローラ２００およびエアーコンディショナ４０１に送信可能となる。
【００３８】
また、通信システム１では、定期的に（たとえば１５分間隔で）行なわれるポーリングの処理を流用可能であるため、コントローラ２００の処理を、ポーリングの処理を流用しない場合に比べて簡易化できる。さらに、ポーリング要求指令のみをウェブソケットにより送信するため、制御指令をウェブソケットを用いて送信する構成に比べて当該ウェブソケットにおける通信処理の負荷を低減することができる。
【００３９】
＜Ｃ．ハードウェア構成＞
（ｃ１．サーバ装置１００）
図３は、サーバ装置１００のハードウェア構成の典型例を表した図である。図３を参照して、サーバ装置１００は、主たる構成要素として、プログラムを実行するＣＰＵ１５１と、データを不揮発的に格納するＲＯＭ１５２と、ＣＰＵ１５１によるプログラムの実行により生成されたデータ、又は入力装置（図示せず）を介して入力されたデータを揮発的に格納するＲＡＭ１５３と、データを不揮発的に格納するＨＤＤ１５４と、ＬＥＤ１５５と、スイッチ１５６と、通信ＩＦ（Interface）１５７と、電源回路１５８と、モニタ１５９と、操作キー１６０とを含む。各構成要素は、相互にデータバスによって接続されている。
【００４０】
電源回路１５８は、コンセントを介して受信した商用電源の電圧を降圧し、サーバ装置１００の各部に電源供給を行なう回路である。スイッチ１５６は、電源回路１５８に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。モニタ１５９は、各種のデータを表示するためのデバイスである。
【００４１】
通信ＩＦ１５７は、コントローラ２００に対するデータの送信処理およびコントローラ２００から送信されたデータの受信処理、並びに、スマートフォン５００に対するデータの送信処理およびスマートフォン５００から送信されたデータの受信処理を行なう。
【００４２】
ＬＥＤ１５５は、サーバ装置１００の動作状態を表す各種の表示ランプである。たとえば、ＬＥＤ１５５は、サーバ装置１００の主電源のオンまたはオフ状態、およびＨＤＤ１５４への読み出しまたは書き込み状態等を表す。操作キー１６０は、サーバ装置１００のユーザがサーバ装置１００へデータを入力するための用いるキー（キーボード）である。
【００４３】
サーバ装置１００における処理は、各ハードウェアおよびＣＰＵ１５１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＨＤＤ１５４に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ１５７等を介してダウンロードされた後、ＨＤＤ１５４に一旦格納される。そのソフトウェアは、ＣＰＵ１５１によってＨＤＤ１５４から読み出され、ＲＡＭ１５３に実行可能なプログラムの形式で格納される。ＣＰＵ１５１は、そのプログラムを実行する。
【００４４】
同図に示されるサーバ装置１００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ１５３、ＨＤＤ１５４、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置１００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００４５】
なお、記録媒体としては、ＤＶＤ−ＲＡＭに限られず、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ、ハードディスク、磁気テープ、カセットテープ、光ディスク、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４６】
（ｃ２．コントローラ２００）
図４は、コントローラ２００のハードウェア構成の典型例を表した図である。図４を参照して、コントローラ２００は、主たる構成要素として、プログラムを実行するＣＰＵ２５１と、データを不揮発的に格納するＲＯＭ２５２と、ＣＰＵ２５１によるプログラムの実行により生成されたデータ、又は入力装置（図示せず）を介して入力されたデータを揮発的に格納するＲＡＭ２５３と、データを不揮発的に格納するＨＤＤ２５４と、ＬＥＤ２５５と、スイッチ２５６と、通信ＩＦ（Interface）２５７と、電源回路２５８と、モニタ２５９と、操作キー２６０とを含む。各構成要素は、相互にデータバスによって接続されている。
【００４７】
電源回路２５８は、コンセントを介して受信した商用電源の電圧を降圧し、サーバ装置１００の各部に電源供給を行なう回路である。スイッチ２５６は、電源回路２５８に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。モニタ２５９は、各種のデータを表示するためのデバイスである。
【００４８】
通信ＩＦ２５７は、サーバ装置１００および各家庭用電気器具４０１〜４０３に対するデータの送信処理、およびサーバ装置１００および各家庭用電気器具４０１〜４０３から送信されたデータの受信処理を行なう。
【００４９】
ＬＥＤ２５５は、サーバ装置１００の動作状態を表す各種の表示ランプである。たとえば、ＬＥＤ２５５は、サーバ装置１００の主電源のオンまたはオフ状態、およびＨＤＤ２５４への読み出しまたは書き込み状態等を表す。操作キー２６０は、サーバ装置１００のユーザがサーバ装置１００へデータを入力するための用いるキー（キーボード）である。
【００５０】
サーバ装置１００における処理は、各ハードウェアおよびＣＰＵ２５１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＨＤＤ２５４に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ２５７等を介してダウンロードされた後、ＨＤＤ２５４に一旦格納される。そのソフトウェアは、ＣＰＵ２５１によってＨＤＤ２５４から読み出され、ＲＡＭ２５３に実行可能なプログラムの形式で格納される。ＣＰＵ２５１は、そのプログラムを実行する。
【００５１】
同図に示されるサーバ装置１００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ２５３、ＨＤＤ２５４、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置１００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００５２】
なお、記録媒体としては、ＤＶＤ−ＲＡＭに限られず、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ、ハードディスク、磁気テープ、カセットテープ、光ディスク、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５３】
＜Ｄ．処理の詳細＞
（ｄ１．通信処理Ｇ１）
図５は、図２に示した通信処理Ｇ１の詳細を説明するための図である。詳しくは、図５は、ポーリングを開始することによって行なわれる一連の処理を説明するための図である。
【００５４】
図５を参照して、シーケンスＳＱ１２において、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。換言すれば、コントローラ２００は、サーバ装置１００に対して、指示確認を行なうための確認信号を送信する。
【００５５】
シーケンスＳＱ１４において、サーバ装置１００は、コントローラ２００に対して、スマートフォン５００から受信した制御指令を送信する。換言すれば、サーバ装置１００は、コントローラ２００に対して、制御を要求するための要求信号を送信する。なお、制御指令には、被制御装置の最新の状態を取得することを指示する状態更新指令、被制御装置の動作状態を変更するための機器制御指令等を含む。動作状態とは、エアーコンディショナ４０１に関しては、運転または停止、運転種別（冷房、除湿、送風、暖房）、設定温度、風量等を含む。
【００５６】
シーケンスＳＱ１６において、コントローラ２００は、サーバ装置１００に対して、制御指令に基づく処理を実行した旨を表す応答信号を送信する。シーケンスＳＱ１８において、サーバ装置１００は、応答信号を受信したことに基づき、コントローラ２００に対して、通信処理Ｇ１を終了することを表す終了通知を送信する。
【００５７】
なお、上述したように、シーケンスＳＱ１２のポーリングは、予め定められた時間間隔（たとえば１５分間隔）で行われる。詳しくは、通信処理Ｇ１は、ポーリング要求指令がサーバ装置１００からコントローラ２００に送信されない限り、当該予め定められた時間間隔で実行される。
【００５８】
（ｄ２．状態更新）
図６は、状態更新処理を説明するためのシーケンスチャートである。詳しくは、図６は、スマートフォン５００のユーザがエアーコンディショナ４０１の状態を取得するための処理の流れを説明するための図である。
【００５９】
図６を参照して、シーケンスＳＱ１０２において、スマートフォン５００は、スマートフォン５００のユーザの操作に基づき、制御指令を送信する。具体的には、スマートフォン５００は、状態更新指令を送信する。シーケンスＳＱ１０４において、サーバ装置１００は、ウェブソケット通信によって、ポーリング要求指令をコントローラ２００に送信する。シーケンスＳＱ１０６において、サーバ装置１００は、制御指令をサーバ装置１００が受け付けたことを表す確認通知と、サーバ装置１００において当該制御指令を特定するための指令ＩＤとをスマートフォン５００に送信する。
【００６０】
コントローラ２００がポーリング要求指令を受信したことに基づき、通信システム１において、一連の通信処理Ｇ２１が行なわれる。まず、シーケンスＳＱ１０８において、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ１１０において、サーバ装置１００は、スマートフォン５００から受信した制御指令（状態更新指令）をコントローラ２００に送信する。つまり、サーバ装置１００は、被制御装置（エアーコンディショナ４０１）がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ２００に送信する。シーケンスＳＱ１１２において、コントローラ２００は、エアーコンディショナ４０１の状態を表した応答信号をサーバ装置１００に送信する。シーケンスＳＱ１１４において、サーバ装置１００は、コントローラ２００に対して終了通知を送信する。
【００６１】
シーケンスＳＱ１１６において、スマートフォン５００は、スマートフォン５００のユーザの操作に基づき、機器状態取得要求を行なう。すなわち、スマートフォン５００は、ＳＱ１０６において受信した指令ＩＤを用いて、サーバ装置１００がコントローラ２００から取得したエアーコンディショナ４０１の状態を送信するよう、サーバ装置１００に対して指示する。シーケンスＳＱ１１８において、サーバ装置１００は、エアーコンディショナ４０１の機器状態をスマートフォン５００に送信する。これにより、スマートフォン５００のユーザは、エアーコンディショナ４０１の現在の状態を把握することが可能となる。
【００６２】
（ｄ３．制御指示）
図７は、機器制御処理を説明するためのシーケンスチャートである。詳しくは、図７は、スマートフォン５００のユーザがエアーコンディショナ４０１の動作を制御するための処理の流れを説明するための図である。
【００６３】
図７を参照して、シーケンスＳＱ２０２において、スマートフォン５００は、スマートフォン５００のユーザの操作に基づき、制御指令を送信する。具体的には、スマートフォン５００は、機器制御指令を送信する。シーケンスＳＱ２０４において、サーバ装置１００は、ウェブソケット通信によって、ポーリング要求指令をコントローラ２００に送信する。シーケンスＳＱ２０６において、サーバ装置１００は、制御指令をサーバ装置１００が受け付けたことを表す確認通知と、サーバ装置１００において当該制御指令を特定するための指令ＩＤとをスマートフォン５００に送信する。
【００６４】
コントローラ２００がポーリング要求指令を受信したことに基づき、通信システム１において、一連の通信処理Ｇ３１が行なわれる。まず、シーケンスＳＱ２０８において、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ２１０において、サーバ装置１００は、スマートフォン５００から受信した制御指令（機器制御指令）をコントローラ２００に送信する。つまり、サーバ装置１００は、被制御装置（エアーコンディショナ４０１）の動作を機器制御指令に基づいて制御するように要求する制御要求信号を、コントローラ２００に送信する。シーケンスＳＱ２１２において、コントローラ２００は、エアーコンディショナ４０１の動作を制御したことを表す応答信号をサーバ装置１００に送信する。シーケンスＳＱ２１４において、サーバ装置１００は、コントローラ２００に対して終了通知を送信する。
【００６５】
シーケンスＳＱ２１６において、サーバ装置１００は、再び、ウェブソケット通信によってポーリング要求指令をコントローラ２００に送信する。サーバ装置１００は、シーケンスＳＱ２１０において制御指令を送信してから予め定められた時間経過した後に、当該ポーリング要求指令をコントローラ２００に対して送信する。予め定められた時間として、たとえば、２００ｍｓとすることができる。
【００６６】
予め定められた時間経過した後にポーリング要求指令をコントローラ２００に送信する理由は、制御指令の送信直後ではエアーコンディショナ４０１の状態が変更させていない虞があるためである。なお、通信システム１において、シーケンスＳＱ２１４の後の直後にポーリング要求指令を送信しても上記の問題が生じない場合には、予め定められた時間の経過を待たずにポーリング要求指令を送信するように、サーバ装置１００を構成してもよい。
【００６７】
コントローラ２００がポーリング要求指令を受信したことに基づき、通信システム１において、一連の通信処理Ｇ２２が行なわれる。まず、シーケンスＳＱ２１８において、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ２２０において、サーバ装置１００は、状態更新指令をコントローラ２００に送信する。つまり、サーバ装置１００は、エアーコンディショナ４０１がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ２００に送信する。詳しくは、サーバ装置１００は、機器制御指令により制御を指示した項目を含めた、エアーコンディショナ４０１の状態を特定するための全ての項目を送信するよう、コントローラ２００に要求する。なお、サーバ装置１００を、制御を指示した項目のみを送信するようコントローラ２００に要求する構成としてもよい。
【００６８】
シーケンスＳＱ２２２において、コントローラ２００は、エアーコンディショナ４０１の状態を表した応答信号をサーバ装置１００に送信する。シーケンスＳＱ２２４において、サーバ装置１００は、コントローラ２００に対して終了通知を送信する。
【００６９】
シーケンスＳＱ２２６において、スマートフォン５００は、スマートフォン５００のユーザの操作に基づき、機器状態取得要求を行なう。すなわち、スマートフォン５００は、ＳＱ２０６において受信した指令ＩＤを用いて、サーバ装置１００がコントローラ２００から取得したエアーコンディショナ４０１の状態を送信するよう、サーバ装置１００に対して指示する。シーケンスＳＱ２２８において、サーバ装置１００は、エアーコンディショナ４０１の機器状態をスマートフォン５００に送信する。これにより、スマートフォン５００のユーザは、エアーコンディショナ４０１の現在の状態（動作を制御した後の状態）を把握することが可能となる。
【００７０】
図６および図７に示したように、サーバ装置１００は、スマートフォン５００からの制御指令の種別に関わらず、同一内容のポーリング要求指令をコントローラ２００に送信する。それゆえ、コントローラ２００は、制御指令の種別を判断することなく、ポーリングを行なう。したがって、制御指令の種別の判断を行なう必要がある構成に比べて、コントローラ２００における処理を簡略化できる。
【００７１】
また、ポーリングの種別は１つのみであるため、ポーリング要求指令においてもポーリングの種別の指定が不要となる。それゆえ、コントローラ２００は、ポーリングの種別を判定する必要がなくなる。したがって、ポーリングの種別を判定する必要がある構成に比べて、コントローラ２００における処理を簡略化できる。
【００７２】
（ｄ４．被制御装置とコントローラとサーバ装置との間の通信の態様）
図８は、サーバ装置１００とコントローラ２００との間の通信処理Ｇ１と、当該通信処理Ｇ１に基づくコントローラ２００とエアーコンディショナ４０１との間の通信の一例とを説明するためのシーケンスチャートである。図８を参照して、シーケンスＳＱ１２において、上述したとおり、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ１２の後は、一連の通信処理ｇ１１（シーケンスＳＱ１４，ＳＱ３０２，ＳＱ３０４，ＳＱ１６）が実行される。
【００７３】
まず、シーケンスＳＱ１４において、サーバ装置１００は、コントローラ２００に対して、スマートフォン５００から受信した制御指令を送信する。シーケンスＳＱ３０２において、コントローラ２００は、サーバ装置１００から受信した制御指令をエアーコンディショナ４０１に送る。具体的には、コントローラ２００は、サーバ装置１００から受信した制御命令からエアーコンディショナ４０１の制御に用いるデータ（記述）を抽出し、当該抽出されたデータを用いてエアーコンディショナ４０１を制御する。より具体的には、コントローラ２００は、マークアップ言語等で記述された制御命令からＥＣＨＯＮＥＴ Ｌｉｔｅ用の制御命令を生成する。シーケンスＳＱ３０４において、エアーコンディショナ４０１は、コントローラ２００に対して制御命令に応じた応答信号（状態を表す信号、制御結果を表す信号等）を送信する。
【００７４】
シーケンスＳＱ１６において、上述したとおり、コントローラ２００は、サーバ装置１００に対して、制御指令に基づく処理を実行した旨を表す応答信号を送信する。シーケンスＳＱ１８において、サーバ装置１００は、応答信号を受信したことに基づき、コントローラ２００に対して、通信処理Ｇ１を終了することを表す終了通知を送信する。
【００７５】
図９は、サーバ装置１００とコントローラ２００との間の他の通信処理Ｇ１’と、当該通信処理Ｇ１’に基づくコントローラ２００とエアーコンディショナ４０１との間の通信処理とを説明するためのシーケンスチャートである。
【００７６】
図９を参照して、シーケンスＳＱ１２において、上述したとおり、コントローラ２００は、サーバ装置１００に対してポーリングを行なう。シーケンスＳＱ１２の後は、一連の通信処理ｇ１２（シーケンスＳＱ１４Ａ，ＳＱ３０２Ａ，ＳＱ３０４Ａ，ＳＱ１６Ａ）と、一連の処理ｇ１１（シーケンスＳＱ１４，ＳＱ３０２，ＳＱ３０４，ＳＱ１６）とが、この順に実行される。
【００７７】
シーケンスＳＱ１４Ａにおいて、サーバ装置１００は、コントローラ２００に対して、指定された制御指令（たとえば、後述する属性情報を要求するための制御指令）を送信する。シーケンスＳＱ３０２Ａにおいて、上述したとおり、コントローラ２００は、サーバ装置１００から受信した制御指令をエアーコンディショナ４０１に送る。シーケンスＳＱ３０４Ａにおいて、エアーコンディショナ４０１は、コントローラ２００に対して制御命令に応じた応答信号（たとえば属性情報を表す信号）を送信する。シーケンスＳＱ１６Ａにおいて、コントローラ２００は、サーバ装置１００に対して、受信した応答信号に基づく応答信号を送信する。
【００７８】
シーケンスＳＱ１４において、サーバ装置１００は、コントローラ２００に対して、スマートフォン５００から受信した制御指令を送信する。シーケンスＳＱ３０２において、コントローラ２００は、サーバ装置１００から受信した制御指令をエアーコンディショナ４０１に送る。シーケンスＳＱ３０４において、エアーコンディショナ４０１は、コントローラ２００に対して制御命令に応じた応答信号（状態を表す信号、制御結果を表す信号等）を送信する。シーケンスＳＱ１８において、サーバ装置１００は、応答信号を受信したことに基づき、コントローラ２００に対して、通信処理Ｇ１を終了することを表す終了通知を送信する。
【００７９】
なお、図８では通信処理ｇ１１を含むシーケンスを説明し、図９では通信処理ｇ１１に加えて通信処理ｇ１２を含むシーケンスを例に挙げて説明した。しかしながら、被制御装置とコントローラとサーバ装置との間の通信の態様はこれらに限定されるものではない。さらに、通信処理ｇ１１，ｇ１２以外に、他の一連の通信処理（たとえば図示しない通信処理ｇ１３，ｇ１４，…）を含む構成であってもよい。
【００８０】
図１０は、図９における通信処理Ｇ１’の一例の詳細を説明するためのシーケンスチャートである。詳しくは、図１０は、通信処理Ｇ１’の典型例である通信処理Ｇ４１を説明するための図である。
【００８１】
図１０を参照して、シーケンスＳＱ４０４において、コントローラ２００は、サーバ装置１００のＣＰＵ１５１に対してポーリングを行なう。シーケンスＳＱ４０４の後は、ステップＳ２において、ＣＰＵ１５１は、第１の判断処理を実行する。なお、第１の判断処理の詳細については、後述する（図１３）。ステップＳ２の後、シーケンスＳＱ４０６において、ＣＰＵ１５１は、コントローラ２００に対して、属性情報を要求するための制御指令（属性要求信号）を送信するための処理を実行する。
【００８２】
シーケンスＳＱ４０８において、コントローラ２００は、ＣＰＵ１５１に対して、制御命令に応じた応答信号（属性情報を表す信号）を送信する。シーケンスＳＱ４０８の後、ステップＳ４において、ＣＰＵ１５１は、第２の判断処理を実行する。なお、第２の判断処理の詳細については、後述する（図１４）。ステップＳ４の後、ＣＰＵ１５１は、コントローラ２００から受信した属性情報をＨＤＤ１５４に格納する。
【００８３】
属性情報とは、被制御装置に関する情報であって、変更されない情報である。具体的には、本実施の形態の場合、属性情報には、ＥＣＨＯＮＥＴ  Ｌｉｔｅのプロパティに含まれる、メーカ名、商品名、制御可能プロパティ、状態取得可能プロパティの一部等が含まれる。なお、「制御可能プロパティ」とは、制御可能な項目を表した情報である。「状態取得可能プロパティ」とは、複数の状態を表す項目のうち、取得可能な項目を表した情報である。
【００８４】
シーケンスＳＱ４１２において、ＣＰＵ１５１は、エアーコンディショナ４０１の状態の送信を要求する制御命令（状態要求信号）を、コントローラ２００に送信する。シーケンスＳＱ４１２の後、ステップＳ６において、ＣＰＵ１５１は、再度、第２の判断処理を実行する。ステップＳ６の後、ＣＰＵ１５１は、コントローラ２００から受信した状態情報をＨＤＤ１５４に格納する。シーケンスＳＱ４１８において、ＣＰＵ１５１は、シーケンスＳＱ４１４において応答信号を受信したことに基づき、コントローラ２００に対して、通信処理Ｇ４１を終了することを表す終了通知を送信する。
【００８５】
なお、状態情報とは、被制御装置の動作状態を表す情報である。詳細には、上記状態取得プロパティに沿って取得する被制御装置の状態を表した情報である。本実施の形態では、状態情報とは、上記状態取得可能プロパティのうち、属性情報に関する情報を除いた情報である。
【００８６】
図１１は、図８における通信処理Ｇ１の一例の詳細を説明するためのシーケンスチャートである。詳しくは、図１１は、通信処理Ｇ１の典型例である通信処理Ｇ３１を説明するための図である。さらには、図１１は、図７に示した通信処理Ｇ３１の詳細を表した図である。
【００８７】
図１１を参照して、シーケンスＳＱ２０８において、コントローラ２００は、サーバ装置１００のＣＰＵ１５１に対してポーリングを行なう。シーケンスＳＱ２０８の後、ＣＰＵ１５１は、ステップＳ１２において、第１の判断処理を実行する。
【００８８】
ステップＳ１２の後、シーケンスＳＱ２５２において、ＣＰＵ１５１は、制御指令（機器制御指令）をＨＤＤ１５４から読み出す。つまり、ＣＰＵ１５１は、スマートフォン５００から事前に受信し、かつＨＤＤ１５４に格納しておいた機器制御命令を読み出す。シーケンスＳＱ２１０において、サーバ装置１００は、スマートフォン５００から受信した制御指令（機器制御指令）をコントローラ２００に送信する。つまり、サーバ装置１００は、エアーコンディショナ４０１の動作を機器制御指令に基づいて制御するように要求する制御要求信号を、コントローラ２００に送信する。
【００８９】
シーケンスＳＱ２１２において、コントローラ２００は、エアーコンディショナ４０１の動作を制御したことを表す応答信号をＣＰＵ１５１に送信する。シーケンスＳＱ２１２の後、ステップＳ１４において、ＣＰＵ１５１は第２の判断処理を実行する。ステップＳ１４の後、シーケンスＳＱ２１４において、ＣＰＵ１５１は、コントローラ２００に対して終了通知を送信する。
【００９０】
図１２は、図８における通信処理Ｇ１の他の例の詳細を説明するためのシーケンスチャートである。詳しくは、図１２は、通信処理Ｇ１の他の典型例である通信処理Ｇ２２を説明するための図である。さらには、図１２は、図７に示した通信処理Ｇ２２の詳細を表した図である。
【００９１】
図１２を参照して、シーケンスＳＱ２１８において、コントローラ２００は、サーバ装置１００のＣＰＵ１５１に対してポーリングを行なう。シーケンスＳＱ２１８の後、ステップＳ２２において、ＣＰＵ１５１は、第１の判断処理を実行する。ステップＳ２２の後、シーケンスＳＱ２２０において、ＣＰＵ１５１は、制御指令として状態更新指令をコントローラ２００に送信する。つまり、ＣＰＵ１５１は、エアーコンディショナ４０１がどのような状態であるのかを通知するよう要求する状態要求信号を、コントローラ２００に送信する。
【００９２】
シーケンスＳＱ２２２において、コントローラ２００は、エアーコンディショナ４０１の状態を表した応答信号（状態情報）をサーバ装置１００に送信する。シーケンスＳＱ２２２の後、ステップＳ２４において、ＣＰＵ１５１は、第２の判断処理を実行する。ステップＳ２４の後、シーケンスＳＱ２６２において、ＣＰＵ１５１は、コントローラ２００から受信した状態情報をＨＤＤ１５４に格納する。シーケンスＳＱ２２４において、ＣＰＵ１５１は、コントローラ２００に対して終了通知を送信する。
【００９３】
図１３は、図１０〜図１２における第１の判断処理の詳細を説明するためのフローチャートである。図１３を参照して、ステップＳ１０２において、サーバ装置１００のＣＰＵ１５１は、ＨＤＤ１５４に機器制御指令が格納されているか否かを判断する。ＣＰＵ１５１は、機器制御指令が格納されていると判断された場合（ステップＳ１０２においてＹＥＳ）、ステップＳ１０８において制御要求信号を送信対象とし、第１の判断処理を終了する。ＣＰＵ１５１は、機器制御指令が格納されていないと判断された場合（ステップＳ１０２においてＮＯ）、ステップＳ１０４において、エアーコンディショナ４０１の属性情報を取得済みであるか否かを判断する。具体的には、ＣＰＵ１５１は、ＨＤＤ１５４に属性情報が既に格納されているか否かを判断する。
【００９４】
ＣＰＵ１５１は、属性情報を取得済みであると判断した場合（ステップＳ１０４においてＹＥＳ）、ステップＳ１１０において状態要求信号を送信対象とし、第１の判断処理を終了する。ＣＰＵ１５１は、属性情報を未だ取得していないと判断した場合（ステップＳ１０４においてＮＯ）、ステップＳ１０６において属性要求信号を送信対象とし、第１の判断処理を終了する。
【００９５】
図１４は、図１０〜図１２における第２の判断処理の詳細を説明するためのフローチャートである。図１４を参照して、ステップＳ２０２において、ＣＰＵ１５１は、属性情報を受信したか否かを判断する。ＣＰＵ１５１は、属性情報を受信したと判断した場合（ステップＳ２０２においてＹＥＳ）、ステップＳ２０８において当該受信した属性情報をＨＤＤ１５４に格納する。ステップＳ２０８の後は、ステップＳ２１０において、ＣＰＵ１５１は、状態要求信号を送信対象とし、第２の判断処理を終了する。
【００９６】
ＣＰＵ１５１は、属性情報を受信しなかったと判断した場合（ステップＳ２０２においてＮＯ）、ステップＳ２０４において状態情報を受信したか否かを判断する。ＣＰＵ１５１は、属性情報を受信したと判断した場合（ステップＳ２０４においてＹＥＳ），ステップＳ２１２において当該受信した状態情報をＨＤＤ１５４に格納する。ステップＳ２１２の後は、ステップＳ２１４において、ＣＰＵ１５１は、終了通知を送信対象として、第２の判断処理を終了する。ＣＰＵ１５１は、状態情報を受信しなかったと判断した場合（ステップＳ２０４においてＮＯ）、ステップＳ２０６において終了通知を送信対象とし、第２の判断処理を終了する。
【００９７】
＜Ｅ．機能的構成＞
図１５は、サーバ装置１００の機能的構成を説明するための図である。図１５を参照して、サーバ装置１００は、受信部１１１と、記憶部１１２と、送信部１１３と、受付部１１１４とを備える。
【００９８】
（１）上述したように、コントローラ２００は、被制御装置を制御するための制御指令がサーバ装置１００に存在するか否かを、指定されたタイミングでサーバ装置１００に問い合わせる。つまり、コントローラ２００は、指定されたタイミングでポーリングを行なう。
【００９９】
サーバ装置１００の受信部１１１は、制御指令をスマートフォン５００から受信する。詳しくは、受信部１１１は、制御指令として、機器制御指令、状態更新指令を受信する。記憶部１１２は、スマートフォン５００から受信した制御指令を記憶する。
【０１００】
送信部１１３は、受信部１１１によって制御指令が受信された場合、当該制御指令をコントローラ２００に送信するために、ポーリング（問い合わせ）をコントローラ２００に実行させる指令（つまりポーリング要求指令）をコントローラ２００に対して送信する。  
【０１０１】
この場合、コントローラ２００は、ポーリング要求指令を受信したことに基づき、指定されたタイミングよりも早いタイミングでポーリングを行なう。具体的には、ポーリング要求指令を受信した後、速やかにポーリングを開始する。
【０１０２】
送信部１１３は、ポーリングに対して、制御指令をコントローラ２００に送信する。つまり、送信部１１３は、受付部１１４がポーリングをコントローラ２００から受け付けたことに基づき、スマートフォンから事前に受け付けていた制御命令をコントローラ２００に送信する。
【０１０３】
したがって、通信システム１では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期にコントローラ２００および被制御装置に送信可能となる。
【０１０４】
（２）詳しくは、送信部１１３は、ポーリング要求指令を、コントローラ２００との常時接続によるデータ通信によってコントローラ２００に送信する。具体的には、送信部１１３は、ウェブソケットによりポーリング要求指令をコントローラ２００に送信する。したがって、サーバ装置１００は、制御指令をリアルタイムにコントローラ２００に送信可能となる。
【０１０５】
（３）送信部１１３は、制御指令が第１の種別の指令（たとえば、状態更新指令）である場合には、コントローラ２００に対してポーリング要求指令を１回送信する。また、送信部１１３は、制御指令が第２の種別の指令（たとえば、機器制御指令）である場合には、コントローラ２００に対してポーリング要求指令を複数回送信する。したがって、サーバ装置１００は、制御指令の種別を判断することにより、ポーリング要求指令の送信回数を判断できる。
【０１０６】
（４）ある局面において、送信部１１３は、制御指令が上記第２の種別である場合には、コントローラ２００に対してポーリング要求指令を２回送信する。送信部１１３は、１回目のポーリング要求指令に基づくポーリングに応じた制御指令の送信が終了した後に、２回目のポーリング要求指令をコントローラ２００に対して送信する。
【０１０７】
より詳しくは、送信部１１３は、１回目のポーリング要求指令に基づくポーリングに関する一連の通信処理が終了した後に、２回目のポーリング要求指令をコントローラ２００に対して送信する。この点について図７に基づいて説明すれば、送信部１１３は、シーケンスＳＱ２０４におけるポーリング要求指令に基づくポーリングに関する通信処理Ｇ３１が終了した後に、シーケンスＳＱ２１６において、次のポーリング要求指令をコントローラ２００に対して送信する。
【０１０８】
したがって、サーバ装置１００は、１回目のポーリングに基づいた制御指令の送信が終了した後に、速やかに次の制御指令をコントローラ２００に送信可能となる。
［実施の形態２］
図１６は、本実施の形態に係る通信システム１Ａの概略構成を表した図である。図１６を参照して、通信システム１Ａは、サーバ装置１００と、複数のコントローラ３００と、家庭用電気器具群４００と、端末装置としてのスマートフォン５００と、ルータ６００とを備える。通信システム１Ａは、コントローラ２００の代わりに複数のコントローラ３００を備える点において、実施の形態１の通信システム１とは異なる。
【０１０９】
サーバ装置１００は、ルータ６００を介して、各コントローラ３００と通信可能に接続されている。具体的には、サーバ装置１００は、ポーリングを利用した双方向通信と、常時接続を利用した双方向通信とを選択的に利用して、ルータ６００を介して各コントローラ３００と通信する。各コントローラ３００は、ルータ６００を介して、サーバ装置１００および対応する１つの家庭用電気器具と通信可能に接続されている。
【０１１０】
各コントローラは、宅内に設置されている。各コントローラ３００は、コントローラに接続された家庭用電気器具の動作を制御する。つまり、各コントローラ３００は、対応する家庭用電気器具を制御する装置として機能する。各コントローラ３００は、実施の形態１のコントローラ２００と同様、サーバ装置１００に対してポーリングを行なう。詳しくは、各コントローラ３００は、コントローラ２００について説明したのと同様のポーリング処理を行なう。それゆえ、各コントローラ３００のポーリングに関する説明は、ここでは繰り返さない。
【０１１１】
なお、各コントローラ３００は、対応する家庭用電気器具と離れた位置に設置されていてもよいし、あるいは当該家庭用電気器具に据え付けられていてもよい。また、各コントローラ３００は、対応する家庭用電気器具の内部に備え付けられていてもよい。
【０１１２】
通信システム１Ａにおいては、サーバ装置１００は、ＸＭＬ等のマークアップ言語を用いた通信仕様、あるいはＪＳＯＮ等の非マークアップ言を用いた通信仕様に基づき、各コントローラ３００と通信する。なお、通信に用いるデータの形式は、特に限定されるものではない。
【０１１３】
図１７は、コントローラ３００のハードウェア構成の典型例を表した図である。図１７を参照して、コントローラ３００は、主たる構成要素として、プログラムを実行するＣＰＵ３５１と、フラッシュＲＯＭ等のデータを不揮発的に格納するＲＯＭ３５２と、ＣＰＵ３５１によるプログラムの実行により生成されたデータ、又は入力装置（図示せず）を介して入力されたデータを揮発的に格納するＲＡＭ３５３と、スイッチ３５６と、通信ＩＦ３５７と、電源回路３５８とを含む。各構成要素は、相互にデータバスによって接続されている。
【０１１４】
電源回路３５８は、コンセントを介して受信した商用電源の電圧を降圧し、コントローラ３００の各部に電源供給を行なう回路である。スイッチ３５６は、電源回路３５８に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。通信ＩＦ３５７は、サーバ装置１００およびエアーコンディショナ４０１との間で通信を行なうために、データの送受信処理を行なう。
【０１１５】
コントローラ３００における処理は、各ハードウェアおよびＣＰＵ３５１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＲＯＭ３５２に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ３５７等を介してダウンロードされた後、ＲＯＭ３５２に一旦格納される。そのソフトウェアは、ＣＰＵ３５１によってＲＯＭ３５２から読み出され、ＲＡＭ３５３に実行可能なプログラムの形式で格納される。ＣＰＵ３５１は、そのプログラムを実行する。
【０１１６】
同図に示されるコントローラ３００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ３５３、ＲＯＭ３５２、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コントローラ３００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【０１１７】
なお、記録媒体としては、ＤＶＤ−ＲＡＭに限られず、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ、ハードディスク、磁気テープ、カセットテープ、光ディスク、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１１８】
本実施の形態においても、実施の形態１における通信システム１で得られる効果（利点）と同様の効果を得ることができる。
［実施の形態３］
図１８は、本実施の形態に係る通信システム１Ｂの概略構成を表した図である。図１８を参照して、通信システム１Ｂは、サーバ装置１００と、コントローラ２００と、コントローラ３００と、家庭用電気器具群４００と、端末装置としてのスマートフォン５００と、ルータ６００とを備える。通信システム１Ｃは、コントローラ３００をさらに備える点において、実施の形態１の通信システム１とは異なる。
【０１１９】
サーバ装置１００は、コントローラ２００（ホームサーバ）およびコントローラ３００（通信機器）と通信可能に接続されている。コントローラ２００は、サーバ装置１００および各家庭用電気器具４０１〜４０３と通信可能に接続されている。コントローラ３００は、サーバ装置１００およびエアーコンディショナ４０１と通信可能に接続されている。このように、通信システム１Ｃでは、サーバ装置１００は、コントローラ２００を介してエアーコンディショナ４０１と通信可能に接続されているとともに、コントローラ３００を介してエアーコンディショナ４０１と通信可能に接続されている。
【０１２０】
サーバ装置１００は、受信した制御指令がエアーコンディショナ４０１を制御するための指令である場合、エアーコンディショナ４０１を制御する主体として、予め定められた規則に基づき、コントローラ２００およびコントローラ３００の何れかを選択する。この場合、サーバ装置１００によって選択された機器（コントローラ２００またはコントローラ３００）は、受信した制御指令に基づき、エアーコンディショナ４０１を制御する。たとえば、コントローラ３００が選択された場合、コントローラ３００は、マークアップ言語を用いた制御指令を解釈し、エアーコンディショナ４０１を制御する。また、コントローラ２００が選択された場合、上記と同様に、制御指令から抽出したデータを制御対象であるエアーコンディショナ４０１に送信することより、家庭用電気器具を制御する。
【０１２１】
このように、コントローラ２００は、各家庭用電気器具４０１〜４０３を制御するための制御装置として機能する。また、コントローラ３００は、エアーコンディショナ４０１の動作を制御するための制御装置として機能する。つまり、通信システム１Ｃでは、２つの制御装置（コントローラ２００およびコントローラ３００）によって、１つの被制御装置であるエアーコンディショナ４０１の制御が可能である。
【０１２２】
コントローラ３００は、実施の形態２で説明したとおり、実施の形態１のコントローラ２００と同様、サーバ装置１００に対してポーリングを行なう。詳しくは、コントローラ３００は、コントローラ２００について説明したのと同様のポーリング処理を行なう。それゆえ、コントローラ３００のポーリングに関する説明は、ここでは繰り返さない。
【０１２３】
本実施の形態においても、実施の形態１における通信システム１で得られる効果（利点）と同様の効果を得ることができる。
［実施の形態４］
実施の形態１では、一台のコントローラ２００によって複数の家庭用電気器具４０１〜４０３を制御する構成を説明した。本実施の形態に係る通信システムでは、複数台のコントローラ（具体的には、ホームサーバ）によって、各家庭用電気器具４０１〜４０３を制御する。一例を挙げれば、コントローラ２００とは別のコントローラが、複数の家庭用電気器具４０１〜４０３のうちの少なくとも１つを制御する。このように、複数台のホームサーバによって家庭用電気器具を個別に制御する構成にも、実施の形態１で説明した処理を適用できる。
［実施の形態５］
本実施の形態に係る通信システムは、サーバ装置１００とは別に、データベースサーバ装置を備える。サーバ装置１００は、コントローラ２００を介して取得した属性情報および状態情報、並びにスマートフォン５００から受信した各種の制御指令を、当該データベースサーバ装置に格納する。つまり、サーバ装置１００は、ＨＤＤ１５４の代わりに、データベースサーバ装置を利用する。このようなシステム構成であっても、実施の形態１で述べた効果と同様の効果を得ることができる。
【０１２４】
＜まとめ＞
（１）通信システム１は、サーバ装置１００と、被制御装置（家庭用電気器具４０１〜４０３）を制御する制御装置（コントローラ２００）とを備える。
【０１２５】
前記制御装置は、前記被制御装置を制御するための第１の指令が前記サーバ装置に存在するか否かを、指定されたタイミングで前記サーバ装置に問い合わせる。
【０１２６】
前記サーバ装置は、前記第１の指令を電子機器（スマートフォン５００）から受信する受信部１１１と、前記問い合わせ（ポーリング）に対して、前記第１の指令を前記制御装置に送信する送信部１１３とを含む。送信部１１３は、受信部１１１によって前記第１の指令が受信された場合、前記第１の指令を前記制御装置に送信するために、前記問い合わせを前記制御装置に実行させる第２の指令を前記制御装置に対して送信する。
【０１２７】
前記制御装置は、前記第２の指令を受信したことに基づき、前記指定されたタイミングよりも早いタイミングで前記問い合わせを行なう。
【０１２８】
したがって、通信システム１では、ポーリングを用いた通信処理を利用しつつも、従来のタイミングでポーリングを行なう場合よりも制御指令を早期に制御装置および被制御装置に送信可能となる。
【０１２９】
（２）送信部１１３は、前記第２の指令を、前記制御装置との常時接続によるデータ通信によって前記制御装置に送信する。したがって、サーバ装置１００は、制御指令をリアルタイムに制御装置に送信可能となる。
【０１３０】
（３）送信部１１３は、前記第１の指令が第１の種別の指令である場合には、前記制御装置に対して前記第２の指令を１回送信する。送信部１１３は、前記第１の指令が第２の種別の指令である場合には、前記制御装置に対して前記第２の指令を複数回送信する。したがって、サーバ装置１００は、制御指令の種別を判断することにより、ポーリング要求指令の送信回数を判断できる。
【０１３１】
（４）送信部１１３は、前記第１の指令が前記第２の種別である場合には、前記制御装置に対して前記第２の指令を２回送信する。送信部１１３は、１回目の前記第２の指令に基づく前記問い合わせに応じた前記第１の指令の送信が終了した後に、２回目の前記第２の指令を前記制御装置に対して送信する。したがって、サーバ装置１００は、１回目のポーリングに基づいた制御指令の送信が終了した後に、速やかに次の制御指令を制御装置に送信可能となる。
【０１３２】
（５）前記問い合せのタイミングは、前記サーバ装置によって指定される。この場合、制御装置においては、問い合わせのタイミングを予め設定しておく必要がなくなる。
【０１３３】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３４】
１，１Ａ，１Ｂ，１Ｃ  通信システム、１００  サーバ装置、１１１  受信部、１１２  記憶部、１１３  送信部、１１４  受付部、１５１，２５１，３５１  ＣＰＵ、１５２，２５２，３５２  ＲＯＭ、１５３，２５３，３５３  ＲＡＭ、１５４，２５４  ＨＤＤ、２００，３００  コントローラ、４００  家庭用電気器具群、４０１  エアーコンディショナ、４０２  照明装置、４０３  テレビ、５００  スマートフォン、６００  ルータ、１５７，２５７，３５７  通信ＩＦ。
【図１】
2015033034.tif 000003
【図２】
2015033034.tif 000004
【図３】
2015033034.tif 000005
【図４】
2015033034.tif 000006
【図５】
2015033034.tif 000007
【図６】
2015033034.tif 000008
【図７】
2015033034.tif 000009
【図８】
2015033034.tif 000010
【図９】
2015033034.tif 000011
【図１０】
2015033034.tif 000012
【図１１】
2015033034.tif 000013
【図１２】
2015033034.tif 000014
【図１３】
2015033034.tif 000015
【図１４】
2015033034.tif 000016
【図１５】
2015033034.tif 000017
【図１６】
2015033034.tif 000018
【図１７】
2015033034.tif 000019
【図１８】
2015033034.tif 000020