図1は、本発明を適用した通信システムの構成例を示す図である。図1において、通信システム100は、複数の装置を無線通信により連携して動作させ、一連のサービスを提供するアプリケーションを実行するシステムである。図1に示されるように、通信システム100は、例えば、携帯電話機101および携帯電話機102を有する。
携帯電話機101および携帯電話機102は、第1通信と第2通信の2つの方法で互いに通信を行う。第1通信は、第2通信用の設定情報(第2通信設定情報)や機器の能力に関するケイパビリティ情報等を授受するために行われる近接無線通信である。第2通信は、携帯電話機101および携帯電話機102のそれぞれにおいて実行されるアプリケーションを連携して動作させ、一連のサービス(アプリケーション提供サービス)を提供するために必要な通信を行うための近距離無線通信である。
なお、ここで近接無線通信とは、携帯電話機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通信の接続を確立し、その第2通信を利用してアプリケーションの連係動作を行う。
このとき、携帯電話機101および携帯電話機102は、第1通信において第2通信用設定情報だけでなく互いのケイパビリティ情報も交換し、通信相手のケイパビリティ情報に基づいて、第2通信として使用する通信部(通信方式)の詳細な設定をしたり、使用するアプリケーションを選択したりする。このようなケイパビリティ情報の交換により、携帯電話機101および携帯電話機102は、通信およびアプリケーションの設定を、ユーザの作業量を不要に増大させることなく、より適切に行うことができ、機器間の通信を伴うアプリケーションの利便性を向上させることができる。
なお、通信システム100を構成する通信装置は、第1通信と第2通信を行うことができる装置であればどのような通信装置であってもよく、上述した携帯電話機101および携帯電話機102以外であっても良い。例えば、テレビジョン信号受像機、ビデオレコーダ、メディアプレーヤ、オーディオアンプ、オーディオコンポ、プリンタ、ファクシミリ、車載用オーディオシステム、またはカーナビゲーションシステム等であってもよい。もちろん、これら以外の装置であっても良い。また、例えば携帯電話機とオーディオコンポのように、通信システム100を構成する各通信装置が互いに異なる機能を有する装置であっても良い。
さらに通信システム100を構成する通信装置の数は任意であり、3台以上であってもよい。
以下においては、説明の便宜上、図1に示されるように、通信システム100が基本的に携帯電話機101および携帯電話機102により構成される場合について説明する。ただし、必要に応じて構成を適宜変えて説明する。
図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が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU111、ROM112、およびRAM113は、バス114を介して相互に接続されている。このバス114にはまた、入出力インタフェース120も接続されている。
入出力インタフェース120には、キーボード、マウスなどよりなる入力部121、CRT(Cathode Ray Tube)ディスプレイや、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部122、ハードディスクなどより構成される記憶部123が接続されている。
入出力インタフェース210にはまた、必要に応じてドライブ124が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア131が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部123にインストールされる。
さらに、入出力インタフェース120には、第1通信を行う第1通信部141、第2通信を行う第2通信部142、モデムなどより構成され、公衆電話回線網を介して他の装置と音声通信、または、パケット通信を行う電話回線網通信部143、並びに、被写体を撮影し、その画像データを得るデジタルカメラ機能を有するカメラ部144が接続されている。
第1通信部141は、上述したように近接無線通信を行う無線通信部であり、非接触ICカードに利用される通信方式で通信を行う無線通信部であるモバイル機器用IC通信チップ151(以下、モバイルIC通信チップ151と称する)とデジタル家電用IC通信チップ152(以下、CE(Consumer Electronics)用IC通信チップ152と称する)を有し、いずれか一方を選択的に使用する。モバイルIC通信チップ151およびCE用IC通信チップ152は、互いに異なる通信規格に基づいて通信を行う。
第2通信部142は、上述したように近距離無線通信を行う無線通信部であり、ブルートゥース方式で無線通信を行う無線通信部であるブルートゥース(Bluetooth(登録商標))161と、IEEE802.11x方式で無線通信を行う、WiFi認定された無線通信部であるワイファイ(WiFi)162を有し、いずれか一方を選択的に使用する。
なお、図2においては、第1通信部141および第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通信を用いて第2通信用の設定情報だけでなく、装置が有する機能やアプリケーションを示すケイパビリティ情報の授受も行い。そのケイパビリティ情報に基づいて、第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により再生出力(表示)されるコンテンツデータの再生出力順(表示順)を示すプレイリストを管理するアプリケーションであり、そのプレイリストをモニタ(出力部122)に表示したり、その表示されたプレイリストに対するユーザ指示入力を受け付けたり、その指示に基づいて、音楽プレーヤアプリケーション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は、ハンドオーバ処理部204乃至情報管理部206を制御する等して、例えば図5に示されるように、モバイルIC通信チップ151(第1通信部)やブルートゥース(Bluetooth)161(第2通信部)を直接的または間接的に制御し、ハンドオーバに関する処理を実行する。ハンドオーバ制御部221は、第1通信の接続の確立に関する処理を行う第1通信確立部231、第1通信によって第2通信に関する設定情報の授受を行う第2通信設定情報授受部232、第1通信によって互いのケイパビリティ情報を交換するケイパビリティ情報授受部233、第2通信設定情報やケイパビリティ情報に基づいて第2通信に関する設定を行う第2通信設定部234、第2通信の接続の確立に関する処理を行う第2通信確立部235、および、ハンドオーバ処理に関するログ情報を作成するハンドオーバログ作成部236を有する。
メタ情報取得部222は、例えば図5に示されるようにブルートゥース(Bluetooth)161(第2通信部)を直接的または間接的に制御し、接続が確立された第2通信によって、通信相手のユーザに関する情報であるユーザプロファイル情報や、通信相手の装置またはその装置と連携して動作する他の装置において提供されるサービス等に関する情報であるサービス連携情報等を含むメタ情報を取得する。メタ情報取得部222は、通信相手の装置よりユーザプロファイル情報を取得するユーザプロファイル取得部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通信部用メモリ共通領域には、通信相手となる装置や自分自身の製造番号、型名、製造日時等の製造情報271が格納される。携帯電話機メモリ264には、例えば、自分自身や通信相手となるユーザに関する情報を示すユーザ情報281、第1通信部141を用いた通信のログ情報であるタッチログ情報282、使用されたコンテンツに関するログ情報であるコンテンツログ情報、および自分自身や通信相手のケイパビリティ情報284等が格納される。
メモリアクセス処理部225は、例えば図5に示されるように、セキュリティ処理部261を介して第1通信部用メモリ共通領域263にアクセスしたり、API262を介して携帯電話機メモリ264にアクセスしたりする。
次に、ケイパビリティ情報等の構成例について図6を参照して説明する。図6に示されるように、携帯電話機101は、第1通信において機器情報やケイパビリティ情報を授受し、第2通信においてサービス連携情報を授受する。機器情報は、各装置の機器種別を示す情報であり、例えば、携帯電話機であるとか、車載用オーディオシステムであるとかを示す情報である。なお、第2通信としてブルートゥース(BT)161を用いる場合、この機器情報の代わりにそのブルートゥース通信の設定情報を用いるようにしてもよい。
ケイパビリティ情報には、例えばブルートゥース(Bluetooth)161やワイファイ(WiFi)162のような使用可能な物理層の種類(PHY)、例えばブルートゥース方式やDLNA(Digital Living Network Alliance)方式等のような使用可能なプロトコル、各プロトコルにおいて使用可能なプロファイル、接続後、ローカル/リモートそれぞれでどのような挙動にするかを特定するプロファイル別の挙動設定、プロファイルごとに、ローカルで既に接続されているヘッドセット等機器の機器間の情報であるローカル接続機器情報、現在の電源状態や第三者との通信接続状態等を示す機器状態、並びに、アプリケーションの名称やバージョン、通信に用いている文字コード等のような、使用可能なアプリケーションに関する情報であるアプリケーション情報等が含まれる。
サービス連携情報には、サービスを特定する識別情報であるサービスID、そのサービスの種別、サービスへのリンク用URL、サービス内で適用される割引などのオプションに関する情報を識別するサービス内オプションID、並びに、タッチした場所を示す位置情報等が含まれる。
このように、ケイパビリティ情報には、使用可能な物理層の種類、使用可能な(優先順位も含む)プロトコル、プロファイル、およびアプリケーションに関する情報等の情報が含まれており、携帯電話機101は、通信相手である携帯電話機102とこのケイパビリティ情報を交換することにより、通信相手の装置が有する第2通信の種類を容易に把握することができ、より適切な設定を行うことができる。また、携帯電話機101は、通信相手のケイパビリティ情報を参照することにより、通信相手の装置が実行可能なアプリケーションを特定することができ、容易に、その通信相手の能力に応じて実行可能なアプリケーションを選択し、使用することができる。
なお、図6に示したケイパビリティ情報およびサービス連携情報の構成は、一例であり、図示せぬ他の情報が含まれるようにしてもよいし、上述した各情報の一部を省略するようにしてもよい。例えば、ケイパビリティ情報で管理されるアプリケーションは、通信相手との間で授受される情報に基づく所定の処理を実行するものであればよく、例えば、第2通信ではなく第1通信や、さらに他の通信を介して情報を授受するアプリケーションであってもよい。また、例えば、第2通信の通信方式を固定とし、ケイパビリティ情報において、第2通信の通信方式に関する情報を省略するようにしてもよい。
以上により、第2通信として複数の方式で通信可能な携帯電話機101は、例えば図7に示されるように、ハンドオーバを行う際に、相手の能力に応じて適切な通信方法を選択することができる。
例えば、図7に示されるように、通信相手が第2通信としてブルートゥース通信のみを行うことができる携帯電話機102Aである場合、携帯電話機101は、ケイパビリティ情報に基づいて、第2通信の通信方法として、ブルートゥース通信を選択し、ブルートゥースのプロファイルのうち、利用できるプロファイルを、第1通信を介して交換しておくことにより、適切なプロファイルを選定し、アプリケーションが期待する動作を実現することができる。同様に、通信相手が、第2通信としてWiFi認定された無線通信のみを行うことができる携帯電話機102Bである場合、携帯電話機101は、ケイパビリティ情報に基づいて、第2通信の通信方法として、WiFi認定された無線通信を選択し、さらに音楽や動画や写真といった情報を送受信するために、たとえばDLNAの設定をする。また、通信相手が第2通信としてブルートゥース通信およびWiFi認定された無線通信の両方を実行可能であるが、ブルートゥース通信を優先的に選択するように設定された携帯電話機103Cである場合、携帯電話機101は、ケイパビリティ情報に基づいて、第2通信の通信方法として、ブルートゥース通信を選択し、ブルートゥースのプロファイルのうち、利用できるプロファイルを、第1通信を介して交換しておくことにより、適切なプロファイルを選定し、アプリケーションが期待する動作を実現することができる。
従来、携帯電話機101のように複数の通信方式で通信可能な場合、ユーザが、通信相手の機能に合わせて、使用する通信方式を選択する必要があったが、上述したようにケイパビリティ情報を交換して利用することにより、携帯電話機101は、図7に示されるように適切な選択を行うことができる。これにより、携帯電話機101は、利用者の設定作業を軽減することができ、通信を伴うアプリケーションの利便性を向上させることができる。
次に具体的な処理の流れの例を説明する。まず、第1通信において接続を要求する側の携帯電話機101において実行されるコンテンツキャストアプリケーションによる接続要求側制御処理の流れの例を図8のフローチャートを参照して説明する。
例えば、他のアプリケーションを実行中に、利用者が画面に表示されたGUIボタンである「キャストボタン」を操作すると、コンテンツキャストアプリケーションが起動され、例えば、図10Aに示されるように画面に「TOUCH」と表示され、近接待機状態となる。
そして、ユーザが、その状態の携帯電話機101を通信相手とする携帯電話機102に近接させると、接続要求側制御処理が開始され、ステップS1において、第1通信確立部231が近接された携帯電話機102と通信を行い、ハンドオーバ処理の要求を行い、第1通信の接続を確立させる。この要求方法および接続確立方法は、使用する第1通信の通信方法に依存する。第1通信の接続が確立されると、第2通信設定情報授受部232は、ステップS2において、第1通信を利用して第2通信の設定情報を授受する。また、ケイパビリティ情報授受部233は、同様に第1通信を利用して互いのケイパビリティ情報の授受を行う。これらの情報の授受方法は、第1通信の通信方法に依存する。これらの情報は、携帯電話機メモリ264(記憶部123等)に保存される。
ステップS4において、第2通信設定部234は、取得された通信相手のケイパビリティ情報に基づいて、通信相手が第2通信を実行可能か否かを判定する。通信相手である携帯電話機102が第2通信部を有しており、通信可能であると判定した場合、第2通信設定部234は、ステップS5に処理を進め、ケイパビリティ情報に基づいて、図7を参照して例を説明したように、使用する通信方式(キャリア)を選択し、プロトコルの詳細設定をする。
互いのケイパビリティ情報に基づいて第2通信として最適な通信方式を選択すると、第2通信設定部234は、ステップS6において、第2通信の設定を行う。第2通信の準備が整うと、第2通信確立部235は、ステップS7において、近距離に位置する携帯電話機102と第2通信の接続を確立させる。第2通信の接続が確立されると、ステップS8において、ユーザプロファイル取得部241は、第2通信を利用して、通信相手よりユーザプロファイルを取得する。このとき、通信相手側より要求があった場合、自分自身のユーザプロファイルの提供も行われる。ステップS9において、サービス連携情報取得部242は、第2通信を利用して、通信相手よりサービス連携情報を取得する。このとき、通信相手側より要求があった場合、自分自身のサービス連携情報の提供も行われる。
以上のようにメタ情報の授受が行われると、ハンドオーバログ作成部236は、ステップS10において、ログを作成し、携帯電話機メモリ264(記憶部123等)に保存し、接続要求側制御処理を終了する。
また、ステップS4において、通信相手が自分自身と第2通信を実行可能でないと判定された場合、ハンドオーバ制御部221は、ステップS11においてエラー処理を行い、接続要求側制御処理を終了する。
次に、ハンドオーバ処理を要求される携帯電話機102側において実行されるコンテンツキャストアプリケーションによる接続応答側制御処理の流れの例を図9のフローチャートを参照して説明する。
コンテンツキャストアプリケーションが近接待機状態にされた携帯電話機101が近接されると、携帯電話機102のハンドオーバ処理部204は、第1通信部141を介して携帯電話機101からハンドオーバの要求を受け付け、可能であれば第1通信を確立するとともに、コンテンツキャストアプリケーション211を起動する。GUI処理部224は、例えば図10Bに示されるように画面に「ACCEPT?」と表示し、ユーザにハンドオーバ処理を行うか否かを選択させる。ユーザが「OK」を選択し、ハンドオーバ処理の開始を指示すると、ハンドオーバ制御部221は、接続応答側制御処理を開始する。接続応答側制御処理を開始したハンドオーバ制御部221の各部は、ステップS21乃至ステップS31の各処理を、図8のステップS1乃至ステップS11の場合と同様に実行する。
つまり、ステップS21において、第1通信確立部231が、図8のステップS1の処理に対応して第1通信の接続を確立させると、ステップS22において、第2通信設定情報授受部232が、図8のステップS2の処理に対応して第2通信の設定情報を授受し、ステップS23において、ケイパビリティ情報授受部233が、図8のステップS3の処理に対応してケイパビリティ情報の授受を行う。
ステップS24において、第2通信設定部234は、図8のステップS4の場合と同様に、取得された通信相手のケイパビリティ情報に基づいて、通信相手が第2通信を実行可能か否かを判定する。通信相手である携帯電話機101が第2通信部を有しており、通信可能であると判定した場合、第2通信設定部234は、ステップS25に処理を進め、図8のステップS5の場合と同様に、ケイパビリティ情報に基づいて使用する通信方式(キャリア)を選択する。このとき、選択される通信方式は、図8のステップS5において携帯電話機101により選択された通信方式と同一となる。
以上のように最適な通信方式が選択されると、第2通信設定部234は、ステップS26において、図8のステップS6の場合と同様に、第2通信の設定を行う。第2通信の準備が整うと、第2通信確立部235は、ステップS27において、図8のステップS7の処理に対応して、近距離に位置する携帯電話機101と第2通信の接続を確立させる。
第2通信の接続が確立されると、ユーザプロファイル取得部241は、ステップS28において、図8のステップS8の処理に対応して、第2通信を利用して通信相手よりユーザプロファイルを取得する。このとき、通信相手側より要求があった場合、自分自身のユーザプロファイルの提供も行われる。サービス連携情報取得部242は、ステップS29において、図8のステップS9の処理に対応して、第2通信を利用して通信相手よりサービス連携情報を取得する。このとき、通信相手側より要求があった場合、自分自身のサービス連携情報の提供も行われる。
以上のようにメタ情報の授受が行われると、ハンドオーバログ作成部236は、ステップS30において、図8のステップS10の場合と同様に、ログを作成し、携帯電話機メモリ264(記憶部123等)に保存し、接続要求側制御処理を終了する。
また、ステップS24において、通信相手が自分自身と第2通信を実行可能でないと判定された場合、ハンドオーバ制御部221は、ステップS31において、図8のステップS11の場合と同様にエラー処理を行い、接続要求側制御処理を終了する。
以上のように、携帯電話機101および携帯電話機102が連携して動作し、ケイパビリティ情報を授受し、そのケイパビリティ情報に基づいてハンドオーバ処理を行うことにより、図7に示されるように、通信相手の能力に応じてより適切な通信方式を選択し、第2通信の接続を確立することができる。これにより、ユーザの設定作業を省略させることができ、第2通信を利用するアプリケーションの利便性を向上させることができる。
また、ケイパビリティ情報は、以上のような第2通信の確立に利用されるだけでなく、さらにアプリケーションの設定や運用にも利用することができる。つまり、携帯電話機101は、ケイパビリティ情報に基づいて、アプリケーションを、通信相手の装置の能力に応じてより適切に動作させることができる。これによりユーザによる不要な設定作業等を省略させることができ、第2通信を利用するアプリケーションの利便性をさらに向上させることができる。
ケイパビリティ情報をどのように利用し、その情報に基づいてアプリケーションをどのように制御するかは任意であるが、以下に、その代表的な例を説明する。
図11は、第1の例の様子を説明する図である。図11Aに示されるように、携帯電話機101が音楽プレーヤアプリケーション212Aを起動し、音楽データを再生中に、「キャストボタン」を押下する等して、コンテンツキャストアプリケーション211Aを起動すると、上述したようにハンドオーバ処理が行われ、携帯電話機102のコンテンツキャストアプリケーション211Bが起動され、再生中の音楽データがストリーミングデータとして送信(ストリーミング送信)される。携帯電話機102のコンテンツキャストアプリケーション211Bは、音楽プレーヤアプリケーション212Bを起動し、ストリーミングデータを受信すると、それを音楽プレーヤアプリケーション212Bに供給して再生させる。
このような処理において、例えば図11Bに示されるように、通信相手が携帯電話機102と同様の携帯電話機301の場合、携帯電話機101は、携帯電話機301に対してストリーミング送信を行いながら、その音楽データの再生出力を行う。つまり、この場合、送信元である携帯電話機101と送信先である携帯電話機301の両方から音声が出力される。
このような携帯電話機301の場合、音声出力能力が弱く、基本的に再生出力された音楽を多人数で楽しむことが困難である場合が多い。特に携帯機器であるが故、外出中等において利用されることも多く、例えばヘッドホンを装着して利用する場合も多い。そこで、上述したように、送信元の携帯電話機101においても音声を出力するようにすることにより、送信元のユーザと送信先のユーザがそれぞれの携帯電話機を用いて音楽を楽しむことができる。つまり、携帯電話機101は、より適切に音楽共有サービスを提供することができる。
これに対して、例えば図11Cに示されるように、通信相手がオーディオコンポ402のように再生出力能力が高い装置の場合、携帯電話機101は、音楽データの再生出力を停止し、オーディオコンポ302へのストリーミング送信のみ行う。送信先のデバイスの再生出力能力が高い場合、再生出力された音楽を多人数で快適に共有することが可能となる。このような場合、送信元である携帯電話機101において音楽データを再生出力させる必要はない。逆に、不要な音声出力となる恐れもある。従って、携帯電話機101は、音声の出力を停止することにより、より適切に音楽共有サービスを提供することができる。
携帯電話機101は、このような動作制御を、ユーザの選択操作なしに、ケイパビリティ情報に基づいて行うので、アプリケーションの利便性を向上させることができる。
このような制御処理の流れの例を、図12のフローチャートを参照して説明する。なお、以下において、図11の例に基づき、送信側機器を携帯電話機101とし、受信側機器を携帯電話機301またはオーディオコンポとして説明する。なお、受信側機器の構成は、送信側機器(つまり携帯電話機101)と基本的に同様であるものとして説明する。
図13Aに画面例が示されるように、音楽プレーヤアプリケーションが、曲名「AAAA」、歌手「BBBB」、アルバム名「CCCC」の楽曲データを再生出力中にユーザが「キャストボタン(Cast!)」を選択すると、図13Bに画面例が示されるように、コンテンツキャストアプリケーション211が起動され、上述したように、ハンドオーバ処理が行われ、この楽曲データのストリーミング送信が開始される。
図8のフローチャートを参照して説明したように第2通信を確立した送信側機器(携帯電話機101)のコンテンツキャストアプリケーション211Aのアプリケーション設定部251は、ステップS51において、ケイパビリティ情報に基づいて、音楽データをストリーミング送信するようにしたり、音声出力を継続するか否かを決定したりする等のアプリケーション設定を行う。
なお、このとき、音声出力を継続するか否かは、受信側機器の音声出力能力に依存して決定される。その決定方法はケイパビリティ情報を参照して決定する限り任意であるが、例えば、ケイパビリティ情報に何らかの音声出力の能力を示すパラメータを含めるようにし、そのパラメータの値に基づいて送信側機器が判断するようにしてもよいし、受信側機器がケイパビリティ情報に予め登録された装置である場合のみ、音声出力を停止する(または継続する)ようにしてもよい。
これに対して、図9のフローチャートを参照して説明したように第2通信を確立した受信機側機器(携帯電話機301またはオーディオコンポ302)のコンテンツキャストアプリケーション211Bのアプリケーション連携部252は、ステップS71において、音楽プレーヤアプリケーション212Bを起動する。ステップS72において、アプリケーション設定部251は、ケイパビリティ情報に基づいて、受信したストリーミングデータを再生出力するようにする等のアプリケーション設定を行う。
準備が整うと、送信側機器のアプリケーション連携部252は、ステップS52において、音楽プレーヤアプリケーション212Aより再生中であった楽曲データを取得し、それを受信側機器にストリーミング送信する。受信側機器のアプリケーション連携部252は、ステップS73において、その楽曲データを受信すると、音楽プレーヤアプリケーション212Bを制御し、ステップS74において、その供給された楽曲データを再生させ、スピーカより出力させる。
これに対して、送信側機器のアプリケーション連携部252は、ステップS53において、アプリケーション設定に基づいて音声を出力するか否かを判定し、例えば受信側機器が携帯電話機301であり音声を出力すると判定した場合、ステップS54に処理を進め、音楽プレーヤアプリケーション212Aを制御し、ストリーミング送信と同期して送信側機器においても楽曲データを再生出力させる。また、ステップS53において、例えば受信側機器がオーディオコンポ302であり音声を出力しないと判定した場合、ステップS54の処理を省略し、処理をステップS55に進める。
ステップS55において、送信側機器のアプリケーション連携部252は、音楽プレーヤアプリケーション212Aを制御し、曲が終了したか、または、ユーザにより再生停止が指示されたか否かを判定し、曲が終了しておらず停止指示も受けていないと判定された場合、処理をステップS52に戻し、それ以降の処理を繰り返し、再生および送信を継続する。
ステップS55において、曲が終了した、または、停止指示を受けたと判定した場合、送信側機器のアプリケーション連携部252は、ステップS56に処理を進め、ストリーミング送信を終了する。
これに対して、受信側機器のアプリケーション連携部252は、ステップS75において、音楽プレーヤアプリケーション212Bを制御し、曲が終了したか、または、ユーザにより再生停止が指示されたか否かを判定し、曲が終了しておらず停止指示も受けていないと判定された場合、処理をステップS73に戻し、それ以降の処理を繰り返し、受信および再生を継続する。ステップS75において、曲が終了した、または、停止指示を受けたと判定した場合、受信側機器のアプリケーション連携部252は、ステップS76に処理を進め、ストリーミング送信を終了する。
以上のような制御により、通信相手の能力に応じて送信側機器の動作をより適切に制御することができ、アプリケーションの利便性を向上させることができる。
次に、第2の例を説明する。図14は、第2の例の様子を説明する図である。図14に示されるように、ハンドオーバ処理により接続される各装置において互いに異なるアプリケーションを実行することもできる。図14の例の場合、携帯電話機101においてプレイリスト管理アプリケーション214Aが起動され、ユーザがプレイリストの一覧を参照中に、「キャストボタン」を選択すると、コンテンツキャストアプリケーション211Aが起動され、携帯電話機102とハンドオーバ処理を行い、携帯電話機102のコンテンツキャストアプリケーション211Bを起動させ、ユーザに選択されたプレイリストに従って音楽データのストリーミング送信を開始する。受信側機器である携帯電話機102のコンテンツキャストアプリケーション211Bは、音楽プレーヤアプリケーション212Bを起動し、ストリーミング送信される音楽データを受信して、それを音楽プレーヤアプリケーション212Bに再生出力させる。
このような処理において、携帯電話機101のコンテンツキャストアプリケーション211Aは、携帯電話機102のケイパビリティ情報に基づいて、携帯電話機102が音楽プレーヤアプリケーション212Bを実行可能であることを確認して、ストリーミング送信を行う。
この場合の処理の流れの例を図15のフローチャートを参照して説明する。以下においては、図14の例に従い、送信側機器を携帯電話機101とし、受信側機器を携帯電話機102として説明する。
図16Aに画面例が示されるように、プレイリスト管理アプリケーション214Aが、プレイリストを表示中にユーザが「キャストボタン(Cast!)」を選択すると、図16Bに画面例が示されるように、コンテンツキャストアプリケーション211が起動され、上述したように、ハンドオーバ処理が行われ、受信側機器が音楽プレーヤアプリケーション212Bを実行可能である場合、選択中のプレイリストに従って、楽曲データのストリーミング送信が開始される。
図8のフローチャートを参照して説明したように第2通信を確立した送信側機器のコンテンツキャストアプリケーション211Aのアプリケーション設定部251は、ステップS101において、ケイパビリティ情報に基づいて、通信相手の装置が音楽プレーヤアプリケーション212Bを実行可能であるか否かを確認し、実行可能である場合、プレイリストの順番に従って楽曲データをストリーミング送信するようにする等のアプリケーション設定を行う。
これに対して、図9のフローチャートを参照して説明したように第2通信を確立した受信機側機器のコンテンツキャストアプリケーション211Bのアプリケーション連携部252は、ステップS121において、音楽プレーヤアプリケーション212Bを起動する。ステップS122において、アプリケーション設定部251は、ケイパビリティ情報に基づいて、受信したストリーミングデータを再生出力するようにする等のアプリケーション設定を行う。
準備が整うと、送信側機器のアプリケーション連携部252は、ステップS102において、プレイリスト管理アプリケーション214Aにおいてユーザにより選択されているプレイリストに従って曲を選択し、ステップS103において、選択された楽曲データを受信側機器にストリーミング送信する。受信側機器のアプリケーション連携部252は、ステップS123において、その楽曲データを受信すると、音楽プレーヤアプリケーション212Bを制御し、ステップS124において、その供給された楽曲データを再生させ、スピーカより出力させる。
これに対して、送信側機器のアプリケーション連携部252は、ステップS104において、曲が終了したか否かを判定し、終了したと判定するまで、ステップS103の処理を継続し、終了したと判定した場合、処理をステップS105に進め、終了した曲がプレイリストの最後の曲であったか否かを判定する。最後の曲でないと判定された場合、アプリケーション連携部252は、処理をステップS102に戻し、プレイリストに基づいて曲を再選択し、再選択した曲のストリーミング送信を行う。以上のようにステップS102乃至ステップS105の処理を繰り返し、ステップS105において、プレイリストの最後の曲をストリーミング送信したと判定した場合、アプリケーション連携部252は、処理をステップS106に進め、ストリーミング送信を終了する。
これに対して、受信側機器のアプリケーション連携部252は、ステップS125において、音楽プレーヤアプリケーション212Bを制御し、曲が終了したか、または、ユーザにより再生停止が指示されたか否かを判定し、曲が終了しておらず停止指示も受けていないと判定された場合、処理をステップS123に戻し、それ以降の処理を繰り返し、受信および再生を継続する。ステップS125において、曲が終了した、または、停止指示を受けたと判定した場合、受信側機器のアプリケーション連携部252は、ステップS126に処理を進め、ストリーミング送信を終了する。
以上のような制御により、ユーザの指示無しに、通信相手の能力に応じて送信側機器において実行されているアプリケーションと異なる適切なアプリケーションを受信側機器で実行させることができる。これによりアプリケーションはより多様なサービスを提供することができ、アプリケーションの利便性を向上させることができる。
次に、第3の例を説明する。図17は、第3の例の様子を説明する図である。図17に示されるように、1台の装置がハンドオーバ処理により複数の装置と接続することもできる。図17の例の場合、オーディオコンポ312が、携帯電話機101A乃至携帯電話機101Cと第2通信を行い、各装置からプレイリストを取得し、さらにそのプレイリスト順に従って楽曲データを各装置からストリーミング送信させ、受信した楽曲データを再生出力する。
つまり、携帯電話機101Aにおいてプレイリスト管理アプリケーション214Aを実行中に、ユーザが、「キャストボタン」を押下する等してコンテンツキャストアプリケーション211Aを起動させ、携帯電話機101Aの筺体をオーディオコンポ312にかざして近接させることにより第1通信を確立させ、その第1通信によってハンドオーバ処理を実行させて第2通信を確立し、プレイリストをオーディオコンポ312に登録する。
同様に、携帯電話機101Bにおいてプレイリスト管理アプリケーション214Bを実行中に、ユーザが、「キャストボタン」を押下する等してコンテンツキャストアプリケーション211Bを起動させ、携帯電話機101Bの筺体をオーディオコンポ312にかざしてプレイリストをオーディオコンポ312に登録する。さらに同様に、携帯電話機101Cにおいてプレイリスト管理アプリケーション214Cを実行中に、ユーザが、「キャストボタン」を押下する等してコンテンツキャストアプリケーション211Cを起動させ、携帯電話機101Cの筺体をオーディオコンポ312にかざしてプレイリストをオーディオコンポ312に登録する。
オーディオコンポ312は、以上のような操作に対して、コンテンツキャストアプリケーション211Dを起動し、ハンドオーバ処理を実行させ第2通信を確立させると、プレイリスト管理アプリケーション214Dを起動させ、携帯電話機101A乃至携帯電話機101Cより供給される各プレイリストを保存する。そして、オーディオコンポ312は、コンテンツキャストアプリケーション211Dにより、プレイリスト管理アプリケーション214Dに登録された各プレイリストの順序に従って、楽曲データを選択し、選択した楽曲をそのプレイリスト送信元の装置よりストリーミング送信させ、さらに、音楽プレーヤアプリケーション212Dを起動させ、受信した楽曲データを再生出力する。
この場合も、第2の例と同様に、送信側機器と受信側機器とで実行されるアプリケーションが異なるが、送信側機器および受信側機器がケイパビリティ情報に基づいて、通信相手の能力に応じてアプリケーションを設定・動作させるため、ユーザによる不要な設定操作を必要とせずに、上述したような音楽共有サービスを実現することができる。つまり、ユーザによる不要な設定操作を必要とせずに、オーディオコンポ312を用いてより多人数で音楽データの再生サービスを共有することができ、アプリケーションの利便性が向上する。
この場合の処理の流れの例を図18のフローチャートを参照して説明する。以下においては、図17の例に従い、送信側機器を携帯電話機101Aとし、受信側機器をオーディオコンポ312として説明する。なお、オーディオコンポ312は、実行されるアプリケーションが行う処理が異なるだけで、基本的に携帯電話機101と同様の構成を有する。
図8のフローチャートを参照して説明したように第2通信を確立した送信側機器のコンテンツキャストアプリケーション211Aのアプリケーション設定部251は、ステップS141において、ケイパビリティ情報に基づいて、通信相手の装置が音楽プレーヤアプリケーション212Dとプレイリスト管理アプリケーション214Dを実行可能であるか否かを確認し、実行可能である場合、プレイリストを送信し、さらに受信側機器の要求に従って楽曲データをストリーミング送信するようにする等のアプリケーション設定を行う。
これに対して、図9のフローチャートを参照して説明したように第2通信を確立した受信機側機器のコンテンツキャストアプリケーション211Dのアプリケーション連携部252は、ステップS161において、音楽プレーヤアプリケーション212Dおよびプレイリスト管理アプリケーション214Dを起動する。ステップS162において、アプリケーション設定部251は、ケイパビリティ情報に基づいて、受信したプレイリストを登録し、登録されたプレイリストの曲順に従って曲の選択を行い、選択した曲をプレイリストの送信元にストリーミング送信させるように要求し、受信したストリーミングデータを再生出力するようにする等のアプリケーション設定を行う。
準備が整うと、送信側機器のアプリケーション連携部252は、ステップS142において、受信側機器からの要求に基づいて、選択されたプレイリスト管理アプリケーション214Aにおいてユーザにより選択されているプレイリストを受信側機器に送信する。受信側機器のアプリケーション連携部252は、ステップS163において、そのプレイリストを受信すると、プレイリスト管理アプリケーション214Dを制御して保持させる。
以上のように各装置よりプレイリストが登録されると、受信側機器のアプリケーション連携部252は、ステップS164において、プレイリスト管理アプリケーション214Dを制御して、登録されたプレイリストの曲順に基づいて再生する曲を選択し、ステップS165において、選択した曲の音楽データを送信側機器に要求する。どの装置がその音楽データを有しているかは、その曲が含まれるプレイリストの送信元より判断する。
送信側機器のアプリケーション連携部252は、ステップS143において、その要求を取得すると、ステップS144において、指定された音楽データをストリーミング送信する。受信側機器のアプリケーション連携部252は、ステップS166において、その音楽データを受信し、音楽プレーヤアプリケーション212Dを制御して、その音楽データを再生出力させる。
ステップS167において、受信側機器のアプリケーション連携部252は、プレイリスト管理アプリケーション214Dを制御して、登録されたプレイリストの全楽曲を再生したか否かを判定し、まだ未再生の楽曲があると判定した場合は、処理をステップS164に戻し、全楽曲を再生するまで、それ以降の処理を繰り返し実行させる。ステップS167において、全楽曲を再生したと判定した場合、受信側機器のアプリケーション連携部252は、処理をステップS168に進め、音楽プレーヤアプリケーション212Dを制御して、音楽データの再生出力を終了させる。
また、送信側機器のアプリケーション連携部252は、ステップS144におけるストリーミング送信の処理が終了すると、ステップS145に処理を進め、ストリーミング送信を終了する。
以上のような制御により、ユーザの指示無しに、複数の通信相手とハンドオーバ処理を行うことができるだけでなく、さらに、通信相手の能力に応じて送信側機器において実行されているアプリケーションと異なる適切なアプリケーションを受信側機器で実行させることができる。これによりアプリケーションはより多様なサービスを提供することができ、アプリケーションの利便性をさらに向上させることができる。
次に、第4の例を説明する。図19は、第4の例の様子を説明する図である。図19に示されるように、自分自身が複数種類のコンテンツデータを使用することができる場合に、ケイパビリティ情報に基づいて、通信相手が実行可能なアプリケーションが取り扱うことのできるコンテンツデータを把握し、使用するコンテンツデータを選択するようにしてもよい。
例えば、図19Aに示されるように、送信側機器となる携帯電話機101が音楽データ、画像データ、およびテキストデータのように各種のコンテンツデータを使用可能なマルチプレーヤアプリケーション215Aを実行中にコンテンツキャストアプリケーション211Aが起動されると、受信側機器となる携帯電話機102がコンテンツキャストアプリケーション211B以外に音楽プレーヤアプリケーション212Bのみを実行することができる場合、コンテンツキャストアプリケーション211Aは、マルチプレーヤアプリケーション215Aにおいて再生中の音楽データのストリーミング送信を行うようにする。
また、受信側機器となるプリンタ322がコンテンツキャストアプリケーション211B以外に印刷制御アプリケーション216Bのみを実行することができる場合、コンテンツキャストアプリケーション211Aは、マルチプレーヤアプリケーション215Aにおいて再生中の音楽データの楽曲の歌詞データ(テキストデータ)やジャケット画像データ(画像データ)を送信し、プリンタ322に歌詞やジャケット画像を印刷させるようにする。
このように、携帯電話機101は、通信相手の能力に応じて、自分自身において実行されるアプリケーションの処理内容を変化させ、取り扱うコンテンツデータを変化させることにより、ユーザによる不要な設定操作を必要とせずに、より多様なサービスを提供することができるようになり、アプリケーションの利便性が向上する。
この場合の処理の流れの例を図20のフローチャートを参照して説明する。以下においては、図19Bの例に従い、送信側機器を携帯電話機101とし、受信側機器をプリンタ322として説明する。なお、プリンタ322が有する機能は、実行可能なアプリケーションが印刷制御アプリケーション216のみであること以外は、基本的に携帯電話機101と同様のものとして説明する。
図8のフローチャートを参照して説明したように第2通信を確立した送信側機器のコンテンツキャストアプリケーション211Aのアプリケーション設定部251は、ステップS181において、ケイパビリティ情報に基づいてアプリケーション設定を行う。このとき、アプリケーション設定部251は、ケイパビリティ情報によって、受信側機器が印刷制御アプリケーション216Bのみを実行可能であることを確認し、マルチプレーヤアプリケーション215Aにおいて再生中の楽曲の歌詞データ(テキストデータ)やジャケット画像データ(画像データ)を送信して印刷させるようにする等のアプリケーションの設定を行う。
これに対して、図9のフローチャートを参照して説明したように第2通信を確立した受信機側機器のコンテンツキャストアプリケーション211Bのアプリケーション連携部252は、ステップS191において、印刷制御アプリケーション216Bを起動する。ステップS192において、アプリケーション設定部251は、ケイパビリティ情報に基づいて、歌詞データ(テキストデータ)やジャケット画像データ(画像データ)を受信し、その受信した歌詞やジャケット画像を印刷するようにする等のアプリケーション設定を行う。
準備が整うと、送信側機器のアプリケーション連携部252は、ステップS182において、マルチプレーヤアプリケーション215Aにおいて再生中の楽曲の歌詞データ(テキストデータ)やジャケット画像データ(画像データ)を送信する。受信側機器のアプリケーション連携部252は、ステップS193において、そのデータを受信すると、ステップS194において印刷制御アプリケーション216Bを制御し、受信したテキストデータや画像データを印刷させる。
以上のような制御により、アプリケーションは、ユーザの指示無しに、より多様なサービスを提供することができ、アプリケーションの利便性をさらに向上させることができる。
もちろん、印刷させるデータは、どのようなデータであってもよく、歌詞データおよびジャケット画像データ以外のものであってもよい。また、以上においては、印刷の場合について説明したが、データ送信先において行われる処理は印刷以外の処理であってもよく、受信側機器もプリンタでなくてもよい。
次に、第5の例を説明する。図21は、第5の例の様子を説明する図である。図21に示されるように、例えば受信側機器である携帯電話機102において、ブルートゥース通信機能を有するヘッドセット331が利用されている場合、音楽データを送信する携帯電話機101は、携帯電話機102より取得したケイパビリティ情報に基づいてそのことを把握すると、携帯電話機102に対してではなく、そのヘッドセット331に対して音楽データを送信するようにすることもできる。
ヘッドセット331は、音楽プレーヤアプリケーション212Cを実行可能であり、ブルートゥース通信(第2通信)を介してコンテンツキャストアプリケーション211よりストリーミング送信される音楽データを再生出力することができる。これに対して携帯電話機102は、音楽データを再生する場合、音声を出力せずに、コンテンツキャストアプリケーション211Bを用いて、その音楽データを、ブルートゥース通信を介してヘッドセット331にストリーミング送信する。携帯電話機102のケイパビリティ情報には、このような各アプリケーションの設定が含まれている。
携帯電話機101は、携帯電話機102と第1通信を確立し、この携帯電話機102よりケイパビリティ情報を取得する。つまり、携帯電話機101が携帯電話機102より取得するケイパビリティ情報には、携帯電話機102およびヘッドセット331のそれぞれの、第2通信に関する情報やアプリケーションに関する情報(複数の装置の能力に関する情報)が含まれており、携帯電話機101は、このケイパビリティ情報から、携帯電話機102に音楽データを送信してもヘッドセット331に転送されること、および、携帯電話機101がヘッドセット331に音楽データをストリーミング送信することができることを知る。そこで、携帯電話機101は、そのケイパビリティ情報に基づいて、コンテンツキャストアプリケーション211Aの設定を行い、音楽データをヘッドセット331に送信するようにする。
この場合の処理の流れの例を図22のフローチャートを参照して説明する。以下においては、図21の例に従い、送信側機器を携帯電話機101とし、受信側機器を携帯電話機102およびヘッドセット331として説明する。
図8のフローチャートを参照して説明したように第2通信を確立した送信側機器のコンテンツキャストアプリケーション211Aのアプリケーション設定部251は、ステップS211において、ケイパビリティ情報に基づいてアプリケーション設定を行う。このとき、アプリケーション設定部251は、ケイパビリティ情報によって、受信側機器が携帯電話機102およびヘッドセット331よりなり、ブルートゥース通信(第2通信)により携帯電話機102より音楽データがヘッドセット331に供給され、ヘッドセット331においてその音楽データが再生出力されることを確認し、マルチプレーヤアプリケーション215Aにおいて再生中の楽曲データをヘッドセット331に送信して再生出力させるようにする等のアプリケーションの設定を行う。
なお、この場合、携帯電話機101は、楽曲データをヘッドセット331に送信するため、通信相手をヘッドセット331として第2通信の接続を確立させる。すなわち、携帯電話機101(第2通信確立部235)は、ケイパビリティ情報に基づいて、図8のフローチャートにおいて、ステップS4における通信相手としてヘッドセット331を選択し、さらに、ケイパビリティ情報に含まれるヘッドセット331が通信可能な通信方式の情報に基づいて、ヘッドセット331に対して、ステップS4乃至ステップS11の処理を必要に応じて行うことにより、ヘッドセット331との第2通信の接続を確立させる。ステップS211においては、携帯電話機101(アプリケーション設定部251)は、その上で、ケイパビリティ情報に含まれるヘッドセット331が実行可能なアプリケーションに関する情報に基づいて、マルチプレーヤアプリケーション215Aにおいて再生中の楽曲データをヘッドセット331に送信して再生出力させるようにする等のアプリケーションの設定を行う。
これに対して、受信機側機器は、図9のフローチャートを参照して説明したように携帯電話機101との第2通信の接続を確立する。すなわち、携帯電話機102は、図9のステップS21乃至ステップS23のように処理を行ってケイパビリティ情報等を携帯電話機101と交換し、ヘッドセット311に、ステップS24乃至ステップS31の各処理を適宜実行させ、携帯電話機101との第2通信の接続を確立させる。なお、携帯電話機102とヘッドセット311との間の通信接続は予め確立されているものとする。接続が確立されていない場合、携帯電話機102は、先にヘッドセット311との通信接続を確立させてから、ヘッドセット311にステップS24乃至ステップS31の各処理を適宜実行させる。以上の処理の後、携帯電話機102のコンテンツキャストアプリケーション211Bのアプリケーション連携部252は、ステップS221において、ヘッドセット331の音楽プレーヤアプリケーション212Cを起動させる。この処理に対応して、ヘッドセット331は、ステップS231において、音楽プレーヤアプリケーション212Cを起動させる。
ステップS222において、携帯電話機102のアプリケーション連携部252は、ケイパビリティ情報に基づいて、携帯電話機101より供給される音楽データを再生するようにする等の、ヘッドセット331の音楽プレーヤアプリケーション212Cの設定を行う。この処理に対応して、ヘッドセット331の音楽プレーヤアプリケーション212Cは、携帯電話機101より供給される音楽データを再生するようにする等の、アプリケーション設定を行う。
準備が整うと、携帯電話機101のアプリケーション連携部252は、ステップS212において、マルチプレーヤアプリケーション215Aを制御して、ユーザ等により選択された楽曲データをヘッドセット331に送信する。携帯電話機101のアプリケーション連携部252は、ステップS213において、ストリーミングが終了したか、または、送信停止が指示されたと判定するまで、ステップS212の処理を継続する。
これに対してヘッドセット331の音楽プレーヤアプリケーション212Cは、ステップS233において携帯電話機101より送信される楽曲データを受信し、ステップS234において、その楽曲データを再生出力する。音楽プレーヤアプリケーション212Cは、ステップS235において、ストリーミングが終了したか、または、再生停止が指示されたと判定するまで、ステップS233およびステップS234の処理を継続する。
ステップS213において、ストリーミングが終了したか、または、送信停止が指示されたと判定された場合、携帯電話機101のアプリケーション連携部252は、処理をステップS214に進め、ストリーミング送信を終了する。
同様に、ステップS235において、ストリーミングが終了したか、または、再生停止が指示されたと判定された場合、ヘッドセット331の音楽プレーヤアプリケーション212Cは、処理をステップS236に進め、再生出力を終了する。
以上のように制御することにより、受信側機器が複数の装置により構成される場合も、携帯電話機101は、ケイパビリティ情報に基づいて、適切なデバイスに対して適切なデータを送信することができ、処理効率を向上させ、負荷を軽減させることができ、アプリケーションの利便性を向上させることができる。
以上においては、携帯電話機102とヘッドセット331を受信側機器とし、携帯電話機101が、ケイパビリティ情報に基づいて、音楽データを携帯電話機102に送信する代わりにヘッドセット331に送信するように制御する場合の例について説明したが、受信側機器は、これら以外の装置であってもよく、このような受信側機器に対して行う通信制御の内容も上述した以外であってもよい(ケイパビリティ情報に基づいて適切に選択される)。また、受信側機器として構成される装置の数は任意である。
なお、ケイパビリティ情報を用いて、上述した以外のアプリケーション設定およびアプリケーション制御を行うようにしてももちろんよい。例えば、図23に示されるように、ハンドオーバを要求する側が受信側機器となるようにすることも可能である。
図23の例の場合、携帯電話機101のユーザは、コンテンツキャストアプリケーション211Aを起動させ、例えば、レコード販売店の試聴機やポスタ等のような、コンテンツキャストアプリケーション211Bを実行中の通信デバイス341に筺体を近接させることにより、通信デバイス341より送信される音楽データを、携帯電話機101に受信させ、再生出力させることができる。
この場合、携帯電話機101は、通信相手のケイパビリティ情報により、通信相手となる通信デバイス341が音楽データの送信機能しか有していないことを把握し、音楽プレーヤアプリケーション212Aを起動し、その音楽データを受信して再生出力するように設定および制御を行う。このような処理により、携帯電話機101は、通信相手の能力に応じてより多様なサービスを提供することができる。
なお、各装置のユーザプロファイル取得部241により授受されるユーザプロファイルは、ユーザにより設定可能とするようにしてもよい。例えば、図24に示されるようなGUI画面においてユーザが個人情報を入力することができるようにし、その情報がユーザプロファイルとして管理されるようにしてもよい。
また、例えば音楽プレーヤアプリケーション212のように各アプリケーションのログを表示することができるようにしてもよい。図25は、そのログの表示例を示している。
このログ表示は、例えば、図25Aに示されるように再生出力した曲を一覧(リスト)として表示するようにしてもよいし、図25Bに示されるように、楽曲毎に、どのような処理が行われたかを示すようにしてもよいし、図25Cに示されるように、ストリーミング送信した通信相手毎に、ストリーミング送信した楽曲の履歴一覧を表示するようにしてもよい。もちろん、これら以外の表示方法を採用しても良い。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図2に示されるように、装置本体とは別に、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROMおよびDVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア131により構成されるだけでなく、装置本体に予め組み込まれた状態で提供される、プログラムが記録されているROM112や、記憶部123に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。