(57)【要約】【課題】セキュリティの高い遠隔制御を可能にする技術を提供する。【解決手段】制御サーバおよび末端機器とネットワークを介して接続され、前記制御サーバから前記末端機器に対する遠隔制御を管理する遠隔制御管理装置は、受付手段と、保持手段と、通知手段と、を有している。受付手段は、予め登録されている制御サーバから要求された末端機器に対する制御コマンドを確認し、登録を受け付ける。保持手段は、前記受付手段で受け付けられた制御コマンドを保持する。通知手段は、前記末端機器からの問い合わせに対して、前記保持手段に保持されている前記末端機器に対する制御コマンドが確認されたものであることを前記末端機器に通知する。【選択図】図２
2013219535.tif 000002
【特許請求の範囲】
【請求項１】
制御サーバおよび末端機器とネットワークを介して接続され、前記制御サーバから前記末端機器に対する遠隔制御を管理する遠隔制御管理装置であって、
予め登録されている制御サーバから要求された末端機器に対する制御コマンドを確認し、登録を受け付ける受付手段と、
前記受付手段で受け付けられた制御コマンドを保持する保持手段と、
前記末端機器からの問い合わせに対して、前記保持手段に保持されている前記末端機器に対する制御コマンドが確認されたものであることを前記末端機器に通知する通知手段と、を有する遠隔制御管理装置。
【請求項２】
前記受付手段は、前記制御サーバの正当性を認証した後に、前記制御コマンドを前記保持手段に登録し、
前記通知手段は、前記末端機器の正当性を認証した後に、前記制御コマンドを前記末端機器に通知する、
請求項１に記載の遠隔制御管理装置。
【請求項３】
前記受付手段は、制御サーバと末端機器との対応関係を表す正当制御情報を予め保持しており、制御サーバから制御対象の末端機器と制御内容とを含む制御コマンド登録要求を受信し、前記制御コマンド登録要求の送信元の前記制御サーバと、前記制御コマンド登録要求に含まれている制御対象の末端機器とが、前記正当制御情報において互いに対応づけられていれば、該制御コマンド登録要求の送信元の前記制御サーバと該制御コマンド登録要求に含まれていた前記制御対象の端末装置と前記制御内容とを対応付けて前記保持手段の制御コマンドテーブルに登録し、
前記通知手段は、末端機器からコマンド発行元の制御サーバを含む制御コマンド確認要求を受信し、前記制御コマンド確認要求の送信元の前記末端機器とコマンド発行元の制御サーバとが前記制御コマンドテーブルにて対応づけて保持されていれば、該制御サーバからの、該制御サーバに対応づけられている制御内容の制御コマンドが検証されたことを、該末端機器に通知する、
請求項１または２に記載の遠隔制御管理装置。
【請求項４】
前記受付手段は、前記制御コマンドの登録を受け付けるときに、該制御コマンドに対応する共通鍵を生成して前記制御サーバに通知し、
前記通知手段は、前記末端機器が前記共通鍵を用いて問い合わせてきたことを条件として、前記制御コマンドが確認されたことを前記末端機器に通知する、
請求項１から３のいずれか一項に記載の遠隔制御管理装置。
【請求項５】
前記受付手段は、前記制御コマンドの登録を受け付けるときに登録時刻を記録し、
前記通知手段は、前記末端機器からの問い合わせが前記登録時刻から所定時間内であることを条件に、前記制御コマンドが確認されたことを前記末端機器に通知する、
請求項１から４のいずれか一項に記載の遠隔制御管理装置。
【請求項６】
ネットワーク上で制御コマンドの確認を行う確認サーバを利用して遠隔制御を実行する遠隔制御システムであって、
制御サーバと、
末端機器と、を有し、
前記制御サーバが、前記末端機器に対する制御コマンドの確認を前記確認サーバに要求し、
前記確認サーバによって前記制御コマンドが確認され、前記確認サーバに登録されると、前記制御サーバが前記末端機器に、制御コマンドを登録した旨の通知を送り、
前記通知を受けた前記末端機器は前記確認サーバに問い合わせを行い、
前記確認サーバによって前記末端機器に対する前記制御コマンドが確認されている旨が通知されると、末端機器は、前記制御コマンドを実行する、
遠隔制御システム。
【請求項７】
前記制御サーバは、前記末端機器へ発呼を行うことによって、制御コマンドを登録した旨を前記末端機器に通知する、
請求項６に記載の遠隔制御システム。
【請求項８】
制御サーバおよび末端機器とネットワークを介して接続された遠隔制御管理装置が、前記制御サーバから前記末端機器に対する遠隔制御を管理するための遠隔制御管理方法であって、
受付手段が、予め登録されている制御サーバから要求された末端機器に対する制御コマンドを確認し、登録を受け付けるステップと、
保持手段が、前記受付手段で受け付けられた制御コマンドを保持するステップと、
通知手段が、前記末端機器からの問い合わせに対して、前記保持手段に保持されている前記末端機器に対する制御コマンドが確認されたものであることを前記末端機器に通知するステップと、を有する遠隔制御管理方法。
【請求項９】
制御サーバおよび末端機器とネットワークを介して接続された確認サーバであるコンピュータに、前記制御サーバから前記末端機器に対する遠隔制御を管理させるための遠隔制御管理プログラムであって、
受付手段が、予め登録されている制御サーバから要求された末端機器に対する制御コマンドを確認し、登録を受け付ける手順と、
保持手段が、前記受付手段で受け付けられた制御コマンドを保持する手順と、
通知手段が、前記末端機器からの問い合わせに対して、前記保持手段に保持されている前記末端機器に対する制御コマンドが確認されたものであることを前記末端機器に通知する手順と、をコンピュータに実行させるための遠隔制御管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御サーバから末端機器を遠隔制御するシステムに関し、特に高いセキュリティが要求される遠隔制御に関する。
【背景技術】
【０００２】
電力制御の分野にＩＴ技術を導入し、電力の効率的な利用を促進する、スマートグリッドと呼ばれる技術が注目を集めている。スマートグリッドのシステムにおいては、例えば、夏場の消費電力の多い時間帯に、特定の地域で過度に電力が消費されるのを抑制するというように、時間帯毎そして地域毎の緻密な制御を行うことが考えられる。そのためには、地域を統括するセンタから、その地域の各需要家の電力の使用をコントロールすることが要求される。具体的には、家庭や企業など需要家が有するエアコン、バッテリー、電気自動車（ＥＶ）の充電器など電力を消費する末端機器に対する制御のために様々な制御コマンドを準備し、センタにある制御サーバがそれらの制御コマンドを利用して末端機器を制御することが検討されている。
【０００３】
制御サーバから末端機器を遠隔制御する様々な技術が開示されている（特許文献１参照）。特許文献１には、制御サーバと末端機器の間に通信セッションを確立し、アプリケーション層で制御コマンドを実行する技術が開示されている。通信セッションの確立にはＳＩＰ（Session Initiation Protocol）と呼ばれるプロトコルが用いられる。通信セッション上でセンタの制御サーバと需要家の末端機器との通信が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２２５６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
センタにある制御サーバから、ネットワークを介して、遠隔地にある末端機器に対して制御コマンドを送信し、その制御コマンドを実行させる場合、セキュリティの確保が要求される。例えば、悪意のある第三者がなりすまし等によって、末端機器が不正に制御されるのを防止することが要求される。
【０００６】
上述したスマートグリッドのように、制御結果が社会インフラなど周囲に与える影響が大きいシステムにおいては、特に高いセキュリティが要求される。例えば、スマートグリッドにおける遠隔制御では、末端機器のバッテリーを過充電したり、地域全体の電力使用量が一定値を超過したりすることは、社会に大きな影響を及ぼす可能生がある。
【０００７】
そのため、スマートグリッドにおける遠隔制御システムにおいては、各制御コマンドをセキュアに実行するための手段の実装が必須と言われている。しかしながら、特許文献１においては、制御コマンドをセキュアに実行するためのフレームワークについて具体的には何ら記述されていない。
【０００８】
本発明の目的は、セキュリティの高い遠隔制御を可能にする技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一態様による遠隔制御管理装置は、制御サーバおよび末端機器とネットワークを介して接続され、前記制御サーバから前記末端機器に対する遠隔制御を管理する遠隔制御管理装置であって、予め登録されている制御サーバから要求された末端機器に対する制御コマンドを確認し、登録を受け付ける受付手段と、前記受付手段で受け付けられた制御コマンドを保持する保持手段と、前記末端機器からの問い合わせに対して、前記保持手段に保持されている前記末端機器に対する制御コマンドが確認されたものであることを前記末端機器に通知する通知手段と、を有している。
【発明の効果】
【００１０】
本発明によれば、セキュリティの高い遠隔制御が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による遠隔制御システムの全体構成を示すブロック図である。
【図２】確認サーバ１０３の基本的な機能構成を示すブロック図である。
【図３】本実施形態による制御サーバ１０１のハードウェア構成を示すブロック図である。
【図４】本実施形態における末端機器接続データ２０７を示す図である。
【図５】本実施形態による確認サーバ接続データ２０８の構成を示すブロック図である。
【図６】制御コマンドデータ２０９の構成を示す図である。
【図７】本実施形態による末端機器１０２の構成を示す図である。
【図８】制御サーバ接続データ６０７の構成を示す図である。
【図９】確認サーバ接続データ６０８の構成を示す図である。
【図１０】制御コマンドデータ６０９の構成を示す図である。
【図１１】確認サーバ１０３の構成を示すブロック図である。
【図１２】事前通知データ１００７の構成を示すブロック図である。
【図１３】制御コマンド発行プログラム２０１を実行する制御サーバ１０１の動作の詳細を示すフローチャートである。
【図１４】制御コマンド実行プログラム６１０を実行する末端機器１０２の動作の詳細を示すフローチャートである。
【図１５】事前通知登録プログラム１００８を実行する確認サーバ１０３の動作の詳細を示すフローチャートである。
【図１６】事前通知確認プログラム１００９を実行する確認サーバ１０３の動作の詳細を示すフローチャートである。
【図１７】図１３〜１６を用いて説明した各装置の動作で実現される遠隔監視システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態について図面を参照して説明する。
【００１３】
図１は、本実施形態による遠隔制御システムの全体構成を示すブロック図である。
【００１４】
制御サーバ１０１は、広域ネットワーク１０４を経由して接続された、エアコンやＥＶ充電器などの末端機器１０２を遠隔制御する制御サーバである。制御サーバ１０１は、エアコンのオン・オフ、充電器の充電や放電などの制御コマンドを送信し、それぞれの末端機器１０２に実行させる。制御サーバ１０１および末端機器１０２が接続されている広域ネットワーク１０４は、インターネットのような広域のネットワークである。
【００１５】
末端機器１０２はエアコンやＥＶ充電器などの機器であり、通信機能を備えている。末端機器１０２は、制御サーバ１０１からの制御コマンドを受信し、機器自身のオン・オフや、内部の蓄電装置の充放電などの動作を行う。
【００１６】
確認サーバ１０３は、正当な制御サーバ１０１から、末端機器１０２に実行させるための制御コマンドの情報を受信すると、その情報を予め内部に蓄積しておき、末端機器１０２からの問い合わせに対して、蓄積された制御コマンドの実行の可否を返答するサーバである。
【００１７】
例えば、末端機器１０２を製造する機器メーカが制御サーバ１０１を設置し、制御サーバ１０１から自社の末端機器１０２を遠隔制御するという態様が想定される。また、確認サーバ１０３は、末端機器１０２および制御サーバ１０１を提供する機器メーカとは異なる第三者機関によって設置されるという態様が想定される。
【００１８】
機器メーカによって提供される制御サーバ１０１および末端機器１０２とを含む遠隔制御システムが、確認サーバ１０３を利用した一連のシーケンスによってセキュアな遠隔制御を実行する。そのシーケンスにおいて、まず制御サーバ１０１は、末端機器１０２に対する制御コマンドの確認を確認サーバ１０３に要求する。確認サーバ１０３は、制御サーバ１０１や制御コマンドの正当性を確認した上でその制御コマンドを登録する。確認サーバ１０３によって制御コマンドが確認され、確認サーバ１０３に登録されると、制御サーバ１０１が末端機器１０２に、制御コマンドを登録した旨の通知を送る。通知を受けた末端機器１０２は確認サーバ１０３に制御コマンドの問い合わせを行う。確認サーバ１０３は、末端機器１０２に対する制御コマンドが確認され、登録されていれば、その旨を末端機器１０２に通知する。確認サーバ１０３によって末端機器１０２に対する制御コマンドが確認されていることが通知されると、末端機器１０２は、その制御コマンドを実行する。
【００１９】
図２は、確認サーバ１０３の基本的な機能構成を示すブロック図である。確認サーバ１０３は、受付部１０３ａ、保持部１０３ｂ、および通知部１０３ｃを有している。これら確認サーバ１０３を構成する各部は、例えば、ソフトウェアプログラムをプロセッサによって実行することで実現されるものである。
【００２０】
受付部１０３ａは、予め登録されている制御サーバ１０１から要求された末端機器１０２に対する制御コマンドを確認し、登録を受け付ける。その際、受付部１０３ａは、制御サーバ１０１の正当性を認証した後に、制御コマンドを保持部１０３ｂに登録する。
【００２１】
保持部１０３ｂは、受付部１０３ａで受け付けられた制御コマンドを保持する。
【００２２】
通知部１０３ｃは、末端機器１０２からの問い合わせに対して、保持部１０３ｂに保持されている末端機器１０２に対する制御コマンドが確認されたものであることを末端機器１０２に通知する。
【００２３】
本実施形態によれば、制御サーバ１０１から末端機器１０２への制御コマンドは確認サーバ１０３で確認されてから実行されるので、なりすまし等によって不正に末端機器１０２が遠隔制御されるのを抑制し、セキュリティの高い遠隔制御が可能になる。
【００２４】
また、受付部１０３ａは、制御サーバ１０１の正当性を認証した後に、制御コマンドを保持部１０３ｂに登録する。通知部１０３ｃは、末端機器１０２の正当性を認証した後に、制御コマンドをその末端機器１０２に通知する。制御サーバ１０１と末端機器１０２の正当性を確認して制御コマンドを実行するので、高いセキュリティが確保できる。
【００２５】
具体的には、受付部１０３ａは、制御サーバ１０１と末端機器１０２との対応関係を表す正当制御情報を予め保持しておく。そして、受付部１０３ａは、制御サーバ１０１から制御対象の末端機器１０２と制御内容とを含む制御コマンド登録要求を受信し、制御コマンド登録要求の送信元の制御サーバ１０１と、制御コマンド登録要求に含まれている制御対象の末端機器１０２とが、正当制御情報において対応づけられているか否か判定する。正当制御情報において送信元の制御サーバ１０１と制御対象の末端機器１０２とが対応づけられていれば、受付部１０３ａは、その制御コマンド登録要求の送信元の制御サーバ１０１とその制御コマンド登録要求に含まれていた制御対象の末端機器１０２と制御内容とを対応付けて保持部１０３ｂの制御コマンドテーブルに登録する。
【００２６】
一方、通知部１０３ｃは、その末端機器１０２からコマンド発行元の制御サーバ１０１を含む制御コマンド確認要求を受信し、制御コマンド確認要求の送信元の末端機器１０２とコマンド発行元の制御サーバ１０１とが制御コマンドテーブルにて対応づけて保持されているか否か判定する。制御コマンドテーブルにおいてその末端機器１０２とその制御サーバ１０１とが対応づけられていれば、通知部１０３ｃは、その制御サーバ１０１からの、制御サーバ１０１に対応づけられている制御内容の制御コマンドが検証されたことを、末端機器１０２に通知する。
【００２７】
以下、本実施形態の遠隔制御システムにおける各装置の構成および動作を詳細に説明する。
【００２８】
図３〜６を用いて、制御サーバ１０１の構成および保持するデータについて説明する。
【００２９】
図３は、本実施形態による制御サーバ１０１のハードウェア構成を示すブロック図である。制御サーバ１０１はＣＰＵ（Central Processing Unit）２０１、記憶装置２０２、メモリ２０３、通信モジュール２０４、および入出力装置２０５を備えた計算機であり、これらは通信路２０６を経由して互いに接続されている。
【００３０】
記憶装置２０２は、ＣＰＵ２０１で処理されるデータが格納されている、ハードディスク装置のような記憶媒体であり、以下の各データが格納されている。すなわち、末端機器接続データ２０７、確認サーバ接続データ２０８、および制御コマンドデータ２０９が記憶装置２０２に格納されている。
【００３１】
メモリ２０３は、ＣＰＵ２０１で処理されるプログラムが記録された記憶媒体であり、制御コマンド発行プログラム２１０が記録されている。なお、プログラムについては、記憶装置２０２に格納しておき、ＣＰＵ２０１で実行するときにメモリ２０３に読み込んできてもよい。
【００３２】
通信モジュール２０４は、制御サーバ１０１がと外部の装置と通信を行うための通信インタフェースである。通信モジュール２０４は広域ネットワーク１０４と接続されている。通信モジュール２０４は、例えば、無線ＬＡＮアダプタ、有線ＬＡＮアダプタ、るいは携帯電話網に接続する端末モジュールなどである。
【００３３】
入出力装置２０５は、データを入力あるいは出力するための装置であり、例えばディスプレイ、キーボード、マウス等である。
【００３４】
図４は、本実施形態における末端機器接続データ２０７を示す図である。末端機器接続データ２０７は、製品ＩＤ３０１、機器個体ＩＤ３０２、末端機器１０２の電話番号３０３、ＩＰアドレス３０４の項目を含む。ただし、末端機器接続データ２０７が図４の構成に限定されるものではなく、例えば、図４に示した全ての項目が含まれていなくても良い。製品ＩＤ３０１は末端機器１０２の種別を示す。機器個体ＩＤ３０２は末端機器１０２の個体ごとに固有の識別子である。末端機器１０２は、末端機器接続データ２０７のテーブルによって一意に特定される。
【００３５】
製品ＩＤ３０１は、エアコンの機種など、末端機器１０２の種別を一意に特定する識別子であり、例えば「aircon-abc」「battery-123」などの識別子が格納されている。機器個体ＩＤ３０２は、末端機器の個体を一意に特定する識別子である。電話番号３０３は、末端機器１０２が携帯電話網によってネットワークに接続されるものである場合の各末端機器１０２の電話番号である。ＩＰアドレス３０４は、接続先を示すＩＰアドレスが格納されている。
【００３６】
図５は、本実施形態による確認サーバ接続データ２０８の構成を示すブロック図である。確認サーバ接続データ２０８は、確認サーバ１０３に固有の確認サーバＩＤ４０１と、確認サーバ１０３のＩＰアドレス４０２を含んでいる。ただし、確認サーバ接続データ２０８が図５の構成に限定されることはなく、例えば、確認サーバ１０３に固有の確認サーバＩＤ４０１とＩＰアドレス４０２の両方を含んでいなくても良い。本テーブルにより確認サーバ１０３を一意に特定することができる。制御サーバ１０１との通信が可能なネットワーク上の位置に確認サーバ１０３が複数ある場合に、制御サーバ１０１は自身が通信すべき確認サーバ１０３を識別するためにこの確認サーバＩＤ４０１を用いることができる。ＩＰアドレス４０２は確認サーバ１０３のＩＰアドレスである。
【００３７】
図６は、制御コマンドデータ２０９の構成を示す図である。制御コマンドデータ２０９は末端機器１０２の種別を示す製品ＩＤ５０１、末端機器１０２を制御するための制御コマンドの種別を一意に示す制御コマンドＩＤ５０２、実際に末端機器１０２を制御するためのコマンドである制御コマンド５０３を含む。
【００３８】
製品ＩＤ５０１は、エアコンやＥＶ充電器など末端機器１０２の製品種別を示す識別子である。制御コマンドＩＤ５０２は、その製品に対して送信可能な制御コマンドを定義するための識別子である。制御コマンド５０３は実際に末端機器１０２に対して送信され、末端機器１０２に実行させることが可能なデータである。
【００３９】
図７〜１０を用いて末端機器１０２の構成および保持するデータについて説明する。
【００４０】
図７は、本実施形態による末端機器１０２の構成を示す図である。末端機器１０２はＣＰＵ６０１、記憶装置６０２、メモリ６０３、通信モジュール６０４、および入出力装置６０５を備えた計算機であり、これらは通信路６０６を経由して互いに接続されている。
【００４１】
記憶装置６０２は、ＣＰＵ６０１によって処理されるデータを格納されたハードディスク装置、あるいはコンパクトフラッシュ（登録商標）などのフラッシュメモリのような記憶媒体である。記憶装置６０２に格納されているデータは、制御サーバ接続データ６０７、確認サーバ接続データ６０８、および制御コマンドデータ６０９である。
【００４２】
メモリ６０３はＣＰＵ６０１によって処理されるプログラムが格納された記憶媒体であり、制御コマンド実行プログラム６１０が格納されている。プログラムは記憶装置６０２に格納されており、ＣＰＵ６０１が実行するときにメモリ６０３に読み込んできくることにしてもよい。
【００４３】
通信モジュール６０４は、末端機器１０２が外部の装置と通信を行うための通信インタフェースである。通信モジュール６０４は広域ネットワーク１０４と接続されている。通信モジュール６０４は、例えば、無線ＬＡＮアダプタ、有線ＬＡＮアダプタ、あるいは携帯電話網に接続する端末モジュールなどである。
【００４４】
入出力装置６０５は末端機器１０２にデータを入力あるいは出力するための装置であり、例えば液晶デバイス、リモートコントローラ、メンテナンス用の入出力端末などである。
【００４５】
図８は、制御サーバ接続データ６０７の構成を示す図である。制御サーバ接続データ６０７は、制御サーバ１０１に固有の制御サーバＩＤ７０１、末端機器１０２に対して制御コマンドを送信する制御サーバ１０１の電話番号７０２、あるいはＩＰアドレス７０３を含むテーブルである。ただし、制御サーバ接続データ６０７が図８の構成に限定されることはなく、例えば、図８に示した全ての項目を含んでいなくても良い。このテーブルにより、末端機器１０２がコマンドを取得する制御サーバ１０１を一意に特定することができる。
【００４６】
制御サーバＩＤ７０１は、制御サーバ１０１に固有の識別子である。末端機器１０２から通信が可能なネットワーク上の位置に制御サーバが複数ある場合に、末端機器１０２が通信すべき制御サーバ１０１を識別するために、この制御サーバＩＤ７０１を利用する。電話番号７０２は、末端機器１０２が携帯電話網によってネットワークに接続されるものである場合における各末端機器１０２の電話番号である。ＩＰアドレス７０３は、接続先を示すＩＰアドレスである。
【００４７】
図９は、確認サーバ接続データ６０８の構成を示す図である。確認サーバ接続データ６０８は、確認サーバ１０３に固有の確認サーバＩＤ８０１とＩＰアドレス８０２とを含むテーブルである。ただし、確認サーバ接続データ６０８が図９の構成に限定されることはなく、例えば、図９に示した全ての項目を含んでいなくても良い。このテーブルにより、確認サーバ１０３を一意に特定することができる。
【００４８】
確認サーバＩＤ８０１は、末端機器から通信が可能なネットワーク上の位置に確認サーバが複数ある場合に、末端機器が通信すべき確認サーバを識別するための固有のＩＤである。ＩＰアドレス８０２は確認サーバのＩＰアドレスである。
【００４９】
図１０は制御コマンドデータ６０９の構成を示す図である。制御コマンドデータ６０９は機器メーカが発行した制御コマンドを識別するためのコマンド番号（ＮＯ）９０１、末端機器を制御するための制御コマンドの種別を一意に示す制御コマンドＩＤ９０２、実際に末端機器を制御するためのコマンドである制御コマンド９０３を含む。
【００５０】
コマンドＮＯ９０１は機器メーカが発行した制御コマンドを一意に識別するための識別子である。機器メーカによって、同じ末端機器に同じ制御コマンドが２回発行された場合にも異なるコマンドＮＯが採番される。制御コマンドＩＤ９０２は、その末端機器がコマンドのＩＤを定義する識別子である。制御コマンド９０３は実際に末端機器に対して送信し、コマンドを実行することができるデータである。制御コマンド９０３はその実行にあたってそのコマンドに付随するパラメータを保持しても良い。例えば、「エアコンの温度を設定する」という意味のコマンドを保持する場合、設定する温度を示す「２７度」というパラメータを保持しても良い。
【００５１】
図１１〜１２を用いて確認サーバ１０３の構成および保持するデータについて説明する。
【００５２】
図１１は、確認サーバ１０３の構成を示すブロック図である。確認サーバ１０３はＣＰＵ１００１、記憶装置１００２、メモリ１００３、通信モジュール１００４、および入出力装置１００５を備えた計算機であり、これらは通信路１００６を経由して互いに接続されている。
【００５３】
記憶装置１００２は、ＣＰＵ１００１によって処理されるデータを格納している、ハードディスク装置のような記憶媒体である。ＣＰＵ１００１で処理されるデータとして、事前通知データ１００７が記憶装置１００２に格納されている。
【００５４】
メモリ１００３はＣＰＵ１００１によって処理されるプログラムが格納された記憶媒体であり、事前通知登録プログラム１００８および事前通知確認プログラム１００９が格納されている。プログラムは記憶装置１００２に格納されており、ＣＰＵ１００１によって実行するときにメモリ１００３に読み込むことにしてもよい。
【００５５】
通信モジュール１００４は、確認サーバ１０３が外部装置と通信を行うための通信インタフェースである。通信モジュール１００４は広域ネットワーク１０４と接続されている。通信モジュール１００４は、例えば、無線ＬＡＮアダプタ、有線ＬＡＮアダプタ、あるいは携帯電話網に接続する端末モジュールなどである。
【００５６】
入出力装置１００５は確認サーバ１０３にデータを入力あるいは出力するための装置であり、例えばディスプレイ、キーボード、マウスである。
【００５７】
図１２は、本実施形態による事前通知データ１００７の構成を示すブロック図である。事前通知データ１００７は、上述した制御コマンドテーブルに相当するテーブルであり、機器メーカＩＤ１１０１、機器個体ＩＤ１１０２、コマンドＮＯ１１０３、コマンドＩＤ１１０４の項目を含むテーブルである。ただし、事前通知データ１００７が図１２の構成に限定されることはなく、例えば、図１２の全ての項目を含んでいなくても良い。このテーブルにより本システム内で発行される制御コマンドを一意に特定することができる。機器メーカＩＤ１１０１と機器個体ＩＤ１１０２の両方あるいは一方によって制御対象の末端機器１０２が特定され、コマンドＮＯ１１０３とコマンドＩＤ１１０４の一方あるいは両方によって制御コマンドの制御内容が特定される。
【００５８】
機器メーカＩＤ１１０１は、機器メーカを一意に特定する識別子である。機器個体ＩＤ１１０２は、末端機器１０２を一意に識別するための識別子である。コマンドＮＯ１１０３は、機器メーカが発行した制御コマンドを一意に識別するための識別子である。コマンドＩＤ１１０４はコマンドの種別を表す識別子である。
【００５９】
図１３〜１５を用いて、本システムの各装置の動作について説明する。
【００６０】
図１３は、制御コマンド発行プログラム２０１を実行する制御サーバ１０１の動作の詳細を示すフローチャートである。本プログラムの実行に先だって、制御サーバ１０１と確認サーバ１０３は、お互いのサーバが正当なものであることを確認しているものとする。ネットワークに接続する機器が正当性を確認する方法としては、例えば、公開鍵を用いた認証がある。本実施形態では、一例として公開鍵を用いた認証を行っているものとする。
【００６１】
ここで、例えば、末端機器１０２−１はエアコンであり、このエアコンに対して設定温度を２７度に設定する制御コマンドを送信する場合を考える。
【００６２】
まず、制御サーバ１０１は、制御コマンドの実行を事前に確認サーバ１０３に通知する（ステップ１２０１）。この処理において制御サーバ１０１は、一意なコマンドＮＯを採番し、確認サーバ１０３に対して自らの機器メーカＩＤ、末端機器１０２−１の製品ＩＤ、採番したコマンドＮＯ、上記の制御コマンドに対応するコマンドＩＤを送信し、確認サーバ１０３より登録完了通知を受信する。ここで機器メーカＩＤ、製品ＩＤ、コマンドＮＯ、コマンドＩＤは、図１２において記述した事前通知データ１００７内で用いられる同名のデータと同じ意味を持つ。
【００６３】
次に、制御サーバ１０１は、末端機器１０２に対する発呼を行う（ステップ１２０２）。この処理において、制御サーバ１０１は、末端機器接続データ２０７を参照し、コマンドの送信先である末端機器１０２−１を呼び出し、接続が確立するのを待機する。
【００６４】
次に、制御サーバ１０１は、末端機器１０２との接続が確立されたか否かを判断し（ステップ１２０３）、接続が確立していれば、ステップ１２０４に移行する。また例えば、タイムアウトなどによって接続が確立しなかった場合、制御サーバ１０１は処理を終了する。
【００６５】
制御サーバ１０１と末端機器１０２の接続が確立したあと、制御サーバ１０１は、末端機器１０２から制御サーバ１０１に対するコマンドの取得要求が受信されるのを待機する（ステップ１２０４）。
【００６６】
続いて、制御サーバ１０１は、末端機器１０２から制御サーバ１０１に対するコマンドの取得要求が受信されたか否か判定する（ステップ１２０５）。コマンド取得要求が受信されていれば、制御サーバ１０１はステップ１２０６に移行する。また例えばタイムアウトなどによって、コマンド取得要求を受信しなかった場合、制御サーバ１０１は処理を終了する。ステップ１２０６では、制御サーバ１０１は、末端機器１０２に対して、コマンドＮＯ、コマンドＩＤ、制御コマンドを送信し、処理を終了する。
【００６７】
図１４は、制御コマンド実行プログラム６１０を実行する末端機器１０２の動作の詳細を示すフローチャートである。
【００６８】
まず、末端機器１０２は、通信モジュール６０４を介して外部の装置から接続の要求があったら、制御サーバ接続データ６０７を参照し、接続元がこのテーブルに登録されている制御サーバ１０１であるか否かにより、正当な接続であるか否かを判定する（ステップ１３０１）。接続元がテーブルに登録されていれば、末端機器１０２は、その接続元の制御サーバ１０１と接続を確立してステップ１３０２に移行する。そうでなければ、末端機器１０２は、接続元との接続を確立せずに処理を終了する。
【００６９】
ステップ１３０２では、末端機器１０２は、制御サーバ１０１に対してコマンド取得要求を送信し、制御サーバ１０１より制御コマンドを取得する。続いて、ステップ１３０３では、末端機器１０２は、制御サーバ１０１からの応答が正当なものであるか否かを確認する。末端機器１０２は正当な制御コマンドが受信された場合にステップ１３０４に移行する。制御サーバ１０１からの応答が受信できずに所定時間が経過した場合、あるいは制御コマンド以外のデータを受信した場合、あるいは不正なデータを受信した場合、末端機器１０２は処理を終了する。
【００７０】
ステップ１３０４では、末端機器１０２は、確認サーバ１０３に対してコマンド確認要求を送信する。コマンド確認要求には末端機器１０２自身の機器個体ＩＤとステップ１３０２で取得した制御コマンドとが含まれている。
【００７１】
続いて、ステップ１３０５では、末端機器１０２は、確認サーバ１０３からの応答が正当なものか否かを確認する。実行が許可されたことを示す応答のデータが受信された場合のみ、末端機器１０２はステップ１３０６に移行する。確認サーバ１０３からの応答が受信されずに所定時間が経過した場合、実行を許可する応答以外の応答が受信された場合、不正なデータが受信された場合、末端機器１０２は処理を終了する。
【００７２】
ステップ１３０６では、末端機器１０２は、ステップ１３０２によって受け取った制御コマンドを実行する。
【００７３】
図１５は、事前通知登録プログラム１００８を実行する確認サーバ１０３の動作の詳細を示すフローチャートである。事前通知登録プログラム１００８は、制御サーバ１０１が末端機器１０２に制御コマンドを送る前に、事前に制御コマンドの送信を登録するために実行されるプログラムである。
【００７４】
確認サーバ１０３は、まず、制御サーバ１０１から制御コマンドを送信する末端機器（すなわち制御対象の末端機器）１０２と、送信する制御コマンドの内容とを受信する（ステップ１４０１）。続いてステップ１４０２では、確認サーバ１０３は、受信した制御コマンドが正当なものであるか否かを確認する。
【００７５】
受信した制御コマンドが正当な制御サーバ１０１から正当な末端機器１０２への制御を行うためのものであり、その制御内容が適切なものであれば、制御コマンドは正当なものであると判断される。確認サーバ１０３は、制御サーバ１０１と末端機器１０２と制御コマンドとの正当な対応関係を表わす正当制御情報を保持しており、それを参照することにより、制御コマンドの正当性を確認することができる。制御コマンドを送信した制御サーバ１０１と、その制御対象の末端機器１０２と、制御コマンドの制御内容との対応関係が正当制御情報に含まれているものであれば、確認サーバ１０３は、受信した制御コマンドが正当なものであると判断する。
【００７６】
受信した制御コマンドが正当な制御コマンドであれば、確認サーバ１０３は、受信した制御コマンドの内容を事前通知データ１００７のテーブルに格納する（ステップ１４０３）。受信した制御コマンドが正当な制御コマンドでなければ、確認サーバ１０３は、制御コマンドを登録することなく、そのまま処理を終了する。
【００７７】
図１６は、事前通知確認プログラム１００９を実行する確認サーバ１０３の動作の詳細を示すフローチャートである。事前通知確認プログラム１００９は、末端機器１０２が制御サーバ１０１から制御コマンドを受信し、その制御コマンドの実行の可否を問い合わせてきたときに、その可否を判断するために実行される。
【００７８】
ステップ１５０１では、確認サーバ１０３は、受信した制御コマンドに対して、その制御コマンドが事前通知データ１００７に登録されているか否かを確認する。ステップ１５０２では、確認サーバ１０３は、上記の制御コマンドが事前通知データ１００７に存在する場合にはステップ１５０３に移行し、存在しない場合にはステップ１５０４に移行する。
【００７９】
ステップ１５０３では、確認サーバ１０３は、末端機器１０２に対して制御コマンドの実行を許可する旨の応答を送信し、当該制御コマンドをテーブルから削除する。一方、ステップ１５０４では、確認サーバ１０３は末端機器１０２に対して制御コマンドの実行を許可しない旨の応答を送信する。
【００８０】
図１７は、図１３〜１６を用いて説明した各装置の動作で実現される遠隔監視システムの動作を示すシーケンス図である。
【００８１】
ステップ１２０１およびステップ１４０３では、制御サーバ１０１が確認サーバ１０３に対して制御コマンドの実行を事前に登録する。ステップ１２０２およびステップ１３０１では、制御サーバ１０１が末端機器１０２に対して発呼を行う。
【００８２】
ステップ１２０６およびステップ１３０２では、末端機器１０２が制御サーバ１０１との通信が確立したことを受けて、制御サーバ１０１より制御コマンドを取得する。
【００８３】
ステップ１３０４およびステップ１５０３では、末端機器１０２が確認サーバ１０３に対して、前段の処理で取得した制御コマンドが確認サーバ１０３に登録されているかを確認する。ステップ１３０６では、末端機器１０２が制御コマンドを実行する。
【００８４】
以上、本実施形態について説明したが、本発明の実施形態は発明のスコープ内において様々な変形が可能である。以下、幾つかの変更例について説明する。
【００８５】
（第１の変形例）
第１の変形例は、確認サーバ１０３が、制御サーバ１０１から、制御コマンドの登録を受け付けるときに、その制御コマンドに対応する共通鍵を生成して制御サーバ１０１に通知しておき、末端機器１０２がその共通鍵を用いて問い合わせてきたことを条件として、制御コマンドが確認されたことを末端機器１０２に通知するというものである。
【００８６】
以下、具体的に説明する。
【００８７】
本実施形態においては、確認サーバ１０３の事前通知データ１００７を格納するテーブルに共通鍵となる乱数を格納する項目を設ける。そして、確認サーバ１０３は、ステップ１４０３において、制御サーバ１０１から制御コマンドを受信し、その正当性を確認すると、その制御コマンドに対応する共通鍵として乱数を発生させ、制御サーバ１０１に通知すると共に、事前通知データ１００７のテーブルに記録する。乱数を受信した制御サーバ１０１は、その乱数を制御対象の末端機器１０２に通知する。
【００８８】
そして、末端機器１０２は、ステップ１３０４において、その乱数を含むコマンド確認要求を確認サーバ１０３に通知する。確認サーバ１０３は、ステップ１５０１において、末端機器１０２から通知された乱数と、自身が事前通知データ１００７に保持している乱数とを照合する。それらの乱数が一致し、制御コマンドの確認が済むと、確認サーバ１０３は、末端機器１０２に制御コマンドの実行を許可する。
【００８９】
本変形例によれば、一時的な共通鍵として乱数を用いることにより、悪意の第三者が制御サーバ１０１を偽装することが困難となり、よりセキュアに制御コマンドの実行ができるようになる。
【００９０】
なお、図２に示した確認サーバ１０３の機能構成においては、受付部１０３ａが制御コマンドの登録を受け付けるときに、その制御コマンドに対応する共通鍵となる乱数を生成して制御サーバ１０１に通知する。そして、通知部１０３ｃが、末端機器１０２がその共通鍵を用いて問い合わせてきたことを条件として、制御コマンドが確認されたことを末端機器１０２に通知する。
【００９１】
（第２の変形例）
第２の変形例は、確認サーバ１０３が、制御コマンドの登録を受け付けるときに登録時刻を記録しておき、末端機器１０２からの問い合わせがその登録時刻から所定時間内であることを条件に、制御コマンドが確認されたことを末端機器１０２に通知するというものである。
【００９２】
以下、具体的に説明する。
【００９３】
本実施形態においては、確認サーバ１０３の事前通知データ１００７を格納するテーブルに登録時刻を格納する項目を設ける。そして、確認サーバ１０３は、ステップ１４０３において、制御サーバ１０１から制御コマンドを受信し、その正当性を確認すると、その制御コマンドをその時点の時刻とと共に事前通知データ１００７のテーブルに記録する。
【００９４】
また、確認サーバ１０３は、ステップ１５０１において、末端機器１０２からの問い合わせが、自身のテーブルに格納されている登録時刻から所定時間内に行われたか否か判定する。そして、確認サーバ１０３は、末端機器１０２からの問い合わせが登録時刻から所定時間内であることを条件に、末端機器１０２に制御コマンドの実行を許可する。一方、末端機器１０２からの問い合わせが登録時刻から所定時間を経過した後に行われたのであれば、確認サーバ１０３は、制御コマンドの実行を末端機器１０２に許可しない。
【００９５】
本実施形態によれば、制御サーバ１０１における制御コマンドの事前登録から末端機器１０２における制御コマンドの実行までを一定時間以内に行うことが必要になるため、第三者が制御サーバ１０１を偽装して、不正に末端機器１０２への制御コマンドを送信することが困難となり、よりセキュアに制御コマンドの実行ができるようになる。
【００９６】
なお、図２に示した確認サーバ１０３の機能構成においては、受付部１０３ａが制御コマンドの登録を受け付けるときに登録時刻を記録する。そして、通知部１０３ｃが、末端機器１０２からの問い合わせがその登録時刻から所定時間内であることを条件に、制御コマンドが確認されたことを末端機器１０２に通知する。
【００９７】
上述した本発明の実施形態および変形例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態あるいは変形例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００９８】
例えば、上述した実施形態では、末端機器１０２は制御サーバ１０１から制御コマンドを取得し、その制御コマンドの実行の可否を確認サーバ１０３に問い合わせている。しかし、本発明がこれに限定されることはない。他の例として、末端機器１０２は制御コマンドが確認サーバ１０３に登録された旨の通知を制御サーバ１０１から受けるが、制御サーバ１０１から制御コマンドを取得せず、確認サーバ１０３から実行の許可と共に取得することにしてもよい。
【符号の説明】
【００９９】
１００１…ＣＰＵ、１００２…記憶装置、１００３…メモリ、１００４…通信モジュール、１００５…入出力装置、１００６…通信路、１００７…事前通知データ、１００８…事前通知登録プログラム、１００９…事前通知確認プログラム、１０１…制御サーバ、１０２…末端機器、１０３…確認サーバ、１０３ａ…受付部、１０３ｂ…保持部、１０３ｃ…通知部、１０４…広域ネットワーク、１１０１…機器メーカＩＤ、１１０２…機器個体ＩＤ、１１０３…コマンドＮＯ、１１０４…コマンドＩＤ、２０１…ＣＰＵ、２０１…制御コマンド発行プログラム、２０２…記憶装置、２０３…メモリ、２０４…通信モジュール、２０５…入出力装置、２０６…通信路、２０７…末端機器接続データ、２０８…確認サーバ接続データ、２０９…制御コマンドデータ、２１０…制御コマンド発行プログラム、３０１…製品ＩＤ、３０２…機器個体ＩＤ、３０３…電話番号、３０４…ＩＰアドレス、４０１…確認サーバＩＤ、４０２…ＩＰアドレス、５０１…製品ＩＤ、５０２…制御コマンドＩＤ、５０３…制御コマンド、６０１…ＣＰＵ、６０２…記憶装置、６０３…メモリ、６０４…通信モジュール、６０５…入出力装置、６０６…通信路、６０７…制御サーバ接続データ、６０８…確認サーバ接続データ、６０９…制御コマンドデータ、６１０…制御コマンド実行プログラム、７０１…制御サーバＩＤ、７０２…電話番号、７０３…ＩＰアドレス、７０３…接続先ＩＰ、８０１…確認サーバＩＤ、８０２…ＩＰアドレス、９０１…コマンドＮＯ、９０２…制御コマンドＩＤ、９０３…制御コマンド
【図１】
2013219535.tif 000003
【図２】
2013219535.tif 000004
【図３】
2013219535.tif 000005
【図４】
2013219535.tif 000006
【図５】
2013219535.tif 000007
【図６】
2013219535.tif 000008
【図７】
2013219535.tif 000009
【図８】
2013219535.tif 000010
【図９】
2013219535.tif 000011
【図１０】
2013219535.tif 000012
【図１１】
2013219535.tif 000013
【図１２】
2013219535.tif 000014
【図１３】
2013219535.tif 000015
【図１４】
2013219535.tif 000016
【図１５】
2013219535.tif 000017
【図１６】
2013219535.tif 000018
【図１７】
2013219535.tif 000019