(57)【特許請求の範囲】
【請求項１】
宅内に配置されたコントローラと、サーバとを備えるアクセス制御システムであって、
前記サーバは、
コントローラに関する情報を記憶するコントローラ情報記憶手段と、
コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶手段と、
外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶手段を参照して決定する決定手段と、
前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶手段から取得する取得手段と、
前記決定手段が決定したコントローラに、前記制御命令および前記取得手段が取得したアクセス権限情報を送信する送信手段と、を有し、
前記コントローラは、
制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶手段と、
前記制御命令記憶手段を参照して、前記サーバから受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成手段と、
前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記サーバから受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御手段と、を有すること
を特徴とするアクセス制御システム。 
【請求項２】
請求項１記載のアクセス制御システムであって、
前記サーバの取得手段が取得するアクセス権限情報は、前記決定手段が決定したコントローラの配下の機器の情報をＤＦＵＤＳ表現を用いてビット列に変換し、当該ビット列にアクセス権限を付加して生成されたアクセス権限ビット列であること
を特徴とするアクセス制御システム。
【請求項３】
宅内に配置されたコントローラを制御する制御サーバであって、
コントローラに関する情報を記憶するコントローラ情報記憶手段と、
コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶手段と、
外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶手段を参照して決定する決定手段と、
前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶手段から取得する取得手段と、
前記決定手段が決定したコントローラに、前記制御命令および前記取得手段が取得したアクセス権限情報を送信する送信手段と、を有すること
を特徴とする制御サーバ。
【請求項４】
請求項３記載の制御サーバであって、
前記取得手段が取得するアクセス権限情報は、前記決定手段が決定したコントローラの配下の機器の情報をＤＦＵＤＳ表現を用いてビット列に変換し、当該ビット列にアクセス権限を付加して生成されたアクセス権限ビット列であること
を特徴とする制御サーバ。
【請求項５】
宅内に配置されたコントローラであって、
当該コントローラの配下の宅内の機器を制御するための制御命令、および、当該制御命令を送信した外部装置のアクセス権限情報を受信する受信手段と、
制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶手段と、
前記制御命令記憶手段を参照して、前記受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成手段と、
前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御手段と、を有すること
を特徴とするコントローラ。
【請求項６】
請求項５記載のコントローラであって、
前記受信手段が受信するアクセス権限情報は、当該コントローラの配下の機器の情報をＤＦＵＤＳ表現を用いてビット列に変換し、当該ビット列にアクセス権限を付加して生成されたアクセス権限ビット列であること
を特徴とするコントローラ。
【請求項７】
宅内に配置されたコントローラと、サーバとを備えるアクセス制御システムが行うアクセス制御方法であって、
前記サーバは、
コントローラに関する情報を記憶するコントローラ情報記憶部と、
コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶部と、を有し、
外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶部を参照して決定する決定ステップと、
前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶部から取得する取得ステップと、
前記決定ステップで決定したコントローラに、前記制御命令および前記取得ステップで取得したアクセス権限情報を送信する送信ステップと、を行い、
前記コントローラは、
制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶部を有し、
前記制御命令記憶部を参照して、前記サーバから受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成ステップと、
前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記サーバから受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御ステップと、を行うこと
を特徴とするアクセス制御方法。
【請求項８】
請求項３または４記載の制御サーバとしてコンピュータを機能させるための制御プログラム。
【請求項９】
請求項５または６記載のコントローラとしてコンピュータを機能させるためのアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から宅内に配置された機器にアクセスし、制御する技術に関する。
【背景技術】
【０００２】
ネットワーク技術の進展に伴い、近年、家電などの機器についても、ネットワークに接続され、宅外から制御可能となってきている。
【０００３】
非特許文献１には、ネットワーク上にクラウドサーバを設置し、宅外から宅内の所定の機器を制御可能なシステムが記載されている。また、特許文献１から特許文献３には、宅内にあるホームゲートウェイ機器とＶＰＮを構築することで、宅外から宅内の機器を指定して制御するアクセス制御システムが記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“無線対応スマートアプライアンスサービス”、パナソニック技報、58巻、No.3、pp.28-33 (2012)
【特許文献】
【０００５】
【特許文献１】特開2012-222678号公報
【特許文献２】特開2012-222557号公報
【特許文献３】特開2011-3957号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
さて、電力会社が電力需要逼迫時に管轄内の各戸の電力利用制限を実施する電力需要制御サービスへの注目が集まっている。このようなサービスにおいて、今後、電力会社などの第三者機関が各家庭内に設置された機器をネットワークを介して制御することが想定される。第三者機関が家庭内の機器を制御するためには、当該機器を特定して直接命令を送信する必要がある。しかしながら、各家庭内に設置される機器の種類や数は、家庭によってそれぞれ異なるため、第三者機関が、各家庭内に設置された機器の情報を把握し、それぞれの家庭内の機器に直接命令を送信することは難しい。また、一律の命令を各家庭の機器に送信した場合、当該命令が各家庭の機器構成と合わない場合もある。
【０００７】
本発明は、上記の事情に鑑みなされたもので、本発明の目的は、宅内の機器を特定することなく、宅外から宅内の機器を制御可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、宅内に配置されたコントローラと、サーバとを備えるアクセス制御システムであって、前記サーバは、コントローラに関する情報を記憶するコントローラ情報記憶手段と、コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶手段と、外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶手段を参照して決定する決定手段と、前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶手段から取得する取得手段と、前記決定手段が決定したコントローラに、前記制御命令および前記取得手段が取得したアクセス権限情報を送信する送信手段と、を有し、前記コントローラは、制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶手段と、前記制御命令記憶手段を参照して、前記サーバから受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成手段と、前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記サーバから受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御手段と、を有する。
【０００９】
また、本発明は、宅内に配置されたコントローラを制御する制御サーバであって、コントローラに関する情報を記憶するコントローラ情報記憶手段と、コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶手段と、外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶手段を参照して決定する決定手段と、前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶手段から取得する取得手段と、前記決定手段が決定したコントローラに、前記制御命令および前記取得手段が取得したアクセス権限情報を送信する送信手段と、を有する。
【００１０】
また、本発明は、宅内に配置されたコントローラであって、当該コントローラの配下の宅内の機器を制御するための制御命令、および、当該制御命令を送信した外部装置のアクセス権限情報を受信する受信手段と、制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶手段と、前記制御命令記憶手段を参照して、前記受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成手段と、前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御手段と、を有する。
【００１１】
また、本発明は、宅内に配置されたコントローラと、サーバとを備えるアクセス制御システムが行うアクセス制御方法であって、前記サーバは、コントローラに関する情報を記憶するコントローラ情報記憶部と、コントローラ毎に、当該コントローラの配下の宅内の機器の情報と、前記機器へのアクセス権限が外部装置毎に記憶されるアクセス権限情報記憶部と、を有し、外部装置から前記機器を制御するための制御命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラを、前記コントローラ情報記憶部を参照して決定する決定ステップと、前記制御命令を送信した外部装置のアクセス権限情報を、前記アクセス権限情報記憶部から取得する取得ステップと、前記決定ステップで決定したコントローラに、前記制御命令および前記取得ステップで取得したアクセス権限情報を送信する送信ステップと、を行い、前記コントローラは、制御命令毎に、当該制御命令の対象機器および操作指示を記憶する制御命令記憶部を有し、前記制御命令記憶部を参照して、前記サーバから受信した制御命令に対応する対象機器を決定し、当該対象機器に対する個別命令を生成する生成ステップと、前記生成した個別命令の対象機器へのアクセスが許可されているか否かを、前記サーバから受信したアクセス権限情報を用いて判別し、アクセスが許可された対象機器の個別命令のみを実行させるアクセス制御ステップと、を行う。
【００１２】
また、本発明は、前記制御サーバとしてコンピュータを機能させるための制御プログラムである。
【００１３】
また、本発明は、前記コントローラとしてコンピュータを機能させるためのアクセス制御プログラムである。
【発明の効果】
【００１４】
本発明によれば、宅内の機器を特定することなく、宅外から宅内の機器を制御可能とする技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態におけるアクセス制御システムの全体構成図である。
【図２】サーバの構成を示す機能ブロック図である。
【図３】コントローラ情報記憶部の一例を示す図である。
【図４】アクセス権限情報記憶部の一例を示す図である。
【図５】コントローラの構成を示す機能ブロック図である。
【図６】機器情報記憶部の一例を示す図である。
【図７】マクロ命令テーブルの一例を示す図である。
【図８】アクセス制御処理のフローチャートである。
【図９】アクセス権限ビット表現を説明するための説明図である。
【図１０】アクセス権限ビット表現のアクセス権限探索時の変数の遷移を示すものである。
【図１１】子ノード省略時のアクセス権限ビット表現を説明するための説明図である。
【図１２】アクセス権限の設定処理を示すシーケンスである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を、図面を用いて説明する。
【００１７】
図１は、本発明の一実施の形態におけるアクセス制御システムの全体構成図である。図示するシステムは、サーバ１と、各宅内（家庭内）にそれぞれ配置されるコントローラ２と、当該コントローラ２に接続される機器３とを備える。
【００１８】
サーバ１（制御サーバ）は、複数の宅内に配置されたコントローラ２を制御する。本実施形態のサーバ１は、外部装置５が送信したマクロ命令（制御命令）を受信し、当該マクロ命令の送信先のコントローラ２を決定し、決定したコントローラにマクロ命令と外部装置５のアクセス権限情報を送信する。
【００１９】
外部装置５は、宅内の機器３をネットワークを介して外部から制御するアクセス主体が運用または使用する装置である。アクセス主体としては、各種サービスを提供するサービス事業者、宅内のユーザ（世帯者）などが考えられる。
【００２０】
各コントローラ２は、宅内に設置される家電などの機器３を制御する装置（例えば、ホームゲートウェイ）である。各コントローラ２は、広域のＩＰネットワークを介してサーバ１に接続されている。コントローラ２は、サーバ１からマクロ命令を受信すると、当該マクロ命令を用いて機器３を操作するための個別命令を生成し、機器３を操作する。各機器３は、少なくとも１つのプロパティ４（設定項目）を有する。例えば、機器３がエアコンの場合、プロパティ４は、電源（ＯＮ／ＯＦＦ）、動作モード（冷房／暖房）、温度設定など、エアコンを操作するための設定項目が考えられる。
【００２１】
図２は、サーバ１の構成を示す機能ブロック図である。
【００２２】
本実施形態のサーバ１は、ネットワークＩＦ（インタフェース）１１と、対外部送受信部１２と、マクロ命令送信先決定部１３と、アクセス権限取得部１４と、対コントローラ送受信部１５と、ネットワークＩＦ１６と、コントローラ情報記憶部１７と、アクセス権限情報記憶部１８とを備える。
【００２３】
対外部送受信部１２は、ネットワークＩＦ１１を介して、外部装置（アクセス主体）５と情報の送受信を行う。マクロ命令送信先決定部１３は、対外部送受信部１２を介して、外部装置５から宅内の機器３を制御するためのマクロ命令と制御対象条件とを受信し、当該制御対象条件を満たすコントローラ２を、コントローラ情報記憶部１７を参照して決定する。
【００２４】
アクセス権限取得部１４は、マクロ命令を送信した外部装置５のアクセス権限情報を、アクセス権限情報記憶部１８から取得する。対コントローラ送受信部１５は、ネットワークＩＦ１６を介して、各コントローラ２と情報の送受信を行う。本実施形態では、対コントローラ送受信部１５は、マクロ命令送信先決定部１３が決定した各コントローラ２に、マクロ命令およびアクセス権限取得部１４が取得したアクセス権限情報を送信する。
【００２５】
コントローラ情報記憶部１７には、各宅内に設置されたコントローラ２に関する情報が記憶される。アクセス権限情報記憶部１８には、コントローラ２毎に、当該コントローラ２の配下の機器３の情報と、機器３へのアクセス権限が外部装置５毎に記憶される。
【００２６】
図３は、コントローラ情報記憶部１７の一例を示す図である。図示するコントローラ情報は、コントローラ毎に、コントローラ名と、ユーザ識別子と、コントローラ識別子と、ＩＰアドレスと、ＭＡＣアドレスと、設置場所などのコントローラ２に関する情報が記憶されている。
【００２７】
サーバ１が、管理対象の各コントローラ２の情報を管理し保持することで、電力会社などのサービス事業者（アクセス主体）は、各コントローラ２の情報を保持する必要がなくなり、マクロ命令の送信先として、コントローラ２を個別に指定することなく、所望の制御対象条件を簡易に指定することができる。例えば、電力会社の場合に、節電のマクロ命令をサーバ１に送信する場合、「住所が東京都Ａ区内のコントローラ」などの制御対象条件を指定することができる。
【００２８】
図４は、アクセス権限情報記憶部１８の一例を示す図である。アクセス権限情報記憶部１８には、コントローラ２毎に図４に示す情報が記憶される。図４では、当該コントローラ２に接続される配下の各機器３の情報と、当該機器３に対するアクセス権限とが対応付けて設定されている。本実施形態では、各機器３の各プロパティ４（設定項目）に対して、外部装置５毎（アクセス主体毎）にアクセス権限が設定されている。
【００２９】
図４に示す例では、機器情報としては、当該コントローラ２の配下には、エアコン１と照明１の機器３が設置され、エアコン１では、電源、動作モード、温度設定などのプロパティ４を有し、照明１では、電源、照度、色温度などのプロパティ４を有し、それぞれのプロパティ４について外部装置５毎にアクセス権限が設定されている。エアコン１の電源については、さらに起床タイマーとスリープタイマーのプロパティ４を有する。 
なお、サービス事業者の公的機関と電力会社とでは、アクセス権限が異なるものであってもよい。図４では、同じ節電のマクロ命令であっても、非常事態における公的機関からの命令と、電力会社からの命令とでアクセス権限が異なるものとする。すなわち、公的機関からの節電のマクロ命令では、エアコン１（温度設定）と照明１（電源）はともにアクセスおよび制御を許可するが、電力会社からの節電のマクロ命令では、エアコン１（温度設定）のみアクセスおよび制御を許可し、照明１（電源）についてはアクセスおよび制御を不許可とするアクセス権限を設定している。
【００３０】
本実施形態では、アクセス主体は、サービス事業者によるサービス単位と、個人のユーザ単位の２つを記載しているが、本発明はアクセス主体の粒度を制限するものではない。
【００３１】
図５は、コントローラ２の構成を示す機能ブロック図である。
【００３２】
本実施形態のコントローラ２は、ネットワークＩＦ２１と、対サーバ送受信部２２と、個別命令生成部２３と、アクセス制御部２４と、命令実行部２５と、対機器送受信部２６と、ネットワークＩＦ２７と、機器情報取得部２８と、機器情報記憶部２９と、マクロ命令テーブル３０とを備える。
【００３３】
対サーバ送受信部２２は、ネットワークＩＦ２１を介して、サーバ１と情報の送受信を行う。本実施形態では、対サーバ送受信部２２は、サーバ１からマクロ命令と、アクセス権限情報とを受信する。個別命令生成部２３は、対サーバ送受信部２２を介してサーバ１が送信したマクロ命令を受け付け、マクロ命令テーブル３０を用いて、当該マクロ命令に対応する対象機器を決定し、当該操作対象機器に対する個別命令を生成する。
【００３４】
アクセス制御部２４は、対サーバ送受信部２２を介してサーバ１が送信したアクセス権限情報を用いて、各個別命令の対象機器へのアクセスが許可されているか否かを判別し、アクセスが許可された対象機器の個別命令のみを実行させる。命令実行部２５は、アクセスが許可された対象機器の個別命令のみを当該対象機器に送信し、実行させる。対機器送受信部２６は、ネットワークＩＦ２７を介して、各機器３と情報の送受信を行う。本実施形態では、対機器送受信部２６は、許可された個別命令を対象機器に送信する。
【００３５】
機器情報取得部２８は、機器制御の標準プロトコル（例えば、UPnP、ECHONET Liteなど）を用いて宅内に存在する各機器３の機器情報を定期的に取得し、所定のルールで機器名およびプロパティをソートして機器情報記憶部２９に記憶する。また、機器情報取得部２８は、取得した機器情報をサーバ１に送信する。これにより、コントローラ２の機器情報記憶部２９と、サーバ１のアクセス権限情報記憶部１８の機器情報とを同期させておく。機器情報記憶部２９には、機器情報取得部２８が取得した当該コントローラ２配下の各機器３の情報が記憶される。マクロ命令テーブル３０には、マクロ命令毎に、当該マクロ命令の対象機器および操作指示が記憶される。
【００３６】
図６は、機器情報記憶部２９の一例を示す図である。図示する機器情報では、機器名と、プロパティとを対応付けて記憶している。なお、コントローラ２の機器情報記憶部２９では、サーバ１のアクセス権限情報記憶部１８に保持された当該コントローラ２用の機器情報の部分のみを保持し、これらの機器情報は同じ情報である。コントローラ２の機器情報記憶部２９では、アクセス権限は保持しない。
【００３７】
図７は、マクロ命令テーブル３０の一例を示す図である。マクロ命令テーブル３０は、マクロ命令と、各機器への操作指示とをマッピングしたテーブルであって、図示するマクロ命令テーブル３０には、各マクロ命令と、当該マクロ命令の対象となる対象機器、当該対象機器への操作指示および条件とが、対応付けて記憶されている。図７では、節電のマクロ命令および録画のマクロ命令の例を示している。なお、節電のマクロ命令の「全照明」の対象機器については、個別命令生成部２３は、人感センサのセンサ値から各部屋の在／不在状況を推定し、在／不在状況の変更検知を契機に、対象機器の照明をオフにする個別命令を生成する。
【００３８】
なお、コントローラ２が備える不揮発性記憶領域の容量が不十分な場合、コントローラ２が管理している情報は電源ＯＦＦによって消失する。また、コントローラ２の故障などにより交換がありうる。そのため、サーバ１は、コントローラ２が保持する全ての情報を保持し管理することとしてもよい。これにより、コントローラ２側の情報をサーバ１からダウンロードすることで復旧することができる。
【００３９】
上記説明したサーバ１およびコントローラ２は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各部の各機能が実現される。例えば、サーバ１およびコントローラ２の各機能は、サーバ１用のプログラムの場合はサーバ１のＣＰＵが、そして、コントローラ２用のプログラムの場合はコントローラ２のＣＰＵがそれぞれ実行することにより実現される。また、サーバ１用のプログラムおよびコントローラ２用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００４０】
次に、本実施形態の処理について説明する。
【００４１】
図８は、外部装置５から送信されたマクロ命令に基づいて、宅内の機器３を制御する処理を示すフローチャートである。図８では、電力会社の外部装置５が、節電のマクロ命令をサーバ１に送信された場合を例に、以下説明する。
【００４２】
サーバ１のマクロ命令送信先決定部１３は、ネットワークＩＦ１１および対外部送受信部１２を介して、電力会社の外部装置５から節電のマクロ命令および制御対象条件を受信する（Ｓ１１）。
【００４３】
そして、マクロ命令送信先決定部１３は、制御対象条件を満たすコントローラ２を、コントローラ情報記憶部１７を参照して決定する（Ｓ１２）。例えば、制御対象条件が「住所が東京都Ａ区内のコントローラ」の場合、マクロ命令送信先決定部１３は、コントローラ情報記憶部１７の住所の項目を参照し、東京都Ａ区のコントローラ２をコントローラ情報記憶部１７から全て抽出し、抽出したコントローラ２をマクロ命令の対象として決定する。
【００４４】
なお、制御対象条件は、住所の場合だけでなく、ＩＰアドレスなど様々な条件が考えられる。また、アクセス対象がユーザの場合は、制御対象条件としてユーザ識別子を指定することが考えられる。
【００４５】
また、アクセス権限取得部１４は、Ｓ１１でマクロ命令を送信した外部装置５のアクセス権限情報を、アクセス権限情報記憶部１８から取得する（Ｓ１３）。ここでは、アクセス権限取得部１４は、アクセス権限情報記憶部１８を参照し、マクロ命令を送信した電力会社（サービス事業者）に対応付けられたアクセス権限情報を取得する。
【００４６】
そして、対コントローラ送受信部１５は、Ｓ１１で受信したマクロ命令およびアクセス権限取得部１４が取得したアクセス権限情報を、マクロ命令送信先決定部１３が送信先として決定した各コントローラ２に送信する（Ｓ１４）。
【００４７】
各コントローラ２の個別命令生成部２３は、ネットワークＩＦ２１および対サーバ送受信部２２を介して、サーバ１から節電のマクロ命令およびアクセス権限情報を受信する（Ｓ１５）。
【００４８】
そして、個別命令生成部２３は、マクロ命令テーブル３０を参照し、受信したマクロ命令に対応する対象機器を特定し、特定した各対象機器に対してそれぞれ設定された操作指示および条件を取得する。そして、個別命令生成部２３は、対象機器毎に取得した操作指示および条件を実行するために、対象機器の各プロパティを操作する具体的な個別命令を、機器情報記憶部２９を用いて生成する（Ｓ１６）。例えば、図７に示す節電のマクロ命令の場合、エアコン１の温度設定プロパティに対して、現在の設定温度から＋２℃上昇させる個別情報を生成する（動作モードが冷房で、現在の設定温度が２８℃未満の場合）。
【００４９】
そして、アクセス制御部２４は、Ｓ１６で生成した各個別命令について、当該個別命令の対象機器（プロパティ）へのアクセス権限をチェックする（Ｓ１７）。すなわち、アクセス制御部２４は、Ｓ１５で受信したアクセス権限情報を用いて、各個別命令の対象機器のプロパティへのアクセスが許可されているか否かを判別する。アクセスが許可されている場合は（Ｓ１７：ＹＥＳ）、命令実行部２５は、当該対象機器に対して個別命令を送信し、当該個別命令を実行させる（Ｓ１８）。個別命令を受信した対象機器は、当該個別命令を実行する。一方、アクセスが不許可の場合、アクセス制御部２４は、当該個別命令を破棄する（Ｓ１９）。
【００５０】
例えば、図７に示す節電のマクロ命令の場合、エアコン１の温度設定に対する個別命令と、照明１の電源に対する個別命令とがＳ１６で生成される。そして、Ｓ１５で図４に示す電力会社のアクセス権限情報が送信された場合、エアコン１の温度設定については、ＯＫが設定されているため、アクセスが許可されていると判別し、エアコン１の温度設定に対する個別命令をエアコン１に送信し、当該個別命令を実行させる。一方、照明１の電源についてはＮＧが設定されているため、アクセスが不許可であると判別し、照明１の電源に対する個別命令を破棄する。
【００５１】
なお、コントローラ２は、Ｓ１６で生成した各個別命令について、Ｓ１７のアクセス権限チェックの結果（すなわち、個別命令を実行したか否か）を、サーバ１に通知することとしてもよい。マクロ命令に対する消費電力削減効果は、別途電力会社の観測により把握される。また、コントローラ２は、マクロ命令から個別命令を生成して個別に機器を制御し、その後ある一定時間消費電力量を計測し、その計測結果を含めてサーバ１に応答することとしてもよい。
【００５２】
次に、図４のＳ１３において、アクセス権限取得部１４がアクセス権限情報記憶部１８から取得したアクセス権限情報を、コントローラ２に送信する際のデータ表現形式について説明する。ここでは、各宅内に配置される機器を、木構造モデルで管理している場合において、アクセス権限情報を柔軟に表現する方法を説明する。なお、本実施形態において、機器情報１８、２９を表形式または木構造形式のいずれで管理する場合でも、サーバ１およびコントローラ２における幅優先および深さ優先の探索経路は同一であるものとする。そのため、サーバ１のアクセス権限情報記憶部１８と、コントローラ２の機器情報記憶部２９とでは、同一の規則で機器情報をソートして記憶する。
【００５３】
図９は、アクセス権限情報の表現方法を説明するための説明図である。本実施形態では、機器情報をＤＦＵＤＳ表現を用いてビット列に変換し、当該ビット列にアクセス権限を付加したアクセス権限ビット列を、アクセス権限情報として生成する。
【００５４】
図９（ａ）は、サーバ１のアクセス権限情報記憶部１８の機器情報を木構造で表したものである。
【００５５】
図９（ｂ）は、図９（ａ）の木構造を、ＤＦＵＤＳ（depth-first unary degree sequence representation）表現で表したものである。ＤＦＵＤＳ表現は、ルートから深さ優先探索の順（行きがけ順）に括弧列で木構造を表現するものである。子ノードの数がｎであるノードは、ｎ個の左括弧閉じ“（” と、１つの右括弧閉じ“）”の括弧列で表現される。葉ノードは、右括弧閉じ“）”のみで表現される。そして、このようにして生成された括弧列の先頭に、ダミーの左括弧閉じ“（”を１つ設定する。図９（ｂ）では、例えば、コントローラ（１）は、２つの子ノード（エアコンと照明）を有するため、“（（）”の括弧列で表される。また、エアコン（２）は、３つの子ノード（電源、動作モード、温度設定）を有するため、“（（（）”の括弧列で表される。
【００５６】
図９（ｃ）は、図９（ｂ）のＤＦＵＤＳ表現の括弧を１または０に変換し、さらに各ノードにアクセス権限を付加して表現したアクセス権限ビット列である。図示する例では、左括弧閉じ“（”を“０”、右括弧閉じ“）”を“１”に符号化する。そして、ビット“１”の箇所（すなわち、各ノードの最後に設定されるビット“）”）の後ろに、アクセス権限用のビットを付与して“１０”または“１１”の２ビットで表現する。“１０”は、当該ノードがアクセス不可であることを示し、“１１”は、当該ノードがアクセス可能であることを示す。
【００５７】
ただし、図９（ｃ）では、分かりやすさのため、アクセス権限が許可の場合“１”の代わりに“Ｐ”を、アクセス権限が不許可の場合は“０”の代わりに“Ｎ”を設定している。ここで、図９（ｃ）に示すアクセス権限ビット列は、左側から探索されることとし、それにより正しくアクセス権限が識別される。また、アクセス権限用のビットは、任意のビット長に拡張可能であり、アクセス権限用のビット長を拡張することにより、より細かいアクセス権限を扱うことができる。
【００５８】
サーバ１のアクセス権限取得部１４は、図８のＳ１３でアクセス権限情報記憶部１８から対象となる外部装置５のアクセス権限を取得すると、図９（ｃ）に示すアクセス権限ビット列の表現に変換する。そして、Ｓ１４で対コントローラ送受信部１５は、アクセス権限ビット列で表現されたアクセス権限情報を、マクロ命令とともに送信先のコントローラ２に送信する。
【００５９】
なお、アクセス権限取得部１４は、アクセス権限情報記憶部１８が更新される度に、外部装置５毎のアクセス権限を、アクセス権限ビット列の表現に変換して図示しないメモリなどに記憶しておき、Ｓ１３のアクセス権限取得時には、メモリに記憶されたアクセス権限ビット列の表現のアクセス権限情報を取得することとしてもよい。
【００６０】
次に、アクセス権限ビット列の表現のアクセス権限を受信したコントローラ２のアクセス制御部２４が、図８のＳ１７でアクセス制御を行う際に、個別命令の対象機器（プロパティ）のアクセス権限を取得する方法について説明する。
【００６１】
ここでは、図９（ａ）に示す木構造において、照明（８）の電源（９）のアクセス権限を取得する処理を例として以下に説明する。このとき、ＰＯＩＮＴＥＲ、ＤＩＳＴＡＮＣＥ、ＨＩＮＴという３つの変数を用いる。図１０は、当該処理における変数の遷移を示すものである。
【００６２】
１．木構造から照明の電源へ至るには左から右への幅優先探索を行う。
【００６３】
２．木構造のルートであるコントローラ（１）の子ノードを探索し、エアコン（２）は０番目であり、照明（３）が１番目の子ノードである。ここでは、まず照明（３）の子ノードを探索するため、ＤＩＳＴＡＮＣＥに“１”を設定する。
【００６４】
３．ＰＯＩＮＴＥＲを、アクセス権限ビット列のあるビットの位置を示す変数とする。アクセス権限ビット列は、左側（先頭のダミーの０を除く）からスタートして最初にビットが１であるところを指すように、ＰＯＩＮＴＥＲに３を設定する（１が最も左のビット位置）。また、ＨＩＮＴを０に初期化する。
【００６５】
４．アクセス権限ビット列において、右に１つビットシフトする。ただし、ビットが１の隣はアクセス権限を表すビットであるためスキップし、計２ビットシフトさせ、ＰＯＩＮＴＥＲを５とする。
【００６６】
５．ＰＯＩＮＴＥＲが５の位置のビットは０である。ここでは、ＰＯＩＮＴＥＲが指すビットが０の場合、ＨＩＮＴに−１を加える。これにより、ＨＩＮＴは、−１（＝０−１）となる。
【００６７】
６．さらに、ＰＯＩＮＴＥＲを１つずつずらしていき（アクセス権限ビットはスキップする）、ＰＯＩＮＴＥＲが指すビットが０の場合は、ＨＩＮＴに−１を加算し、ビットが１の場合は＋１を加算していく。そして、ＤＩＳＴＡＮＣＥとＨＩＮＴの値が同じになるまで繰り返す。
【００６８】
７．ＰＯＩＮＴＥＲが２０のとき、ＤＩＳＴＡＮＣＥとＨＩＮＴの値が１で同値になる。これにより、エアコン（２）のアクセス権限ビット列が終了したことを検知する。
【００６９】
８．次に、照明（８）のノードを探索し、そして照明（８）の子ノードである電源（９を探索する。電源（９）は、照明（３）の０番目の子ノードであるため、ＤＩＳＴＡＮＣＥに０を設定する。また、ＨＩＮＴを、再度０に初期化する。
【００７０】
９．ＰＯＩＮＴＥＲを、２０から、アクセス権限用のビットをスキップするため２ビットずらし、２２とする。そして、次にＰＯＩＮＴＥＲが指すビットが１になるまで１ビットずつシフトさせる。このときすでに、ＤＩＳＴＡＮＣＥとＨＩＮＴが０の同値であるため、上記５．および６．で行った＋１または−１の加算処理は行わない。
【００７１】
１０．ＰＯＩＮＴＥＲが２５のときに、ビットが１となる。
【００７２】
１１．ＤＩＳＴＡＮＣＥとＨＩＮＴがすでに０で同値であることから、照明（８）のノードに対するアクセス権限ビットの探索が終了したと検知し、ＰＯＩＮＴＥＲを２ビットシフトさせる。
【００７３】
１２．これにより、ＰＯＩＮＴＥＲが２７となり、ここが照明（８）の子ノードの電源（９）のノードを表し、その右隣のＰＯＩＮＴＥＲが２８のビットが電源（９）のアクセス権限を表す。
【００７４】
１３．照明（８）の子ノードである電源（９）のビットは、Ｐ（実際には１）であるため、電源（９）のアクセス権限は許可と判別する。これにより、照明（８）の電源（９）に対する個別命令は、図８のＳ１８で実行される。
【００７５】
以上説明したアクセス権限ビット表現のビット数は、木構造のノードの数の３倍になる。そこで、図１１に示すように、あるノードの子ノード以下がすべてアクセス許可もしくはアクセス不許可である場合、それら子ノードを表すビット列を省略することでアクセス権限ビット表現のビット数を削減することとしてもよい。図９（ａ）では、エアコン（２）の電源（３）と、その子ノードである起床タイマー（４）およびスリープタイマー（５）のアクセス権限が全て不許可であるため、電源（３）の子ノード（４）、（５）を省略し、６ビット削減している。一般に、サービス事業者やユーザなどのアクセス主体が外部から制御する機器およびプロパティは、その一部に限られるため、図１１に示すような省略を行うことで、木構造全体に対して少ないビット数でアクセス権限情報を表現することができる。
【００７６】
次に、サーバ１のアクセス権限情報記憶部１８のアクセス権限の設定方法について説明する。サーバ１を用いて、宅内に配置されたコントローラ２にマクロ命令を送信するサービス事業者は、各宅内に配置された各機器へアクセス許可をユーザ（世帯者）から得る必要がある。
【００７７】
図１２は、アクセス権限登録処理を示すシーケンスである。図示する例では、ユーザは、サービス事業者が提供するサービスに加入時に、アクセス権限を登録することとする。
【００７８】
まず、ユーザ端末５（外部装置）は、ユーザの指示を受け付けて、サービス事業者の外部装置５にサービス加入の申し込み送信する（Ｓ１１）。これにより、サービス事業者の外部装置５は、提供するサービスにおいて必要となる機器の機器種別（例えば、エアコンなどの機器の種類を表す一般名称）のリストと、当該ユーザのコントローラ２の識別子とを、サーバ１に送信する（Ｓ１２）。
【００７９】
サーバ１のアクセス権限取得部１４は、送信されたコントローラ２の識別子に対応する機器情報をアクセス権限情報記憶部１８から読み出し、送信されたリストに対応する機器情報（例えば、エアコン種別に対してはエアコン１）のリストをユーザ端末５に送信する（Ｓ２３）。ユーザ端末５は、送信された機器情報のリストを表示してユーザに提示し、ユーザは提示された機器情報のリストの各機器のプロパティに対して許可または不許可のアクセス権限を入力する。そして、ユーザ端末５は、ユーザが入力したアクセス権限をサーバ１に送信する（Ｓ２４）。サーバ１のアクセス権限取得部１４は、ユーザ端末５から送信されたアクセス権限を、アクセス権限情報記憶部１８に登録する（Ｓ２５）。また、サーバ１のアクセス権限取得部１４は、アクセス権限の登録後、サービス事業者の外部装置５に登録完了通知を送信する（Ｓ２６）。サービス事業者の外部装置５は、登録完了通知を受信すると、ユーザ端末５にサービス加入完了通知を送信する（Ｓ２７）。
【００８０】
なお、アクセス主体がユーザの場合は、サーバ１にアクセス権限を設定する、または、自身の宅内の機器であるため、初期設定時は全て許可とすることが考えられる。
【００８１】
以上説明した本実施形態では、サービス事業者などの外部装置が、宅内の機器を制御するためのマクロ命令と、制御対象条件とをサーバに送信し、サーバは制御対象条件に基づいてマクロ命令の送信先のコントローラを決定し、当該コントローラにマクロ命令を送信する。コントローラは、マクロ命令を受信すると、機器の使用状況に合わせて当該マクロ命令を自律的に各機器への個別命令に変換し、実行する。これにより、本実施形態では、各宅内の機器構成を把握していない電力会社などのサービス事業者であっても、宅内の機器を特定することなく、宅内の機器を制御するためのマクロ命令を送信し、制御対象の宅内のコントローラにマクロ命令に基づく機器への制御を自律的に実行させ、宅内の機器を制御することができる。例えば、電力会社のサービス事業者は、節電などのマクロな命令をサーバに送信することで、サーバを介してマクロ命令を受信した各戸のコントローラがエアコンの設定温度を上げる（または下げる）などの個別命令を生成し、自律的に宅内の機器を制御することができる。
【００８２】
また、本実施形態では、サーバは、マクロ命令をコントローラに送信する際に、マクロ命令を送信した外部装置（アクセス主体）のアクセス権限情報を併せて送信する。そして、コントローラ２では、アクセス権限情報に基づいて、各機器へのアクセス可否をチェックし、アクセスが許可されている機器に対してのみ個別命令を実行する。これにより、本実施形態では、マクロ命令を送信したサービス事業者のアクセス権限に基づいて、当該マクロ命令から生成される個別命令の実行可否を判別し、許可されていない機器へのアクセスを拒否し、適切なアクセス制御を実現することができる。
【００８３】
また、本実施形態では、アクセス権限情報を、図９に示すような簡易なアクセス権限ビット表現とする。これにより、サーバからコントローラへのデータ通信量を削減することができる。
【００８４】
また、本実施形態では、アクセス主体が電力会社のような第三者のサービス事業者の場合だけでなく、個人のユーザが自宅の機器をマクロ命令により遠隔制御することもできる。例えば、外出先からテレビの録画予約を行う場合に、予約可能な機器はテレビ、HDDレコーダー、またはPCなどが考えられ、それらを個別に指定するに比べ、「録画」というマクロ命令をサーバを介して自宅のコントローラに送信することでコントローラが適切に機器に設定できるためユーザの利便性を向上させることができる。
【００８５】
なお、本発明は上記実施形態に限定されるものではなく、特許請求の範囲内において、種々変更・応用が可能である。例えば、本実施形態では、機器のプロパティ毎に個別命令およびアクセス権限を設定することとしたが、機器毎に個別命令およびアクセス権限を設定することとしてもよい。
【符号の説明】
【００８６】
１  ：サーバ
１１：ネットワークＩＦ部
１２：対外部送受信部１２
１３：マクロ命令送信先決定部
１４：アクセス権限取得部
１５：対コントローラ送受信部
１６：ネットワークＩＦ
１７：コントローラ情報記憶部
１８：アクセス権限情報記憶部
２  ：コントローラ
２１：ネットワークＩＦ部
２２：対サーバ送受信部
２３：個別命令生成部
２４：アクセス制御部
２５：命令実行部
２６：対機器送受信部
２７：ネットワークＩＦ
２８：機器情報取得部
２９：機器情報記憶部
３０：マクロ命令テーブル
３  ：機器
４  :プロパティ
５  ：外部装置
【図１】
0005965362.tif 000002
【図２】
0005965362.tif 000003
【図３】
0005965362.tif 000004
【図４】
0005965362.tif 000005
【図５】
0005965362.tif 000006
【図６】
0005965362.tif 000007
【図７】
0005965362.tif 000008
【図８】
0005965362.tif 000009
【図９】
0005965362.tif 000010
【図１０】
0005965362.tif 000011
【図１１】
0005965362.tif 000012
【図１２】
0005965362.tif 000013