以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
<ネットワークシステムの全体構成>
まず、図1を参照して、本実施の形態にかかるネットワークシステム1の全体構成について説明する。なお、図1は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。
図1(a)を参照して、ネットワークシステム1の全体構成について簡単に説明する。ネットワークシステム1は、主に、機器制御サービス用のサーバ100と、機器としてのエアコン200Aと、端末としてのスマートフォン300A,300Bとを含む。本実施の形態においては、ネットワークシステム1は、さらにデータベース101とグループサーバ100Bとを含む。なお、機器制御サービス用のサーバ100が、データベース101を記憶してもよい。また、機器制御サービス用のサーバ100が、グループサーバ100Bの役割を果たしてもよい。
サーバ100は、インターネットなどのネットワークを介してスマートフォン300A,300Bおよびエアコン200Aなどの機器と接続される。たとえば、サーバ100は、スマートフォン300A,300Bからの命令を受け付けて、インターネットを介してエアコン200Aなどの機器を制御する。逆に、サーバ100は、インターネットを介してエアコン200Aなどの機器からデータを受信して、スマートフォン300A,300Bに転送する。
第1のスマートフォン300Aは、第1のユーザに保持される。第2のスマートフォン300Bは、第2のユーザに保持される。第1および第2のユーザは、第1および第2のスマートフォン300A,300Bを介して、エアコン200Aなどの機器を制御したり、エアコン200Aなどの機器に関する情報を取得したりする。なお、第1および第2のユーザは、スマートフォン300A,300Bに限らず、タブレット、パーソナルコンピュータ、ノートパソコン、ゲーム機、電子書籍端末など、他の種類のサーバ100と通信可能な端末を利用してもよい。なお、以下では、これらの装置を総称して、端末300ともいう。
エアコン200Aなどの機器は、リモコンから受け付けた制御命令やセンサで測定したデータなどをコントローラ、ルータおよびインターネットなどを介してサーバ100に送信する。エアコン200Aなどの機器は、サーバ100やスマートフォン300Aからの制御命令に基づいて各種の動作を実行する。なお、機器は、エアコン200Aに限らず、冷蔵庫、洗濯機、自走式掃除機などの家電、テレビ、ハードディスクレコーダ、音楽プレーヤーなどのAV(オーディオ・ビジュアル)機器、太陽光発電機、インターホン、給湯器などの住宅設備、などであってもよい。なお、以下では、これらの装置を総称して、機器200ともいう。
データベース101は、ユーザと端末300と機器200とに関するグループ情報を格納する。たとえば、家族のグループに属するユーザと、家族のグループに属するユーザの端末300と、家族のグループに属するユーザの機器200とをグループとして記憶する。データベース101は、機器制御サービス用のサーバ100やグループサーバ100Bから参照可能である。
グループサーバ100Bは、ユーザと機器200とのグループ関係をデータベース101に登録したり、データベース101を参照してユーザと機器200とのグループ関係を利用したりする。なお、グループサーバ100Bは、サーバ100からの要求に応じて、データベース101の情報を検索したり読み出したりして、当該情報をサーバ100に提供してもよい。
<ネットワークシステムの動作概要>
次に、図1(a)から(c)を参照して、本実施の形態にかかるネットワークシステム1の動作概要について説明する。
図1(a)を参照して、まず、第1のユーザは、第1のスマートフォン300Aを介してエアコン200Aを制御したり、エアコン200Aから情報を取得したりすることができる。具体的には、第1のユーザは、第1のスマートフォン300Aの機器制御アプリケーションを起動して、サーバ100が提供するサービスにログインして、エアコン200Aを制御したり、エアコン200Aから情報を取得したりする。なお、以下では、機器200がいずれの端末300からも制御可能でない状態から、端末300が機器200を制御可能な状態になること、すなわち機器200が端末300からの制御命令(第1の要求の一種)を受け付ける状態になることを、端末300が機器200とペアリングするという。
この状態において、さらに第2のユーザが、第2のスマートフォン300Bを利用して、エアコン200Aを制御したり、エアコン200Aから情報を取得したり、することを望む場合がある。図1(b)を参照して、本実施の形態においては、第2のユーザは、第2のスマートフォン300Bの家電制御アプリを起動して、サーバ100が提供するサービスにログインして、エアコン200Aへのアクセスを試みる。サーバ100は、第2のスマートフォン300Bからの要求に基づいて、データベース101を参照して、第2のスマートフォン300Bのユーザが、エアコン200Aが属するグループに属するか否かを判断する。
第2のスマートフォン300Bのユーザが、エアコン200Aが属するグループに属さない場合、サーバ100は、第2のスマートフォン300Bからの要求を許可しない。たとえば、サーバ100は、第2のスマートフォン300Bにエアコン200Aの識別情報を与えない、すなわち第2のスマートフォン300Bがエアコン200Aを特定することを許可しない。
あるいは、サーバ100は、第2のスマートフォン300Bにエアコン200Aの識別情報は与えるが、エアコン200Aから操作情報や状態情報を取得することは許可しない。あるいは、サーバ100は、第2のスマートフォン300Bにエアコン200Aからの操作情報や状態情報は与えるが、エアコン200Aに対する制御命令はエアコン200Aに送信させない。
一方、第2のスマートフォン300Bのユーザが、エアコン200Aが属するグループに属する場合、図1(c)を参照して、サーバ100は、第2のスマートフォン300Bからの要求を許可する。これによって、第2のユーザは、第2のスマートフォン300Bの機器制御アプリケーションを介して、エアコン200Aの識別情報を取得することができ、エアコン200Aにアクセスすることができるようになる。あるいは、第2のユーザは、第2のスマートフォン300Bの機器制御アプリケーションを介して、エアコン200Aから操作情報や状態情報を取得することができるようになる。あるいは、第2のユーザは、第2のスマートフォン300Bの機器制御アプリケーションを介して、エアコン200Aを制御することが可能になる(ペアリングした場合と同じ要求を機器200に送信できる)。
このように、本実施の形態にかかるネットワークシステム1では、第2のユーザが第2の端末300を利用して機器200の制御や機器200の情報などを求めてきた際に、サーバ100が、第2のユーザと機器200とが同じグループに属するか否かに基づいて当該要求を許可するか否かを判断する。
その結果、本実施の形態にかかるネットワークシステム1では、従来よりも、より簡単に、より安全に、端末が機器を制御したり情報を取得したりできるようになる。より詳細には、2人目以降のユーザは、機器と最初にペアリングしたユーザのようなペアリング処理が不要になるため、従来よりもユーザの処理が簡単になる。そして、グループに加入していないユーザが機器にアクセスしたり、制御したり、情報を閲覧したりできないため、従来よりもネットワークシステムのセキュリティーも向上される。
以下では、このような機能を実現するためのネットワークシステム1について詳細に説明する。
<サーバ100のハードウェア構成>
まず、ネットワークシステム1を構成するサーバ100のハードウェア構成の一態様について説明する。なお、図2は、本実施の形態にかかるサーバ100のハードウェア構成を表わすブロック図である。
図2を参照して、サーバ100は、主たる構成要素として、プロセッサ110と、メモリ120と、通信インターフェイス160とを含む。
プロセッサ110は、メモリ120あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ100の各部を制御する。すなわち、プロセッサ110は、メモリ120に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ120は、各種のRAM(Random Access Memory)、各種のROM(Read-Only Memory)、フラッシュメモリーなどによって実現される。なお、メモリ120は、インターフェイスを介して利用される、USB(Universal Serial Bus)(登録商標)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disk)、メモリカード、ハードディスク、IC(Integrated Circuit)カード、光カード、マスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの記憶媒体などによっても実現される。
メモリ120は、プロセッサ110によって実行されるプログラムや、プロセッサ110によるプログラムの実行により生成されたデータ、入力されたデータ、機器200および端末300から受信したデータを記憶する。なお、メモリ120は、図1に示すデータベース101を記憶してもよい。本実施の形態においては、データベース101は、ユーザとグループとの関係を示すユーザデータベースと、機器とグループとの関係を示す機器データベースとを含む。
ここで、図3は、本実施の形態にかかるユーザデータベース101Aのデータ構造を示すイメージ図である。図3を参照して、ユーザデータベース101Aは、ユーザIDとグループIDとの対応関係を格納する。
ここで、図4は、本実施の形態にかかる機器データベース101Bのデータ構造を示すイメージ図である。図4を参照して、機器データベース101Bは、機器IDとグループIDとMACアドレスとその他の機器情報との対応関係を格納する。
ただし、データベース101は、グループサーバ100Bに格納されるものであってもよい。あるいは、サーバ100およびグループサーバ100Bから参照可能に、その他の装置に格納されるものであってもよい。
図2に戻って、通信インターフェイス160は、プロセッサ110からのデータを、インターネット、キャリア網、無線付きアダプタ、ルータなどを介して端末300および機器200に送信する。通信インターフェイス160は、インターネット、キャリア網、無線付きアダプタ、ルータなどを介して端末300および機器200からのデータを受信して、プロセッサ110に受け渡す。
なお、グループサーバ100Bのハードウェア構成も、サーバ100と同じであるため、ここでは説明を繰り返さない。
<機器200のハードウェア構成>
次に、機器200のハードウェア構成の一態様について説明する。図5は、本実施の形態にかかる機器200のハードウェア構成を表わすブロック図である。
図5を参照して、機器200は、主たる構成要素として、プロセッサ210と、メモリ220と、各種ライト230と、各種スイッチ240と、通信インターフェイス260と、機器駆動部270とを含む。
プロセッサ210は、メモリ220あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、機器200の各部を制御する。すなわち、プロセッサ210は、メモリ220に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ220は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。メモリ220は、プロセッサ210によって実行されるプログラムや、プロセッサ210によるプログラムの実行により生成されたデータ、入力されたデータ、サーバ100から受信したデータなどを記憶する。
ライト230は、プロセッサ210からの信号によって点灯・点滅・消灯することによって、機器200の各種の状態を外部に伝える。
スイッチ240は、ユーザからの命令を受け付けて、当該命令をプロセッサ210に入力する。
通信インターフェイス260は、プロセッサ210からのデータ、たとえば、機器の状態および機器がユーザからリモコンを介して受け付けた命令など、をインターネット、無線付きアダプタ、ルータ400(図1を参照。)などを介してサーバ100に送信する。通信インターフェイス260は、インターネット、無線付きアダプタ、ルータ400などを介してサーバ100からのデータ、たとえば端末300からの制御命令および閲覧命令を受信してプロセッサ210に受け渡す。
機器駆動部270は、プロセッサ210からの制御命令に基づいて、モータ、アクチュエータ、センサ、スピーカなどを制御することによって、機器200の主要な役割を果たす。
<端末300のハードウェア構成>
次に、端末300のハードウェア構成の一態様について説明する。なお、図6は、本実施の形態にかかる端末300のハードウェア構成を表わすブロック図である。
図6を参照して、端末300は、主たる構成要素として、プロセッサ310と、メモリ320と、タッチパネル350(ディスプレイ330とポインティングデバイス340)と、通信インターフェイス360と、スピーカ380とを含む。
プロセッサ310は、メモリ320あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、端末300の各部を制御する。すなわち、プロセッサ310は、メモリ320に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ320は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。なお、メモリ320は、様々なインターフェイスを介して利用される、SDカードやマイクロSDカードのようなメモリカード、USB(登録商標)メモリ、CD、DVD、ハードディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの記憶媒体などによっても実現される。
メモリ320は、プロセッサ310によって実行されるプログラムや、プロセッサ310によるプログラムの実行により生成されたデータ、ポインティングデバイス340を介して入力されたデータ、サーバ100やグループサーバ100Bから受信したデータなどを記憶する。特に、本実施の形態においては、メモリ320は、機器制御アプリケーションを記憶している。プロセッサ310は、メモリ320の機器制御アプリケーションに従って、後述する各種の処理を実行する。
ディスプレイ330は、プロセッサ310からの信号に基づいて、文字や画像を出力する。ポインティングデバイス340は、ユーザからの命令を受け付けて、当該命令をプロセッサ310に入力する。なお、本実施の形態においては、端末300は、ディスプレイ330とポインティングデバイス340とが組み合わされたタッチパネル350を有する。
通信インターフェイス360は、アンテナやコネクタによって実現される。通信インターフェイス360は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。プロセッサ310は、通信インターフェイス360を介して、テキストデータ、画像データなどを、サーバ100などの他の装置に送信する。たとえば、プロセッサ310は、機器200に対する様々な要求をサーバ100に送信する。また、プロセッサ310は、通信インターフェイス360を介して、プログラム、制御命令、画像データ、テキストデータなどを、サーバ100などの他の装置から受信する。
スピーカ380は、プロセッサ310からの音声信号に基づいて通話音声、音楽、動画などの様々な音声を出力する。
<ネットワークシステム1における情報処理>
次に、図7を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について説明する。なお、図7は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
まず、はじめに、第1のユーザが、第1の端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対してユーザ登録を行う(ステップS102)。たとえば、第1のユーザは、グループサーバ100BにユーザIDとパスワードとを登録したり、グループサーバ100BからユーザIDとパスワードとを取得したりする。なお、本実施の形態においては、グループサーバ100Bがグループを管理するためのサービスを運用しているが、機器制御サービス用のサーバ100が当該役割を果たしてもよい。
その後、第1のユーザの自宅に機器200が設置される。機器200は、たとえば無線LANおよびインターネットなどを介して、サーバ100と通信を開始する(ステップS104)。このとき、サーバ100は、MACアドレスに対応するような、通信用の識別情報を機器200に付与する。サーバ100は、MACアドレスと当該識別情報との対応関係を記憶しておく。
そして、第1のユーザが端末300の機器制御アプリケーションを起動して、機器200とのペアリング処理を開始する。
具体的には、図8に示すように、端末300のプロセッサ310は、機器制御アプリケーションのブラウザを介して第1のユーザからユーザIDとパスワードとの入力を受け付ける。プロセッサ310は、通信インターフェイス360を介して、ユーザIDとパスワードとをサーバ100に送信する。サーバ100のプロセッサ110は、通信インターフェイス160を介してデータベース101あるいはグループサーバ100Bにアクセスして、端末300からのユーザIDとパスワードの認証を行う。サーバ100がユーザIDとパスワードの認証に成功すると、図9に示すように、端末300のプロセッサ310は、タッチパネル350を介して、新たな制御対象となる機器に関する通信設定を開始するための命令を受け付ける。
端末300のプロセッサ310は、通信インターフェイス360を利用して、WiFi(登録商標)やBluetooth(登録商標)などの無線通信可能な機器200を探す(ステップS106)。そして、図10に示すように、端末300のプロセッサ310は、通信できた機器200からの情報に基づいて、機器200の種類または名称などの情報を選択可能にタッチパネル350に表示させる。そして、図11に示すように、端末300のプロセッサ310は、タッチパネル350を介して、機器200の関する情報の入力を受け付ける。
端末300のプロセッサ310は、通信インターフェイス360を介して、機器200からの情報とユーザからの情報とをサーバ100に送信することによって機器200とのペアリングを要求する(ステップS108)。たとえば、端末300のプロセッサ310は、通信インターフェイス360を介して無線通信によって、機器200から識別情報を受信する。プロセッサ310は、通信インターフェイス360を介して、当該識別情報とユーザIDとをサーバ100に送信する。
本実施の形態においては、サーバ100のプロセッサ110は、データベース101を参照することによって、当該機器200の識別情報またはMACアドレスが、未だ端末300のユーザが属するグループに登録されていないか否かを判断する(ステップS110)。
サーバ100のプロセッサ110は、データベース101を参照して、当該機器200が未だ端末300のどのユーザのグループにも登録されていない場合に、端末300と機器200とのペアリングを許可する(ステップS112)。このとき、サーバ100のプロセッサ110は、機器200に関する情報を、グループIDに対応づけて機器データベース101Bに記憶させる。すなわち、プロセッサ110は、機器200が初めて端末300とペアリングする際に、自動的に機器200を端末300のユーザと同じグループに登録するのである。
これによって、端末300のプロセッサ310は、機器200とペアリングすることが可能になる(ステップS114)。具体的には、図12に示すように、端末300のプロセッサ310は、タッチパネル350に、ペアリングのための機器200および端末300に対する操作方法を表示させる。機器200は、ユーザによってペアリング用のボタンが押されると、識別情報をサーバ100に送信する(ステップS114−1)。
端末300のリンクボタンが押されると、端末300のプロセッサ310は、サーバ100へ識別情報を送信する(ステップS114−2)。サーバ100は、端末300から受信した識別情報に対応する機器200からペアリング用の信号が送られてきたことを確認すると、ペアリングが完了した旨を端末300に送信する。その後は、ユーザは、端末300を介して機器200を遠隔制御することが可能になる。
ペアリングが完了すると、図13に示すように、端末300のプロセッサ310は、タッチパネル350に、機器200を制御可能になった旨を表示させる。本実施の形態においては、端末300のプロセッサ310は、タッチパネル350に、機器200に関するテキストや画像とともに、機器200に命令を送信可能であることを示すアイコンを表示させる。
本実施の形態においては、次に述べるように、安全かつ簡単に、第2のユーザにも機器200を遠隔制御させたり機器200の情報を閲覧させたりすることができる。
まず、第2のユーザが、端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対してユーザ登録を行う(ステップS120)。サーバ100は、ユーザIDを第1のユーザに対応するグループIDに対応付けてユーザデータベース101Aに登録する。第2のユーザは、グループサーバ100BにユーザIDとパスワードとを登録したり、グループサーバ100BからユーザIDとパスワードとを取得したりする。
なお、第2のユーザを、第1のユーザと同じグループに加入させる際には、第1のユーザが新規グループを立ち上げることによって、当該新規グループに第2のユーザを招待する構成が考えられる。あるいは、第2のユーザを、第1のユーザが加入している既存のグループに加入させる際には、サーバ100が、第2のユーザに、第1のユーザの既存グループに対するパスワードの入力を促したり、当該既存グループ用のパスワードの入力を促したりしてもよい。
その後、第2のユーザが端末300の機器制御アプリケーションを起動して、アクセス要求(第2の要求の1種類)を端末300に入力する(ステップS122)。具体的には、端末300は、機器制御アプリケーションのブラウザを介して、第2のユーザからユーザIDとパスワードとを受け付けて、当該ユーザIDとパスワードとをサーバ100に送信する。サーバ100のプロセッサ110は、通信インターフェイス160を介してデータベース101あるいはグループサーバ100Bにアクセスして、ユーザIDとパスワードの認証を行う。
サーバ100のプロセッサ110は、ユーザIDとパスワードの認証に成功すると、データベース101を参照することによって当該ユーザIDと同じグループに属する機器を特定する(ステップS126)。サーバ100のプロセッサ110は、通信インターフェイス160を介して、ユーザIDと同じグループに属する機器を識別するための識別情報や機器に関するその他の情報を端末300に送信する(ステップS128)。
これによって、たとえば図13に示すように、端末300のプロセッサ310は、タッチパネル350に、制御可能な機器200を表示する。
あるいは、たとえば図14に示すように、端末300のプロセッサ310は、情報を閲覧可能な機器を表示させる。端末300のプロセッサ310は、タッチパネル350に、機器200に関するテキストや画像とともに、機器200からの情報を取得可能であることを示すアイコンを表示させる。
端末300のプロセッサ310は、タッチパネル350を介してユーザからの機器200に対する命令を受け付けて、通信インターフェイス360を介して当該命令をサーバ100に送信する(ステップS130)。当該命令は、機器200を制御するための命令(第2の要求の1種類)であったり、機器200から操作情報または状態情報を取得するための命令(第2の要求の1種類)であったりする。サーバ100のプロセッサ110は、通信インターフェイス160を介して、端末300からの制御命令を機器200に送信したり、機器200からの各種の情報を端末300に送信したりする(ステップS130)。
<サーバ100における情報処理>
次に、図15を参照しながら、本実施の形態にかかるサーバ100の情報処理について説明する。なお、図15は、本実施の形態にかかるサーバ100の情報処理を示すフローチャートである。
サーバ100のプロセッサ110は、通信インターフェイス160を介して、端末300からデータを受信した際に、以下の処理を実行する。まず、プロセッサ110は、受信データからユーザIDを取得する(ステップS152)。プロセッサ110は、ユーザデータベース101Aを参照してユーザIDに対応するグループIDを特定する(ステップS154)。
プロセッサ110は、端末300からの受信データにアクセス要求が含まれるか否かを判断する(ステップS156)。受信データにアクセス要求が含まれる場合(ステップS156にてYESである場合)、プロセッサ110は、機器データベース101Bを参照してグループIDに対応する機器IDを特定する(ステップS158)。プロセッサ110は、通信インターフェイス160を介して、機器IDに対応する機器情報を端末に送信する(ステップS160)。プロセッサ110は、通信インターフェイス160を介して、次の端末からのデータを待ち受ける。
受信データにアクセス要求が含まれない場合(ステップS156にてNOの場合)、プロセッサ110は、受信データに機器200に対する制御命令が含まれるか否かを判断する(ステップS162)。受信データに機器200に対する制御命令が含まれる場合(ステップS162にてYESである場合)、プロセッサ110は、制御命令に含まれる機器IDに基づいてグループIDを特定する(ステップS163)。プロセッサ110は、当該グループIDが、ステップS154にて取得したグループIDに一致するか否かを判断する(ステップS164)。プロセッサ110は、当該グループIDが、ステップS154にて取得したグループIDに一致する場合(ステップS164にてYESである場合)、通信インターフェイス160を介して、機器200に制御命令を送信する(ステップS165)。プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
受信データに機器200に対する制御命令が含まれない場合(ステップS162にてNOの場合)、プロセッサ110は、受信データに情報の要求が含まれるか否かを判断する(ステップS166)。受信データに情報の要求が含まれる場合(ステップS166にてYESである場合)、プロセッサ110は、制御命令に含まれる機器IDに基づいてグループIDを特定する(ステップS167)。プロセッサ110は、当該グループIDが、ステップS154にて取得したグループIDに一致するか否かを判断する(ステップS168)。プロセッサ110は、当該グループIDが、ステップS154にて取得したグループIDに一致する場合(ステップS168にてYESである場合)、通信インターフェイス160を介して、機器200に情報を送信するように要求する(ステップS169)。その後、図示しないが、プロセッサ110は、通信インターフェイス160を介して、機器200からの情報を端末300に送信する。プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
これによって、グループサーバ100Bやサーバ100が、それぞれ提供するサービスの中で、ユーザや機器のグループ情報が変わったときに、そのことを反映してステップS165,ステップS169が実行可能か否かを判断することができるようになる。
受信データに情報の要求が含まれない場合(ステップS166にてNOの場合)、プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
<ネットワークシステム1の情報処理のまとめ>
次に、図16を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理についてまとめる。なお、図16は、本実施の形態にかかるネットワークシステム1の情報処理を示すイメージ図である。
まず、第1のユーザが、第1の端末を利用して、グループサーバ100Bに第1グループを立ち上げさせる共に、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(1)。次に、第1のユーザが、第1の端末を利用して、第1の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(2)。ここで、第1のユーザは、第1の端末を利用して、サーバ100を介して第1の機器を制御するためのペアリング処理を行う。
次に、第2のユーザが、第2の端末を利用して、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(3)。これによって、第1の機器と同一グループに属する第2のユーザも、第2の端末を利用して、サーバ100を介して、第1の機器を制御したり、第1の機器の情報を閲覧したりすることが可能になる。
次に、第2のユーザが、第2の端末を利用して、第2の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(4)。ここで、第2のユーザは、第2の端末を利用して、サーバ100を介して第2の機器を制御するためのペアリング処理を行う。これによって、第2の機器と同一グループに属する第1のユーザも、第1の端末を利用して、サーバ100を介して、第2の機器を制御したり、第2の機器の情報を閲覧したりすることが可能になる。
次に、第3のユーザが、第3の端末を利用して、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(5)。これによって、第1および第2の機器と同一グループに属する第3のユーザも、第3の端末を利用して、サーバ100を介して、第1および第2の機器を制御したり、第1および第2の機器の情報を閲覧したりすることが可能になる。
次に、第3のユーザが、第3の端末を利用して、第3の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(6)。ここで、第3のユーザは、第3の端末を利用して、サーバ100を介して、第3の機器を制御するためのペアリング処理を行う。これによって、第3の機器と同一グループに属する第1および第2のユーザも、サーバ100を介して、第1および第2の端末を利用して、第3の機器を制御したり、第3の機器の情報を閲覧したりすることが可能になる。
<ネットワークシステム1の情報処理の第1の別実施例のまとめ>
次に、図17を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理の第1の別実施例についてまとめる。なお、図17は、本実施の形態にかかるネットワークシステム1の情報処理の第1の別実施例を示すイメージ図である。
まず、図17(a)を参照して、第1のユーザが、第1の端末を利用して、グループサーバ100Bに第1のグループを立ち上げさせるとともに、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(1)。
次に、第1のユーザが、第1の端末を利用して、第1の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(2)。そして、第1のユーザは、第1の端末を利用して、サーバ100を介して第1の機器を制御するためのペアリング処理を行う。
次に、第1のユーザが、第1の端末を利用して、第2の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(3)。そして、第1のユーザは、第1の端末を利用して、サーバ100を介して第2の機器を制御するためのペアリング処理を行う。
また、第1のユーザが、第1の端末を利用して、第3の機器を第1のグループのメンバーとしてグループサーバ100Bに機器登録する(4)。そして、第1のユーザは、第1の端末を利用して、サーバ100を介して第3の機器を制御するためのペアリング処理を行う。
次に、図17(b)を参照して、第1のユーザが、グループサーバ100Bを介して、第2のユーザを第1のグループに招待する。第2のユーザは、当該招待に基づいて、第2の端末を利用して、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(5)。これによって、第1〜第3の機器と同一グループに属する第2のユーザも、第2の端末を利用して、サーバ100を介して、第1〜第3の機器を制御したり、第1〜第3の機器の情報を閲覧したりすることが可能になる。
同様に、第1のユーザが、グループサーバ100Bを介して第3のユーザを第1のグループに招待する。第3のユーザは、当該招待に基づいて、第3の端末を利用して、第1のグループのメンバーとしてグループサーバ100Bにユーザ登録する(6)。これによって、第1〜第3の機器と同一グループに属する第3のユーザも、第3の端末を利用して、サーバ100を介して、第1〜第3の機器を制御したり、第1〜第3の機器の情報を閲覧したりすることが可能になる。
<ネットワークシステム1の情報処理の第2の別実施例のまとめ>
次に、図18を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理の第2の別実施例についてまとめる。具体的に、第2の別実施例として、ユーザが複数のグループに属することができるネットワークシステム1について説明する。図18は、本実施の形態にかかるネットワークシステム1の情報処理の第2の別実施例を示すイメージ図である。
まず、第1〜第3のユーザの登録と、第1〜第3の機器の登録に関しては、図16および図17に示すものと同様であるため、ここでは説明を繰り返さない。
次に、第3のユーザが、第3の端末を利用して、グループサーバ100Bに第2のグループを立ち上げさせるとともに、第2のグループのメンバーとしてグループサーバ100Bにユーザ登録する(7)。たとえば、第3のユーザが新規グループを立ち上げることによって、当該新規グループに第4のユーザを招待する構成が考えられる。
次に、第3のユーザが、第3の端末を利用して第3の機器とペアリングすることによって、第3の機器を第2のグループのメンバーとしてグループサーバ100Bに機器登録する(8)。なお、第3のユーザは、第1のグループに属しているため、第3の機器とペアリングすることが可能である。ただし、グループサーバ100Bが、第1のグループのユーザあるいは第3の機器のオーナから、第3の機器の第2グループへの所属を許可する旨、すなわち第3の機器の2つのグループへの重複登録を許可する旨を得ている必要がある。そして、第3のユーザは、第3の端末を利用して、サーバ100を介して第3の機器を制御するためのペアリングを行う。
次に、第4のユーザが、第4の端末を利用して、第2のグループのメンバーとしてグループサーバ100Bにユーザ登録する(9)。これによって、第3の機器と同一グループに属する第4のユーザも、第4の端末を利用して、サーバ100を介して、第3の機器を制御したり、第3の機器の情報を閲覧したりすることが可能になる。
次に、第4のユーザが、第4の端末を利用して、第4の機器を第2のグループのメンバーとしてグループサーバ100Bに機器登録する(10)。そして、第4のユーザは、第4の端末を利用して、サーバ100を介して第4の機器を制御するためのペアリングを行う。これによって、第4の機器と同一グループに属する第3のユーザも、第3の端末を利用して、サーバ100を介して、第4の機器を制御したり、第4の機器の情報を閲覧したりすることが可能になる。
なお、第4のユーザは、第1のグループには属していないので、第1および第2の機器を制御したり、第1および第2の機器の情報を閲覧したりできない。同様に、第1および第2のユーザは、第2のグループには属していないので、第4の機器を制御したり、第4の機器の情報を閲覧したりできない。そして、第3のユーザは、第1および第2のグループに属しているので、第1〜第4の機器を制御したり、第1から第4の機器の情報を閲覧したりすることができる。
<ネットワークシステム1の第1のユースケース>
次に、図19を参照しながら、本実施の形態にかかるネットワークシステム1の具体的な第1のユースケースについて説明する。図19は、本実施の形態にかかるネットワークシステム1の第1のユースケースを示すイメージ図である。
本実施の形態においては、購入して設置したばかりの機器は、グループサーバ100Bにユーザ登録しているユーザであれば、誰でもペアリングすることができる。逆にいうと、本実施の形態にかかるネットワークシステム1においては、グループサーバ100Bにユーザ登録していないユーザは、機器とペアリングできない。
具体的には、購入して設置したばかりの機器(エアコン200A)は、いずれのグループにも所属していないため、図19(a)に示すように、第1のグループに属する第1のユーザも第2のユーザも共にペアリングすることができる。また、購入して設置したばかりの機器は、いずれのグループにも所属していないため、図19(b)に示すように、第2のグループに属する第3のユーザもペアリングを開始することができる。
<ネットワークシステム1の第2のユースケース>
次に、図20を参照しながら、本実施の形態にかかるネットワークシステム1の具体的な第2のユースケースについて説明する。図20は、本実施の形態にかかるネットワークシステム1の第2のユースケースを示す第1のイメージ図である。
第1のユーザが第1の端末(スマートフォン300A)を利用して既にペアリング済みの第1の機器(エアコン200A)は、第1の機器と同一グループではない第3のユーザがペアリングすることはできない。つまり、第3のユーザが、第1のユーザと同じグループに属さないユーザIDで第3の端末(スマートフォン300C)の機器制御アプリケーションにログインしている場合には、サーバ100は、第1の機器と第3のユーザの端末とをペアリングさせない。
ここで、第2のユースケースに関して説明を追加する。図21を参照しながら、本実施の形態にかかるネットワークシステム1の第2のユースケースについて説明を追加する。図21は、本実施の形態にかかるネットワークシステム1の第2のユースケースを示す第2のイメージ図である。
図21(a)に示すように、第1〜第3のユーザが同一グループに属しており、少なくとも第1のユーザが第1の端末(スマートフォン300A)と機器(エアコン200A)とをペアリングさせているとする。本実施の形態においては、図21(b)に示すように、第3のユーザがグループを脱退し、新たなグループを作成することができる。そして、第3のユーザは、機器を新たなグループに持っていくことができる。すなわち、機器が新たなグループIDに対応付けられる。
この場合、図21(c)に示すように、第3のユーザは、第3の端末(スマートフォン300C)と機器とをペアリングさせることはできるが、第1および第2のユーザは、第1および第2の端末と機器とをペアリングさせることはできなくなる。なぜなら、第1および第2のユーザは、もはや機器と同じグループに属していないからである。
<ネットワークシステム1の第3のユースケース>
次に、図22を参照しながら、本実施の形態にかかるネットワークシステム1の具体的な第3のユースケースについて説明する。図22は、本実施の形態にかかるネットワークシステム1の第3のユースケースを示すイメージ図である。
本実施の形態にかかるネットワークシステム1は、機器(エアコン200A)と同じグループに属するユーザのスマートフォン300Bの乗り換えにも対応できる。また、本実施の形態にかかるネットワークシステム1においては、機器と同じグループに属するユーザは、2台目のスマートフォン300Dを介しても機器とペアリングすることができる。換言すれば、第2のユーザは、自身のユーザIDに基づいて第2の端末を介して制御あるいは閲覧することが可能な機器に対しては、同じユーザIDを利用することによって第4の端末を介しても制御あるいは閲覧することができる。なお、詳細は、第2のユースケースと同じであるため、ここでは説明を繰り返さない。
<ネットワークシステム1の第4のユースケース>
次に、図23を参照しながら、本実施の形態にかかるネットワークシステム1の具体的な第4のユースケースについて説明する。図23は、本実施の形態にかかるネットワークシステム1の第4のユースケースを示すイメージ図である。
本実施の形態にかかるネットワークシステム1のグループサーバ100Bは、あるグループに登録されている機器が、重複して当該グループに登録されないように構成されている。たとえば、グループサーバ100Bあるいはサーバ100が機器に機器IDを割り当てることによって、グループサーバ100Bは当該キーに基づいて同一機器の同一グループへの重複登録を防止する。なお、グループサーバ100Bは、機器に割り当てられているMACアドレスに基づいて、同一機器の同一グループへの重複登録を防止するものであってもよい。
<ネットワークシステム1の第5のユースケース>
次に、図24を参照しながら、本実施の形態にかかるネットワークシステム1の第5のユースケースについて説明する。図24は、本実施の形態にかかるネットワークシステム1の第5のユースケースを示すイメージ図である。
機器制御アプリケーションの種類や機器制御サービスの種類によっては、第2のユーザが第2の端末(スマートフォン300B)を介して、機器(エアコン200A)とペアリングした場合、第1のユーザは、機器と同じグループであるという理由だけでは、第1の端末を介して機器を制御することはできない、という設定にすることができる。
<ネットワークシステム1の第6のユースケース>
次に、図25を参照しながら、本実施の形態にかかるネットワークシステム1の第6のユースケースについて説明する。図25は、本実施の形態にかかるネットワークシステム1の第6のユースケースを示す第1のイメージ図である。
機器制御アプリケーションの種類や機器制御サービスの種類によっては、第2のユーザが第2の端末(スマートフォン300B)を介して、機器(エアコン200A)とペアリングした場合、第1のユーザは、機器と同じグループであるという理由だけで、第1の端末を介して機器の情報を閲覧することができる。
すなわち、第5および第6のユースケースのように、最初に機器とペアリングしたユーザは、当該機器に制御命令を送信することができる。しかしながら、最初に機器とペアリングしなかったユーザは、機器と同じグループである場合に、当該機器から情報を取得することはできるが制御することはできない。ただし、機器制御アプリケーションの種類や機器制御サービスの種類によっては、最初に機器とペアリングしなかったユーザも、機器と同じグループである場合には、当該機器から情報を取得することも、当該機器を制御することも両方できるという設定であってもよい。
ここで、第6のユースケースに関して説明を追加する。図26を参照しながら、本実施の形態にかかるネットワークシステム1の第6のユースケースについて説明を追加する。図26は、本実施の形態にかかるネットワークシステム1の第6のユースケースを示す第2のイメージ図である。
図26(a)に示すように、第1〜第3のユーザが同一グループに属しており、第2のユーザが第2の端末(スマートフォン300B)と機器(エアコン200A)とをペアリングさせたものとする。本実施の形態においては、図26(b)に示すように、第3のユーザがグループを脱退し、新たなグループを作成することができる。そして、第3のユーザは、機器を新たなグループに持っていくことができる。すなわち、機器が新たなグループIDに対応付けられる。
アプリケーションやサービスの種類によっては、図26(c)に示すように、第3のユーザは、第3の端末(スマートフォン300C)と機器とをペアリングさせていなくても、引き続き第3の端末を利用して機器の情報を閲覧する権限を有する。すなわち、サーバ100は、元々機器と同じグループに属する第3のユーザに関しては、要求に応じて機器から情報を取得して第3の端末に送信する。
<ネットワークシステム1の第7のユースケース>
次に、図27を参照しながら、本実施の形態にかかるネットワークシステム1の具体的な第7のユースケースについて説明する。図27は、本実施の形態にかかるネットワークシステム1の第7のユースケースを示すイメージ図である。
本実施の形態においては、第2のユーザが第2の端末(スマートフォン300B)の機器制御アプリケーションを利用して機器(エアコン200A)とペアリングした場合、第1のユーザが第2の端末から第1のユーザIDでログインすることによって機器を制御したり、機器の情報を取得したりすることも可能である。なお、第1のユーザによる、第2の端末を利用した、機器の制御を許可するか否か、機器の情報閲覧を許可するか否か、については機器制御アプリケーションの種類や機器制御サービスの種類に応じて決定できることが好ましい。
<ネットワークシステム1の第8のユースケース>
次に、図28を参照しながら、本実施の形態にかかるネットワークシステム1の第8のユースケースについて説明する。図28は、本実施の形態にかかるネットワークシステム1の第8のユースケースを示すイメージ図である。
本実施の形態においては、グループサーバ100Bは、最初に機器200をグループに登録したユーザを当該機器200のオーナとしてもよい。たとえば、エアコン200Aの設置後に、第1のユーザが、グループサーバ100Bに対して、エアコン200Aを自分のグループに登録すると、第1のユーザがエアコン200Aのオーナになる。その後、第1のユーザやエアコン200Aと同じグループの第2のユーザが、第2の端末(スマートフォン300B)を利用してエアコン200Aとペアリングすることもできる。
この状態において、エアコン200Aのオーナは、グループサーバ100Bに対して、グループ内の他のユーザをグループから脱退させたり、グループに所属させたままでエアコン200Aの制御を禁止したり、エアコン200Aの情報閲覧を禁止したりすることができる。
たとえば、図28(b)に示すように、エアコン200Aのオーナである第1のユーザがグループ内の第2のユーザを脱退させると、その後、グループサーバ100Bおよびサーバ100は、自動的に、第2のユーザとエアコン200Aとのペアリングを解除し、第2のユーザによるエアコン200Aの制御と、エアコン200Aの情報の閲覧とを禁止する。
<ネットワークシステム1の第9のユースケース>
次に、図29を参照しながら、本実施の形態にかかるネットワークシステム1の第9のユースケースについて説明する。図29は、本実施の形態にかかるネットワークシステム1の第9のユースケースを示すイメージ図である。
本実施の形態においては、サーバ100は、端末300を介したユーザからの権限情報の要求に基づいて、当該ユーザが指定する機器200に関して、当該ユーザが属するグループに属するユーザのそれぞれがどのようなレベルの権限を有しているかを示す情報を端末300に送信する。すなわち、この場合は、サーバ100またはデータベース101は、機器200毎に、ユーザと権限レベルとの対応関係を格納する。そして、プロセッサ110は、通信インターフェイス160を介して、要求された機器200に関するユーザと権限レベルとの対応関係を端末に送信する。
図29に示すように、端末300のプロセッサ310は、サーバ100からの対応関係に基づいて、タッチパネル350に、機器200に関して、機器200が属するグループに属するユーザのそれぞれがどのようなレベルの権限を有しているかを示す情報を表示させる。これによって、ユーザは、意図しないユーザがグループに所属していることや、ユーザのいずれかに意図しない権限が与えられていることを、簡単に把握することができる。
<ネットワークシステム1のまとめ>
このように、本実施の形態にかかるネットワークシステム1では、ユーザが端末300を利用して機器200の制御や機器200の情報を要求してきた際に、サーバ100が、ユーザと機器200とが同じグループに属するか否かに基づいて当該要求を許可するか否かを判断する。
その結果、本実施の形態にかかるネットワークシステム1では、従来よりも、より簡単に、より安全に、端末300が機器200を制御したり情報を取得したりできるようになる。より詳細には、2人目以降のユーザは、機器200と最初にペアリングしたユーザのようなペアリング処理が不要になるため、従来よりもユーザの処理が簡単になる。そして、グループに加入していないユーザが機器200にアクセスしたり、制御したり、情報を閲覧したりできないため、従来よりもセキュリティーが向上される。
<第2の実施の形態>
第1の実施の形態においては、図7のステップS106〜ステップS114において、端末300と機器200とが直接的に無線通信によってデータをやり取りするものであった。しかしながら、以下のように、ユーザが端末300に機器200のMACアドレスなどの識別情報を入力することによって、端末300が無線通信によって機器200を検知することなくペアリング処理を完了する形式を採用してもよい。
なお、以下では、本実施の形態にかかるネットワークシステム1の情報処理について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
図30は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。図30を参照して、ステップS202とステップS204の処理は第1の実施の形態にかかる図7のステップS102とステップS104の処理と同様であるため、ここでは説明を繰り返さない。
第1のユーザは、第1の端末300の機器制御アプリケーションにユーザIDと機器200に記載されているMACアドレスを入力する。第1の端末300のプロセッサ310は、通信インターフェイス360を介して、ユーザIDとMACアドレスとをサーバ100に送信することによってペアリング要求を行う(ステップS206)。
このとき、第1のユーザは、機器200のペアリング用のボタンを押す。機器200のプロセッサ210は、通信インターフェイス260を介して、自身のMACアドレスをサーバ100に送信する(ステップS208)。
サーバ100のプロセッサ110は、通信インターフェイス160を介して、第1の端末300と機器200とからデータを受信する。プロセッサ110は、データベース101を参照することによって、当該機器200のMACアドレスが未だ当該ユーザのグループに登録されていないか否かを判断する(ステップS210)。
サーバ100のプロセッサ110は、データベース101を参照して、当該機器200が未だ当該ユーザのグループに登録されていない場合に、第1の端末300からのMACアドレスと機器200からのMACアドレスとが同じであるか否かを判断する。プロセッサ110は、第1の端末300からのMACアドレスと機器200からのMACアドレスとが同じである場合に、機器200に対して遠隔制御用の機器IDを発行し、当該機器IDを第1の端末にも送信する(ステップS212)。これによって、第1の端末300は、機器IDを利用することによって、サーバ100を介して機器200を制御することができるようになる。
その後、ステップS220からステップS230までの処理は、第1の実施の形態にかかる図7のステップS120からステップS130までの処理と同様であるため、ここでは説明を繰り返さない。
<第3の実施の形態>
第1および第2の実施の形態にかかるネットワークシステムは、図7のステップS106〜ステップS114において、ペアリング処理の後に機器が自動的にグループに登録されるものであった。しかしながら、このような形態に限定されるものではない。たとえば、ユーザが、ペアリング処理の前に、自分が購入した機器を自分のグループに登録してもよい。
なお、以下では、本実施の形態にかかるネットワークシステム1の情報処理について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
図31は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。図31を参照して、ステップS302とステップS304の処理は第1の実施の形態にかかる図7のステップS102とステップS104の処理と同様であるため、ここでは説明を繰り返さない。
次に、第1のユーザは、第1の端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対して機器登録を行う(ステップS306)。具体的には、第1のユーザは、ユーザIDおよびグループIDに対応付けて、機器200の様々な情報、たとえば型番やMACアドレスなど、をグループサーバ100Bに登録する。グループサーバ100Bは、機器200を登録したユーザを、当該機器200のオーナとして認識する。
その後、第1のユーザが端末300の機器制御アプリケーションを起動して、機器200とのペアリング処理を開始する。
具体的には、図8に示すように、端末300のプロセッサ310は、機器制御アプリケーションのブラウザを介して第1のユーザからユーザIDとパスワードとの入力を受け付ける。プロセッサ310は、通信インターフェイス360を介してユーザIDとパスワードとをサーバ100に送信することによってペアリング要求を行う(ステップS308)。
サーバ100のプロセッサ110は、通信インターフェイス160を介してデータベース101あるいはグループサーバ100Bにアクセスして、ユーザIDとパスワードの認証を行う。サーバ100がユーザIDとパスワードの認証に成功すると、図9に示すように、端末300のプロセッサ310は、タッチパネル350を介して、新たな制御対象の設定を開始するための命令を受け付ける。
サーバ100のプロセッサ110は、通信インターフェイス160を介して、端末300から当該命令を受け付ける。プロセッサ110は、データベース101を参照してユーザIDに対応する機器IDを特定する(ステップS310)。プロセッサ110は、通信インターフェイス160を介して、当該機器IDに対応する機器情報を端末300に送信する(ステップS312)。すなわち、サーバ100のプロセッサ110は、第1のユーザと同じグループの機器200の情報を端末300に送信する。
これによって、図10に示すように、端末300のプロセッサ310は、サーバ100からのデータに基づいて、ペアリング可能な機器の情報を選択可能にタッチパネル350に表示させる。そして、図11に示すように、端末300のプロセッサ310は、タッチパネル350を介して、機器の設置に関する情報の入力を受け付ける。このときに、プロセッサ310は、ユーザからMACアドレスや型番を受け付けてもよいし、機器からMACアドレスや型番や識別情報を受信してもよい。
情報の入力が完了すると、端末300のプロセッサ310は、機器200とのペアリング処理を開始する(ステップS314)。具体的には、図12に示すように、端末300のプロセッサ310は、タッチパネル350に、ペアリングのための機器200および端末300に対する操作方法を表示させる。機器200のプロセッサ210は、ユーザによってペアリング用のボタンが押されると、通信インターフェイス260を介してMACアドレスや型番や識別情報をサーバ100に送信する(ステップS314−1)。
端末300のリンクボタンが押されると、端末300のプロセッサ310は、サーバ100へ識別情報を送信する(ステップS314−2)。サーバ100のプロセッサ110は、端末300から指定されたMACアドレスや型番や識別情報と機器200から受信したMACアドレスや型番や識別情報とが同じが否かを判断する。プロセッサ110は、端末300から指定された情報と機器200から受信した情報とが同じ場合、通信インターフェイス160を介して、ペアリングが完了した旨を端末300に送信する。その後は、ユーザは、端末300を介して機器200を遠隔制御することが可能になる。
ペアリングが完了すると、図13に示すように、端末300のプロセッサ310は、タッチパネル350に、機器200を制御可能になった旨を表示させる。本実施の形態においては、端末300のプロセッサ310は、タッチパネル350に、機器200に関するテキストや画像とともに、機器200に命令を送信可能であることを示すアイコンを表示させる。
その後、ステップS320からステップS330までの処理は、第1の実施の形態にかかる図7のステップS120からステップS130までの処理と同様であるため、ここでは説明を繰り返さない。
<第4の実施の形態>
第4の実施の形態にかかるネットワークシステムは、第1または第2の実施の形態のネットワークシステム1に加えて、既に機器200を制御することが可能な状態にある第1のユーザが、第2のユーザをグループに招待することが可能なものである。本実施の形態においては、グループサーバ100Bを利用することによって、招待を実現するものである。なお、以下では、本実施の形態にかかるネットワークシステム1の情報処理について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
図32は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。図32を参照して、ステップS402からステップS414までの処理、すなわち第1のユーザが第1の端末300を介して機器200とペアリングするまでの処理、は第1の実施の形態にかかる図7のステップS102からステップS114までの処理と同様であるため、ここでは説明を繰り返さない。
次に、第1のユーザが、第2のユーザを第1のグループに招待する。具体的には、第1のユーザは第1の端末300を介してグループサーバ100Bに第2のユーザを招待するための命令を送信する(ステップS416)。当該グループサーバ100Bは、第2のユーザの第2の端末300にグループへの加入を促すための招待通知を送信する(ステップS418)。
第2のユーザは、当該招待通知に応じて、第2の端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対して、第1のグループのメンバーとしてユーザ登録を行う(ステップS420)。サーバ100は、ユーザIDを第1のユーザに対応するグループIDに対応付けてユーザデータベース101Aに登録する。第2のユーザは、グループサーバ100BにユーザIDとパスワードとを登録したり、グループサーバ100BからユーザIDとパスワードとを取得したりする。
その後、ステップS422からステップS430までの処理は、第1の実施の形態にかかる図7のステップS122からステップS130までの処理と同様であるため、ここでは説明を繰り返さない。
<第5の実施の形態>
第4の実施の形態にかかるネットワークシステムは、第1または第2の実施の形態のネットワークシステム1に加えて、既に機器200を制御することが可能な状態にある第1のユーザが第2のユーザをグループに招待することが可能なものである。ただし、第3の実施の形態のネットワークシステムとは異なり、本実施の形態においては、招待に関してはグループサーバ100Bを利用する必要はない。
以下では、図33を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。なお、図33は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
まず、第1のユーザの自宅に機器200が設置される。機器200は、たとえば無線LANおよびインターネットなどを介して、サーバ100と通信を開始する(ステップS504)。このとき、サーバ100は、機器200に通信用の識別情報を付与する。サーバ100は、MACアドレスと当該識別情報との対応関係を記憶しておく。
そして、第1のユーザが第1の端末300の機器制御アプリケーションを起動して、機器200とのペアリング処理を開始する。
具体的には、図8に示すように、第1の端末300のプロセッサ310は、機器制御アプリケーションのブラウザを介して第1のユーザからユーザIDとパスワードとの入力を受け付けて、通信インターフェイス360を介してユーザIDとパスワードとをサーバ100に送信する。サーバ100のプロセッサ110は、通信インターフェイス160を介してデータベース101あるいはグループサーバ100Bにアクセスして、ユーザIDとパスワードの認証を行う。サーバ100がユーザIDとパスワードの認証に成功すると、図9に示すように、第1の端末300のプロセッサ310は、タッチパネル350を介して、新たな制御対象となる機器の通信設定を開始するための命令を受け付ける。
第1の端末300のプロセッサ310は、通信インターフェイス360を利用して、WiFi(登録商標)やBluetooth(登録商標)などの無線通信可能な機器200を探す(ステップS506)。そして、図10に示すように、第1の端末300のプロセッサ310は、通信できた機器200からの情報に基づいて、機器200の種類または名称などの情報を選択可能にタッチパネル350に表示させる。そして、図11に示すように、第1の端末300のプロセッサ310は、タッチパネル350を介して、機器200の関する情報の入力を受け付ける。
第1の端末300のプロセッサ310は、通信インターフェイス360を介して、機器200からの情報とユーザからの情報とをサーバ100に送信することによって機器200とのペアリングを要求する(ステップS508)。たとえば、第1の端末300のプロセッサ310が、通信インターフェイス360を介して無線通信によって、機器200から機器200の識別情報を受信する。プロセッサ310は、通信インターフェイス360を介して、当該識別情報とユーザIDとをサーバ100に送信する。
図12に示すように、第1の端末300のプロセッサ310は、タッチパネル350に、ペアリングのための機器200および第1の端末300に対する操作方法を表示させる。機器200は、ユーザによってペアリング用のボタンが押されると、識別情報をサーバ100に送信する。
サーバ100は、第1の端末300から受信した識別情報と機器200から受信した識別信号とが同じであることを確認すると、ペアリングが完了した旨を第1の端末300に送信する(ステップS512)。その後、ユーザは、第1の端末300を利用することによって、サーバ100を介して機器200を遠隔制御することが可能になる。
ペアリングが完了すると、図13に示すように、第1の端末300のプロセッサ310は、タッチパネル350に、機器200を制御可能になった旨を表示させる。本実施の形態においては、第1の端末300のプロセッサ310は、タッチパネル350に、機器200に関するテキストや画像とともに、機器200に命令を送信可能であることを示すアイコンを表示させる。
本実施の形態においても、次に述べるように、安全かつ簡単に、第2のユーザにも機器200を遠隔制御させたり機器200の情報を閲覧させたりすることができる。
第1のユーザは、第2のユーザをグループに招待する(ステップS516)。具体的には、第1のユーザは、第1の端末300に機器制御アプリケーションを立ち上げて、第2のユーザの招待命令を機器制御アプリケーションに入力する。第1の端末300のプロセッサ310は、機器制御アプリケーションに従って、通信インターフェイス160を介して、第2の端末300に識別情報を送信することによって、第2の端末300を機器200を制御可能な状態へと招待する。
具体的には、第1の端末300のプロセッサ310は、通信インターフェイス160を介して、Bluetooth(登録商標)およびFeliCa(登録商標)などのNFC(Near field communication)などを利用して、直接的に、すなわちグループサーバ100Bを介さずに、第2の端末に識別情報を含む招待通知を送信する。第2の端末300のプロセッサ310は、招待通知を受け付けると、機器制御アプリケーションを立ち上げて機器200を制御できるようになった旨をタッチパネル350に表示させる。すなわち、これ以降、第2の端末300のプロセッサ310は、ユーザからの命令に応じて、招待通知に含まれる識別情報に基づいて、通信インターフェイス160を介して機器200に第2の要求を送信できるようになる。
第2の端末300は、当該招待に応じて、サーバ100を経由して機器200にアクセスすることができる(ステップS530)。たとえば、第2の端末300のプロセッサ310は、ユーザからの命令に応じて、第1の端末300から受信した識別情報に基づいて第2のユーザもしくは第2の端末300が第1のユーザと同じグループに属することによって機器200とペアリングしてもよいし、第1の端末300から受信した識別情報に基づいて機器200に制御命令を送ってもよいし、第1の端末300から受信した識別情報に基づいて機器200から操作情報や状態情報を取得してもよいし、第1の端末300から受信した識別情報に基づいて機器200にアクセスしてもよい。
<第6の実施の形態>
第1〜第5の実施の形態にかかるネットワークシステムは、機器200にアクセスを試みる第2のユーザに対して、サーバ100が当該ユーザと同一のグループに所属する機器200を抽出して当該ユーザに選択可能に提示するものであった。しかしながら、本実施の形態においては、第2のユーザがアクセスしたい機器200を自分で選択した後に、サーバ100が、ユーザに選択された機器200に対する要求を許可するか否かを判断するものである。
以下では、本実施の形態にかかるネットワークシステム1の情報処理について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。なお、図34は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
図34を参照して、ステップS602からステップS614までの処理、すなわち第1のユーザが第1の端末300を介して機器200とペアリングするまでの処理、は第1の実施の形態にかかる図7のステップS102からステップS114までの処理と同様であるため、ここでは説明を繰り返さない。
本実施の形態においても、次に述べるように、安全かつ簡単に、第2のユーザにも機器200を遠隔制御させたり機器200の情報を閲覧させたりすることができる。
まず、第2のユーザが、第2の端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対してユーザ登録を行う(ステップS620)。サーバ100は、ユーザIDを第1のユーザに対応するグループIDに対応付けてユーザデータベース101Aに登録する。第2のユーザは、グループサーバ100BにユーザIDとパスワードとを登録したり、グループサーバ100BからユーザIDとパスワードとを取得したりする。
その後、第2のユーザが第2の端末300の機器制御アプリケーションを起動する。端末300は、機器制御アプリケーションのブラウザを介して、第2のユーザからユーザIDとパスワードとを受け付けて、当該ユーザIDとパスワードとをサーバ100に送信する。サーバ100のプロセッサ110は、通信インターフェイス160を介してデータベース101あるいはグループサーバ100Bにアクセスして、ユーザIDとパスワードの認証を行う。
認証に成功すると、第2の端末300のプロセッサ310が、通信インターフェイス360を介して、無線通信によって機器200のMACアドレスや識別情報を取得する(ステップS622)。第2のユーザは、無線通信した機器200の中から、自分が制御したい、あるいは情報を取得したい機器200を選択する。あるいは、第2のユーザは、制御したい、あるいは情報を取得したい機器200のMACアドレスや識別情報を第2の端末300に入力する(ステップS622)。
プロセッサ310は、タッチパネル350を介して、ユーザからの機器200に対する要求を受け付ける。プロセッサ310は、通信インターフェイス360を介して、MACアドレスや識別情報とともに、当該要求をサーバ100に送信する(ステップS624)。
サーバ100のプロセッサ110は、先に受信したユーザIDと今回受信したMACアドレスや識別情報に対応する機器IDとに基づいて、通信インターフェイス160を介してデータベース101を参照することによって、第2の端末300のユーザと機器200とが同じグループに属するか否かを判断する(ステップS626)。
第2の端末300のユーザと機器200とが同じグループに属する場合、プロセッサ110は通信インターフェイス160を介して、第2の端末300からの要求を機器200に送信する(ステップS630)。一方、第2の端末300のユーザと機器200とが同じグループに属さない場合は、プロセッサ110は、通信インターフェイス160を介して、第2の端末300からの要求を受け付けられない旨のメッセージを第2の端末300に送信する。
<第7の実施の形態>
第1〜第6の実施の形態にかかるネットワークシステムは、サーバ100が、第2のユーザと機器とが同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断するものであった。しかしながら、ユーザIDではなく、第2の端末と機器とが同じグループであるか否かの判断結果に基づいて、第2の端末からの要求を受け付けるか否かを判断するものであってもよい。
すなわち、本実施の形態においては、第1〜第6の実施の形態と比較して、ユーザとグループとの対応関係を示すユーザデータベース101Aの代わりに、端末とグループとの対応関係を示す端末データベースが必要になる。図35は、本実施の形態にかかる端末データベース101Cのデータ構造を示すイメージ図である。図35を参照して、端末データベース101Cは、端末IDとグループIDとの対応関係を格納する。
そして、本実施の形態においては、図7のステップS102、図30のステップS202、図31のステップS302、図32のステップS402、図34のステップS602などにおいて、第1のユーザが、第1の端末300を介して、データベース101にアクセス可能なグループサーバ100Bに対して端末登録を行う。たとえば、第1のユーザは、グループサーバ100BにユーザIDと端末IDとパスワードとを登録したり、グループサーバ100BからユーザIDと端末IDとパスワードとを取得したりする。なお、本実施の形態においては、グループサーバ100Bがサービスを運用しているが、機器制御サービス用のサーバ100が当該役割を果たしてもよい。
また、図7のステップS122〜S128、図30のステップS222〜S228、図31のステップS322〜S328、図32のステップS422〜S428、図34のステップS622〜S630などにおいて、サーバ100は、データベース101を参照することによって、第2のユーザの端末と機器とが同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断する。
なお、第6の実施の形態のように、第2のユーザがアクセスする機器200を自分で選択した後に、サーバ100が、ユーザに選択された機器200に対する要求を許可するか否かを判断する場合には、図7におけるステップS626において、以下のような処理を実行する。
すなわち、サーバ100のプロセッサ110は、第2の端末300から受信した端末IDと指定されたMACアドレスや識別情報に対応する機器IDとに基づいて、通信インターフェイス160を介してデータベース101を参照することによって、端末300と機器200とが同じグループに属するか否かを判断する。
次に、図36を参照しながら、本実施の形態にかかるサーバ100の情報処理について説明する。なお、図36は、本実施の形態にかかるサーバ100の情報処理を示すフローチャートである。ただし、ステップS756とステップS762〜ステップS769については、それぞれ、図15におけるステップS156とステップS162〜ステップS169と同様の処理であるため、ここでは説明を繰り返さない。
すなわち、サーバ100のプロセッサ110は、受信データから端末IDを取得する(ステップS752)。そして、プロセッサ110は、端末データベース101Cを参照して端末IDに対応するグループIDを特定する(ステップS754)。また、プロセッサ110は、機器データベース101Bを参照してグループIDに対応する機器IDを特定する(ステップS758)。プロセッサ110は、通信インターフェイス160を介して、機器IDに対応する機器情報を端末に送信する(ステップS760)。
なお、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
本実施の形態においては、端末を識別するための端末IDを利用しているが、端末IDの代わりに、端末にインストールされた機器制御アプリケーションを識別するためのアプリIDを利用してもよい。
<第8の実施の形態>
第1〜第6の実施の形態にかかるネットワークシステムは、サーバ100が、第2のユーザと機器とが同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断するものであった。しかしながら、第2のユーザと、機器とペアリングしている第1のユーザと、が同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断するものであってもよい。
すなわち、本実施の形態においては、第1〜第6の実施の形態と比較して、機器とグループとの対応関係を示す機器データベース101Bの代わりに、機器と当該機器とペアリングしているユーザとの対応関係を示すペアリングユーザデータベースが必要になる。図37は、本実施の形態にかかるペアリングユーザデータベース101Dのデータ構造を示すイメージ図である。図37を参照して、ペアリングユーザデータベース101Dは、機器IDとペアリングユーザIDとMACアドレスとその他の機器情報との対応関係を格納する。
また、図7のステップS122〜S128、図30のステップS222〜S228、図31のステップS322〜S328、図32のステップS422〜S428、図34のステップS622〜S630などにおいて、サーバ100は、データベース101を参照することによって、第2のユーザと、機器とペアリングした第1のユーザと、が同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断する。
なお、第6の実施の形態のように、第2のユーザがアクセスする機器200を自分で選択した後に、サーバ100が、ユーザに選択された機器200に対する要求を許可するか否かを判断する場合には、図7におけるステップS626において、以下のような処理を実行する。
すなわち、サーバ100のプロセッサ110は、第2の端末300から受信したユーザIDと指定されたMACアドレスや識別情報に対応する機器IDとに基づいて、通信インターフェイス160を介してデータベース101を参照することによって、機器IDに対応する機器200と既にペアリングしているユーザのユーザIDと、今回受信したユーザIDと、が同じグループに属するか否かを判断する。
次に、図38を参照しながら、本実施の形態にかかるサーバ100の情報処理について説明する。なお、図38は、本実施の形態にかかるサーバ100の情報処理を示すフローチャートである。
サーバ100のプロセッサ110は、受信データからユーザIDを取得する(ステップS852)。そして、プロセッサ110は、ユーザデータベース101Aを参照してユーザIDに対応するグループIDを特定する(ステップS854)。プロセッサ110は、ユーザデータベース101Aを参照して、グループIDに対応するユーザIDを全て特定する(ステップS855)。プロセッサ110は、ペアリングユーザデータベース101Dを参照して、ステップS855にて特定された全てのユーザIDに対応する機器IDを特定する(ステップS856)。
プロセッサ110は、端末300からの受信データにアクセス要求が含まれるか否かを判断する(ステップS858)。受信データにアクセス要求が含まれる場合(ステップS858にてYESである場合)、通信インターフェイス160を介して、機器IDに対応する機器情報を端末に送信する(ステップS860)。プロセッサ110は、通信インターフェイス160を介して、次の端末からのデータを待ち受ける。
受信データにアクセス要求が含まれない場合(ステップS858にてNOの場合)、プロセッサ110は、受信データに機器200に対する制御命令が含まれるか否かを判断する(ステップS862)。受信データに機器200に対する制御命令が含まれる場合(ステップS162にてYESである場合)、プロセッサ110は、制御命令に含まれる機器IDが、ステップS856にて取得した機器IDに一致するか否かを判断する(ステップS864)。プロセッサ110は、機器IDが、ステップS856にて取得した機器IDに一致する場合(ステップS864にてYESである場合)、通信インターフェイス160を介して、機器200に制御命令を送信する(ステップS865)。プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
受信データに機器200に対する制御命令が含まれない場合(ステップS862にてNOの場合)、プロセッサ110は、受信データに情報の要求が含まれるか否かを判断する(ステップS866)。受信データに情報の要求が含まれる場合(ステップS866にてYESである場合)、プロセッサ110は、制御命令に含まれる機器IDが、ステップS856にて取得した機器IDに一致するか否かを判断する(ステップS868)。プロセッサ110は、当該機器IDが、ステップS856にて取得した機器IDに一致する場合(ステップS868にてYESである場合)、通信インターフェイス160を介して、機器200に情報を送信するように要求する(ステップS869)。その後、図示しないが、プロセッサ110は、通信インターフェイス160を介して、機器200からの情報を端末300に送信する。プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
これによって、グループサーバ100Bやサーバ100が、それぞれ提供するサービスの中で、ユーザや機器のグループ情報が変わったときに、そのことを反映してステップS865,ステップS869が実行可能か否かを判断することができるようになる。
受信データに情報の要求が含まれない場合(ステップS866にてNOの場合)、プロセッサ110は、通信インターフェイス160を介して、端末300からの次のデータを待ち受ける。
なお、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
<第9の実施の形態>
第1〜第6の実施の形態にかかるネットワークシステムは、サーバ100が、第2のユーザと機器とが同じグループであるか否かの判断結果に基づいて、第2のユーザからの要求を受け付けるか否かを判断するものであった。しかしながら、第2の端末と、機器とペアリングした第1の端末と、が同じグループであるか否かの判断結果に基づいて、第2の端末からの要求を受け付けるか否かを判断するものであってもよい。
すなわち、本実施の形態においては、第1〜第6の実施の形態と比較して、ユーザとグループとの対応関係を示すユーザデータベース101Aの代わりに、端末とグループとの対応関係を示す端末データベース101C(第7の実施の形態を参照。)が必要になり、かつ、機器とグループとの対応関係を示す機器データベース101Bの代わりに、機器と当該機器とペアリングしている端末との対応関係を示すペアリング端末データベースが必要になる。図39は、本実施の形態にかかるペアリング端末データベース101Eのデータ構造を示すイメージ図である。図39を参照して、ペアリング端末データベース101Eは、機器IDとペアリング端末IDとMACアドレスとその他の機器情報との対応関係を格納する。
また、図7のステップS122〜S128、図30のステップS222〜S228、図31のステップS322〜S328、図32のステップS422〜S428、図34のステップS622〜S630などにおいて、サーバ100は、データベース101を参照することによって、第2の端末と、機器とペアリングしている第1の端末と、が同じグループであるか否かの判断結果に基づいて、第2の端末からの要求を受け付けるか否かを判断する。
なお、第6の実施の形態のように、第2のユーザがアクセスする機器200を自分で選択した後に、サーバ100が、ユーザに選択された機器200に対する要求を許可するか否かを判断する場合には、図7におけるステップS626において、以下のような処理を実行する。
すなわち、サーバ100のプロセッサ110は、第2の端末300から受信した端末IDと指定されたMACアドレスや識別情報に対応する機器IDとに基づいて、通信インターフェイス160を介してデータベース101を参照することによって、機器IDに対応する機器200と既にペアリングしている端末の端末IDと、今回受信した端末IDと、が同じグループに属するか否かを判断する。
次に、図40を参照しながら、本実施の形態にかかるサーバ100の情報処理について説明する。なお、図40は、本実施の形態にかかるサーバ100の情報処理を示すフローチャートである。ただし、ステップS958とステップS962〜ステップS969については、それぞれ、図38におけるステップS858とステップS862〜ステップS869と同様の処理であるため、ここでは説明を繰り返さない。
サーバ100のプロセッサ110は、受信データから端末IDを取得する(ステップS952)。そして、プロセッサ110は、端末データベース101Cを参照して端末IDに対応するグループIDを特定する(ステップS954)。プロセッサ110は、端末データベース101Cを参照して、グループIDに対応する端末IDを全て特定する(ステップS955)。プロセッサ110は、ペアリング端末データベース101Eを参照して、ステップS955にて特定された全ての端末IDに対応する機器IDを特定する(ステップS958)。プロセッサ110は、通信インターフェイス160を介して、機器IDに対応する機器情報を端末に送信する(ステップS960)。
なお、ネットワークシステム1の全体構成および各装置のハードウェア構成については、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
本実施の形態においては、端末を識別するための端末IDを利用しているが、端末IDの代わりに、端末にインストールされた機器制御アプリケーションを識別するためのアプリIDを利用してもよい。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体(あるいはメモリ)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。