以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(分散配置されている複数の機器が備える機能を複合的に連携利用することにより通信システム全体で高機能な機器を実現する例)
2.第2の実施の形態(複数の機器により構成されるネットワークのエリアを拡張する例)
3.応用例
<1.第1の実施の形態>
[通信システムの構成例]
図1は、本技術の第1の実施の形態における通信システム10のシステム構成の一例を示す図である。
通信システム10は、ネットワーク11と、情報処理装置100、200、320とを備える。また、通信システム10は、検出装置301と、通信装置310と、入力装置302、311、313と、出力装置303、305、312、315、317、319と、記憶装置314と、処理装置316と、動力装置304、318とを備える。
また、ネットワーク11および情報処理装置320以外の各機器は、無線通信を利用して他の機器との間で各情報のやりとりを行うことが可能な無線通信機能を備えるものとする。
例えば、ネットワーク11および情報処理装置320以外の各機器は、無線LAN(Local Area Network)の通信方式により無線通信を行うことができる。また、ネットワーク11および情報処理装置320以外の各機器は、他の通信方式により無線通信を行うようにしてもよい。
このように、一定のエリア内に、各種の無線通信機器が分散配置されることにより通信システム10が構成される。なお、情報処理装置100は、ユーザ20が所持するものとする。また、情報処理装置100は、自装置の存在を示す信号(通知情報)を送信する機能を備える。
ここで、一定のエリアは、例えば、オフィス、住宅(庭を含む)、工場、空港、教育施設(学校)、文化施設、スポーツ施設、福祉施設、医療施設、集会場、空港、観光施設、商業施設、宿泊施設等の場所を意味するものとする。
このようなエリアには、各種の電子機器が多数配置されている。例えば、センサ類、テレビ、プロジェクタ、ハードディスクレコーダー、スピーカ、マイク、アクセスポイント、PC(Personal Computer)、ディスプレイ等の電子機器が配置されている。また、例えば、ゲーム機、ブルーレイプレーヤー、プリンタ、センサ付きライト、自動ドア、防犯装置、防災装置等の電子機器が配置されている。また、例えば、タブレット、スマートフォン、フォトフレーム、冷蔵庫、エアコン、空気清浄器、掃除機(例えば、自走式掃除機)、洗濯機、電子レンジ、トースター、換気扇、ラジオ等の電子機器が配置されている。これらの電子機器には、無線通信を利用して他の機器との間で各情報のやりとりを行うことが可能な無線通信機能を備えることができる。
また、図1では、各機器間で行われる無線通信の通信経路を直線の点線で示す。なお、各機器間で行われる無線通信は、例えば、周囲の電子機器と自律的に相互接続する通信方法により実現される。なお、周囲の電子機器は、例えば、近接する電子機器、隣接する電子機器である。
ここで、周囲の電子機器と自律的に相互接続する通信方法として、アドホック通信やアドホックネットワーク等が知られている。このようなネットワークにおいては、各電子機器は、マスタ局(例えば、制御装置)に依存することなく、周囲の電子機器と相互に通信を行うことが可能である。そこで、本技術の第1の実施の形態では、周囲の電子機器と自律的に相互接続する通信方法として、アドホックネットワークやメッシュネットワークを例にして説明する。
アドホックネットワークでは、周囲に新たな電子機器が追加されると、この新たな電子機器も自由にネットワークに参加することができる。このように、電子機器(周囲の電子機器)が増加するのに応じて、ネットワークのカバー範囲を増加させることができる。すなわち、電子機器が順次追加されるのに応じて、ネットワークのカバー範囲を増加させることができる。
ここで、ネットワーク11および情報処理装置320以外の各機器は、周囲に存在する他の機器と自律的に相互接続する以外に、他の機器間でやりとりされる情報をバケツリレー的に転送することも可能である。
例えば、電波が届かない等の理由により、情報処理装置200と直接通信することができない機器(例えば、出力装置319)が存在する場合を想定する。このように直接通信ができない場合でも、情報処理装置200との直接通信が可能な出力装置305が情報処理装置200のデータを、出力装置319に転送することが可能である。そこで、このようにデータを転送することにより、情報処理装置200と、情報処理装置200と直接通信することができない出力装置319とは、出力装置305を経由して、互いに情報のやり取りを行うことが可能となる。すなわち、情報処理装置200および出力装置319は、中継局(出力装置305)を介して通信することができる。
このように互いにデータ転送(いわゆる、バケツリレー)を行い、遠くの機器に情報を届ける方法は、マルチホップ・リレーと称されている。また、マルチホップを行うネットワークは、メッシュネットワークとして一般的に知られている。また、通信システム10は、複数の機器が1対1で無線通信を行うことにより複数の機器が相互に接続されるネットワークの一例である。
また、図1では、通信システム10を構成する各機器を機能的に、次の(1)乃至(6)の6種類の機器に分類して示す。
(1)自装置の存在を通知する機能
(2)検出機能
(3)入力機能
(4)出力機能(動力機能)
(5)処理機能
(6)記憶機能
通信システム10は、これらの6種類のうちの2種類以上を複合的に組み合わせることにより構成される。なお、これらの組み合わせ方は限定しない。
このように、通信システム10は、入出力、動力、処理、検知等の各種機能を備える無線通信機器が、アドホックネットワークやメッシュネットワークを構成するシステムである。
[情報処理装置の構成例]
図2は、本技術の第1の実施の形態における情報処理装置100の機能構成例を示すブロック図である。
情報処理装置100は、第1無線通信部110と、第2無線通信部120と、制御部130と、記憶部140とを備える。また、これらの各部は、バス150を介して接続される。情報処理装置100は、例えば、ユーザ20が持ち歩くことができる携帯型の情報処理装置(例えば、スマートフォン、タブレット端末、携帯電話)である。
第1無線通信部110は、アンテナ111を介して、電波の送受信を行うためのモジュール(例えば、無線LAN(Local Area Network)モデム)である。例えば、第1無線通信部110は、無線LANの通信方式により無線通信を行うことができる。
例えば、第1無線通信部110は、制御部130の制御に基づいて、他の機器と接続し、各情報のやりとりをその機器との間で無線通信を利用して行うことができる。また、例えば、第1無線通信部110は、制御部130の制御に基づいて、他の機器(第1機器)を経由してその機器(第1機器)以外の他の機器(第2機器)に各情報を転送することができる。
第2無線通信部120は、アンテナ121を介して、電波の送受信を行うためのモジュール(例えば、無線LAN以外のモデム)である。例えば、第2無線通信部120は、物理的に近くに存在する他の機器との間で無線通信を行うことが可能である。
例えば、第2無線通信部120は、zigbee、NFC(Near Field Communication)、BT(Bluetooth(登録商標))、BLE(Bluetooth Low Energy)により無線通信を行うことができる。また、例えば、第2無線通信部120は、他の通信方式(例えば、可視光通信)により無線通信を行うことができる。
例えば、第2無線通信部120は、制御部130の制御に基づいて、他の機器と接続し、各情報のやりとりをその機器との間で無線通信を利用して行うことができる。また、例えば、第2無線通信部120は、制御部130の制御に基づいて、他の機器(第1機器)を経由してその機器(第1機器)以外の他の機器(第2機器)に各情報を転送することができる。
また、第1無線通信部110および第2無線通信部120は、電波(電磁波)を用いた無線通信を行うようにしてもよく、電波以外の媒体を用いた無線通信(例えば、磁界を用いて行われる無線通信)を行うようにしてもよい。
また、第1無線通信部110および第2無線通信部120は、異なるデバイスとして構成するようにしてもよく、第1無線通信部110および第2無線通信部120を同一の物理デバイスで構成して実現するようにしてもよい。
なお、図2では、情報処理装置100が第1無線通信部110および第2無線通信部120を備える例を示すが、何れか一方のみを情報処理装置100に備えるようにしてもよい。
記憶部140は、各種情報を格納するメモリである。例えば、記憶部140には、情報処理装置100が所望の動作を行うために必要となる各種情報(例えば、制御プログラム)が格納される。また、記憶部140には、例えば、図3に示す通知情報管理テーブル160が格納される。
制御部130は、記憶部140に格納されている制御プログラムに基づいて情報処理装置100の各部を制御するものである。例えば、制御部130は、送受信した情報の信号処理を行う。また、制御部130は、CPU(Central Processing Unit)により実現される。
例えば、無線通信を利用して第1無線通信部110によりデータを送信する場合を想定する。この場合には、制御部130は、記憶部140から読み出された情報やI/O(Input/Output)インタフェース(図示せず)から入力された信号等を処理し、実際に送信するデータの塊(送信パケット)を生成する。続いて、制御部130は、その生成された送信パケットを第1無線通信部110に出力する。また、第1無線通信部110は、その送信パケットを、実際に伝送するための通信方式のフォーマット等に変換した後に、変換後の送信パケットをアンテナ111から外部に送信する。
また、例えば、無線通信を利用して第1無線通信部110によりデータを受信する場合には、第1無線通信部110は、アンテナ111を介して受信した電波信号を、第1無線通信部110内の受信機が行う信号処理により受信パケットを抽出する。そして、制御部130は、その抽出された受信パケットを解釈する。この解釈の結果、保持すべきデータであると判断された場合には、制御部130は、そのデータを記憶部140に書き込む。また、他の機器に転送すべきデータであると判断された場合には、制御部130は、他の機器に転送するための送信パケットとして、そのデータを第1無線通信部110に出力する。また、出力すべきデータであると判断された場合には、制御部130は、表示部(図示せず)への出力や、I/Oインタフェース(図示せず)から外部(例えば、音声出力部)への出力を行う。
ここで、情報処理装置100は、ユーザ20が存在する場所を通知するための単純な機能を備える必要があるが、他の機能については省略することができる。このため、例えば、情報処理装置100として、携帯型の情報処理装置(例えば、スマートフォン、タブレット端末、携帯電話)以外に、通知情報(図3に示す各情報)を送信することができる通信機能のみを備える簡易的な機器を用いるようにしてもよい。例えば、極低電力で近距離無線通信が可能な機器(例えば、BLEにより無線通信を行うことが可能な機器)を用いることができる。この場合には、例えば、ユーザ20が身に着けるもの(例えば、指輪、時計、ネックレス)にその機器を内蔵することができる。そして、その機器は、定期的、間欠的または不定期に、周囲に自装置の存在を通知するための情報(通知情報)を送信するようにする。
また、図2に示すように、情報処理装置100が複数の無線通信方式(第1無線通信部110および第2無線通信部120)に対応している場合には、通知情報を送信する際に、低パワーで動作可能な無線通信方式による送信処理を行うことが好ましい。例えば、第1無線通信部110が無線LANの通信方式により無線通信を行い、第2無線通信部120が無線LAN以外の無線通信方式(例えば、BLE)により無線通信を行う場合には、第2無線通信部120により通知情報を送信することが好ましい。ただし、第1無線通信部110により通知情報を送信するようにしてもよく、第1無線通信部110および第2無線通信部120を定期的または不定期に切り替えながら通知情報を送信するようにしてもよい。また、通知情報をビーコン(beacon)に含めて送信する場合には、通知情報を全てのビーコンに含めて送信するようにしてもよく、通知情報を定期的または不定期の間隔でビーコンに含めて送信するようにしてもよい。
[通知情報管理テーブルの管理内容例]
図3は、本技術の実施の形態における記憶部140に記憶されている通知情報管理テーブル160の管理内容の一例を模式的に示す図である。
通知情報管理テーブル160は、情報処理装置100が他の機器に通知する情報(通知情報)を管理するためのテーブルである。
通知情報管理テーブル160には、識別情報161と、機能情報162と、通知間隔163と、Capability164と、鍵情報165とが関連付けて格納される。
識別情報161は、情報処理装置100を識別するための識別情報(個識別ID(identification))である。この識別情報として、例えば、装置固有の識別情報(例えば、端末ID、MAC(Media Access Control)アドレス)や装置の種別を表す情報を用いることができる。また、例えば、MACアドレスおよびユーザが設定したIDの組み合わせを用いるようにしてもよい。また、例えば、情報処理装置100を所持するユーザを識別するためのユーザ識別情報を用いるようにしてもよい。
機能情報162は、情報処理装置100が備える機能に関する情報である。例えば、表示部(例えば、有機EL(Electro Luminescence)パネル、LCD(Liquid Crystal Display)パネル等の表示パネル)を備える場合には、表示機能を備える旨が格納される。また、例えば、印刷部(例えば、プリンタ)を備える場合には、印刷機能を備える旨が格納される。また、例えば、入力部(例えば、タッチパネル、キーボード、マウス、センサ等のユーザインタフェース)を備える場合には、入力機能を備える旨が格納される。例えば、機能の有無をフラグ化し、このフラグ化された情報(機能を有する場合には「1」、機能を有さない場合には「0」)により機能情報を管理することができる。
通知間隔163は、通知情報を送信する間隔である。例えば、通知情報を定期的に送信する場合には、その間隔(例えば、5秒)が格納される。また、例えば、通知情報を不定期に送信する場合には、その送信タイミング(例えば、移動距離が閾値を超えた場合)が格納される。
Capability164は、情報処理装置100がどのサービスに対応しているか、または、情報処理装置100を所持するユーザが所望するサービスである。例えば、情報処理装置100を所持するユーザがテレビを視聴したい場合には、テレビを視聴することを所望する旨(例えば、テレビを起動)が格納される。また、例えば、情報処理装置100を所持するユーザが録画したテレビ番組を視聴したい場合には、テレビ番組を視聴することを所望する旨(例えば、テレビ、レコーダを起動)が格納される。
鍵情報165は、特定の機器を使用する場合に用いる鍵に関する情報である。この特定の機器は、例えば、特定のユーザのみが使用可能な機器であり、例えば、セキュリティ機能を備え、特定の鍵情報を保持するユーザのみが使用することができる機器である。特定の機器は、例えば、ペアリングする相手機である。
ここで、情報処理装置100が他の機器に通知情報を送信する場合には、通知情報管理テーブル160のうちの少なくとも識別情報161および機能情報162を含めて送信するようにする。また、他の情報については、省略するようにしてもよい。
[情報処理装置の構成例]
図4は、本技術の第1の実施の形態における情報処理装置200の内部構成例を示すブロック図である。なお、他の機器(検出装置301、317、318、通信装置310、入力装置302、311、313、出力装置303、304、312、315、記憶装置314、処理装置316)の内部構成についても、情報処理装置200と略同一である。このため、ここでは、情報処理装置200についてのみ説明し、他の機器の説明の一部を省略する。
情報処理装置200は、第1無線通信部210と、第2無線通信部220と、制御部230と、記憶部240と、処理部250とを備える。また、これらの各部は、バス260を介して接続される。情報処理装置200は、例えば、パーソナルコンピュータやサーバである。
第1無線通信部210は、アンテナ211を介して、電波の送受信を行うためのモジュール(例えば、無線LANモデム)である。
第2無線通信部220は、アンテナ221を介して、電波の送受信を行うためのモジュール(例えば、無線LAN以外のモデム)である。
なお、第1無線通信部210および第2無線通信部220は、図2に示す第1無線通信部110および第2無線通信部120に対応する。このため、ここでの説明を省略する。
また、第1無線通信部210および第2無線通信部220は、電波(電磁波)を用いた無線通信を行うようにしてもよく、電波以外の媒体を用いた無線通信(例えば、磁界を用いて行われる無線通信)を行うようにしてもよい。
また、第1無線通信部210および第2無線通信部220は、異なるデバイスとして構成するようにしてもよく、第1無線通信部210および第2無線通信部220を同一の物理デバイスで構成して実現するようにしてもよい。
なお、図4では、情報処理装置200が第1無線通信部210および第2無線通信部220を備える例を示すが、何れか一方のみを情報処理装置200に備えるようにしてもよい。また、第1無線通信部210および第2無線通信部220のうちの少なくとも1つを外部装置とするようにしてもよい。
記憶部240は、各種情報を格納するメモリである。例えば、記憶部240には、情報処理装置200が所望の動作を行うために必要となる各種情報(例えば、制御プログラム)が格納される。また、記憶部240には、例えば、図5に示す処理管理テーブル270が格納される。
制御部230は、記憶部240に格納されている制御プログラムに基づいて情報処理装置200の各部を制御するものである。例えば、制御部230は、送受信した情報の信号処理を行う。また、制御部230は、CPUにより実現される。なお、データの送受信に関する各処理については、図2に示す制御部130の各処理と同様であるため、ここでの説明を省略する。
処理部250は、少なくとも1つの機能を実現するための各処理を行うものである。ここでは、各機器の処理部について説明する。
例えば、通信システム10を構成する各機器は、無線通信機能以外に、1つ以上の機能を備えるものとする。この機能は、上述した(1)乃至(6)の各機能である。
例えば、検出機能を備える機器(例えば、図1に示す検出装置301)は、検出機能(検知機能)を常に動作させ、情報処理装置100の通知情報(通知信号)を受信して検出する。そして、検出機能を備える機器は、情報処理装置100を検出した旨の情報(検出情報)を周囲に存在する他の機器に送信する。
また、例えば、入力機能を備える機器(例えば、図1に示す入力装置302、311、313)は、検出情報を受信したタイミングで自装置を起動し、入力情報(入力信号)の収集をする。また、入力機能を備える機器は、その検出情報を周囲に存在する他の機器に送信する(伝搬する)。また、入力機能を備える機器は、他の機器からの指示に基づいて、入力情報を収集する。なお、入力情報を収集するタイミングは、これらのうちの何れかでもよい。
また、出力機能を備える機器(例えば、図1に示す出力装置303、305、312、315、317、319)は、他の機器(例えば、情報処理装置200)からの指示に基づいて、情報を出力する。例えば、検出機能を備える機器からの検出情報に基づいて、規定の出力動作を行うようにしてもよい。また、例えば、入力機能を備える機器からの入力情報に基づいて、規定の出力動作を行うようにしてもよい。
また、動力機能を備える機器(例えば、図1に示す動力装置304、318)は、他の機器(例えば、情報処理装置200)からの指示に基づいて、所定の動作を行う。例えば、検出機能を備える機器からの検出情報に基づいて、規定の動作を行うようにしてもよい。また、例えば、入力機能を備える機器からの入力情報に基づいて、規定の動作を行うようにしてもよい。
また、処理機能を備える機器(例えば、情報処理装置200)は、入力機能を備える機器からの情報を収集し、過去の情報を考慮して、コンテキスト(コンテクスト)を解析し、次の処理を決定する。そして、処理機能を備える機器は、その決定された次の処理の出力先に指示情報を送信する。また、入力機能を備える機器にフィードバックする情報が存在する場合には、その情報を取得して用いる。また、例えば、処理機能を備える機器は、各機器に記憶されている処理管理テーブル270(図5に示す)の情報に更新すべき内容が存在する場合には、その内容を更新するための更新情報を送信する。また、例えば、処理機能を備える機器は、出力機能を備える機器の出力結果やユーザからのフィードバックを収集し、次の処理を判断する。また、例えば、処理機能を備える機器は、次回のコンテキスト解析時に必要な情報のアップデートを行う。なお、処理機能を備える機器として、比較的低い機能(例えば、指示された内容を処理するのみの機能、規定の処理を行うのみの機能)を備える機器を用いるようにしてもよい。また、処理部250が実行する処理のうちの少なくとも一部を制御部230に実行させるようにしてもよい。
[各機器の起動例]
ここで、各機器を起動させる場合の例を示す。例えば、検出機能を備える機器は、low powerで常時機能している。そして、検出機能を備える機器は、通知情報を検出した場合には、その検出した旨を通知するための情報であって、周囲に存在する他の機器を起動させるための情報(検出情報)を送信する。
また、検出機能を備える機器から検出情報が直接届かない機器の場合には、各機器が他の機器に検出情報をリレーすることにより通知することができる。
また、処理機能を備える機器が、過去の学習やコンテキスト解析から予測して、必要な機能を備える機器に起動を指示する指示情報を送信するようにしてもよい。
また、通知情報を直接検出することが可能な機器の場合には、通知情報を受信した場合に起動するようにしてもよい。
[各機器の起動終了例]
次に、各機器の起動を終了する場合の例を示す。例えば、通知情報を直接検出することが可能な機器の場合には、その通知情報を受信しなくなり、行うべきタスクが終了したタイミングで起動を終了することができる。
また、通知情報を直接検出することができない機器の場合には、行うべきタスクが終了したタイミングで起動待機状態へ戻るようにする。または、行うべきタスクが終了した後、ある一定時間が経過したタイミングで起動待機状態へ戻すようにしてもよい。または、処理機能を備える機器からの指示に基づいて、起動状態へ遷移するようにしてもよい。
[処理管理テーブルの管理内容例]
図5は、本技術の実施の形態における記憶部240に記憶されている処理管理テーブル270の管理内容の一例を模式的に示す図である。
処理管理テーブル270は、情報処理装置200が各処理を行う際に用いられるテーブルである。
処理管理テーブル270には、位置情報271と、機能情報272と、イベント種別273と、通知先274と、処理内容275とが関連付けて格納される。
位置情報271は、情報処理装置200が存在する位置(場所)に関する情報である。例えば、情報処理装置200が位置情報を取得する位置情報取得部(例えば、GPS、外部からの情報に基づく位置推定)を備える場合には、その取得された位置情報が格納される。また、例えば、ユーザによる手動操作により位置情報を格納するようにしてもよい。また、位置情報として、絶対的な位置情報(例えば、緯度、経度、高度)を格納するようにしてもよく、他の位置情報(例えば、家の中における部屋を特定する情報(例えば、リビング))を格納するようにしてもよい。
ここで、通信システム10を構成する各機器が位置情報を取得する取得方法について説明する。例えば、既に存在するメッシュネットワークに新たに追加される機器(追加機器)が位置情報を取得する場合には、その追加機器は、周辺に存在する機器との間でフレームの送受信を行う。そして、その追加機器は、その送受信より受信信号強度やRTT(Round Trip Time)を測定し、この測定結果に基づいて、周囲に存在する他の機器との距離を推定することができる。
また、その追加機器は、場所が既知の機器(例えば、プリンタ等の固定型の機器)から、その既知の機器に関する位置情報を取得し、この位置情報を参照することにより、自装置の位置情報を推定することができる。例えば、追加機器から最も近い位置に存在する機器から取得された位置情報と、その機器からの推定距離とに基づいて、自装置の位置を推定することができる。
なお、このように取得された位置情報については、随時更新することが好ましい。例えば、機器の起動時、または、機器の終了時等に、直前に周囲に存在する他の機器との間でやりとりしたフレームの受信信号強度を測定し、この測定結果に基づいて位置情報を更新するようにしてもよい。
また、移動可能な機器(例えば、情報処理装置100)を利用して位置情報を取得するようにしてもよい。例えば、移動可能な機器が、通信システム10の範囲内を移動しながら、他の機器との間でフレームの送受信を行い、その送受信により受信信号強度やRTTを測定する。そして、その移動可能な機器は、その測定結果と自装置に関する位置情報(例えば、絶対位置、移動距離、移動方向)とに基づいて、他の機器との距離を推定し、各機器に関する位置情報リストを作成する。このように作成された位置情報リスト(最終結果)を、各機器に送信してフィードバックし、各機器の記憶部の処理管理テーブルに格納するようにしてもよい。
また、位置情報リストの更新は、その移動可能な機器が移動するタイミングで行うことにより、最新の情報に更新することができる。また、例えば、その測定や更新を繰り返し行うことにより、学習するようにしてもよい。
機能情報272は、情報処理装置200が備える機能に関する情報である。なお、機能情報272は、図3に示す機能情報162に対応する。
イベント種別273は、イベントの種別である。ここで、イベントは、例えば、通信システム10を構成する各機器により検出された内容や各機器により処理された内容である。例えば、検出装置301により情報処理装置100の存在が検出された場合を、1つのイベントとすることができる。また、例えば、入力装置313により所定の入力がされた場合を、1つのイベントとすることができる。すなわち、通信システム10を構成する各機器により発生するイベントの種別が格納される。
通知先274は、イベント種別273に格納されているイベントが発生した場合に、そのイベントが発生した旨を通知する機器に関する情報(通知先情報)である。例えば、通知先の機器の識別情報(例えば、装置固有の識別情報(例えば、端末ID、MACアドレス)や装置の種別を表す情報)が格納される。この通知先として、例えば、1つの機器を格納するようにしてもよく、複数の機器を格納するようにしてもよい。また、通知先274に複数の機器が登録されている場合には、それらの複数の機器に同時に通知するようにしてもよく、順次通知するようにしてもよい。例えば、それらの複数の機器に、マルチキャスト送信により同時に通知するようにしてもよく、ユニキャスト送信により順次送信するようにしてもよい。
また、例えば、イベント種別273に格納されているイベントが発生した場合に、自装置のみがそのイベントに応じた処理を行うことも想定される。この場合には、通知先274に自装置の識別情報が格納するようにしてもよく、通知先274には何も格納しないようにしてもよい。
処理内容275は、イベント種別273に格納されているイベントが発生した場合に、そのイベントに応じて行う処理の内容である。例えば、図3に示すCapability164に「テレビを起動」が格納されている情報処理装置の存在が検出された場合には、そのテレビの表示部に映像を表示させ、音声出力部から音声を出力させるための処理が格納される。
ここで、処理管理テーブル270に格納されている情報については、制御部230により追加、更新、削除等が随時行われる。例えば、各機能のイベントが発生する毎に、制御部230は、そのイベントに応じた処理内容に基づいて、そのイベントに対応する情報の削除、追記、更新等を行う。この場合に、例えば、制御部230は、学習機能により、イベントに対応する情報の削除、追記、更新等を行うようにしてもよい。
また、他の機器は、情報処理装置200からの指示情報に基づいて、自装置の処理管理テーブルの削除、追記、更新を行うことができる。または、自装置で定期的に行うようにしてもよい。このように、各機器が、処理管理テーブルを保持することにより、次にイベントが起きたときの各機器の処理を迅速に決定することができる。
なお、図5では、処理管理テーブル270にイベント種別273および通知先274を格納する例を示すが、これらの各情報については、省略するようにしてもよい。このように省略する場合には、例えば、処理内容に応じて通知先を適宜決定することができる。
[通信例]
図6および図7は、本技術の第1の実施の形態における通信システム10を構成する各機器間における通信処理例を示すシーケンスチャートである。なお、図6および図7では、各機器が、図1に示すトポロジで存在している場合における通信処理例を示す。
最初に、ユーザ20が所持している(または、身に着けている)情報処理装置100は、定期的(または、間欠的、不定期)に通知情報を送信する(401)。例えば、ユーザ20が検出装置301の近くに移動した場合には、検出装置301は、情報処理装置100から送信された通知情報を受信する(402)。これにより、検出装置301は、情報処理装置100(ユーザ20)が近くに存在することを検出することができる。
続いて、検出装置301は、周囲に存在する他の機器に、情報処理装置100を検出した旨を通知し、起動をさせるための情報(検出情報)を送信する(403、404)。例えば、検出装置301は、入力装置302に検出情報を送信する(403、404)。なお、図6では、説明の容易のため、検出装置301は、入力装置302のみに検出情報を送信する例を示すが、検出装置301は、周囲に存在する他の機器にも検出情報を送信するものとする。
検出情報を受信した場合には(404)、入力装置302は、その検出情報を周囲に存在する他の機器に送信する(405、406)。例えば、入力装置302は、その検出情報を近くに存在する出力装置303に送信する(405、406)。なお、図6では、説明の容易のため、入力装置302は、出力装置303のみに検出情報を送信する例を示すが、周囲に存在する他の機器にも検出情報を送信するものとする。
また、検出情報を受信した入力装置302は、入力機能を動作させるための起動処理を行う(407)。また、検出情報を受信した出力装置303は、出力機能を動作させるための起動処理を行う(408)。
続いて、入力装置302は、入力情報の取得処理を行う(409)。すなわち、情報を収集するための処理が行われる。例えば、入力装置302が撮像装置である場合には、被写体(例えば、人物の顔)を撮像して画像情報(入力情報)を生成する(409)。この場合に、入力装置302が顔認識機能を備える場合には、入力装置302は、生成された画像情報に基づいて、顔認識処理を行い、この認識結果を入力情報としてもよい。また、例えば、入力装置302が操作受付機器である場合には、ユーザによる操作に関する情報を入力情報として取得する(409)。
続いて、入力装置302は、その取得された入力情報を周囲に存在する他の機器に送信する(410、411)。なお、図6では、説明の容易のため、入力装置302は、出力装置303のみに入力情報を送信する例を示すが、必要に応じて、周囲に存在する他の機器にも入力情報を送信するものとする。
入力情報を受信した場合には(411)、出力装置303は、その入力情報を周囲に存在する他の機器に送信する(412、413)。なお、図6では、説明の容易のため、出力装置303は、出力装置305のみに検出情報を送信する例を示すが、必要に応じて、周囲に存在する他の機器にも検出情報を送信するものとする。
また、出力装置303は、受信した検出情報に基づく動作を実行する(414)。例えば、検出情報に基づく動作が、入力装置302により取得された入力情報を出力する動作である場合には、出力装置303は、入力装置302から送信された入力情報を出力する動作を実行する(414)。なお、図6では、説明の容易のため、図示を省略するが、受信した検出情報に基づく動作を実行した後に(414)、その動作の実行結果を周囲に存在する他の機器に送信するようにしてもよい。
入力情報を受信した場合には(413)、出力装置305は、その入力情報を周囲に存在する他の機器に送信する(415、416)。例えば、出力装置305は、その入力情報を近くに存在する情報処理装置200に送信する(415、416)。なお、図6では、出力装置305は、情報処理装置200のみに入力情報を送信する例を示すが、周囲に存在する他の機器にも入力情報を送信するようにしてもよい。
また、入力情報を受信した出力装置305は、出力機能を動作させるための起動処理を行う(417)。
また、入力情報を受信した情報処理装置200は、コンテキスト解析処理を実行するための起動処理を行う(418)。続いて、情報処理装置200は、その入力情報についてコンテキスト解析処理を行う(419)。
続いて、情報処理装置200は、そのコンテキスト解析処理の結果を実現するための指示情報を、その指示を実行させる機器に送信する(420乃至423)。この場合に、情報処理装置200が直接送信することができない機器については、他の機器を経由して送信するようにする。
指示情報を受信した動力装置304は、その指示情報に基づく処理を実行するための起動処理を行う(424)。続いて、動力装置304は、受信した指示情報に基づく処理を実行する(425)。例えば、動力装置304が扉である場合には、受信した指示情報に基づいて、扉の開閉を行う。
続いて、動力装置304は、その出力処理の実行結果を情報処理装置200に送信する(426乃至429)。例えば、その出力処理が終了したタイミングでその出力処理の実行結果を送信するようにしてもよく、その出力処理の実行中に、定期的または不定期にその出力処理の実行結果を送信するようにしてもよい。
また、出力装置305は、その出力処理の実行結果を受信した場合には(427)、その出力処理の実行結果を情報処理装置200に送信するとともに(428、429)、その出力処理の実行結果に基づく動作を実行する(430)。
また、入力装置302は、新たな入力情報を取得した場合には、その新たな入力情報を情報処理装置100に送信する(431、432)。
また、情報処理装置200は、新たに受信した各情報に基づいて、他の機器の処理管理テーブル(図5に示す処理管理テーブル270に相当)を更新するか否かを決定する決定処理を行う(433)。そして、情報処理装置200は、処理管理テーブルを更新すると決定した機器に対して、処理管理テーブルを更新するための更新情報を送信する(434乃至437、439、440)。
また、更新情報を受信した機器は、受信した更新情報に基づいて、自装置の処理管理テーブルを更新する(438、441)。
[各機器の動作例]
次に、通信システム10を構成する各機器の動作例について説明する。
[ユーザが所持する情報処理装置の動作例]
図8は、本技術の第1の実施の形態における情報処理装置100による通知情報送信処理の処理手順の一例を示すフローチャートである。
情報処理装置100の制御部130は、通知情報を送信するタイミングとなったか否かを判断する(ステップS801)。制御部130は、例えば、図3に示す通知間隔163の内容に基づいて、通知情報を送信するタイミングとなったか否かを判断する(ステップS801)。そして、通知情報を送信するタイミングとなっていない場合には(ステップS801)、監視を継続して行う。
通知情報を送信するタイミングとなった場合には(ステップS801)、制御部130は、通知情報を周囲に存在する他の機器に送信する(ステップS802)。例えば、制御部130は、図3に示す通知情報管理テーブル160の各情報をビーコンに含めて送信する(ステップS802)。
[検出装置の動作例]
図9は、本技術の第1の実施の形態における検出装置301による機器検出処理の処理手順の一例を示すフローチャートである。なお、図9では、検出装置301の動作例を示すが、他の検出装置の動作についても同様である。
検出装置301の制御部(図4に示す制御部230に相当)は、通知情報を検出したか否かを判断する(ステップS805)。検出装置301の制御部は、例えば、図3に示す通知情報管理テーブル160の各情報を含むビーコンを受信したか否かを判断する(ステップS805)。そして、通知情報を検出していない場合には(ステップS805)、監視を継続して行う。なお、機器検出機能を備える検出装置は、その機器検出機能を常に起動させ、通知情報を監視することが好ましい。
通知情報を検出した場合には(ステップS805)、検出装置301の制御部は、通知情報を検出した旨を示す検出情報を周囲に存在する他の機器に送信する(ステップS806)。例えば、検出装置301の制御部は、検出した通知情報に含まれる各情報(例えば、図3に示す通知情報管理テーブル160の各情報)を検出情報に含めて送信する(ステップS806)。
ここで、検出装置301の制御部が、通知情報の内容を把握することができる場合には、その内容に応じて検出情報の送信先を決定するようにしてもよい。例えば、検出装置301の制御部は、図3に示すCapability164の内容に対応するサービスを提供することが可能な機器、または、その機器まで情報を送信するための中継機に検出情報を送信することができる。
[入力装置の動作例]
図10は、本技術の第1の実施の形態における入力装置302による情報入力処理の処理手順の一例を示すフローチャートである。なお、図10では、入力装置302の動作例を示すが、他の入力装置の動作についても同様である。
入力装置302の制御部(図4に示す制御部230に相当)は、検出情報を受信したか否かを判断する(ステップS811)。そして、検出情報を受信していない場合には(ステップS811)、監視を継続して行う。
検出情報を検出した場合には(ステップS811)、入力装置302の制御部は、その検出情報を周囲に存在する他の機器に送信する(ステップS812)。
また、図9に示す例と同様に、入力装置302の制御部が、検出情報の内容を把握することができる場合には、その内容に応じて検出情報の送信先を決定するようにしてもよい。
続いて、入力装置302の制御部は、入力機能を動作させるための起動確認処理を行う(ステップS813)。この起動確認処理では、入力装置302が起動中であるか否かを確認し、入力装置302が起動中でなければ、入力装置302を起動させ、入力装置302が起動中であれば、起動処理を行わず、ステップS814に進む。続いて、入力装置302の制御部は、入力情報の取得処理を行う(ステップS814)。
続いて、入力装置302の制御部は、その取得された入力情報を周囲に存在する他の機器に送信する(ステップS815)。ここで、検出情報の送信処理と同様に、入力装置302の制御部が、検出情報の内容を把握することができる場合には、その内容に応じて入力情報の送信先を決定するようにしてもよい。
続いて、入力装置302の制御部は、新たな入力情報を取得したか否かを判断する(ステップS816)。そして、新たな入力情報を取得した場合には(ステップS816)、入力装置302の制御部は、その新たに取得された入力情報を周囲に存在する他の機器に送信する(ステップS815)。
また、新たな入力情報を取得していない場合には(ステップS816)、入力装置302の制御部は、情報処理装置200から更新情報を受信したか否かを判断する(ステップS817)。そして、更新情報を受信していない場合には(ステップS817)、情報入力処理の動作を終了する。
情報処理装置200から更新情報を受信した場合には(ステップS817)、入力装置302の制御部は、その更新情報に基づいて、処理管理テーブル(図5に示す処理管理テーブル270に相当)の内容を更新する更新処理を行う(ステップS818)。
なお、新たな入力情報の取得、または、検出情報の受信が一定期間以上ないことを条件に、待機状態に遷移して情報入力処理の動作を終了するようにしてもよい。
[出力装置の動作例]
図11は、本技術の第1の実施の形態における出力装置303による情報出力処理の処理手順の一例を示すフローチャートである。なお、図11では、出力装置303の動作例を示すが、他の出力装置の動作についても同様である。
出力装置303の制御部(図4に示す制御部230に相当)は、検出情報を受信したか否かを判断する(ステップS821)。そして、検出情報を受信していない場合には(ステップS821)、監視を継続して行う。
検出情報を検出した場合には(ステップS821)、出力装置303の制御部は、出力機能を動作させるための起動確認処理を行う(ステップS822)。この起動確認処理では、出力装置303が起動中であるか否かを確認し、出力装置303が起動中でなければ、出力装置303を起動させ、出力装置303が起動中であれば、起動処理を行わず、ステップS823に進む。続いて、出力装置303の制御部は、受信した検出情報に基づく動作を実行する(ステップS823)。
ここで、出力装置303の制御部が、検出情報の内容を把握することができない場合も想定される。この場合には、出力装置303の制御部は、情報処理装置200からの指示情報に基づいて、動作を実行するようにする。
なお、図11では、図示を省略するが、検出情報を検出した場合には(ステップS821)、出力装置303の制御部は、その検出情報を周囲に存在する他の機器に送信するようにしてもよい。
続いて、出力装置303の制御部は、その動作の実行結果を周囲に存在する他の機器に送信する(ステップS824)。ここで、出力装置303の制御部は、情報処理装置200のみに実行結果を送信するようにしてもよい。
続いて、出力装置303の制御部は、情報処理装置200から更新情報を受信したか否かを判断する(ステップS825)。そして、更新情報を受信していない場合には(ステップS825)、情報出力処理の動作を終了する。
情報処理装置200から更新情報を受信した場合には(ステップS825)、出力装置303の制御部は、その更新情報に基づいて、処理管理テーブル(図5に示す処理管理テーブル270に相当)の内容を更新する更新処理を行う(ステップS826)。
なお、新たな検出情報を受信し、かつ、その検出情報の内容が所定条件(例えば、他の出力機能を使用する内容)を満たす場合に、待機状態に遷移して情報出力処理の動作を終了するようにしてもよい。
[情報処理装置の動作例]
図12は、本技術の第1の実施の形態における情報処理装置200によるコンテキスト解析処理の処理手順の一例を示すフローチャートである。
情報処理装置200の制御部230(図4に示す)は、検出情報または入力情報を受信したか否かを判断する(ステップS831)。そして、検出情報および入力情報の何れも受信していない場合には(ステップS831)、監視を継続して行う。
検出情報または入力情報を受信した場合には(ステップS831)、制御部230は、コンテキスト解析処理を実行するための起動確認処理を行う(ステップS832)。この起動確認処理では、情報処理装置200が起動中であるか否かを確認し、情報処理装置200が起動中でなければ、情報処理装置200を起動させ、情報処理装置200が起動中であれば、起動処理を行わず、ステップS833に進む。続いて、制御部230は、受信した情報に基づいて、コンテキスト解析処理を行う(ステップS833)。続いて、制御部230は、そのコンテキスト解析処理の結果を実現するための指示情報を、その指示を実行させる機器に送信する(ステップS834)。
例えば、制御部230は、検出情報を受信した場合には、その検出情報に含まれるCapability164(図3に示す)に対応するイベントを、処理管理テーブル270のイベント種別273(図5に示す)から抽出する。続いて、制御部230は、その検出情報に含まれるCapability164に対応するイベントがイベント種別273から抽出された場合には、抽出されたイベントに対応する通知先274、処理内容275(図5に示す)の内容を取得する(ステップS833)。
続いて、制御部230は、その取得された通知先274に格納されている機器に、処理内容275に格納されている処理を実行することを指示する指示情報を送信する(ステップS834)。
なお、制御部230は、その検出情報に含まれるCapability164に対応するイベントがイベント種別273に存在しない場合には、受信した検出情報に応じた処理を行う必要がないと判断する。この場合には、指示情報を送信せずに、コンテキスト解析処理の動作を終了する。
また、例えば、制御部230は、入力情報を受信した場合には、その入力情報に対応するイベントを、処理管理テーブル270のイベント種別273(図5に示す)から抽出する。続いて、制御部230は、その入力情報に対応するイベントがイベント種別273から抽出された場合には、抽出されたイベントに対応する通知先274、処理内容275(図5に示す)の内容を取得する(ステップS833)。なお、ステップS833は、特許請求の範囲に記載の所定処理を実行させる機器を決定する手順の一例である。
なお、制御部230は、受信した検出情報や入力情報とともに、過去の情報(コンテキスト解析処理の結果)を考慮して指示情報を送信するようにしてもよい。また、例えば、抽出されたイベントに対応する通知先274に複数の機器が格納されている場合には、その複数の機器に指示情報を送信する。
続いて、制御部230は、新たな情報(例えば、検出情報、入力情報、実行結果)を受信したか否かを判断する(ステップS835)。そして、新たな情報を受信した場合には(ステップS835)、ステップS833に戻る。
また、新たな情報を受信していない場合には(ステップS835)、制御部230は、指示情報を送信した機器の処理管理テーブルの更新が必要か否かを判断する(ステップS836)。そして、更新が必要であると判断した場合には(ステップS836)、制御部230は、指示情報を送信した機器の処理管理テーブルの更新をするための更新情報を生成する(ステップS837)。続いて、制御部230は、その生成された更新情報を、指示情報を送信した機器に送信する(ステップS838)。
このように、制御部230は、複数の機器が相互に接続されるネットワークにおける各機器が備える機能と、各機器が存在する位置とに基づいて、複数の機器のうちから所定処理を実行させる機器(例えば、出力対象となる情報の出力先)を決定することができる。例えば、制御部230は、ユーザが所持する機器(情報処理装置100)が検出された位置に基づいて、出力先(例えば、音楽コンテンツの出力先)を決定することができる。また、例えば、制御部230は、ユーザにより入力された入力情報に基づいて、所定処理の内容と、所定処理を実行させる機器とを決定することができる。例えば、制御部230は、ユーザにより入力された入力情報(例えば、株価が見たい)に基づいて、出力対象となる情報の内容(例えば、株価情報)と、その出力先(例えば、PCのモニタ)とを決定することができる。また、制御部230は、その決定された機器に所定情報を実行させるための制御(例えば、指示情報の送信)を行う。
[通信システムの使用例]
図13は、本技術の第1の実施の形態における通信システム30の使用例を示す図である。なお、通信システム30は、図1に示す通信システム10において、センサ501、505、506、ライト502、TV503、ゲーム機504を追加したものである。このため、ここでの各機器の詳細な説明を省略する。
また、通信システム30は、家庭内の統合システムの機器連携の使用例として把握することができる。例えば、家庭内において、通信システム30を構成する各機器が各部屋や場所に分散配置され、メッシュネットワークが構成されているものとする。
ここで、各機器の具体例について説明する。
情報処理装置100は、ユーザ20が身に着けている機器である。
検出装置301は、例えば、家の玄関の外側に設置され、近づく人を検出する人感センサである。この人感センサは、例えば、低パワーで常に動作することが可能な機器である。
入力装置302は、例えば、家の玄関の外側に設置され、撮像範囲に含まれる被写体を撮像して画像データを生成する防犯カメラである。また、入力装置311は、例えば、第1居室に設置されているマイクである。また、入力装置313は、例えば、家の玄関の外側に設置され、周囲の音を取得して音声データを生成するマイクである。
出力装置303は、例えば、家の玄関内に設置されているディスプレイ(例えば、防犯カメラのモニタ用のディスプレイ)である。また、出力装置305は、例えば、家の第1居室内に設置されているディスプレイ(例えば、テレビジョン)である。また、出力装置312は、例えば、第1居室に設置されているオーディオ機器である。また、出力装置315は、例えば、プロジェクタである。また、出力装置317は、例えば、家の玄関内に設置されているライトである。また、出力装置319は、例えば、スピーカーである。
情報処理装置200は、例えば、第2居室に設置されているPCである。また、情報処理装置320は、例えば、クラウドコンピューティングやクラウドシステムを実現するためのクラウドサーバである。
通信装置310は、例えば、ネットワーク11を介して情報処理装置320と接続するためのアクセスポイントである。
TV503は、例えば、居間に設置されているテレビジョンである。また、ゲーム機504は、ゲーム機である。また、記憶装置314は、例えば、居間に設置されているHDD(Hard disk drive)レコーダである。
動力装置304は、例えば、扉の開閉を行うアクチュエータ(扉の鍵を含む)である。また、動力装置318は、例えば、ライトの点灯を制御する電灯スイッチである。
センサ501、505、506は、例えば、BLE機器である。また、センサ501は、第1居室の近くに設置されている。センサ506は、第1居室の廊下の近くに設置されている。
ここで、図6および図7を参照して、情報処理装置100を所持するユーザ20が帰宅した際における通信例について説明する。
例えば、ユーザ20が所持する情報処理装置100は、定期的または不定期に、通知情報(例えば、図3に示す各情報を含むフレーム)を周囲に存在する他の機器に送信する(401)。
例えば、ユーザ20が家の玄関に近づくと、情報処理装置100から送信された通知情報を、家の玄関の外側に設置されている検出装置301(人感センサ)が受信する(402)。すなわち、検出装置301(人感センサ)が、情報処理装置100を検出する。
このように、通知情報を受信した場合には(402)、検出装置301(人感センサ)は、情報処理装置100を検出した旨を通知し、起動をさせるための情報(検出情報)を、周囲に存在する他の機器に送信する(403乃至406)。この場合に、検出装置301(人感センサ)は、周囲に存在する機器の全て、または、その一部(例えば、図5に示す通知先274に格納されている機器)に検出情報を送信する(403乃至406)。
例えば、検出装置301(人感センサ)は、家の玄関の外側に設置されている入力装置302(防犯カメラ)および入力装置313(マイク)に検出情報を送信する。また、例えば、検出装置301(人感センサ)は、家の玄関内に設置されている出力装置303(ディスプレイ)および出力装置317(ライト)に検出情報を送信する。なお、図6では、これらのうちの一部の図示を省略する。
例えば、検出装置301(人感センサ)から検出情報を受信した入力装置302(防犯カメラ)は、その検出情報を出力装置303(ディスプレイ)に送信し(405、406)、起動処理を行う(407)。続いて、入力装置302(防犯カメラ)は、家の玄関の外側にいる人間を撮像して画像データを生成する(409)。続いて、入力装置302(防犯カメラ)は、その生成された画像データ(入力情報)を情報処理装置200に送信する(410乃至413、415、416)。この場合に、入力装置302(防犯カメラ)は、その生成された画像データとともに、受信した検出情報に含まれる各情報を情報処理装置200に送信する(410乃至413、415、416)。
また、入力装置302(防犯カメラ)から画像データ(入力情報)を受信した出力装置303(ディスプレイ)は、その画像データを情報処理装置200に送信し(412、413、415、416)、その画像データを表示する(414)。これにより、入力装置302(防犯カメラ)により撮影された画像が出力装置303(ディスプレイ)に表示される。このため、例えば、家の玄関内に存在する人物が、家の玄関に近づいた人物を確認することができる。
また、入力装置302(防犯カメラ)から画像データ(入力情報)を受信した出力装置305(ディスプレイ)は、その画像データを情報処理装置200に送信し(415、416)、起動処理を行う(417)。
また、入力装置302(防犯カメラ)から画像データ(入力情報)を受信した情報処理装置200(PC)は、起動処理を行う(418)。そして、情報処理装置200(PC)は、画像データ(入力情報)と検出情報とこれらの送信機器とに基づいてコンテキスト解析処理を行う(419)。
例えば、情報処理装置200(PC)は、検出装置301(人感センサ)により通知情報が検出されているため、家族の帰宅または来客であると判断する。そこで、情報処理装置200(PC)は、受信した画像データ(入力情報)に基づいて、認証処理を行う。例えば、情報処理装置200(PC)は、受信した画像データ(入力情報)に基づいて生体認証(例えば、顔認証、虹彩認証)を行うことができる。例えば、家族の顔情報を情報処理装置200(PC)に登録しておき、この登録されている顔情報と、受信した画像データ(入力情報)との比較結果に基づいて顔認証を行うことができる。
そして、その認証処理により認証された場合には、情報処理装置200(PC)は、玄関の鍵を開けるための指示情報を、動力装置304(アクチュエータ)に送信する(420乃至423)。
情報処理装置200(PC)から指示情報を受信した動力装置304(アクチュエータ)は、起動処理を行い(424)、その指示情報に基づいて、玄関の鍵を開ける動作を行う(425)。
続いて、動力装置304(アクチュエータ)は、玄関の鍵を開ける動作を行った結果(実行結果)を情報処理装置200(PC)に送信する(426乃至429)。また、動力装置304(アクチュエータ)は、開錠したタイミングで玄関内の周辺の機器(例えば、マイク、ディスプレイ、ライトスッチ)に通知情報を送信して起動を促すようにしてもよい。
また、他の機器が、ユーザ20が玄関に入ったことを検出し、この検出情報を動力装置318(電灯スイッチ)に送信して玄関のライトを点灯するようにしてもよい。また、他の方法により玄関のライトを点灯するようにしてもよい。例えば、検出装置301(人感センサ)から周囲に存在する他の機器に検出情報が送信されているため、その検出情報に含まれる位置情報に基づいて、ユーザ20が存在する位置に設置されている機器を特定することが可能である。
また、情報処理装置200(PC)が、玄関の周辺機器を起動させるための指示情報を送信するようにしてもよい。
ここで、ユーザ20は、玄関から入ると、廊下を経由して第1居室内に行くことが多いものとする。このため、ユーザ20は、玄関の鍵の開錠を許可したため、玄関から廊下を経由して第1居室内に行くものと推定される。そこで、情報処理装置200は、玄関から廊下を経由して第1居室内に行くユーザ20に必要な情報を、第1居室内に設置されている出力装置305(ディスプレイ)に表示するための指示情報を送信する(420、421)。なお、図6では、出力装置305(ディスプレイ)に対する指示情報と、動力装置304(アクチュエータ)に対する指示情報とを同時に送信する例を示すが、これらの各指示情報は、別々に送信するようにしてもよい。
また、例えば、情報処理装置200(PC)は、ユーザ20の好みに応じた内容を出力装置305(ディスプレイ)に表示するようにする。例えば、情報処理装置200(PC)は、出力装置305(ディスプレイ)に表示すべき情報が保存されている機器(例えば、記憶装置314、情報処理装置320)に、その表示すべき情報を出力装置305(ディスプレイ)に送信するための指示情報を送信する。この場合には、出力装置305(ディスプレイ)は、その指示情報を受信した機器から送信される情報を表示する(430)。
なお、ユーザ20の好みに応じた内容は、例えば、ユーザ20の一日のダイジェストライフログや、一日に発生した家庭のトピックス等を視覚的に表す画像とすることができる。
ここで、出力装置305(ディスプレイ)に自動的に表示される情報が、ユーザ20の所望の情報でないことも想定される。この場合には、ユーザ20は、出力装置305(ディスプレイ)に表示させたい内容を指示することができる。例えば、最新の株価情報を見たい場合には、ユーザ20は、「株価情報を見せて」と声を出す。この場合には、ユーザ20の周囲に存在するマイクがその音を集音し、この集音された内容(新たな入力情報)を情報処理装置200(PC)に送信する。すなわち、情報処理装置200(PC)にユーザ20の情報がフィードバックされる。この場合には、情報処理装置200(PC)は、その新たな入力情報(フィードバック情報)に基づいて、コンテキスト解析処理を行い、学習する。そして、情報処理装置200(PC)は、そのコンテキスト解析処理の結果、更新が必要となる機器に、更新を行わせるための更新情報を送信する。
なお、図7では、ユーザ20が、入力装置302(防犯カメラ)を用いて新たな入力情報を入力して情報処理装置200(PC)に送信する(431、432)例を示す。また、更新が必要な機器を、入力装置302(防犯カメラ)および動力装置304(アクチュエータ)とし、これらの更新情報を送信する(434乃至437、439、440)例を示す。この場合には、更新情報を受信した各機器(入力装置302(防犯カメラ)および動力装置304(アクチュエータ))は、受信した更新情報に基づいて、処理管理テーブルの更新処理を行う(438、441)。
[機器を待機状態とする場合の通信例]
図14および図15は、本技術の第1の実施の形態における通信システム30を構成する各機器間における通信処理例を示すシーケンスチャートである。なお、図14および図15では、各機器が、図13に示すトポロジで存在している場合において機器を待機状態とする場合の通信処理例を示す。
最初に、ユーザ20が、第1居室の方向に移動する場合を想定する。この場合には、ユーザ20が所持する情報処理装置100から送信される通知情報を、第1居室の近くに設置されているセンサ501が受信する(451、452)。これにより、情報処理装置100(ユーザ20)が、第1居室に近づいていることが検出される。
続いて、センサ501は、情報処理装置100を検出した旨の検出情報を周囲に存在する他の機器(例えば、入力装置311(マイク)、出力装置312(オーディオ機器))に送信する(453乃至456)。このように、各機器を起動させるための検出情報を送信することにより、ユーザ20の移動先である第1居室内の機器を起動させることができる。また、入力装置311(マイク)は、ユーザ20が発する声を集音する(459)。また、出力装置312(オーディオ機器)は、ユーザ20の好みの音楽を出力する(460)。これにより、例えば、ユーザ20が、第1居室内で、出力装置312(オーディオ機器)から出力される音楽を聴きながら(460)、いろいろなことを行うことができる。
例えば、ユーザ20が、出力装置312(オーディオ機器)から出力される音楽を聴きながら(460)、着替えているときに「居間で今日の連続ドラマxxxが見たい。」と喋ると、入力装置311(マイク)がその声を集音する(459)。この場合には、入力装置311(マイク)は、その声に対応する音声情報を入力情報として情報処理装置200に送信する(461、462)。
その入力情報を受信した場合には(462)、情報処理装置200は、その入力情報についてコンテキスト解析処理を行う(463)。そして、情報処理装置200は、居間に設置されている記憶装置314(HDDレコーダ)およびTV503に指示情報を送信する(464乃至467)。この指示情報は、本日録画した連続ドラマxxxをTV503に送る準備をすることを記憶装置314(HDDレコーダ)に指示し、ユーザ20が居間に移動したタイミングでTV503に再生を行わせるための指示情報である。なお、ユーザ20が居間に移動したタイミングは、例えば、居間の近くに設置されているセンサ505から情報処理装置100を検出した旨の検出情報を受信してから所定時間(例えば、5秒)が経過したタイミングとすることができる。
その指示情報を受信した場合には(465)、記憶装置314(HDDレコーダ)は、起動処理を行い(468)、本日録画した連続ドラマxxxをTV503に送る準備をする(469)。
続いて、ユーザ20が居間に移動するために廊下に出ると、ユーザ20が所持する情報処理装置100から送信される通知情報を、第1居室の廊下の近くに設置されているセンサ506が受信する(470、471)。これにより、ユーザ20が第1居室から出たことが検出される。
続いて、センサ506は、情報処理装置100を検出した旨の検出情報を情報処理装置200に送信する(472、473)。その検出情報を受信した場合には(473)、情報処理装置200は、第1居室内に設置されている入力装置311(マイク)および出力装置312(オーディオ機器)に指示情報を送信する(474乃至477)。この指示情報は、電源を落とし、wakeup可能な状態(例えば、待機状態)へパワーダウンさせるための指示を行う指示情報である。その指示情報を受信した場合には(475、477)、入力装置311(マイク)および出力装置312(オーディオ機器)は、待機処理を行い、待機状態へと遷移する(478、479)。
続いて、ユーザ20が居間に移動すると、ユーザ20が所持する情報処理装置100から送信される通知情報を、居間の近くに設置されているセンサ505が受信する(480、481)。これにより、ユーザ20が居間に移動していることが検出される。
続いて、センサ505は、情報処理装置100を検出した旨の検出情報を、居間に設置されている記憶装置314(HDDレコーダ)およびTV503に送信する(482乃至485)。
その検出情報を受信した場合には(485)、記憶装置314(HDDレコーダ)は、情報処理装置200から指示されたコンテンツ(本日録画した連続ドラマxxx)を出力するための出力処理を行う(487)。そして、記憶装置314(HDDレコーダ)は、そのコンテンツをTV503に送信するデータ送信処理を行う(488)。
また、その検出情報を受信した場合には(483)、TV503は、起動処理を行う(486)。続いて、TV503は、情報処理装置200から指示されたコンテンツ(本日録画した連続ドラマxxx)を記憶装置314(HDDレコーダ)から受信するデータ受信処理を行う(489)。続いて、TV503は、受信したデータに基づく画像表示および音声出力を行う(490)。
[ユーザの移動に応じて出力先を変更する例]
図16は、本技術の第1の実施の形態における通信システム40のシステム構成の一例を示す図である。
通信システム40は、情報処理装置100、600、640と、スピーカ601乃至609と、センサ611乃至621と、マイク631乃至637とを備える。これらの各機器は、家の中の各部屋に設置されているものとする。また、これらの各機器は、アドホックネットワークやメッシュネットワークで接続されている。
情報処理装置600は、音楽コンテンツを記憶するコンテンツサーバであり、情報処理装置640からの指示に基づいて音楽コンテンツを出力する。また、情報処理装置640は、コンテキスト解析処理を行う情報処理装置である。なお、第3居室は、寝室であるものとする。
例えば、ユーザ20が、第2居室でスピーカ607から出力されている音楽を聴いている場合を想定する。この場合には、上述したように、ユーザが所持する情報処理装置100は、定期的(または、間欠的、不定期)に通知情報を送信する。
センサ611は、情報処理装置100から送信された通知情報を受信すると、その通知情報を検出した旨の検出情報を情報処理装置600(コンテンツサーバ)に送信する。その検出情報を受信した場合には、情報処理装置600(コンテンツサーバ)は、その検出情報を、隣の部屋(第3居室)に設置されている情報処理装置640に送信する。
その検出情報を受信した場合には、情報処理装置640は、コンテキスト解析処理を行い、ユーザ20の移動に伴い、出力先(スピーカ)を切り替えられるように、各機器を起動させるための指示情報を送信する。例えば、情報処理装置640は、スピーカ607に近い場所に設置されているスピーカ604、606、608や、マイク631、632、637にその指示情報を送信する。
また、情報処理装置640は、情報処理装置600(コンテンツサーバ)に、検出情報を送信したセンサと同一の部屋に設置されているスピーカに出力先を切り替えるための指示を行う指示情報を送信する。
また、情報処理装置640は、各センサに直接接続されている機器(例えば、マイク、スピーカ)に指示情報を送信する。この指示情報は、センサから検出情報を受信した場合に、情報処理装置600(コンテンツサーバ)までの経路を選択し、出力先とすべきスピーカを特定する情報を情報処理装置600(コンテンツサーバ)に送信するための指示情報である。
また、例えば、ユーザ20は、風呂に入るために廊下に出ると、センサ612が情報処理装置100から送信された通知情報を受信する。そして、センサ612は、情報処理装置100を検出した旨の検出情報を情報処理装置600(コンテンツサーバ)に送信する。この場合には、情報処理装置600(コンテンツサーバ)は、音楽の出力先をスピーカ606に切り替える。
また、ユーザ20が洗面所に移動した場合には、センサ617が情報処理装置100から送信された通知情報を受信する。そして、センサ617は、情報処理装置100を検出した旨の検出情報を、マイク637を経由して情報処理装置600(コンテンツサーバ)に送信する。この場合には、情報処理装置600(コンテンツサーバ)は、音楽の出力先をスピーカ604に切り替える。
このように、各センサからの検出情報に基づいて、音楽コンテンツの出力先を切り替えることができる。
また、例えば、各センサからの検出情報に基づいて移動型ロボットを移動することもできる。例えば、検出情報を送信したセンサが設置されている場所(ユーザが存在する場所)に移動するように、移動型ロボットを誘導することができる。
ここで、近年、例えば、屋内、屋外ともに、無線LANや、Bluetooth、NFC、zigbee等の無線機能を備える機器の種類が増えつつある。例えば、センサ、キーボード、マイク、スキャナ、カメラ等の入力装置、スピーカー、ディスプレイ、プロジェクタ等の出力装置、ハードディスク、レコーダー等の記憶装置が存在する。また、例えば、入出力の双方の機能を備える機器、高機能な処理能力を持つPC、スマートフォン、タブレット、ゲーム機、データを保存するコンテンツサーバが存在する。また、例えば、窓や扉に設置されるセンサ、クラウドサーバと連携して動作する防犯装置、防災装置、家の外からもコントロール可能なネットワーク機能の付いた冷蔵庫、洗濯機、給湯器、高機能なロボット等が存在する。また、今後も様々な機能を備える無線通信機器が身の回りに増えていくことが想定される。
これらの機器を複合的に利用する場合を想定する。この場合には、例えば、ユーザは、手元にスマートフォンを所持し、アクセスポイントに接続し、このエリア内のネットワークに参加する。そして、ネットワーク内のコンテンツを探し、コンテンツリストを手元のスマートフォンに表示し、その中から、出力させたいコンテンツを選択し、出力先装置リストから出力先とする機器(例えば、TV)を選択する。
このように、ユーザの意図を反映させた動作を機器に実行させるためには、手元の機器が、表示機能、入力機能、集音機能(音声入力する場合)、データを収集、解釈する処理機能等のように、利用したい機能を全て備える必要がある。
しかしながら、ユーザの手元に高機能な機器がないことも想定される。また、使用する頻度が高い場合には、高機能な機器のバッテリーの容量を大きくする必要がある。また、例えば、高機能な機器をネットワークの親機(例えば、アクセスポイント)に接続可能な位置にユーザが存在する必要がある。
そこで、本技術の第1の実施の形態では、多数の分散配置されている無線通信機器が備える機能を複合的に連携利用することにより、通信システム全体で高機能な機器を実現する。
例えば、入力機能を備える機器から得られた情報に基づいて、ユーザの場所やコンテキストを検出することができる。また、例えば、情報を出力すべき最適な出力装置を推定し、その入出力装置間の通信パスを動的に設定し、動作することができる。
また、例えば、ユーザからの入力を受け付け、ユーザの所望の出力装置をユーザの場所やユーザからのコマンドに応じて決定し、入出力装置間の通信パスを動的に設定し、動作することができる。また、これらの分散配置されている機器の場所やコンテキストを学習することにより最適化することができる。
このように、手元に高機能な機器を所持しなくても、ユーザの行動パターンを解析し、自動的に判断して出力先や入力先となる機器の動作を決定することができる。このため、ユーザの意思を自動的に実現することができる。
例えば、分散設置されている各機器が備える機能の中で、その時々に必要な機能のみを実際に動作させることができる。それにより、全ての機器の機能を最大限に活用することができる。また、ネットワークを構成する機器が増加するのに応じて、システム全体として実現することができる機能を増加させることができ、さらに機能を拡張することができる。
また、例えば、無線機能を備えた各機器として、例えば、機能の種類が少ないが、特徴的である機器、各種センサを備えるため、センサデータが多数得られる機器、出力装置として高機能(例えば、4kTV)である機器等が存在する。また、機能的に低くても、複数集めると有効なデータとなることもあり、これらの多種の機能を統合的に連動させることにより、システム全体として高い機能を実現することができる。また、高機能な機器と他の機器との通信路を常に確保する必要が無く、必要な通信路のみを使用して通信することにより、無線リソースを有効に活用することができる。
このように、機器同士がメッシュネットワーク、アドホックネットワークで接続されている場合に、各機器の設置場所、実現可能な機能を把握し、それらの機器を連動することができる。これにより、各機器の機能が乏しくても、システム全体として高度な機能を実現することができる。このように、本技術の実施の形態によれば、ユーザに応じた最適な環境を提供することができる。
なお、本技術の第1の実施の形態では、高度なコンテキスト解析処理を行い、その後の動作を指示する機器として、PC等の情報処理装置を使用する例を示した。ただし、ロボット等の高機能な処理能力を持つ機器や、クラウドサーバ等の外部のネットワーク機器を、高度なコンテキスト解析処理を行い、その後の動作を指示する機器として利用するようにしてもよい。
また、コンテキスト解析処理の内容に応じて、各処理をPC、ロボット、クラウドサーバ等に分散処理させるようにしてもよい。また、コンテキスト解析処理は、移動履歴、実行履歴、ユーザからの入力、フィードバック情報等に基づいて学習することにより、システム全体のユーザにとって機能精度を向上させることができる。
なお、本技術の第1の実施の形態では、無線通信を利用した通信システムの例を示したが、有線通信を利用した通信システムについても本技術の第1の実施の形態を適用することができる。また、無線通信および有線通信の双方を利用した通信システムについても本技術の第1の実施の形態を適用することができる。
<2.第2の実施の形態>
本技術の第2の実施の形態では、複数の機器により構成されるネットワークのエリアを拡張する例を示す。
例えば、建物内(例えば、家の中)の場合には、建物内の各所に各機器を固定または移動式に分散配置することにより、各機器によるメッシュネットワークが構成される。このメッシュネットワークにユーザが所持する機器が接続されることにより、エリア内におけるユーザの行動範囲(例えば、ユーザが所持する機器の位置)を網羅することができる
しかしながら、例えば、屋外(例えば、広い庭、畑)のある建物(例えば、家)の場合には、建物内に配置されている機器の電波が屋外まで届かないことも想定される。例えば、屋外にユーザが移動したような場合には、ユーザが所持する機器まで建物内に配置されている機器の電波が届かないことも想定される。この場合には、ユーザの行動範囲を網羅することができないことも想定される。
そこで、本技術の第2の実施の形態では、空中を3次元移動可能な機器を使用することにより、メッシュネットワークのエリアを拡張する例を示す。
[通信システムの構成例およびその通信例]
図17乃至図19は、本技術の第2の実施の形態における通信システム50のシステム構成例を示す図である。
図20および図21は、本技術の第2の実施の形態における通信システム50を構成する各機器間における通信処理例を示すシーケンスチャートである。
図17乃至図19では、家701に配置されている機器(例えば、出力装置702)では、ネットワークエリアをカバーすることができないような広い庭700が屋外にある家701の例を示す。なお、図17乃至図19では、説明の容易のため、家701に配置されている機器として、出力装置702のみを代表して示す。また、出力装置702の電波の届く範囲を点線の丸(範囲703)で模式的に示す。また、庭700を点線の矩形で模式的に示す。
また、空中(3次元空間)を移動可能な機器として、移動装置705および移動装置709を示す。移動装置705および移動装置709は、無線通信機能を備え、空中(3次元空間)を移動可能な機器である。例えば、移動装置705は、ラジオコントロール飛行体(例えば、飛行機、ヘリコプタ、気球)である。また、例えば、移動装置705および移動装置709として、空中(3次元空間)を自律的に移動することが可能な機器(例えば、ロボット)を用いるようにしてもよい。また、例えば、移動装置705および移動装置709として、地上(2次元空間)を自律的に移動することが可能な機器(例えば、ラジオコントロールカー、自動掃除式ロボット)を用いるようにしてもよい。
ここでは、図20を参照して説明する。図17に示すように、例えば、家701から、子供のユーザ60が庭700に出て遊んでいる場合を想定する。また、庭700には、メッシュネットワークを生成可能な機器(ノード)は、設置されていないものとする。また、子供のユーザ60に最も近い機器は、出力装置702であるものとする。この場合に、例えば、子供のユーザ60が、出力装置702の電波の届く範囲703内で遊んでいる間は、出力装置702は、情報処理装置100から送信される通知情報を受信することができる(721、722)。また、出力装置702は、情報処理装置100から送信される通知情報の受信信号強度を順次測定する。ここで、受信信号強度として、例えば、RSSI(Received Signal Strength Indication)を用いることができる。
ここで、例えば、ユーザ60が、家701とは反対方向(矢印704の方向)に移動して、家701から離れていくと、家701からの距離に応じて、出力装置702が受信する通知情報の受信信号強度が弱くなる。そこで、出力装置702の制御部(図4に示す制御部230に相当)は、測定された受信信号強度と、設定されている閾値とを比較する。そして、出力装置702の制御部は、測定された受信信号強度が閾値未満のレベルになった場合には、情報処理装置100と出力装置702との接続が切断されてしまうと判断する。すなわち、出力装置702の制御部は、情報処理装置100と、家701に配置されている機器により構成されるネットワークとの接続が切断されてしまうと判断する。この場合には、出力装置702の制御部は、情報処理装置100と、家701に配置されている機器により構成されるネットワークとの接続が切断される前に、中継機(中継ノード)が必要であると判断する(723)。すなわち、ユーザ60が遠ざかることにより、ネットワークから離脱してしまう可能性があるため、中継機を配置する必要があると判断される。図20に示す例では、中継機として移動装置705を用いる例を示す。
なお、この例では、中継機を配置するか否かを出力装置702が判断する例を示した。ただし、出力装置702がそのような処理能力を備えていないことも想定される。そこで、高機能な処理能力を備える情報処理装置(例えば、図1に示す情報処理装置200)や、移動装置705、709が、そのような判断をするようにしてもよい。
例えば、出力装置702は、情報処理装置100から送信される通知情報のRSSIを観測し、その測定結果の値を情報処理装置(例えば、図1に示す情報処理装置200)に送信する。この場合には、その情報処理装置がその測定結果の値を監視(その測定結果の値と、設定されている閾値との比較)し、上述した判断を行うようにする。
このように、移動装置(中継機)が必要であると判断された場合には(723)、出力装置702の制御部は、移動装置705を移動させるための指示情報を移動装置705に送信する(724、725)。ここで、指示情報には、エリアを拡張するための移動指示と、情報処理装置100および出力装置702を中継することが可能な位置に移動装置705を移動させるための移動情報とを含めて送信する。この移動情報には、例えば、情報処理装置100および出力装置702間の位置を特定するための位置情報が含まれる。また、その移動情報には、その位置の方向およびその位置までの距離により、その位置を特定する方向情報および距離情報、情報処理装置100および出力装置702のそれぞれの位置を特定するための位置情報等が含まれる。
指示情報を受信した場合には(725)、移動装置705の制御部(図4に示す制御部230に相当)は、受信した指示情報に含まれる位置情報に基づいて、自装置を移動させるための制御を行う(726)。例えば、移動装置705は、情報処理装置100および出力装置702を結ぶ直線上の中心位置に向かうように(図18に示す矢印707の方向)、自装置を移動させる。
そして、移動装置705は、情報処理装置100から送信された通知情報を受信すると(727、728)、その通知情報を出力装置702に送信する(729、730)。
また、例えば、移動装置705の制御部は、受信した指示情報に含まれる位置情報に基づいて自装置を移動させた後に、情報処理装置100(ユーザ60)および出力装置702の中継機となるため、自律的に位置を調整することができる。例えば、移動装置705の制御部は、周囲を移動しながら、情報処理装置100および出力装置702のそれぞれの受信信号強度を観測する。そして、移動装置705の制御部は、情報処理装置100および出力装置702のそれぞれの受信信号強度が略同程度となる位置を検出し、この位置に滞在することができるように制御する。また、この調整は、定期的または不定期に行うことができる。また、例えば、情報処理装置100および出力装置702のそれぞれの受信信号強度の差分値が閾値以上となったタイミングで、その調整を行うようにしてもよい。
このように、情報処理装置100を所持するユーザ60が、出力装置702の電波の届く範囲703の外側に移動した場合でも、移動装置705を移動させて中継機とすることができる。これにより、情報処理装置100を所持するユーザ60が、移動装置705の電波の届く範囲706内となるため、情報処理装置100をネットワークから離脱することを防止することができる。
このように、家701に設置されている機器により構成されるネットワークエリアに限界がある場合でも、移動装置705を用いることにより、そのネットワークエリアを拡張することができる。
ここで、図18に示す例において、情報処理装置100を所持するユーザ60が、矢印708の方向にさらに移動することも想定される。この場合には、移動装置705の位置を移動しても、情報処理装置100からの情報を移動装置705が受信することができないこともある。そこで、移動装置709を中継機として使用してエリアをさらに拡大することができる。すなわち、3ホップだけエリアを拡張することができる。
ここでは、図21を参照して説明する。例えば、移動装置705を中継機として情報処理装置100および出力装置702間で通知情報のやりとりを行うことができる(741乃至744)。しかしながら、図18に示すように、ユーザ60が矢印708の方向に移動して家701からさらに遠ざかった場合には、移動装置705が中継機の役割を果たすことができなくなる。このため、移動装置705は、上述した判断処理と同様に、追加の中継機が必要であると判断する(745)。
このように、追加の移動装置(中継機)が必要であると判断された場合には(745)、移動装置705の制御部は、移動装置709を移動させるための指示情報を出力装置702を経由して移動装置709に送信する(746乃至749)。
指示情報を受信した場合には(749)、移動装置709の制御部(図4に示す制御部230に相当)は、受信した指示情報に含まれる移動情報に基づいて、自装置を移動させるための制御を行う(750)。例えば、移動装置709は、情報処理装置100および移動装置705を結ぶ直線上の中心位置に向かうように(図19に示す矢印711の方向)、自装置を移動させる。
そして、移動装置709は、情報処理装置100から送信された通知情報を受信すると(751、752)、その通知情報を移動装置705を経由して出力装置702に送信する(753乃至756)。
また、例えば、移動装置709の制御部は、受信した指示情報に含まれる位置情報に基づいて自装置を移動させた後に、情報処理装置100(ユーザ60)および移動装置705の中継機となるため、自律的に位置を調整することができる。
このように、2つの移動装置705、709を中継機として使用することにより、ネットワークエリアをさらに拡張することができる。なお、この例では、ネットワークエリアを3ホップまで拡張する例を示したが、ネットワークエリアを4ホップ以上拡張するようにしてもよい。
また、例えば、移動装置709の制御部は、情報処理装置100の受信信号強度の値を、コンテキスト解析を行う情報処理装置(例えば、図1に示す情報処理装置200)に定期的または不定期に送信するようにしてもよい。同様に、例えば、移動装置705の制御部は、移動装置709および出力装置702のそれぞれの受信信号強度の値を、コンテキスト解析を行う情報処理装置に定期的または不定期に送信するようにしてもよい。
また、例えば、移動装置705からの信号を受信可能な家701内の各機器(出力装置702を含む)は、自装置において測定された移動装置705の受信信号強度を、コンテキスト解析を行う情報処理装置に定期的または不定期に送信するようにしてもよい。
このように、1または複数の受信信号強度を、コンテキスト解析を行う情報処理装置に送信することにより、その情報処理装置は、情報処理装置100がどの方向に進行しているかを解析することができる。そして、その情報処理装置は、その解析結果に基づいて、中継機をさらに増加する必要があるか否かを判断することができる。また、その情報処理装置は、その判断結果に基づいて、追加の中継機を起動させ、この起動させた中継機をどの方向へどの程度移動すべきかを通知することができる。
ここで、ユーザ60が家701の方向に戻ってくることも想定される。この場合には、移動装置709にとっては、情報処理装置100からの受信信号強度が大きくなることがある。また、移動装置705にとっては、情報処理装置100からの信号を受信することが可能となることもある。
このため、例えば、3以上の中継機を配置している場合には、複数の中継機のうちの少なくとも2つが情報処理装置100の信号を受信することができる状態となったタイミングで、少なくとも1つの中継機による中継を停止させ、戻すことが可能となる。
なお、ユーザ60が家701の方向に戻ってきて、再度、遠方へ行ってしまう可能性もある。このため、複数の中継機のうちの少なくとも1つの中継機能による中継を停止させ、戻す条件を設定しておくことが好ましい。例えば、3つ以上の中継機が情報処理装置100の信号を受信することができた場合、または、家701内に設置されている複数の機器のうちの何れかの機器から情報処理装置100の信号を受信することができた場合を、戻す条件とすることができる。
このように、出力装置702の制御部は、情報処理装置100および出力装置702の相対的な位置関係に基づいて、情報処理装置100および出力装置702間の通信を行うための中継機(移動装置705)の位置を決定することができる。この場合に、例えば、出力装置702の制御部は、情報処理装置100および出力装置702間の距離が、情報処理装置100および出力装置702が直接通信を行うことができない距離となる前のタイミングでその決定を行うことができる。同様に、移動装置705の制御部は、情報処理装置100および移動装置705の相対的な位置関係に基づいて、情報処理装置100および移動装置705間の通信を行うための中継機(移動装置709)の位置を決定することができる。また、その決定のタイミングについても同様とすることができる。
また、これらの各制御部は、その決定された位置まで中継機(移動装置705、709)を移動させるための制御を行う。例えば、中継機を空中を移動させて、その決定された位置まで移動させることができる。
<3.応用例>
本開示に係る技術は、様々な製品へ応用可能である。例えば、通信システム10、30、40、50を構成する各機器は、スマートフォン、タブレットPC(Personal Computer)、ノートPC、携帯型ゲーム端末若しくはデジタルカメラなどのモバイル端末、テレビジョン受像機、プリンタ、デジタルスキャナ若しくはネットワークストレージなどの固定端末、又はカーナビゲーション装置などの車載端末として実現されてもよい。また、通信システム10、30、40、50を構成する各機器は、スマートメータ、自動販売機、遠隔監視装置又はPOS(Point Of Sale)端末などの、M2M(Machine To Machine)通信を行う端末(MTC(Machine Type Communication)端末ともいう)として実現されてもよい。さらに、通信システム10、30、40、50を構成する各機器は、これら端末に搭載される無線通信モジュール(例えば、1つのダイで構成される集積回路モジュール)であってもよい。
[3−1.第1の応用例]
図22は、本開示に係る技術が適用され得るスマートフォン900の概略的な構成の一例を示すブロック図である。スマートフォン900は、プロセッサ901、メモリ902、ストレージ903、外部接続インタフェース904、カメラ906、センサ907、マイクロフォン908、入力デバイス909、表示デバイス910、スピーカ911、無線通信インタフェース913、アンテナスイッチ914、アンテナ915、バス917、バッテリー918及び補助コントローラ919を備える。
プロセッサ901は、例えばCPU(Central Processing Unit)又はSoC(System on Chip)であってよく、スマートフォン900のアプリケーションレイヤ及びその他のレイヤの機能を制御する。メモリ902は、RAM(Random Access Memory)及びROM(Read Only Memory)を含み、プロセッサ901により実行されるプログラム及びデータを記憶する。ストレージ903は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。外部接続インタフェース904は、メモリーカード又はUSB(Universal Serial Bus)デバイスなどの外付けデバイスをスマートフォン900へ接続するためのインタフェースである。
カメラ906は、例えば、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を有し、撮像画像を生成する。センサ907は、例えば、測位センサ、ジャイロセンサ、地磁気センサ及び加速度センサなどのセンサ群を含み得る。マイクロフォン908は、スマートフォン900へ入力される音声を音声信号へ変換する。入力デバイス909は、例えば、表示デバイス910の画面上へのタッチを検出するタッチセンサ、キーパッド、キーボード、ボタン又はスイッチなどを含み、ユーザからの操作又は情報入力を受け付ける。表示デバイス910は、液晶ディスプレイ(LCD)又は有機発光ダイオード(OLED)ディスプレイなどの画面を有し、スマートフォン900の出力画像を表示する。スピーカ911は、スマートフォン900から出力される音声信号を音声に変換する。
無線通信インタフェース913は、IEEE802.11a、11b、11g、11n、11ac及び11adなどの無線LAN標準のうちの1つ以上をサポートし、無線通信を実行する。無線通信インタフェース913は、インフラストラクチャーモードにおいては、他の装置と無線LANアクセスポイントを介して通信し得る。また、無線通信インタフェース913は、アドホックモード又はWi−Fi Direct等のダイレクト通信モードにおいては、他の装置と直接的に通信し得る。なお、Wi−Fi Directでは、アドホックモードとは異なり2つの端末の一方がアクセスポイントとして動作するが、通信はそれら端末間で直接的に行われる。無線通信インタフェース913は、典型的には、ベースバンドプロセッサ、RF(Radio Frequency)回路及びパワーアンプなどを含み得る。無線通信インタフェース913は、通信制御プログラムを記憶するメモリ、当該プログラムを実行するプロセッサ及び関連する回路を集積したワンチップのモジュールであってもよい。無線通信インタフェース913は、無線LAN方式に加えて、近距離無線通信方式、近接無線通信方式又はセルラ通信方式などの他の種類の無線通信方式をサポートしてもよい。アンテナスイッチ914は、無線通信インタフェース913に含まれる複数の回路(例えば、異なる無線通信方式のための回路)の間でアンテナ915の接続先を切り替える。アンテナ915は、単一の又は複数のアンテナ素子(例えば、MIMOアンテナを構成する複数のアンテナ素子)を有し、無線通信インタフェース913による無線信号の送信及び受信のために使用される。
なお、図22の例に限定されず、スマートフォン900は、複数のアンテナ(例えば、無線LAN用のアンテナ及び近接無線通信方式用のアンテナ、など)を備えてもよい。その場合に、アンテナスイッチ914は、スマートフォン900の構成から省略されてもよい。
バス917は、プロセッサ901、メモリ902、ストレージ903、外部接続インタフェース904、カメラ906、センサ907、マイクロフォン908、入力デバイス909、表示デバイス910、スピーカ911、無線通信インタフェース913及び補助コントローラ919を互いに接続する。バッテリー918は、図中に破線で部分的に示した給電ラインを介して、図22に示したスマートフォン900の各ブロックへ電力を供給する。補助コントローラ919は、例えば、スリープモードにおいて、スマートフォン900の必要最低限の機能を動作させる。
図22に示したスマートフォン900において、図2を用いて説明した制御部130、および、図4を用いて説明した制御部230は、無線通信インタフェース913において実装されてもよい。また、これら機能の少なくとも一部は、プロセッサ901又は補助コントローラ919において実装されてもよい。
なお、スマートフォン900は、プロセッサ901がアプリケーションレベルでアクセスポイント機能を実行することにより、無線アクセスポイント(ソフトウェアAP)として動作してもよい。また、無線通信インタフェース913が無線アクセスポイント機能を有していてもよい。
[3−2.第2の応用例]
図23は、本開示に係る技術が適用され得るカーナビゲーション装置920の概略的な構成の一例を示すブロック図である。カーナビゲーション装置920は、プロセッサ921、メモリ922、GPS(Global Positioning System)モジュール924、センサ925、データインタフェース926、コンテンツプレーヤ927、記憶媒体インタフェース928、入力デバイス929、表示デバイス930、スピーカ931、無線通信インタフェース933、アンテナスイッチ934、アンテナ935及びバッテリー938を備える。
プロセッサ921は、例えばCPU又はSoCであってよく、カーナビゲーション装置920のナビゲーション機能及びその他の機能を制御する。メモリ922は、RAM及びROMを含み、プロセッサ921により実行されるプログラム及びデータを記憶する。
GPSモジュール924は、GPS衛星から受信されるGPS信号を用いて、カーナビゲーション装置920の位置(例えば、緯度、経度及び高度)を測定する。センサ925は、例えば、ジャイロセンサ、地磁気センサ及び気圧センサなどのセンサ群を含み得る。データインタフェース926は、例えば、図示しない端子を介して車載ネットワーク941に接続され、車速データなどの車両側で生成されるデータを取得する。
コンテンツプレーヤ927は、記憶媒体インタフェース928に挿入される記憶媒体(例えば、CD又はDVD)に記憶されているコンテンツを再生する。入力デバイス929は、例えば、表示デバイス930の画面上へのタッチを検出するタッチセンサ、ボタン又はスイッチなどを含み、ユーザからの操作又は情報入力を受け付ける。表示デバイス930は、LCD又はOLEDディスプレイなどの画面を有し、ナビゲーション機能又は再生されるコンテンツの画像を表示する。スピーカ931は、ナビゲーション機能又は再生されるコンテンツの音声を出力する。
無線通信インタフェース933は、IEEE802.11a、11b、11g、11n、11ac及び11adなどの無線LAN標準のうちの1つ以上をサポートし、無線通信を実行する。無線通信インタフェース933は、インフラストラクチャーモードにおいては、他の装置と無線LANアクセスポイントを介して通信し得る。また、無線通信インタフェース933は、アドホックモード又はWi−Fi Direct等のダイレクト通信モードにおいては、他の装置と直接的に通信し得る。無線通信インタフェース933は、典型的には、ベースバンドプロセッサ、RF回路及びパワーアンプなどを含み得る。無線通信インタフェース933は、通信制御プログラムを記憶するメモリ、当該プログラムを実行するプロセッサ及び関連する回路を集積したワンチップのモジュールであってもよい。無線通信インタフェース933は、無線LAN方式に加えて、近距離無線通信方式、近接無線通信方式又はセルラ通信方式などの他の種類の無線通信方式をサポートしてもよい。アンテナスイッチ934は、無線通信インタフェース933に含まれる複数の回路の間でアンテナ935の接続先を切り替える。アンテナ935は、単一の又は複数のアンテナ素子を有し、無線通信インタフェース933による無線信号の送信及び受信のために使用される。
なお、図23の例に限定されず、カーナビゲーション装置920は、複数のアンテナを備えてもよい。その場合に、アンテナスイッチ934は、カーナビゲーション装置920の構成から省略されてもよい。
バッテリー938は、図中に破線で部分的に示した給電ラインを介して、図23に示したカーナビゲーション装置920の各ブロックへ電力を供給する。また、バッテリー938は、車両側から給電される電力を蓄積する。
図23に示したカーナビゲーション装置920において、図2を用いて説明した制御部130、および、図4を用いて説明した制御部230は、無線通信インタフェース933において実装されてもよい。また、これら機能の少なくとも一部は、プロセッサ921において実装されてもよい。
また、本開示に係る技術は、上述したカーナビゲーション装置920の1つ以上のブロックと、車載ネットワーク941と、車両側モジュール942とを含む車載システム(又は車両)940として実現されてもよい。車両側モジュール942は、車速、エンジン回転数又は故障情報などの車両側データを生成し、生成したデータを車載ネットワーク941へ出力する。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)
複数の機器が相互に接続されるネットワークにおける前記複数の機器を構成する各機器が備える機能と前記各機器が存在する位置とに基づいて、前記複数の機器のうちから所定処理を実行させる機器を決定する制御部を具備する情報処理装置。
(2)
前記制御部は、前記複数の機器のうちユーザが所持するユーザ機器が検出された位置に基づいて前記所定処理を実行させる機器を決定する前記(1)に記載の情報処理装置。
(3)
前記制御部は、ユーザにより入力された入力情報に基づいて前記所定処理の内容と前記所定処理を実行させる機器とを決定する前記(1)または(2)に記載の情報処理装置。
(4)
前記制御部は、前記決定された機器に前記所定処理を実行させるための制御を行う前記(1)から(3)のいずれかに記載の情報処理装置。
(5)
前記制御部は、前記機器により取得された情報を無線通信を利用して取得し、前記取得された情報を解析して当該解析結果に基づいて前記所定処理を実行させる機器を決定する前記(1)から(4)のいずれかに記載の情報処理装置。
(6)
前記機器は、当該機器が備える機能と当該機器が存在する位置と前記所定処理の内容とを管理する管理情報を保持し、
前記制御部は、前記解析結果に基づいて前記管理情報を更新するための更新情報を前記機器に送信する
前記(5)に記載の情報処理装置。
(7)
前記ネットワークは、前記複数の機器が1対1で無線通信を行うことにより前記複数の機器が相互に接続されるネットワークである前記(1)から(6)のいずれかに記載の情報処理装置。
(8)
前記複数の機器が1対1で無線通信を行うことにより前記複数の機器が相互に接続されるネットワークにおける前記複数の機器を構成する第1機器および第2機器の相対的な位置関係に基づいて、前記第1機器および前記第2機器間の通信を行うための中継機として使用する第3機器の位置を決定する制御部を具備する情報処理装置。
(9)
前記制御部は、前記決定された位置まで前記第3機器を移動させるための制御を行う前記(8)に記載の情報処理装置。
(10)
前記第3機器は、空中を移動することが可能な機器であり、
前記制御部は、前記第3機器を空中を移動させて前記決定された位置まで移動させる
前記(8)または(9)に記載の情報処理装置。
(11)
前記制御部は、前記第1機器および前記第2機器間の距離が、前記第1機器および前記第2機器が直接通信を行うことができない距離となる前のタイミングで前記第3機器の位置を決定する前記(8)から(10)のいずれかに記載の情報処理装置。
(12)
ユーザが所持するユーザ機器を検出する検出機器と、
前記ユーザに関する情報を入力する入力機器と、
前記検出機器および前記入力機器を含む複数の機器が相互に接続されるネットワークにおける前記複数の機器を構成する各機器が備える機能と前記ユーザ機器が検出された位置と前記入力された情報とに基づいて、前記複数の機器のうちから前記ユーザに対する所定処理を実行させる機器を決定する情報処理装置と
を具備する通信システム。
(13)
複数の機器が相互に接続されるネットワークにおける前記複数の機器を構成する各機器が備える機能と前記各機器が存在する位置とに基づいて、前記複数の機器のうちから所定処理を実行させる機器を決定する情報処理方法。
(14)
複数の機器が相互に接続されるネットワークにおける前記複数の機器を構成する各機器が備える機能と前記各機器が存在する位置とに基づいて、前記複数の機器のうちから所定処理を実行させる機器を決定する手順をコンピュータに実行させるプログラム。