以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(コンテンツ記憶制御:コンテンツの優先度(ランキング情報)に基づいてそのコンテンツをメモリに格納するか否かを判断する例)
<1.第1の実施の形態>
[通信システムの構成例]
図1は、本技術の第1の実施の形態における通信システム100のシステム構成例を示す図である。
通信システム100は、複数の無線通信装置(第1無線通信装置200、第2無線通信装置102、第3無線通信装置103、…、第13無線通信装置113)を備える。通信システム100を構成する各無線通信装置(デバイス)は、例えば、携帯型の情報処理装置(例えば、スマートフォン、携帯電話、タブレット端末)や固定型の情報処理装置(例えば、プリンタ、パーソナルコンピュータ)である。
ここで、近接する無線通信装置と自律的に相互接続する通信方法として、アドホック通信やアドホックネットワーク等が知られている。このようなネットワークにおいては、各無線通信装置は、マスタ局(例えば、制御装置)に依存することなく、近接する無線通信装置と相互に通信を行うことが可能である。そこで、本技術の実施の形態では、自律的に近接無線通信装置と相互接続する通信方法として、アドホックネットワークを例にして説明する。
アドホックネットワークでは、近隣に新たな無線通信装置が追加されると、この新たな無線通信装置も自由にネットワークに参加することができる。例えば、最初に、図1に示す各無線通信装置のうち、第1無線通信装置200、第2無線通信装置102、第3無線通信装置103、…、第8無線通信装置108のみがアドホックネットワークに参加している場合を想定する。この場合に、第9無線通信装置109乃至第13無線通信装置113が順次追加されていくものとする。この場合には、これらの各無線通信装置(近接する無線通信装置)が増加するのに応じて、ネットワークのカバー範囲を増加させることができる。すなわち、第9無線通信装置109乃至第13無線通信装置113が順次追加されるのに応じて、ネットワークのカバー範囲を増加させることができる。
ここで、各無線通信装置は、近接する無線通信装置と自律的に相互接続する以外に、他の無線通信装置間でやりとりされる情報をバケツリレー的に転送することも可能である。
例えば、第1無線通信装置200は、第2無線通信装置102乃至第4無線通信装置104のそれぞれに直接通信することができるが、電波が届かない等の理由により、他の無線通信装置には直接通信することができないものとする。図1では、第1無線通信装置200が直接通信することができる範囲(第1無線通信装置200を基準とした場合における伝達範囲)を伝達範囲121として示す。なお、伝達範囲121は、転送(ホップ)回数が1回に制限されている場合における伝達範囲に対応する。
このように直接通信ができない場合でも、第1無線通信装置200との直接通信が可能な無線通信装置(第2無線通信装置102乃至第4無線通信装置104)が第1無線通信装置200のデータを他の無線通信装置に転送することが可能である。そこで、このようにデータを転送することにより、第1無線通信装置200と、第1無線通信装置200と直接通信することができない無線通信装置とは、互いに情報のやり取りを行うことが可能となる。例えば、第1無線通信装置200と、第1無線通信装置200と直接通信することができない第5無線通信装置105とは、第3無線通信装置103(または、第4無線通信装置104)を経由して互いに情報のやり取りを行うことが可能となる。
このように互いにデータ転送(いわゆる、バケツリレー)を行い、遠くの無線通信装置に情報を届ける方法は、マルチホップ・リレーと称されている。また、マルチホップを行うネットワークは、メッシュネットワークとして一般的に知られている。
このような、アドホックネットワークやメッシュネットワークを構成する無線通信装置の構成を図2に示す。
ここで、本技術の実施の形態で用いられるマルチホップ・リレーについて説明する。
例えば、図1に示すように、メッシュネットワークが構成されており、第1無線通信装置200が第5無線通信装置105との通信を行うまでの手順について説明する。
第1無線通信装置200は、第5無線通信装置105との通信を開始する前に、どの通信経路を用いるか(どの無線通信装置を経由するか)を特定する。例えば、第1無線通信装置200は、公知の通信経路選択プロトコルに則った手順に基づいて、隣接する各無線通信装置との間で通信経路選択情報をやりとりする。
例えば、IETF発行のRFC3626、Optimized Link State Routing Protocol(OLSR)の規格で定められている手順を用いることができる。また、例えば、IEEE発行のIEEE Standard for Information Technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements Part 11: Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) specifications Amendment 10: Mesh Networking(通称、IEEE802.11s)等の規格で定められている手順を用いることができる。
これらの手順に基づいて、第1無線通信装置200は、第3無線通信装置103を経由すると第5無線通信装置105と無線リソースを無駄使いせずに通信が可能であることを検出することができる。例えば、中継局の数が最小であること、伝送遅延が最小であること、伝送のために周波数チャネルを占有する時間が最小であること等に基づいて、無駄使いせずに通信が可能であることを検出することができる。
この検出の際に用いられた情報は、通信経路情報として各無線通信装置の内部に保持され、実際にパケットを送受信する際に、そのパケットを最終目的地に到達させるためには次にどの無線通信装置に送信すべきかを検索する際に参照される。
第1無線通信装置200は、上述した手順で、第5無線通信装置105までの有効な通信経路情報を取得する。そして、第1無線通信装置200は、その取得された通信経路情報に基づいて、第5無線通信装置105宛てのパケットを第3無線通信装置103に送信する。このパケットを受信した第3無線通信装置103は、内部に保持されている通信経路情報に基づいて、受信した第5無線通信装置105宛てのパケットを第5無線通信装置105に転送する。
なお、上述した通信経路情報の作成は、メッシュネットワークに接続されている全ての無線通信装置を対象に行われる場合もある。ただし、ネットワーク内に存在する無線通信装置の数が極めて多い場合等には、通信経路情報の作成に関する制御パケット等によるオーバーヘッドが増加する。そこで、通信経路情報の作成に関する制御パケット等によるオーバーヘッドを削減するため、例えば、上述したように、各パケットが転送される回数に制限を設けることができる。
なお、図1では、第1無線通信装置200を基準とする場合に、転送(ホップ)回数が2回に制限されている伝達範囲を伝達範囲122とし、転送(ホップ)回数が3回に制限されている伝達範囲を伝達範囲123として示す。同様に、転送(ホップ)回数が4回に制限されている伝達範囲を伝達範囲124として示す。
また、アドホックネットワークやメッシュネットワークを用いて、周辺機器と自由に通信しながら、コンテンツを流通させる仕組みが考えられる。このような仕組みを実現するためには、どの無線通信装置がどのようなコンテンツを保持しており供給可能であるかを周辺機器に報知する必要がある。
例えば、図5に示すように、各無線通信装置が定期的に送信するビーコンにサービスディスカバリ情報(自装置サービス情報157、他装置サービス情報158)を含めることにより、各無線通信装置が提供可能なサービスを周辺に報知することが可能である。また、各無線通信装置は、ビーコンを探すことにより、周辺に存在する無線通信装置を発見することができる。この場合には、発見した無線通信装置がどのようなサービスを提供しているかを検出することもできる。
ここで、サービスディスカバリ情報は、他の無線通信装置が提供可能なサービスを発見する際に用いられる情報(各無線通信装置が提供するサービスを通知するための情報)である。例えば、図5に示す自装置サービス情報157および他装置サービス情報158がサービスディスカバリ情報に対応する。
しかしながら、ある無線通信装置が提供可能なサービスの全てを周辺機器に報知することは、データ量の観点から好ましくない。また、例えば、各無線通信装置が提供するサービスが多岐にわたるようになると、サービスディスカバリ情報が巨大化していくことが想定される。このように、巨大化したサービスディスカバリ情報を無尽蔵に報知すると、通信のオーバーヘッドが大きくなる。このため、サービスディスカバリ情報を取捨選択するように管理することが望ましい。そこで、本技術の実施の形態では、各サービスに優先度を付与することによりサービスディスカバリ情報の取捨選択を行う。すなわち、本技術の実施の形態では、所定条件を満たすサービスに関するサービスディスカバリ情報のみを周辺機器に報知する。
[無線通信装置の構成例]
図2は、本技術の第1の実施の形態における第1無線通信装置200の内部構成例を示すブロック図である。なお、他の無線通信装置の内部構成については、第1無線通信装置200と同一であるため、ここでは、第1無線通信装置200についてのみ説明し、他の無線通信装置の説明を省略する。
第1無線通信装置200は、アンテナ210と、通信部220と、I/O(Input/Output)インタフェース230と、制御部240と、メモリ300とを備える。また、これらの各部は、バス250を介して接続される。
通信部220は、アンテナ210を介して、電波の送受信を行うためのモジュール(例えば、モデム)である。例えば、通信部220は、ミリ波通信(60GHz等)、5GHz無線LAN(Local Area Network)、UWB(Ultra Wide Band)により無線通信を行うことができる。また、例えば、通信部220は、可視光通信、NFC(Near Field Communication)により無線通信を行うことができる。
例えば、通信部220は、制御部240の制御に基づいて、無線通信を利用して所定範囲内に存在する他の無線通信装置との間で、サービスディスカバリ情報の送受信を行う。また、通信部220は、制御部240の制御に基づいて、無線通信を利用して所定範囲内に存在する他の無線通信装置との間で各無線通信装置が提供するサービスに関するデータの送受信を行う。この場合に、通信部220は、1つの無線通信装置から他の無線通信装置に提供されるサービスに関するデータの転送を行うこともできる。ここで、所定範囲は、例えば、第1無線通信装置200の位置を基準とする範囲であり、通信部220が、無線通信を利用してデータの送受信を行うことが可能な範囲を意味するものとする。また、所定範囲内に存在する他の無線通信装置は、例えば、第1無線通信装置200の近隣に存在する無線通信装置であって、無線通信を利用して第1無線通信装置200との間でデータの送受信を行うことが可能な無線通信装置であるものとする。
なお、通信部220は、電波(電磁波)を用いた無線通信を行うようにしてもよく、電波以外の媒体を用いた無線通信(例えば、磁界を用いて行われる無線通信)を行うようにしてもよい。
また、通信部220は、近隣の無線通信装置との間で通信リンクを開設して相互通信を行うとともに、第1無線通信装置200が通信可能である近隣の無線通信装置の数を管理し、通信可能である近隣の無線通信装置の数を示す情報(通信可能数情報)を保持する。また、通信部220は、無線通信に用いるチャネルの利用度合いを定期的または不定期に観測し、第1無線通信装置200の周りの通信回線がどの程度混雑しているか否かを示す情報(混雑度情報)を保持する。また、通信部220は、無線通信を行う近接の無線通信装置との間のリンククオリティ(受信電力や送信可能なデータレート等)を観測し、どの程度の帯域幅で近接の無線通信装置との間で無線通信を行うことができるかを示す情報(通信状態情報)を保持する。そして、通信部220は、これらの各情報を制御部240に供給する。
I/Oインタフェース230は、第1無線通信装置200と連動して動作するセンサ・アクチュエータ等の外部装置とのインタフェースである。図2では、外部装置として、例えば、移動検出部260、操作受付部270、表示部280および音声出力部290がI/Oインタフェース230に接続される例を示す。また、図2では、移動検出部260、操作受付部270、表示部280および音声出力部290を第1無線通信装置200の外部に設ける例を示すが、これらの全部または一部を第1無線通信装置200に内蔵するようにしてもよい。
移動検出部260は、第1無線通信装置200の加速度、動き、傾き等を検出することにより第1無線通信装置200の移動を検出するものであり、検出された移動に関する移動情報を、I/Oインタフェース230を介して制御部240に出力する。例えば、移動検出部260は、第1無線通信装置200が場所を移動しているか否かを示す移動情報(ログ(または、その移動に関するリアルタイム情報))を保持し、制御部240に供給する。なお、移動検出部260として、例えば、加速度センサ、ジャイロセンサ、GPS(Global Positioning System)を用いることができる。例えば、移動検出部260は、GPSを用いて検出された位置情報(例えば、緯度および経度)を利用して、第1無線通信装置200の移動距離(例えば、単位時間当たりの移動距離)を算出することができる。
操作受付部270は、ユーザにより行われた操作入力を受け付ける操作受付部であり、受け付けられた操作入力に応じた操作情報を、I/Oインタフェース230を介して制御部240に出力する。操作受付部270は、例えば、タッチパネル、キーボード、マウスにより実現される。
表示部280は、制御部240の制御に基づいて、各種情報(例えば、図17に示す設定画面500)を表示する表示部である。なお、表示部280として、例えば、有機EL(Electro Luminescence)パネル、LCD(Liquid Crystal Display)パネル等の表示パネルを用いることができる。なお、操作受付部270および表示部280については、使用者がその指を表示面に接触または近接することにより操作入力を行うことが可能なタッチパネルを用いて一体で構成することができる。
音声出力部290は、制御部240の制御に基づいて、各種音声を出力する音声出力部(例えば、スピーカ)である。
制御部240は、メモリ300に格納されている制御プログラムに基づいて第1無線通信装置200の各部を制御するものである。例えば、制御部240は、送受信した情報の信号処理を行う。また、制御部240は、CPU(Central Processing Unit)により実現される。
例えば、制御部240は、第1無線通信装置200の使用環境と、第1無線通信装置200の通信状態との少なくとも一方に基づいて他の無線通信装置に送信するサービスディスカバリ情報に含まれるランキング情報(優先度)を変更するための制御を行う。このランキング情報は、例えば、図5、図6に示すランキング情報166である。また、例えば、制御部240は、他の無線通信装置から受信したサービスディスカバリ情報に含まれるランキング情報(優先度)に基づいて、そのサービスディスカバリ情報に対応するサービスを登録するか否かを判断する。例えば、図3に示すサービス管理テーブル330に登録するか否かが判断される。また、例えば、制御部240は、サービス管理テーブル330に登録されたサービスに係るサービスディスカバリ情報に、その変更されたランキング情報(優先度)を含めて他の無線通信装置に送信する。
また、例えば、制御部240は、サービスを提供するためのコンテンツの優先度に基づいて、そのコンテンツをメモリ300に格納するか否かを判断する。また、例えば、制御部240は、メモリ300に格納されたコンテンツのランキング情報に基づいて、その優先度を設定する。また、例えば、制御部240は、そのサービスディスカバリ情報に含まれるランキング情報に基づいて、登録されたサービスの優先度を設定する。
メモリ300は、各種情報を格納するメモリである。例えば、メモリ300には、第1無線通信装置200が所望の動作を行うために必要となる各種情報(例えば、制御プログラム)が格納される。また、メモリ300のコンテンツ記憶領域310(図8、図9に示す)には、音楽コンテンツや画像コンテンツ(例えば、動画コンテンツ、静止画コンテンツ)等の各種コンテンツが格納される。
また、メモリ300には、コンテンツを管理するためのコンテンツ管理テーブル320(図3に示す)と、サービスを管理するためのサービス管理テーブル330(図3に示す)とが格納される。なお、メモリ300のコンテンツ記憶領域310に格納されているコンテンツの数については、コンテンツ管理テーブル320により管理される。
例えば、無線通信を利用してデータを送信する場合には、制御部240は、メモリ300から読み出された情報やI/Oインタフェース230から入力された信号等を処理し、実際に送信するデータの塊(送信パケット)を生成する。続いて、制御部240は、その生成された送信パケットを通信部220に出力する。また、通信部220は、その送信パケットを、実際に伝送するための通信方式のフォーマット等に変換した後に、変換後の送信パケットをアンテナ210から外部に送信する。
また、例えば、無線通信を利用してデータを受信する場合には、通信部220は、アンテナ210を介して受信した電波信号を、通信部220内の受信機が行う信号処理により受信パケットを抽出する。そして、制御部240は、その抽出された受信パケットを解釈する。この解釈の結果、保持すべきデータであると判断された場合には、制御部240は、そのデータをメモリ300に書き込む。一方、他の無線通信装置に転送すべきデータであると判断された場合には、制御部240は、他の無線通信装置に転送するための送信パケットとして、そのデータを通信部220に出力する。また、外部アクチュエータに転送すべきデータであると判断された場合には、制御部240は、I/Oインタフェース230から外部(例えば、表示部280)に出力する。
例えば、制御部240は、メモリ300に格納されている各種コンテンツを、無線通信を利用して他の無線通信装置に提供することができる。また、制御部240は、メモリ300のサービス管理テーブル330に基づいてサービスディスカバリ情報を生成し、この生成されたサービスディスカバリ情報を他の無線通信装置に送信する。
なお、第1無線通信装置200がバッテリにより駆動されている場合には、第1無線通信装置200にはバッテリが搭載されている(内蔵または装着)。この場合に、制御部240は、バッテリ残量を推定する機能を備え、推定されたバッテリ残量を随時取得することができる。
[コンテンツ管理テーブルおよびサービス管理テーブルの管理内容例]
図3は、本技術の第1の実施の形態におけるメモリ300に記憶されているコンテンツ管理テーブル320およびサービス管理テーブル330の管理内容の一例を模式的に示す図である。図3のaには、コンテンツ管理テーブル320の管理内容例を示し、図3のbには、サービス管理テーブル330の管理内容例を示す。
コンテンツ管理テーブル320は、メモリ300のコンテンツ記憶領域310(図8、図9に示す)に格納されているコンテンツを管理するためのテーブルである。すなわち、コンテンツ管理テーブル320には、第1無線通信装置200が提供可能なサービス(コンテンツ記憶領域310に格納されているコンテンツにより提供可能なサービス)が登録されて管理される。また、コンテンツ管理テーブル320には、1つのサービスについて1つのサービス情報が登録される。このサービス情報は、サービスディスカバリ情報(図5に示す自装置サービス情報157)と1:1対応している。
具体的には、コンテンツ管理テーブル320には、コンテンツ321と、サービス322と、優先度323と、他の情報324とが関連付けて格納される。また、コンテンツ管理テーブル320では、優先度の高い順に各サービスが並べて管理される。図3のaでは、説明の容易のため、優先度が高いサービスを上側とし、下側に進むに従って優先度が低いサービスとなるものとする。
コンテンツ321には、各コンテンツを特定するための情報(例えば、図5、図6に示すコンテンツID164)が格納される。
サービス322には、各サービスを特定するための情報(例えば、図5、図6に示すサービスタイプ163)が格納される。
優先度323には、各サービスに設定された優先度(ランキング情報)が格納される。この優先度の設定方法については、図9等を参照して詳細に説明する。
他の情報324には、各サービスに関する各情報(例えば、図6に示す各情報(コンテンツID164、ランキング情報166以外の情報))が格納される。
サービス管理テーブル330は、第1無線通信装置200または近隣の無線通信装置が提供可能なサービスを管理するためのテーブルである。すなわち、サービス管理テーブル330には、第1無線通信装置200および近隣の無線通信装置が提供可能なサービスが登録されて管理される。また、サービス管理テーブル330には、1つのサービスについて1つのサービス情報が登録される。このサービス情報は、サービスディスカバリ情報(図5に示す自装置サービス情報157または他装置サービス情報158)と1:1対応している。
具体的には、サービス管理テーブル330には、サービス331と、優先度332と、カウンタ333と、他の情報334とが関連付けて格納される。また、サービス管理テーブル330では、優先度の高い順に各サービスが並べて管理される。図3のbでは、説明の容易のため、優先度が高いサービスを上側とし、下側に進むに従って優先度が低いサービスとなるものとする。
サービス331には、各サービスを特定するための情報(例えば、図5、図6に示すサービスタイプ163、コンテンツID164)が格納される。
優先度332には、各サービスに設定される優先度(ランキング情報)が格納される。この優先度の設定方法については、図8、図9等を参照して詳細に説明する。
カウンタ333には、一次的に優先度が下げられていることを示す値(カウンタ)が格納される。このカウンタの変更方法については、図15を参照して詳細に説明する。
他の情報334には、各サービスに関する各情報(例えば、図6に示す各情報(コンテンツID164、ランキング情報166以外の情報))が格納される。
例えば、制御部240は、サービスディスカバリ情報を周辺に存在する無線通信装置に報知する際には、サービス管理テーブル330の中から優先度の高い順に掲載可能な個数分だけサービス情報をピックアップして送信する。
なお、サービス管理テーブル330として、自装置サービス情報157と他装置サービス情報158とを別々に管理するようにしてもよく、両者をまとめて管理するようにしてもよい。
[サービスディスカバリ情報の送信例]
図4は、本技術の第1の実施の形態における通信システム100を構成する各無線通信装置がサービスディスカバリ情報を送信する場合における送信例を示す図である。
図4では、サービスディスカバリ情報を含めたビーコン(ビーコン信号)を定期的(または不定期)に送信する例を示す。また。図4では、横軸を時間軸とした場合におけるビーコンの送信例を示す。すなわち、図4では、時系列で順次送信されるビーコン141乃至143を模式的に示す。
このように、通信システム100を構成する各無線通信装置は、サービスディスカバリ情報(ビーコンに含まれる)を定期的(または不定期)に周囲の無線通信装置に報知する。なお、ビーコンの構成例については、図5を参照して詳細に説明する。
[サービスディスカバリ情報のフォーマット例]
図5および図6は、本技術の第1の実施の形態における通信システム100を構成する各無線通信装置が送信するビーコンのフォーマット例を示す図である。なお、図5のaには、ビーコン情報153に含まれる自装置サービス情報157のフォーマット例を示し、図5のbには、ビーコン情報153に含まれる他装置サービス情報158のフォーマット例を示す。また、図6には、自装置サービス情報157および他装置サービス情報158に含まれるサービス報知フィールドの内容例を示す。
ビーコン150は、プリアンブル(preamble)151と、ヘッダ152と、ビーコン情報153とを含む。
プリアンブル151は、パケット(ビーコン)の存在を示す情報である。すなわち、通信システム100を構成する各無線通信装置は、プリアンブル151を受信することにより、ビーコンの存在を検出することができる。
ヘッダ152は、パケットの所定位置に配置されてパケット(ビーコン)自体に関する情報を格納するものである。例えば、ヘッダ152には、送信元および送信先、パケットの大きさ等の各情報(パケット(ビーコン)自体に関する情報)が格納される。すなわち、通信システム100を構成する各無線通信装置は、ヘッダをデコードして解析する。この解析により、通信システム100を構成する各無線通信装置は、どの無線通信装置がどの無線通信装置宛てに送信した信号であるか、また、その信号がどの種別の信号であるか(ビーコンであるか否か等)を検出することができる。
ビーコン情報153は、通信システム100を構成する各無線通信装置に報知する情報である。すなわち、通信システム100を構成する各無線通信装置は、他の無線通信装置に報知すべき情報をビーコンに含めて送信する。
次に、ビーコン情報153について詳細に説明する。
ビーコン情報153には、時刻情報154と、ネットワークID155と、ネットワーク属性156と、自装置サービス情報157と、他装置サービス情報158と、その他情報159とが含まれる。
時刻情報154は、この情報を含むビーコンが送信元の無線通信装置から送信された時刻を示す時刻情報である。
ネットワークID155は、送信元の無線通信装置が構成するネットワークのIDを示す情報である。
ネットワーク属性156は、送信元の無線通信装置が構成するネットワークの属性を示す情報である。
自装置サービス情報157は、送信元の無線通信装置が提供するサービスに関する情報(自装置サービス情報)である。
他装置サービス情報158は、送信元の無線通信装置の周辺に存在する無線通信装置が提供するサービスに関する情報(他装置サービス情報)である。上述したように、自装置サービス情報157および他装置サービス情報158は、サービスディスカバリ情報に対応する。
その他情報159は、上述した情報以外の情報である。
次に、自装置サービス情報157および他装置サービス情報158について説明する。
図5のaに示すように、自装置サービス情報157は、Element ID160と、Length161と、サービス報知フィールド[0]乃至[N]162との情報フィールドから構成されている。
Element ID160は、自装置サービス情報が格納されていることを示す要素IDである。
Length161は、自装置サービス情報の要素の長さを示すLengthである。
サービス報知フィールド[0]乃至[N]162は、1または複数のサービス報知フィールドにより構成される(例えば、N個)。このサービス報知フィールドは、対応する無線通信装置が提供するサービス毎に1つが配置される。例えば、3つのサービスを提供している無線通信装置については、3つのフィールドが配置される。
サービス報知フィールド[0]乃至[N]162には、サービスタイプ163と、コンテンツID164と、コンテンツ属性165と、ランキング情報166と、キャッシュ推奨167と、クローン次数168と、二次配布情報169とが格納されている。なお、これらの各情報については、図6を参照して詳細に説明する。
図5のbに示すように、他装置サービス情報158は、Element ID170と、Length171と、無線通信装置ID[0]乃至[M]172と、サービス報知フィールド[0]乃至[M]173との情報フィールドから構成されている。
なお、他装置サービス情報158には、自装置サービス情報157と基本的には同様の情報が格納されるが、無線通信装置ID[0]乃至[M]172が追加されて格納される点が異なる。すなわち、Element ID170およびLength171は、図5のaに示すElement ID160およびLength161に対応する。また、無線通信装置ID[0]乃至[M]172と、サービス報知フィールド[0]乃至[M]173とは、無線通信装置が提供するサービス毎にペアとして配置される。
無線通信装置ID[0]乃至[M]172は、対応する無線通信装置(例えば、隣接する無線通信装置)を識別するためのIDである。すなわち、無線通信装置ID[0]乃至[M]172は、ペアとなるサービス報知フィールドのサービスをどの無線通信装置が提供しているかを示す情報である。
サービス報知フィールド[0]乃至[M]173は、1または複数のサービス報知フィールドにより構成される(例えば、M個)。なお、サービス報知フィールド[0]乃至[M]173は、他の無線通信装置(すなわち、ビーコンを送信する無線通信装置以外の無線通信装置)に関する情報が格納される点以外は、図5のaに示すサービス報知フィールド[0]乃至[N]162と同様である。
すなわち、無線通信装置ID[0]乃至[M]172とサービス報知フィールド[0]乃至[M]173との組合せ(すなわち、M個の組合せ)は、ビーコンを送信する無線通信装置に通知すべきサービスの数だけ存在する。
次に、図6を参照してサービス報知フィールドについて説明する。
サービスタイプ163は、サービスの内容(コンテンツ配信等)を識別するための情報である。また、サービスタイプ163には、このサービスディスカバリ情報をあと何回転送することができるかを示す情報(転送回数を制限するための制限情報)を含めるようにしてもよい。この制限情報を含めることにより、このサービスに関するサービスディスカバリ情報がその回数を超えて転送されることを防止することができる。また、サービスディスカバリ情報を受信した無線通信装置は、サービスタイプ163の情報に基づいて、サービスタイプ163により特定されるサービスを享受するか否かを決定することができる。
コンテンツID164は、サービスを特定するためのIDである。サービスディスカバリ情報を送信または受信する無線通信装置は、コンテンツID164の情報に基づいて、コンテンツID164により特定されるサービスを享受した旨を管理し、必要に応じて課金情報等を生成する。
コンテンツ属性165は、サービスを提供するために必要となるビット容量、サービスを享受可能なグループ、サービスを享受するために必要となる認証方法等を示す情報である。ここで、サービスを享受可能なグループは、例えば、サービスを提供する無線通信装置を所持するユーザの友達(この友達が所持する無線通信装置)とすることができる。この場合には、その友達を識別するための認証方法を用いて、そのグループに属する無線通信装置であるか否かを判断することができる。また、サービスディスカバリ情報を受信した無線通信装置は、コンテンツ属性165の情報に基づいて、これに対応するサービスを享受するか否か、また、享受可能か否かを決定することができる。
ランキング情報166は、サービス(コンテンツ)の評価(例えば、サービス(コンテンツ)へのアクセス頻度が高いか低いか)を示す情報である。サービスディスカバリ情報を送信する無線通信装置は、ランキング情報166の情報に基づいて、サービスディスカバリ情報を次の無線通信装置に報知すべきか、報知の頻度をどの程度に設定すべきかを決定することができる。サービスディスカバリ情報を受信した無線通信装置は、ランキング情報166の情報に基づいて、受信したコンテンツをキャッシュすべきか否かを決定することができる。例えば、高いランキングのサービスを報知し、享受するように、ランキング情報166の設定を行うことが好ましい。
キャッシュ推奨167は、隣接する無線通信装置に対してサービスのキャッシュを推奨する度合い(推奨度合い)を示す情報である。サービスディスカバリ情報を送信する無線通信装置は、サービスへのアクセスが多く、他の無線通信装置にもこのサービスを提供すべきであると判断した場合には、この推奨度合いを上げる設定を行う。また、サービスディスカバリ情報を受信した無線通信装置は、キャッシュ推奨167の情報に基づいて、コンテンツを受信してキャッシュすべきか否かを決定することができる。
クローン次数168は、サービス(コンテンツ)がオリジナルから何回コピーされているか、または、あと何回のコピーが許可されているかを示す情報である。サービスディスカバリ情報を受信した無線通信装置は、クローン次数168により定められている回数以上のコピーを保持することができないように制御される。
二次配布情報169は、サービスディスカバリ情報を受信した無線通信装置がサービス(コンテンツ)をキャッシュし、二次配布を行ってもよいか否かを示す情報である。サービスディスカバリ情報を受信した無線通信装置は、二次配布情報169の情報に基づいて、サービス(コンテンツ)のキャッシュ、および、その二次配布の要否が制御される。
例えば、図1に示す第1無線通信装置200がビーコンをブロードキャストで送信すると、そのビーコンを周囲の無線通信装置(第2無線通信装置102乃至第4無線通信装置104)が受信する。そして、第2無線通信装置102乃至第4無線通信装置104は、受信したビーコンのヘッダに基づいて、そのビーコンが第1無線通信装置200から送信されたビーコンであることを検出することができる。また、第2無線通信装置102乃至第4無線通信装置104は、受信したビーコンに含まれるビーコン情報153の内容を確認することにより、第1無線通信装置200が提供可能なサービス等を把握することができる。
例えば、第1無線通信装置200から送信されたビーコン150を第2無線通信装置102乃至第4無線通信装置104が受信した場合を想定する。この場合には、第2無線通信装置102乃至第4無線通信装置104は、受信したビーコン150に含まれるネットワーク属性156に基づいて、送信元の第1無線通信装置200が近隣にネットワークを構成して存在することを検出することができる。また、このネットワークの属性は、ネットワーク属性156により特定される。
また、第2無線通信装置102乃至第4無線通信装置104は、受信したビーコン150に含まれるサービス報知フィールド162に基づいて、第1無線通信装置200を介して享受可能な各種サービスに関する情報を取得することができる。
また、第2無線通信装置102乃至第4無線通信装置104は、第1無線通信装置200からのサービスディスカバリ情報を受信した場合には、自装置がマルチホップ・リレーの中継局として動作する。これにより、第2無線通信装置102乃至第4無線通信装置104は、第1無線通信装置200が中継先にどのようなサービスを提供可能であるかを通知することができる。すなわち、第2無線通信装置102乃至第4無線通信装置104が送信するサービスディスカバリ情報(自装置サービス情報157および他装置サービス情報158)には、部分的に第1無線通信装置200から提供されるサービスが含まれることになる。なお、第1無線通信装置200から提供されるサービスが含まれる情報は、他装置サービス情報158である。
このようにサービスディスカバリ情報の送受信を繰り返すことにより、第1無線通信装置200のサービスディスカバリ情報を、ネットワークの隅々まで提供することが可能となる。すなわち、各無線通信装置は、定期的に送信するビーコンにサービスディスカバリ情報を含めることにより、提供することが可能なサービスを周辺の無線通信装置に報知することができる。また、各無線通信装置は、ビーコンを受信することにより、周辺に存在する無線通信装置を発見することができ、同時に発見した無線通信装置がどのようなサービスを提供しているかを検出することもできる。
ただし、上述のように、パケットの転送回数を制限することにより、第1無線通信装置200が接続することができる通信相手を制限することができる。このように、転送回数を制限することにより、第1無線通信装置200のサービスディスカバリ情報を送信する範囲を調整することができる。これにより、オーバーヘッドを削減することができる。
[コンテンツのファイル構成例]
図7は、本技術の第1の実施の形態における各無線通信装置により送受信されるコンテンツのファイル構成の一例を示す図である。
コンテンツ180には、本体情報191以外に各種データ(付帯情報)が付帯されている。例えば、コンテンツ180には、ID(identifier)181と、属性182と、ランキング情報187とが付帯されている。
ID181は、コンテンツ180を同定するためのIDである。
属性182は、コンテンツ180の属性を示すパラメタ群である。具体的には、属性182には、大きさ183と、サービスグループ184と、認証方法185と、公開日時186等が含まれる。ここで、大きさ183は、例えば、コンテンツ180のビット容量を示す情報である。また、サービスグループ184は、コンテンツ180のサービスを享受可能なサービスグループを示す情報である。また、認証方法185は、コンテンツ180のサービスを享受するために必要な認証方法を示す情報である。また、公開日時186は、コンテンツ180の公開日時を示す情報である。
ランキング情報187は、コンテンツ180のサービスへのアクセス頻度(または、アクセスランキング)を示す指標である。すなわち、ランキング情報187は、コンテンツ180にどれだけ多くの人が興味があるかを示す指標である。また、ランキング情報187は、過去にコンテンツ180にアクセスがあった回数やコンテンツの前評判等に基づいてその指標が与えられている。例えば、ランキング情報187は、アクセス回数とコンテンツの前評判を示す値との加算により求められる。
また、ランキング情報187として、集計された期間毎の複数のランキング情報(例えば、本日のランキング188、週間ランキング189、年間ランキング190)が付帯される。
本体情報191は、コンテンツ本体の情報である。
ここで、本体情報191以外の付帯情報(ID181、属性182、ランキング情報187)の全部または一部は、サービス情報としてサービス管理テーブル330に格納される。そして、サービス管理テーブル330(図3に示す)に格納された付帯情報は、必要に応じて、ビーコン等に掲載されるサービスディスカバリ情報として取り出される。
また、本体情報191は、メモリ300のコンテンツ記憶領域310(図8、図9に示す)に格納される。また、メモリ300のコンテンツ記憶領域310に格納されたコンテンツについては、そのサービス情報(コンテンツへのインデックス情報)がコンテンツ管理テーブル320(図3に示す)に登録されて管理される。また、上述したように、コンテンツ管理テーブル320には、第1無線通信装置200が提供することができるサービスが優先度順に登録されている。
ここで、コンテンツの送信時には、第1無線通信装置200は、送信対象となるコンテンツの付帯情報(ランキング情報等)として、コンテンツ管理テーブル320およびサービス管理テーブル330の情報をコンテンツ本体に付加して送信するようにしてもよい。この場合には、コンテンツ配信の中継局においても、そのコンテンツの送信元のランキング情報を入手することができる。
[サービスディスカバリ情報の送受信例]
図8は、本技術の第1の実施の形態における通信システム100において送受信されるサービスディスカバリ情報の流れを模式的に示す図である。図8では、第3無線通信装置103→第1無線通信装置200→第2無線通信装置102の順序でサービスディスカバリ情報(ビーコンに含まれる)が送信される場合における流れを模式的に示す。
ビーコン351は、第3無線通信装置103が第1無線通信装置200に送信するビーコンを示し、ビーコン352は、第1無線通信装置200が第2無線通信装置102に送信するビーコンを示す。
例えば、第1無線通信装置200のメモリ300にコンテンツAが格納され、第3無線通信装置103のメモリにコンテンツBが格納されている場合を想定する。この場合には、第1無線通信装置200は、サービスA(コンテンツAに対応するサービス)を提供可能であり、第3無線通信装置103は、サービスB(コンテンツBに対応するサービス)を提供可能である。
最初に、第3無線通信装置103は、サービスB(コンテンツB)に関するサービスディスカバリ情報(自装置サービス情報)をビーコン351に含めて第1無線通信装置200に送信する。
ビーコン351を受信した第1無線通信装置200の制御部240は、受信したビーコン351に含まれるサービスディスカバリ情報に基づいて、サービス情報(サービスB)をサービス管理テーブル330に格納する。すなわち、第1無線通信装置200のメモリ300に格納されているコンテンツAに関するサービスAとともに、第3無線通信装置103のメモリに格納されているコンテンツBに関するサービスBとがサービス管理テーブル330に登録される。
また、第1無線通信装置200の制御部240は、サービス管理テーブル330に格納されているサービス情報に基づいて、サービスディスカバリ情報を生成する。ここで、図8に示す例では、サービス管理テーブル330にサービスAおよびサービスBが登録されている。このため、第1無線通信装置200は、サービスA(コンテンツA)およびサービスB(コンテンツB)に関するサービスディスカバリ情報(自装置サービス情報、他装置サービス情報)をビーコン352に含めて第2無線通信装置102に送信する。すなわち、サービスAに関する自装置サービス情報と、サービスBに関する他装置サービス情報とが送信される。
[コンテンツの送受信例]
図9は、本技術の第1の実施の形態における通信システム100において送受信されるコンテンツの流れを模式的に示す図である。図9では、第3無線通信装置103→第1無線通信装置200→第2無線通信装置102の順序でコンテンツCが送信される場合における流れを模式的に示す。
コンテンツC(353)は、第3無線通信装置103が第1無線通信装置200に送信するコンテンツを示し、コンテンツC(354)は、第1無線通信装置200が第2無線通信装置102に送信するコンテンツを示す。
ここで、コンテンツC(353)およびコンテンツC(354)は、本体情報191(図7に示す)は同一であるが、付帯情報(例えば、図7に示すランキング情報187)が異なることがある。
例えば、第1無線通信装置200のメモリ300にコンテンツAが格納され、第3無線通信装置103のメモリにコンテンツCが格納されている場合を想定する。この場合に、第3無線通信装置103が、第1無線通信装置200を経由して、サービスC(コンテンツCに対応するサービス)を第2無線通信装置102に提供する場合を想定する。
最初に、第3無線通信装置103は、第1無線通信装置200にコンテンツCを送信する。ここで、第1無線通信装置200は、受信したコンテンツCをメモリ300のコンテンツ記憶領域310に格納するものとする。
この場合には、第1無線通信装置200の制御部240は、受信したコンテンツCをコンテンツ記憶領域310に格納するとともに、サービス情報(サービスC)をコンテンツ管理テーブル320およびサービス管理テーブル330に格納する。すなわち、第1無線通信装置200のメモリ300に格納されているコンテンツA、Cに関するサービスA、Cがコンテンツ管理テーブル320およびサービス管理テーブル330に登録される。
また、第1無線通信装置200の制御部240は、第2無線通信装置102にコンテンツC(354)を送信する。すなわち、第1無線通信装置200を経由して、第3無線通信装置103から第2無線通信装置102にサービスC(コンテンツCに対応するサービス)が提供される。この場合に、第1無線通信装置200には、コンテンツCがキャッシュされる。
なお、図8、図9では、説明の容易のため、コンテンツ管理テーブル320およびサービス管理テーブル330に登録されているサービスの数が少ない場合における例を示す。しかしながら、コンテンツ管理テーブル320およびサービス管理テーブル330に登録されているサービスの数が多い場合には、上述したように、サービスの全てを周辺機器に報知することは、データ量の観点から好ましくない。そこで、本技術の実施の形態では、サービス情報の優先度(ランキング情報)を適宜変更し、所定条件を満たすサービスに関するサービスディスカバリ情報のみを周辺機器に報知する。また、コンテンツの優先度(ランキング情報)に基づいて、そのコンテンツをメモリ300に格納するか否かを判断する。
[通信例]
図10は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。なお、図10では、第1無線通信装置200、第2無線通信装置102、第7無線通信装置107、第8無線通信装置108が、図1に示すトポロジで存在している場合における通信処理例を示す。また、図10では、報知対象となるサービスの転送回数が2回に限定されている場合における通信例を示す。
第1無線通信装置200は、周辺に存在する各無線通信装置にサービスディスカバリ情報を報知する(401、402)。例えば、第1無線通信装置200は、周辺に存在する第2無線通信装置102に、サービスディスカバリ情報を含むビーコンを送信する(401、402)。
なお、図10では、サービスディスカバリ情報に含まれるサービスを提供する無線通信装置を表す数値をサービスディスカバリ情報の後に付す括弧内に示す。例えば、すなわち、サービスディスカバリ情報(1)は、第1無線通信装置200が提供するサービスに関するサービスディスカバリ情報を示す。また、サービスディスカバリ情報(1、2)は、第1無線通信装置200が提供するサービスと、第2無線通信装置102が提供するサービスとに関するサービスディスカバリ情報を示す。また、サービスディスカバリ情報(2、7)は、第2無線通信装置102が提供するサービスと、第7無線通信装置107が提供するサービスとに関するサービスディスカバリ情報を示す。
また、第1無線通信装置200が提供するサービスに関するサービスディスカバリ情報(1)は、自装置サービス情報157(図5に示す)として送信される(401、402)。
第2無線通信装置102は、第1無線通信装置200からのサービスディスカバリ情報(1)の受信により、送信元(第1無線通信装置200)がどのようなサービスを提供しているかを検出することができる。
続いて、第2無線通信装置102は、周辺に存在する各無線通信装置にサービスディスカバリ情報(1、2)を報知する(403、404)。例えば、第2無線通信装置102は、周辺に存在する第7無線通信装置107に、サービスディスカバリ情報(1、2)を含むビーコンを送信する(403、404)。ここで、第2無線通信装置102から第7無線通信装置107に送信されるサービスディスカバリ情報(1、2)には、第1無線通信装置200が提供するサービスと、第2無線通信装置102が提供するサービスとに関するサービスディスカバリ情報が含まれる。この場合に、第2無線通信装置102が提供するサービスに関するサービスディスカバリ情報(2)は、自装置サービス情報157(図5に示す)として送信される。一方、第1無線通信装置200が提供するサービスに関するサービスディスカバリ情報(1)は、他装置サービス情報158(図5に示す)として送信される。
第7無線通信装置107は、第2無線通信装置102からのサービスディスカバリ情報(1、2)の受信により、送信元(第2無線通信装置102)およびその先(第1無線通信装置200)がどのようなサービスを提供しているかを検出することができる。
続いて、第7無線通信装置107は、周辺に存在する各無線通信装置にサービスディスカバリ情報(2、7)を報知する(405、406)。例えば、第7無線通信装置107は、周辺に存在する第8無線通信装置108に、サービスディスカバリ情報(2、7)を含むビーコンを送信する(405、406)。
ここで、上述したように、転送回数が2回に限定されているため、第7無線通信装置107から第8無線通信装置108に送信されるサービスディスカバリ情報(2、7)には、第1無線通信装置200が提供するサービスは含まれない。すなわち、第7無線通信装置107から第8無線通信装置108に送信されるサービスディスカバリ情報(2、7)には、第2無線通信装置102が提供するサービスと、第7無線通信装置107が提供するサービスとに関するサービスディスカバリ情報が含まれる。
また、第7無線通信装置107が提供するサービスに関するサービスディスカバリ情報(7)は、自装置サービス情報157(図5に示す)として送信される。一方、第2無線通信装置102が提供するサービスに関するサービスディスカバリ情報(2)は、他装置サービス情報158(図5に示す)として送信される。
第8無線通信装置108は、第7無線通信装置107からのサービスディスカバリ情報(2、7)の受信により、送信元(第7無線通信装置107)およびその先(第2無線通信装置102)がどのようなサービスを提供しているかを検出することができる。
ここで、第7無線通信装置107が、先に受信したサービスディスカバリ情報(1、2)に基づいて、第1無線通信装置200が提供するサービスの享受を依頼する場合を想定する。
第7無線通信装置107は、中継局(第2無線通信装置102)を経由して、サービス実行依頼を第1無線通信装置200に送信する(407乃至410)。
サービス実行依頼を受信すると(410)、第1無線通信装置200は、サービス実行依頼に係るコンテンツ(付帯情報を含む)をメモリ300から読み出す。そして、第1無線通信装置200は、中継局(第2無線通信装置102)を経由して、その読み出されたコンテンツ(付帯情報を含む)を第7無線通信装置107に送信する(411乃至414)。これにより、第7無線通信装置107は、所望のサービスを享受することができる(411乃至414)。
ここで、中継局(第2無線通信装置102)は、第1無線通信装置200からコンテンツを受信することをトリガとして、コンテンツ受信イベントを起動する。このコンテンツ受信イベントは、中継局またはサービスを享受する無線通信装置が、新規のサービスを提供することができるようになるために発生するイベントである。例えば、コンテンツ受信イベントは、近隣の無線通信装置からコンテンツを受信した場合、I/Oインタフェース230からの新たなコンテンツがメモリ300に格納された場合等に発生する。また、例えば、コンテンツ受信イベントは、近隣の無線通信装置にコンテンツを送信するため、マルチホップ・リレーの中継を行う際に発生する。
例えば、第2無線通信装置102においてコンテンツ受信イベントが起動された場合に(412)、第2無線通信装置102がコンテンツを格納する旨を決定した場合を想定する。この場合には、第1無線通信装置200に格納されていたコンテンツ(第2無線通信装置102が受信したコンテンツ)は、中継局(第2無線通信装置102)に格納される(キャッシュされる)(415)。
また、例えば、第7無線通信装置107においてコンテンツ受信イベントが起動された場合に(414)、第7無線通信装置107がコンテンツを格納しない旨を決定した場合を想定する。この場合には、第1無線通信装置200に格納されていたコンテンツ(第2無線通信装置102が受信したコンテンツ)は、第7無線通信装置107には格納されない。このように、同一のコンテンツであっても、そのコンテンツを格納する無線通信装置と、そのコンテンツを格納しない無線通信装置とがある。なお、コンテンツを格納するか否かの処理(コンテンツ格納処理)については、図13を参照して詳細に説明する。
また、各無線通信装置は、周辺に存在する各無線通信装置にサービスディスカバリ情報を報知する(416乃至421)。ここで、第7無線通信装置107がサービス実行依頼をしたサービス提供(411乃至414)が終了した後には、中継したコンテンツを中継局(第2無線通信装置102)でも提供することができる状態となっている。このため、中継局(第2無線通信装置102)が送信するサービスディスカバリ情報(1、2)には、第1無線通信装置200が提供するサービスに関するサービスディスカバリ情報が自装置サービス情報157(図5に示す)として含まれる。
また、第7無線通信装置107は、第2無線通信装置102からのサービスディスカバリ情報を受信した場合には(419)、第1無線通信装置200が提供するサービスを第2無線通信装置102でも提供することができることを検出することができる。
このように、第1無線通信装置200が提供するサービスを第2無線通信装置102でも提供することができる。このため、上述したように、転送回数が2回に限定されている場合でも、第7無線通信装置107から第8無線通信装置108に送信されるサービスディスカバリ情報(1、2、7)には、第1無線通信装置200が提供するサービスが含まれる。すなわち、このサービスディスカバリ情報(1、2、7)には、第1無線通信装置200が提供するサービスと、第2無線通信装置102が提供するサービスと、第7無線通信装置107が提供するサービスとに関するサービスディスカバリ情報が含まれる。この場合に、第7無線通信装置107が提供するサービスに関するサービスディスカバリ情報(7)は、自装置サービス情報157(図5に示す)として送信される。一方、第2無線通信装置102が提供するサービスに関するサービスディスカバリ情報(1、2)は、他装置サービス情報158(図5に示す)として送信される。
第8無線通信装置108は、第7無線通信装置107からのサービスディスカバリ情報(1、2、7)を受信する(421)。この受信により、第8無線通信装置108は、送信元(第7無線通信装置107)およびその先(第2無線通信装置102)がどのようなサービスを提供しているかを検出することができる。この場合に、第1無線通信装置200が提供するサービスを第2無線通信装置102でも提供することができるため、第8無線通信装置108は、第1無線通信装置200が提供するサービスについても利用することができる。
なお、図10では、転送回数が制限されている場合であっても、サービスを受ける無線通信装置やサービスを中継する無線通信装置が、サービスを提供するためのコンテンツを格納した場合には、そのコンテンツの転送回数の制限を例外的に緩和する例を示す。ただし、サービスを受ける無線通信装置やサービスを中継する無線通信装置が、サービスを提供するためのコンテンツを格納した場合であっても、そのコンテンツの転送回数の制限に従って、その転送回数を制限するようにしてもよい。例えば、図10に示すように、転送回数が2回に限定されている場合に、第1無線通信装置200が提供するサービスに対応するコンテンツを第2無線通信装置102が格納した場合を想定する。この場合でも、転送回数(2回)に従って、第7無線通信装置107から第8無線通信装置108に送信されるサービスディスカバリ情報には、第1無線通信装置200が提供するサービスを含めないようにすることができる。また、転送回数の制限の緩和については、ユーザ設定により変更可能とするようにしてもよい。
なお、図10では、コンテンツを受信した場合における処理を主に説明した。ただし、サービスディスカバリ情報を受信した場合には、受信したサービスディスカバリ情報を登録する処理等が行われる。また、サービスディスカバリ情報を受信した場合には、サービス情報の優先度を変更する処理等が行われる。これらの各処理については、図11、図12等を参照して詳細に説明する。
[無線通信装置の動作例]
図11および図12、本技術の第1の実施の形態における第1無線通信装置200によるサービス情報管理制御処理の処理手順の一例を示すフローチャートである。
最初に、各イベントの待ち状態へと変遷する(ステップS901、S905、S910)。ここで、各イベントは、コンテンツ受信イベント、サービスディスカバリ情報受信イベント、サービスディスカバリ情報送信イベントである。そして、サービスディスカバリ情報を送信または受信した場合、または、サービス提供を開始するタイミング(例えば、ユーザによる開始操作の受付時)となった場合には、対応するイベントが発生し、そのイベントの処理が開始される。なお、図11では、近隣の無線通信装置からコンテンツを受信した場合を、コンテンツ受信イベントが発生する場合の一例として説明する。
また、サービスディスカバリ情報受信イベントは、近隣の無線通信装置からサービスディスカバリ情報(または、これを含む信号(例えば、ビーコン))が受信されたことに応じて発生するイベントである。
また、サービスディスカバリ情報送信イベントは、サービスディスカバリ情報(または、これを含む信号(例えば、ビーコン))を送信するタイミングで発生するイベントである。
第1無線通信装置200が近隣の無線通信装置からコンテンツを受信した場合(すなわち、コンテンツ受信イベントが発生した場合)には(ステップS901)、受信したコンテンツを格納するか否かを判断するコンテンツ格納処理が行われる(ステップS920)。このコンテンツ格納処理については、図13を参照して詳細に説明する。
続いて、制御部240は、コンテンツ格納処理(ステップS920)でコンテンツがメモリ300に格納されたか否かを判断する(ステップS902)。そして、コンテンツがメモリ300に格納されていない場合には(ステップS902)、ステップS905に進む。すなわち、イベント待ち状態へと戻る。
コンテンツがメモリ300に格納された場合には(ステップS902)、制御部240は、サービス情報の優先度を変更する(ステップS903)。例えば、新規のコンテンツがメモリ300に格納された場合には(ステップS902)、第1無線通信装置200は、その新規のコンテンツに関するサービスディスカバリ情報を積極的に報知することが好ましい。そこで、第1無線通信装置200は、その新規のコンテンツに関するサービスディスカバリ情報を積極的に報知するために、その新規のコンテンツに関する優先度を上げる処理(新規コンテンツの優先度(ランキング情報)を上方補正処理)を行うことができる。また、図16に示すように、新規のコンテンツに関する優先度について変更処理を行うようにしてもよい。
続いて、制御部240は、次回に送信するサービスディスカバリ情報をサービス管理テーブル330に基づいて生成する(ステップS904)。例えば、サービス管理テーブル330に登録されているサービス情報のうち、優先度が高い所定数のサービス情報を含むサービスディスカバリ情報が生成される(ステップS904)。そして、ステップS905に進む。すなわち、イベント待ち状態へと戻る。
サービスディスカバリ情報を受信した場合(すなわち、サービスディスカバリ情報受信イベントが発生した場合)には(ステップS905)、制御部240は、受信したサービスディスカバリ情報を確認する(ステップS906)。すなわち、制御部240は、受信したサービスディスカバリ情報を解析し(ステップS906)、受信したサービスディスカバリ情報をサービス管理テーブル330に登録するか否かを判断する(ステップS907)。例えば、制御部240は、サービス管理テーブル330に登録されているサービス情報の優先度(例えば、最も低い優先度)を基準とする。そして、制御部240は、その基準とされた優先度よりも高いランキング情報166(図5、図6に示す)が、受信したサービスディスカバリ情報に含まれるか否かを判断する。そして、制御部240は、その基準とされた優先度よりも高いランキング情報166に対応するサービスディスカバリ情報をサービス情報としてサービス管理テーブル330に登録する(ステップS908)。なお、基準優先度よりも低いサービスディスカバリ情報については、サービス管理テーブル330に登録しない。
続いて、受信後の優先度変更処理が行われる(ステップS940)。この受信後の優先度変更処理については、図14を参照して詳細に説明する。
続いて、制御部240は、次回に送信するサービスディスカバリ情報をサービス管理テーブル330に基づいて生成する(ステップS909)。なお、このサービスディスカバリ情報の生成方法は、ステップS904と同様である。
サービスディスカバリ情報を送信するタイミングとなった場合(すなわち、サービスディスカバリ情報送信イベントが発生した場合)には(ステップS910)、制御部240は、サービスディスカバリ情報を送信する(ステップS911)。すなわち、生成されたサービスディスカバリ情報(自装置サービス情報157および他装置サービス情報158(図5に示す))を信号に掲載するフォーマットに揃えて送信可能な状態にする処理が行われる(ステップS911)。そして、サービスディスカバリ情報が送信される(ステップS911)。例えば、生成されたサービスディスカバリ情報を含むビーコンが送信される(ステップS911)。なお、サービスディスカバリ情報については、例えば、ステップS904、S909、S913において生成される。
続いて、制御部240は、サービス管理テーブル330に登録されているサービス情報の数が閾値(例えば、ビーコンに含めることが可能な数)を超えているか否かを判断する(ステップS912)。そして、サービス管理テーブル330に登録されているサービス情報の数が閾値以下である場合には(ステップS912)、ステップS914に進む。一方、サービス管理テーブル330に登録されているサービス情報の数が閾値を超えている場合には、サービス管理テーブル330に登録されている優先度を変更する送信後の優先度変更処理が行われる(ステップS950)。なお、送信後の優先度変更処理については、図15を参照して詳細に説明する。
続いて、制御部240は、次回に送信するサービスディスカバリ情報をサービス管理テーブル330に基づいて生成する(ステップS913)。なお、このサービスディスカバリ情報の生成方法は、ステップS904と同様である。
続いて、サービス情報管理制御処理の動作の終了が指示されたか否かが判断され(ステップS914)、その終了が指示された場合には、サービス情報管理制御処理の動作を終了する。一方、サービス情報管理制御処理の動作の終了が指示されていない場合には(ステップS914)、ステップS901に戻る。なお、ステップS901は、特許請求の範囲に記載の通信手順の一例である。また、ステップS920は、特許請求の範囲に記載の制御手順の一例である。
ここで、受信したサービスディスカバリ情報に含まれるサービス(例えば、コンテンツID164で特定される)がサービス管理テーブル330に既に登録されていることも想定される。この場合には、同一のサービスを他の無線通信装置からも提供することが可能である。そこで、受信したサービスディスカバリ情報に含まれるサービスがサービス管理テーブル330に既に登録されている場合には、既に登録されているサービスよりもランキング情報が高いサービスのみを格納するようにしてもよい。
例えば、制御部240は、受信したサービスディスカバリ情報に含まれるランキング情報166と、サービス管理テーブル330に登録されているサービスの優先度とを比較し、ランキングの高いサービスのみを格納するようにする。これにより、重複サービスを登録することを避けることができる。また、サービスディスカバリ情報を受信した各無線通信装置は、ランキング情報が高い無線通信装置から所望のサービスを取得することができるため、ネットワークを有効利用することができる。
[無線通信装置の動作例]
図13は、本技術の第1の実施の形態における第1無線通信装置200によるサービス情報管理制御処理の処理手順のうちのコンテンツ格納処理手順(図11に示すステップS920の処理手順)の一例を示すフローチャートである。
最初に、制御部240は、受信したコンテンツを格納するための空き領域がメモリ300に存在するか否かを判断する(ステップS921)。すなわち、メモリ300の空き容量(例えば、図8、図9に示すコンテンツ記憶領域310の空き容量)が、受信したコンテンツの容量よりも大きいか否かが判断される(ステップS921)。
受信したコンテンツを格納するための空き領域がメモリ300に存在する場合には(ステップS921)、制御部240は、受信したコンテンツをコンテンツ管理テーブル320およびサービス管理テーブル330に登録する(ステップS922)。例えば、制御部240は、受信したコンテンツのランキング情報187(図7に示す)を取得する。そして、制御部240は、取得されたランキング情報187を優先度323、332(図3に示す)として、コンテンツ管理テーブル320およびサービス管理テーブル330に登録する。この場合に、受信したコンテンツのランキング情報187(図7に示す)に基づいて、コンテンツ管理テーブル320およびサービス管理テーブル330への登録位置が決定される。また、受信したコンテンツのランキング情報187については、図16に示す変更処理を施した後に、コンテンツ管理テーブル320およびサービス管理テーブル330への登録処理を行うようにしてもよい。
続いて、制御部240は、受信したコンテンツをメモリ300の空き領域に格納する(ステップS923)。
また、空き領域がメモリ300に存在しない場合には(ステップS921)、制御部240は、優先度が低いコンテンツをメモリ300から削除すれば、受信したコンテンツを格納することができるか否かを判断する(ステップS924乃至S926)。例えば、制御部240は、受信したコンテンツのランキング情報187(図7に示す)を取得し、受信したコンテンツのランキング情報187と、メモリ300に格納されているコンテンツのランキング情報とを比較する(ステップS924)。すなわち、受信したコンテンツのランキング情報187と、コンテンツ管理テーブル320に登録されている優先度とが比較される(ステップS924)。そして、制御部240は、メモリ300に格納されているコンテンツのうちから、受信したコンテンツよりもランキング情報が低いコンテンツを抽出する(ステップS924)。
続いて、制御部240は、抽出されたコンテンツ(受信したコンテンツのランキング未満となるコンテンツ)の容量(合計容量)を算出する(ステップS925)。続いて、制御部240は、算出されたコンテンツの容量(合計容量)とメモリ300の空き容量との合計値と、受信したコンテンツの容量とを比較し、その合計値が、受信したコンテンツの容量よりも大きいか否かを判断する(ステップS926)。すなわち、受信したコンテンツのランキング情報を下回るコンテンツ(メモリ300に格納されているコンテンツ)を廃棄すれば、受信したコンテンツを格納することができるか否かが判断される(ステップS926)。
その合計値が、受信したコンテンツの容量よりも大きい場合には(ステップS926)、制御部240は、比較した優先度(ランキング情報)の順列に基づいて、コンテンツ管理テーブル320およびサービス管理テーブル330を更新する(ステップS927)。すなわち、受信したコンテンツがコンテンツ管理テーブル320およびサービス管理テーブル330に登録される(ステップS927)。この場合に、制御部240は、抽出されたコンテンツ(受信したコンテンツのランキング未満となるコンテンツ)の登録をコンテンツ管理テーブル320から削除する。
続いて、制御部240は、抽出されたコンテンツ(受信したコンテンツのランキング未満となるコンテンツ)をメモリ300から削除する(ステップS928)。続いて、制御部240は、受信したコンテンツをメモリ300の空き領域に格納する(ステップS929)。
また、算出されたコンテンツの容量(合計容量)とメモリの空き容量との合計値が、受信したコンテンツの容量以下である場合には(ステップS926)、制御部240は、受信したコンテンツを廃棄する(ステップS930)。
ここで、図7に示すように、受信したコンテンツに付帯するランキング情報187には、複数のランキング(異なる時系列等の属性のランキング)が含まれる。このため、上述したランキングの比較の際(ステップS922、S924、S927)には、第1無線通信装置200のユーザの趣向に基づいて、ユーザの好みに応じたランキング属性に基づいて比較判断を行うことが好ましい。ユーザの趣向は、例えば、ユーザによる手動操作(例えば、図17に示す使用ランキング選択ボタン511乃至513を用いた選択操作)に基づく手動設定や過去の履歴情報に基づく自動設定により決定することができる。例えば、自動設定を行う場合には、過去のユーザのアクセス回数を集計しておき、ユーザが最もよくアクセスするコンテンツと相関の強いランキング属性を学習することにより、ユーザの趣向を設定することができる。
なお、キャッシュすることができるコンテンツ(例えば、音楽コンテンツ、映画コンテンツ、動画コンテンツ)と、キャッシュすることができないコンテンツ(例えば、リアルタイムの動画)とが存在する。このコンテンツのキャッシュの可否については、コンテンツ識別情報(例えば、図5、図6に示すサービスタイプ163、コンテンツID164)を用いて判断することができる。
このように、制御部240は、受信したコンテンツの容量およびメモリ300の記憶容量の関係と、メモリ300に格納されているコンテンツの優先度とに基づいて、受信したコンテンツをメモリ300に格納するか否かを判断する。例えば、制御部240は、受信したコンテンツの容量がメモリ300の記憶容量を超えている場合には、メモリ300に格納されているコンテンツのうちから所定条件を満たすコンテンツを抽出して削除する。ここで、所定条件を満たすコンテンツは、例えば、受信したコンテンツよりも優先度が低いコンテンツである。そして、制御部240は、受信したコンテンツをメモリ300に格納する。
[無線通信装置の動作例]
図14は、本技術の第1の実施の形態における第1無線通信装置200によるサービス情報管理制御処理の処理手順のうちの受信後の優先度変更処理手順(図11に示すステップS940の処理手順)の一例を示すフローチャートである。
上述したように、サービスディスカバリ情報が受信された場合には(図11に示すステップS905)、そのサービスディスカバリ情報に含まれるランキング情報166(図5、図6に示す)を優先度として登録することができる(図11に示すステップS908)。すなわち、ランキング情報166(図5、図6に示す)の値を、優先度を示すパラメタとして利用することができる。また、図16に示す変更処理によりランキング情報を補正し、この補正が施された値(補正がされたランキング情報)を優先度を示すパラメタとして利用するようにしてもよい。
ここで、サービスディスカバリ情報に含まれるサービスタイプ163(図5、図6に示す)に含まれる残り転送回数が0であった場合には、これ以降、そのサービスディスカバリ情報を転送することができない。そこで、制御部240は、サービスディスカバリ情報に含まれるサービスタイプ163に含まれる残り転送回数が0であるか否かを判断する(ステップS941)。そして、サービスディスカバリ情報に含まれるサービスタイプ163に含まれる残り転送回数が0である場合には(ステップS941)、制御部240は、登録された優先度(ランキング情報)を最悪値に設定する(ステップS942)。この場合には、そのサービスディスカバリ情報を格納しないようにしてもよい(例えば、登録を抹消するようにしてもよい)。
このように、他の無線通信装置からのサービスディスカバリ情報を受信した際に、このサービスディスカバリ情報を第1無線通信装置200が転送するか否かを判断する場合に、転送回数等を参照することができる。上述したように、サービスディスカバリ情報のサービスタイプ163(図5、図6に示す)には、このサービスディスカバリ情報をあと何回転送してよいかを示す回数(転送可能回数)を含めることができる。例えば、サービスディスカバリ情報のサービスタイプ163に転送可能回数が含まれる場合には、そのサービスディスカバリ情報が転送可能回数を超えて転送されることがないように、サービス管理テーブル330に登録しない処理を行うことができる。または、サービス管理テーブル330に登録はするが、第1無線通信装置200が送信する他装置サービス情報158(図5に示す)に含まれないように、その優先度を下げて登録するようにしてもよい。これにより、エリアを制限したサービスディスカバリ情報の提供が可能となり、かつ、無駄な情報をネットワークに転送することを防止することができる。
[無線通信装置の動作例]
図15は、本技術の第1の実施の形態における第1無線通信装置200によるサービス情報管理制御処理の処理手順のうちの送信後の優先度変更処理手順(図11に示すステップS950の処理手順)の一例を示すフローチャートである。
ここで、優先度が比較的高いサービスについては、そのサービスディスカバリ情報が頻繁に送信されることが想定される。しかしながら、同一のサービスに関するサービスディスカバリ情報のみを報知していると、近隣の無線通信装置に他のサービスの存在を通知することができないおそれがある。そこで、本技術の実施の形態では、送信対象となったサービスディスカバリ情報に係るサービスについては、その優先度を一時的に下げる等の処理を行う。これにより、同一のサービスに関するサービスディスカバリ情報のみが報知されることを防止し、各サービスに関するサービスディスカバリ情報を順番に送信することができる。
最初に、制御部240は、サービス管理テーブル330に登録されているサービスに関するサービス情報を取得する(ステップS951)。続いて、制御部240は、その取得されたサービス情報のカウンタが0よりも大きいか否かを判断する(ステップS952)。そして、カウンタが0である場合には(ステップS952)、ステップS954に進む。一方、カウンタが0よりも大きい場合には(ステップS952)、制御部240は、その取得されたサービス情報の優先度をεだけ上げ、かつ、その取得されたサービス情報のカウンタをεだけ減算する(ステップS953)。ここで、εは、例えば、正の整数である。
続いて、制御部240は、サービス管理テーブル330に登録されている全てのサービス情報を取得したか否かを判断し(ステップS954)、全てのサービス情報を取得していない場合には、ステップS951に戻る。一方、全てのサービス情報を取得した場合には(ステップS951)、制御部240は、今回送信対象となったサービス情報を取得する(ステップS955)。
続いて、制御部240は、その取得されたサービス情報(今回送信対象となったサービス情報)の優先度をθだけ下げ、かつ、その取得されたサービス情報のカウンタをθだけ加算する(ステップS956)。ここで、θは、例えば、正の整数である。また、ε、θの大小関係については、固定とするようにしてもよく、ユーザの好みに応じて変更可能としてもよい。
続いて、制御部240は、今回送信対象となった全てのサービス情報を取得したか否かを判断し(ステップS957)、今回送信対象となった全てのサービス情報を取得していない場合には、ステップS955に戻る。一方、今回送信対象となった全てのサービス情報を取得した場合には(ステップS955)、送信後の優先度変更処理の動作を終了する。
このように、サービスディスカバリ情報の送信処理が行われると、サービス管理テーブル330に登録されているサービス情報がスキャンされ、カウンタの値がノンゼロであるサービス情報が抽出される。そして、抽出された各サービス情報について、その優先度がεだけ元に戻され、かつ、そのカウンタの値がεだけ減算される。このように、送信イベントが発生する度に、各サービス情報の優先度を元に戻し、カウンタの値を下げる処理が行われる。
そして、今回送信対象となった全てのサービス情報については、各サービス情報の優先度がθだけ下げられ、かつ、そのカウンタがθだけ加算される。これにより、今回送信対象となった全てのサービス情報の優先度がθだけ下げられるが、これ以降、カウンタに加算された値だけ徐々に戻されることになる。
すなわち、サービスディスカバリ情報が送信される毎に、サービス管理テーブル330に登録されているサービス(送信対象となったサービス以外のサービス)の優先度が上がるように更新される。このため、サービス管理テーブル330に登録されているサービスについては、何れかのタイミングで他の無線通信装置に通知することができる。
このように、制御部240は、サービスディスカバリ情報に含まれるランキング情報(優先度)に基づいて、そのサービスディスカバリ情報の他の無線通信装置への送信頻度を変更することができる。
[無線通信装置の動作例]
図16は、本技術の第1の実施の形態における第1無線通信装置200によるランキング情報(優先度)変更制御処理の処理手順の一例を示すフローチャートである。このランキング情報変更制御処理は、例えば、コンテンツ管理テーブル320およびサービス管理テーブル330に登録されているサービスの優先度(ランキング情報)について定期的または不定期に行うことができる。また、このランキング情報変更制御処理は、例えば、上述したように、コンテンツ受信時、サービス情報の登録時等に適宜行うようにしてもよい。
最初に、制御部240は、コンテンツ管理テーブル320の管理内容に基づいて、メモリ300に格納されているコンテンツの数が閾値を超えているか否かを判断する(ステップS961)。すなわち、第1無線通信装置200が所定数以上のサービスを提供する能力を有するか否かが判断される。そして、メモリ300に格納されているコンテンツの数が閾値を超えている場合には(ステップS961)、サービス情報の優先度(ランキング情報)にAを加算する(ステップS962)。すなわち、サービス情報の優先度(ランキング情報)の上方修正が行われる。
続いて、制御部240は、通信部220からの通信可能数情報に基づいて、通信可能な近隣の無線通信装置の数が閾値を超えているか否かを判断する(ステップS963)。すなわち、第1無線通信装置200が、比較的多くの無線通信装置と通信することができる場所に存在するか否かが判断される。そして、通信可能な近隣の無線通信装置の数が閾値を超えている場合には(ステップS963)、サービス情報の優先度(ランキング情報)にBを加算する(ステップS964)。すなわち、サービス情報の優先度(ランキング情報)の上方修正が行われる。
続いて、制御部240は、通信部220からの混雑度情報に基づいて、通信回線の混雑度が閾値を超えているか否かを判断する(ステップS965)。すなわち、第1無線通信装置200が、通信回線が混雑している場所に存在するか否かが判断される。そして、通信回線の混雑度が閾値を超えている場合には(ステップS965)、サービス情報の優先度(ランキング情報)からCを減算する(ステップS966)。すなわち、サービス情報の優先度(ランキング情報)の下方修正が行われる。
続いて、制御部240は、通信部220からの通信状態情報に基づいて、第1無線通信装置200が狭帯域信号の伝送のみが可能であるか否かを判断する(ステップS967)。すなわち、第1無線通信装置200が、広帯域信号の伝送が不可能であり、狭帯域信号の伝送のみが可能であるか否かが判断される。そして、狭帯域信号の伝送のみが可能である場合には(ステップS967)、サービス情報の優先度(ランキング情報)からDを減算する(ステップS968)。すなわち、サービス情報の優先度(ランキング情報)の下方修正が行われる。
続いて、制御部240は、移動検出部260からの移動情報に基づいて、第1無線通信装置200が移動して場所を移る可能性があるか否かを判断する(ステップS969)。例えば、第1無線通信装置200のユーザが移動中(例えば、乗り物で移動中、徒歩で移動中)であるか否かが判断される。例えば、第1無線通信装置200の移動距離(例えば、単位時間当たりの移動距離)が所定時間継続して所定値(例えば、1分当たり50m)以上となる場合には、第1無線通信装置200のユーザが移動中であると判断される。そして、第1無線通信装置200が移動して場所を移る可能性がある場合には(ステップS969)、サービス情報の優先度(ランキング情報)からEを減算する(ステップS970)。すなわち、サービス情報の優先度(ランキング情報)の下方修正が行われる。
続いて、制御部240は、推定されたバッテリ残量に基づいて、長期間サービスを提供することができないか否かを判断する(ステップS971)。例えば、第1無線通信装置200が電池駆動(バッテリ駆動)であり、かつ、電池残量が閾値未満である場合には、長期間サービスを提供することができないと判断される。そして、長期間サービスを提供することができない場合には(ステップS971)、サービス情報の優先度(ランキング情報)からFを減算する(ステップS972)。すなわち、サービス情報の優先度(ランキング情報)の下方修正が行われる。
なお、サービス情報の優先度(ランキング情報)の変更を段階的に行うようにしてもよい。例えば、収容トラヒックが閾値を超えるまでは、経路的に集中しがちな場所に存在する無線通信装置の優先度を上げるように制御し、収容トラヒックが閾値を超えた場合には、その優先度を下げるように制御するようにしてもよい。
なお、収容トラヒックが閾値を超えるまでは、経路的に集中しがちな場所に存在する無線通信装置の優先度を上げるように制御し、収容トラヒックが閾値を超えた場合には、その優先度を下げるように制御するようにしてもよい。
ここで、上述したように、キャッシュ推奨167(図5、図6に示す)およびクローン次数168(図5、図6に示す)は、コンテンツ本体をキャッシュするか否かの判断に用いられる。ただし、サービスディスカバリ情報に含まれるランキング情報(優先度)を変更する要素として利用することも可能である。具体的には、ランキング情報を修正してサービスの優先度を決定する際に、キャッシュ推奨の度合いに応じてランキング情報を上方修正し、クローン次数がある閾値を超えていた場合にはランキング情報を下方修正することができる。この例を以下で示す。
制御部240は、サービスディスカバリ情報に含まれるキャッシュ推奨167(図5、図6に示す)の値が閾値を超えているか否かを判断する(ステップS973)。そして、キャッシュ推奨167の値が閾値を超えている場合には(ステップS973)、サービス情報の優先度(ランキング情報)にGを加算する(ステップS974)。すなわち、サービス情報の優先度(ランキング情報)の上方修正が行われる。
続いて、制御部240は、サービスディスカバリ情報に含まれるクローン次数168(図5、図6に示す)の値が閾値を超えているか否かを判断する(ステップS975)。そして、クローン次数の値が閾値を超えている場合には(ステップS975)、サービス情報の優先度(ランキング情報)にHを減算する(ステップS976)。すなわち、サービス情報の優先度(ランキング情報)の下方修正が行われる。
なお、メモリ300にコンテンツが格納されたタイミングに基づいてサービス情報の優先度(ランキング情報)を変更するようにしてもよい。例えば、所定期間内(例えば、1日以内)にメモリ300に格納されたコンテンツについては、その期間内に限りその優先度を上げるようにしてもよい。すなわち、制御部240は、コンテンツがメモリ300に格納されたタイミングに基づいて、その優先度を変更することができる。
なお、ステップS973乃至S976の各処理は、サービスディスカバリ情報の受信時に行うことが好ましい。
また、ステップS961、S963、S965、S967、S969、S971の各処理では、無線通信装置毎に同一の判断がされる。一方、ステップS973、S975の各処理では、サービス毎に判断されるため、同一の無線通信装置であっても異なる判断がされることもある。
また、図16に示す各処理については、全ての処理を行うことによりランキング情報(優先度)を変更するようにしてもよく、これらのうちの一部の処理を行うことによりランキング情報(優先度)を変更するようにしてもよい。例えば、ユーザの好みに応じて、一部の処理を行うことによりランキング情報(優先度)を変更するようにしてもよい。この場合には、ユーザ操作により実行すべき処理(例えば、混雑度や通信状態に関する判断処理(ステップS965、S967))を設定するようにしてもよい。
また、各処理で用いられる閾値については、ユーザの好みや無線通信装置に応じて適宜設定することができる。また、ランキング情報(優先度)から加算または減算される各値(A乃至H)については、ユーザの好みや無線通信装置に応じて適宜設定することができる。なお、ランキング情報(優先度)から加算または減算される各値(A乃至H)は、正の値であるものとする。
このように、制御部240は、第1無線通信装置200の使用環境と、第1無線通信装置200の通信状態との少なくとも一方に基づいて他の無線通信装置に送信するサービスディスカバリ情報に含まれるランキング情報(優先度)を変更することができる。この場合に、第1無線通信装置200の使用環境として、コンテンツの保持状態と、無線通信を利用して通信可能な他の無線通信装置の数と、第1無線通信装置200の移動状態と、サービスの提供期間との少なくとも1つを用いることができる。
このように、ランキング情報(サービス情報の優先度)の上方修正または下方修正を行うことにより、サービスディスカバリ情報を送信する無線通信装置を適切に制御することが可能となる。例えば、回線負荷が高くない場合には、経路的に集中しがちなところに優先度をつけてサービスディスカバリ情報を報知するが、収容トラヒックが上がってきたらその優先度を下げる等の制御が可能となる。
また、ランキング情報(サービス情報の優先度)は、経由する無線通信装置に応じてその内容が変化していく。例えば、使用環境が比較的良い条件の無線通信装置からは、比較的高いランキング情報(サービス情報の優先度)が出力される。一方、使用環境が悪い条件の通信装置からは、比較的低いランキング情報(サービス情報の優先度)が出力される。
[他の情報の使用例]
以上では、優先度(ランキング情報166(図5、図6に示す))を用いて各テーブルへの登録の要否等を判断する例を示した。ただし、優先度(ランキング情報166(図5、図6に示す))以外の各情報を用いて各処理を行うようにしてもよい。ここでは、キャッシュ推奨167(図5、図6に示す)およびクローン次数168(図5、図6に示す)を用いて各処理を行う例を示す。
[キャッシュ推奨の使用例]
第1無線通信装置200は、キャッシュ推奨167(図5、図6に示す)に基づいて、メモリ300へのコンテンツの格納の有無等を判断することができる。
第1無線通信装置200は、過去のサービス提供に関する履歴情報をメモリ300に保持する。そして、第1無線通信装置200は、その履歴情報を参照して、アクセスが多いと判断されたコンテンツについては、ネットワークの負荷を分散させるため、他の無線通信装置からの配布を促すようにすることができる。すなわち、トラヒックのロードバランシングをする(トラヒックの負荷が均等になるように処理を分散する)ように、コンテンツを流通させることができる。
例えば、制御部240は、ランキング情報が閾値を基準として大きいコンテンツの格納を他の無線通信装置に推奨するための推奨情報を含めたサービスディスカバリ情報を他の無線通信装置に送信する。例えば、アクセス確率が閾値よりも高いと判断されたコンテンツについては、そのコンテンツに関するサービスディスカバリ情報に含めるキャッシュ推奨の度合いを上げるように制御する。
また、コンテンツに付帯しているランキング情報が優秀である場合(閾値を基準として大きい場合)についても同様に、制御部240は、そのコンテンツに関するサービスディスカバリ情報に含めるキャッシュ推奨の度合いを上げるように制御することができる。
例えば、第1無線通信装置200は、コンテンツを受信した場合、または、コンテンツを転送した場合には、そのコンテンツをメモリ300に格納してキャッシュとして利用できるよう試みている。また、メモリ300の空き容量がなくなった場合には、コンテンツの優先度等に基づいて、キャッシュを書き換えることがある。ただし、メモリ300の空き容量がなくなった場合には、キャッシュ推奨167に基づいて、キャッシュを書き換えるようにしてもよい。
例えば、キャッシュ推奨167の度合いが高いコンテンツを受信した場合、または、そのコンテンツを転送した場合には、そのコンテンツを優先的にメモリ300に格納してキャッシュするよう試みる。このようにすることにより、コンテンツがキャッシュされた後には、そのコンテンツを第1無線通信装置200から提供することができる状態となる。このため、コンテンツのキャッシュ以降に、ユーザがそのコンテンツに対応するサービスを享受したいと思ったときには、ローカルのメモリ300を参照するだけで、そのサービスを提供することが可能となる、これにより、無駄な通信の発生を防止することができる。
[クローン次数の使用例]
また、クローン次数168(図5、図6に示す)を用いて各処理を行うことができる。例えば、クローン次数168を用いてキャッシュをすべきか否かを判断することができる。
例えば、クローン次数168に基づいて、そのサービスがコピー回数が多いコンテンツであるか否かを判断し、コピー回数が多いコンテンツである場合には、キャッシュするための優先度(例えば、キャッシュ推奨167の値)を下げる処理を行うことができる。これにより、許可されたコピー回数を上回ったため、サービスを提供することができない等の不都合を回避することができる。
このように、制御部240は、コンテンツの他の無線通信装置でのコピー回数に基づいて、優先度を変更することができる。例えば、コピー回数が閾値を基準として大きい場合には、その優先度を下げる変更を行うことができる。
[サービスに関する設定をユーザ操作により行う例]
第1無線通信装置200のユーザは、サービスに関する設定をユーザ操作により行うことができる。例えば、第1無線通信装置200に積極的にサービスをキャッシュさせたいか否かを設定することができる。また、第1無線通信装置200を積極的に中継ノードとして利用させたいか否かを設定することができる。すなわち、第1無線通信装置200に積極的にコンテンツ受信イベントを発生させたいか否かを設定することができる。そこで、以下では、これらの各設定について説明する。
[サービスに関する設定を行うための設定画面の表示例]
図17は、本技術の第1の実施の形態における表示部280に表示される表示画面の一例(設定画面500)を示す図である。図17では、タッチパネルを用いて設定画面500における各操作を行う例を示す。
設定画面500は、サービスに関する設定を行うための表示画面である。設定画面500には、第1設定領域501と、第2設定領域502と、使用ランキング選択ボタン511乃至513と、確定ボタン514と、戻るボタン515とが表示される。
第1設定領域501は、サービスをキャッシュしたいか否かを設定するための領域である。例えば、ユーザは、第1設定領域501において操作標識505を移動させることにより、サービスをキャッシュしたいか否かの設定(また、その度合いの設定)をすることができる。
第2設定領域502は、第1無線通信装置200を中継ノードとして利用させたいか否かを設定するための領域である。例えば、ユーザは、第2設定領域502において操作標識506を移動させることにより、中継ノードとして利用させたいか否かの設定(また、その度合いの設定)をすることができる。
使用ランキング選択ボタン511乃至513は、各テーブルへの登録の要否を判断する場合等に用いられるランキング情報を選択する際に押下されるボタンである。なお、使用ランキング選択ボタン511乃至513は、図7に示す本日のランキング188、週間ランキング189、年間ランキング190に対応する。
確定ボタン514は、ユーザにより操作された設定内容を確定する際に押下されるボタンである。
戻るボタン515は、直前に表示されていた表示画面に戻る場合に押下されるボタンである。
[サービスをキャッシュしたいか否かの設定例]
例えば、ユーザ操作により移動された操作標識505の第1設定領域501における位置(ユーザから指定されたコマンド)に応じて、コンテンツ受信イベントの判断をバイアスすることができる。例えば、ユーザが積極的にサービスをキャッシュしたい旨の操作が行われた場合(すなわち、第1設定領域501上の右側に操作標識505が移動された場合)には、コンテンツを長期格納する用途としてのメモリ空間を大きく設定する等の制御を行う。
[中継ノードとして利用させたいか否かの設定例]
例えば、ユーザ操作により移動された操作標識506の第2設定領域502における位置(ユーザから指定されたコマンド)に応じて、中継ノードとして利用させたいか否かの制御を行うことができる。例えば、第2設定領域502における操作標識506の位置に応じて、第1無線通信装置200が中継局として利用されることを好むか否かのパラメタを調整し、経路選択に用いられるメトリック値をバイアスすることができる。例えば、ユーザがコンテンツ受信イベントの発生に消極的である旨の操作が行われた場合(すなわち、第2設定領域502上の左側に操作標識506が移動された場合)を想定する。この場合には、第1無線通信装置200を経由する経路のメトリック値を悪化させる方向で修正する等の制御を行う。
具体的には、次の式1に基づいて、「中継局として利用されることを好むかのパラメタ」をメトリック値へと反映させる。
M1=M0×(α+β/(100−P)) …式1
ここで、M1は修正後のメトリック値を示し、M0は修正前のメトリック値を示す。また、M1およびM0は、値が小さいほど優秀な経路として評価される。
また、Pは、0乃至99までの数値で表される「中継局として利用されることを好むかのパラメタ」であり、第2設定領域502における操作標識506の位置に応じてそのパラメタが決定される。例えば、Pの数値が大きいほど積極的に中継局になろうという意図が示される。
また、αおよびβは、無線リンクのメトリック値に対してどれだけ強くバイアスをかけるかを制御するパラメタであり、システム運用者等により設定される準固定値である。
例えば、中継局として利用されることを全く好まない旨の操作が行われた場合(すなわち、第2設定領域502上の左端に操作標識506が移動された場合)を想定する。すなわち、式1のPとして0が入力された場合(P=0が入力された場合)を想定する。
この場合には、第1無線通信装置200は、自ノードが中継ノードにならないモードを設定し、第1無線通信装置200が中継を行わない状態であることを近接ノードに通知(アナウンス)する。このモードが設定されると、第1無線通信装置200は、他の無線通信装置宛てのパケットを受信しても、転送処理および経路選択のための制御パケットの解釈を行わない。このように、第1無線通信装置200を中継する経路のメトリック値を悪化させることにより、他の無線通信装置を用いた経路を優先的に選択させる等の制御が可能である。なお、IEEE802.11s規格では、自ノードが中継ノードにならないモードを設定・アナウンスすることができる。
このように、制御部240は、ユーザ操作により設定された設定内容に基づいて、受信したコンテンツをメモリ300に格納するか否かを判断する際の条件を変更することができる。
また、図17では、レバー形式の操作領域により各項目を設定する例を示したが、例えば、他の操作方法により各項目を設定するようにしてもよい。例えば、数値(例えば、式1のP(0乃至99))を入力することにより各項目を設定するようにしてもよい。
[サービスディスカバリ情報をハッシュ関数により変換して送信する例]
以上では、サービスディスカバリ情報(図5に示す自装置サービス情報157および他装置サービス情報158)をそのまま平文で送信する例を示した。ただし、サービスディスカバリ情報は、ハッシュ関数により異なるビット列に変換することも可能である。また、情報圧縮の目的でハッシュ関数による変換がされる場合もある。
例えば、ハッシュ関数により変換されたサービスディスカバリ情報を送信することにより、変換する際に用いられるハッシュ関数を知っている無線通信装置のみがそのサービスディスカバリ情報を解読することができるようになる。これにより、サービスディスカバリ情報を限られた無線通信装置のみに通知することができる。そこで、以下では、サービスディスカバリ情報をハッシュ関数により変換して送信する例を示す。
図18は、本技術の第1の実施の形態における通信システム100を構成する各無線通信装置が送信するビーコンのフォーマット例を示す図である。なお、図18に示すフォーマット例は、図5に示すフォーマット例を変形したものである。このため、図18では、図5と共通する部分には同一の符号を付してこれらの説明を省略する。
例えば、矢印805で示すように、制御部240は、自装置サービス情報157および他装置サービス情報158をハッシュ関数により異なるビット列に変換する。そして、制御部240は、自装置サービス情報157および他装置サービス情報158が変換された情報(変換されたサービス情報801)を掲載サービス情報802としてビーコン800に含めて他の無線通信装置に送信する。
ここで、P2P(Peer to Peer)でコンテンツを配布しあうようなサービスを行う際には、サービスディスカバリ情報が膨れ上がる可能性がある。これに対して、本技術の実施の形態では、近接するデバイス間でサービスディスカバリ情報をやりとりし、コンテンツを配布しあう通信システム100において、ランキング情報(優先度)等に基づいてサービスディスカバリ情報を適切に加工することができる。すなわち、ランキング情報等に基づいてサービスディスカバリ情報を加工するP2Pサービスを実現することができる。これにより、サービスディスカバリ情報を適切に小型化して配布することができる。また、サービスを行う際に各無線通信装置がどのようなコンテンツを格納するか、または、サービスディスカバリ情報をどのように周辺機器に報知するか等の制御を適切に行うことができる。
また、本技術の実施の形態では、コンテンツを保持していない無線通信装置であっても、そのコンテンツをキャッシュしてコンテンツリソースとなることができる。すなわち、近接するデバイス間でサービスディスカバリ情報をやりとりし、コンテンツを配布しあう通信システム100において、ダウンロードまたは中継したコンテンツをキャッシュした無線通信装置が新たなコンテンツソースとなることができる。言い換えると、中継局がコンテンツをキャッシュするP2Pサービスを実現することができる。また、キャッシュするか否を、ランキング情報等を用いて判断し、広範囲にキャッシュすべきコンテンツを特定することができる。これらにより、有用なコンテンツを広範囲に提供することができる。
このように、本技術の実施の形態では、サービスの提供を受ける際に必要となる周辺の無線通信装置を効率的に利用することができ、最適なネットワークの構成を実現することができる。すなわち、複数の無線通信装置間で行う無線通信を効率的に行うことができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1)
当該無線通信装置および他の無線通信装置のうちの少なくとも一方が提供するサービスに関するデータの送受信を、無線通信を利用して所定範囲内に存在する他の無線通信装置との間で行う通信部と、
前記サービスを提供するためのコンテンツの優先度に基づいて当該コンテンツをメモリに格納するか否かを判断する制御部と
を具備する無線通信装置。
(2)
前記制御部は、前記コンテンツの容量および前記メモリの記憶容量の関係と前記優先度とに基づいて当該コンテンツをメモリに格納するか否かを判断する前記(1)に記載の無線通信装置。
(3)
前記制御部は、前記コンテンツの容量が前記メモリの記憶容量を超えている場合には、前記メモリに格納されているコンテンツのうちから所定条件を満たすコンテンツを前記優先度に基づいて抽出して削除する前記(2)に記載の無線通信装置。
(4)
前記制御部は、前記メモリに格納されたコンテンツを前記他の無線通信装置に送信する場合には当該コンテンツの優先度を当該コンテンツに関連付けて送信する前記(1)から(3)のいずれかに記載の無線通信装置。
(5)
前記制御部は、前記メモリに格納されたコンテンツを前記他の無線通信装置に送信して当該コンテンツに係るサービスを前記他の無線通信装置に提供する前記(1)から(4)のいずれかに記載の無線通信装置。
(6)
前記通信部は、第1無線通信装置から第2無線通信装置に提供される前記サービスに関するデータの転送を行う前記(1)から(5)のいずれかに記載の無線通信装置。
(7)
前記制御部は、ユーザ操作により設定された設定内容に基づいて前記コンテンツを前記メモリに格納するか否かを判断する際の条件を変更する前記(1)から(6)のいずれかに記載の無線通信装置。
(8)
前記通信部は、前記サービスを他の無線通信装置に通知するための情報であって前記優先度を含むサービスディスカバリ情報の送受信を前記他の無線通信装置との間で行い、
前記制御部は、前記優先度に基づいて前記サービスディスカバリ情報の前記他の無線通信装置への送信頻度を変更する
前記(1)から(7)のいずれかに記載の無線通信装置。
(9)
前記制御部は、前記コンテンツが前記メモリに格納されたタイミングに基づいて前記優先度を変更する前記(1)から(8)のいずれかに記載の無線通信装置。
(10)
前記優先度は、前記サービスを提供するためのコンテンツの評価を示すランキング情報である前記(1)から(9)のいずれかに記載の無線通信装置。
(11)
第1無線通信装置および他の無線通信装置のうちの少なくとも一方が提供するサービスに関するデータの送受信を、無線通信を利用して所定範囲内に存在する第2無線通信装置との間で行う第1無線通信装置と、
前記サービスを提供するためのコンテンツの優先度に基づいて前記第1無線通信装置から取得された当該コンテンツをメモリに格納するか否かを判断する第2無線通信装置と
を具備する通信システム。
(12)
当該無線通信装置および他の無線通信装置のうちの少なくとも一方が提供するサービスに関するデータの送受信を、無線通信を利用して所定範囲内に存在する他の無線通信装置との間で行う通信手順と、
前記サービスを提供するためのコンテンツの優先度に基づいて当該コンテンツをメモリに格納するか否かを判断する制御手順と
を具備する無線通信装置の制御方法。
(13)
当該無線通信装置および他の無線通信装置のうちの少なくとも一方が提供するサービスに関するデータの送受信を、無線通信を利用して所定範囲内に存在する他の無線通信装置との間で行う通信手順と、
前記サービスを提供するためのコンテンツの優先度に基づいて当該コンテンツをメモリに格納するか否かを判断する制御手順と
をコンピュータに実行させるプログラム。