以下、添付した図面を参照して当業者が容易に行えるように本発明の実施形態を詳細に説明する。しかし、本発明はいろいろな異なる形態で具現され、ここで説明する実施形態に限定されるものではない。そして図面で本発明を明確に説明するために、説明と関係ない部分は略し、明細書全般にわたって類似した部分には類似した図面符号を付けた。
明細書全体で、ある部分が他の部分と“連結”されているという時、これは“直接的に連結”されている場合だけではなく、その間に他の素子を介在させて“電気的に連結”されている場合も含む。また、ある部分がいずれかの構成要素を“含む”という時、これは特に反対の記載がない限り、他の構成要素を除外するものではなく他の構成要素をさらに含むということを意味する。
また、本明細書でトポロジーとは、デバイス(ノード)間の連結形態を意味する。トポロジーは、物理的トポロジー及び論理的トポロジーを含み、トポロジーは、トポロジー構造に属するデバイス間の物理的または論理的連結構成によって定められる。例えば、トポロジーは、デバイスの連結関係、デバイス間の連結方法、デバイス間のデータ伝送速度、デバイス間に伝送されるデータのフロー(data flow)、デバイス間に伝送される信号の種類及びデバイスに設けられたアプリケーションの種類のうち少なくとも一つによって他のトポロジーと区別されるが、これに制限されるものではない。
また、本明細書でトポロジーには、ホストデバイス、メイン周辺機器及びサブ周辺機器が含まれる。また、ホストデバイスはメイン周辺機器と連結され、メイン周辺機器はサブ周辺機器と連結される。また、ホストデバイス及びメイン周辺機器のうち少なくとも一つは、サブ周辺機器を制御する。
また、本明細書で、トポロジーを形成するホストデバイス、メイン周辺機器及びサブ周辺機器は、トポロジー構造内でのデバイスの位置、及び他のデバイスについてのデバイスの役割によって定められる。よって、デバイスは、形成されたトポロジー内でホストデバイス、メイン周辺機器及びサブ周辺機器のうち少なくとも一つで動作する。
また、ホストデバイス、メイン周辺機器、サブ周辺機器のうち少なくとも一つは、例えば、スマートホン、携帯電話、PDA(personal digital assistant)、ラップトップ、メディアプレーヤ、PC、GPS(global positioning system)装置、及びその他のモバイルまたは非モバイルコンピューティング装置であるが、これに制限されるものではない。また、ホストデバイス、メイン周辺機器、サブ周辺機器のうち少なくとも一つは、電化製品及び宅内に設けられた各種機器を含み、例えば、TV、照明、冷蔵庫、オーディオ装置、洗濯機、冷蔵庫、オーブン、ガスレンジ、ホームゲートウェイ、ゲーム機器、電子黒板及びタッチテーブルを含むが、これらに制限されるものではない。
また、本明細書でホストデバイスの状況(context)は、ホストデバイスの動作、ホストデバイスのユーザ、ホストデバイスの周辺環境及びホストデバイスの属性のうち少なくとも一つに係る状況である。例えば、ホストデバイスの状況は、ホストデバイスで実行されるコンデンツの種類、ホストデバイスで提供されるサービスの種類、ホストデバイスのユーザ、ホストデバイスの属性によって定められる。また、例えば、ホストデバイスの状況は、ホストデバイス1000の位置、ホストデバイスが位置している所の天気、温度、ホストデバイスの動きなどによって定められることもある。しかし、これらに制限されるものではない。
以下、添付した図面を参考して本発明を詳細に説明する。
図1は、本発明の一実施形態によるホストデバイス1000周辺の周辺機器を制御する周辺機器制御システムの概要図である。
図1に図示されたように、本発明の一実施形態による周辺機器制御システムは、ホストデバイス1000、少なくとも一つのメイン周辺機器2000、少なくとも一つのサブ周辺機器3000、及びサーバ4000を備える。
本発明の一実施形態による周辺機器制御システムで、ホストデバイス1000の状況によって所定のトポロジーが定められ、定められたトポロジーによってホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000が定められる。
また、定められたホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、定められたトポロジーによって互いに連結され、メイン周辺機器2000及びホストデバイス1000のうち少なくとも一つは、サブ周辺機器3000を制御する。しかし、これに制限されるものではなく、少なくとも一つのサブ周辺機器3000がメイン周辺機器2000またはホストデバイス1000を制御してもよい。
また、定められたホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、有線または無線に連結される。定められたホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、例えば、ワイファイ(Wi−Fi)、ブルートゥース、BLE(Bluetooth(登録商標) Low Energy)、NFC(Near Field Communication)、RFID(Radio Frequency Identification)うち少なくとも一つの通信方法を用いて互いに連結されるが、これらに制限されるものではない。また、定められたホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、例えば、HDMI(登録商標)ケーブル、RGBケーブルを通じて連結されるか、またはソケットを通じて連結されるが、これらに制限されるものではない。
図2は、本発明の一実施形態による周辺機器制御システムの一例を示す図面である。
ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、ホストデバイス1000の状況によって定められる。具体的に、ホストデバイス1000は、ホストデバイス1000周辺の周辺機器を検索でき、検索された周辺機器のうちメイン周辺機器2000及びサブ周辺機器3000を、ホストデバイス1000の状況に基づいて定める。
図2を参照すれば、ホストデバイス1000に連結されたメイン周辺機器2000は、例えば、TV及びディスプレイ装置であり、サブ周辺機器3000は、ガスレンジ、冷蔵庫、電話機、スピーカー及びマイクである。また、例えば、TVは、ホストデバイス1000、ガスレンジ、冷蔵庫及び電話機と連結され、ディスプレイ装置は、ホストデバイス1000、スピーカー及びマイクと連結される。
また、ホストデバイス1000またはTVは、ガスレンジ、冷蔵庫及び電話機を制御でき、ホストデバイス1000またはディスプレイ装置は、スピーカー及びマイクを制御できる。
例えば、ホストデバイス1000が宅内に進入すれば、ホストデバイス1000またはTVは、電話機のモードを振動モードに変更する。また、電話機に電話がかかって来れば、電話機は、TVを制御することでTVの画面に発信情報を表示させる。
図3は、本発明の一実施形態によるホストデバイス1000がメイン周辺機器2000及びサブ周辺機器3000を制御する方法のフローチャートである。
段階S300で、ホストデバイス1000は、ホストデバイス1000周辺の周辺機器を検索し、検索された周辺機器に関する周辺機器情報を獲得する。ホストデバイス1000は、ホストデバイス1000周辺の周辺機器から周辺機器の識別値(例えば、SSID)を受信し、受信された周辺機器の識別値に基づいて周辺機器に関する情報をサーバ4000から獲得する。
また、ホストデバイス1000は、例えば、NFC、ジグビー(Zigbee(登録商標))通信、RFID通信、UWB(Ultra Wide Band)通信、及びブルートゥース通信を用いて周辺機器を検索するが、これらに制限されるものではない。
また、例えば、周辺機器に関する情報は、周辺機器の機能に関する情報、周辺機器が用いられる通信方法に関する情報、周辺機器に連結するための連結情報、周辺機器に設けられたアプリケーションに関する情報、周辺機器を制御するためのアプリケーションに関する情報、及び周辺機器の制御命令に関する情報のうち少なくとも一つを含むが、これらに制限されるものではない。
段階S310で、ホストデバイス1000は、ホストデバイス1000の状況に基づいて、所定のトポロジー及びトポロジーに含まれる周辺機器を定める。
ホストデバイス1000の状況は、ホストデバイス1000の動作、ホストデバイス1000のユーザ、ホストデバイス1000の周辺環境及びホストデバイス1000の属性のうち少なくとも一つに係る状況である。例えば、ホストデバイス1000の状況は、ホストデバイス1000で実行されるコンデンツの種類、ホストデバイス1000で提供されるサービスの種類、ホストデバイス1000のユーザ、ホストデバイス1000の属性によって定められる。また、例えば、ホストデバイス1000の状況は、ホストデバイス1000の位置、ホストデバイス1000が位置している所の天気、温度、ホストデバイス1000の動きなどによって定められることもある。しかし、これらに制限されるものではない。
ホストデバイス1000は、トポロジーの形成基準に関するトポロジー設定情報をサーバ4000から獲得し、獲得されたトポロジー設定情報、検索された周辺機器及びホストデバイス1000の状況に基づいて、所定のトポロジーを選択する。また、ホストデバイス1000は、選択されたトポロジーに含まれるメイン周辺機器2000及びサブ周辺機器3000を、検索された周辺機器から選択する。例えば、ホストデバイス1000が動画を再生する場合に、ホストデバイス1000は、サーバ4000から獲得されたトポロジー設定情報に基づいて、動画再生に関する周辺機器からメイン周辺機器2000及びサブ周辺機器3000を選択する。しかし、これらに制限されるものではなく、ホストデバイス1000がユーザ入力に基づいてトポロジーの形成基準を定め、トポロジー設定情報を生成してもよい。この場合、トポロジー形成基準の設定のための別途のUIが、ホストデバイス1000でディスプレイされる。
一方、前記では、ホストデバイス1000が周辺機器を先ず検索し、検索された周辺機器からトポロジーに含まれる周辺機器を選択すると説明したが、これに制限されるものではない。ホストデバイス1000がホストデバイス1000の状況を先ず判断し、判断されたホストデバイス1000の状況にかかる周辺機器を検索してもよい。また、ホストデバイス1000は、ホストデバイス1000の状況にかかるトポロジーを先ず定め、定められたトポロジーにかかる周辺機器を検索してもよい。
また、ホストデバイス1000は、検索された周辺機器に関する情報及びホストデバイス1000の状況に関する情報をサーバ4000に提供し、提供された情報に基づいて、サーバ4000が形成されるトポロジー、メイン周辺機器2000及びサブ周辺機器3000を定める。この場合、ホストデバイス1000は、サーバ4000によって定められたトポロジー、メイン周辺機器2000及びサブ周辺機器3000に関する情報を受信してもよい。しかし、これに制限されるものではない。
段階S320で、ホストデバイス1000は、確認されたトポロジーに基づいて、ホストデバイス1000及び選択された周辺機器を連結する。ホストデバイス1000は、確認されたトポロジーに基づいて、メイン周辺機器2000をホストデバイス1000に連結させる。
また、ホストデバイス1000は、確認されたトポロジーに基づいて、メイン周辺機器2000とサブ周辺機器3000とを互いに連結させる。この場合、ホストデバイス1000は、メイン周辺機器2000の連結情報をサブ周辺機器3000に提供するか、または、サブ周辺機器3000の連結情報をメイン周辺機器2000に提供するが、これに制限されるものではない。
段階S330で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設ける。ホストデバイス1000は、メイン周辺機器2000の識別値に基づいて、メイン周辺機器2000を制御するためのアプリケーションをサーバ4000から獲得する。また、ホストデバイス1000は、獲得されたアプリケーションをホストデバイス1000に設ける。
段階S340で、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションに関するアプリケーション情報をメイン周辺機器2000に提供する。ホストデバイス1000は、サブ周辺機器3000の識別値に基づいて、サブ周辺機器3000を制御するためのアプリケーションに関するアプリケーション情報をサーバ4000から獲得する。サブ周辺機器3000を制御するためのアプリケーションに関するアプリケーション情報は、例えば、アプリケーションファイルをダウンロードするためのリンク情報、アプリケーションファイルを含むが、これらに制限されるものではない。
また、ホストデバイス1000は、獲得されたアプリケーション情報をメイン周辺機器2000に提供でき、メイン周辺機器2000は、提供されたアプリケーション情報に基づいて、サブ周辺機器3000を制御するためのアプリケーションをメイン周辺機器2000に設ける。
段階S350で、ホストデバイス1000は、メイン周辺機器2000及びサブ周辺機器3000のうち少なくとも一つを制御する。ホストデバイス1000は、メイン周辺機器2000を制御し、メイン周辺機器2000がサブ周辺機器3000を制御可能にする。また、ホストデバイス1000は、メイン周辺機器2000及びサブ周辺機器3000を直接制御してもよい。しかし、これに制限されるものではない。
一方、ホストデバイス1000は、ホストデバイス1000を制御するためのアプリケーションに関する情報を、メイン周辺機器2000及びサブ周辺機器3000のうち少なくとも一つに提供してもよい。また、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションに関する情報をサブ周辺機器3000に提供してもよい。この場合には、メイン周辺機器2000がホストデバイス1000を制御するか、または、サブ周辺機器3000がメイン周辺機器2000及びホストデバイス1000のうち少なくとも一つを制御する。
図4は、本発明の一実施形態によるホストデバイス1000が、ホストデバイス1000の状況によってメイン周辺機器2000及びサブ周辺機器3000を選択し、メイン周辺機器2000及びサブ周辺機器3000を制御する方法のフローチャートである。
段階S400で、ホストデバイス1000は、周辺機器を検索する。ホストデバイス1000は、例えば、NFC、ジグビー通信、RFID通信、UWB通信、及びブルートゥース通信を用いて周辺機器を検索する。
段階S405及び段階S410で、ホストデバイス1000は、周辺機器から識別値を受信する。周辺機器の識別値は、例えば、SSID、モデルナンバーを含むが、これらに制限されるものではない。
段階S415で、ホストデバイス1000は、周辺機器の識別値をサーバ4000に提供する。
段階S420で、サーバ4000は、周辺機器に関する機器情報をホストデバイス1000に提供する。サーバ4000は、ホストデバイス1000から受信される周辺機器の識別値に基づいて、周辺機器に関する機器情報を、サーバ4000内のDB(図示せず)または外部サーバ(図示せず)から獲得する。また、周辺機器に関する機器情報は、例えば、周辺機器の機能に関する情報、周辺機器が用いられる通信方法に関する情報、周辺機器に連結するための連結情報、周辺機器に設けられたアプリケーションに関する情報、周辺機器を制御するためのアプリケーションに関する情報、及び周辺機器の制御命令に関する情報のうち少なくとも一つを含むが、これらに制限されるものではない。
段階S425で、サーバ4000は、ホストデバイス1000にトポロジー設定情報を提供する。トポロジー設定情報は、トポロジーの形成基準に関する情報であり、トポロジーに含まれる周辺機器を定め、かつホストデバイスと周辺機器との連結関係を定めるのに用いられる。トポロジー設定情報は、ホストデバイス1000の状況、ホストデバイス1000周辺の周辺機器によってどのようにトポロジーを形成すべきかに関する情報を含む。
段階S430で、ホストデバイス1000は、ホストデバイス1000の状況を確認する。ホストデバイス1000は、ホストデバイス1000で実行されるコンデンツの種類、ホストデバイス1000で提供されるサービスの種類、ホストデバイス1000のユーザ及びホストデバイス1000の属性、ホストデバイス1000の環境のうち少なくとも一つを確認する。
ホストデバイス1000は、例えば、ホストデバイス1000で動画が再生されるか、または音楽が再生されるかを確認する。また、ホストデバイス1000は、ホストデバイス1000で再生される動画の解像度、動画を再生するために用いられるコーデックの種類を確認する。また、例えば、ホストデバイス1000は、ホストデバイス1000で再生される動画ファイルが、ホストデバイス1000に保存されたファイルであるか、または外部サーバ(図示せず)に保存されたファイルであるかを確認する。
また、例えば、ホストデバイス1000は、ホストデバイス1000で提供されるサービスとして、電力管理サービス、ホームシアターサービス、ゲームサービス、TV視聴サービス、チャットサービス、文書作成サービス、検索サービス、電話サービス及び動画再生サービスのうち少なくとも一つを確認する。
また、例えば、ホストデバイス1000は、ホストデバイス1000のユーザが親か、または子供かを確認し、ホストデバイス1000のユーザのサービス利用権限を確認する。
また、例えば、ホストデバイス1000は、ホストデバイス1000が共用(public)機器か、または個人用(private)機器かを確認する。例えば、共用機器は、家族構成員全員が用いられる機器であり、個人用機器は、家族のうち特定人が用いられる機器であるが、これに制限されるものではない。
また、例えば、ホストデバイス1000は、ホストデバイス1000の環境として、ホストデバイス1000の位置、天気、時間、ホストデバイス1000周辺の輝度及びホストデバイス1000の動きを確認するが、これらに制限されるものではない。
段階S435で、ホストデバイス1000は、確認された状況に基づいて、所定のトポロジー及びトポロジーに含まれる周辺機器を定める。ホストデバイス1000は、トポロジー設定情報及びホストデバイス1000の状況に基づいて、所定のトポロジーを定め、トポロジーに含まれる周辺機器を、検索された周辺機器から選択する。また、ホストデバイス1000は、検索された周辺機器から、メイン周辺機器2000及びサブ周辺機器3000を定める。
この場合、ホストデバイス1000は、検索された周辺機器のうち、ホストデバイス1000の状況にかかる周辺機器を含むトポロジーをユーザに勧め、ホストデバイス1000は、ユーザ入力に基づいて、トポロジー及びトポロジーに含まれる周辺機器を定める。例えば、ホストデバイス1000が動画を再生する場合に、ホストデバイス1000は、ホストデバイス1000がTV(メイン周辺機器)と連結され、TV(メイン周辺機器)がスピーカー(サブ周辺機器)及び照明(サブ周辺機器)と連結されるように、所定のトポロジーをユーザに勧める。
段階S440で、ホストデバイス1000は、メイン周辺機器2000と連結する。この場合、ホストデバイス1000は、メイン周辺機器2000に関する連結情報を、メイン周辺機器2000またはサーバ4000から予め獲得する。
段階S445で、ホストデバイス1000は、サブ周辺機器3000との連結のための連結情報をメイン周辺機器2000に提供する。この場合、ホストデバイス1000は、サブ周辺機器3000に関する連結情報を、サブ周辺機器3000またはサーバ4000から予め獲得する。
段階S455で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設けて実行する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションに関する情報を、メイン周辺機器2000またはサーバ4000から予め獲得し、メイン周辺機器2000を制御するためのアプリケーションをホストデバイス1000に設ける。アプリケーションに関する情報は、例えば、アプリケーションファイル、アプリケーションファイルをダウンロードするためのリンク情報を含む。もし、ホストデバイス1000にメイン周辺機器2000を制御するためのアプリケーションが既に設けられているならば、ホストデバイス1000は、別途の設置なしにメイン周辺機器2000を制御するためのアプリケーションを行える。
段階S460で、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行する。メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションに関する情報を、ホストデバイス1000またはサーバ4000から予め獲得し、サブ周辺機器3000を制御するためのアプリケーションをメイン周辺機器2000に設ける。メイン周辺機器2000が、サブ周辺機器3000を制御するためのアプリケーションに関する情報をホストデバイス1000から獲得する場合には、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションに関する情報を、サブ周辺機器3000またはサーバ4000から予め獲得する。
もし、メイン周辺機器2000に、サブ周辺機器3000を制御するためのアプリケーションが既に設けられているならば、メイン周辺機器2000は、別途の設置なしにサブ周辺機器3000を制御するためのアプリケーションを行える。
段階S465で、ホストデバイス1000は、メイン周辺機器2000を制御し、段階S470で、メイン周辺機器2000は、サブ周辺機器3000を制御する。メイン周辺機器2000は、ホストデバイス1000からの命令に基づいてサブ周辺機器3000を制御するが、これに制限されるものではない。
図5は、本発明の一実施形態によるメイン周辺機器2000が、ホストデバイス1000の状況によってサブ周辺機器3000を選択し、サブ周辺機器3000を制御する方法のフローチャートである。
段階S500で、ホストデバイス1000は、周辺機器を検索する。ホストデバイス1000は、例えば、NFC、ジグビー通信、RFID通信、UWB通信、及びブルートゥース通信を用いて周辺機器を検索する。また、ホストデバイス1000は、周辺機器から識別値を受信し、受信された識別値を用いてサーバ4000から周辺機器に関する機器情報を獲得する。周辺機器に関する機器情報は、例えば、周辺機器の機能に関する情報、周辺機器が用いられる通信方法に関する情報、周辺機器に連結するための連結情報、周辺機器に設けられたアプリケーションに関する情報、周辺機器を制御するためのアプリケーションに関する情報、及び周辺機器の制御命令に関する情報のうち少なくとも一つを含むが、これらに制限されるものではない。
段階S505で、ホストデバイス1000は、ホストデバイス1000の状況を判断する。ホストデバイス1000は、ホストデバイス1000で実行されるコンデンツの種類、ホストデバイス1000で提供されるサービスの種類、ホストデバイス1000のユーザ及びホストデバイス1000の属性、ホストデバイス1000の環境のうち少なくとも一つを確認する。
段階S510で、ホストデバイス1000は、周辺機器に関する機器情報をメイン周辺機器2000に提供する。ホストデバイス1000は、検索された周辺機器からメイン周辺機器2000を定め、メイン周辺機器2000に、検索された周辺機器に関する機器情報を提供する。この場合、ホストデバイス1000は、ホストデバイス1000の状況に基づいて、検索された周辺機器からメイン周辺機器2000を定める。
しかし、これに制限されるものではなく、メイン周辺機器2000がホストデバイス1000に既に連結されていてもよい。この場合には、ホストデバイス1000は、連結されたメイン周辺機器2000に、検索された周辺機器に関する機器情報を提供する。
段階S515で、ホストデバイス1000は、ホストデバイス1000の状況に関する状況情報をメイン周辺機器2000に提供する。
段階S520で、サーバ4000は、トポロジー設定情報をメイン周辺機器2000に提供する。サーバ4000は、ホストデバイス1000またはメイン周辺機器2000からの要請に応答してメイン周辺機器2000にトポロジー設定情報を提供する。
段階S525で、メイン周辺機器2000は、ホストデバイス1000の状況に基づいて、トポロジー及びトポロジーに含まれるサブ周辺機器3000を定める。メイン周辺機器2000は、ホストデバイス1000の状況情報、トポロジー設定情報及び周辺機器の機器情報に基づいて、トポロジー及びトポロジーに含まれるサブ周辺機器3000を定める。
段階S530で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設けて実行する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションに関する情報を、メイン周辺機器2000またはサーバ4000から予め獲得し、メイン周辺機器2000を制御するためのアプリケーションをホストデバイス1000に設ける。アプリケーションに関する情報は、例えば、アプリケーションファイル、アプリケーションファイルをダウンロードするためのリンク情報を含む。もし、ホストデバイス1000にメイン周辺機器2000を制御するためのアプリケーションが既に設けられているならば、ホストデバイス1000は、別途の設置なしにメイン周辺機器2000を制御するためのアプリケーションを行える。
段階S535で、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行する。メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションに関する情報を、ホストデバイス1000またはサーバ4000から予め獲得し、サブ周辺機器3000を制御するためのアプリケーションをメイン周辺機器2000に設ける。メイン周辺機器2000が、サブ周辺機器3000を制御するためのアプリケーションに関する情報をホストデバイス1000から獲得する場合には、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションに関する情報を、サブ周辺機器3000またはサーバ4000から予め獲得する。
もし、メイン周辺機器2000に、サブ周辺機器3000を制御するためのアプリケーションが既に設けられているならば、メイン周辺機器2000は、別途の設置なしにサブ周辺機器3000を制御するためのアプリケーションを行える。
段階S540で、ホストデバイス1000は、メイン周辺機器2000と連結され、段階S545で、メイン周辺機器2000は、サブ周辺機器3000と連結される。
ホストデバイス1000は、メイン周辺機器2000に関する連結情報を、メイン周辺機器2000またはサーバ4000から予め獲得し、獲得された連結情報を用いてホストデバイス1000をメイン周辺機器2000と連結する。
また、ホストデバイス1000は、サブ周辺機器3000に関する連結情報を、サブ周辺機器3000またはサーバ4000から獲得し、獲得された連結情報をメイン周辺機器2000に提供する。また、メイン周辺機器2000は、提供された連結情報を用いてメイン周辺機器2000をサブ周辺機器3000と連結する。しかし、これに制限されるものではない。
段階S550で、ホストデバイス1000は、メイン周辺機器2000を制御し、段階S555で、メイン周辺機器2000は、サブ周辺機器3000を制御できる。メイン周辺機器2000は、ホストデバイス1000からの命令に基づいてサブ周辺機器3000を制御するが、これに制限されるものではない。
図6を参照すれば、本発明の一実施形態によるホストデバイス1000は周辺機器A〜Fを検索し、検索された周辺機器A〜Fから識別値(例えば、SSID)をそれぞれ受信する。また、ホストデバイス1000は、受信された識別値をサーバ4000に伝送することで、サーバ4000に周辺機器A〜Fに関する機器情報を要請する。また、サーバ4000は、周辺機器A〜Fの識別値に基づいて、サーバ4000内のDB(図示せず)または外部サーバ(図示せず)から、周辺機器A〜Fに関する機器情報を獲得する。また、サーバ4000は、獲得された機器情報をホストデバイス1000に伝送する。
また、機器情報は、例えば、周辺機器の機能に関する情報、周辺機器が用いられる通信方法に関する情報、周辺機器に連結するための連結情報、周辺機器に設けられたアプリケーションに関する情報、周辺機器を制御するためのアプリケーションに関する情報、及び周辺機器の制御命令に関する情報のうち少なくとも一つを含むが、これらに制限されるものではない。
また、周辺機器の機能は、周辺機器が含まれたトポロジー、及びトポロジーに含まれた他の機器の種類によって区別される。例えば、周辺機器が照明である場合に、照明がトポロジーAに含まれれば、照明はムード灯の機能(持続的に照明が点灯されている機能)を行え、照明がトポロジーBに含まれれば、照明は点滅する機能を行える。
図7は、本発明の一実施形態によるホストデバイス1000が、NFC通信を通じて周辺機器に関する機器情報を獲得する方法のフローチャートである。
段階S700で、ホストデバイス1000及び周辺機器2000または3000が第1近距離通信半径内に近付くにつれて、段階S702及び段階S704で、ホストデバイス1000及び周辺機器2000または3000は、それぞれ第1近距離通信の発生を感知する。また、第1近距離通信は、例えば、NFC通信である。
段階S706で、周辺機器2000または3000は、NFC通信を通じてホストデバイス1000に、周辺機器2000または3000の識別値を伝送する。周辺機器2000または3000の識別値は、例えば、SSID、モデル、製品番号、及び周辺機器2000または3000のユーザIDを含むが、これらに制限されるものではない。
段階S708で、周辺機器2000または3000は、NFC通信を通じてホストデバイス1000に、第2近距離通信連結のための情報及び周辺機器2000または3000に関するアプリケーション情報を伝送する。第2近距離通信は、NFC通信と異なる通信方法であり、例えば、ブルートゥース通信、WIFI通信を含むが、これらに制限されるものではない。また、周辺機器2000または3000は、ホストデバイス1000及び他の周辺機器2000または3000のうち少なくとも一つと、第2近距離通信を通じて互いに連結される。
また、周辺機器2000または3000に関するアプリケーション情報は、周辺機器2000または3000に設けられたアプリケーションに関する情報及び周辺機器2000または3000を制御するためのアプリケーションに関する情報を含むが、これらに制限されるものではない。
段階S710で、ホストデバイス1000は、周辺機器2000または3000を認証する。ホストデバイス1000は、周辺機器2000または3000から受信された予め約束された認証情報を受信し、受信された認証情報を用いて周辺機器2000または3000を認証する。
段階S712で、ホストデバイス1000は、サーバ4000に周辺機器2000または3000の識別値を伝送し、段階S714で、サーバ4000は、周辺機器2000または3000に関する機器情報をホストデバイス1000に伝送する。
図8は、本発明の一実施形態によるホストデバイス1000が、BLE(Bluetooth(登録商標) Low Energy)通信を通じて周辺機器に関する機器情報を獲得する方法のフローチャートである。
段階S800で、周辺機器2000または3000は、周辺機器2000または3000の識別値、第2近距離通信連結のための情報、周辺機器2000または3000に関するアプリケーション情報をブロードキャスティングする。周辺機器2000または3000は、例えば、BLE通信を通じて、周辺機器2000または3000の識別値、第2近距離通信連結のための情報、周辺機器2000または3000に関するアプリケーション情報をブロードキャスティングする。第2近距離通信は、BLE通信と異なる通信方法であり、例えば、NFC通信、WIFI通信を含むが、これらに制限されるものではない。また、周辺機器2000または3000は、ホストデバイス1000及び他の周辺機器2000または3000のうち少なくとも一つと、第2近距離通信を通じて互いに連結される。また、周辺機器2000または3000に関するアプリケーション情報は、周辺機器2000または3000に設けられたアプリケーションに関する情報、及び周辺機器2000または3000を制御するためのアプリケーションに関する情報を含むが、これらに制限されるものではない。
また、段階S800で、ホストデバイス1000は、BLE通信を感知し、周辺機器2000または3000からブロードキャスティングされた情報を受信する。
段階S802で、ホストデバイス1000は、ブロードキャスティングされた情報が受信されることで周辺機器2000または3000を認証する。ホストデバイス1000は、周辺機器2000または3000から、予め約束された認証情報を受信し、受信された認証情報を用いて周辺機器2000または3000を認証する。
段階S804で、ホストデバイス1000は、サーバ4000に周辺機器2000または3000の識別値を伝送し、段階S806で、サーバ4000は、周辺機器2000または3000に関する機器情報をホストデバイス1000に伝送する。
図9は、本発明の一実施形態によるホストデバイス1000が、ゲートウェイ5000及びサーバ4000から周辺機器に関する情報を獲得する一例を示す図面である。
図9を参照すれば、本発明の一実施形態によるホストデバイス1000は、ゲートウェイ5000と連結され、ゲートウェイ5000は、周辺機器A〜Cと連結される。また、ホストデバイス1000は、周辺機器A〜Cの識別値(例えば、SSID)をゲートウェイ5000から受信する。ゲートウェイ5000は、例えば、ホームネットワーク内のホームゲートウェイであるが、これに制限されるものではない。また、ゲートウェイ5000は、ホストデバイス1000周辺のいろいろな周辺機器の一つである。
また、ホストデバイス1000は、受信された識別値をサーバ4000に伝送することで、サーバ4000に周辺機器A〜Cに関する機器情報を要請する。また、サーバ4000は、周辺機器A〜Cの識別値に基づいて、サーバ4000内のDB(図示せず)または外部サーバ(図示せず)から、周辺機器A〜Cに関する機器情報を獲得する。また、サーバ4000は、獲得された機器情報をホストデバイス1000に伝送する。
図10A及び図10Bは、本発明の一実施形態によるホストデバイス1000で実行されるコンデンツの種類によって、ホストデバイス1000及び周辺機器がトポロジーを形成する一例を示す図面である。
図10Aを参照すれば、ホストデバイス1000で動画が再生される場合に、メイン周辺機器2000及びサブ周辺機器3000は、例えば、ホストデバイス1000で再生される動画の解像度、保存位置などに基づいて定められる。
また、図10Aに図示されたように、ホストデバイス1000で動画が再生される場合に、ホストデバイス1000でTVがメイン周辺機器2000に連結され、TVにスピーカー及び照明がサブ周辺機器3000に連結される。また、ホストデバイス1000は、再生される動画をTVにストリーミングでき、TVは、動画の音響データをスピーカーに提供する。
また、ホストデバイス1000及びTVのうち少なくとも一つは、スピーカー及び照明のうち少なくとも一つを制御するためのアプリケーションを設けて実行する。また、ホストデバイス1000及びTVのうち少なくとも一つは、照明の電源をONにして照明の輝度を調節する。また、ホストデバイス1000及びTVのうち少なくとも一つは、スピーカーの電源をONさせてスピーカーのボリュームを調節する。
図10Bを参照すれば、ホストデバイス1000で音楽が再生される場合に、メイン周辺機器2000及びサブ周辺機器3000は、例えば、ホストデバイス1000で再生される音楽ファイルのビートレート、サンプリング周波数及び保存位置などに基づいて定められる。
また、図10Bに図示されたように、ホストデバイス1000で音楽が再生される場合に、ホストデバイス1000にアンプ(amplifier)がメイン周辺機器2000に連結され、アンプで電話機、スピーカー及び照明がサブ周辺機器3000に連結される。この場合、ホストデバイス1000に連結される電話機は、ユーザの音楽感想に邪魔になる周辺機器である。また、ホストデバイス1000は、再生される音楽の音響データをアンプに提供し、アンプは音響データを加工し、加工された音響データをスピーカーに提供する。また、ホストデバイス1000及びアンプのうち少なくとも一つは、スピーカー、電話機及び照明のうち少なくとも一つを制御するためのアプリケーションを設けて実行する。また、ホストデバイス1000及びアンプのうち少なくとも一つは、照明の電源をONさせて照明の輝度を調節する。また、ホストデバイス1000及びアンプのうち少なくとも一つは、スピーカーの電源をONさせてスピーカーのボリュームを調節する。また、ホストデバイス1000及びアンプのうち少なくとも一つは、電話機のベル音量を低減させる。
図11A及び図11Bは、本発明の一実施形態によるホストデバイス1000で行われるサービスの種類によって、ホストデバイス1000及び周辺機器がトポロジーを形成する一例を示す図面である。
図11Aを参照すれば、ホストデバイス1000でTV視聴サービスが提供される場合に、ホストデバイス1000にTVがメイン周辺機器2000に連結され、ユーザのTV視聴に邪魔になることができる周辺機器がサブ周辺機器3000としてTVに連結される。例えば、TVに冷蔵庫、洗濯機及び照明がサブ周辺機器3000に連結される。この場合、TV視聴に邪魔になる周辺機器のリストがTV画面にディスプレイされるし、ユーザ入力に基づいて選択された周辺機器がTVに連結されて、TVまたはホストデバイス1000によって制御される。この場合、ホストデバイス1000及びTVのうち少なくとも一つは、ユーザ入力に基づいて選択された周辺機器を制御するためのアプリケーションを設けて実行する。
また、ホストデバイス1000は、再生される動画をTVにストリーミングでき、TVは動画をディスプレイする。また、TVは、冷蔵庫、洗濯機及び照明の状態をモニタリングして制御するためのUIを生成し、生成されたUIをTVの画面にディスプレイする。また、TVは、ホストデバイス1000からの命令に応答して、冷蔵庫、洗濯機の電源を消し、かつ照明の輝度を調節する。
図11Bを参照すれば、ホストデバイス1000でチャットサービスが提供される場合に、ホストデバイス1000にオーディオ及び照明がメイン周辺機器2000に連結される。また、ホストデバイス1000は、チャットサービスを通じてユーザが入力するテキストを解釈する。ホストデバイス1000は、多様な種類の自然語解釈方法を用いて、ユーザによって入力されたテキストからユーザの感情状態を確認する。また、ホストデバイス1000は、ユーザの感情状態によってオーディオに提供する音楽を選択し、選択された音楽のデータをオーディオに提供する。また、ホストデバイス1000は、ユーザの感情状態によって照明の輝度を調節する。例えば、ユーザがチャットサービスを通じて入力したメッセージから、ユーザの気持ちが良いと判断されれば、ホストデバイス1000は、ダンス音楽をオーディオに提供し、照明を明るく調節する。
図12A及び図12Bは、本発明の一実施形態によるホストデバイス1000のユーザがだれかによって、ホストデバイス1000及び周辺機器がトポロジーを形成する一例を示す図面である。
図12Aを参照すれば、ホストデバイス1000のユーザが親であり、ホストデバイス1000で動画が再生される場合に、ホストデバイス1000にTVがメイン周辺機器2000に連結され、TVでスピーカー及び照明がサブ周辺機器3000に連結される。また、この場合、TVでは何の制限なしにあらゆる種類の動画がディスプレイされる。また、ホストデバイス1000は、再生される動画をTVにストリーミングでき、TVは、動画の音響データをスピーカーに提供する。また、ホストデバイス1000及びTVのうち少なくとも一つは、照明の電源をONさせて照明の輝度を調節する。また、ホストデバイス1000及びTVのうち少なくとも一つは、スピーカーの電源をONさせてスピーカーのボリュームを調節する。
図12Bを参照すれば、ホストデバイス1000のユーザが親であり、ホストデバイス1000で動画が再生される場合に、ホストデバイス1000でTVがメイン周辺機器2000に連結され、TVでヘッドホン及び照明がサブ周辺機器3000に連結される。また、この場合、TVでディスプレイされる動画の種類が制限される。また、ホストデバイス1000は、再生される動画をTVにストリーミングでき、TVは、動画の音響データをヘッドホンに提供する。また、ホストデバイス1000及びTVのうち少なくとも一つは、照明の電源をONさせて照明の輝度を調節する。また、ホストデバイス1000及びTVのうち少なくとも一つは、ヘッドホンの電源をONさせてヘッドホンのボリュームを調節する。また、ヘッドホンは、無線ヘッドホンであり、ヘッドホンは、ヘッドホンのバッテリー残量に基づいてTVのボリュームを制御することもある。この場合、ヘッドホンは、TVを制御するためのアプリケーションを、ホストデバイス1000、TV及びサーバ4000のうち少なくとも一つから予め獲得し、予め獲得されたアプリケーションを設ける。
図13A及び図13Bは、本発明の一実施形態によるホストデバイス1000が連結されたメイン周辺機器2000の属性によって、ホストデバイス1000及び周辺機器がトポロジーを形成する一例を示す図面である。
図13Aを参照すれば、ホストデバイス1000に、共用(public)周辺機器Aがメイン周辺機器2000として連結された場合に、共用周辺機器Aには、共用周辺機器B及び共用周辺機器Cがサブ周辺機器3000として連結される。
また、図13Bを参照すれば、ホストデバイス1000に、個人用(private)周辺機器Fがメイン周辺機器2000として連結された場合に、個人用周辺機器Fには、個人用周辺機器G及び個人用周辺機器Hがサブ周辺機器3000として連結される。
共用周辺機器は、複数のユーザが用いられる機器であり、例えば、家族構成員全員が用いられる機器、公共場所で誰でも用いられる機器である。また、個人用周辺機器は、少なくとも一人以上の特定人が用いられる機器であり、例えば、家族のうち特定人が用いられる機器である。また、例えば、家庭でTV、冷蔵庫、洗濯機及び居間の照明は、家族構成員全員が制御できる共用周辺機器であり、部屋の照明、PC及び携帯電話は、家族構成員のうち特定人が制御できる個人用周辺機器である。また、例えば、会社でプリンタは、共用周辺機器であり、PCは、個人用周辺機器である。
図14A及び図14Bは、本発明の一実施形態によるホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000が連結される方法のフローチャートである。
図14Aを参照すれば、ホストデバイス1000は、メイン周辺機器2000と連結され(段階S1400)、ホストデバイス1000は、サブ周辺機器3000の連結情報をメイン周辺機器2000に提供する(段階S1402)。また、メイン周辺機器2000は、提供された連結情報を用いてサブ周辺機器3000と連結される(段階S1404)。
また、図14Bを参照すれば、ホストデバイス1000は、メイン周辺機器2000と連結され(段階S1406)、ホストデバイス1000は、メイン周辺機器2000の連結情報をサブ周辺機器3000に提供する(段階S1408)。また、メイン周辺機器2000は、提供された連結情報を用いてサブ周辺機器3000と連結される(段階S1410)。
図15ないし図17は、本発明の一実施形態によるホストデバイス1000が、メイン周辺機器2000及びサブ周辺機器3000を制御する方法のフローチャートである。
図15で、ホストデバイス1000は、メイン周辺機器2000を制御し、メイン周辺機器2000が所定の制御命令を生成し、サブ周辺機器3000に生成された制御命令を提供する。
段階S1500で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設けて実行する。ホストデバイス1000は、周辺機器検索段階(S300)で、メイン周辺機器2000から受信されたメイン周辺機器2000の識別値を用いて、メイン周辺機器2000を制御するためのアプリケーション情報をサーバ4000から受信する。アプリケーション情報は、アプリケーションファイルのダウンロードに用いられるリンク情報及びアプリケーションファイルのうち少なくとも一つを含む。しかし、これらに制限されるものではなく、ホストデバイス1000は、周辺機器検索段階(S300)で、メイン周辺機器2000からメイン周辺機器2000を制御するためのアプリケーション情報を受信してもよい。
段階S1502で、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーション情報をメイン周辺機器2000に提供する。ホストデバイス1000は、周辺機器検索段階(S300)で、サブ周辺機器3000から受信されたサブ周辺機器3000の識別値を用いて、サブ周辺機器3000を制御するためのアプリケーション情報をサーバ4000から受信する。アプリケーション情報は、アプリケーションファイルのダウンロードに用いられるリンク情報及びアプリケーションファイルのうち少なくとも一つを含む。しかし、これらに制限されるものではなく、ホストデバイス1000は、周辺機器検索段階(S300)で、サブ周辺機器3000から、サブ周辺機器3000を制御するためのアプリケーション情報を受信してもよい。
段階S1504で、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行する。メイン周辺機器2000が、ホストデバイス1000からサブ周辺機器3000を制御するためのアプリケーションファイルを受信した場合に、メイン周辺機器2000は、受信されたアプリケーションファイルを設けて実行する。また、メイン周辺機器2000が、ホストデバイス1000からサブ周辺機器3000を制御するためのアプリケーションファイルのダウンロードに用いられるリンク情報を受信した場合には、メイン周辺機器2000は、受信されたリンク情報を用いてアプリケーションファイルをダウンロードし、ダウンロードされたアプリケーションファイルを設けて実行する。
段階S1506で、ホストデバイス1000は、メイン周辺機器2000の制御命令に関する情報を獲得する。ホストデバイス1000は、サーバ4000またはメイン周辺機器2000から、メイン周辺機器2000の制御命令に関する情報を受信する。また、メイン周辺機器2000の制御命令は、メイン周辺機器2000を制御するためのアプリケーションに含まれていてもよい。
段階S1508で、ホストデバイス1000は、メイン周辺機器2000を制御するために、所定の制御命令をメイン周辺機器2000に伝送する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを用いて、制御命令をメイン周辺機器2000に伝送する。また、メイン周辺機器2000は、ホストデバイス1000から受信された制御命令によって制御される。
段階S1510で、メイン周辺機器2000は、サブ周辺機器3000を制御するための制御命令を生成する。メイン周辺機器2000は、ホストデバイス1000から受信された制御命令に基づいて、サブ周辺機器3000を制御するための制御命令を生成する。また、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを用いて、サブ周辺機器3000を制御するための制御命令を生成する。
段階S1512で、メイン周辺機器2000は、生成された制御命令をサブ周辺機器3000に伝送する。メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを用いて、制御命令をサブ周辺機器3000に伝送する。
図16で、ホストデバイス1000は、メイン周辺機器2000を制御し、サブ周辺機器3000についての制御命令を、メイン周辺機器2000を経由してサブ周辺機器3000に提供する。
段階S1600で、ホストデバイス1000は、トポロジーに含まれた周辺機器に関する制御命令情報を獲得する。ホストデバイス1000は、サーバ4000または周辺機器から周辺機器の制御命令に関する情報を受信する。また、周辺機器の制御命令に関する情報は、後述するアプリケーションに含まれていてもよい。
段階S1602で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設けて実行する。ホストデバイス1000は、周辺機器検索段階(S300)で、メイン周辺機器2000から受信されたメイン周辺機器2000の識別値を用いて、メイン周辺機器2000を制御するためのアプリケーション情報をサーバ4000から受信する。アプリケーション情報は、アプリケーションファイルのダウンロードに用いられるリンク情報及びアプリケーションファイルのうち少なくとも一つを含む。しかし、これらに制限されるものではなく、ホストデバイス1000は、周辺機器検索段階(S300)で、メイン周辺機器2000からメイン周辺機器2000を制御するためのアプリケーション情報を受信してもよい。
段階S1604で、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーション情報を、メイン周辺機器2000に提供する。ホストデバイス1000は、周辺機器検索段階(S300)で、サブ周辺機器3000から受信されたサブ周辺機器3000の識別値を用いて、サブ周辺機器3000を制御するためのアプリケーション情報をサーバ4000から受信する。アプリケーション情報は、アプリケーションファイルのダウンロードに用いられるリンク情報及びアプリケーションファイルのうち少なくとも一つを含む。しかし、これらに制限されるものではなく、ホストデバイス1000は、周辺機器検索段階(S300)で、サブ周辺機器3000から、サブ周辺機器3000を制御するためのアプリケーション情報を受信してもよい。
段階S1606で、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行する。メイン周辺機器2000が、ホストデバイス1000からサブ周辺機器3000を制御するためのアプリケーションファイルを受信した場合に、メイン周辺機器2000は、受信されたアプリケーションファイルを設けて実行する。また、メイン周辺機器2000が、ホストデバイス1000からサブ周辺機器3000を制御するためのアプリケーションファイルのダウンロードに用いられるリンク情報を受信した場合には、メイン周辺機器2000は、受信されたリンク情報を用いてアプリケーションファイルをダウンロードし、ダウンロードされたアプリケーションファイルを設けて実行する。
段階S1608で、ホストデバイス1000は、メイン周辺機器2000を制御するために、所定の制御命令をメイン周辺機器2000に伝送する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを用いて、制御命令をメイン周辺機器2000に伝送する。また、メイン周辺機器2000は、ホストデバイス1000から受信された制御命令によって制御される。
段階S1610で、ホストデバイス1000は、サブ周辺機器3000を制御するための制御命令を生成し、生成された制御命令をメイン周辺機器2000に伝送する。ホストデバイス1000は、生成された制御命令を、メイン周辺機器2000を制御するためのアプリケーションを用いてメイン周辺機器2000に伝送する。
また、段階S1612で、メイン周辺機器2000は、ホストデバイス1000から受信された制御命令をサブ周辺機器3000に伝達する。メイン周辺機器2000は、受信された制御命令を、サブ周辺機器3000を制御するためのアプリケーションを用いてサブ周辺機器3000に伝送する。また、サブ周辺機器3000は、メイン周辺機器2000から受信された制御命令によって制御される。
図17で、ホストデバイス1000は、メイン周辺機器2000及びサブ周辺機器3000を直接制御する。
段階S1700で、ホストデバイス1000は、トポロジーに含まれた周辺機器に関する制御命令情報を獲得する。ホストデバイス1000は、サーバ4000または周辺機器から、周辺機器の制御命令に関する情報を受信する。また、周辺機器の制御命令に関する情報は、後述するアプリケーションに含まれていてもよい。
段階S1702で、ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーション及びサブ周辺機器3000を制御するためのアプリケーションを設けて実行する。
段階S1704で、ホストデバイス1000は、メイン周辺機器2000を制御するために、所定の制御命令をメイン周辺機器2000に伝送する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを用いて、制御命令をメイン周辺機器2000に伝送する。また、メイン周辺機器2000は、ホストデバイス1000から受信された制御命令によって制御される。
段階S1706で、ホストデバイス1000は、サブ周辺機器3000を制御するために、所定の制御命令をサブ周辺機器3000に伝送する。ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションを用いて、制御命令をサブ周辺機器3000に伝送する。また、サブ周辺機器3000は、ホストデバイス1000から受信された制御命令によって制御される。
図18は、本発明の一実施形態によるホストデバイス1000が形成されたトポロジーを変更し、変更されたトポロジーに基づいて周辺機器を制御する方法のフローチャートである。
段階S1800で、ホストデバイス1000周辺の周辺機器が変更される。ホストデバイス1000を含むトポロジーで、メイン周辺機器2000及びサブ周辺機器3000のうち少なくとも一つが除去されるか、または、ホストデバイス1000を含むトポロジーに新たな周辺機器が加えられる。
段階S1802で、ホストデバイス1000の環境が変更される。例えば、ホストデバイス1000の位置、ホストデバイス1000が位置している所の天気、温度、ホストデバイス1000の動きが変更されるが、これらに制限されるものではない。例えば、ホストデバイス1000が宅内から宅外に移動するか、または、ホストデバイス1000周辺の天気が、晴れから雨に変わる場合に、ホストデバイス1000の環境が変更される。
段階S1804で、ホストデバイス1000は、変更された周辺機器及び変更された環境に基づいてトポロジーを変更する。ホストデバイス1000は、トポロジーの形成基準に関するトポロジー設定情報をサーバ4000から獲得し、獲得されたトポロジー設定情報、変更された周辺機器及び変更された環境に基づいてトポロジーを変更する。
しかし、これらに制限されるものではなく、変更された周辺機器及び変更された環境に関する情報をサーバ4000に提供すれば、サーバ4000がトポロジーを変更する。この場合、ホストデバイス1000は、サーバ4000が変更したトポロジーに関する情報をサーバ4000から受信する。
段階S1806で、ホストデバイス1000は、変更されたトポロジーによって、ホストデバイス1000及び周辺機器を連結する。ホストデバイス1000は、変更されたトポロジーによってメイン周辺機器2000と連結され、メイン周辺機器2000は、変更されたトポロジーによってサブ周辺機器3000と連結される。
段階S1808で、ホストデバイス1000は、変更された周辺機器を制御する。ホストデバイス1000は、メイン周辺機器2000を制御するためのアプリケーションを設けて実行し、実行されたアプリケーションを用いてメイン周辺機器2000を制御する。
また、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行し、実行されたアプリケーションを用いてサブ周辺機器3000を制御する。
また、ホストデバイス1000は、サブ周辺機器3000を制御するためのアプリケーションに関するアプリケーション情報を、メイン周辺機器2000に提供する。この場合、メイン周辺機器2000は、サブ周辺機器3000を制御するためのアプリケーションを設けて実行し、ホストデバイス1000からの制御に基づいて、実行されたアプリケーションを用いてサブ周辺機器3000を制御する。
図19ないし図21は、本発明の一実施形態によるホストデバイス1000及び周辺機器が含まれたトポロジーに他のデバイス6000が加えられる場合に、トポロジーが変更される一例を示す図面である。
図19を参照すれば、ホストデバイス1000及び周辺機器が含まれたトポロジーに他のデバイス6000が加えられる場合に、加えられた他のデバイス6000がホストデバイスとして動作し、ホストデバイス1000がメイン周辺機器として動作する。
また、図20を参照すれば、ホストデバイス1000及び周辺機器が含まれたトポロジーに他のデバイス6000が加えられる場合に、加えられた他のデバイス6000がメイン周辺機器として動作し、メイン周辺機器Aがサブ周辺機器として動作する。
また、図21を参照すれば、ホストデバイス1000及び周辺機器が含まれたトポロジーに他のデバイス6000が加えられる場合に、加えられた他のデバイス6000がサブ周辺機器として動作する。
図22は、本発明の一実施形態によるホストデバイス1000の環境が変化される場合に、ホストデバイス1000が含まれたトポロジーが変更される一例を示す図面である。
図22を参照すれば、ホストデバイス1000の環境(例えば、温度、位置、動き)が変更されれば、メイン周辺機器Aがメイン周辺機器Bに入れ替わり、サブ周辺機器A及びBがサブ周辺機器C及びDに入れ替わる。図22では、メイン周辺機器A、サブ周辺機器A及びサブ周辺機器Bがいずれも入れ替わると説明したが、これに制限されるものではない。メイン周辺機器A、サブ周辺機器A及びサブ周辺機器Bのうち少なくとも一つが入れ替わってもよい。
図23は、本発明の一実施形態によるホストデバイス1000が、サブ周辺機器3000のファームウェアをアップグレードする方法の概要図である。
図23を参照すれば、ホストデバイス1000は、メイン周辺機器Aと連結され、メイン周辺機器Aは、サブ周辺機器A及びサブ周辺機器Bと連結される。また、ホストデバイス1000は、サブ周辺機器Aに設けられるファームウェアをサーバ4000から受信し、受信されたファームウェアを、メイン周辺機器Aを経由してサブ周辺機器Aに提供する。
また、トポロジーに属するサブ周辺機器Aの機能は、トポロジー内のホストデバイス1000、メイン周辺機器A、サブ周辺機器A及びサブ周辺機器Bのうち少なくとも2つ以上の連結関係に基づいて定められる。また、定められた機能に関するファームウェアが、サーバ4000からサブ周辺機器Aに提供される。
また、サブ周辺機器Aの機能が加えられる場合に、ホストデバイス1000は、加えられた機能に関するファームウェアをサーバ4000から受信し、受信されたファームウェアを、メイン周辺機器Aを経由してサブ周辺機器Aに提供する。
図24は、本発明の一実施形態によるホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000の連結関係に基づいて、ホストデバイス1000がサブ周辺機器3000のファームウェアをアップデートする方法のフローチャートである。
段階S2400で、ホストデバイス1000は、メイン周辺機器2000と連結され、段階S2402で、メイン周辺機器2000は、サブ周辺機器3000と連結される。ホストデバイス1000の状況に基づいて、ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、所定のトポロジーを形成する。
段階S2404で、ホストデバイス1000は、ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000を含むトポロジーを確認する。ホストデバイス1000は、トポロジー内に含まれたホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000の連結関係を確認する。特に、ホストデバイス1000は、サブ周辺機器がいかなる機器に連結されたかを確認する。
段階S2406で、ホストデバイス1000は、トポロジーに含まれたサブ周辺機器3000の機能を確認する。サブ周辺機器3000の機能は、サブ周辺機器3000が含まれたトポロジー、トポロジーに含まれた他の機器の種類、サブ周辺機器3000と他の機器との連結関係、及びホストデバイス1000の状況のうち少なくとも一つによって区別される。例えば、サブ周辺機器が照明である場合に、照明がトポロジーAに含まれれば、照明は、ムード灯の機能(持続的に照明が点灯されている機能)を行え、照明がトポロジーBに含まれれば、照明は点滅する機能を行える。しかし、これに制限されるものではない。
段階S2408で、ホストデバイス1000は、サブ周辺機器3000の機能に関するサブ周辺機器3000のファームウェアをサーバ4000に要請する。ホストデバイス1000は、サブ周辺機器3000の識別値及びサブ周辺機器3000の機能に関する情報をサーバ4000に提供することで、サーバ4000にサブ周辺機器3000のファームウェアを要請する。
段階S2404ないし段階S2408では、ホストデバイス1000が、トポロジー及びサブ周辺機器3000の機能を確認し、確認された機能に関するファームウェアをサーバ4000に要請すると説明したが、これに制限されるものではない。サーバ4000が、ホストデバイス1000からサブ周辺機器3000の識別値を受信し、サーバ4000が、サブ周辺機器3000が含まれたトポロジー及びサブ周辺機器3000の機能を確認し、確認された機能に関するサブ周辺機器3000のファームウェアを、サーバ4000内のDB(図示せず)または外部サーバ(図示せず)から獲得してもよい。
段階S2410で、サーバ4000は、サブ周辺機器3000のファームウェアをホストデバイス1000に提供する。サーバ4000は、サブ周辺機器3000の確認された機能のためのサブ周辺機器3000のファームウェアをホストデバイス1000に提供する。
段階S2412で、ホストデバイス1000は、サーバ4000から受信されたファームウェアを、メイン周辺機器2000を経由してサブ周辺機器3000に提供する。
段階S2410ないし段階S2412では、サブ周辺機器3000のファームウェアが、サーバ4000からホストデバイス1000及びメイン周辺機器2000を経由してサブ周辺機器3000に提供されると説明したが、これに制限されるものではない。サーバ4000が、ファームウェアをメイン周辺機器2000に提供し、メイン周辺機器2000が、提供されたファームウェアをサブ周辺機器3000に提供してもよい。また、サーバ4000が、ファームウェアをサブ周辺機器3000に直接提供してもよい。この場合、サーバ4000は、メイン周辺機器2000及びサブ周辺機器3000にファームウェアを提供するための連結情報を予め獲得する。
図25は、本発明の一実施形態によるサブ周辺機器3000の機能が更新される場合に、ホストデバイス1000がサブ周辺機器3000のファームウェアをアップデートする方法のフローチャートである。
段階S2500で、ホストデバイス1000は、メイン周辺機器2000と連結され、段階S2502で、メイン周辺機器2000は、サブ周辺機器3000と連結される。ホストデバイス1000の状況に基づいて、ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000は、所定のトポロジーを形成する。
段階S2504で、ホストデバイス1000は、サーバ4000に、サブ周辺機器3000のファームウェアのアップデートを要請する。ホストデバイス1000は、サブ周辺機器3000の識別値、及びサブ周辺機器3000に設けられたファームウェアに関する情報をサーバ4000に提供することで、サブ周辺機器3000のファームウェアのアップデートをサーバ4000に要請する。例えば、サブ周辺機器3000に設けられたファームウェアに関する情報は、サブ周辺機器3000に設けられたファームウェアの識別値及びバージョンに関する情報を含むが、これらに制限されるものではない。
段階S2506で、サーバ4000は、サブ周辺機器3000の追加機能を確認する。サブ周辺機器3000の製造社は、サブ周辺機器3000の機能が加えられた場合に、加えられた機能を行うためのファームウェアを生成する。また、サーバ4000は、ホストデバイス1000から受信されたサブ周辺機器3000のファームウェアのバージョン情報に基づいて、サブ周辺機器3000のファームウェアが最新バージョンであるかどうかを確認する。また、これを通じて、サーバ4000は、サブ周辺機器3000の機能が加えられたかどうかを確認する。しかし、これらに制限されるものではない。
段階S2508で、サーバ4000は、サブ周辺機器3000のアップデートされたファームウェアをホストデバイス1000に提供し、段階S2510で、ホストデバイス1000は、メイン周辺機器2000を経由し、サブ周辺機器3000のアップデートされたファームウェアをサブ周辺機器3000に提供する。
段階S2508ないし段階S2410では、サブ周辺機器3000のアップデートされたファームウェアが、サーバ4000からホストデバイス1000及びメイン周辺機器2000を経由してサブ周辺機器3000に提供されると説明したが、これに制限されるものではない。サーバ4000がアップデートされたファームウェアをメイン周辺機器2000に提供し、メイン周辺機器2000がアップデートされたファームウェアをサブ周辺機器3000に提供してもよい。また、サーバ4000が、アップデートされたファームウェアをサブ周辺機器3000に直接提供してもよい。この場合、サーバ4000は、メイン周辺機器2000及びサブ周辺機器3000にアップデートされたファームウェアを提供するための連結情報を予め獲得する。
図26は、本発明の一実施形態によるメイン周辺機器2000及びサブ周辺機器3000がトポロジーを形成するかどうかを定め、ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000が互いに連結される方法のフローチャートである。図26では、メイン周辺機器2000及びサブ周辺機器3000が、ホストデバイス1000の状況に基づいてトポロジーを形成するかどうかを定める。
段階S2600及び段階S2602で、ホストデバイス1000は、ホストデバイス1000の状況に関する状況情報を、メイン周辺機器2000及びサブ周辺機器3000に提供する。ホストデバイス1000の状況は、ホストデバイス1000の動作、ホストデバイス1000のユーザ、ホストデバイス1000の周辺環境及びホストデバイス1000の属性のうち少なくとも一つに係る状況である。例えば、ホストデバイス1000の状況は、ホストデバイス1000で実行されるコンデンツの種類、ホストデバイス1000で提供されるサービスの種類、ホストデバイス1000のユーザ、ホストデバイス1000の属性によって定められる。また、例えば、ホストデバイス1000の状況は、ホストデバイス1000の位置、ホストデバイス1000が位置している所の天気、温度、ホストデバイス1000の動きなどによって定められてもよい。しかし、これらに制限されるものではない。
また、ホストデバイス1000は、例えば、NFC通信を通じて、ホストデバイス1000周辺の周辺機器を検索し、検索された周辺機器にホストデバイス1000の状況情報を伝送できるが、これに制限されるものではない。ホストデバイス1000は、例えば、BLE通信を通じて周辺機器を検索するか、周辺機器に状況情報をブロードキャスティングしてもよい。
段階S2604で、サーバ4000は、トポロジー形成基準に関するトポロジー設定情報をメイン周辺機器2000に提供し、段階S2606で、サーバ4000は、トポロジー形成基準に関するトポロジー設定情報をサブ周辺機器3000に提供する。メイン周辺機器2000及びサブ周辺機器3000は、サーバ4000に関する連結情報をホストデバイス1000から予め獲得し、獲得された連結情報に基づいて、サーバ4000にトポロジー設定情報を要請する。また、サーバ4000は、要請に応答して、トポロジー設定情報をメイン周辺機器2000及びサブ周辺機器3000に提供する。
段階S2604ないし段階S2606では、サーバ4000が、トポロジー設定情報をメイン周辺機器2000及びサブ周辺機器3000に提供すると説明したが、これに制限されるものではない。ホストデバイス1000が、トポロジー設定情報をメイン周辺機器2000及びサブ周辺機器3000に提供してもよい。
段階S2608で、メイン周辺機器2000は、ホストデバイス1000とトポロジーを形成するかどうかを定める。メイン周辺機器2000は、ホストデバイス1000の状況及びトポロジー設定情報に基づいて、ホストデバイス1000とトポロジーを形成するかどうかを定める。例えば、ホストデバイス1000で動画が再生中の場合に、メイン周辺機器2000で動作するTVは、ホストデバイス1000、スピーカー及び照明との連結を定める。また、メイン周辺機器2000は、他の周辺機器に関する情報を、ホストデバイス1000、ゲートウェイ5000及びサーバ4000のうち少なくとも一つから予め獲得する。
段階S2610で、サブ周辺機器3000は、ホストデバイス1000とトポロジーを形成するかどうかを定める。サブ周辺機器3000は、ホストデバイス1000の状況及びトポロジー設定情報に基づいて、ホストデバイス1000とトポロジーを形成するかどうかを定める。例えば、ホストデバイス1000で動画が再生中の場合に、サブ周辺機器3000で動作するスピーカーは、TVとの連結を定める。また、サブ周辺機器3000は、他の周辺機器に関する情報を、ホストデバイス1000、ゲートウェイ5000及びサーバ4000のうち少なくとも一つから予め獲得する。
段階S2612で、メイン周辺機器2000は、ホストデバイス1000と連結され、段階S2614で、メイン周辺機器2000及びサブ周辺機器3000が互いに連結される。
図27は、本発明の一実施形態によるホストデバイス1000での動画の再生中に、所定のトポロジーによって、周辺機器がホストデバイス1000に連結されて制御される一例を示す図面である。
段階S2700で、ホストデバイス1000は、宅外で動画の再生中に宅内に進入する。
段階S2702で、ホストデバイス1000は、動画再生にかかる周辺機器を検索する。ホストデバイス1000は、動画再生にかかる宅内の周辺機器として、例えば、TV、スピーカー及び照明を検索する。ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器から動画再生にかかる周辺機器として、TV、スピーカー及び照明を選択するが、これらに制限されるものではない。
段階S2704で、ホストデバイス1000は、動画再生にかかるトポロジーを確認する。ホストデバイス1000は、動画再生にかかるトポロジー形成基準を確認し、ホストデバイス1000をTVに連結し、TVのスピーカー及び照明への連結を定める。
段階S2702及び段階S2704では、ホストデバイス1000が周辺機器を検索した後で周辺機器の連結関係を定めると説明したが、これに制限されるものではない。ホストデバイス1000は、動画再生に関するトポロジー形成基準を確認し、確認されたトポロジー形成基準に基づいて宅内のTV、スピーカー及び照明を検索してもよい。
また、ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器及びホストデバイス1000の状況(動画が再生される状況)に関する情報をサーバ4000に提供でき、サーバ4000がTV、スピーカー及び照明をトポロジーに含ませるかどうかも定められる。この場合、ホストデバイス1000は、TV、スピーカー及び照明の識別値及び連結関係に関する情報をサーバ4000から受信する。
段階S2706で、ホストデバイス1000は、スピーカー及び照明との連結のための連結情報をTVに提供する。また、段階S2708で、ホストデバイス1000はTVと連結される。
段階S2710で、TVは、受信された連結情報に基づいてスピーカーと連結され、段階S2712で、TVは、受信された連結情報に基づいて照明と連結される。
段階S2714で、ホストデバイス1000は、連結された周辺機器を制御するためのアプリケーションを獲得する。ホストデバイス1000は、TV、スピーカー及び照明の識別値をサーバ4000に提供し、サーバ4000からTV、スピーカー及び照明の制御に用いられるアプリケーションを獲得する。
段階S2716で、ホストデバイス1000は、スピーカーを制御するためのアプリケーション及び照明を制御するためのアプリケーションをTVに提供する。
TVを制御するためのアプリケーションは、ホストデバイス1000に設けられ、スピーカーを制御するためのアプリケーション及び照明を制御するためのアプリケーションはTVに設けられる。
段階S2718で、ホストデバイス1000は、TVを制御するための制御命令をTVに提供する。TVを制御するための制御命令は、TVを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。また、TVは、ホストデバイス1000から受信された制御命令に基づいて、TVの動作またはスピーカー及び照明の動作を制御する。
段階S2720で、TVは、スピーカーを制御するための制御命令をスピーカーに提供する。TVは、ホストデバイス1000から受信された制御命令に基づいて、スピーカーを制御するためのアプリケーションを用いてスピーカーに制御命令を伝送する。また、スピーカーを制御するための制御命令は、スピーカーを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。
段階S2722で、TVは、照明を制御するための制御命令を照明に提供する。TVは、ホストデバイス1000から受信された制御命令に基づいて、照明を制御するためのアプリケーションを用いて照明に制御命令を伝送する。また、照明を制御するための制御命令は、照明を制御するためのアプリケーションから獲得されるが、これに制限されるものではない。
段階S2724で、TVは、ホストデバイス1000から受信された制御命令に基づいて動画を再生する。TVは、ホストデバイス1000から動画を受信してTVの画面にディスプレイする。
段階S2726で、スピーカーは、TVから受信された制御命令に基づいて音声データを出力する。スピーカーは、TVから動画の音声データを受信し、受信された音声データを出力する。
段階S2728で、照明は、TVから受信された制御命令に基づいて電源をONし、出力を調節する。
図27では、TVがスピーカー及び照明に連結されると説明したが、これに制限されるものではない。例えば、TVは、動画の再生に邪魔になる周辺機器として、宅内の洗濯機及び電話機と連結される。また、ホストデバイス1000及びTVのうち少なくとも一つは、洗濯機の電源をオフにして電話機のボリュームを下げるとか電話機のモードを振動モードに変更する。
図28は、本発明の一実施形態によるホストデバイス1000が、宅内の周辺機器の電力を制御するサービスを提供する一例を示す図面である。
段階S2800で、ホストデバイス1000は、“TVを用いる電力制御サービス”を選択する。ホストデバイス1000の画面には、ユーザが用いられる多様な種類のサービスが表示され、ホストデバイス1000は、ユーザ入力に基づいて“TVを用いる電力制御サービス”を選択する。
段階S2802で、ホストデバイス1000は、電力制御のための周辺機器を検索する。ホストデバイス1000は、電力制御サービスに係る宅内の周辺機器として、例えば、TV、照明及びエアコンを検索する。ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器から、電力制御サービスに係る周辺機器としてTV、照明及びエアコンを選択するが、これらに制限されるものではない。
段階S2804で、ホストデバイス1000は、電力制御サービスに係るトポロジーを確認する。ホストデバイス1000は、電力制御サービスに係るトポロジー形成基準を確認し、ホストデバイス1000をTVに連結し、TVを照明及びエアコンに連結することを定める。
段階S2802及び段階S2804で、ホストデバイス1000が周辺機器を検索した後、周辺機器の連結関係を定めると説明したが、これに制限されるものではない。ホストデバイス1000は、電力制御サービスに関するトポロジー形成基準を確認し、確認されたトポロジー形成基準に基づいて宅内のTV、照明及びエアコンを検索してもよい。
また、ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器及びホストデバイス1000の状況(電力制御サービスが選択された状況)に関する情報をサーバ4000に提供でき、サーバ4000が、TV、照明及びエアコンをトポロジーに含ませることを定めることもできる。この場合、ホストデバイス1000は、TV、照明及びエアコンの識別値及び連結関係に関する情報をサーバ4000から受信する。
段階S2806で、ホストデバイス1000は、照明及びエアコンとの連結のための連結情報をTVに提供する。また、段階S2808で、ホストデバイス1000はTVと連結される。
段階S2810で、TVは、受信された連結情報に基づいて照明と連結され、段階S2812で、TVは、受信された連結情報に基づいてエアコンと連結される。
段階S2814で、ホストデバイス1000は、連結された周辺機器を制御するためのアプリケーションを獲得する。ホストデバイス1000は、TV、照明及びエアコンの識別値をサーバ4000に提供し、サーバ4000から、TV、照明及びエアコンの制御に用いられるアプリケーションを獲得する。
段階S2816で、ホストデバイス1000は、照明を制御するためのアプリケーション及びエアコンを制御するためのアプリケーションをTVに提供する。
また、TVを制御するためのアプリケーションはホストデバイス1000に設けられ、照明を制御するためのアプリケーション及びエアコンを制御するためのアプリケーションはTVに設けられる。
段階S2818で、TVは、照明及びエアコンの状態をTVの画面に表示する。TVは、照明を制御するためのアプリケーション及びエアコンを制御するためのアプリケーションを用いて、TVの画面に照明及びエアコンの状態を表示する。
段階S2820で、ホストデバイス1000は、TVを制御するための制御命令をTVに提供する。ホストデバイス1000のユーザは、TVの画面に表示された照明及びエアコンの状態に基づいて、ホストデバイス1000から所定の制御命令をTVに伝送させる。また、TVを制御するための制御命令は、TVを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。また、TVは、ホストデバイス1000から受信された制御命令に基づいて、TVの動作を制御するか、または照明及びエアコンの動作を制御する。
段階S2822で、TVは、照明を制御するための制御命令を照明に提供する。TVは、ホストデバイス1000から受信された制御命令に基づいて、照明を制御するためのアプリケーションを用いて照明に制御命令を伝送する。また、照明を制御するための制御命令は、照明を制御するためのアプリケーションから獲得されるが、これに制限されるものではない。
段階S2824で、TVは、エアコンを制御するための制御命令をエアコンに提供する。TVは、ホストデバイス1000から受信された制御命令に基づいて、エアコンを制御するためのアプリケーションを用いて、照明に制御命令を伝送する。また、エアコンを制御するための制御命令は、エアコンを制御するためのアプリケーションから獲得されるが、これらに制限されるものではない。
段階S2826で、照明は、TVから受信された制御命令に基づいて電源がONまたはOFFする。
段階S2828で、エアコンは、TVから受信された制御命令に基づいて電源がONまたはOFFする。
図29は、本発明の一実施形態によるホストデバイス1000の料理サービスの実行中に、所定のトポロジーによって周辺機器がホストデバイス1000に連結されて制御される一例を示す図面である。
段階S2900で、ホストデバイス1000は、“料理サービス”を選択する。ホストデバイス1000の画面には、ユーザが用いられる多様な種類のサービスが表示され、ホストデバイス1000は、ユーザ入力に基づいて“料理サービス”を選択する。
段階S2902で、ホストデバイス1000は、電力制御のための周辺機器を検索する。ホストデバイス1000は、料理サービスに係る宅内の周辺機器として、例えば、タブレットPC、ガスレンジ及びオーブンを検索する。ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器から、料理サービスに係る周辺機器としてタブレットPC、ガスレンジ及びオーブンを選択するが、これらに制限されるものではない。
段階S2904で、ホストデバイス1000は、料理サービスに係るトポロジーを確認する。ホストデバイス1000は、料理サービスに係るトポロジー形成基準を確認し、ホストデバイス1000をタブレットPCに連結し、タブレットPCをガスレンジ及びオーブンに連結することを定める。
段階S2902及び段階S2904では、ホストデバイス1000が周辺機器を検索した後で周辺機器の連結関係を定めると説明したが、これに制限されるものではない。ホストデバイス1000は、料理サービスに関するトポロジー形成基準を確認し、確認されたトポロジー形成基準に基づいて宅内のタブレットPC、ガスレンジ及びオーブンを検索してもよい。
また、ホストデバイス1000は、宅内の多様な周辺機器を検索し、検索された周辺機器及びホストデバイス1000の状況(料理サービスが選択された状況)に関する情報をサーバ4000に提供でき、サーバ4000がタブレットPC、ガスレンジ及びオーブンをトポロジーに含ませることも定められる。この場合、ホストデバイス1000は、タブレットPC、ガスレンジ及びオーブンの識別値及び連結関係に関する情報をサーバ4000から受信する。
段階S2906で、ホストデバイス1000は、ガスレンジ及びオーブンとの連結のための連結情報をタブレットPCに提供する。また、段階S2908で、ホストデバイス1000は、タブレットPCと連結される。
段階S2910で、タブレットPCは、受信された連結情報に基づいてガスレンジと連結され、段階S2912で、タブレットPCは、受信された連結情報に基づいてオーブンと連結される。
段階S2914で、ホストデバイス1000は、連結された周辺機器を制御するためのアプリケーションを獲得する。ホストデバイス1000は、タブレットPC、ガスレンジ及びオーブンの識別値をサーバ4000に提供し、サーバ4000から、タブレットPC、ガスレンジ及びオーブンの制御に用いられるアプリケーションを獲得する。
段階S2916で、ホストデバイス1000は、ガスレンジを制御するためのアプリケーション及びオーブンを制御するためのアプリケーションをタブレットPCに提供する。
また、タブレットPCを制御するためのアプリケーションはホストデバイス1000に設けられ、ガスレンジを制御するためのアプリケーション及びオーブンを制御するためのアプリケーションはタブレットPCに設けられる。
段階S2918で、タブレットPCは、料理コンデンツを再生する。料理コンデンツは、ホストデバイス1000からタブレットPCに提供されるが、これに制限されるものではなく、サーバ4000からタブレットPCに提供されてもよい。また、料理コンデンツは、所定の食べ物を料理するための動画であるが、これに制限されるものではない。
また、タブレットPCは、ガスレンジ及びオーブンの状態をタブレットPCの画面に表示する。タブレットPCは、ガスレンジを制御するためのアプリケーション及びオーブンを制御するためのアプリケーションを用いて、タブレットPCの画面にガスレンジ及びオーブンの状態を表示する。
段階S2920で、ホストデバイス1000は、タブレットPCを制御するための制御命令をタブレットPCに提供する。ホストデバイス1000のユーザは、タブレットPCの画面に表示される料理コンデンツ、及びガスレンジ及びオーブンの状態に基づいて所定の料理を作るために、所定の制御命令がホストデバイス1000からタブレットPCに伝送されるようにする。また、タブレットPCを制御するための制御命令は、タブレットPCを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。また、タブレットPCは、ホストデバイス1000から受信された制御命令に基づいて、タブレットPCの動作を制御するとかガスレンジ及びオーブンの動作を制御する。
段階S2922で、タブレットPCは、ガスレンジを制御するための制御命令をガスレンジに提供する。タブレットPCは、ホストデバイス1000から受信された制御命令に基づいて、ガスレンジを制御するためのアプリケーションを用いてガスレンジに制御命令を伝送する。また、ガスレンジを制御するための制御命令は、ガスレンジを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。
段階S2924で、タブレットPCは、オーブンを制御するための制御命令をオーブンに提供する。タブレットPCは、ホストデバイス1000から受信された制御命令に基づいて、オーブンを制御するためのアプリケーションを用いて、照明に制御命令を伝送する。また、オーブンを制御するための制御命令は、オーブンを制御するためのアプリケーションから獲得されるが、これに制限されるものではない。
段階S2926で、ガスレンジは、タブレットPCから受信された制御命令によって動作する。
段階S2928で、オーブンは、タブレットPCから受信された制御命令によって動作する。
図30は、本発明の一実施形態によるホストデバイス1000で検索された周辺機器から、制御される周辺機器がユーザ入力によって選択される一例を示す図面である。
図30を参照すれば、ホストデバイス1000は周辺機器を検索し、検索された周辺機器のうち少なくとも一つを選択するための選択リストを画面に表示する。また、ホストデバイス1000は、ユーザの選択入力に基づいて、周辺機器のうち一部または全部を選択する。ホストデバイス1000は、ホストデバイス1000の状況及びトポロジー設定情報に基づいて周辺機器を検索するが、これに制限されるものではない。
図31は、本発明の一実施形態によるホストデバイス1000で行われるサービスがユーザ入力によって選択される一例を示す図面である。
図31を参照すれば、ホストデバイス1000は、ホストデバイス1000で提供されるサービスのリストを画面に表示する。また、ホストデバイス1000は、ユーザ入力に基づいて所定のサービスを選択する。ホストデバイス1000で選択されたサービスは、ホストデバイス1000と連結された周辺機器の決定に用いられる。
図32は、本発明の一実施形態によるホストデバイス1000で勧められたトポロジーのうち一つがユーザ入力によって選択される一例を示す図面である。
図32を参照すれば、ホストデバイス1000は、ホストデバイス1000の状況、検索された周辺機器及びトポロジー設定情報に基づいて、トポロジーをユーザに勧める。また、ホストデバイス1000は、トポロジーを形成する周辺機器との連結関係を示す絵をホストデバイス1000の画面に表示でき、ユーザの選択入力に基づいて所定のトポロジーを定める。
図33は、本発明の一実施形態によるホストデバイス1000に表示された周辺機器制御のためのユーザインターフェースの一例を示す図面である。
ホストデバイス1000はTVと連結され、TVは照明及びエアコンと連結された場合に、ホストデバイス1000の画面には、TV、照明及びエアコンを制御するためのUIが図33のように表示される。また、TV、照明及びエアコンを制御するためのUIは、TVを制御するための領域94、照明を制御するための領域92及びエアコンを制御するための領域90を含む。
また、ホストデバイスは、TVを制御するための領域94に表示されたボタンについてのユーザ入力に基づいて、TVの動作を制御するための制御命令をTVに伝送する。
また、ユーザが照明を制御するための領域92をタッチすれば、ホストデバイス1000は、TVが照明を制御するように、TVに所定の制御命令を伝送する。
また、ユーザがエアコンを制御するための領域90をタッチすれば、ホストデバイス1000は、TVがエアコンを制御するように、TVに所定の制御命令を伝送する。
図34Aないし図34Cは、本発明の一実施形態によるホストデバイス1000で、周辺機器制御のためのユーザインターフェースが生成される一例を示す図面である。
図34Aを参照すれば、ユーザは、検索された周辺機器を示す複数のアイコン10のうち一部を選択し、選択されたアイコンを所定の領域20に移動させる。所定の領域20に移動したアイコンに対応する周辺機器は、ホストデバイス1000と共にトポロジーを形成する。
また、図34Bのように、ユーザは選択された周辺機器の複数の機能のうち所定の機能を選択する。
また、図34Cのように、ユーザによって選択された周辺機器及び周辺機器の機能を含む制御UI(control UI)がホストデバイス1000の画面に表示される。
図35は、本発明の一実施形態によるホストデバイス1000のブロック図である。
移動通信部1001は、3G/4Gのようなセルラネットワークを通じて基地局との呼設定、データ通信などを行う。サブ通信部1002は、ブルートゥースやNFCなどの近距離通信のための機能を行う。放送受信部1003は、DMB放伝送号を受信する。
カメラ部1004は、写真や動画を撮影するためのレンズ及び光学素子を備える。
センサー部1005は、ホストデバイス1000の動きを感知する重力センサー、光の輝度を感知する照度センサー、人間の近接度を感知する近接センサー、人間の動きを感知するモーションセンサーなどを備える。
GPS受信部1006は、人工衛星からGPS信号を受信する。このようなGPS信号を用いて多様なサービスがユーザに提供される。
入出力部1010は、外部機器や人間とのインターフェースを提供し、ボタン1011、マイク1012、スピーカー1013、振動モータ1014、コネクタ1015、キーパッド1016を備える。
タッチスクリーン1018は、ユーザのタッチ入力を受信する。タッチスクリーンコントローラ1017は、タッチスクリーン1018を通じて入力されたタッチ入力を制御部1050に伝達する。電源供給部1019は、ホストデバイス1000に必要な電力を供給するために、バッテリーまたは外部電源ソースと連結される。
制御部1050は、メモリ1060に保存されたプログラムを実行することで、本発明によって無線LANリンクを形成する。
メモリ1060に保存されたプログラムは、その機能によって複数のモジュールに分類できるが、移動通信モジュール1061、ワイファイモジュール1062、ブルートゥースモジュール1063、DMBモジュール1064、カメラモジュール1065、センサーモジュール1066、GPSモジュール1067、動画再生モジュール1068、オーディオ再生モジュール1069、電源モジュール1070、タッチスクリーンモジュール1071、UIモジュール1072、アプリケーションモジュール1073などに分類される。図35には図示されていないが、メモリ1060は、BLEモジュール(図示せず)を含む各種通信モジュールをさらに備える。
各モジュールの機能は、その名称から当業者が直観的に推論できるため、ここではアプリケーションモジュール1073のみについて説明する。アプリケーションモジュール1073は、ホストデバイス1000が周辺の周辺機器とトポロジーを形成し、周辺機器を制御可能にする。
アプリケーションモジュール1073は、移動通信部1001及びサブ通信部1002うち少なくとも一つを用いて周辺機器を検索でき、検索された周辺機器から、トポロジーに含まれるメイン周辺機器2000及びサブ周辺機器3000を定める。アプリケーションモジュール1073は、メモリ1060に備えられた各種モジュールを用いてホストデバイス1000の状況を判断でき、ホストデバイス1000の状況に関する状況情報を生成する。また、アプリケーションモジュール1073は、ホストデバイス1000の状況によって、所定のトポロジー及びトポロジーに含まれる周辺機器を定める。
また、アプリケーションモジュール1073は、メイン周辺機器2000及びサブ周辺機器3000の連結情報を獲得でき、獲得された連結情報を用いて、ホストデバイス1000、メイン周辺機器2000及びサブ周辺機器3000を互いに連結させる。
また、アプリケーションモジュール1073は、メイン周辺機器2000を制御するためのアプリケーションをメイン周辺機器2000またはサーバ4000から獲得し、獲得されたアプリケーションを設ける。また、アプリケーションモジュール1073は、サブ周辺機器3000を制御するためのアプリケーションをサブ周辺機器3000またはサーバ4000から獲得し、獲得されたアプリケーションをメイン周辺機器2000に提供する。
また、アプリケーションモジュール1073は、メイン周辺機器2000を制御するためのアプリケーション及びサブ周辺機器3000を制御するためのアプリケーションを用いて、メイン周辺機器2000及びサブ周辺機器3000を制御する。
また、アプリケーションモジュール1073は、メモリ1060内の各種モジュールを用いてホストデバイス1000の状況が変更されたかどうかを判断し、変更された状況に関する状況情報を生成する。また、アプリケーションモジュール1073は、変更された状況に基づいてトポロジーを変更し、変更されたトポロジーによってホストデバイスと周辺機器を連結する。
前記ではアプリケーションモジュール1073の機能について概括的に説明したが、これに制限されるものではなく、アプリケーションモジュール1073の具体的な機能は、図3ないし図34によって類推される。
図36は、本発明の一実施形態によるメモリ1060に備えられたアプリケーションDB及び周辺機器DBの一例を示す図面である。
図36に図示されたように、メモリ1060内のアプリケーションモジュール1073は、アプリケーションDB及び周辺機器DBと連結される。
アプリケーションDBには、メイン周辺機器2000を制御するためのアプリケーション及びサブ周辺機器3000を制御するためのアプリケーションが保存される。また、メイン周辺機器2000を制御するためのアプリケーション及びサブ周辺機器3000を制御するためのアプリケーションのうち少なくとも一つは、トポロジーが形成される時に、メイン周辺機器2000、サブ周辺機器3000及びサーバ4000のうち少なくとも一つからホストデバイス1000に提供されるが、これに制限されるものではない。
また、アプリケーションモジュール1073は、メイン周辺機器2000を制御するためのアプリケーション及びサブ周辺機器3000を制御するためのアプリケーションを用いてメイン周辺機器2000及びサブ周辺機器3000を制御する。特に、アプリケーションモジュール1073は、サブ周辺機器3000を制御するためのアプリケーションをメイン周辺機器2000に提供し、メイン周辺機器2000は、アプリケーションモジュール1073からの制御命令によってサブ周辺機器3000を制御するためのアプリケーションを用いてサブ周辺機器3000を制御する。
図37は、本発明の一実施形態によるホストデバイス1000と周辺機器との間に制御命令及び状態情報が送受信される一例を示す図面である。
図37を参照すれば、ホストデバイス1000は、アプリケーション、アプセサリサービスフレームワーク、アプセサリプロトコルスタック/ライブラリー、及びネットワークモジュールを備える。アプセサリは、ホストデバイスに連結される周辺機器を意味する。また、周辺機器は、アプリケーション、アプセサリサービスフレームワーク、アプセサリプロトコルスタック/ライブラリー、及びネットワークモジュールを備える。ホストデバイスのアプリケーション及び周辺機器のアプリケーションは、本発明の一実施形態によるトポロジーの形成及び機器の制御に用いられるアプリケーションである。また、アプセサリサービスは、本発明の一実施形態によって提供されるトポロジーの形成サービス及び機器制御サービスである。また、アプセサリプロトコルは、本発明の一実施形態によって提供されるトポロジーの形成サービス及び機器制御サービスに用いられるプロトコルでありうる。
また、ホストデバイス1000に備えられたネットワークモジュール及び周辺機器に備えられたネットワークモジュールは、互いにデータを送受信でき、これを通じてホストデバイス1000で生成された制御命令が周辺機器に伝送され、周辺機器の状態に関する状態情報がホストデバイス1000に伝送される。
本発明の一実施形態は、コンピュータによって実行されるプログラムモジュールのようなコンピュータによって実行可能な命令語を含む記録媒体の形態でも具現される。コンピュータで読み取り可能な媒体は、コンピュータによってアクセスされる任意の可用媒体であり、揮発性及び不揮発性媒体、分離型及び非分離型媒体をいずれも含む。また、コンピュータで読み取り可能な媒体は、コンピュータ記録媒体及び通信媒体をいずれも含む。コンピュータ記録媒体は、コンピュータで読み取り可能な命令語、データ構造、プログラムモジュールまたはその他のデータのような情報の保存のための任意の方法または技術で具現された揮発性及び不揮発性、分離型及び非分離型媒体をいずれも含む。通信媒体は、典型的にコンピュータで読み取り可能な命令語、データ構造、プログラムモジュール、または搬送波のような変調されたデータ信号のその他のデータ、またはその他の伝送メカニズムを含み、任意の情報伝達媒体を含む。
前述した本発明の説明は、例示のためのものであり、当業者ならば、本発明の技術的思想や必須の特徴を変更せずに他の具体的な形態に容易に変形できるということを理解できるであろう。したがって、以上で述べた実施形態は、あらゆる面で例示的なものであり、限定的ではないと理解せねばならない。例えば、単一型に説明されている各構成要素は、分散して実施されてもよく、同様に、分散したと説明されている構成要素も結合された形態で実施される。
本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等な概念から導出されるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。