最初に、装置間の通信接続時の処理について説明する。
図1は、本発明を適用した通信システムの構成例を示す図である。図1において、通信システム100は、複数の装置を無線通信により連携して動作させ、一連のサービスを提供するアプリケーションを実行するシステムである。図1に示されるように、通信システム100は、例えば、携帯電話機101および携帯電話機102を有する。
携帯電話機101および携帯電話機102は、第1通信と第2通信の2つの方法で互いに通信を行う。第1通信は、通信を行う装置に関する情報である機器情報と、第2通信の接続の確立のためにより有用な情報よりなるケイパビリティ情報を授受するために行われる通信である。例えば、第1通信として近接無線通信が利用される。第2通信は、携帯電話機101および携帯電話機102のそれぞれにおいて実行されるアプリケーションを連携して動作させ、一連のサービス(アプリケーション提供サービス)を提供するために必要な通信を行うための通信である。例えば、第2通信として近距離無線通信が利用される。
なお、ここで近接無線通信とは、携帯電話機101および携帯電話機102の筺体を互いに接触させるか、若しくは、例えば数センチメートル程度のように、通信相手を視覚的に特定可能な距離まで近接させた状態で通信可能な無線通信方式のことを示す。例えば、非接触IC(Integrated Circuit)カードのような、電磁誘導を利用した無線通信方式がある。なお、以下においては、特に必要の無い限り、上述したような「接触」と「近接」を区別せずに説明する。すなわち、以下において、「近接」と説明する行為には、「接触」も含まれるものとする。また、その逆も同様である。
また、近距離無線通信とは、携帯電話機101および携帯電話機102の筺体を近距離(例えば数十メートル以下程度)に位置させた状態で通信可能な無線通信方式のことを示す。例えば、ブルートゥース(Bluetooth(登録商標))方式やWiFi(Wireless Fidelity)方式(WiFi認定されたIEEE(Institute of Electrical and Electronic Engineers)802.11x)がある。
一般的に、第1通信として使用される近接無線通信の場合、その通信範囲の物理的制限から通信相手の特定が容易であり、その分、通信接続を確立させるための設定作業が、近距離無線通信の場合よりも容易である。例えば、近距離無線通信の場合、通信可能範囲に複数のデバイスが存在する場合、どのデバイスと通信を行うかをユーザが指定する必要がある。これに対して近接無線通信の場合、その通信可能範囲が狭いため、基本的に通信相手が1台に制限される。したがってこの場合、ユーザは、自分自身が操作するデバイスを通信相手となるデバイスに近接させる必要があるが、その行為自体が通信相手を指定することになるので、改めて通信相手の指定等を入力する必要がない。
ただし、近接無線通信は、一般的に近距離無線通信よりもデータ転送レートが低く、大容量のデータ転送に不向きである。また、通信中はデバイス同士を近接させておかなければならないが、その姿勢(デバイス同士の位置関係)維持が困難な場合も考えられる。さらに3台以上のデバイス間通信も困難になる。
以上のような点から、通信システム100においては、アプリケーション(携帯電話機101と携帯電話機102のそれぞれで実行されるアプリケーション)の連携は、第2通信(近距離無線通信)により行い、第1通信(近接無線通信)は、その第2通信のための、互いの機器情報とケイパビリティ情報の授受に利用される。つまり、携帯電話機101と携帯電話機102は、まず、第1通信を行い、互いの機器情報を授受することにより第2通信の接続の準備を行う。しかしながら実際には、機器情報だけでは汎用性が乏しく、第2通信の接続を確立することは困難である。そこで、携帯電話機101と携帯電話機102は、より詳細な情報を含むケイパビリティ情報を交換し、そのケイパビリティ情報に基づいて柔軟に第2通信の接続を確立する。第2通信の接続が確立されると、携帯電話機101と携帯電話機102は、その第2通信を利用してアプリケーションの連係動作を行う。
機器情報は、各装置を識別する一般的な識別情報により構成される。所定の通信プロトコルに準拠する識別情報であっても良い。第2通信の接続を確立するための条件は、各機器の通信能力や情報処理能力、さらには使用されるアプリケーション等によって、多様化する。したがって、この基本的な機器情報のみでは、汎用性に乏しい。
詳細については後述するが、ケイパビリティ情報には、例えば、通信部(通信方式)やアプリケーション等の装置の能力に関する情報が含まれる。携帯電話機101および携帯電話機102は、通信相手のケイパビリティ情報に基づいて、第2通信に利用する通信部の詳細な設定をしたり、第2通信上で使用するアプリケーションを選択したりする。このようなケイパビリティ情報の交換により、携帯電話機101および携帯電話機102は、互いの情報を共有することができる。したがって携帯電話機101および携帯電話機102は、その情報に基づいて、通信およびアプリケーションの設定を、ユーザの作業量を不要に増大させることなく、より適切に行うことができる。つまり、携帯電話機101および携帯電話機102は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。例えば、携帯電話機101および携帯電話機102は、自分自身や通信相手の能力、または使用するアプリケーションに応じて、第2通信とする通信方式や通信速度等、各種通信の設定を適切に選択することができる。また、例えば、携帯電話機101および携帯電話機102は、自分自身や通信相手の能力、または処理の目的に応じて、使用するアプリケーションを適切に選択することもできる。
なお、通信システム100を構成する通信装置は、第1通信と第2通信の両方を行うことができる装置であればどのような通信装置であっても良い。例えば、通信時のデバイスの位置関係において通信相手を視覚的に特定可能な距離で通信を行う第1通信、並びに、通信可能範囲が第1通信よりも広く、通信時のデバイスの位置関係において通信相手を視覚的に特定することが困難な距離で通信を行う第2通信の両方を行うことができる通信装置であってもよい。
つまり、通信システム100を構成する通信装置は、上述した携帯電話機101および携帯電話機102以外であっても良い。例えば、テレビジョン信号受像機、ビデオレコーダ、メディアプレーヤ、オーディオアンプ、オーディオコンポ、プリンタ、ファクシミリ、車載用オーディオシステム、またはカーナビゲーションシステム等であってもよい。もちろん、これら以外の装置であっても良い。また、例えば携帯電話機とオーディオコンポのように、通信システム100を構成する各通信装置が互いに異なる機能を有する装置であっても良い。
さらに通信システム100を構成する通信装置の数は任意であり、3台以上であってもよい。なお、第1通信は近接無線通信でなくてもよい。また、第2通信も近距離無線通信である必要はない。さらに、この第1通信および第2通信は、中継装置やネットワークを介して行われるようにしてもよい。また、第1通信および第2通信は、有線を介して行われる有線通信であってもよい。ただし、上述したように第1通信は、第2通信を確立するための情報を授受する通信であるので、通信相手を容易に特定可能である等、通信開始のための設定作業が容易または不要なものであるのが望ましい。
図2は、図1の携帯電話機101の内部の構成例を示すブロック図である。
図2において、携帯電話機101のCPU(Central Processing Unit)111は、ソフトウェアプログラムを実行することにより、各種の処理を実行する演算処理部である。CPU111は、バス114を介してROM(Read Only Memory)112およびRAM(Random Access Memory)113と相互に接続される。ROM112には予めソフトウェアプログラムやデータが格納される。RAM113には、ROM112や記憶部123に格納されているソフトウェアプログラムやデータがロードされる。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなども適宜記憶される。
このバス114にはまた、入出力インタフェース120も接続される。入出力インタフェース120には、キーボード、マウスなどよりなる入力部121が接続される。また入出力インタフェース120には、CRT(Cathode Ray Tube)ディスプレイや、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部122も接続される。さらに入出力インタフェース120には、フラッシュメモリやハードディスクなどより構成される記憶部123が接続される。
入出力インタフェース120にはまた、必要に応じてドライブ124が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア131が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部123にインストールされる。
さらに、入出力インタフェース120には、第1通信を行う第1通信部141と第2通信を行う第2通信部142が接続される。また、入出力インタフェース120には、モデムなどより構成され、公衆電話回線網を介して他の装置と音声通信、または、パケット通信を行う電話回線網通信部143が接続される。さらに、入出力インタフェース120には、被写体を撮影し、その画像データを得るデジタルカメラ機能を有するカメラ部144が接続される。
第1通信部141は、上述したような近接無線通信を行う無線通信部である。第1通信部141は、非接触ICカードに利用される通信方式で通信を行う無線通信部であるモバイル機器用IC通信チップ151(以下、モバイルIC通信チップ151と称する)を有する。また、第1通信部141は、ディジタル家電用IC通信チップ152(以下、CE(Consumer Electronics)用IC通信チップ152と称する)を有する。モバイルIC通信チップ151およびCE用IC通信チップ152は、互いに異なる通信規格に基づいて通信を行う。第1通信部141は、これらのうち、いずれか一方を選択的に使用する。
第2通信部142は、上述したような近距離無線通信を行う無線通信部である。第2通信部142は、ブルートゥース方式で無線通信を行う無線通信部であるブルートゥース(Bluetooth(登録商標))161を有する。また、第2通信部142は、IEEE802.11x方式で無線通信を行う、WiFi認定された無線通信部であるワイファイ(WiFi)162を有する。第2通信部142は、これらのうち、いずれか一方を選択的に使用する。
なお、図2においては、第1通信部141および第2通信部142のそれぞれにおいて2種類の通信部が設けられるように説明したが、それぞれが有する通信部の数(種類)はいくつであってもよい。また、第1通信部141は第1通信を行うものであればよく、第2通信部142は第2通信を行うものであればよい。つまり、第1通信部141および第2通信部142が有する通信部の通信方式は任意であり、上述した以外のものであってもよい。
また、携帯電話機101が上述した以外の構成を有するようにしてももちろんよい。また、カメラ部144等一部の機能は省略可能である。
携帯電話機101の通信相手となる携帯電話機102も、図2を参照して説明した携帯電話機101の構成と基本的に同様の構成を有するので、携帯電話機102の構成についての説明は省略する。つまり、図2の説明は、携帯電話機102にも適用することができ、携帯電話機102の構成を説明する場合も、携帯電話機101と同様に、図2を用いて説明する。なお、後述する図3および図4に示される構成についても同様である。以下においては、ハンドオーバ処理を要求する側を携帯電話機101とし、それに応答する側を携帯電話機102として説明しているが、状況に応じて同一の装置が要求側になる場合も応答側になる場合も考えられ、要求側と応答側で構成が互いに異なる必要はない。したがって、以下においても、携帯電話機101および携帯電話機102の構成は、基本的に互いに同一であるものとして説明する。つまり、携帯電話機101の構成についての説明は、携帯電話機102の説明にも適用可能である。
図3は、アプリケーションを実行する図2のCPU111が有する機能を示す機能ブロック図である。CPU111は、各種のデータを読み込んだり、プログラムを実行したりすることにより、各種の機能を実現する。図3は、そのように実現される各種機能を模式的に示したものである。
CPU111は、OS(Operating System)201、第1通信制御部202、第2通信制御部203、ハンドオーバ処理部204、ハンドオーバログ管理部205、情報管理部206、第1通信用アプリケーション207、およびハンドオーバアプリケーション208を有する。
OS201は、多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、コンピュータシステム全体を管理する基本ソフトウェアである。例えば、OS201は、他の機能ブロックからの指示に基づいて、CPU111外部の処理部を制御し、ユーザインタフェース入力や画面出力といった入出力機能やディスクやメモリの管理など様々な制御処理を行う。第1通信制御部202は、OS201を介して第1通信部141を制御し、第1通信に関する処理を行う。第2通信制御部203は、OS201を介して第2通信部142を制御し、第2通信に関する処理を行う。
ハンドオーバ処理部204は、例えば、第1通信制御部202および第2通信制御部203を制御して、第1通信を用いて第2通信の設定情報を授受し、その情報を用いて第2通信の接続を確立する処理(ハンドオーバ処理)を行う。ハンドオーバ処理部204は、このハンドオーバ処理の際に、第1通信を用いて機器情報やケイパビリティ情報の授受も行う。ハンドオーバ処理部204は、このケイパビリティ情報に基づいて、第2通信の設定やアプリケーションの実行をより適切に行う。
ハンドオーバログ管理部205は、ハンドオーバ処理部204の処理内容のログを管理する。情報管理部206は、通信相手と授受した機器情報、ケイパビリティ情報、およびプロフィール情報等の各種情報を管理する。プロフィール情報は、通信相手となる装置のユーザに関する情報である。詳細については後述する。
第1通信用アプリケーション207は、電子マネー決済や認証処理等のような、第1通信のみを用いたサービスを提供するアプリケーションである。ハンドオーバアプリケーション208は、第2通信を用いてサービスを提供するアプリケーションであり、第2通信を確立するためにハンドオーバ処理を行うアプリケーションである。つまり、ハンドオーバアプリケーション208においては第1通信と第2通信の両方が使用される。ハンドオーバアプリケーションの具体的な例については後述する。
なお、図3においては、第1通信用アプリケーション207が1つの機能ブロックとして説明したが、第1通信用アプリケーションの数は任意であり、複数種類のアプリケーションにより構成されるようにしてもよい。同様に、ハンドオーバアプリケーションの数も任意であり、ハンドオーバアプリケーション208が複数種類のアプリケーションにより構成されるようにしてもよい。
図4は、図3のハンドオーバアプリケーション208の構成例を模式的に示すブロック図である。図4の例の場合、ハンドオーバアプリケーション208は、コンテンツキャストアプリケーション211、音楽プレーヤアプリケーション212、写真ビューアアプリケーション213、プレイリスト管理アプリケーション214、マルチプレーヤアプリケーション215、および印刷制御アプリケーション216を有する。
コンテンツキャストアプリケーション211は、第2通信を用いて、通信相手のデバイスと、画像や音声等のコンテンツデータを授受するアプリケーションである。コンテンツキャストアプリケーション211は、基本的に、音楽プレーヤアプリケーション212乃至印刷制御アプリケーション216のような他のアプリケーションと連携して動作し、他のアプリケーションにおいて必要になったコンテンツデータの授受を行う。
音楽プレーヤアプリケーション212は、例えば記憶部123等に記憶されている音楽データを読み出して再生し、音声をスピーカ等(出力部122)より出力するアプリケーションである。音楽プレーヤアプリケーション212は、コンテンツキャストアプリケーション211と連携して動作することにより、第2通信を用いて、通信相手の装置に音楽データをストリーミングデータとして供給し、通信相手の装置においてその音楽を再生出力させたり、通信相手の装置より供給されるストリーミングデータ(音楽データ)を取得し、その音楽を再生出力したりすることができる。
写真ビューアアプリケーション213は、例えば、記憶部123等に記憶されている静止画像や動画像等の画像データをモニタ(出力部122)に表示させるアプリケーションである。写真ビューアアプリケーション213は、コンテンツキャストアプリケーション211と連携して動作することにより、第2通信を用いて、通信相手の装置に画像データを供給し、通信相手の装置のモニタにその画像を表示させたり、通信相手の装置より供給される画像データを取得し、その画像をモニタ(出力部122)に表示させたりすることができる。
プレイリスト管理アプリケーション214は、音楽プレーヤアプリケーション212や写真ビューアアプリケーション213により再生出力(表示)されるコンテンツデータの再生出力順(表示順)を示すプレイリストを管理するアプリケーションである。プレイリスト管理アプリケーション214は、そのプレイリストをモニタ(出力部122)に表示したり、その表示されたプレイリストに対するユーザ指示入力を受け付けたりする。また、プレイリスト管理アプリケーション214は、その指示に基づいて、音楽プレーヤアプリケーション212や写真ビューアアプリケーション213を制御したりする。さらに、プレイリスト管理アプリケーション214は、コンテンツキャストアプリケーション211と連携して動作することにより、第2通信を用いて、通信相手の装置の音楽プレーヤアプリケーションや写真ビューアアプリケーションを制御することもできる。例えば、プレイリスト管理アプリケーション214は、ユーザに指定された音楽データを、コンテンツキャストアプリケーション211を用いて通信相手の装置に供給し、通信相手の装置の音楽プレーヤアプリケーションを起動させ、その音楽を再生出力させることができる。
マルチプレーヤアプリケーション215は、音楽データを再生出力しながら、その音楽データに対応する画像データをモニタに表示させたりする等、複数種類のコンテンツデータを処理することができるアプリケーションである。つまり、基本的に音楽プレーヤアプリケーション212や写真ビューアアプリケーション213と同様の機能を有し、コンテンツキャストアプリケーション211と連携して動作することにより、第2通信を用いて、通信相手の装置とコンテンツデータを授受することができる。
印刷制御アプリケーション216は、画像データやテキストデータ等を印刷部(出力部122)において紙等の印刷媒体に印刷させるアプリケーションである。印刷制御アプリケーション216は、コンテンツキャストアプリケーション211と連携して動作することにより、第2通信を用いて、通信相手の装置より供給されたコンテンツデータを印刷部に印刷させることができる。
コンテンツキャストアプリケーション211は、ハンドオーバ制御部221、メタ情報取得部222、アプリケーション制御部223、GUI(Graphical User Interface)処理部224、およびメモリアクセス処理部225を有する。
ハンドオーバ制御部221は、図3のハンドオーバ処理部204乃至情報管理部206を制御する。例えば図5に示されるように、ハンドオーバ制御部221は、モバイルIC通信チップ151(第1通信部)やブルートゥース(Bluetooth(登録商標))161(第2通信部)を直接的または間接的に制御し、ハンドオーバに関する処理を実行する。ハンドオーバ制御部221は、第1通信の接続の確立に関する処理を行う第1通信確立部231、第1通信によって機器情報の授受を行う機器情報授受部232、第1通信によって互いのケイパビリティ情報を交換するケイパビリティ情報授受部233、機器情報やケイパビリティ情報に基づいて第2通信に関する設定を行う第2通信設定部234、第2通信の接続の確立に関する処理を行う第2通信確立部235、および、ハンドオーバ処理に関するログ情報を作成するハンドオーバログ作成部236を有する。
メタ情報取得部222は、例えば図5に示されるようにブルートゥース(Bluetooth(登録商標))161(第2通信部)を直接的または間接的に制御し、接続が確立された第2通信によって、通信相手のユーザに関する情報であるユーザプロファイル情報や、通信相手の装置またはその装置と連携して動作する他の装置において提供されるサービス等に関する情報であるサービス連携情報等を含むメタ情報を取得する。メタ情報取得部222は、図4に示されるように、通信相手の装置よりユーザプロファイル情報(プロフィール情報)を取得するユーザプロファイル取得部241、および、通信相手の装置よりサービス連携情報を取得するサービス連携情報取得部242を有する。
アプリケーション制御部223は、例えば図5に示されるように、音楽プレーヤアプリケーション212乃至印刷制御アプリケーション216のようなコンテンツキャストアプリケーションと連携して動作する他のアプリケーションに関する処理を行う。アプリケーション制御部223は、通信相手の装置のケイパビリティ情報等に基づいて他のアプリケーションの設定を行うアプリケーション設定部251、および、他のアプリケーションを起動したり、制御したりするアプリケーション連携部252を有する。
GUI処理部224は、例えば図5に示されるように、コンテンツキャストアプリケーションにおけるGUIの表示や、そのGUIに基づいて入力されたユーザ指示等に対する処理を行う。メモリアクセス処理部225は、携帯電話機101の記憶領域に対する情報の入出力を行う。例えば図5に示されるように、CPU111は、第1通信部141内に内蔵されるメモリ(記憶領域)に対して情報の暗号化や復号等の処理を行うセキュリティ処理部261を有し、ROM112や記憶部123等のような携帯電話機101の第1通信部141以外のメモリ(記憶領域)に対してAPI(Application Program Interface)262を有している。セキュリティ処理部261は、第1通信部141に内蔵されるメモリの記憶領域に形成される第1通信部用メモリ共通領域263へのアクセスを行う。API262は、携帯電話機101の第1通信部141以外のメモリの記憶領域に形成される携帯電話機メモリ264へのアクセスを行う。
第1通信部用メモリ共通領域263には、通信相手となる装置や自分自身の製造番号、型名、製造日時等の製造情報271が格納される。携帯電話機メモリ264には、例えば、プロフィール情報281、タッチログ情報282、コンテンツログ情報283、ケイパビリティ情報284、およびコンテンツ操作権限情報285等が格納される。
プロフィール情報281は、例えば、自分自身や通信相手となるユーザの特徴を示す情報を含む。ユーザプロファイル情報とも称する。タッチログ情報282は、例えば、第1通信部141を用いた通信のログ情報を含む。コンテンツログ情報283は、例えば、使用されたコンテンツに関するログ情報を含む。ケイパビリティ情報284は、例えば、第2通信接続時やアプリケーション連携時(つまり、第2通信時)に必要な、装置を特定するための情報や装置の特徴を示す情報等を含む。コンテンツ操作権限情報285は、例えば、データを配信する装置が有するコンテンツの再生(配信)を制御する権限であるコンテンツ操作権限の有無を示す情報を含む。例えば、コンテンツ操作権限を有する装置は、データを配信する装置に対して、どのコンテンツを配信させるかを制御することができる。
メモリアクセス処理部225は、例えば図5に示されるように、セキュリティ処理部261を介して第1通信部用メモリ共通領域263にアクセスしたり、API262を介して携帯電話機メモリ264にアクセスしたりする。
次に、装置間で授受される各種情報の構成例について図6を参照して説明する。図6に示されるように、携帯電話機101は、第1通信により、機器情報、ケイパビリティ情報、およびコンテンツ操作権限情報を授受し、第2通信により、プロフィール情報を授受する。
ケイパビリティ情報は、装置の特徴を示す情報により構成される第2通信接続のために有用な詳細な情報である。ケイパビリティ情報は接続情報とも称する。ケイパビリティ情報には、例えば、アドレス、プロトコル種別、機器種別、プロファイル、およびアプリケーション識別子等の情報が含まれる。
アドレスは、第2通信による通信網における装置の識別情報であり、プロトコル種別において定義される通信プロトコルに準拠する情報である。例えばBD(Bluetooth Device)アドレス、MAC(Media Access Control)アドレス、若しくはIP(Internet Protocol)アドレス等のような、1つ若しくは複数のアドレスにより構成される。もちろん、複数種類の識別情報が含まれるようにしてもよい。
プロトコル種別は、例えばブルートゥース(Bluetooth(登録商標))やワイファイ(WiFi)等のような、使用可能なプロトコルの種類を示す情報である。機器種別は、例えば携帯電話機、カーナビゲーションシステムデバイス(カーナビ)、およびパーソナルコンピュータ(PC)等のような、装置の種類(用途)を示す情報である。
プロファイルは、各プロトコルにおいて使用可能な設定情報(プロファイル)を示す情報である。アプリケーション識別子は、使用可能なアプリケーションを示す識別情報である。例えば、ミュージックプレイヤ(Music Player)、写真、およびゲーム等のような、アプリケーションの種類や名称によって示される。所定の識別番号により示されるようにしてもよい。また、このアプリケーション識別子によって、アプリケーションのバージョンまで特定することができるようにしてもよい。
プロフィール情報は、装置のユーザの特徴を示す情報により構成される。プロフィール情報には、例えば、ユーザID、ニックネーム、プロフィール写真、職業区分、国、既婚・未婚、生年月日、郵便番号、住所、電話番号、メッセージ等の情報が含まれる。ユーザIDは、ユーザを一意に識別する識別子である。ニックネーム乃至メッセージは、ユーザについての情報であり、例えばユーザにより予め装置に登録される。
コンテンツ操作権限情報は、データを配信する装置のコンテンツの再生を制御することができる権限である再生制御権の有無を示す情報である。例えば、再生制御権を持つと設定されたコンテンツ操作権限情報を有する装置は、再生制御権を有し、データを配信する装置が他の装置であっても、その装置が配信するコンテンツを制御することができる。
携帯電話機101は、通信相手である携帯電話機102と、機器情報の他に、このようなケイパビリティ情報を交換することにより、通信相手の装置が有する第2通信の種類を容易に把握することができ、より適切な設定を行うことができる。また、携帯電話機101は、通信相手のケイパビリティ情報を参照することにより、通信相手の装置が実行可能なアプリケーションを特定することができ、容易に、その通信相手の能力に応じて実行可能なアプリケーションを選択し、使用することができる。
なお、図6に示したケイパビリティ情報、プロフィール情報、およびコンテンツ操作権限情報の構成は、一例であり、図示せぬ他の情報が含まれるようにしてもよいし、上述した各情報の一部を省略するようにしてもよい。例えば、ケイパビリティ情報で管理されるアプリケーションは、通信相手との間で授受される情報に基づく所定の処理を実行するものであればよく、例えば、第2通信ではなく第1通信や、さらに他の通信を介して情報を授受するアプリケーションであってもよい。また、例えば、第2通信の通信方式を固定とし、ケイパビリティ情報において、第2通信の通信方式に関する情報を省略するようにしてもよい。
以上により、携帯電話機101は、ハンドオーバを行う際に、通信確立やアプリケーション起動のための処理を容易にし、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
次に、以上のようにして生成された第2通信によるネットワークである第2通信網に、新たな装置を追加する場合について説明する。
図7は、本発明を適用した通信システムの例を示す図である。
図7Aに示されるように、通信システム300において、予め装置A301と装置B302が、図1乃至図6を参照して説明した方法で、第2通信による通信網である第2通信網310を確立している。装置A301および装置B302は、その第2通信網310を利用して、矢印311に示されるように、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行っている。つまり、装置A301が通信管理装置として動作し、コンテンツデータ(ストリーミングデータ)の配信を行い、装置B302が受信装置として動作し、装置A301より配信されるデータを受信しながら再生する。
このような状態において、新たに装置C303を第2通信網310に参加させ、ストリーミング再生の受信装置として動作するようにするためには、図1乃至図6を参照して説明した方法の場合、装置C303と装置A301の間で第2通信を確立する必要がある。つまり、装置C303を通信管理装置である装置A301にタッチ(近接)させ、第1通信によって互いの機器情報やケイパビリティ情報の交換等を行い、第2通信を確立させる必要がある。
しかしながら、必ずしも装置C303が装置A301の近くに位置するとは限らず、むしろ装置B302に近接させる方が容易である場合も考えられる。しかしながら、図1乃至図6を参照して説明した方法の場合、装置C303と装置B302をタッチ(近接)させても、装置C303と装置B302との間で第2通信を確立させることはできるものの、装置C303と装置A301との間で第2通信を確立させることはできないので、装置C303は、装置A301から配信されるデータを受信することができない。
また、図1乃至図6を参照して上述した方法では、第1通信から第2通信へハンドオーバするか否かをGUIを用いてユーザに確認することも可能である。しかしながら、図7Aのように装置C303を追加する場合、上述した方法では、装置C303を装置A301にタッチ(近接)させたとき、装置B302のユーザは、装置C303の参加を拒否することができない。
さらに、図1乃至図6を参照して上述した方法では、装置A301のコンテンツ操作に対する権限の概念が存在しない。例えば、通信システム300においては、受信装置側である装置B302や装置C303から、装置A301に対して、どのコンテンツを配信させるかを指示することができるようにしてもよい。その場合、無条件に受信装置側の装置が通信管理装置である装置A301のコンテンツ配信を制御することができるようにすると、不慣れなユーザが間違って操作をしてしまい他のユーザに対して迷惑をかけたりしてしまうなどの問題が発生する可能性がある。そこで、この操作権限に制限をかけるのが望ましいが、図1乃至図6を参照して上述した方法では、そのような概念が存在しない。
そこで、通信システム300においては、以下のように処理を行う。つまり、図7Bに示されるように、装置C303を装置B302にタッチ(近接)させることにより、矢印321に示されるように装置B302と装置C303との間で第1通信が確立する。そして、その第1通信によって機器情報やケイパビリティ情報を交換する際に、装置B302が装置A301の情報を装置C303に提供する。装置C303は、この装置A301の情報を用いて、図7Cに示されるように、装置A301と第2通信を確立する。このようにすることにより、装置C303を第2通信網310に受信装置として参加させ、矢印312に示されるように、装置C303が装置A301から配信されるデータを受信しながら再生することができるようになる。
つまり、装置C303が、第2通信を行わない装置B302との第1通信を確立することにより、第1通信を確立していない装置A301との間で第2通信を確立することができるようにする。このようにすることにより、装置C303の第2通信網310への追加作業が容易になり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
さらに、このような手順での装置C303の追加の可否を求めるGUIを装置B302において表示させる。装置B302のユーザは、このGUIにしたがって装置C303の追加を許可したり拒否したりする。このようにすることにより、第2通信網310を形成する、装置C303と直接第2通信を行わない装置のユーザも、装置C303の追加の可否を制御することができる。
これにより不明な装置(ユーザ)の参加を抑制することができ、第2通信網310の安全性を容易に向上させることができる。例えば、装置A301がサーバのような公共性の高い装置である場合、装置A301としては基本的に装置C303にもデータ配信を行いたい。しかしながら、個人使用である装置B302のユーザとしては、知らないユーザ(装置C303)に自分の個人情報を提供したくない(第2通信網310に参加して欲しくない)ことが考えられる。また、例えば、装置A301のユーザと装置C303のユーザが知人同士であっても、装置B302のユーザと装置C303のユーザが知人同士でないことも考えられる。その場合、装置B302のユーザは、自分の個人情報を装置C303に提供することを望まないことも考えられる。さらに、装置B302のユーザが知らない間に、装置C303が第2通信網310に参加してしまい、個人情報が提供されてしまうことも考えられる。上述したように、参加の可否の確認を行うことにより、これらのような事態の発生を抑制することができ、第2通信網310の安全性を容易に向上させることができる。つまり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
さらに、装置C303が装置A301に対してコンテンツ操作権限を持つか否かを確認するGUIを装置B302において表示させる。装置B302のユーザは、このGUIにしたがって装置C303にコンテンツ操作権限を付与するか否かを制御する。このようにすることにより、不明な装置(ユーザ)の権限を抑制することができるので、第2通信網310の安全性が向上させることができる。つまり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以下にその具体的な方法について説明する。
図8は、図7の装置A301、装置B302、および装置C303が有するコンテンツキャストアプリケーション211の構成例を示す機能ブロック図である。装置A301乃至装置C303は、図1乃至図6を参照して説明した場合の携帯電話機101と基本的に同様の構成を有する。つまり、装置A301乃至装置C303は、どのような装置であってもよいが、図2に示されるような第1通信部141および第2通信部142を有し、図3に示されるような機能ブロックを有する。つまり、装置A301乃至装置C303は、図4に示されるような構成のハンドアプリケーション208を有し、コンテンツキャストアプリケーション211を有する。
図8Aは、装置A301が有するコンテンツキャストアプリケーション211の構成例を示す。図8Bは、装置B302が有するコンテンツキャストアプリケーション211の構成例を示す。図8Cは、装置C303が有するコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
つまり、図8Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用追加受付処理部330、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用追加受付処理部330は、第2通信網310においてマスタ(通信管理装置)として装置の追加を受け付ける処理を行う。マスタ用追加受付処理部330は、追加依頼受付部331、追加確認部332、第2通信制御部333、およびプロフィール処理部334を有する。
追加依頼受付部331は、装置C303にタッチ(近接)された装置B302より供給される装置C303の追加依頼に対する処理を行う。追加確認部332は、装置A301のユーザに対して追加の可否を確認する処理を行う。第2通信制御部333は、追加を許可された装置C303との第2通信の確立を行う。プロフィール処理部334は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図8Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部340、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部340は、第2通信網310においてスレーブ(受信装置)として装置の追加を受け付ける処理を行う。図7Bに示されるように、このスレーブ用追加受付処理部340は、追加される装置C303とタッチ(近接)される装置(装置B302)の処理を行う。スレーブ用追加受付処理部340は、追加指示受付部341、再生制御権処理部342、設定情報授受部343、追加依頼処理部344、およびプロフィール処理部345を有する。
追加指示受付部341は、ユーザからの装置追加指示を受け付ける。再生制御権処理部342は、追加する装置に対して、コンテンツの再生(配信)を制御する権利である再生制御権の付与に関する処理を行う。設定情報授受部343は、タッチ(近接)された装置C303との間に確立された第1通信を用いて、機器情報、ケイパビリティ情報(接続情報)、およびコンテンツ操作権限の情報等の、通信に関する各種設定情報の授受を行う。追加依頼処理部344は、装置A301に対して装置C303の追加を依頼する処理を行う。プロフィール処理部345は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図8Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、追加装置処理部350、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
追加装置処理部350は、第2通信網310に追加される装置としての処理を行う。図7Cに示されるように、この追加装置処理部350は、設定情報授受部351、第2通信制御部352、およびプロフィール処理部353を有する。
設定情報授受部351は、タッチ(近接)された装置B302との間に確立された第1通信を用いて、機器情報、ケイパビリティ情報(接続情報)、およびコンテンツ操作権限の情報等の、通信に関する各種設定情報の授受を行う。第2通信制御部352は、マスタである装置A301との第2通信の確立を行う。プロフィール処理部353は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
次に、図9および図10のフローチャートを参照して、図7に示されるような装置C303の追加における処理の流れの例を説明する。なお、必要に応じて、図11乃至図17を参照して説明する。
最初、図7Aに示される状態において、装置A301のアプリケーションは、ステップS101において、コンテンツデータのストリーミング再生のために、コンテンツデータの送信を行う(ストリーミング再生・送信)。以下においては、コンテンツデータの例として楽曲データを用い、楽曲データをストリーミング再生する場合について説明する。つまり、アプリケーションの例として、音楽プレーヤアプリケーション212を用いて説明する。もちろん、ストリーミング再生するコンテンツは、動画像、静止画像、マルチメディアコンテンツ等、どのようなものであってもよく、アプリケーションも任意である。
このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS141において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。ここで例えばユーザがGUI上に表示されるメニュー(Menu)ボタンを操作するなどして、装置の追加を指示すると、追加指示受付部341は、ステップS142において、その装置追加指示を受け付ける。
装置の追加指示が受け付けられると、再生制御権処理部342は、ステップS143において、例えば、図13に示されるような、再生制御権の付与をユーザに確認する為のGUIを表示する。図13の例の場合、GUIとして、「再生制御権を付与しますか?」のメッセージとともに、「はい」と「いいえ」の選択肢が表示される。ユーザは、その「はい」または「いいえ」のいずれか一方を選択することにより再生制御権付与の制御を行う。例えば、再生制御権処理部342は、ユーザにより「はい」が選択された場合、追加される装置C303に再生制御権を付与するように設定を行う。逆に、ユーザにより「いいえ」が選択された場合、再生制御権処理部342は、追加される装置C303に再生制御権を付与しないように設定を行う。
再生制御権付与が確認されると、装置B302の第1通信の準備が整う。この状態において、装置C303が装置B302にタッチ(近接)されると、装置B302のハンドオーバ制御部221は、ステップS144において、図7Bに示されるようにタッチ(近接)された装置C303との間に第1通信を確立する。このとき、装置B302のモニタには、例えば図14に示されるような、ユーザにタッチ(近接)動作を促す画面が表示される。図14の例の場合、「TOUCH!」というメッセージが表示され、装置B302の筐体を装置C303の筐体に近接または接触させることを促す。
この装置B302の処理に対応して、装置C303のハンドオーバ制御部221も、ステップS121において、図7Bに示されるようにタッチ(近接)された装置B302との間に第1通信を確立する。装置C303が装置B302にタッチ(近接)されると、装置C303のモニタには、例えば図15に示されるような、第1通信の確立をユーザに確認するGUI画面が表示される。図15の例の場合、「ACCEPT?」のメッセージとともに、「OK」と「CANCEL」の選択肢が表示される。たとえば、装置C303のユーザが第2通信網310への参加を希望するのであれば、「OK」を操作する。そうでないならば、「CANCEL」を操作する。「OK」が操作されると、装置C303のハンドオーバ制御部221は、第1通信を確立する。
第1通信が確立されると、装置B302の設定情報授受部343は、ステップS145において、機器情報や、図6を参照して説明したようなケイパビリティ情報やコンテンツ操作権限情報等の、通信に関する各種設定情報を装置C303に提供する。この処理に対応して、装置C303の設定情報授受部351は、ステップS122において、その提供された各種設定情報を取得する。
図17の設定情報361は、この装置B302から装置C303に提供される設定情報の構成例を示している。設定情報361は、図17に示されるように、マスタアドレス371、マスタケイパビリティ情報372、新マスタPIN(Personal Identification Number)373、自アドレス374、自ケイパビリティ情報375、およびコンテンツ操作権限376を含む。もちろん、これ以外の情報を含むようにしてもよい。
マスタアドレス371は、機器情報であり、第2通信網310のマスタとして動作する装置のアドレス情報(識別情報)である。図17の例の場合、マスタアドレス371として、装置A301のアドレスであるAアドレスが提供される。マスタケイパビリティ情報372は、第2通信網310のマスタとして動作する装置のケイパビリティ情報である。図17の例の場合、マスタケイパビリティ情報372として、装置A301のケイパビリティ情報であるAケイパビリティ情報が提供される。
新マスタPIN373は、セッションを確認するためのパスキーである。この新マスタPIN373の値によって、どの要求に対する応答か等を確認するための識別情報である。図17の例の場合、新マスタPIN373は、追加する装置C303と第1通信を確立した、第2通信網310を形成する既存の装置B302が生成する。ここでは新マスタPIN373として値「1234」が提供されるものとする。なお、新マスタPIN373はどのような値であってもよく、データ長も任意である。
自アドレス374は、機器情報であり、自分自身のアドレス情報(識別情報)である。図17の例の場合、自アドレス374として、装置B302のアドレスであるBアドレスが提供される。自ケイパビリティ情報375は、自分自身のケイパビリティ情報である。図17の例の場合、自ケイパビリティ情報375として、装置B302のケイパビリティ情報であるBケイパビリティ情報が提供される。
コンテンツ操作権限376は、装置C303に対して装置A301のコンテンツの操作権限を付与するか否かを示す情報である。図17の例の場合、コンテンツ操作権限376として「再生制御あり」との情報が提供される。つまり、この場合、装置C303に再生制御権が与えられる。なお、再生制御権を付与しない場合、「再生制御なし」との情報が提供される。このコンテンツ操作権限376は、再生制御の有無を示す情報であればどのような値であってもよい。
図9に戻り、今度は、装置C303の設定情報授受部351が、ステップS123において、図6を参照して説明したような、機器情報、ケイパビリティ情報、およびコンテンツ操作権限情報を含む、通信に関する各種設定情報を装置B302に提供する。この処理に対応して、装置B302の設定情報授受部343は、ステップS146において、その提供された各種設定情報を取得する。
図17の設定情報362は、この装置C303から装置B302に提供される設定情報の構成例を示している。設定情報362は、図17に示されるように、自アドレス377、自ケイパビリティ情報378、および新マスタPIN379を含む。もちろん、これ以外の情報を含むようにしてもよい。
自アドレス377は、機器情報であり、自分自身のアドレス情報(識別情報)である。図17の例の場合、自アドレス377として、装置C303のアドレスであるCアドレスが提供される。自ケイパビリティ情報378は、自分自身のケイパビリティ情報である。図17の例の場合、自ケイパビリティ情報378として、装置C303のケイパビリティ情報であるCケイパビリティ情報が提供される。
新マスタPIN379は、第1通信接続先より供給された新マスタPINである。図17の例の場合、新マスタPIN379として、装置B302より供給された新マスタPIN373と同一の値「1234」を提供する。この新マスタPIN379が共通であることにより、設定情報362が、設定情報361に対応する情報であることが示される。なお、新マスタPIN379はどのような値であってもよく、データ長も任意である。
この情報の交換により、装置B302は、装置C303の機器情報(アドレス)およびケイパビリティ情報を取得する。また、装置C303は、装置B302の機器情報(アドレス)およびケイパビリティ情報の外に、マスタである装置A301の機器情報(アドレス)およびケイパビリティ情報、並びに、コンテンツ操作権限の有無を示す情報を取得する。
図9に戻り、第1通信による機器情報や接続情報等の交換が終了すると、装置B302の追加依頼処理部344は、ステップS147において、第2通信を利用して、装置C303の追加依頼要求を装置A301に対して行う。図17の追加依頼要求363は、このとき装置A301に提供される情報を示す。
図17の例において、追加依頼要求363は、追加依頼要求コマンド380、追加装置アドレス381、追加装置ケイパビリティ情報382、新マスタPIN情報383、自アドレス384、自ケイパビリティ情報385、および追加装置コンテンツ操作権限386を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加依頼要求コマンド380は、装置A301に対して装置C303の第2通信網310への追加を要求するコマンドである。追加装置アドレス381は、機器情報であり、第2通信網310に追加する装置のアドレス情報である。図17の例の場合、追加装置アドレス381として、Cアドレスが提供される。追加装置ケイパビリティ情報382は、第2通信網310に追加する装置のケイパビリティ情報である。図17の例の場合、追加装置ケイパビリティ情報382として、Cケイパビリティ情報が提供される。新マスタPIN383は、上述した新マスタPIN373等と同様の情報である。図17の例の場合、この追加依頼要求が、上述した処理に対応しているので、新マスタPIN383として、新マスタPIN373および新マスタPIN379と同一の値「1234」が提供される。
自アドレス384は、機器情報であり、自分自身のアドレス情報(識別情報)である。図17の例の場合、自アドレス384として、Bアドレスが提供される。自ケイパビリティ情報385は、自分自身のケイパビリティ情報である。図17の例の場合、自ケイパビリティ情報378として、Bケイパビリティ情報が提供される。
追加装置コンテンツ操作権限386は、追加する装置がマスタとして動作する装置のコンテンツの操作権限を付与するか否かを示す情報であり、コンテンツ操作権限376と同様の情報ある。図17の例の場合、追加装置コンテンツ操作権限386として「再生制御あり」との情報が提供される。
以上のような追加依頼要求が提供された装置A301の追加依頼受付部331は、ステップS102において、それを取得する。ステップS103において、追加確認部332は、装置A301のモニタに、例えば図16に示されるような、追加される装置にタッチ(近接)されていない装置のユーザに、装置の追加を確認させるためのGUI画面を表示させる。図16の例の場合、GUI画面には、「装置Cを接続しますか?」のメッセージとともに、「はい」と「いいえ」の選択肢が表示される。装置A301のユーザは、その「はい」か「いいえ」のいずれか一方を選択することにより、装置C303の追加に対する意思を示す。
ユーザが「はい」を選択すると、追加依頼受付部331は、ステップS104において、第2通信を介して、装置B302に対して追加依頼要求に対する応答を行い、装置C303の追加を許可する。図17のレスポンス364は、このとき装置A301より装置B302に提供される情報の構成例を示している。
図17の例において、レスポンス364は、追加依頼許可レスポンス387、新マスタPIN388、自アドレス389、および自ケイパビリティ情報390を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加依頼許可レスポンス387は、追加依頼要求コマンド380に対する応答であり、追加を許可することを示す。新マスタPIN388は、上述した各新マスタPINと同様の情報である。この応答は、上述した各処理に対応するものであるので、図17の例の場合、新マスタPIN388として、新マスタPIN373、新マスタPIN379、および新マスタPIN383と同一の値「1234」が提供される。
自アドレス389は、機器情報であり、自分自身のアドレス情報(識別情報)である。図9の場合、自アドレス389として、Aアドレスが提供される。自ケイパビリティ情報390は、自分自身のケイパビリティ情報である。図17の例の場合、自ケイパビリティ情報390として、Aケイパビリティ情報が提供される。
装置B302の追加依頼処理部344は、ステップS148において、その応答を取得する。
この情報交換により、装置C303とタッチ(近接)していない装置A301は、装置C303の機器情報(アドレス)やケイパビリティ情報を取得することができる。また、装置B302は、装置A301において装置C303の追加が許可されたことを知ることができる。
なお、ステップS103において、装置A301のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、ステップS104において、追加依頼受付部331は、第2通信を介して、装置B302に対して、拒否を示す応答を送信する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
以上の装置A301と装置B302の間の通信は、ストリーミング再生を行っている第2通信を利用して行うことができる。つまり、装置A301および装置B302は、ストリーミング再生を中断せずに、上述した情報交換を行うことができる。
追加依頼許可応答が伝送されると、装置A301の第2通信制御部333は、図10のステップS105において、装置C303との間に第2通信を確立する。これに対応して、装置C303の第2通信制御部352は、図10のステップS124において装置A301との間に第2通信を確立する。
第2通信が確立されると、装置A301のプロフィール処理部334は、ステップS106において、その第2通信を利用して、装置C303とプロフィール情報の交換を行い、装置C303と互いが持つプロフィール情報の内容を同期させる。これに対して装置C303のプロフィール処理部353は、ステップS125において、第2通信を利用して、装置A301とプロフィール情報の交換を行い、装置A301とプロフィール情報の同期を行う。
同様に、装置A301のプロフィール処理部334は、ステップS107において、第2通信を利用して、装置B302とプロフィール情報の交換を行い、装置B302とプロフィール情報の同期を行う。これに対して装置B302のプロフィール処理部345は、ステップS149において、第2通信を利用して、装置A301とプロフィール情報の交換を行い、装置A301とプロフィール情報の同期を行う。
以上の処理により、装置C303が図7Cに示されるように、第2通信網310に追加され、装置A301から装置C303へのコンテンツデータの配信が可能になる。そこで、ステップS108において、装置A301の音楽プレーヤアプリケーション212は、装置B302および装置C303に対して、第2通信を利用して、ストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。
これに対して、装置B302の音楽プレーヤアプリケーション212は、ステップS150において、装置A301より供給される楽曲データを受信しながら再生する(ストリーミング再生・受信)。同様に、装置C303の音楽プレーヤアプリケーション212は、ステップS126において、装置A301より供給される楽曲データを受信しながら再生する(ストリーミング再生・受信)。
以上のように処理を行うことにより、通信システム300は、第2通信を行わない装置同士をタッチ(近接)させるだけでも、装置の第2通信網への追加を容易に行うことができる。また、このとき、追加前より行われている第2通信網におけるデータ送受信を中断せずに、装置を追加させることができる。さらに、第2通信網への装置追加の可否を、装置をタッチ(近接)させていない装置のユーザが容易に制御することができる。また、第2通信網に追加される装置に対するコンテンツ操作権限の付与を容易に制御することができる。以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、通信システム300は、以上に説明した以外の方法でも装置の追加を行うことができる。例えば、図18に示されるように、受信装置(スレーブ)として追加する装置C303を、通信管理装置(マスタ)として動作中の装置A301にタッチ(近接)させることにより、装置C303を第2通信網310に参加させることもできる。
図18Aにおいては、図7Aの場合と同様に、装置A301が通信管理装置(マスタ)として動作し、装置B302が受信装置(スレーブ)として動作する第2通信網310が形成されている。この状態において、装置C303を、図18Bに示されるように装置A301にタッチ(近接)させ、矢印322に示されるように、装置A301と装置C303との間で第1通信を行わせる。そして、ハンドオーバ処理により、装置A301と装置C303との間で第2通信を確立し、図18Cに示されるように、装置C303を第2通信網310に追加させる。第2通信を利用して、装置A301から、装置B302および装置C303に対して、矢印311および矢印312に示されるように、コンテンツデータのストリーミング配信が行われる。装置B302および装置C303は、それぞれ、そのストリーミングデータを受信しながら再生する。
この場合の、各装置のコンテンツキャストアプリケーション211の構成例を図19に示す。図19Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図19Bは、装置B302のコンテンツキャストアプリケーション211の構成例を示す。図19Cは、装置C303のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図19Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用追加受付処理部410、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用追加受付処理部410は、第2通信網310においてマスタ(通信管理装置)として装置の追加を受け付ける処理を行う。この場合、追加される装置にタッチ(近接)される装置としての処理も行う。マスタ用追加受付処理部410は、追加指示受付部411、再生制御権処理部412、設定情報授受部413、追加確認制御部414、第2通信制御部415、およびプロフィール処理部416を有する。
追加指示受付部411は、追加指示受付部341と同様の処理部であり、ユーザからの装置追加指示を受け付ける。再生制御権処理部412は、再生制御権処理部342と同様の処理部であり、追加する装置に対して、コンテンツの再生制御権の付与に関する処理を行う。設定情報授受部413は、設定情報授受部343と同様の処理部であり、タッチ(近接)された装置C303との間に確立された第1通信を用いて、機器情報やケイパビリティ情報(接続情報)等の各種設定情報の授受を行う。
追加確認制御部414は、追加確認部332と同様の処理部であり、装置C303とタッチ(近接)されていない装置B302のユーザに対して追加の可否を確認する処理を行う。第2通信制御部415は、第2通信制御部333と同様の処理部であり、追加を許可された装置C303との第2通信の確立を行う。プロフィール処理部416は、プロフィール処理部334と同様の処理部であり、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図19Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部420、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部420は、第2通信網310においてスレーブ(受信装置)として装置の追加の許可に関する処理を行う。図18Bに示されるように、このスレーブ用追加受付処理部420は、追加される装置C303とタッチ(近接)されない装置の処理を行う。スレーブ用追加受付処理部420は、追加確認受付部421、追加確認部422、およびプロフィール処理部423を有する。
追加確認受付部421は、第2通信を介して装置A301より供給される装置C303の追加の確認依頼を受け付け、その応答を行う。追加確認部422は、追加確認部332と同様に、装置B302のユーザに対して追加の可否を確認する処理を行う。プロフィール処理部423は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図19Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、追加装置処理部430、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
追加装置処理部430は、第2通信網310に追加される装置としての処理を行う。この追加装置処理部430は、追加装置処理部350と同様の処理部であり、設定情報授受部431、第2通信制御部432、およびプロフィール処理部433を有する。
設定情報授受部431は、設定情報授受部351と同様に、タッチ(近接)された装置A301との間に確立された第1通信を用いて、機器情報やケイパビリティ情報(接続情報)の授受を行う。第2通信制御部432は、第2通信制御部352と同様に、マスタである装置A301との第2通信の確立を行う。プロフィール処理部433は、プロフィール処理部353と同様に、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
次に、図20および図21のフローチャートを参照して、図19に示されるような装置C303の追加における処理の流れの例を説明する。なお、必要に応じて、図22を参照して説明する。
最初、図18Aに示される状態において、装置A301の音楽プレーヤアプリケーション212は、ステップS201において、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS251において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。このようなストリーミング再生中に、装置A301において、例えばユーザがGUI上に表示されるメニュー(Menu)ボタンを操作するなどして、装置の追加を指示すると、装置A301の追加指示受付部411は、ステップS202において、その装置追加指示を受け付ける。
装置の追加指示が受け付けられると、再生制御権処理部412は、ステップS203において、例えば、図13に示されるような、再生制御権の付与をユーザに確認する為のGUIを表示する。
再生制御権付与が確認されると、装置A301の第1通信の準備が整う。この状態において装置C303が装置A301にタッチ(近接)されると、装置A301のハンドオーバ制御部221は、ステップS204において、図18Bに示されるようにタッチ(近接)された装置C303との間に第1通信を確立する。このとき、装置A301のモニタには、例えば図14に示されるような、ユーザにタッチ(近接)動作を促す画面が表示される。
この装置A301の処理に対応して、装置C303のハンドオーバ制御部221も、ステップS231において、図18Bに示されるようにタッチ(近接)された装置A301との間に第1通信を確立する。装置C303が装置A301にタッチ(近接)されると、装置C303のモニタには、例えば図15に示されるような、第1通信の確立をユーザに確認するGUI画面が表示される。
第1通信が確立されると、装置A301の設定情報授受部413は、ステップS205において、機器情報、ケイパビリティ情報、およびコンテンツ操作権限情報等の各種設定情報を装置C303に提供する。この処理に対応して、装置C303の設定情報授受部431は、ステップS232において、その提供された設定情報を取得する。
図22の設定情報461は、この装置A301から装置C303に提供される設定情報の構成例を示している。設定情報461は、図22に示されるように、設定情報361と同様のフォーマットであり、機器情報であるマスタアドレス471、マスタケイパビリティ情報472、新マスタPIN473、機器情報である自アドレス474、自ケイパビリティ情報475、およびコンテンツ操作権限476を含む。もちろん、これ以外の情報を含むようにしてもよい。
この場合、自分自身がマスタであるので、図22の例においては、機器情報であるマスタアドレス471および自アドレス474はともにAアドレスとなり、ケイパビリティ情報であるマスタケイパビリティ情報472および自ケイパビリティ情報475はともにAケイパビリティ情報となる。
このとき、情報量削減のために、マスタアドレス471または自アドレス474のうちのいずれか一方、並びに、マスタケイパビリティ情報472または自ケイパビリティ情報475を省略してもよい。ただし、送信先において、マスタアドレス471および自アドレス474の値が共通であり、かつ、マスタケイパビリティ情報472および自ケイパビリティ情報475の値も共通であると理解されるようにする必要がある。例えば、一方のみに値を割り当て、他方は空欄とするようにし、その場合、送信先の装置においては、他方の値を参照するようにしてもよい。また、一方にのみ値を割り当て、他方にはその参照先を指定する情報を割り当てるようにしてもよい。送信先の装置は、その参照先の情報に基づいて割り当てられた値を特定する。
また、セッションを確認するためのパスキーであり、新マスタPIN373等と同様の新マスタPIN473は、装置A301により設定され、例えば「1234」とされる。コンテンツ操作権限476は、コンテンツ操作権限376と同様の情報であり、装置C303に対して装置A301のコンテンツの操作権限を付与するか否かを示す。図22の例の場合、「再生制御あり」とされている。
図20に戻り、今度は、装置C303の設定情報授受部431が、ステップS233において、機器情報、ケイパビリティ情報、およびコンテンツ操作権限情報等の設定情報を装置A301に提供する。この処理に対応して、装置A301の設定情報授受部413は、ステップS206において、その提供された設定情報を取得する。
図22の設定情報462は、設定情報362と同様の情報であり、この装置C303から装置A301に提供される設定情報の構成例を示している。設定情報462は、図22に示されるように、機器情報である自アドレス477、ケイパビリティ情報である自ケイパビリティ情報478、および新マスタPIN479を含む。もちろん、これ以外の情報を含むようにしてもよい。
自アドレス477は、自分自身のアドレス情報(識別情報)であり、図22の例の場合、Cアドレスが提供される。自ケイパビリティ情報478は、自分自身のケイパビリティ情報であり、図22の例の場合、Cケイパビリティ情報が提供される。新マスタPIN479は、第1通信接続先より供給された新マスタPINである。図22の例の場合、新マスタPIN473と同一の値「1234」を提供する。この新マスタPINの値が共通であることにより、設定情報462が、設定情報461に対応する情報であることが示される。なお、新マスタPIN479はどのような値であってもよく、データ長も任意である。
この情報の交換により、装置A301は、装置C303の機器情報(アドレス)およびケイパビリティ情報を取得する。また、装置C303は、装置A301の機器情報(アドレス)およびケイパビリティ情報、並びに、コンテンツ操作権限の有無を示す情報を取得する。
図20に戻り、第1通信による機器情報やケイパビリティ情報等の交換が終了すると、装置A301の追加確認制御部414は、ステップS207において、第2通信を利用して、装置C303の追加確認要求を装置B302に対して行う。図22の追加確認要求463は、このとき装置A301より提供される情報を示す。
図22の例において、追加確認要求463は、追加確認要求コマンド480、追加装置アドレス481、追加装置ケイパビリティ情報482、および追加装置コンテンツ操作権限483を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加確認要求コマンド480は、装置B302に対して装置C303の第2通信網310への追加の確認をさせるコマンドである。追加装置アドレス481は、第2通信網310に追加する装置のアドレス情報であり、図22の例の場合、Cアドレスが提供される。追加装置ケイパビリティ情報482は、第2通信網310に追加する装置のケイパビリティ情報であり、図22の例の場合、Cケイパビリティ情報が提供される。
なお、図17の場合と異なり、装置C303にタッチ(近接)された装置がマスタ(装置A301)自身であるので、新マスタPIN、自アドレス、および自ケイパビリティ情報等は、省略される。
追加装置コンテンツ操作権限483は、追加する装置にコンテンツの操作権限を付与するか否かを示す情報であり、追加装置コンテンツ操作権限386と同様の情報ある。図22の例の場合、追加装置コンテンツ操作権限483として「再生制御あり」との情報が提供される。
以上のような追加確認要求が提供された装置B302の追加確認受付部421は、ステップS252において、それを取得する。ステップS253において、追加確認部422は、装置A301のモニタに、例えば図16に示されるような、ユーザに装置の追加を確認させるためのGUI画面を表示させる。
ユーザが「はい」を選択すると、追加確認受付部421は、ステップS254において、第2通信を介して、装置A301に対して追加確認要求に対する応答を行い、装置C303の追加を許可する。図22のレスポンス464は、このとき装置B302より装置A301に提供される情報の構成例を示している。
図22の例において、レスポンス464は、追加確認許可レスポンス485、自アドレス486、および自ケイパビリティ情報487を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加確認許可レスポンス485は、追加確認要求コマンド480に対する応答であり、追加を許可することを示す。自アドレス486は、自分自身のアドレス情報(識別情報)であり、図22の例の場合、Bアドレスが提供される。自ケイパビリティ情報487は、自分自身のケイパビリティ情報である。図22の例の場合、自ケイパビリティ情報487として、Bケイパビリティ情報が提供される。
装置A301の追加確認制御部414は、ステップS208において、その応答を取得する。
この情報交換により、装置C303とタッチ(近接)していない装置B302は、装置A301において装置C303がタッチ(近接)されたことを知ることができる。また、その装置C303の追加の可否を制御することができる。
なお、ステップS253において、装置B302のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、ステップS254において、追加確認受付部421は、第2通信を介して、装置B302に対して、拒否を示す応答を送信する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
以上において、装置A301と装置B302の間の通信は、ストリーミング再生を行っている第2通信を利用して行うことができる。つまり、装置A301および装置B302は、ストリーミング再生を中断せずに、上述した情報交換を行うことができる。
以上の処理が終了すると、装置A301と装置C303との間で第2通信が可能になるが、図21に示されるこれ以降の処理は、図10に示される場合と同様に実行される。
つまり、装置A301の第2通信制御部415は、図21のステップS209において、装置C303の第2通信制御部432は、図21のステップS234において、互いに、第2通信を確立する。
第2通信が確立されると、装置A301のプロフィール処理部416はステップS210において、装置C303のプロフィール処理部433はステップS235において、その第2通信を利用して、互いのプロフィール情報の交換を行い、同期させる。
同様に、装置A301のプロフィール処理部414はステップ211において、装置B302のプロフィール処理部423はステップS255において、第2通信を利用して、互いのプロフィール情報の交換を行い、同期させる。
以上の処理により、装置C303が図18Cに示されるように、第2通信網310に追加され、装置A301から装置C303へのコンテンツデータの配信が可能になる。そこで、装置A301の音楽プレーヤアプリケーション212は、ステップS212において、装置B302および装置C303に対して、第2通信を利用して、ストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。
これに対して、装置B302の音楽プレーヤアプリケーション212はステップS256において、装置C303の音楽プレーヤアプリケーション212はステップS236において、それぞれ、装置A301より供給される楽曲データを受信しながら再生する(ストリーミング再生・受信)。
以上のように処理を行うことにより、通信システム300は、第2通信を行う装置同士をタッチ(近接)させても、装置の第2通信網への追加を容易に行うことができる。すなわち、追加する装置を、第2通信網を形成するどの装置にタッチ(近接)させても、第2通信網に装置を追加することができる。つまり、装置の第2通信網への追加がさらに容易になる。
また、この場合も、追加前より行われている第2通信網におけるデータ送受信を中断せずに、装置を追加させることができる。さらに、この場合も、第2通信網への装置追加の可否を、装置をタッチ(近接)させていない装置のユーザが容易に制御することができる。また、この場合も、第2通信網に追加される装置に対するコンテンツ操作権限の付与を容易に制御することができる。以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、通信システム300を構成する装置の数は任意であり、例えば4台以上であってもよい。例えば、図23に示されるように、3台の装置により形成される第2通信網に新たな装置を追加することもできる。
図23Aにおいては、図7Cの場合などと同様に、装置A301が通信管理装置(マスタ)として動作し、装置B302および装置C303が受信装置(スレーブ)として動作する第2通信網310が形成されている。この状態において、新たに装置D304を第2通信網310に追加させる。
そのために、図23Bに示されるように装置D304を装置C303にタッチ(近接)させ、矢印323に示されるように、装置C303と装置D304との間で第1通信を行わせる。そして、ハンドオーバ処理により、装置A301と装置D304との間で第2通信を確立し、図23Cに示されるように、装置D304を第2通信網310に追加させる。
第2通信を利用して、装置A301から、装置B302乃至装置D304に対して、矢印311乃至矢印313に示されるように、コンテンツデータのストリーミング配信が行われる。装置B302乃至装置D304は、それぞれ、そのストリーミングデータを受信しながら再生する。
つまり、この場合、装置D304は、受信装置にタッチ(近接)される図7の装置C303と同様の処理を行い、装置C303は、追加される装置がタッチ(近接)される受信装置である図7の装置B302と同様の処理を行う。装置B302は、追加される装置がタッチ(近接)されない受信装置である図18の装置B302と同様の処理を行う。装置A301は、追加される装置がタッチ(近接)された受信装置からの追加要求を処理する通信管理装置である図7の装置A301と、追加される装置がタッチ(近接)されていない受信装置に追加の確認を行う通信管理装置である図18の装置A301の両方の処理を行う。
したがって、この場合の、各装置のコンテンツキャストアプリケーション211の構成例は、図24および図25に示すようになる。図24Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図24Bは、装置B302のコンテンツキャストアプリケーション211の構成例を示す。図25Aは、装置C303のコンテンツキャストアプリケーション211の構成例を示す。図25Bは、装置D304のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図24Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用追加受付処理部510、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用追加受付処理部510は、第2通信網310においてマスタ(通信管理装置)として装置の追加を受け付ける処理を行う。マスタ用追加受付処理部510は、追加依頼受付部511、追加確認部512、追加確認制御部513、第2通信制御部514、およびプロフィール処理部515を有する。
追加依頼受付部511は、追加依頼受付部331(図8)と同様の処理部であり、装置D304にタッチ(近接)された装置C303より供給される装置D304の追加依頼に対する処理を行う。追加確認部512は、追加確認部332(図8)と同様の処理部であり、装置A301のユーザに対して装置D304の追加の可否を確認する処理を行う。追加確認制御部513は、追加確認制御部414(図19)と同様の処理部であり、装置D304とタッチ(近接)されていない装置B302のユーザに対して、装置D304の追加の可否を確認する処理を行う。
第2通信制御部514は、第2通信制御部333(図8)や第2通信制御部415(図19)と同様の処理部であり、追加を許可された装置D304との第2通信を確立する。プロフィール処理部515は、プロフィール処理部334(図8)やプロフィール処理部416(図19)と同様の処理部であり、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図24Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部520、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部520は、第2通信網310においてスレーブ(受信装置)として装置の追加を受け付ける処理を行う。図24Bに示されるように、このスレーブ用追加受付処理部520は、追加される装置D304とタッチ(近接)されない装置の処理を行う。スレーブ用追加受付処理部520は、スレーブ用追加受付処理部420(図19)と基本的に同様の構成を有し、追加確認受付部521、追加確認部522、およびプロフィール処理部523を有する。
追加確認受付部521は、追加確認受付部421(図19)と同様の処理部であり、第2通信を介して装置A301より供給される装置D304の追加の確認依頼を受け付け、その応答を行う。追加確認部522は、追加確認部422(図19)と同様の処理部であり、装置B302のユーザに対して追加の可否を確認する処理を行う。プロフィール処理部523は、プロフィール処理部423(図19)と同様の処理部であり、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図25Aに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部530、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部530は、第2通信網310においてスレーブ(受信装置)として装置の追加を受け付ける処理を行う。図25Aに示されるように、このスレーブ用追加受付処理部530は、追加される装置D304とタッチ(近接)される装置の処理を行う。スレーブ用追加受付処理部530は、基本的にスレーブ用追加受付処理部340(図8)と同様の構成を有し、追加指示受付部531、再生制御権処理部532、設定情報授受部533、追加依頼処理部534、およびプロフィール処理部523を有する。
追加指示受付部531は、追加指示受付部341(図8)と同様の処理部であり、ユーザからの装置追加の指示を受け付ける。再生制御権処理部532は、再生制御権処理部342(図8)と同様の処理部であり、追加する装置に対して、コンテンツの再生(配信)を制御する権利である再生制御権の付与に関する処理を行う。設定情報授受部533は、設定情報授受部343(図8)と同様の処理部であり、タッチ(近接)された装置D304との間に確立された第1通信を用いて、機器情報やケイパビリティ情報等の設定情報の授受を行う。
追加依頼処理部534は、追加依頼処理部344(図8)と同様の処理部であり、装置A301に対して装置D304の追加を依頼する処理を行う。プロフィール処理部535は、プロフィール処理部345(図8)と同様の処理部であり、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図25Bに示されるように、装置D304は、コンテンツキャストアプリケーション211の機能として、追加装置処理部540、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
追加装置処理部540は、第2通信網310に追加される装置としての処理を行う。この追加装置処理部540は、基本的に追加装置処理部350と同様の構成を有し、設定情報授受部541、第2通信制御部542、およびプロフィール処理部543を有する。
設定情報授受部541は、設定情報授受部351(図8)と同様の処理部であり、タッチ(近接)された装置C303との間に確立された第1通信を用いて、機器情報やケイパビリティ情報等の設定情報の授受を行う。第2通信制御部542は、第2通信制御部352(図8)と同様の処理部であり、マスタである装置A301との第2通信を確立する。プロフィール処理部543は、プロフィール処理部353(図8)と同様の処理部であり、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
次に、図26および図27のフローチャートを参照して、図23に示されるような装置D304の追加における処理の流れの例を説明する。なお、必要に応じて、図28を参照して説明する。
最初、図23Aに示される状態において、装置A301の音楽プレーヤアプリケーション212は、ステップS301において、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS371において、装置C303の音楽プレーヤアプリケーション212はステップS321において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。装置C303の追加指示受付部531は、GUIを操作する等して入力されるユーザによる装置の追加指示を受け付ける。
装置の追加指示が受け付けられると、再生制御権処理部532は、ステップS323において、例えば、図13に示されるようなGUIをモニタに表示させ、ユーザに対して、追加する装置に再生制御権を付与するか否かを確認する。
再生制御権付与が確認されると、装置C303のハンドオーバ制御部221は、ステップS324において、図23Bに示されるようにタッチ(近接)された装置D304との間に第1通信を確立する。このとき、装置C303のモニタには、例えば図14に示されるような、ユーザにタッチ(近接)動作を促す画面が表示される。
この装置C303の処理に対応して、装置D304のハンドオーバ制御部221も、ステップS351において、図23Bに示されるようにタッチ(近接)された装置C303との間に第1通信を確立する。その際、装置D304のモニタには、例えば図15に示されるような、第1通信の確立をユーザに確認するGUI画面が表示される。
第1通信が確立されると、装置C303の設定情報授受部533は、ステップS325において、設定情報を装置D304に提供する。この処理に対応して、装置D304の設定情報授受部541は、ステップS352において、その提供された設定情報を取得する。
図28の設定情報561は、この装置C303から装置D304に提供される設定情報の構成例を示している。設定情報561は、図28に示されるように、マスタアドレス571、マスタケイパビリティ情報572、新マスタPIN573、自アドレス574、自ケイパビリティ情報575、およびコンテンツ操作権限576を含む。もちろん、これ以外の情報を含むようにしてもよい。
マスタアドレス571は、機器情報であり、マスタアドレス371と同様の情報である。図28の例の場合、マスタアドレス571としてAアドレスが提供される。マスタケイパビリティ情報572は、ケイパビリティ情報であり、マスタケイパビリティ情報372と同様の情報である。図28の例の場合、マスタケイパビリティ情報572としてAケイパビリティ情報が提供される。
新マスタPIN573は、新マスタPIN373と同様の情報である。図28の例の場合、新マスタPIN573は、装置C303が生成する。ここでは新マスタPIN573として値「1234」が提供されるものとする。なお、新マスタPIN573はどのような値であってもよく、データ長も任意である。
自アドレス574は、機器情報であり、自アドレス374と同様の情報である。図28の例の場合、自アドレス574として、Cアドレスが提供される。自ケイパビリティ情報575は、ケイパビリティ情報であり、自ケイパビリティ情報375と同様の情報である。図28の場合、自ケイパビリティ情報575として、装置B302のケイパビリティ情報であるBケイパビリティ情報が提供される。コンテンツ操作権限576は、コンテンツ操作権限376と同様の情報である。図28の例の場合、コンテンツ操作権限576として「再生制御あり」との情報が提供される。
図26に戻り、今度は、装置D304の設定情報授受部541が、ステップS353において、設定情報を装置C303に提供する。この処理に対応して、装置C303の設定情報授受部533は、ステップS326において、その提供された設定情報を取得する。
図28の設定情報562は、この装置D304から装置C303に提供される設定情報の構成例を示している。設定情報562は、図28に示されるように、自アドレス577、自ケイパビリティ情報578、および新マスタPIN579を含む。もちろん、これ以外の情報を含むようにしてもよい。
自アドレス577は、機器情報であり、自アドレス情報377と同様の情報である。図28の例の場合、自アドレス577として、装置D304のアドレス(Dアドレス)が提供される。自ケイパビリティ情報578は、ケイパビリティ情報であり、自ケイパビリティ情報378と同様の情報である。図28の場合、自ケイパビリティ情報578として、装置D304のケイパビリティ情報(Dケイパビリティ情報)が提供される。
新マスタPIN579は、新マスタPIN379と同様の情報である。図28の例の場合、新マスタPIN579として「1234」を提供する。この新マスタPIN579の値が共通であることにより、設定情報562が、設定情報561に対応する情報であることが示される。なお、新マスタPIN579はどのような値であってもよく、データ長も任意である。
この情報の交換により、装置C303は、装置D304の機器情報(アドレス)およびケイパビリティ情報を取得する。また、装置D304は、装置C303の機器情報(アドレス)およびケイパビリティ情報の外に、装置A301の機器情報(アドレス)およびケイパビリティ情報、並びに、コンテンツ操作権限の有無を示す情報を取得する。
図26に戻り、第1通信による設定情報の交換が終了すると、装置C303の追加依頼処理部534は、ステップS327において、第2通信を利用して、装置D304の追加依頼要求を装置A301に対して行う。図28の追加依頼要求563は、このとき装置A301に提供される情報を示す。
図28の例において、追加依頼要求563は、追加依頼要求コマンド580、追加装置アドレス581、追加装置ケイパビリティ情報582、新マスタPIN情報583、および追加装置コンテンツ操作権限584を含む。もちろん、これ以外の情報を含むようにしてもよい。例えば、自アドレスや自ケイパビリティ情報を付加するようにしてもよい。ただし、既存の第2通信を用いてこれらのデータを伝送するため、送信元を示す自アドレスや自ケイパビリティ情報が無くても、装置A301は送信元を識別可能である。
追加依頼要求コマンド580は、追加依頼要求コマンド380と同様のコマンドであり、装置A301に対して装置D304の第2通信網310への追加を要求する。追加装置アドレス581は、追加装置アドレス381と同様の情報である。図28の例の場合、追加装置アドレス581として、Dアドレスが提供される。追加装置ケイパビリティ情報582は、追加装置ケイパビリティ情報382と同様の情報である。図28の例の場合、追加装置ケイパビリティ情報582として、Dケイパビリティ情報が提供される。新マスタPIN583は、新マスタPIN383と同様の情報である。図28の例の場合、新マスタPIN583として値「1234」が提供される。
追加装置コンテンツ操作権限584は、追加装置コンテンツ操作権限386と同様の情報である。図26の場合、追加装置コンテンツ操作権限586として「再生制御あり」との情報が提供される。
装置A301の追加依頼受付部511は、ステップS302において、このような追加依頼要求を取得する。ステップS303において、追加確認部512は、装置A301のモニタに、例えば図16に示されるようなGUI画面を表示させ、ユーザに追加を許可するか否かを確認する。
ユーザが「はい」を選択すると、追加依頼受付部511は、ステップS304において、第2通信を介して、装置C303に対して追加依頼要求に対する応答を行い、装置D304の追加を許可する。図28のレスポンス564は、このとき装置A301より装置C303に提供される情報の構成例を示している。
図28の例において、レスポンス564は、追加依頼許可レスポンス585および新マスタPIN586を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加依頼許可レスポンス585は、追加依頼許可レスポンス387と同様の情報であり、追加依頼要求コマンド580に対する応答であり、追加を許可することを示す。新マスタPIN586は、新マスタPIN388と同様の情報であり、値「1234」が提供される。
装置C303の追加依頼処理部534は、ステップS328において、その応答を取得する。
この情報交換により、装置D304とタッチ(近接)していない通信管理装置である装置A301も、装置D304の機器情報(アドレス)やケイパビリティ情報を取得することができる。また、装置C303は、装置A301において装置D304の追加が許可されたことを知ることができる。
なお、ステップS303において、装置A301のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、追加依頼受付部511は、ステップS304において、第2通信を介して、装置C303に対して追加依頼要求に対する応答を行い、装置D304の追加を拒否する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
ここで、装置A301は、さらに、装置D304がタッチ(近接)されていない受信装置である装置B302にも、装置追加の確認をさせる。つまり、図27のステップS305において、装置A301の追加確認制御部513は、第2通信を利用して、装置D304の追加の確認を装置B302に対して要求する。図28の追加確認要求565は、このとき装置A301より提供される情報を示す。
図28の例において、追加確認要求565は、追加確認要求コマンド587、追加装置アドレス588、追加装置ケイパビリティ情報589、および追加装置コンテンツ操作権限590を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加確認要求コマンド587は、追加確認要求コマンド480と同様の情報である。追加装置アドレス588は、追加装置アドレス481と同様の情報であり、図28の例の場合、Dアドレスが提供される。追加装置ケイパビリティ情報589は、追加装置ケイパビリティ情報482と同様の情報であり、図28の例の場合、Dケイパビリティ情報が提供される。
追加装置コンテンツ操作権限590は、追加装置コンテンツ操作権限483と同様の情報であり、図28の例の場合、追加装置コンテンツ操作権限590として「再生制御あり」との情報が提供される。
以上のような追加確認要求565が提供された装置B302の追加確認受付部521は、ステップS372において、それを取得する。ステップS373において、追加確認部522は、装置B302のモニタに、例えば図16に示されるようなGUI画面を表示させ、ユーザ指示を受け付ける。ユーザが「はい」を選択すると、追加確認受付部521は、ステップS374において、第2通信を介して、装置A301に対して追加確認要求に対する応答を行い、装置D304の追加を許可する。図28のレスポンス566は、このとき装置B302より装置A301に提供される情報の構成例を示している。
図28の例において、レスポンス566は、追加確認許可レスポンス591を含む。もちろん、これ以外の情報を含むようにしてもよい。追加確認許可レスポンス591は、追加確認許可レスポンス485と同様の情報である。装置A301の追加確認制御部513は、ステップS306において、その応答を取得する。
この情報交換により、装置D304とタッチ(近接)していない装置B302は、装置D304がタッチ(近接)されたことを知ることができる。また、その装置D304の追加の可否を制御することができる。
つまり、ステップS373において、装置B302のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、ステップS374において、追加確認受付部521は、第2通信を介して、装置A301に対して、拒否を示す応答を送信する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
以上において、装置A301と装置B302の間の通信は、ストリーミング再生を行っている第2通信を利用して行うことができる。つまり、装置A301および装置B302は、ストリーミング再生を中断せずに、上述した情報交換を行うことができる。
以上の処理が終了すると、装置A301と装置C303との間で第2通信が可能になるが、図27に示されるこれ以降の処理は、図10に示される場合と同様に実行される。
つまり、装置A301の第2通信制御部514は、図27のステップS307において、装置D304の第2通信制御部542は、図27のステップS354において、互いに、第2通信を確立する。
第2通信が確立されると、装置A301のプロフィール処理部535はステップS308において、第2通信を利用して、装置B302乃至装置D304の各装置とプロフィール情報の交換および同期を行う。この処理に対して、装置B302のプロフィール処理部523は図27のステップS375において、装置C303のプロフィール処理部535は図27のステップS329において、装置D304のプロフィール処理部543はステップS355において、それぞれ、第2通信を利用して、装置A301とプロフィール情報の交換および同期を行う。
以上の処理により、装置D304が図23Cに示されるように、第2通信網310に追加され、装置A301から装置D304へのコンテンツデータの配信が可能になる。そこで、装置A301の音楽プレーヤアプリケーション212は、ステップS309において、装置B302乃至装置D304に対して、第2通信を利用して、ストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。
これに対して、装置B302の音楽プレーヤアプリケーション212はステップS376において、装置C303の音楽プレーヤアプリケーション212はステップS330において、装置D304の音楽プレーヤアプリケーション212はステップS356において、それぞれ、装置A301より供給される楽曲データを受信しながら再生する(ストリーミング再生・受信)。
以上のように処理を行うことにより、通信システム300は、第2通信網310を形成する装置が3台以上の場合であっても新たに装置を容易に追加することができる。つまり、装置の第2通信網への追加がさらに容易になる。
また、この場合も、追加前より行われている第2通信網におけるデータ送受信を中断せずに、装置を追加させることができる。さらに、この場合も、第2通信網への装置追加の可否を、装置をタッチ(近接)させていない装置のユーザが容易に制御することができる。また、この場合も、第2通信網に追加される装置に対するコンテンツ操作権限の付与を容易に制御することができる。以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、通信システム300において、装置A301が3台以上の受信装置に対してデータ配信を行っているときに新たな受信装置を追加する場合、図23の装置B302のように、追加される装置にタッチ(近接)されない装置が複数存在することになる。装置A301は、このような「追加される装置にタッチ(近接)されない受信装置」の全てに対して、上述したような追加確認要求を行う。つまり、「追加される装置にタッチ(近接)されない受信装置」のそれぞれは、図23の装置B302と同様の構成を有し、同様の処理を行う。
また、装置D304を装置A301にタッチ(近接)することにより、装置D304を第2通信網310に参加させることも可能である。この場合、受信装置である装置B302および装置C303は、いずれも、「追加される装置にタッチ(近接)されない受信装置」であるので、図18の例の装置B302の場合と同様の構成を有し、同様の処理を行う。通信システム300が5台以上で構成される場合も同様である。
次に、第2通信網を形成する装置を第2通信網から削除する場合について説明する。例えば、図29Aに示されるように、装置A301乃至装置D304により第2通信網310が形成されているとする。そして、装置A301が通信管理装置として動作し、装置B302乃至装置D304が受信装置として動作し、装置A301が装置B302乃至装置D304に対して第2通信を用いて楽曲データをストリーミング配信しているとする。
この状態から、例えば受信装置である装置D304が通信管理装置である装置A301から十分に離れた場合、図29Bに示されるように、第2通信の通信可能範囲外に出てしまうことが考えられる。このような場合、その装置D304と装置A301との間の第2通信(矢印313)を継続することができないので、装置D304は第2通信網310から削除されることになる。しかしながら、その他の受信装置である装置B302および装置C303が装置A301と通信可能な場合、装置A301は、図29Cに示されるように、それらの装置に対してデータ配信(矢印311および矢印312)を継続する。
このようにすることにより、装置D304が通信網310から削除される場合も、ストリーミング配信を一旦全て停止する等の不要な処理の発生を抑制することができ、装置D304の削除の影響の増大を抑制することができる。つまり、通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以下に、具体的に説明する。図30に、この場合の、各装置のコンテンツキャストアプリケーション211の構成例を示す。図30Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図30Bは、装置B302および装置C303のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図30Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用削除処理部610、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用削除処理部610は、第2通信網310においてマスタ(通信管理装置)として装置の削除処理を行う。マスタ用削除処理部610は、削除部611、削除報告部612、および削除確認制御部613を有する。
削除部611は、第2通信不可能となった受信装置を検出し、その機器情報やそのユーザのプロフィール情報を削除する処理を行う。削除報告部612は、モニタにGUI画面を表示する等してユーザに装置を削除した旨を通知する。削除確認制御部613は、他の受信装置に対して、通信不可能となった受信装置に関する情報を削除する旨を各ユーザに通知させる。
図30Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用削除処理部620、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用削除処理部620は、第2通信網310においてスレーブ(受信装置)として装置の削除処理を行う。スレーブ用削除処理部620は、削除確認受付部621および削除報告部622を有する。
削除確認受付部621は、装置A301より供給される削除確認要求に対する処理を行う。削除報告部622は、モニタにGUI画面を表示する等してユーザに装置を削除した旨を通知する。
なお、装置C303がコンテンツキャストアプリケーション211の機能として有する機能は、図30Bに示される装置B302の場合と同様であるのでその説明を省略する。
次に、図31のフローチャートを参照して、装置D304の追加における処理の流れの例を説明する。なお、必要に応じて、図32および図33を参照して説明する。
最初、図30Aに示される状態において、装置A301の音楽プレーヤアプリケーション212は、ステップS401において、装置B302乃至装置D304に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS421において、装置C303の音楽プレーヤアプリケーション212はステップS441において、装置D304の音楽プレーヤアプリケーション212はステップS461において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302乃至装置D304の各装置のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
このとき、装置D304が第2通信の通信可能範囲外(圏外)に移動すると、装置A301の削除部611は、その旨を検知し、機器情報やプロフィール情報等、装置D304に関する情報を削除する。
そして、ステップS402において、装置A301の削除確認制御部613は、残りの装置B302および装置C303に対して、第2通信を用いて、図33の削除確認要求661に示されるような情報を供給し、装置D304の削除の確認を要求する。
削除確認要求661は、図33に示されるように、削除確認要求コマンド671、削除装置アドレス672、削除装置ケイパビリティ情報673、および削除装置プロフィール674を含む。もちろん、これ以外の情報を含むようにしてもよい。
削除確認要求コマンド671は、各受信装置が保持している装置D304に関する情報の削除を要求するコマンドである。削除装置アドレス672は、削除される装置のアドレス(識別情報)である。図33の例の場合、削除装置アドレス672としてDアドレスが提供される。削除装置ケイパビリティ情報673は、削除される装置のケイパビリティ情報である。図33の例の場合、削除装置ケイパビリティ情報673としてDケイパビリティ情報が提供される。削除装置プロフィール674は、削除される装置のプロフィール情報である。図33の例の場合、削除装置プロフィール情報674としてDプロフィールが提供される。
このような要求を送信すると、装置A301の削除報告部612は、例えば図32に示されるようなGUI画面を表示させ、ユーザに装置D304を第2通信網310より削除した旨を通知する。図32において、削除を報告するGUI画面には、「装置D(削除される装置)との通信が切断されました」のような、ユーザに削除を通知するメッセージが示される。
装置B302の削除確認受付部621は、ステップS422において、装置A301より送信された装置削除確認要求を取得し、その要求に従って装置D304に関する機器情報やプロフィール情報を削除する。装置B302の削除報告部622は、ステップS423において、例えば図32に示されるようなGUI画面を表示させ、ユーザに装置D304を第2通信網310より削除した旨を通知する。そして、装置B302の削除確認受付部621は、ステップS424において、要求に対応する応答として、図33のレスポンス662に示されるような、削除確認応答を装置A301に供給する。
レスポンス662は、図33に示されるように、削除確認レスポンス675を含む。削除確認レスポンス675は、ユーザに削除を通知した旨を報告する応答情報である。装置A301は、ステップS404において、装置B302より供給されたレスポンス662を取得する。
同様に、装置C303の削除確認受付部621は、ステップS442において、装置A301より送信された装置削除確認要求を取得し、その要求に従って装置D304に関する機器情報やプロフィール情報を削除する。装置C303の削除報告部622は、ステップS443において、例えば図32に示されるようなGUI画面を表示させ、ユーザに装置D304を第2通信網310より削除した旨を通知する。そして、装置C303の削除確認受付部621は、ステップS444において、要求に対応する応答として、図33のレスポンス662に示されるような、削除確認応答を装置A301に供給する。装置A301は、ステップS405において、装置C303より供給されたレスポンス662を取得する。
以上の処理により装置D304は、第2通信網310より削除される。したがって、これ以降においては、装置A301は、装置B302および装置C303に対してのみ楽曲データの配信を行う。
つまり、装置A301の音楽プレーヤアプリケーション212は、ステップS406において、装置B302および装置C303に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
この送信に対して、装置B302の音楽プレーヤアプリケーション212はステップS425において、装置C303の音楽プレーヤアプリケーション212はステップS445において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303の各装置のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
なお、以上に説明した各処理は、ストリーミング再生におけるデータの送信及び受信の合間に行われる。つまり、通信システム300は、装置A301による装置B302や装置C303に対するデータ配信を継続したまま、装置D304を第2通信網304より容易に削除することができる。
なお、スレーブ(受信装置)である装置が複数削除される場合も、通信システム300は、削除される各装置について上述した処理を行うことにより容易に削除することができる。また、マスタ(通信管理装置)である装置A301が圏外に移動する場合、そのマスタから見れば、全てのスレーブが圏外に移動したことになるので、全てのスレーブが第2通信網310より削除され、第2通信網310が解消される。つまり、通信システム300は、上述した処理を繰り返すことにより、容易に第2通信網310を解消することができる。
以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以上においては、再生制御権の付与について説明したが、例えば装置追加時に再生制御権を付与しなかったり、付与していた再生制御権を削除したりして、再生制御権が付与されていない装置に、改めて再生制御権を付与することができるようにしてもよい。つまり、「再生制御権無し」の装置を「再生制御権あり」に昇格させることができるようにしてもよい。
例えば、図7Cに示される状態において、装置C303に再生制御権が付与されていないものとする。この状態から、装置C303に再生制御権を付与する(昇格させる)場合について説明する。
図34に、この場合の、各装置のコンテンツキャストアプリケーション211の構成例を示す。図34Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図34Bは、装置B302のコンテンツキャストアプリケーション211の構成例を示す。図34Cは、装置C303のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図34Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部710、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部710は、第2通信網310においてマスタ(通信管理装置)として再生制御権の付与に関する処理を行う。再生制御権処理部710は、再生制御権管理部711、制御権付与確認部712、および制御権付与確認制御部713を有する。
再生制御権処理部711は、再生制御権付与の要求に対する処理を行う。制御権付与確認部712は、モニタにGUI画面を表示する等してユーザに再生制御権付与の確認を行う。制御権付与確認制御部713は、再生制御権付与の要求をした受信装置以外の受信装置に対して、再生制御権を付与させるか否かを各ユーザに確認させる。
図34Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部720、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部720は、再生制御権付与の要求をした受信装置以外の受信装置としての、再生制御権の付与を制御する処理を行う。再生制御権処理部720は、確認要求対応部721および制御権付与確認部722を有する。
確認要求対応部721は、マスタである装置A301より供給される制御権付与の確認要求を取得したり応答したりする。制御権付与確認部722は、制御権の付与を認めるか否かをユーザに確認する。
図34Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部730、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部730は、再生制御権の付与を要求する受信装置としての処理を行う。再生制御権処理部730は、昇格指示受付部731、再生制御権要求部732、および昇格処理部733を有する。
昇格指示受付部731は、例えばユーザ操作等により入力される再生制御権の取得の指示を受け付ける。再生制御権要求部732は、昇格指示受付部731により取得された指示に基づいて、再生制御権の付与をマスタに要求する。昇格処理部733は、再生制御権の付与が許可された場合、再生制御権を付与する昇格処理を行う。
次に、図35のフローチャートを参照して、装置C303の昇格に関する処理の流れの例を説明する。なお、必要に応じて、図36および図37を参照して説明する。
最初、装置A301の音楽プレーヤアプリケーション212は、ステップS501において、装置B302および装置C303に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS521において、装置C303の音楽プレーヤアプリケーション212はステップS541において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303の各装置のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
このとき、装置C303において、ユーザがGUI画面を操作して、装置C303に再生制御権を付与させる指示(昇格指示)を入力すると、昇格指示受付部731は、ステップS522において、その昇格指示を受け付ける。再生制御権要求部732は、ステップS523において、その指示に基づいて、マスタである装置A301に対して再生制御権の要求を行う。装置A301の再生制御権管理部711は、ステップS502においてその要求を取得する。制御権付与確認部712は、ステップS503において、その要求に基づいて、例えば、図36に示されるような、再生制御権を装置C303に付与するか否かをユーザに確認するGUI画面をモニタに表示させることにより、装置A301のユーザの意思の確認を行う。
図36に示されるように、GUI画面には、「装置C(再生制御権の付与を要求した装置)に再生制御権を付与しますか?」というメッセージとともに、「はい」と「いいえ」の選択肢が表示される。ユーザは、「はい」または「いいえ」を選択することにより、再生制御権の付与を制御する。
また、制御権付与確認制御部713は、ステップS504において、制御権付与を要求した装置以外の受信装置である装置B302に対して、再生制御権の付与をユーザが認めるか否かの確認を要求する。なお、「制御権付与を要求した装置以外の受信装置」が複数存在する場合、制御権付与確認制御部713は、各装置に対して確認を行わせる。
装置B302の確認要求対応部721は、ステップS542において、その要求を取得する。制御権付与確認部722は、ステップS543において、その要求に基づいて、例えば、図36に示されるような、再生制御権を装置C303に付与するか否かをユーザに確認するGUI画面をモニタに表示させることにより、装置B302のユーザの意思の確認を行う。
ユーザが「はい」を選択し、再生制御権の付与が許可された場合、確認要求対応部721は、ステップS544において、再生制御権付与を許可する応答を装置A301に供給する。装置A301の制御権付与確認制御部713は、その応答をステップS505において取得する。
応答が取得されると、装置A301の再生制御権管理部711は、ステップS506において、再生制御権の付与を許可する応答を、再生制御権付与の要求元である装置C303に供給する。装置C303の再生制御権要求部732は、ステップS524において、その応答を取得する。
応答を取得すると、昇格処理部733は、ステップS525において、装置C303に再生制御権を付与し、例えば図37に示されるような、再生制御権を付与したことをユーザに通知する画面をモニタに表示させる。図37において、画面には例えば「再生制御権を取得しました」という再生制御権付与を示すメッセージが表示される。
なお、ステップS503において装置A301のユーザが装置C303の再生制御権の付与を拒否した場合、または、ステップS543において装置B302のユーザが装置C303の再生制御権の付与を拒否した場合、装置A301の再生制御権管理部711は、ステップS506において、再生制御権の付与を拒否する応答を、再生制御権付与の要求元である装置C303に供給する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、再生制御権ありに昇格しない。
また、以上の処理は、ストリーミング再生の処理の合間に行われる。これにより、通信システム300は、再生制御権付与による他の処理への影響の増大を抑制しながら、より容易に再生制御権を装置に付与させることができる。
つまり、通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、再生制御権の剥奪(降格)も行えるようにしてもよい。その場合、上述した昇格処理において、制御権の付与の代わりに、制御権を剥奪するようにすればよい。
以上の各例において、第2通信網310の更新後、各装置がプロフィール情報の交換および同期を行うように説明した(例えば、図10のステップS106、ステップS107、ステップS125、およびステップS149)が、その際、プロフィール情報だけでなく、その他の情報の交換および同期を行うようにしてもよい。例えば、各装置が、各装置の機器情報やケイパビリティ情報を交換したり、同期を取ったりするようにしてもよい。
これらの情報は、上述したように、第2通信網310の装置構成の更新の際に、第1通信や第2通信によって授受される。したがって、第2通信網310の更新終了時には、各装置は他の装置の情報を取得している。しかしながら、第2通信網310更新後に、例えばユーザが装置の設定を変更する等して、各装置の機器情報やケイパビリティ情報が更新される場合も考えられる。この場合、第2通信網310更新時の授受により各装置が有する互いの情報が最新の情報で無くなる恐れがある。この機器情報やケイパビリティ情報は、第2通信網310更新後も利用可能であるので、これらの情報が最新で無いと、その情報利用時に不具合が発生する恐れがある。
そこで、上述したように、プロフィール情報だけでなく機器情報やケイパビリティ情報も交換および同期を行うことにより、各装置が常に最新の情報を有するようにすることができる。
ところで、この更新後の第2通信網310を構成する各装置が共有する各装置に属する情報(機器情報、ケイパビリティ情報、およびプロフィール情報等)は、次の、上述したような装置の追加や削除等の処理に利用することができるだけでなく、例えば、コンテンツの配信元である通信管理装置の変更(ロールスイッチ)を行うこともできる。
以下にロールスイッチについて説明する。
次に、以上のようにして生成された第2通信によるネットワークであり、アプリケーションによって1台の装置からコンテンツデータを他の装置に配信する第2通信網において、データを配信する装置を切り替えるロールスイッチを行う場合について説明する。
図38は、本発明を適用した通信システムの例を示す図である。
図38Aに示されるように、通信システム300において、装置A301、装置B302、および装置C303が、第2通信網310を確立し、図7Cの状態にあるとする。つまり、矢印311および矢印312に示されるように、装置A301は、装置B302および装置C303に向けて、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行う。装置B302および装置C303は、そのデータを受信しながら再生する。
このような第2通信網310を、図38Bに示されるように、装置C303を通信管理装置とする通信網に変化させる。つまり、装置C303が、矢印314や矢印315に示されるように、装置A301や装置B302に向けて、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行うようにする。装置A301および装置B302は、受信装置として動作し、装置C303より送信されるデータを受信しながら再生する。
このような通信管理装置(ストリーミングデータの配信元)を他の装置に切り替える際に、図1乃至図6を参照して説明した方法では、装置C303を装置A301や装置B302と通信させるようにしても、装置A301と装置B302との間通信を制御することができない。また、装置A301を制御し、装置B302や装置C303と、図1乃至図6を参照して説明した方法で接続を確立する等して通信させるようにしても、装置B302と装置C303との間の通信は制御することができない。
このように、第2通信網を形成する装置が3台以上の場合、図1乃至図6を参照して説明した方法では、通信管理装置の切り替えが困難であった。
そこで、通信システム300においては、以下のように処理を行う。つまり、図38Aの矢印324に示されるように、装置C303が現在の通信管理装置である装置A301に対して、通信管理装置の切り替えを要求するロールスイッチコマンドを発行する。
ロールスイッチコマンドを取得した装置A301は、その要求に基づいて、装置Bとの第2通信の接続を切断する。さらに、装置C303は、装置B302に対して、第2通信の接続を確立する。これにより、装置C303を中心とする第2通信網310が形成されるので、装置C303は、図38Bの矢印314および矢印315のように、装置A301および装置B302に対してストリーミングデータの配信を開始する。
このようにすることにより、通信管理装置を装置A301から装置C303に容易に切り替えることができる。つまり、コンテンツデータの配信元を容易に変更する事ができるようになり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以下にその具体的な方法について説明する。
図39は、図38の装置A301、装置B302、および装置C303が有するコンテンツキャストアプリケーション211の構成例を示す機能ブロック図である。図39Aは、装置A301が有するコンテンツキャストアプリケーション211の構成例を示す。図39Bは、装置B302が有するコンテンツキャストアプリケーション211の構成例を示す。図39Cは、装置C303が有するコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
つまり、図39Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ変更処理部810、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部810は、第2通信網310における現在のマスタ(通信管理装置)用の処理を行う処理部であり、マスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部810は、昇格許可部811、変更確認部812、第2通信制御部813、およびプロフィール処理部814を有する。
昇格許可部811は、受信装置からのマスタ(通信管理装置)昇格要求に対して、その要求を受け付けたり、その要求に対して許可を出したり、拒否したりする。変更確認部812は、マスタ変更の確認を要求元以外の受信装置に対して行う。第2通信制御部813は、マスタを変更する際に、マスタに昇格しない受信装置である装置B302との第2通信を切断する。プロフィール処理部814は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
図39Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、マスタ変更処理部820、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部820は、第2通信網310において、マスタに昇格しない(要求しない)受信装置、すなわち、マスタ昇格の要求元でない受信装置としてのマスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部820は、変更許可部821、第2通信制御部822、およびプロフィール処理部823を有する。
変更許可部821は、変更前のマスタである装置A301より供給されるマスタ変更(確認)要求を受け付け、それに対して変更の可否を決定し、決定結果を応答する。変更の可否の決定方法は任意であるが、例えばユーザ指示に基づいて決定される。第2通信制御部822は、マスタに昇格した受信装置である装置C303と第2通信の接続を確立する。プロフィール処理部823は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
図39Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、マスタ変更処理部830、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部830は、マスタ変更の要求元の受信装置としてのマスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部830は、変更指示受付部831、昇格要求部832、昇格処理部833、第2通信制御部834、およびプロフィール処理部835を有する。
変更指示受付部831は、例えばモニタにGUI画面を表示する等して、例えばユーザ等からのマスタ変更指示を受け付ける。昇格要求部832は、現在のマスタである装置A301に対してマスタへの昇格(マスタの切り替え)を要求する。昇格処理部833は、要求が認められた場合、装置C303をマスタに昇格させる処理を行う。つまり、装置C303は、受信装置から通信管理装置301に変更される。第2通信制御部834は、マスタに昇格しなかった受信装置である装置B302と第2通信の接続を確立する。プロフィール処理部835は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
次に、図40および図41のフローチャートを参照して、図38に示されるような装置C303のマスタ昇格における処理の流れの例を説明する。なお、必要に応じて、図42を参照して説明する。
最初、図38Aに示される状態において、装置A301のアプリケーションは、ステップS601において、コンテンツデータのストリーミング再生のために、コンテンツデータの送信を行う(ストリーミング再生・送信)。以下においては、コンテンツデータの例として楽曲データを用い、楽曲データをストリーミング再生する場合について説明する。つまり、アプリケーションの例として、音楽プレーヤアプリケーション212を用いて説明する。もちろん、ストリーミング再生するコンテンツは、動画像、静止画像、マルチメディアコンテンツ等、どのようなものであってもよく、アプリケーションも任意である。
このとき、装置A301のモニタには、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS641において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、楽曲データの受信・再生中であることを示すGUIが表示される。
装置C303の音楽プレーヤアプリケーション212は、ステップS621において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置C303のモニタには、楽曲データの受信・再生中であることを示すGUIが表示される。
この状態において、装置C303において、ユーザが、所定のGUI画面をモニタに表示させ、そのGUI画面を操作して装置C303内に格納されている楽曲データの楽曲名リストを表示させるとする。そして、そのユーザが、その中のいずれかを再生するように選択すると、装置C303の変更指示受付部831は、ステップS622において、その選択をマスタ変更指示として受け付ける。
図38に示されるようなシステムにおいて、楽曲データの配信は、マスタである装置A301しか行うことができない。つまり、装置C303は、自分自身が有する楽曲データの配信を行うことができない。自分自身が有する楽曲データを自分自身が配信するためには、装置C303は、マスタに昇格するしかない。したがって、変更指示受付部831は、ユーザが装置C303内に格納されている楽曲データの再生を選択した時点で、マスタ昇格の要求を行ったものとみなし、ステップS623において、その要求に対応して、マスタ昇格要求を、装置A301に対して行う。装置A301の昇格許可部411は、ステップS602においてその要求を取得する。
図42のマスタ昇格要求851は、そのステップS623において、装置C303から装置A301に伝送される要求の構成例を示す図である。図42において、マスタ昇格要求851には、マスタ昇格要求コマンド861、新マスタアドレス862、新マスタPIN(Personal Identification Number)863、および新マスタケイパビリティ情報864が含まれる。
マスタ昇格要求コマンド861は、マスタに昇格を要求する要求コマンドである。新マスタアドレス862は、機器情報であり、要求が許可された場合、マスタ更新後に新たなマスタとなる装置のアドレス(識別情報)である。図42の場合、新マスタアドレス862として、装置C303のアドレスであるCアドレスが提供される。新マスタPIN863は、セッションを確認するためのパスキーである。この新マスタPIN863の値によって、どの要求に対する応答か等を確認するための識別情報である。図42の場合、新マスタPIN863は、昇格を要求する装置C303が生成する。ここでは新マスタPIN863として値「1234」が提供されるものとする。なお、新マスタPIN863はどのような値であってもよく、データ長も任意である。新マスタケイパビリティ情報864は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図42の場合、マスタケイパビリティ情報864として、装置C303のケイパビリティ情報であるCケイパビリティ情報が提供される。
図40に戻り、ステップS603において、変更確認部812は、マスタに昇格しない受信装置である装置B302に対してマスタ変更要求を送信することにより、マスタを装置C303に変更してもよいか否かを確認する。
図42のマスタ変更要求852は、そのステップS603において装置A301から装置B302に伝送される要求の構成例を示す図である。図42において、マスタ昇格要求851には、マスタ変更要求コマンド865、新マスタアドレス866、新マスタPIN867、および新マスタケイパビリティ情報868が含まれる。つまり、このマスタ変更要求852のフォーマットは、マスタ昇格要求851のフォーマットと同様である。
マスタ変更要求コマンド865は、マスタ変更の可否の確認を要求するコマンドである。新マスタアドレス866は、機器情報であり、マスタ更新後に新たなマスタとなる装置のアドレス(識別情報)である。図42の場合、新マスタアドレス866として、装置C303のアドレスであるCアドレスが提供される。新マスタPIN867は、セッションを確認するためのパスキーである。図42の場合、新マスタPIN867は、新マスタPIN863と同様の値「1234」が提供されるものとする。新マスタケイパビリティ情報868は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図42の場合、マスタケイパビリティ情報868としてCケイパビリティ情報が提供される。
図40に戻り、装置B302の変更許可部821は、ステップS642において、その要求を取得する。変更の可否を決定すると変更許可部821は、ステップS643において、要求に対する応答として、マスタ変更許可応答を装置A301に供給する。
図42のマスタ変更許可応答853は、そのステップS643において装置B302から装置A301に伝送される要求の構成例を示す図である。図42において、マスタ変更許可応答853には、マスタ変更許可レスポンス869、マスタ変更受入アドレス870、新マスタPIN871、およびマスタ変更受入ケイパビリティ情報872が含まれる。
マスタ変更許可レスポンス869は、マスタ変更を許可するレスポンスである。マスタ変更受入アドレス870は、機器情報であり、マスタ変更を許可した装置、すなわち、このマスタ変更許可応答853の送信元のアドレス(識別情報)である。図9の場合、マスタ変更受入アドレス870として、装置B302のアドレスであるBアドレスが提供される。新マスタPIN871は、セッションを確認するためのパスキーである。図42の場合、新マスタPIN871は、新マスタPIN863と同様の値「1234」が提供されるものとする。マスタ変更受入ケイパビリティ情報872は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図42の場合、マスタ変更受入ケイパビリティ情報878としてCケイパビリティ情報が提供される。
装置A301の変更確認部412は、ステップS604においてその応答を取得する。
マスタの変更を許可するマスタ変更許可応答を取得すると、装置A301の第2通信制御部813は、ステップS605において、マスタに昇格しない(マスタ昇格の要求元でない)受信装置である装置B302との第2通信を切断する。そして、ステップS606において、昇格許可部811は、要求元の受信装置である装置C303に対して、マスタ昇格許可の応答を供給する。
図42のマスタ昇格許可454は、そのステップS606において装置A301から装置C303に伝送される応答の構成例を示す図である。図42において、マスタ昇格許可854には、マスタ昇格許可レスポンス873、マスタ変更受入アドレス874、マスタ変更受入ケイパビリティ情報875、新マスタPIN876、マスタ変更受入アドレス877、マスタ変更受入ケイパビリティ情報878および新マスタPIN879が含まれる。
マスタ昇格許可レスポンス873は、マスタへの昇格を許可するレスポンスである。マスタ変更受入アドレス874は、機器情報であり、マスタ変更を許可した装置のアドレス(識別情報)である。図42の場合、マスタ変更受入アドレス874としてBアドレスが提供される。新マスタPIN876は、セッションを確認するためのパスキーである。図42の場合、新マスタPIN876は、新マスタPIN863と同様の値「1234」が提供されるものとする。マスタ変更受入ケイパビリティ情報475は、マスタの変更を許可した装置のケイパビリティ情報である。図42の場合、マスタ変更受入ケイパビリティ情報875としてBケイパビリティ情報が提供される。
マスタ変更受入アドレス877、マスタ変更受入ケイパビリティ情報878および新マスタPIN879には、マスタ変更を許可した他の受信装置の情報が入力される。図42の場合、装置Aの情報が入力される。つまり、第2通信網310の全ての受信装置について、アドレス、ケイパビリティ情報、およびマスタPINがマスタ昇格許可854に格納される。ただし、装置A301については、マスタであったので、新マスタPINは省略することができる。
なお、装置B302のユーザがマスタ変更を拒否すると、ステップS643において、マスタ変更許可応答の代わりに、マスタ変更の拒否を示すマスタ変更拒否応答を装置A301に送信する。装置A301においてこの応答が取得されると、ステップS606において、昇格許可部811は、要求元の受信装置である装置C303に対して、マスタ昇格拒否の応答を供給する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、マスタに昇格することが出来ない。
装置C303の昇格要求部832は、ステップS624においてその応答を取得する。
マスタ昇格許可を取得すると、装置C303の昇格処理部833は、図41のステップS625において、装置C303をマスタに昇格させる。マスタに昇格すると、装置C303の第2通信制御部834は、ステップS626において、装置A301との第2通信が切断された受信装置である装置B302との第2通信の接続を確立する。この処理に対応して、装置B302の第2通信制御部822も、ステップS644において、装置C303との第2通信の接続を確立する。
装置C303をマスタとする第2通信網が確立すると、装置C303のプロフィール処理部823は、ステップS627において、装置A301や装置B302とプロフィール情報の交換および同期を行う。この処理に対応して、装置A301のプロフィール処理部814は、ステップS607において、プロフィール情報の交換および同期を行う。また、装置B302のプロフィール処理部835は、ステップS645において、プロフィール情報の交換および同期を行う。
ステップS628において、新マスタである装置C303の音楽プレーヤアプリケーション212は、コンテンツデータのストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置C303のモニタには、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS646において、装置C303より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、楽曲データの受信・再生中であることを示すGUIが表示される。
装置A301の音楽プレーヤアプリケーション212は、ステップS608において、装置C303より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置A301のモニタには、楽曲データの受信・再生中であることを示すGUIが表示される。
以上のように、変更前のマスタであった装置A301は、マスタ昇格の要求元の装置である装置C303から取得したマスタ昇格要求に基づいて、装置B302との第2通信を切断する。これにより、装置C303には制御不可能であった、装置A301と装置B302との間の通信を切断させることができ、より容易な処理で、図38を参照して説明したようなロールスイッチを実現することができる。これにより、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
このとき、上述したように、第2通信網の更新時の処理によって、各装置の機器情報やケイパビリティ情報を共有するようにすることにより、図42を参照して説明した、このロールスイッチの際に授受される情報の一部を省略することができる。例えば、既に取得してある情報であれば、改めて取得する必要がない。したがって、各装置は、図42に示される情報の内、相手が有していない情報のみを送信すればよい。このようにすることにより授受される情報量を低減させることができ、ロールスイッチの処理に関する各装置や通信網の負荷を低減させることができる。
なお、上述したように、各装置が、機器情報やケイパビリティ情報の同期を取るようにし、最新の情報を共有するようにすることにより、各装置が共有する情報を用いてロールスイッチを行う場合の不具合の発生を抑制することができる。
以上においては、第2通信網310を形成する装置が3台の場合について説明したが、これに限らず、装置の数は任意である。例えば4台以上であってもよい。
なお、以上において通信システム300の様々なケースについて各装置が有する機能ブロックを説明したが、処理に関連する機能を説明したのみであり、各装置が有する機能ブロックはこれに限らない。例えば、通信システム300の各装置が、他の装置の機能ブロックや他のケースの機能ブロックを同時に有するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図2に示されるように、装置本体とは別に、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROMおよびDVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア131により構成されるだけでなく、装置本体に予め組み込まれた状態で提供される、プログラムが記録されているROM112や、記憶部123に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。