最初に、装置間の通信接続時の処理について説明する。
図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通信によるネットワークであり、アプリケーションによって1台の装置からコンテンツデータを他の装置に配信する第2通信網において、データを配信する装置を切り替えるロールスイッチを行う場合について説明する。
図7は、本発明を適用した通信システムの例を示す図である。
図7Aに示されるように、通信システム300において、予め装置A301、装置B302、および装置C303が、図1乃至図6を参照して説明した方法で、第2通信による通信網である第2通信網310を確立している。第2通信網310は、装置A301が通信管理装置として動作し、装置B302および装置C303が受信装置として動作するシステムである。つまり、矢印311および矢印312に示されるように、装置A301は、装置B302および装置C303に向けて、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行う。装置B302および装置C303は、そのデータを受信しながら再生する。
このような第2通信網310を、図7Bに示されるように、装置C303を通信管理装置とする通信網に変化させる。つまり、装置C303が、装置A301や装置B302に向けて、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行うようにする。装置A301および装置B302は、受信装置として動作し、装置C303より送信されるデータを受信しながら再生する。
このような通信管理装置(ストリーミングデータの配信元)を他の装置に切り替える際に、図1乃至図6を参照して説明した方法では、装置C303を操作しても、装置A301や装置B302と改めてタッチ(近接)させることにより図1乃至図6を参照して説明した方法でそれらと通信の接続を確立することはできるが、装置A301と装置B302との間の通信を制御することはできない。また、装置A301を操作しても、装置B302や装置C303と改めてタッチ(近接)させることにより図1乃至図6を参照して説明した方法でそれらと通信の接続を確立することはできるが、装置B302と装置C303との間の通信を制御することはできない。
このように、第2通信網を形成する装置が3台以上の場合、図1乃至図6を参照して説明した方法では、通信管理装置の切り替えが困難であった。
そこで、通信システム300においては、以下のように処理を行う。まず、図7Aの矢印321に示されるように、装置C303が現在の通信管理装置である装置A301に対して、通信管理装置の切り替えを要求するロールスイッチコマンドを発行する。
ロールスイッチコマンドを取得した装置A301は、その要求に基づいて、装置B302との第2通信の接続を切断する。さらに、装置C303は、装置B302に対して、第2通信の接続を確立する。これにより、装置C303を中心とする第2通信網310が形成されるので、装置C303は、図7Bの矢印331および矢印332のように、装置A301および装置B302に対してストリーミングデータの配信を開始する。
このようにすることにより、通信管理装置を装置A301から装置C303に容易に切り替えることができる。つまり、コンテンツデータの配信元を容易に変更する事ができるようになり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以下にその具体的な方法について説明する。
図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の機能として、マスタ変更処理部410、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部410は、第2通信網310における現在のマスタ(通信管理装置)用の処理を行う処理部であり、マスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部410は、昇格許可部411、変更確認部412、第2通信制御部413、およびプロフィール処理部414を有する。
昇格許可部411は、受信装置からのマスタ(通信管理装置)昇格要求に対して、その要求を受け付けたり、その要求に対して許可を出したり、拒否したりする。変更確認部412は、マスタ変更の確認を要求元以外の受信装置に対して行う。第2通信制御部413は、マスタを変更する際に、マスタに昇格しない受信装置である装置B302との第2通信を切断する。プロフィール処理部414は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
図8Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、マスタ変更処理部420、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部420は、第2通信網310において、マスタに昇格しない(要求しない)受信装置、すなわち、マスタ昇格の要求元でない受信装置としてのマスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部420は、変更許可部421、第2通信制御部422、およびプロフィール処理部423を有する。
変更許可部421は、変更前のマスタである装置A301より供給されるマスタ変更(確認)要求を受け付け、それに対して変更の可否を決定し、決定結果を応答する。変更の可否の決定方法は任意であるが、例えばユーザ指示に基づいて決定される。第2通信制御部422は、マスタに昇格した受信装置である装置C303と第2通信の接続を確立する。プロフィール処理部423は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
図8Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、マスタ変更処理部430、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ変更処理部430は、マスタ変更の要求元の受信装置としてのマスタ(通信管理装置)の変更に関する処理を行う。マスタ変更処理部430は、変更指示受付部431、昇格要求部432、昇格処理部433、第2通信制御部434、およびプロフィール処理部435を有する。
変更指示受付部431は、例えばモニタにGUI画面を表示する等して、例えばユーザ等からのマスタ変更指示を受け付ける。昇格要求部432は、現在のマスタである装置A301に対してマスタへの昇格(マスタの切り替え)を要求する。昇格処理部433は、要求が認められた場合、装置C303をマスタに昇格させる処理を行う。つまり、装置C303は、受信装置から通信管理装置301に変更される。第2通信制御部434は、マスタに昇格しなかった受信装置である装置B302と第2通信の接続を確立する。プロフィール処理部435は、マスタ変更後、第2通信網310を形成する他の装置とプロフィール情報の授受を行い、その内容を同期させる。つまり、お互いのプロフィール情報を共有するための処理を行う。
次に、図9および図10のフローチャートを参照して、図7に示されるような装置C303のマスタ昇格における処理の流れの例を説明する。なお、必要に応じて、図11乃至図14を参照して説明する。
最初、図7Aに示される状態において、装置A301のアプリケーションは、ステップS101において、コンテンツデータのストリーミング再生のために、コンテンツデータの送信を行う(ストリーミング再生・送信)。以下においては、コンテンツデータの例として楽曲データを用い、楽曲データをストリーミング再生する場合について説明する。つまり、アプリケーションの例として、音楽プレーヤアプリケーション212を用いて説明する。もちろん、ストリーミング再生するコンテンツは、動画像、静止画像、マルチメディアコンテンツ等、どのようなものであってもよく、アプリケーションも任意である。
このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS141において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
装置C303の音楽プレーヤアプリケーション212は、ステップS121において、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置C303のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
この状態において、装置C303において、ユーザが、例えば、図13に示されるようなGUI画面をモニタに表示させ、そのGUI画面を操作して装置C303内に格納されている楽曲データの楽曲名リストを表示させるとする。そして、そのユーザが、その中のいずれかを再生するように選択すると、装置C303の変更指示受付部431は、ステップS122において、その選択をマスタ変更指示として受け付ける。
図7に示されるようなシステムにおいて、楽曲データの配信は、マスタである装置A301しか行うことができない。つまり、受信装置である装置C303は、自分自身が有する楽曲データの配信を行うことができない。自分自身が有する楽曲データを自分自身が配信するためには、装置C303は、マスタに昇格するしかない。したがって、変更指示受付部431は、ユーザが装置C303内に格納されている楽曲データの再生を選択した時点で、マスタ昇格の要求を行ったものとみなし、ステップS123において、その要求に対応して、マスタ昇格要求を、装置A301に対して行う。装置A301の昇格許可部411は、ステップS102においてその要求を取得する。
図14のマスタ昇格要求451は、そのステップS123において、装置C303から装置A301に伝送される要求の構成例を示す図である。図14において、マスタ昇格要求451には、マスタ昇格要求コマンド461、新マスタアドレス462、新マスタPIN(Personal Identification Number)463、および新マスタケイパビリティ情報464が含まれる。
マスタ昇格要求コマンド461は、マスタに昇格を要求する要求コマンドである。新マスタアドレス462は、機器情報であり、要求が許可された場合、マスタ更新後に新たなマスタとなる装置のアドレス(識別情報)である。図14の例の場合、新マスタアドレス462として、装置C303のアドレスであるCアドレスが提供される。新マスタPIN463は、セッションを確認するためのパスキーである。この新マスタPIN463の値によって、どの要求に対する応答か等を確認するための識別情報である。図14の例の場合、新マスタPIN463は、昇格を要求する装置C303が生成する。ここでは新マスタPIN463として値「1234」が提供されるものとする。なお、新マスタPIN463はどのような値であってもよく、データ長も任意である。新マスタケイパビリティ情報464は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図14の例の場合、新マスタケイパビリティ情報464として、装置C303のケイパビリティ情報であるCケイパビリティ情報が提供される。
図9に戻り、ステップS103において、変更確認部412は、マスタに昇格しない受信装置である装置B302に対してマスタ変更要求を送信することにより、マスタを装置C303に変更してもよいか否かを確認する。
図14のマスタ変更要求452は、そのステップS103において装置A301から装置B302に伝送される要求の構成例を示す図である。図14において、マスタ昇格要求451には、マスタ変更要求コマンド465、新マスタアドレス466、新マスタPIN467、および新マスタケイパビリティ情報468が含まれる。
マスタ変更要求コマンド465は、マスタ変更の可否の確認を要求するコマンドである。新マスタアドレス466は、機器情報であり、マスタ更新後に新たなマスタとなる装置のアドレス(識別情報)である。図14の例の場合、新マスタアドレス466として、装置C303のアドレスであるCアドレスが提供される。新マスタPIN467は、セッションを確認するためのパスキーである。図14の例の場合、新マスタPIN467は、新マスタPIN463と同様の値「1234」が提供されるものとする。新マスタケイパビリティ情報468は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図14の例の場合、マスタケイパビリティ情報468としてCケイパビリティ情報が提供される。
図9に戻り、装置B302の変更許可部421は、ステップS142において、その要求を取得する。変更の可否を決定すると変更許可部421は、ステップS143において、要求に対する応答として、マスタ変更許可応答を装置A301に供給する。
図14のマスタ変更許可応答453は、そのステップS143において装置B302から装置A301に伝送される要求の構成例を示す図である。図14において、マスタ変更許可応答453には、マスタ変更許可レスポンス469、マスタ変更受入アドレス470、新マスタPIN471、およびマスタ変更受入ケイパビリティ情報472が含まれる。
マスタ変更許可レスポンス469は、マスタ変更を許可するレスポンスである。マスタ変更受入アドレス470は、機器情報であり、マスタ変更を許可した装置、すなわち、このマスタ変更許可応答453の送信元のアドレス(識別情報)である。図14の例の場合、マスタ変更受入アドレス470として、装置B302のアドレスであるBアドレスが提供される。新マスタPIN471は、セッションを確認するためのパスキーである。図14の例の場合、新マスタPIN471は、新マスタPIN463と同様の値「1234」が提供されるものとする。マスタ変更受入ケイパビリティ情報472は、マスタ更新後の新マスタとして動作する装置のケイパビリティ情報である。図14の例の場合、マスタ変更受入ケイパビリティ情報472として装置B302のケイパビリティ情報であるBケイパビリティ情報が提供される。
装置A301の変更確認部412は、ステップS104においてその応答を取得する。
マスタの変更を許可するマスタ変更許可応答を取得すると、装置A301の第2通信制御部413は、ステップS105において、マスタに昇格しない(マスタ昇格の要求元でない)受信装置である装置B302との第2通信を切断する。そして、ステップS106において、昇格許可部411は、要求元の受信装置である装置C303に対して、マスタ昇格許可の応答を供給する。
図14のマスタ昇格許可454は、そのステップS106において装置A301から装置C303に伝送される応答の構成例を示す図である。図14において、マスタ昇格許可454には、マスタ昇格許可レスポンス473、マスタ変更受入アドレス474、マスタ変更受入ケイパビリティ情報475、新マスタPIN476、マスタ変更受入アドレス477、マスタ変更受入ケイパビリティ情報478および新マスタPIN479が含まれる。
マスタ昇格許可レスポンス473は、マスタへの昇格を許可するレスポンスである。マスタ変更受入アドレス474は、機器情報であり、マスタ変更を許可した装置のアドレス(識別情報)である。図14の例の場合、マスタ変更受入アドレス474としてBアドレスが提供される。マスタ変更受入ケイパビリティ情報475は、マスタの変更を許可した装置のケイパビリティ情報である。図14の例の場合、マスタ変更受入ケイパビリティ情報475としてBケイパビリティ情報が提供される。新マスタPIN476は、セッションを確認するためのパスキーである。図14の例の場合、新マスタPIN476は、新マスタPIN463と同様の値「1234」が提供されるものとする。
マスタ変更受入アドレス477、マスタ変更受入ケイパビリティ情報478および新マスタPIN479には、マスタ変更を許可した他の受信装置の情報が入力される。図14の例の場合、装置A301の情報が入力される。つまり、第2通信網310の全ての受信装置について、アドレス、ケイパビリティ情報、およびマスタPINがマスタ昇格許可454に格納される。ただし、装置A301については、マスタであったので、新マスタPINは省略することができる。
なお、装置B302のユーザがマスタ変更を拒否すると、ステップS143において、マスタ変更許可応答の代わりに、マスタ変更の拒否を示すマスタ変更拒否応答を装置A301に送信する。装置A301の変更確認部412がステップS104において、このマスタ変更拒否応答を取得すると、第2通信制御部413によるステップS105の処理は省略され、ステップS106に処理が進められる。ステップS106において、昇格許可部411は、要求元の受信装置である装置C303に対して、マスタ昇格拒否の応答を供給する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、マスタに昇格することが出来ない。
装置C303の昇格要求部432は、ステップS124においてその応答を取得する。
マスタ昇格許可を取得すると、装置C303の昇格処理部433は、図10のステップS125において、装置C303をマスタに昇格させる。マスタに昇格すると、装置C303の第2通信制御部434は、ステップS126において、装置A301との第2通信が切断された受信装置である装置B302との第2通信の接続を確立する。この処理に対応して、装置B302の第2通信制御部422も、ステップS144において、装置C303との第2通信の接続を確立する。
装置C303をマスタとする第2通信網が確立すると、装置C303のプロフィール処理部423は、ステップS127において、装置A301や装置B302とプロフィール情報の交換および同期を行う。この処理に対応して、装置A301のプロフィール処理部414は、ステップS107において、プロフィール情報の交換および同期を行う。また、装置B302のプロフィール処理部435は、ステップS145において、プロフィール情報の交換および同期を行う。つまり、これ以降、装置A301乃至装置C303は、互いの最新のプロフィール情報を共有する。
ステップS128において、新マスタである装置C303の音楽プレーヤアプリケーション212は、コンテンツデータのストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置C303のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、ステップS146において、装置C303より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
装置A301の音楽プレーヤアプリケーション212は、ステップS108において、装置C303より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置A301のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
以上のように、変更前のマスタであった装置A301は、マスタ昇格の要求元の装置である装置C303から取得したマスタ昇格要求に基づいて、装置B302との第2通信を切断する。これにより、装置C303には制御不可能であった、装置A301と装置B302との間の通信を切断させることができ、より容易な処理で、図7を参照して説明したようなロールスイッチを実現することができる。これにより、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以上においては、第2通信網310を形成する装置が3台の場合について説明したが、これに限らず、装置の数は任意である。例えば4台以上であってもよい。
例えば、図15Aに示されるように、第2通信網310を構成する装置が装置A301乃至装置D305の4台である場合も、装置C303をマスタに昇格させるときは、矢印321に示されるように、マスタ昇格要求を、マスタである装置A301に要求する。装置A301は、その要求に応じて、装置B302および装置D304との第2通信を切断する。装置C303は、マスタに昇格し、図15Bに示されるように、装置B302および装置D304と第2通信を確立する。
このときの装置C303は、装置A301に対してロールスイッチコマンド(マスタ昇格要求コマンド)を送信し、許可が得られたらマスタに昇格し、装置B302との第2通信の接続を確立する。従って、さらに装置D304とも第2通信の接続を確立すること以外は、装置C303の処理は、図7乃至図14を参照して説明した場合と同様である。また、この装置D304との第2通信の接続の確立も、装置B302に対する場合と同様である。
また、装置A301は、装置C303からの要求を受け付け、装置C303の昇格についての可否を装置B302に確認し、許可が出たらその旨を装置C303に通知し、装置B302との第2通信を切断する。従って、この場合の装置A301の処理は、上述した処理に加え、装置D304に対しても昇格の可否の確認を行い、装置D304との第2通信を切断すること以外は、図7乃至図14を参照して説明した場合と同様である。また、この装置D304に対する処理も、装置B302に対する処理の場合と同様である。
さらに、装置B302は、装置A301からの要求に応じて、装置C303の昇格の可否を判定し、その判定結果を応答する。そして、装置A301との第2の通信を切断し、装置C303との間に第2の通信の接続を確立する。つまり、装置B302の処理は、図7乃至図14を参照して説明した場合と同様である。なお、装置D304が実行する処理は、装置Bが実行する処理と同様である。
つまり、以上のように第2通信網310を構成する受信装置が5台以上に増えても、装置B302と同様の装置が増えるだけであり、基本的な処理の流れは、図7乃至図14を参照して説明した場合と同様である。
従って、装置A301乃至装置C303が有する機能ブロックは、図8を参照して説明した場合と同様であるので、その説明は省略する。なお、装置D304は、装置B302と同様の機能ブロックを有する。
図16および図17のフローチャートを参照して図15に示されるシステムにおける処理の流れを、より具体的に説明する。
図16および図17に示されるように、装置D304は、ステップS291乃至ステップS296の各処理を、装置B302がステップS261乃至ステップS266の各処理を実行するのと同様に実行する。
また、装置A301および装置C303は、装置B302に対して行う処理を、装置D304に対しても行う。装置A301および装置C303によるそれ以外の処理や、装置B302による各処理は、図9および図10のフローチャートを参照して説明した場合と同様に実行される。
例えば、装置A301の音楽プレーヤアプリケーション212は、図9のステップS101に対応するステップS201において、装置B302および装置C303の他に装置D304にもストリーミングデータ(楽曲データ)の配信(ストリーミング再生・送信)を行う。このとき、装置A301のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、図9のステップS141に対応するステップS261においてその楽曲データを受信しながら再生する(ストリーミング再生・受信)。同様に、装置C303は図9のステップS121に対応するステップS231において、装置D304はステップS291において、それぞれ、装置A301が配信する楽曲データを受信しながら再生する(ストリーミング再生・受信)。このとき、装置B302乃至装置D304のそれぞれのモニタには、例えば図12に示されるような楽曲データの受信・再生中であることを示すGUIが表示される。
この状態において、装置C303において、ユーザが、例えば、図13に示されるようなGUI画面をモニタに表示させ、そのGUI画面を操作して装置C303内に格納されている楽曲データの楽曲名リストを表示させるとする。そして、そのユーザが、その中のいずれかを再生するように選択すると、装置C303の変更指示受付部431は、図9のステップS122に対応するステップS232において、その選択をマスタ変更指示として受け付ける。
図15に示される場合も、図7の場合と同様に、楽曲データの配信はマスタである装置A301しか行うことができない。したがって、装置C303の変更指示受付部431は、ユーザが装置C303に格納されている楽曲データの再生を選択した時点で、マスタ昇格要求を行ったものとみなす。変更指示受付部431は、図9のステップS123に対応するステップS233において、その要求に対して、マスタ昇格要求を、装置A301に大して行う。装置A301の昇格許可部411は、図9のステップS102に対応するステップS202において、そのマスタ昇格要求を取得する。
図18に示されるように、この場合のマスタ昇格要求551は、図14を参照して説明したマスタ昇格要求451と同様である。つまり、マスタ昇格要求551は、マスタ昇格要求コマンド461と同様のマスタ昇格要求コマンド561、新マスタアドレス462と同様の新マスタアドレス562、新マスタPIN463と同様の新マスタPIN563、並びに、新マスタケイパビリティ情報464と同様の新マスタケイパビリティ情報564を含む。つまり、図18の例の場合、新マスタアドレス562としてCアドレスが提供され、新マスタPIN563として値「1234」が提供され、新マスタケイパビリティ情報564としてCケイパビリティ情報が提供される。
図16に戻り、装置A301の変更確認部412は、図9のステップS103に対応するステップS203において、装置B302だけでなく装置C303にもマスタ変更要求を供給し、マスタを装置C303に変更してもよいか否かを確認する。
図18に示されるように、この場合のマスタ変更要求552は、図14を参照して説明したマスタ変更要求452と同様である。つまり、マスタ変更要求552は、マスタ変更要求コマンド465と同様のマスタ変更要求コマンド565、新マスタアドレス466と同様の新マスタアドレス566、新マスタPIN467と同様の新マスタPIN567、並びに、新マスタケイパビリティ情報468と同様の新マスタケイパビリティ情報568を含む。つまり、図18の例の場合、新マスタアドレス566としてCアドレスが提供され、新マスタPIN567として値「1234」が提供され、新マスタケイパビリティ情報568としてCケイパビリティ情報が提供される。
図16に戻り、装置B302の変更許可部421は、図9のステップS142に対応するステップS262において、そのマスタ変更要求を取得する。同様に、装置D304の変更許可部421は、ステップS292において、そのマスタ変更要求を取得する。
装置B302および装置D304は、それぞれ、その要求に基づいてマスタ変更の可否を決定する。例えば、マスタ変更の許可を決定すると、装置B302の変更許可部421は、図9のステップS143に対応するステップS263において、マスタ変更の許可を示すマスタ変更許可応答を装置A301に送信する。
図18に示されるように、この場合の、装置B302より送信されるマスタ変更許可応答553は、図14を参照して説明したマスタ変更許可応答453と同様である。つまり、マスタ変更許可応答553は、マスタ変更許可レスポンス469と同様のマスタ変更許可レスポンス569、マスタ変更受入アドレス470と同様のマスタ変更受入アドレス570、新マスタPIN471と同様の新マスタPIN571、並びに、マスタ変更受入ケイパビリティ情報472と同様のマスタ変更受入ケイパビリティ情報572を含む。つまり、図18の例の場合、装置B302からは、マスタ変更受入アドレス570としてBアドレスが提供され、新マスタPIN571として新マスタPIN563と同様の値「1234」が提供され、マスタ変更受入ケイパビリティ情報572としてBケイパビリティ情報が提供される。
図16に戻り、装置A301の変更確認部412は、図9のステップS104に対応するステップS204において、そのマスタ変更許可応答を取得する。
同様に、装置D304の変更許可部421は、変更を許可する場合、ステップS293において、マスタ変更の許可を示すマスタ変更許可応答を装置A301に送信する。
この場合の、装置D304より送信されるマスタ変更許可応答554は、図18に示されるように、基本的にマスタ変更許可応答553と同様である。つまり、マスタ変更許可応答554は、マスタ変更許可レスポンス569と同様のマスタ変更許可レスポンス573、マスタ変更受入アドレス570と同様のマスタ変更受入アドレス574、新マスタPIN571と同様の新マスタPIN575、並びに、マスタ変更受入ケイパビリティ情報572と同様のマスタ変更受入ケイパビリティ情報576を含む。つまり、図18の例の場合、装置D304からは、マスタ変更受入アドレス574として装置D304のアドレスであるDアドレスが提供され、新マスタPIN575として新マスタPIN563と同様の値「1234」が提供され、マスタ変更受入ケイパビリティ情報576として装置D304のケイパビリティ情報であるDケイパビリティ情報が提供される。
図16に戻り、装置A301の変更確認部412は、図9のステップS104に対応するステップS205において、そのマスタ変更許可応答を取得する。
マスタ変更許可応答を取得すると、装置A301の第2通信制御部413は、図9のステップS105に対応する図17のステップS206において、マスタに昇格しない(マスタ昇格の要求元でない)受信装置である装置B302との第2通信を切断する。同様に、装置A301の第2通信制御部413は、図9のステップS105に対応する図17のステップS207において、マスタに昇格しない受信装置である装置D304との第2通信を切断する。
装置B302および装置D304との第2通信が切断されると、装置A301の昇格許可部411は、図9のステップS106に対応する図17のステップS208において、要求元の受信装置である装置C303に対して、マスタ昇格許可の応答を供給する。
図19に示されるように、この場合の、マスタ昇格許可応答555は、図14を参照して説明したマスタ昇格許可応答454と同様である。つまり、マスタ昇格許可応答555は、マスタ昇格許可レスポンス473と同様のマスタ昇格許可レスポンス577、マスタ変更受入アドレス474と同様のマスタ変更受入アドレス578、マスタ変更受入ケイパビリティ情報475と同様のマスタ変更受入ケイパビリティ情報579、新マスタPIN476と同様の新マスタPIN580、マスタ変更受入アドレス474と同様のマスタ変更受入アドレス581、マスタ変更受入ケイパビリティ情報475と同様のマスタ変更受入ケイパビリティ情報582、新マスタPIN476と同様の新マスタPIN583、マスタ変更受入アドレス477と同様のマスタ変更受入アドレス584、マスタ変更受入ケイパビリティ情報478と同様のマスタ変更受入ケイパビリティ情報585、並びに、新マスタPIN479と同様の新マスタPIN586を含む。
つまり、マスタ昇格許可応答555として、マスタ昇格を許可する各装置(図19の例の場合、装置A301、装置B302、および装置D304)の情報が提供される。
図19の例の場合、マスタ変更受入アドレス578としてBアドレスが提供され、マスタ変更受入ケイパビリティ情報579としてBケイパビリティ情報が提供され、マスタ変更受入アドレス581としてDアドレスが提供され、マスタ変更受入ケイパビリティ情報582としてDケイパビリティ情報が提供され、マスタ変更受入アドレス584としてAアドレスが提供され、マスタ変更受入ケイパビリティ情報585としてAケイパビリティ情報が提供される。また、新マスタPIN580、新マスタPIN583、および新マスタPIN586は、いずれも、新マスタPIN563と同様の値「1234」とされる。
つまり、マスタ変更には、第2通信網310を構成する各装置の許可が必要になる。
装置C303の昇格要求部432は、図9のステップS124に対応する図17のステップS234において、このマスタ昇格許可応答を取得する。
なお、マスタ変更を拒否する場合、装置B302の変更許可部421は、図16のステップS263において、変更許可応答の代わりに、マスタ変更の拒否を示す変更拒否応答を装置A301に送信する。同様に、装置D304の変更許可部421は、マスタ変更を拒否する場合、図16のステップS293において、変更許可応答の代わりに、マスタ変更の拒否を示す変更拒否応答を装置A301に送信する。
装置A301の変更確認部412が図16のステップS204またはステップS205において、このマスタ変更拒否応答を取得すると、第2通信制御部413による図17のステップS206およびステップS207の各処理は省略され、図17のステップS208に処理が進められる。ステップS208において、昇格許可部411は、要求元の受信装置である装置C303に対して、マスタ昇格拒否の応答を供給する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、マスタに昇格することが出来ない。この場合、マスタは装置A301のままとなる。
マスタ昇格許可を取得すると、装置C303の昇格処理部433は、図10のステップS125に対応する図17のステップS235において、装置C303をマスタに昇格させる。
マスタに昇格すると、装置C303の第2通信制御部434は、図10のステップS126に対応する図17のステップS236において、装置B302との間に第2の無線通信の接続を確立する。同様に、装置C303の第2通信制御部434は、図10のステップS126に対応するステップS237において、装置D304との間に第2の無線通信の接続を確立する。
これらの処理に対応して、装置B302の第2通信制御部422は、図10のステップS144に対応する図17のステップS264において、装置C303との第2通信の接続を確立する。同様に、装置D304の第2通信制御部422は、図10のステップS144に対応する図17のステップS294において、装置C303との第2通信の接続を確立する。
装置C303をマスタとする第2通信網310が確立すると、装置C303のプロフィール処理部423は、図10のステップS127に対応する図17のステップS238において、装置A301、装置B302、および装置D304のそれぞれとプロフィール情報の交換および同期を行う。
この処理に対応して、装置A301のプロフィール処理部414は、図10のステップS107に対応する図17のステップS209において、プロフィール情報の交換および同期を行う。同様に、装置B302のプロフィール処理部435は、図10のステップS145に対応する図17のステップS265において、プロフィール情報の交換および同期を行う。さらに、同様に、装置D304のプロフィール処理部435は、図10のステップS145に対応する図17のステップS295において、プロフィール情報の交換および同期を行う。つまり、これ以降、装置A301乃至装置D304は、互いの最新のプロフィール情報を共有する。
図10のステップS128に対応する図17のステップS239において、新マスタである装置C303の音楽プレーヤアプリケーション212は、コンテンツデータのストリーミング再生のために、装置A301、装置B302、および装置D304のそれぞれに対して楽曲データの配信(ストリーミング再生・送信)を行う。このとき、装置C303のモニタには、例えば図11に示されるような、楽曲データの送信中であることを示すGUIが表示される。
装置A301の音楽プレーヤアプリケーション212は、図10のステップS108に対応する図17のステップS210において、装置C303より配信される楽曲データを受信しながら再生する(ストリーミング再生・受信)。このとき装置A301のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212は、図10のステップS146に対応する図17のステップS266において、装置C303より配信される楽曲データを受信しながら再生する(ストリーミング再生・受信)。このとき装置B302のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
装置D304の音楽プレーヤアプリケーション212は、図10のステップS146に対応する図17のステップS296において、装置C303より配信される楽曲データを受信しながら再生する(ストリーミング再生・受信)。このとき装置D304のモニタには、例えば図12に示されるような、楽曲データの受信・再生中であることを示すGUIが表示される。
以上のように、ロールスイッチが行われる第2通信網において、受信装置の数を増大させても、上述した装置B302と同様の装置の数が増大するのみであり、基本的に装置A301乃至装置C303により構成される第2通信網の場合と同様の処理により、容易にロールスイッチを実現することができる。
つまり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以上の各例において、第2通信網310の更新後、各装置がプロフィール情報の交換および同期を行うように説明した(例えば、図10のステップS107、ステップS128、およびステップS146)が、その際、プロフィール情報だけでなく、その他の情報の交換および同期を行うようにしてもよい。例えば、各装置が、各装置の機器情報やケイパビリティ情報を交換したり、同期を取ったりするようにしてもよい。
これらの情報は、上述したように、第2通信網310の装置構成の更新の際に、第1通信や第2通信によって授受される。したがって、第2通信網310の更新終了時には、各装置は他の装置の情報を取得している。しかしながら、第2通信網310更新後に、例えばユーザが装置の設定を変更する等して、各装置の機器情報やケイパビリティ情報が更新される場合も考えられる。この場合、第2通信網310更新時の授受により各装置が有する互いの情報が最新の情報で無くなる恐れがある。この機器情報やケイパビリティ情報は、第2通信網310更新後も利用可能であるので、これらの情報が最新で無いと、その情報利用時に不具合が発生する恐れがある。
そこで、上述したように、プロフィール情報だけでなく機器情報やケイパビリティ情報も交換および同期を行うことにより、各装置が常に最新の情報を共有するようにすることができる。
ところで、この更新後の第2通信網310を構成する各装置が共有する各装置に属する情報(機器情報、ケイパビリティ情報、およびプロフィール情報等)は、次の、上述したような通信管理装置の変更(ロールスイッチ)に利用することができるだけでなく他の処理にも利用することができる。例えば、装置の削除や追加等、第2通信網310の構成の更新にも利用することができる。
以下にこのような第2通信網310の更新について説明する。
まず、第2通信網310に新たな装置を追加する場合について説明する。以下においては、図7Aに示される状態の第2通信網310に、新たな装置(装置D304)を追加する場合を例に説明する。
図20Aに示されるように、通信システム300において、予め装置A301乃至装置C303が、図1乃至図6を参照して説明した方法で、第2通信による通信網である第2通信網310を確立している。
装置A301乃至装置C303は、その第2通信網310を利用して、矢印311および矢印312に示されるように、例えば、音楽や映像等のコンテンツデータのストリーミング再生(データ配信)を行っている。つまり、装置A301が通信管理装置として動作し、コンテンツデータ(ストリーミングデータ)の配信を行い、装置B302および装置C303がそれぞれ受信装置として動作し、装置A301より配信されるデータを受信しながら再生する。
このような状態において、新たに装置D304を第2通信網310に参加させ、ストリーミング再生の受信装置として動作するようにするためには、図1乃至図6を参照して説明した方法の場合、装置D304と装置A301の間で第2通信を確立する必要がある。つまり、装置D304を通信管理装置である装置A301にタッチ(近接)させ、第1通信によって互いの機器情報やケイパビリティ情報の交換等を行い、第2通信を確立させる必要がある。
しかしながら、必ずしも装置D304が装置A301の近くに位置するとは限らず、むしろ装置B302や装置C303に近接させる方が容易である場合も考えられる。しかしながら、図1乃至図6を参照して説明した方法の場合、装置D304と装置B302や装置C303をタッチ(近接)させても、装置D304と装置B302(または装置C303)との間で第2通信を確立させることはできるものの、装置D304と装置A301との間で第2通信を確立させることはできない。つまり、この方法では装置D304は、装置A301から配信されるデータを受信することができない。
また、図1乃至図6を参照して上述した方法では、第1通信から第2通信へハンドオーバするか否かをGUIを用いてユーザに確認することも可能である。しかしながら、図20Aのように複数の装置によって形成される第2通信網310に装置D304を追加する場合、上述した方法では、装置D304を装置A301にタッチ(近接)させたとき、装置B302や装置C303のユーザは、装置D304の参加を拒否することができない。
さらに、図1乃至図6を参照して上述した方法では、装置A301のコンテンツ操作に対する権限の概念が存在しない。例えば、通信システム300においては、受信装置である装置B302乃至装置D304から、装置A301に対して、どのコンテンツを配信させるかを指示することができるようにしてもよい。その場合、無条件に受信装置側の装置が通信管理装置である装置A301のコンテンツ配信を制御することができるようにすると、不慣れなユーザが間違って操作をしてしまい他のユーザに対して迷惑をかけたりしてしまうなどの問題が発生する可能性がある。そこで、この操作権限に制限をかけるのが望ましいが、図1乃至図6を参照して上述した方法では、そのような概念が存在しない。
そこで、通信システム300においては、以下のように処理を行う。つまり、図20Bに示されるように、装置D304を受信装置(例えば装置C303)にタッチ(近接)させることにより、矢印341に示されるように装置C303と装置D304との間で第1通信が確立する。そして、その第1通信によって機器情報やケイパビリティ情報を交換する際に、装置C303が装置A301の情報を装置D304に提供する。装置D303は、この装置A301の情報を用いて、図20Cに示されるように、ハンドオーバ処理によって装置A301と第2通信を確立する。このようにすることにより、装置D304を第2通信網310に受信装置として参加させ、矢印313に示されるように、装置D304が装置A301から配信されるデータを受信しながら再生することができるようになる。
つまり、装置D304が、第2通信を行わない装置C303との第1通信を確立することにより、第1通信を確立していない装置A301との間で第2通信を確立することができるようにする。このようにすることにより、装置D304の第2通信網310への追加作業が容易になり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
さらに、このような手順での装置D304の追加の可否を求めるGUIを装置B302や装置C303において表示させる。装置B302や装置C303のユーザは、このGUIにしたがって装置D304の追加を許可したり拒否したりする。このようにすることにより、第2通信網310を形成する、装置D304と直接第2通信を行わない装置のユーザも、装置D304の追加の可否を制御することができる。
これにより不明な装置(ユーザ)の参加を抑制することができ、第2通信網310の安全性を容易に向上させることができる。例えば、装置A301がサーバのような公共性の高い装置である場合、装置A301としては基本的に装置D304にもデータ配信を行いたい。しかしながら、個人使用である装置B302や装置C303のユーザとしては、知らないユーザ(装置D304)に自分の個人情報を提供したくない(第2通信網310に参加して欲しくない)ことが考えられる。また、例えば、装置A301のユーザと装置D304のユーザが知人同士であっても、装置B302や装置C303のユーザと装置D304のユーザが知人同士でないことも考えられる。その場合、装置B302や装置C303のユーザは、自分の個人情報を装置D304に提供することを望まないことも考えられる。さらに、装置B302や装置C303のユーザが知らない間に、装置D304が第2通信網310に参加してしまい、個人情報が提供されてしまうことも考えられる。上述したように、参加の可否の確認を行うことにより、これらのような事態の発生を抑制することができ、第2通信網310の安全性を容易に向上させることができる。つまり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
さらに、装置D304が装置A301に対してコンテンツ操作権限を持つか否かを確認するGUIを装置B302や装置C303において表示させる。装置B302や装置C303のユーザは、このGUIにしたがって装置D304にコンテンツ操作権限を付与するか否かを制御する。このようにすることにより、不明な装置(ユーザ)の権限を抑制することができるので、第2通信網310の安全性が向上させることができる。つまり、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
図21は、図20の装置A301および装置B302が有するコンテンツキャストアプリケーション211の構成例を示す機能ブロック図である。装置A301および装置B302は、図1乃至図6を参照して説明した場合の携帯電話機101と基本的に同様の構成を有する。つまり、装置A301および装置B302は、どのような装置であってもよいが、図2に示されるような第1通信部141および第2通信部142を有し、図3に示されるような機能ブロックを有する。つまり、装置A301および装置B302は、図4に示されるような構成のハンドアプリケーション208を有し、コンテンツキャストアプリケーション211を有する。
図21Aは、装置A301が有するコンテンツキャストアプリケーション211の構成例を示す。図21Bは、装置B302が有するコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
つまり、図21Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用追加受付処理部610、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用追加受付処理部610は、第2通信網310においてマスタ(通信管理装置)として装置の追加を受け付ける処理を行う。マスタ用追加受付処理部610は、追加依頼受付部611、追加確認部612、追加確認制御部613、第2通信制御部614、およびプロフィール処理部615を有する。
追加依頼受付部611は、装置D304にタッチ(近接)された装置C303より供給される装置D304の追加依頼に対する処理を行う。追加確認部612は、装置A301のユーザに対して追加の可否を確認する処理を行う。追加確認制御部613は、装置D304とタッチ(近接)されていない装置B302のユーザに対して、装置D304の追加の可否を確認する処理を行う。第2通信制御部614は、追加を許可された装置D304との第2通信の確立を行う。プロフィール処理部615は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図21Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部620、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部620は、第2通信網310においてスレーブ(受信装置)として装置の追加を受け付ける処理を行う。図21Bに示されるように、このスレーブ用追加受付処理部620は、追加される装置D304とタッチ(近接)されない装置の処理を行う。スレーブ用追加受付処理部620は、追加確認受付部621、追加確認部622、およびプロフィール処理部623を有する。
追加確認受付部621は、第2通信を介して装置A301より供給される装置D304の追加の確認依頼を受け付け、その応答を行う。追加確認部622は、装置B302のユーザに対して追加の可否を確認する処理を行う。プロフィール処理部623は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図22は、図20の装置C303および装置D304が有するコンテンツキャストアプリケーション211の構成例を示す機能ブロック図である。装置C303および装置D304は、図1乃至図6を参照して説明した場合の携帯電話機101と基本的に同様の構成を有する。つまり、装置C303および装置D304は、どのような装置であってもよいが、図2に示されるような第1通信部141および第2通信部142を有し、図3に示されるような機能ブロックを有する。つまり、装置C303および装置D304は、図4に示されるような構成のハンドアプリケーション208を有し、コンテンツキャストアプリケーション211を有する。
図22Aは、装置C303が有するコンテンツキャストアプリケーション211の構成例を示す。図22Bは、装置D304が有するコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図22Aに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、スレーブ用追加受付処理部630、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用追加受付処理部630は、第2通信網310においてスレーブ(受信装置)として装置の追加を受け付ける処理を行う。図22Aに示されるように、このスレーブ用追加受付処理部630は、追加される装置D304とタッチ(近接)される装置の処理を行う。スレーブ用追加受付処理部630は、追加指示受付部631、再生制御権処理部632、設定情報授受部633、追加依頼処理部634、およびプロフィール処理部635を有する。
追加指示受付部631は、ユーザからの装置追加の指示を受け付ける。再生制御権処理部632は、追加する装置に対して、コンテンツの再生(配信)を制御する権利である再生制御権の付与に関する処理を行う。設定情報授受部633は、タッチ(近接)された装置D304との間に確立された第1通信を用いて、機器情報やケイパビリティ情報等の設定情報の授受を行う。追加依頼処理部634は、装置A301に対して装置D304の追加を依頼する処理を行う。プロフィール処理部635は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
図22Bに示されるように、装置D304は、コンテンツキャストアプリケーション211の機能として、追加装置処理部640、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
追加装置処理部640は、第2通信網310に追加される装置としての処理を行う。この追加装置処理部640は、設定情報授受部641、第2通信制御部642、およびプロフィール処理部643を有する。
設定情報授受部641は、タッチ(近接)された装置C303との間に確立された第1通信を用いて、機器情報やケイパビリティ情報等の設定情報の授受を行う。第2通信制御部642は、マスタである装置A301との第2通信を確立する。プロフィール処理部643は、第2通信網310を構成する他の装置とプロフィール情報を交換し、互いの情報を同期させる。
次に、図23および図24のフローチャートを参照して、装置D304の追加における処理の流れの例を説明する。なお、必要に応じて、図25を参照して説明する。
最初、図20Aに示される状態において、装置A301の音楽プレーヤアプリケーション212は、ステップS301において、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS371において、装置C303の音楽プレーヤアプリケーション212はステップS321において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303のモニタには、楽曲データの受信・再生中であることを示すGUIが表示される。
ここで例えば装置C303のユーザがGUI上に表示されるメニュー(Menu)ボタンを操作するなどして、装置の追加を指示すると、装置C303の追加指示受付部631は、ステップS322において、その装置追加指示を受け付ける。
装置の追加指示が受け付けられると、再生制御権処理部632は、ステップS323において、例えば、再生制御権の付与をユーザに確認する為のGUIを表示する。例えば、GUIとして、「再生制御権を付与しますか?」のメッセージとともに、「はい」と「いいえ」の選択肢が表示される。ユーザは、その「はい」または「いいえ」のいずれか一方を選択することにより再生制御権付与の制御を行う。例えば、再生制御権処理部632は、ユーザにより「はい」が選択された場合、追加される装置D304に再生制御権を付与するように設定を行う。逆に、ユーザにより「いいえ」が選択された場合、再生制御権処理部632は、追加される装置D304に再生制御権を付与しないように設定を行う。
再生制御権付与が確認されると、装置C303の第1通信の準備が整う。このとき、装置C303のモニタには、ユーザにタッチ(近接)動作を促す画面が表示される。この状態において、装置D304が装置C303にタッチ(近接)されると、装置C303のハンドオーバ制御部221は、ステップS324において、図20Bに示されるようにタッチ(近接)された装置D304との間に第1通信を確立する(矢印341)。
この装置C303の処理に対応して、装置D304のハンドオーバ制御部221も、ステップS351において、図20Bに示されるようにタッチ(近接)された装置C303との間に第1通信を確立する(矢印341)。その際、装置D304のモニタには、第1通信の確立をユーザに確認するGUI画面が表示される。
第1通信が確立されると、装置C303の設定情報授受部633は、ステップS325において、機器情報や、図6を参照して説明したようなケイパビリティ情報やコンテンツ操作権限情報等の、通信に関する各種設定情報を装置D304に提供する。この処理に対応して、装置D304の設定情報授受部541は、ステップS352において、その提供された各種設定情報を取得する。
図25の設定情報661は、この装置C303から装置D304に提供される設定情報の構成例を示している。設定情報661は、図25に示されるように、マスタアドレス671、マスタケイパビリティ情報672、新マスタPIN673、自アドレス674、自ケイパビリティ情報675、およびコンテンツ操作権限676を含む。もちろん、これ以外の情報を含むようにしてもよい。
マスタアドレス671は、機器情報であり、第2通信網310のマスタとして動作する装置のアドレス情報(識別情報)である。図25の例の場合、マスタアドレス671として装置A301のアドレスであるAアドレスが提供される。マスタケイパビリティ情報672は、第2通信網310のマスタとして動作する装置のケイパビリティ情報である。図25の例の場合、マスタケイパビリティ情報672として装置A301のケイパビリティ情報であるAケイパビリティ情報が提供される。
新マスタPIN673は、セッションを確認するためのパスキーである。この新マスタPIN673の値によって、どの要求に対する応答か等を確認するための識別情報である。図25の例の場合、新マスタPIN673は、装置C303が生成する。ここでは新マスタPIN673として値「1234」が提供されるものとする。なお、新マスタPIN673はどのような値であってもよく、データ長も任意である。
自アドレス674は、機器情報であり、自分自身のアドレス情報(識別情報)である。図25の例の場合、自アドレス674として、Cアドレスが提供される。自ケイパビリティ情報675は、自分自身のケイパビリティ情報である。図25の場合、自ケイパビリティ情報675として、装置B302のケイパビリティ情報であるBケイパビリティ情報が提供される。コンテンツ操作権限676は、装置D304に対して装置A301のコンテンツの操作権限を付与するか否かを示す情報である。図25の例の場合、コンテンツ操作権限676として「再生制御あり」との情報が提供される。
図23に戻り、今度は、装置D304の設定情報授受部641が、ステップS353において、設定情報を装置C303に提供する。この処理に対応して、装置C303の設定情報授受部633は、ステップS326において、その提供された設定情報を取得する。
図25の設定情報662は、この装置D304から装置C303に提供される設定情報の構成例を示している。設定情報662は、図25に示されるように、自アドレス677、自ケイパビリティ情報678、および新マスタPIN679を含む。もちろん、これ以外の情報を含むようにしてもよい。
自アドレス677は、機器情報であり、自身のアドレス情報(識別情報)である。図25の例の場合、自アドレス677として、装置D304のアドレス(Dアドレス)が提供される。自ケイパビリティ情報678は、自分自身のケイパビリティ情報である。図25の場合、自ケイパビリティ情報678として、装置D304のケイパビリティ情報であるDケイパビリティ情報が提供される。新マスタPIN679は、第1通信接続先より供給された新マスタPINである。図25の例の場合、新マスタPIN679として、装置C303より供給された新マスタPIN673と同一の値「1234」を提供する。この新マスタPIN679の値が新マスタPIN673と共通であることにより、設定情報662が、設定情報661に対応する情報であることが示される。なお、新マスタPIN679はどのような値であってもよく、データ長も任意である。
この情報の交換により、装置C303は、装置D304の機器情報(アドレス)およびケイパビリティ情報を取得する。また、装置D304は、装置C303の機器情報(アドレス)およびケイパビリティ情報の外に、装置A301の機器情報(アドレス)およびケイパビリティ情報、並びに、コンテンツ操作権限の有無を示す情報を取得する。
図23に戻り、第1通信による設定情報の交換が終了すると、装置C303の追加依頼処理部634は、ステップS327において、第2通信を利用して、装置D304の追加依頼要求を装置A301に対して行う。図25の追加依頼要求663は、このとき装置A301に提供される情報を示す。
図25の例において、追加依頼要求663は、追加依頼要求コマンド680、追加装置アドレス681、追加装置ケイパビリティ情報682、新マスタPIN情報683、および追加装置コンテンツ操作権限684を含む。もちろん、これ以外の情報を含むようにしてもよい。例えば、自アドレスや自ケイパビリティ情報を付加するようにしてもよい。ただし、既存の第2通信を用いてこれらのデータを伝送するため、送信元を示す自アドレスや自ケイパビリティ情報が無くても、装置A301は送信元を識別可能である。
追加依頼要求コマンド680は、装置A301に対して装置D304の第2通信網310への追加を要求するコマンドである。追加装置アドレス681は、機器情報であり、第2通信網310に追加する装置のアドレス情報である。図25の例の場合、追加装置アドレス681として、Dアドレスが提供される。追加装置ケイパビリティ情報682は、第2通信網310に追加する装置のケイパビリティ情報である。図25の例の場合、追加装置ケイパビリティ情報682として、Dケイパビリティ情報が提供される。新マスタPIN583は、上述した新マスタPIN673等と同様の情報である。図25の例の場合、この追加依頼要求が、上述した処理に対応しているので、新マスタPIN683として、新マスタPIN673および新マスタPIN679と同一の値「1234」が提供される。追加装置コンテンツ操作権限684は、追加する装置がマスタとして動作する装置のコンテンツの操作権限を付与するか否かを示す情報であり、コンテンツ操作権限676と同様の情報ある。図25の例の場合、追加装置コンテンツ操作権限686として「再生制御あり」との情報が提供される。
装置A301の追加依頼受付部611は、ステップS302において、このような追加依頼要求を取得する。ステップS303において、追加確認部612は、装置A301のモニタにGUI画面を表示させ、ユーザに追加を許可するか否かを確認する。
例えばGUI画面には、「装置Dを接続しますか?」のメッセージとともに、「はい」と「いいえ」の選択肢が表示される。装置A301のユーザは、その「はい」か「いいえ」のいずれか一方を選択することにより、装置D304の追加に対する意思を示す。ユーザが「はい」を選択すると、追加依頼受付部611は、ステップS304において、第2通信を介して、装置C303に対して追加依頼要求に対する応答を行い、装置D304の追加を許可する。図25のレスポンス664は、このとき装置A301より装置C303に提供される情報の構成例を示している。
図25の例において、レスポンス664は、追加依頼許可レスポンス685および新マスタPIN686を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加依頼許可レスポンス685は、追加依頼要求コマンド380に対する応答であり、追加を許可することを示す。新マスタPIN686は、上述した各新マスタPINと同様の情報である。この応答は、上述した各処理に対応するものであるので、図25の例の場合、新マスタPIN686として、新マスタPIN673、新マスタPIN679、および新マスタPIN683と同一の値「1234」が提供される。
装置C303の追加依頼処理部634は、ステップS328において、その応答を取得する。
この情報交換により、装置D304とタッチ(近接)していない通信管理装置である装置A301も、装置D304の機器情報(アドレス)やケイパビリティ情報を取得することができる。また、装置C303は、装置A301において装置D304の追加が許可されたことを知ることができる。
なお、ステップS303において、装置A301のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、追加依頼受付部611は、ステップS304において、第2通信を介して、装置C303に対して追加依頼要求に対する応答を行い、装置D304の追加を拒否する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
ここで、装置A301は、さらに、装置D304がタッチ(近接)されていない受信装置である装置B302にも、装置追加の確認をさせる。つまり、図24のステップS305において、装置A301の追加確認制御部613は、第2通信を利用して、装置D304の追加の確認を装置B302に対して要求する。図25の追加確認要求665は、このとき装置A301より提供される情報を示す。
図25の例において、追加確認要求665は、追加確認要求663と同様の情報である。つまり、追加確認要求665は、追加確認要求コマンド687、追加装置アドレス688、追加装置ケイパビリティ情報689、および追加装置コンテンツ操作権限690を含む。もちろん、これ以外の情報を含むようにしてもよい。
追加確認要求コマンド687は、追加確認要求コマンド680と同様の情報である。追加装置アドレス688は、追加装置アドレス681と同様の情報であり、図25の例の場合、Dアドレスが提供される。追加装置ケイパビリティ情報689は、追加装置ケイパビリティ情報682と同様の情報であり、図25の例の場合、Dケイパビリティ情報が提供される。
追加装置コンテンツ操作権限690は、追加装置コンテンツ操作権限684と同様の情報である。図25の例の場合、追加装置コンテンツ操作権限690として「再生制御あり」との情報が提供される。
以上のような追加確認要求665が提供された装置B302の追加確認受付部621は、ステップS372において、それを取得する。ステップS373において、追加確認部622は、装置B302のモニタに、GUI画面を表示させ、ユーザ指示を受け付ける。例えばGUI画面には、「装置Dを接続しますか?」のメッセージとともに、「はい」と「いいえ」の選択肢が表示される。ユーザが「はい」を選択すると、装置B302の追加確認受付部621は、ステップS374において、第2通信を介して、装置A301に対して追加確認要求に対する応答を行い、装置D304の追加を許可する。図25のレスポンス666は、このとき装置B302より装置A301に提供される情報の構成例を示している。
図25の例において、レスポンス666は、追加確認許可レスポンス691を含む。もちろん、これ以外の情報を含むようにしてもよい。追加確認許可レスポンス591は、追加依頼許可レスポンス685と同様の情報である。装置A301の追加確認制御部613は、ステップS306において、その応答を取得する。
このような情報交換により、装置D304とタッチ(近接)していない装置B302は、装置D304がタッチ(近接)されたことを知ることができる。また、その装置D304の追加の可否を制御することができる。
つまり、ステップS373において、装置B302のユーザが「いいえ」を選択し、装置C303の追加を拒否した場合、ステップS374において、追加確認受付部621は、第2通信を介して、装置A301に対して、拒否を示す応答を送信する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、第2通信網310に参加することが出来ない。
以上において、装置A301と装置B302の間の通信は、ストリーミング再生を行っている第2通信を利用して行うことができる。つまり、装置A301および装置B302は、ストリーミング再生を中断せずに、上述した情報交換を行うことができる。
以上の処理が終了すると、装置A301と装置C303との間で第2通信が可能になる。
つまり、装置A301の第2通信制御部614は、図24のステップS307において、装置D304の第2通信制御部642は、図24のステップS354において、互いに、第2通信を確立する。
第2通信が確立されると、装置A301のプロフィール処理部615はステップS308において、第2通信を利用して、装置B302乃至装置D304の各装置とプロフィール情報の交換および同期を行う。この処理に対して、装置B302のプロフィール処理部623は図24のステップS375において、装置C303のプロフィール処理部635は図24のステップS329において、装置D304のプロフィール処理部643はステップS355において、それぞれ、第2通信を利用して、装置A301とプロフィール情報の交換および同期を行う。つまり、これ以降、装置A301乃至装置D304の各装置は、互いの最新のプロフィール情報を共有する。
以上の処理により、装置D304が図20Cに示されるように、第2通信網310に追加され、装置A301から装置D304へのコンテンツデータの配信が可能になる。そこで、装置A301の音楽プレーヤアプリケーション212は、ステップS309において、装置B302乃至装置D304に対して、第2通信を利用して、ストリーミング再生のために、楽曲データの送信を行う(ストリーミング再生・送信)。
これに対して、装置B302の音楽プレーヤアプリケーション212はステップS376において、装置C303の音楽プレーヤアプリケーション212はステップS330において、装置D304の音楽プレーヤアプリケーション212はステップS356において、それぞれ、装置A301より供給される楽曲データを受信しながら再生する(ストリーミング再生・受信)。
以上のように処理を行うことにより、通信システム300は、第2通信網310に新たな装置を容易に追加することができる。つまり、装置の第2通信網への追加がさらに容易になる。
また、追加前より行われている第2通信網におけるデータ送受信を中断せずに、装置を追加させることができる。さらに、第2通信網への装置追加の可否を、装置をタッチ(近接)させていない装置のユーザが容易に制御することができる。また、第2通信網に追加される装置に対するコンテンツ操作権限の付与を容易に制御することができる。以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、通信システム300を構成する装置の数は任意である。例えば、通信システム300において、装置A301が3台以上の受信装置に対してデータ配信を行っているときに新たな受信装置を追加する場合、図20の装置B302のように、追加される装置にタッチ(近接)されない装置が複数存在することになる。装置A301は、このような「追加される装置にタッチ(近接)されない受信装置」の全てに対して、上述したような追加確認要求を行う。つまり、「追加される装置にタッチ(近接)されない受信装置」のそれぞれは、図20の装置B302と同様の構成を有し、同様の処理を行う。
また、図20において、装置D304を装置B302にタッチ(近接)させて、装置D304を第2通信網310に参加させることも可能である。その場合、装置C303は上述した説明の装置B302の処理を実行し、装置B302は上述した説明の装置C303の処理を実行する。
さらに、装置D304を装置A301にタッチ(近接)させて、装置D304を第2通信網310に参加させることも可能である。この場合、受信装置である装置B302および装置C303は、いずれも、「追加される装置にタッチ(近接)されない受信装置」であるので、上述した説明の装置C303の場合と同様の構成を有し、同様の処理を行う。通信システム300が5台以上で構成される場合も同様である。
また、例えば、装置A301および装置B302の2台が第2通信網310を形成しているときに、新たな装置C303を第2通信網310に追加することもできる。その場合、「追加される装置にタッチ(近接)されない受信装置」に関する処理が省略される以外は、基本的に上述した説明と同様の処理が行われる。
次に、第2通信網を形成する装置を第2通信網から削除する場合について説明する。
例えば、図26Aに示されるように、装置A301乃至装置D304により第2通信網310が形成されているとする。そして、装置A301が通信管理装置として動作し、装置B302乃至装置D304が受信装置として動作し、装置A301が装置B302乃至装置D304に対して第2通信を用いて楽曲データをストリーミング配信しているとする。
この状態から、例えば受信装置である装置D304が通信管理装置である装置A301から十分に離れた場合、図26Bに示されるように、第2通信の通信可能範囲外に出てしまうことが考えられる。このような場合、その装置D304と装置A301との間の第2通信(矢印313)を継続することができないので、装置D304は第2通信網310から削除されることになる。しかしながら、その他の受信装置である装置B302および装置C303が装置A301と通信可能な場合、装置A301は、図26Cに示されるように、それらの装置に対してデータ配信(矢印311および矢印312)を継続する。
このようにすることにより、装置D304が通信網310から削除される場合も、ストリーミング配信を一旦全て停止する等の不要な処理の発生を抑制することができ、装置D304の削除の影響の増大を抑制することができる。つまり、通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以下に、具体的に説明する。図27に、この場合の、各装置のコンテンツキャストアプリケーション211の構成例を示す。図27Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図27Bは、装置B302および装置C303のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図27Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、マスタ用削除処理部710、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
マスタ用削除処理部710は、第2通信網310においてマスタ(通信管理装置)として装置の削除処理を行う。マスタ用削除処理部710は、削除部711、削除報告部712、および削除確認制御部713を有する。
削除部711は、第2通信不可能となった受信装置を検出し、その機器情報やそのユーザのプロフィール情報を削除する処理を行う。削除報告部712は、モニタにGUI画面を表示する等してユーザに装置を削除した旨を通知する。削除確認制御部713は、他の受信装置に対して、通信不可能となった受信装置に関する情報を削除する旨を各ユーザに通知させる。
図27Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、スレーブ用削除処理部720、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
スレーブ用削除処理部720は、第2通信網310においてスレーブ(受信装置)として装置の削除処理を行う。スレーブ用削除処理部720は、削除確認受付部721および削除報告部722を有する。
削除確認受付部721は、装置A301より供給される削除確認要求に対する処理を行う。削除報告部722は、モニタにGUI画面を表示する等してユーザに装置を削除した旨を通知する。
なお、装置C303がコンテンツキャストアプリケーション211の機能として有する機能は、図27Bに示される装置B302の場合と同様であるのでその説明を省略する。
次に、図28のフローチャートを参照して、装置D304の追加における処理の流れの例を説明する。なお、必要に応じて、図29を参照して説明する。
最初、図27Aに示される状態において、装置A301の音楽プレーヤアプリケーション212は、ステップS401において、装置B302乃至装置D304に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS421において、装置C303の音楽プレーヤアプリケーション212はステップS441において、装置D304の音楽プレーヤアプリケーション212はステップS461において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302乃至装置D304の各装置のモニタには、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
このとき、装置D304が第2通信の通信可能範囲外(圏外)に移動すると、装置A301の削除部711は、その旨を検知し、機器情報やプロフィール情報等、装置D304に関する情報を削除する。
そして、ステップS402において、装置A301の削除確認制御部713は、残りの装置B302および装置C303に対して、第2通信を用いて、図29の削除確認要求761に示されるような情報を供給し、装置D304の削除の確認を要求する。
削除確認要求761は、図29に示されるように、削除確認要求コマンド771、削除装置アドレス772、削除装置ケイパビリティ情報773、および削除装置プロフィール774を含む。もちろん、これ以外の情報を含むようにしてもよい。
削除確認要求コマンド771は、各受信装置が保持している削除対象の装置(装置D304)に関する情報の削除を要求するコマンドである。削除装置アドレス772は、削除される装置のアドレス(識別情報)である。図29の例の場合、削除装置アドレス772としてDアドレスが提供される。削除装置ケイパビリティ情報773は、削除される装置のケイパビリティ情報である。図29の例の場合、削除装置ケイパビリティ情報773としてDケイパビリティ情報が提供される。削除装置プロフィール774は、削除される装置のプロフィール情報である。図29の例の場合、削除装置プロフィール情報774としてDプロフィールが提供される。
このような要求を送信すると、装置A301の削除報告部712は、GUI画面を表示させユーザに装置D304を第2通信網310より削除した旨を通知する。例えば、削除を報告するGUI画面には、「装置D(削除される装置)との通信が切断されました」のような、ユーザに削除を通知するメッセージが示される。
装置B302の削除確認受付部721は、ステップS422において、装置A301より送信された装置削除確認要求を取得し、その要求に従って装置D304に関する機器情報やプロフィール情報を削除する。装置B302の削除報告部722は、ステップS423において、GUI画面を表示させユーザに装置D304を第2通信網310より削除した旨を通知する。そして、装置B302の削除確認受付部721は、ステップS424において、要求に対応する応答として、図33のレスポンス762に示されるような、削除確認応答を装置A301に供給する。
レスポンス762は、図29に示されるように、削除確認レスポンス775を含む。削除確認レスポンス775は、ユーザに削除を通知した旨を報告する応答情報である。装置A301の削除確認制御部713は、ステップS404において、装置B302より供給されたレスポンス762を取得する。
同様に、装置C303の削除確認受付部721は、ステップS442において、装置A301より送信された装置削除確認要求を取得し、その要求に従って装置D304に関する機器情報やプロフィール情報を削除する。装置C303の削除報告部722は、ステップS443において、GUI画面を表示させ、ユーザに装置D304を第2通信網310より削除した旨を通知する。そして、装置C303の削除確認受付部721は、ステップS444において、要求に対応する応答として、図29のレスポンス762に示されるような、削除確認応答を装置A301に供給する。装置A301の削除確認制御部713は、ステップS405において、装置C303より供給されたレスポンス762を取得する。
以上の処理により装置D304は、第2通信網310より削除される。したがって、これ以降においては、装置A301は、装置B302および装置C303に対してのみ楽曲データの配信を行う。
つまり、装置A301の音楽プレーヤアプリケーション212は、ステップS406において、装置B302および装置C303に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、楽曲データの送信中であることを示すGUIが表示される。
この送信に対して、装置B302の音楽プレーヤアプリケーション212はステップS425において、装置C303の音楽プレーヤアプリケーション212はステップS445において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303の各装置のモニタには、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
なお、以上に説明した各処理は、ストリーミング再生におけるデータの送信及び受信の合間に行われる。つまり、通信システム300は、装置A301による装置B302や装置C303に対するデータ配信を継続したまま、装置D304を第2通信網304より容易に削除することができる。
なお、スレーブ(受信装置)である装置が複数削除される場合も、通信システム300は、削除される各装置について上述した処理を行うことにより容易に削除することができる。また、マスタ(通信管理装置)である装置A301が圏外に移動する場合、そのマスタから見れば、全てのスレーブが圏外に移動したことになるので、全てのスレーブが第2通信網310より削除され、第2通信網310が解消される。つまり、通信システム300は、上述した処理を繰り返すことにより、容易に第2通信網310を解消することができる。
以上のように通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
以上においては、再生制御権の付与について説明したが、例えば装置追加時に再生制御権を付与しなかったり、付与していた再生制御権を削除したりして、再生制御権が付与されていない装置に、改めて再生制御権を付与することができるようにしてもよい。つまり、「再生制御権無し」の装置を「再生制御権あり」に昇格させることができるようにしてもよい。
例えば、図20Aに示される状態において、装置C303に再生制御権が付与されていないものとする。この状態から、装置C303に再生制御権を付与する(昇格させる)場合について説明する。
図30に、この場合の、各装置のコンテンツキャストアプリケーション211の構成例を示す。図30Aは、装置A301のコンテンツキャストアプリケーション211の構成例を示す。図30Bは、装置B302のコンテンツキャストアプリケーション211の構成例を示す。図30Cは、装置C303のコンテンツキャストアプリケーション211の構成例を示す。図4を参照して説明した構成と同様の部分については、同様の符号を付してある。
図30Aに示されるように、装置A301は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部810、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部810は、第2通信網310においてマスタ(通信管理装置)として再生制御権の付与に関する処理を行う。再生制御権処理部810は、再生制御権管理部811、制御権付与確認部812、および制御権付与確認制御部813を有する。
再生制御権処理部811は、再生制御権付与の要求に対する処理を行う。制御権付与確認部812は、モニタにGUI画面を表示する等してユーザに再生制御権付与の確認を行う。制御権付与確認制御部813は、再生制御権付与の要求をした受信装置以外の受信装置に対して、再生制御権を付与させるか否かを各ユーザに確認させる。
図30Bに示されるように、装置B302は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部820、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部820は、再生制御権付与の要求をした受信装置以外の受信装置としての、再生制御権の付与を制御する処理を行う。再生制御権処理部820は、確認要求対応部821および制御権付与確認部822を有する。
確認要求対応部821は、マスタである装置A301より供給される制御権付与の確認要求を取得したり応答したりする。制御権付与確認部822は、制御権の付与を認めるか否かをユーザに確認する。
図30Cに示されるように、装置C303は、コンテンツキャストアプリケーション211の機能として、再生制御権処理部830、ハンドオーバ制御部221、アプリケーション制御部223、GUI制御部224、およびメモリアクセス処理部225を有する。
再生制御権処理部830は、再生制御権の付与を要求する受信装置としての処理を行う。再生制御権処理部830は、昇格指示受付部831、再生制御権要求部832、および昇格処理部833を有する。
昇格指示受付部831は、例えばユーザ操作等により入力される再生制御権の取得の指示を受け付ける。再生制御権要求部832は、昇格指示受付部831により取得された指示に基づいて、再生制御権の付与をマスタに要求する。昇格処理部833は、再生制御権の付与が許可された場合、再生制御権を付与する昇格処理を行う。
次に、図31のフローチャートを参照して、装置C303の昇格に関する処理の流れの例を説明する。
最初、装置A301の音楽プレーヤアプリケーション212は、ステップS501において、装置B302および装置C303に対して、楽曲データの送信を行う(ストリーミング再生・送信)。このとき、装置A301のモニタには、楽曲データの送信中であることを示すGUIが表示される。
装置B302の音楽プレーヤアプリケーション212はステップS521において、装置C303の音楽プレーヤアプリケーション212はステップS541において、それぞれ、装置A301より配信される楽曲データを、受信しながら再生する(ストリーミング再生・受信)。このとき装置B302および装置C303の各装置のモニタには、楽曲データの受信・再生中であることを示すGUIがそれぞれ表示される。
このとき、装置C303において、ユーザがGUI画面を操作して、装置C303に再生制御権を付与させる指示(昇格指示)を入力すると、昇格指示受付部831は、ステップS522において、その昇格指示を受け付ける。再生制御権要求部832は、ステップS523において、その指示に基づいて、マスタである装置A301に対して再生制御権の要求を行う。装置A301の再生制御権管理部811は、ステップS502においてその要求を取得する。制御権付与確認部812は、ステップS503において、その要求に基づいて、例えば、再生制御権を装置C303に付与するか否かをユーザに確認するGUI画面をモニタに表示させることにより、装置A301のユーザの意思の確認を行う。
例えば、GUI画面には、「装置C(再生制御権の付与を要求した装置)に再生制御権を付与しますか?」というメッセージとともに、「はい」と「いいえ」の選択肢が表示される。ユーザは、「はい」または「いいえ」を選択することにより、再生制御権の付与を制御する。
また、制御権付与確認制御部813は、ステップS504において、制御権付与を要求した装置以外の受信装置である装置B302に対して、再生制御権の付与をユーザが認めるか否かの確認を要求する。なお、「制御権付与を要求した装置以外の受信装置」が複数存在する場合、制御権付与確認制御部813は、各装置に対して確認を行わせる。
装置B302の確認要求対応部821は、ステップS542において、その要求を取得する。制御権付与確認部722は、ステップS543において、その要求に基づいて、例えば、図36に示されるような、再生制御権を装置C303に付与するか否かをユーザに確認するGUI画面をモニタに表示させることにより、装置B302のユーザの意思の確認を行う。
ユーザが「はい」を選択し、再生制御権の付与が許可された場合、確認要求対応部721は、ステップS544において、再生制御権付与を許可する応答を装置A301に供給する。装置A301の制御権付与確認制御部813は、その応答をステップS505において取得する。
応答が取得されると、装置A301の再生制御権管理部811は、ステップS506において、再生制御権の付与を許可する応答を、再生制御権付与の要求元である装置C303に供給する。装置C303の再生制御権要求部832は、ステップS524において、その応答を取得する。
応答を取得すると、昇格処理部833は、ステップS525において、装置C303に再生制御権を付与し、例えば再生制御権を付与したことをユーザに通知する画面をモニタに表示させる。例えば画面には「再生制御権を取得しました」という再生制御権付与を示すメッセージが表示される。
以上のように、通信システム300の各装置は、再生制御権の付与を容易に制御することが可能である。
なお、ステップS503において装置A301のユーザが装置C303の再生制御権の付与を拒否した場合、または、ステップS543において装置B302のユーザが装置C303の再生制御権の付与を拒否した場合、装置A301の再生制御権管理部811は、ステップS506において、再生制御権の付与を拒否する応答を、再生制御権付与の要求元である装置C303に供給する。この拒否応答により、一連の処理が終了される。つまり、この場合装置C303は、再生制御権ありに昇格しない。
また、以上の処理は、ストリーミング再生の処理の合間に行われる。これにより、通信システム300は、再生制御権付与による他の処理への影響の増大を抑制しながら、より容易に再生制御権を装置に付与させることができる。
つまり、通信システム300は、装置間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、再生制御権の剥奪(降格)も行えるようにしてもよい。その場合、上述した昇格処理において、制御権の付与の代わりに、制御権を剥奪するようにすればよい。
上述したようなロールスイッチの際の処理において、各装置の機器情報やケイパビリティ情報を共有するようにすることにより、以上のような第2通信網310の構成の更新の際に授受される情報の一部を省略することができる。例えば、既に取得してある情報であれば、改めて取得する必要がない。したがって、各装置は、相手が有していない情報のみを送信すればよい。このようにすることにより授受される情報量を低減させることができ、第2通信網310の構成の更新に関する各装置や通信網の負荷を低減させることができる。
なお、上述したように、各装置が、機器情報やケイパビリティ情報の同期を取るようにし、最新の情報を共有するようにすることにより、各装置が共有する情報を用いて第2通信網310の構成の更新を行う場合の不具合の発生を抑制することができる。
なお、以上において通信システム300の様々なケースについて各装置が有する機能ブロックを説明したが、処理に関連する機能を説明したのみであり、各装置が有する機能ブロックはこれに限らない。例えば、通信システム300の各装置が、他の装置の機能ブロックや他のケースの機能ブロックを同時に有するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図2に示されるように、装置本体とは別に、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROMおよびDVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア131により構成されるだけでなく、装置本体に予め組み込まれた状態で提供される、プログラムが記録されているROM112や、記憶部123に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。