(57)【特許請求の範囲】
【請求項１】
通信相手と確立しているセッションを切替先デバイスに移動する切替元デバイスであって、
近隣の通信デバイスからサービス提供の可否の情報を取得するサービス発見部と、
前記サービス発見部へ任意のタイミングで前記サービス提供の可否を問い合わせる指示を行い、取得した前記サービス提供の可否の情報に基づいてセッションの切替先となる切替先候補デバイスを決定し、前記切替先候補デバイスを記載した切替先候補デバイスリストを作成すると共に、前記切替先候補デバイスとのセッションの確立を指示する高速デバイス切替部と、
前記高速デバイス切替部からのセッション確立指示を受けて、前記切替先候補デバイスとセッションを確立するシグナリング部と、
ユーザからの前記切替先候補デバイスリスト要求を受け付ける入力部と、
前記高速デバイス切替部が前記入力部からの前記切替先候補デバイスリスト要求を受けて、前記切替先候補デバイスリストを提示する出力部と、
前記通信相手からメディアデータを受信し、メディアバッファに蓄積するメディア受信部と、
前記メディアバッファに蓄積されたメディアデータを制御するバッファ制御部と、
前記高速デバイス切替部からのメディアデータ転送要求を受けて、前記メディアバッファに蓄積しているメディアデータをすべての前記切替先候補デバイスに転送を行うメディア送信部とを有し、
前記高速デバイス切替部がユーザからのデバイス切替要求を前記入力部から受けたときに、前記シグナリング部へ前記切替候補デバイスリストから選択されたデバイスを通知し、
前記シグナリング部が前記選択されたデバイスに、受信済みの前記メディアデータの出力通知を送信する切替元デバイス。
【請求項２】
前記シグナリング部が、前記切替先候補デバイスとセッションを確立するときに、前記切替先候補デバイスが受信した前記メディアデータを出力禁止するように指示したメディア出力制御情報を、シグナリングメッセージのペイロードまたはヘッダに付加して送信する請求項１に記載の切替元デバイス。
【請求項３】
前記メディア送信部が、前記切替先候補デバイスリスト要求がユーザから入力された後に、前記通信相手から受信したメディアデータを、マルチキャストまたはブロードキャストにより前記切替先候補デバイスに転送する請求項１に記載の切替元デバイス。
【請求項４】
前記高速デバイス切替部が、あらかじめ設定したユーザの嗜好が記載されたプリファレンス情報に基づいて前記切替先候補デバイスを絞り込む請求項３に記載の切替元デバイス。
【請求項５】
前記バッファ制御部が、前記メディアバッファを制御するための、バッファ制御ポリシーまたはデータサイズを含むバッファ制御情報を生成する請求項１に記載の切替元デバイス。
【請求項６】
自己と前記切替先候補デバイス間の帯域が、自己と前記通信相手間の帯域より大きい場合、
前記メディア送信部が前記メディアデータのバースト送信を行い、前記バッファ制御部が、バースト送信時のバッファ制御に必要なバッファ制御ポリシーまたはバースト送信のデータサイズを含むバッファ情報を生成する請求項１に記載の切替元デバイス。
【請求項７】
自己と前記切替先候補デバイス間の帯域が、自己と前記通信相手間の帯域より小さい場合、前記メディア送信部が前記メディアデータを前記メディア受信部が受信する毎に逐次送信し、
前記バッファ制御部が、逐次送信時のバッファ制御に必要なバッファ制御ポリシーまたはデータサイズを含む情報を生成する請求項１に記載の切替元デバイス。
【請求項８】
前記シグナリング部が、前記切替先候補デバイスとセッションを確立するときに送信するシグナリングメッセージのペイロードまたはヘッダに、前記バッファ制御情報を付加して送信する請求項６または７に記載の切替元デバイス。
【請求項９】
前記メディア送信部が、前記メディアデータのバースト送信を行うとき、前記バッファ制御部が、生成した前記メディアバッファに蓄積されたメディアデータ状況を前記シグナリングメッセージのペイロードまたはヘッダに付加する請求項８に記載の切替元デバイス。
【請求項１０】
通信相手とセッションを確立している切替元デバイスからセッションの移動を受ける切替先デバイスであって、
前記切替元デバイスから送られるサービス提供の可否の問い合わせに応答するサービス応答部と、
自己と前記通信相手、あるいは前記切替元デバイスとのセッションを制御するシグナリング部と、
前記サービス応答部がサービス提供可であると応答したときに、前記通信相手と前記切替元デバイスからメディアデータを受信するメディア受信部と、
前記メディア受信部が受信したメディアデータを蓄積するメディアバッファと、
前記シグナリング部が前記切替元デバイスとのセッションを確立した後に受信した、前記メディアバッファを前記切替元デバイスのメディアバッファと同一状態にするためのバッファ制御情報に基づいて前記メディアバッファを制御するバッファ制御部と、
前記メディアバッファのメディアデータをユーザに提供する出力部と、
前記メディアバッファのメディアデータを、前記シグナリング部が前記切替元デバイスから受信した出力通知に基づき前記出力部に出力する高速デバイス切替部と、
を有する切替先デバイス。
【請求項１１】
前記シグナリング部が、前記切替元デバイスとセッションを確立したとき、前記メディア受信部が受信した前記メディアデータを出力禁止するように指示されたメディア出力制御情報を受信し、
前記高速デバイス切替部が、前記メディア出力制御情報に従って、前記メディアデータの前記出力部への出力を禁止する請求項１０に記載の切替先デバイス。
【請求項１２】
前記シグナリング部が、前記切替元デバイスとセッションを確立するときに受信したシグナリングメッセージのペイロードまたはヘッダに付加されている切替元デバイスのバッファ制御情報に基づいて、
前記バッファ制御部が、前記メディアバッファを、前記切替元デバイスのメディアバッファと同じ状態に制御する請求項１０に記載の切替先デバイス。
【請求項１３】
切替元デバイスが通信相手との間で保持するセッションを、前記切替元デバイス以外の切替先デバイスに移動させる高速デバイス切替システムであって、
デバイス切替えに先立ってマルチキャストまたはブロードキャストにより、切替先候補の切替先デバイスへ前記セッションに関わるメディアデータを送信する前記切替元デバイスと、
ユーザから切替先デバイスに選択されたとき、受信済みの前記メディアデータを前記切替元デバイスからの出力通知に基づいてユーザへ提示する切替先デバイスと
を有する高速デバイス切替システム。
【請求項１４】
通信相手装置と確立しているセッションを切替先デバイスに移動する切替元デバイスが、前記切替先デバイスとセッションを確立するシグナリング方法であって、
前記切替先デバイスとセッションを確立するためのシグナリングメッセージを作成するステップと、
前記切替先デバイスが受信するメディアデータの出力を禁止状態にする指示を示すメディア出力制御情報を作成するステップと、
前記メディア出力制御情報を前記シグナリングメッセージのペイロードまたはヘッダに付加するステップと、
前記シグナリングメッセージを前記切替先デバイスに送信するステップと、
デバイス切替えに先立って前記切替先デバイスへ前記セッションに関わるメディアデータを送信するステップと、
ユーザからのデバイス切替要求を受けたときに、前記切替先デバイスに、受信済みの前記メディアデータの出力通知を送信するステップと、
を有するシグナリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワークにおける通信技術およびメディア伝送技術等におけるセッションモビリティを実現する切替元デバイス、切替先デバイス、高速デバイス切替システム、およびそれに使用するシグナリング方法に関する。
【背景技術】
【０００２】
近年、固定網における光ファイバやＡＤＳＬに加え、モバイル網においても、ＷＬＡＮやアドホックネットワークといったスポット的な無線技術が普及してきている。そして、ありとあらゆる所でネットワーク接続できるユビキタスネットワーク環境が現実のものになろうとしている。また、通信端末の分野においても、ネット家電や公衆構内デュアル端末に代表される多種多様な能力を持つデバイスが開発されている。そこで、ユビキタスネットワーク環境の多様なアクセスネットワークと多種多様な能力を持つデバイスを自由に切替えて継続的なサービスが行えるシームレスサービスの実現が強く求められている。
【０００３】
シームレスサービスを実現するための技術として、３つのシームレス技術が提案されている。一つ目の技術は、ネットワークシームレスと呼ばれ、一つのモバイル端末が移動等に伴い異なるネットワークをシームレスに切替えて通信を継続することを可能にするものである。モバイル端末は、複数のネットワークインターフェイスを有し、移動に応じてアクセス網を自由に切替えることができる。ネットワークシームレスは、ターミナルモビリティと呼ばれることもある。
【０００４】
二つ目の技術は、デバイスシームレスと呼ばれ、ユーザが利用中の端末をシームレスに切替えて利用することを可能にするものである。これにより、ある端末で利用中のセッションを、別な端末で引き続き継続することができる。この技術は、セッションを別な端末に移動することから、セッションモビリティとも呼ばれる。
【０００５】
三つ目の技術は、コンテンツシームレスと呼ばれ、メディアのフォーマットやメディアのタイプ等をシームレスに切替えて利用することを可能にするものである。これにより、ネットワーク帯域やデバイス能力、周辺環境等に応じて、メディアを切替えて表示・再生することができる。コンテンツシームレスは、メディアアダプティブ（メディア適応）と呼ばれることもある。
【０００６】
これらの３つの技術は、シームレスサービスを実現する上で、非常に重要なものであるが、それぞれ独立した効果が得られることから、単独でも、複数組み合わせても利用することができる。
【０００７】
デバイスシームレス技術が適用されるシームレスサービス（以下、「デバイス切替え」という。）としては、次のような状況が考えられる。たとえば、携帯電話等のモバイル端末を利用して、ストリーミング映画を視聴しながら帰宅したユーザが、自宅のリビングルームに入るや否や、大型テレビにディスプレイを瞬時に切替えて映画の続きを視聴するというものである。
【０００８】
一般的に、モバイル端末のディスプレイは小さく、映画を視聴する上で好適とはいえない。そこで、移動等に応じて、周辺に継続してサービスを享受することができる最適なデバイスを発見した場合に、デバイスを切替えることができれば、利用価値はきわめて高い。
【０００９】
この要望を満たす技術として、特開２００３−３０４２５１号公報に記載のものがあった。図２６は、当該特許公報に記載された従来のデバイス切替方法を示すものである。
【００１０】
図２６において、まず、ユーザの持つモバイル端末（ＰＤＡ）１２１が、近距離無線を用いて近隣端末（ＰＣ）１２２を検知し、この近隣端末（ＰＣ）１２２の通信網上のアドレスを自動的に取得する。そして、そのモバイル端末（ＰＤＡ）１２１が転送元端末となり、通信先端末（ＰＣ）３００との間で行っている通信中のアプリケーションレベルの通信セッションを転送先端末である近隣端末（ＰＣ）１２２に転送する。
【００１１】
次に、従来のデバイス切替システムについて、図面を参照しながら説明する。
【００１２】
図１９は、従来のデバイス切替システムの構成図である。このシステムは、切替元デバイスであるモバイルノード（以下、ＭＮという）１３０１と、通信相手である相手先ノード（以下、ＣＮという）１３０２と、インターネット１３０３と、デバイス切替えの切替先デバイスとなるプラズマＴＶ、ステレオ、ＰＣ等のデバイス群１３０４と、ＭＮ１３０１とデバイス群１３０４とを相互に接続するパーソナルエリアネットワーク（以下、「ＰＡＮ」という。）１３０５とから構成されている。
【００１３】
ＭＮ１３０１およびデバイス群１３０４は、ＰＡＮ１３０５を利用することにより、ＰＡＮ１３０５内で互いに自由に通信をすることができる。また、ＣＮ１３０２とＭＮ１３０１は、インターネット１３０３を介して通信を行っている。ＣＮ１３０２は、例えばストリーミングサーバである。ＭＮ１３０１は、ＣＮ１３０２から配信される映画をストリーミング受信している。なお、ＭＮ１３０１とＣＮ１３０２間のネットワークは、必ずしもインターネットである必要はなく、例えば、第三世代モバイル通信網（３ＧＰＰネットワーク）であってもよい。
【００１４】
次に、デバイス切替えを実現する切替元デバイスであるＭＮ１３０１のデバイス内部の構成について、図２０を用いて説明する。
【００１５】
ＭＮ１３０１は、アプリケーション１４０１と、一つ以上のネットワークＩ／Ｆ１４０２と、表示出力を行う出力部１４０３と、ユーザとのインターフェース（Ｉ／Ｆ）となる入力部１４０４と、オペレーティングシステム１４０５と、オペレーティングシステム１４０５を介して図示しない外部デバイスと通信を行うメディア送信部１４０６と、メディア受信部１４０７と、メディア受信部１４０７が受信したメディアデータを蓄積するためのメディアバッファ１４０８と、メディアデータが圧縮されている場合にデータをデコードするためのデコーダ１４０９と、セッションを制御するためのシグナリング部１４１０と、図示しない外部の切替先デバイスが提供するサービスを発見するためのサービス発見部１４１１と、受信したメディアデータをメディア送信部１４０６が切替先デバイスに転送するように制御を行うミドルウェア１４１２とから構成されていた。
【００１６】
上述したように、ＭＮ１３０１は、デバイス群１３０４のデバイスの一つであると考えることができ、切替先のデバイスもＭＮ１３０１と同様の構成を有する。ただし、切替先のデバイスは、切替元のデバイスとして動作する必要がないときは、アプリケーション１４０１、入力部１４０４およびメディア送信部１４０６を省略した構成とすることができた。
【００１７】
図２１は、ＭＮ１３０１と切替先デバイス群１３０４間でのメッセージシーケンスを示す図である。図２２は、同様のメッセージシーケンスを流れ図で示したものである。ここで、デバイス群１３０４には、デバイス１からデバイスＮまでＮ個のデバイスが存在しているものとする。また、ＭＮ１３０１は、図示していないが、ＣＮ１３０２と別途セッションを保持している。図２１において、ユーザとは、ＭＮ１３０１を現在使用しているユーザであり、入力部１４０４を介してＭＮ１３０１に指示を与えることができる。また、図２１中の矢印は、始点から終点へ向けてメッセージが送られていることを示している。
【００１８】
従来のデバイス切替システムの動作について、図２１に示すシーケンス図と図２２に示す流れ図を用いて説明する。
【００１９】
デバイス切替えを行おうとするユーザは、ＭＮ１３０１の入力部１４０４を用いてＭＮ１３０１に切替先候補デバイスの名称の表示要求（Ｕ１）を指示する（ステップＳ１６０１）。
【００２０】
次に、ＭＮ１３０１の入力部１４０４を通じて指示を受けたミドルウェア１４１２は、サービス発見部１４１１を通じて、サービス発見要求（Ｍ１）を、ＰＡＮ１３０５内のデバイス１〜デバイスＮに一斉に送る（ステップＳ１６０２）。
【００２１】
次に、切替先デバイスのサービス発見部１４１１は、サービス発見要求をＭＮ１３０１から受けるとサービス発見応答（Ｍ２）をＭＮ１３０１に返信する（ステップＳ１６０３）。サービス発見部１４１１が使用するサービス発見プロトコルとしては、ＵＰｎＰ（ユニバーサル・プラグ・アンド・プレイ）のＳＳＤＰ（シンプルサービスディスカバリプロトコル）や、Ｂｌｕｅｔｏｏｔｈ（登録商標）のＳＤＰ、ＳＬＰ（サービスロケーションプロトコル）等既存のものが利用される。
【００２２】
ＭＮ１３０１のサービス発見部１４１１は、切替先デバイスからのサービス発見応答（Ｍ２）を受信しミドルウェア１４１２に通知する。ミドルウェア１４１２は、その通知に基づきサービス提供可能なデバイスからなる切替先候補デバイスリストを生成し、オペレーティングシステム１４０５を介して出力部１４０３がユーザにそのリストを提示（Ｕ２）する（ステップＳ１６０４）。なお、その切替先候補デバイスリストは、デバイス名などのデバイスを特定する識別子を含むリストである。
【００２３】
ユーザは、その切替先候補デバイスリストの中から、ＭＮ１３０１の入力部１４０４によって切替先デバイスを選択（Ｕ３）する（ステップＳ１６０５）。選択された切替先デバイス（以下、「切替先確定デバイス」という。）は、ミドルウェア１４１２に通知される。図５のシーケンス図では、デバイス２が切替先デバイスとして選択されたものとして説明する。
【００２４】
ＭＮ１３０１のミドルウェア１４１２は、選択されたデバイス２とＰＡＮ１３０５内でセッションを確立し、メディアの伝送を行うために、シグナリング部１４１０を通じてセッション確立・メディア処理準備要求（Ｍ３）をデバイス２に送信する（ステップＳ１６０６）。同時に、ＭＮ１３０１のミドルウェア１４１２は、メディア受信部１４０７、メディア送信部１４０６に対して受信したメディアデータを切替先のデバイスに転送する準備を開始するように通知する。シグナリング部１４１０としては、ＳＩＰ（セッションイニシエーションプロトコル）等既存のものが利用できる。
【００２５】
切替先のデバイス２のシグナリング部１４１０が、ＭＮ１３０１からセッション確立・メディア処理準備要求（Ｍ３）を受信すると、デバイス２のミドルウェア１４１２は、メディア受信部１４０７、メディアバッファ１４０８およびデコーダ１４０９に対してメディア処理準備を開始するように指示する。そして、メディア処理準備が完了すると、デバイス２のミドルウェア１４１２は、シグナリング部１４１０を通じて、セッション確立・メディア処理準備応答（Ｍ４）をＭＮ１３０１へ送信する（ステップＳ１６０７）。
【００２６】
ＭＮ１３０１のシグナリング部１４１０が、デバイス２からセッション確立・メディア処理準備応答（Ｍ４）を受信すると、ＭＮ１３０１のミドルウェア１４１２は、メディア送信部１４０６に対して、メディア受信部１４０７がデバイス２へＣＮ１３０２から受信したメディアデータの伝送（Ｄ１）を開始するように通知する（ステップＳ１６０８）。
【００２７】
デバイス２のメディア受信部１４０７は、ＭＮ１３０１によって転送されたメディアデータを受信し、メディアデータのメディアバッファ１４０８への蓄積を開始する。メディアバッファ１４０８に一定のメディアデータが蓄積された状態になると、ミドルウェア１４１２は、メディアデータが圧縮されている場合には、デコーダ１４０９にデコード動作を開始するように通知する。デコードされたデータは、オペレーティングシステム１４０５を介して出力部１４０３に出力（Ｄ２）される（ステップＳ１６０９）。一方、メディアデータが非圧縮の場合には、メディアバッファ１４０８に蓄積されたメディアデータを、オペレーティングシステム１４０５を介して出力部１４０３に出力される。
【００２８】
以上のようにして、ＭＮ１３０１から切替先のデバイス２へのデバイス切替えを実現することができる。その結果として、ＭＮ１３０１の出力部１４０３に出力されていたメディアデータは、デバイス２の出力部１４０３から出力されるようになる。この一連の切替シーケンスにおいて、ユーザが切替えを意図して、ＭＮ１３０１に対して切替先候補デバイス表示要求（Ｕ１）を指示してから、デバイス２の出力部１４０３にデータが出力される（Ｄ２）までの時間が、切替えに要する時間となる。この切替えに要する時間が短いほど、ユーザの切替えに関わる待ち時間が減少し、よりシームレスなサービスを提供することができる。
【００２９】
しかし、このような従来の技術によるデバイス切替えでは、サービス発見要求（Ｍ１）からサービス発見応答（Ｍ２）を受信するまでに、数秒程度を要する。さらに、セッション確立・メディア処理準備要求（Ｍ３）からセッション確立・メディア処理準備応答（Ｍ４）を受信するまでに、数秒程度を要する。結果的に、切替えに要する時間、すなわちユーザの待ち時間は、相当な長さとなってしまう。これによって、例えば、リアルタイムのサッカーの試合を視聴している場合を考えると、デバイス切替えが原因となり、ゴールシーン等の重要な瞬間を見逃してしまう事態が生じる。
【００３０】
そこで、デバイス切替えに要する時間を短縮するために、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」（太田  賢他著、情報処理学会研究報告「モバイルコンピューティングとワイヤレス通信」Ｎｏ．１８−３５、２００１年９月７日、Ｐ．２６１−２６８）には、サービス発見をあらかじめ周期的に行っておくこと（技術Ａ）、サービス発見の結果得られた全てのデバイスに対して、セッション確立およびメディア処理の準備を先行的に行っておくこと（技術Ｂ）の二つの技術が開示されている。
【００３１】
これらの技術によって、デバイス切替えに要する時間を短縮ができることについて図面を参照しながら説明する。文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」におけるＭＮ１３０１または切替先デバイスの端末内部の構成については、図２０に示したものと全く同じであり、ミドルウェア１４１２の動作のみが異なる。そこで、図２０に示したミドルウェア１４１２と区別するために、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」のものを「高速ミドルウェア」と呼ぶことにする。
【００３２】
図２３は、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」におけるＭＮ１３０１と切替先デバイス群１３０４間でのメッセージシーケンスを示す図である。図２４は、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」の切替元デバイスの動作を流れ図で示したものであり、図２５は、切替先デバイスの動作を流れ図で示したものである。ここで、デバイス群１３０４には、デバイス１からデバイスＮまでのＮ個の切替先デバイスが存在しているものとする。また図示していないが、ＭＮ１３０１は、ＣＮ１３０２と別途セッションを保持している。
【００３３】
次に、切替元デバイスおよび切替先デバイスの動作について説明する。以下、これらの動作について、図２０に示した構成要素と同じものには、同じ番号を用いて説明する。
【００３４】
はじめに、切替元デバイスの動作について、図２４に示す流れ図を用いて説明する。
【００３５】
ＣＮ１３０２とのセッションが継続中である場合（ステップＳ１８０１、ＹＥＳ）には、周囲のデバイス群１３０４に対してサービス発見を行うために、高速ミドルウェアは、サービス発見部１４１１を通じて、サービス発見要求（Ｍ１）を、周期的にＰＡＮ１３０５内のデバイス１〜デバイスＮに一斉に送る（ステップＳ１８０２）。一方、ＣＮ１３０２とのセッションが継続していない場合（ステップＳ１８０１、ＮＯ）には、以後の動作を終了する。
【００３６】
サービス発見部１４１１は、切替先デバイスからのサービス発見応答（Ｍ２）を受信し高速ミドルウェアに通知する（ステップＳ１８０２）。高速ミドルウェアは、その通知に基づきサービス提供可能なデバイスの切替先候補デバイスリストを生成し（ステップＳ１８０３）、内部に保持する。すでに保持している切替先候補デバイスリストが存在する場合には、更新する。
【００３７】
高速ミドルウェアは、切替先候補デバイスリストに記された切替先候補となる全てのデバイスに対して、セッションを確立しメディアの伝送を行うために、シグナリング部１４１０を通じてセッション確立・メディア処理準備要求（Ｍ３）を送信する（ステップＳ１８０４）。ここで、切替先候補となるデバイスはｎ（１≦ｎ≦Ｎ）個存在する。
【００３８】
同時に、高速ミドルウェアは、メディア受信部１４０７、メディア送信部１４０６に対して、受信したメディアデータを切替先候補デバイスに転送する準備を開始するように通知する（ステップＳ１８０５）。
【００３９】
シグナリング部１４１０が、切替先候補となるデバイスからセッション確立・メディア処理準備応答（Ｍ４）を受信する（ステップＳ１８０６）と、高速ミドルウェアは、一定時間待機する。
【００４０】
高速ミドルウェアが待機している間に、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示がなかった場合（ステップＳ１８０７、ＮＯ）には、再びサービス発見を行う。一方、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示があった場合（ステップＳ１８０７、ＹＥＳ）には、高速ミドルウェアは、内部に保持している切替先候補デバイスリストを、出力部１４０３を通じてユーザに提示（Ｕ２）する（ステップＳ１８０８）。
【００４１】
ユーザは、切替先候補デバイスリストの中から、入力部１４０４を通じて切替先デバイスを選択（Ｕ３）する（ステップＳ１８０９）。入力部１４０４は、選択された切替先確定デバイス名をオペレーティングシステム１４０５を介して高速ミドルウェアに通知する。本流れ図では、デバイス２が選択されたものとして説明する。
【００４２】
高速ミドルウェアは、メディア送信部１４０６に対して、メディア受信部１４０７がＣＮ１３０２から受信したメディアデータの伝送（Ｄ１）を開始するように通知する（ステップＳ１８１０）。メディア送信部１４０６は、切替先確定デバイス２に対して、指定されたメディアデータの転送を開始する。
【００４３】
高速ミドルウェアは、切替先候補となったｎ個の切替先候補デバイスのうちデバイス２以外のデバイスに対して、シグナリング部１４１０を通じて、セッション切断要求（Ｍ５）を送信する（ステップＳ１８１１）。それらのデバイスからセッション切断応答（Ｍ６）を受信して、切替動作を完了する。
【００４４】
次に、切替先候補デバイスや切替先確定デバイスとなる切替先デバイスの動作について、図２５に示す流れ図を用いて説明する。
【００４５】
サービス発見要求（Ｍ１）を受けた切替先デバイスのサービス発見部１４１１は、サービス発見応答（Ｍ２）をＭＮ１３０１に送信する（ステップＳ１９０１）。
【００４６】
シグナリング部１４１０は、ＭＮ１３０１からセッション確立・メディア処理準備要求（Ｍ３）を受信する（ステップＳ１９０２）。次に、高速ミドルウェアは、メディア受信部１４０７、メディアバッファ１４０８およびデコーダ１４０９に対してメディア処理準備を開始するように指示をする（ステップＳ１９０３）。
【００４７】
そして、メディア処理準備が完了すると、高速ミドルウェアは、シグナリング部１４１０を通じて、切替元デバイスに対してセッション確立・メディア処理準備応答（Ｍ４）を送信する（ステップＳ１９０４）。
【００４８】
切替先のデバイス２のメディア受信部１４０７は、切替元デバイスから転送されたメディアデータを受信し（ステップＳ１９０５）、メディアデータのメディアバッファ１４０８への蓄積を開始する（ステップＳ１９０６）。メディアバッファ１４０８に一定のデータが蓄積された状態になると、高速ミドルウェアは、メディアデータが非圧縮の場合（ステップＳ１９０７、ＹＥＳ）には、メディアバッファ１４０８に蓄積されたデータをオペレーティングシステム１４０５を介して出力部１４０３に送る（ステップＳ１９０９）。一方、メディアデータが圧縮されている場合（ステップＳ１９０７、ＮＯ）、高速ミドルウェアは、デコーダ１４０９にデコード動作を開始するように通知し（ステップＳ１９０８）、デコードされたデータを、オペレーティングシステム１４０５を介して出力部１４０３に送る。出力部１４０３は、受信したメディアデータの出力（Ｄ２）を開始し（ステップＳ１９０９）、切替動作を完了する。
【００４９】
一方、切替先確定デバイスとならなかったデバイスのシグナリング部１４１０が切替元デバイスからセッション切断要求（Ｍ５）を受信すると、高速ミドルウェアは、メディア受信部１４０７、メディアバッファ１４０８およびデコーダ１４０９に対してメディア処理準備を終了するように指示をする（ステップＳ１９１０）。
【００５０】
そして、メディア受信部１４０７、メディアバッファ１４０８およびデコーダ１４０９がメディア処理準備を終了すると、高速ミドルウェアは、シグナリング部１４１０を通じて、切替元デバイスに対してセッション切断応答（Ｍ６）を送信し（ステップＳ１９１１）、切替動作を終了する。
【００５１】
以上のように、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」に記載の技術によれば、切替元デバイスから切替先デバイスへのデバイス切替えを高速に実現することができた。
【００５２】
すなわち、ユーザから切替先候補デバイス表示要求（ステップＳ１８０７）の指示がある以前に、サービス発見要求（Ｍ１）から、サービス発見応答（Ｍ２）受信に関わる動作（ステップＳ１８０２〜ステップＳ１８０３およびステップＳ１９０１）までを周期的に行っておくこと（前述した技術Ａ）により、ユーザからの切替先候補デバイス表示要求に対し、切替時の実質的な動作時間をゼロとすることが可能となる。それにより、デバイスリストが提示されるまでに必要な時間の短縮が図られた。
【００５３】
また、ユーザから切替先デバイス選択（ステップＳ１８０９）の指示がある以前に、セッション確立・メディア処理準備要求（Ｍ３）からセッション確立・メディア処理準備応答（Ｍ４）の受信に関わる動作（ステップＳ１８０４〜ステップＳ１８０６およびステップＳ１９０２からステップＳ１９０４）までを、サービス発見により得られた切替先候補となるすべての切替先候補デバイスに対して行っておくこと（前述した技術Ｂ）により、デバイス切替時の実質的な動作時間をゼロとすることが可能となる。それにより、選択した切替先デバイスでメディアデータの出力が開始するまでに要する時間の短縮が図られた。
【００５４】
それらの結果として、切替えに要する時間、すなわちユーザがデバイス切替えを意図して、切替元デバイスに対して切替先候補デバイス表示要求（Ｕ１）を指示してから、選択した切替先デバイスの出力部にメディアデータが出力（Ｄ２）されるまでの時間が大幅に短縮された。
【００５５】
しかしながら、文献「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」の技術では、選択した切替先デバイスでメディアデータの受信を開始してから、切替先デバイスの出力部がメディアデータの出力を開始するまで（ステップＳ１９０５〜ステップＳ１９０９）に数百ミリ秒程度の時間を要し、依然として十分にシームレスなサービスを実現することができなかった。さらに、遅延が生じるのを避けるために、切替元デバイスの送信部は、受信部が新たに受信したメディアデータ分から送信を行っていたため（ステップＳ１８１０）、切替元デバイスのメディアバッファにすでに蓄積されている切替元デバイスでまだ出力されていないメディアデータは切替先デバイスに転送されなかった。このため、切替先デバイスの出力部は、そのメディアデータ分を出力できないので、出力されるメディアデータに欠損が生じ、結果として不連続な出力となってしまっていた。
【発明の開示】
【００５６】
本発明の目的は、メディアデータを通信中のデバイスから他のデバイスへデバイス切替えするのに要する時間、すなわちユーザがデバイス切替えを意図して、ユーザからデバイス切替要求が切替元デバイスに入力されてから選択した切替先デバイスの出力部にメディアデータが出力されるまでの時間を短縮することのできる切替元デバイス、切替先デバイス、および高速デバイス切替システムを提供することにある。さらに、本発明の目的は、切替元デバイスのメディアデータと切替先デバイスで出力されるメディアデータとの間の不連続を防止したデバイス切替えを実現することのできる切替元デバイス、切替先デバイス、および高速デバイス切替システムを提供することにある。
【００５７】
本発明の切替元デバイスは、通信相手と確立しているセッションを切替先デバイスに移動するものである。そして、特に、本発明の切替元デバイスは、サービス発見部と高速デバイス切替部とシグナリング部と入力部と出力部とを有している。そのサービス発見部は、近隣の通信デバイスからサービス提供の可否の情報を取得するものである。また、高速デバイス切替部は、そのサービス発見部へ任意のタイミングでサービス提供の可否を問い合わせる指示を行い、取得した前記サービス提供の可否の情報に基づいてセッションの切替先となる切替先候補デバイスを決定する。そして、切替先候補デバイスを記載した切替先候補デバイスリストを作成すると共に、切替先候補デバイスとのセッションの確立を指示する。また、シグナリング部は、高速デバイス切替部からのセッション確立指示を受けて、切替先候補デバイスとセッションを確立するものである。また、入力部は、ユーザからの前記切替先候補デバイスリスト要求を受け付けるものである。また、出力部は、高速デバイス切替部が入力部からの切替先候補デバイスリスト要求を受けて、切替先候補デバイスリストを提示するものである。そして、高速デバイス切替部は、ユーザからのデバイス切替要求を入力部から受けたときに、シグナリング部へ切替候補デバイスリストから選択されたデバイスを通知する。シグナリング部はこれを受けて、選択されたデバイスに切替指示を送信する。
【００５８】
この構成により、ユーザから切替先候補デバイスリスト要求が入力される以前に、サービス発見部によるサービス発見が実行され、高速デバイス切替部は内部に切替先候補デバイスリストを保持できる。そのため、ユーザからデバイス切替要求が入力されたときに、シグナリング部が切替先候補デバイスの中から選択された切替先確定デバイスにすぐに切り替えることができる。
【００５９】
また、本発明の切替元デバイスは、さらに、メディア受信部とバッファ制御部とメディア送信部とを有している。そのメディア受信部は、通信相手からメディアデータを受信し、メディアバッファに蓄積するものである。また、バッファ制御部は、メディアバッファに蓄積されたメディアデータを制御するものである。また、メディア送信部は、高速デバイス切替部からのメディアデータ転送要求を受けて、メディアバッファに蓄積しているメディアデータをすべての切替先候補デバイスに転送を行うものである。そして、ユーザからの前記デバイス切替要求を受けたときに、シグナリング部は、選択された切替先候補デバイスに、受信済みのメディアデータの出力指示を送信する。
【００６０】
この構成により、高速デバイス切替部の指示によりメディア受信部が受信しているメディアデータは、すべての切替先候補デバイスに転送され、当該切替先デバイスでメディアデータは蓄積される。そのため、ユーザからデバイス切替要求が入力されたときに、シグナリング部は、切替先候補デバイスの中から選択された切替先確定デバイスにメディア出力通知を送信する。これにより、切替先確定デバイスは、新たにメディアデータを蓄積することなく、すでに蓄積されているメディアデータを出力することが可能となる。その結果、ユーザが切替遅延を知覚できない程高速なデバイス切替えが実現できる。
【００６１】
また、本発明の切替元デバイスにおいて、バッファ制御部は、メディアバッファを制御するための、バッファ制御ポリシーまたはデータサイズを含むバッファ制御情報を生成するものである。
【００６２】
この構成により、切替先候補となる切替先候補デバイスとセッションを確立する際に、シグナリング部がバッファ制御情報をシグナリングメッセージのペイロードまたはヘッダに付加して送信することができる。これにより、切替先候補となるデバイスは、バッファ制御情報を参照することで、メディアバッファを切替元デバイスのメディアバッファと同じ状態に制御することができる。その結果、切替先デバイスは、通信遅延を増加させることなく、かつユーザへ提供されるメディアデータの連続性も保持することができる。
【００６３】
本発明の切替先デバイスは、通信相手とセッションを確立している切替元デバイスからセッションの移動を受けるものである。そして、特に、サービス応答部とシグナリング部とメディア受信部とバッファ制御部と出力部と高速デバイス切替部とを有している。そのサービス応答部は、切替元デバイスから送られるサービス提供の可否の問い合わせに応答するものである。また、シグナリング部は、自己と通信相手、あるいは切替元デバイスとのセッションを制御するものである。また、メディア受信部は、サービス応答部がサービス提供可であると応答したときに、通信相手と切替元デバイスからメディアデータを受信するものである。また、バッファ制御部は、メディア受信部が受信したメディアデータを蓄積するメディアバッファと、シグナリング部が切替元デバイスとのセッションを確立した後に受信した、メディアバッファを切替元デバイスのメディアバッファと同一状態にするためのバッファ制御情報に基づいてメディアバッファを制御するものである。また、出力部は、メディアバッファのメディアデータをユーザに提供するものである。また、高速デバイス切替部は、切替元デバイスから転送されたメディアデータを、シグナリング部が切替元デバイスから受信したメディア出力通知に基づき出力部に出力するものである。
【００６４】
この構成により、切替先デバイスは、メディア受信部がメディアデータをデバイス切替の指示を受ける前に蓄積し、かつ切替元デバイスのメディアバッファと同一状態にしておくことができる。そのため、切替先デバイスは、ユーザからデバイス切替要求が入力されたときに、切替元デバイスからメディア出力通知を受けると、すぐに蓄積されているメディアデータを出力することが可能となる。
【００６５】
このように本発明によれば、デバイス切替えに要する時間を、ユーザが知覚できない程、高速に短縮することができるので、デバイス切替えについてきわめてシームレスなサービスを実現することが可能となる。また、その際に、通信相手との通信遅延を増加させることなく、かつ切替元デバイスと切替先デバイスとの間でのメディアデータの連続性を保持することができる。
【発明を実施するための最良の形態】
【００６６】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００６７】
（実施の形態１）
本発明の実施の形態１の高速デバイス切替システムは、切替元デバイスが通信相手との間で保持するセッションを、切替元デバイス以外の切替先デバイスに移動させるセッションモビリティを実現するシステムである。
【００６８】
本発明の実施の形態１の高速デバイス切替システムの構成は、図１９に示したものと同じであるが、モバイルノード（ＭＮ）１３０１とデバイス群１３０４は、それぞれ本発明に係る切替元デバイスと切替先デバイスである。
【００６９】
図１は、本実施の形態の高速デバイス切替システムにおける切替元デバイスの内部の構成を示す図である。
【００７０】
図１において、本実施の形態の切替元デバイスは、アプリケーション１４０１と、一つ以上のネットワークＩ／Ｆ１４０２と、表示出力を行う出力部１４０３と、ユーザからの入力を受け付ける入力部１４０４と、オペレーティングシステム１４０５と、オペレーティングシステム１４０５を介して外部デバイスへメディアデータの送信を行うメディア送信部１０３と、外部デバイスからのメディアデータを受信するメディア受信部１４０７と、メディア受信部１４０７が受信したメディアデータを蓄積するためのメディアバッファ１４０８と、バッファ制御情報を生成および利用するバッファ制御部１０２と、圧縮されているメディアデータをデコードするためのデコーダ１４０９と、外部デバイスとのセッションを制御するためのシグナリング部１０４と、近隣の外部の通信デバイスが提供するサービスを発見するためのサービス発見部１４１１と、メディア受信部１４０７が受信したメディアデータを切替先候補デバイスに転送する指示を、メディア送信部１０３に出力する高速デバイス切替部１０１とから構成されている。
【００７１】
上記構成において、高速デバイス切替部１０１と、バッファ制御部１０２と、メディア送信部１０３と、シグナリング部１０４とが従来の技術とは異なる構成要素である。ここで、高速デバイス切替部１０１は、従来の高速ミドルウェアに替わるものであり、機能変更および機能追加がなされている。バッファ制御部１０２は、従来のものにはなく、新しく追加された構成要素であり、切替先候補デバイスが切替先デバイスのメディアバッファを制御する際に参照するバッファ制御情報を生成する。また、メディア送信部１０３およびシグナリング部１０４は、従来のものに、一部機能が追加されたものである。すなわち、メディア送信部１０３は、メディアバッファ１４０８に蓄積されたメディアデータの転送も行え、シグナリング部１０４は、バッファ制御部１０２の生成したバッファ制御情報をさらに伝える。
【００７２】
図１３は、本実施の形態の高速デバイス切替システムにおける切替先デバイスの内部の構成を示す図である。
【００７３】
図１３において、サービス応答部１５１１は、切替元デバイスのサービス発見部１４１１から送信された、サービス提供の可否の問い合わせに応答するものである。その他の構成要素は、図１に示したものと同一である。
【００７４】
なお、切替先デバイスは、図１に示す切替元デバイスと全く同じ構成とすることもできる。この場合は、そのデバイスを切替元、切替先の区別なく利用することが可能である。
【００７５】
図２は、切替元デバイスと切替先デバイス群間でのメッセージに関するシーケンスを示す図である。図３は、切替元デバイスの動作を説明する流れ図である。図４は、切替先デバイスの動作を説明する流れ図である。ここで、デバイス群には、デバイス１からデバイスＮまでのＮ個のデバイスが存在しているものとする。また、図示していないが、切替元デバイスは、ＣＮと別途セッションを保持している。
【００７６】
次に、切替元デバイスおよび切替先デバイスの動作に関し、はじめに、切替元デバイスの動作について、図２と図３を用いて説明する。特に説明しない動作に関しては、図２４に示した従来の切替元デバイスの動作と同一である。
【００７７】
ＣＮ１３０２とのセッションが継続中である場合（ステップＳ３０１、ＹＥＳ）、高速デバイス切替部１０１は、周囲のデバイス群１３０４に対してサービス発見を行う。このために、高速デバイス切替部１０１は、サービス発見部１４１１を通じて、サービス発見要求（Ｍ１）を、任意のタイミングでＰＡＮ１３０５内のデバイス１からデバイスＮに一斉に送る（ステップＳ３０２）。サービス発見要求（Ｍ１）は、セッションが確立した直後、任意のタイミングまたは周期的に送るもので、例えば１０分周期で送る。一方、ＣＮ１３０２とのセッションが継続していない場合（ステップＳ３０１、ＮＯ）には、以後の動作を終了する。
【００７８】
サービス発見部１４１１は、各切替先デバイスからのサービス発見応答（Ｍ２）を受信し、高速デバイス切替部１０１に通知する（ステップＳ３０２）。高速デバイス切替部１０１は、その通知に基づきサービス提供可能なデバイスの切替先候補デバイスリストを生成し（ステップＳ３０３）、内部に保持する。すでに保持している切替先候補デバイスリストが存在する場合には、更新する。
【００７９】
高速デバイス切替部１０１は、切替先候補デバイスが切替先デバイスのメディアバッファを制御するためのバッファ制御情報を生成するようにバッファ制御部１０２に指示する（ステップＳ３０４）。これを受けて、バッファ制御部１０２は、バッファ制御情報を生成する。なお、バッファ制御情報については、後述する。
【００８０】
高速デバイス切替部１０１は、切替先候補デバイスリストに記された切替先候補デバイスに対してセッションを確立しメディアデータの伝送を行うために、シグナリング部１０４を通じてセッション確立・メディア処理準備要求（Ｍ３’）を切替先候補デバイスに送信する（ステップＳ３０５）。ここで、切替先候補デバイスは、Ｎ個のデバイスの内のデバイス２とデバイスＮとする。
【００８１】
このとき、シグナリング部１０４は、シグナリングメッセージであるセッション確立・メディア処理準備要求（Ｍ３’）メッセージのヘッダまたはペイロードに、切替先候補デバイスの出力部が当該セッションにおいて転送されるメディアデータを出力禁止にするように指示されたメディア出力制御情報を記述する。
【００８２】
さらに、シグナリング部１０４は、セッション確立・メディア処理準備要求（Ｍ３’）メッセージのペイロードにバッファ制御部１０２が生成したバッファ制御情報を付加する。ただし、バッファ制御情報の付加は、ペイロードに限ったものである必要はなく、ヘッダに対して付加してもよい。図１６にセッション確立・メディア処理準備要求（Ｍ３’）メッセージのフォーマット形式を示す。セッション確立・メディア処理準備要求（Ｍ３’）メッセージ２２０３は、メッセージヘッダ２２０１とメッセージペイロード２２０２とから構成される。図１６では、フォーマット形式の一例として、メディア出力制御情報２２０４がメッセージヘッダ２２０１に、バッファ制御情報２２０５がメッセージペイロード２２０２に付加される場合を示している。
【００８３】
同時に、高速デバイス切替部１０１は、メディア受信部１４０７およびメディア送信部１０３に対して、受信したメディアデータおよびメディアバッファ１４０８に蓄積されているメディアデータを切替先候補デバイスに転送する準備を開始するように通知する（ステップＳ３０６）。
【００８４】
次に、シグナリング部１０４が、切替先候補デバイスからセッション確立・メディア処理準備応答（Ｍ４）を受信する（ステップＳ３０７）と、高速デバイス切替部１０１は、メディア送信部１０３に対して、メディアデータの伝送（Ｄ１’）を開始するように通知する（ステップＳ３０８）。このメディアデータは、メディアバッファ１４０８に蓄積されているものと、メディア受信部１４０７がＣＮ１３０２から受信したものである。
【００８５】
メディア送信部１０３は、これを受けて、マルチキャストまたはブロードキャストにより、切替先候補デバイスリストに記された切替先候補デバイスに対して、メディアデータの転送（Ｄ１‘）を開始し、高速デバイス切替部１０１は、一定時間待機する。
【００８６】
高速デバイス切替部１０１が待機している間に、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示がなかった場合（ステップＳ３０９、ＮＯ）には、ステップＳ３０１に戻り再びサービス発見を行う。一方、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示があった場合（ステップＳ３０９、ＹＥＳ）には、高速デバイス切替部１０１は、内部に保持している切替先候補デバイスリストを、出力部１４０３を通じてユーザに提示（Ｕ２）する（ステップＳ３１０）。
【００８７】
ユーザは、切替先候補デバイスリストの中から、入力部１４０４を通じて切替先デバイスを選択（Ｕ３）する（ステップＳ３１１）。選択された切替先デバイスは、オペレーティングシステム１４０５を介して高速デバイス切替部１０１に通知される。ここでは、切替先確定デバイスとして、デバイス２が選択されたものとする。
【００８８】
高速デバイス切替部１０１は、切替先デバイスとして選択された切替先デバイス２がメディアデータ出力を開始するために、シグナリング部１０４を通じて、デバイス２に対してメディアデータ出力通知（Ｍ７）を送信する（ステップＳ３１２）。
【００８９】
メディア送信部１０３が後述するバースト送信を行っている際には、高速デバイス切替部１０１は、バッファ制御部１０２が生成したメディアバッファ１４０８の使用されている状況を示すメディアデータ状況をメディアデータ出力通知（Ｍ７）のペイロードに付加する。ただし、メディアデータ状況の付加は、ペイロードに限ったものである必要はなく、ヘッダに対して付加してもよい。
【００９０】
高速デバイス切替部１０１は、切替先候補デバイスのうちユーザにより選択されたデバイス２以外のデバイスに対して、シグナリング部１０４を通じて、セッション切断要求（Ｍ５）を送信する（ステップＳ３１３）。そして、高速デバイス切替部１０１は、それらのデバイスからセッション切断応答（Ｍ６）を受信して、切替動作を完了する。
【００９１】
次に、図４を用いて切替先デバイスの動作を説明する。
【００９２】
サービス発見要求（Ｍ１）を受けた切替先デバイスのサービス応答部１５１１は、サービス発見要求に示されるサービス条件を満たしているか否か判断する。そして、サービス条件に適合するサービスを提供可能な場合、サービス発見部１４１１は、サービスを利用するための手続きを含むサービス発見応答（Ｍ２）をＭＮ１３０１に送信する（ステップＳ４０１）。
【００９３】
次に、切替先候補デバイスのシグナリング部１０４が、切替元デバイスからセッション確立・メディア処理準備要求（Ｍ３‘）を受信すると（ステップＳ４０２）、メッセージからメディア出力制御情報およびバッファ制御情報を取り出し、高速デバイス切替部１０１に送る。高速デバイス切替部１０１は、メディア出力制御情報により、当該セッションにおいて転送されるメディアデータの出力部への出力が禁止されていることを知る。そして、高速デバイス切替部１０１は、メディア受信部１４０７、メディアバッファ１４０８およびデコーダ１４０９に対して、メディア受信準備と、処理準備を開始するように指示する（ステップＳ４０３）。受信されたバッファ制御情報は、高速デバイス切替部１０１よりバッファ制御部１０２に送られ、メディアバッファ１４０８を制御するために利用される。
【００９４】
そして、それらの準備が完了すると、高速デバイス切替部１０１は、シグナリング部１４１０を通じて、切替元デバイスに対してセッション確立応答（Ｍ４）を送信する（ステップＳ４０４）。
【００９５】
次に、切替先デバイス２のメディア受信部１４０７は、切替元デバイスがマルチキャストまたはブロードキャストによって転送しているメディアデータ（Ｄ１‘）を受信し（ステップＳ４０５）、メディアデータのメディアバッファ１４０８への蓄積を開始する（ステップＳ４０６）。高速デバイス切替部１０１は、バッファ制御情報をバッファ制御部１０２に送る。バッファ制御部１０２は、その情報を利用してメディアバッファ１４０８が切替元デバイスのメディアバッファと同じメディアデータの蓄積状態になるように制御する。ここで、メディアデータの蓄積状態が同じであるとは、例えば動画においては蓄積しているフレームの数や蓄積しているフレームの番号などが全く同じであることをいう。
【００９６】
切替先デバイス２の高速デバイス切替部１０１は、シグナリング部１０４を通じて切替元デバイスから送信されたメディアデータ出力通知（Ｍ７）を受信すると、切替先デバイスとして選択されたことを知る。そして、高速デバイス切替部１０１は、メディア出力制御情報により禁止されていたメディアデータの出力部１４０３への出力を解除し、切替先確定デバイスとしての処理を進める（ステップＳ４０７）。メディアデータが後述するバースト送信によって送信されている場合、高速デバイス切替部１０１は、メディアデータ出力通知（Ｍ７）に付加されたメディアデータ状況をバッファ制御部１０２に送る。バッファ制御部１０２は、そのメディアデータ状況の情報を利用して、メディアバッファ１４０８が切替元デバイスのメディアバッファと同じ状態になるように制御する。
【００９７】
ユーザによって指定された切替先デバイス２以外の切替先候補デバイスのシグナリング部１０４が、切替元デバイスから送信されたセッション切断要求（Ｍ５）を受信すると、高速デバイス切替部１０１は、メディア受信部２１０７に対してメディアデータの受信を終了するように指示する。さらに、高速デバイス切替部１０１は、メディアバッファ１４０８およびデコーダ１４０９に対してメディア処理準備を終了するように指示する（ステップＳ４１１）。
【００９８】
そして、メディア処理準備を終了すると、高速デバイス切替部１０１は、シグナリング部１４１０を通じて、切替元デバイスに対してセッション切断応答（Ｍ６）を送信し（ステップＳ４１２）、切替動作を終了する。
【００９９】
ステップＳ４０７において、メディアバッファ１４０８に一定のメディアデータが蓄積された状態になると、高速デバイス切替部１０１は、メディアデータが非圧縮の場合（ステップＳ４０８、ＹＥＳ）には、メディアバッファ１４０８に蓄積されたメディアデータ（Ｄ２）を、オペレーティングシステム１４０５を介して出力部１４０３に送る（ステップＳ４１０）。
【０１００】
一方、メディアデータが圧縮されている場合（ステップＳ４０８、ＮＯ）には、高速デバイス切替部１０１は、デコーダ１４０９にデコード動作を開始するように通知する（ステップＳ４０９）。デコーダ１４０９は、デコードされたメディアデータを、オペレーティングシステム１４０５を介して出力部１４０３に送る。出力部１４０３は、受信したメディアデータの出力（Ｄ２）を開始し（ステップＳ４１０）、切替動作を完了する。
【０１０１】
以上のように、本発明の実施の形態１の高速デバイス切替システムは、切替元デバイスにユーザから切替先候補デバイスリスト要求が入力される以前に、切替元デバイスがあらかじめ切替先候補デバイスを検索し、それらへメディアデータを蓄積させておくので、ユーザからデバイス切替要求が入力されたときには、すでに検索した切替先候補デバイスを表示し、ユーザにより選択された切替先確定デバイスは、すでに蓄積されているメディアデータを直ちに出力することが可能となる。これにより、ユーザが切替えを意図してから切替先デバイスでデータが出力されるまでの時間は、１００ミリ秒以下となり、ユーザが知覚できない程、高速なデバイス切替えを実現することができる。
【０１０２】
次に、シグナリング部１０４が、シグナリングメッセージ（Ｍ３’）に記述するメディア出力制御情報について、ＳＩＰである場合の例を図１７、図１８に示す。セッション確立・メディア処理準備要求（Ｍ３’）メッセージ２２０３は、図１６と同様にメッセージヘッダ２２０１とメッセージペイロード２２０２とから構成される。図１７と図１８には、さらにＳＩＰヘッダ及びペイロードの詳細を記載する。ＳＩＰにおいては、シグナリングメッセージ（Ｍ３’）にインバイト（ＩＮＶＩＴＥ）メソッドが用いられ、そのリクワイア（Ｒｅｑｕｉｒｅ）ヘッダまたはサポート（Ｓｕｐｐｏｒｔｅｄ）ヘッダのヘッダフィールドに以下のように記述する。図１７に、メディア出力制御情報２２０４としてリクワイア（Ｒｅｑｕｉｒｅ）ヘッダが使われる例を示す。
【０１０３】
Ｒｅｑｕｉｒｅ：Ｍｅｄｉａ−Ｂｕｆｆｅｒｉｎｇ−Ｏｎｌｙ
Ｓｕｐｐｏｒｔｅｄ：Ｍｅｄｉａ−Ｂｕｆｆｅｒｉｎｇ−Ｏｎｌｙ
ただし、“Ｍｅｄｉａ−Ｂｕｆｆｅｒｉｎｇ−Ｏｎｌｙ”は、定義されたオプションタグである。
【０１０４】
別な例としては、インバイト（ＩＮＶＩＴＥ）メソッドのコンタクト（Ｃｏｎｔａｃｔ）ヘッダのヘッダフィールドに以下のように記述する。
【０１０５】
Ｃｏｎｔａｃｔ：＜ｓｉｐｓ：ａｌｉｃｅ＠ｃｌｉｅｎｔ．ｎｄｃ．ｅｘａｍｐｌｅ．ｃｏｍ＞；ａｕｄｉｏ；ｖｉｄｅｏ；ｍｏｂｉｌｉｔｙ＝“ｆｉｘｅｄ”；ｍｅｄｉａｈａｎｄｌｉｎｇ＝“ｂｕｆｆｅｒｏｎｌｙ”
ただし、“ｍｅｄｉａｈａｎｄｌｉｎｇ”は、定義されたメディアフィーチャタグである。
【０１０６】
さらに、ＳＩＰにおけるペイロードの一つであるＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いた別の例としては、ＳＤＰの属性（アトリビュート）に以下のように記述する。図１８には、メディア出力制御情報２２０４としてアトリビュートが使われる例を示す。
【０１０７】
ａ＝ｂｕｆｆｅｒＯｎｌｙ
ただし、“ｂｕｆｆｅｒＯｎｌｙ”は、定義されたアトリビュートであり、蓄積のみ許可されることを示している。
【０１０８】
シグナリングメッセージ（Ｍ３’）にこのようなメディア出力制御情報が記述されることにより、切替元デバイスの高速デバイス切替部１０１は、当該セッションにおいて伝送されるメディアデータがメディアバッファ１４０８への蓄積目的であり、出力部１４０４への出力が禁止されていることを知る。
【０１０９】
次に、切替元デバイスのメディアバッファ１４０８とメディアデータの蓄積制御を行うバッファ制御部１０２の動作（ステップＳ３０４）と、切替元デバイスのメディアバッファ１４０８に蓄積されたメディアデータを伝送するメディア送信部１０３の動作（ステップＳ３０８）について詳細に説明する。
【０１１０】
はじめに、メディア送信部１０３によるメディアデータ伝送の方法について、図５および図６を用いて説明する。メディアデータ伝送の仕方は、切替元デバイス（ＭＮ１３０１等）と通信相手（ＣＮ１３０２等）間のネットワーク帯域と、切替元デバイス（ＭＮ１３０１等）と切替先デバイス（デバイス群１３０４）間のネットワーク帯域（以下、「ＰＡＮの帯域」という。）との大きさの関係により、二つに分類される。
【０１１１】
ＰＡＮの帯域が切替元デバイスと通信相手間のネットワーク帯域より大きい場合には、メディア送信部１０３はメディアデータのバースト送信を行う。ここで、バースト送信とは、メディアバッファに蓄積されるデータが一定量に達するまで伝送動作を待機し、一定量に達すると蓄積されたデータを一度に一括して送る方法である。例えば、メディアが動画である場合において、複数フレーム分まとめて送信する。
【０１１２】
図５Ａ、図５Ｂは、バースト送信を行う際のメディアバッファ１４０８への蓄積およびメディア送信部１０３のメディアデータ伝送の仕方を説明する図である。図５Ａ、図５Ｂは、図１に示した切替元デバイスの内部構成図から説明に必要な構成要素だけを抽出して示したものであり、図１との共通の構成要素には同一の番号を付している。
【０１１３】
図５Ａは切替元デバイスの構成を示し、図５Ｂは切替先デバイスの構成を示す。図５Ａ、図５Ｂにおいて、メディアバッファ１４０８の内部に蓄積されているメディアデータの詳細な状態が示されている。なお、図５Ａ、図５Ｂにおいて、説明に使用されるメディアは圧縮された動画とし、フレーム毎にフレーム番号を付す。図５Ａに示す切替元デバイスのメディアバッファ１４０８には、フレーム４からフレーム１３までが蓄積された状態にある。このとき、フレーム１４はメディア受信部１４０７で受信され、メディアバッファ１４０８に新たに加えられるところである。また、フレーム３は、メディアバッファ１４０８からデコーダ１４０９に送られ、デコードされた後、出力部１４０３から出力される。図５Ｂに示す切替先デバイスのメディアバッファ１４０８は、バースト送信のために二つのバッファに論理的に分割され、一方の論理バッファのデータ蓄積量が定められたバースト送信バッファ量を超えるように設定される。
【０１１４】
次に、メディア送信部１０３は、それらのデータ（図５Ａ、図５Ｂでは、フレーム７から１１）をＰＡＮ１３０５経由で切替先デバイスに対して一度に一括して送信する。ここで、バースト送信バッファ量とは、一度のバースト送信で送られるデータ量の下限であり、切替元デバイスのメディアバッファ１４０８の論理バッファに蓄積されたデータが、バースト送信バッファ量を超えることによりバースト送信が行われる。バースト送信が行われる際にも、メディアバッファ１４０８にデータは入力され、メディアバッファ１４０８からデコーダ１４０９にデータは出力される。しかしながら、メディアバッファ１４０８が二つの論理バッファを有することにより、バースト送信が行われる際に、入力されるデータ（フレーム１２、１３、１４など）は、バースト送信が行われない方の論理バッファに蓄積される。また、出力されるデータ（フレーム３、４、５など）は、バースト送信が行われない方の論理バッファに蓄積されており、当該論理バッファから出力される。したがって、バースト送信に係る側の論理バッファ（図５Ａの右側の論理バッファ）のデータは、バースト送信の際に、メディアバッファ１４０８におけるデータ入出力の影響を受けない。切替先デバイスのメディア受信部１４０７は、それらのメディアデータを受信し、一方の論理バッファに蓄積する。切替元のメディアバッファ１４０８におけるデコーダ１４０９へのフレーム出力のタイミング、および切替先のメディアバッファ１４０８におけるフレーム出力または廃棄のタイミングは、後述するバッファ制御ポリシーに従うものとする。バッファ制御部１４０８による切替元デバイスのメディアバッファ制御は、フレーム１４をフレーム１２およびフレーム１３が蓄積されているのと同じ論理バッファに入力し、フレーム６までをデコーダ１４０９へ出力すると、もう一方の論理バッファからフレーム７、フレーム８という順番で出力を行う。
【０１１５】
反対に、ＰＡＮ１３０５の帯域が、切替元デバイスと通信相手間のネットワーク帯域より小さい場合には、メディア送信部１０３はメディアデータの逐次送信を行う。ここで、逐次送信とは、送信動作の待機を行わず、常に一定の間隔でデータを送る方法である。例えば、メディアが動画である場合、１フレーム分を順次送信する。
【０１１６】
図６Ａ、図６Ｂは、逐次送信を行う際のメディアバッファ１４０８への蓄積およびメディア送信部１０３へのメディアデータ伝送を説明する図である。図６Ａ、図６Ｂも図５Ａ、図５Ｂと同様に、図１に示した切替元デバイスの内部構成図から必要な構成要素のみを抽出したものであり、図１との共通の構成要素には同一の番号を付している。
【０１１７】
図６Ａは切替元デバイスの構成を示し、図６Ｂは切替先デバイスの構成を示す。図６Ａ、図６Ｂにおいて、メディアバッファ１４０８のバッファ内部に蓄積されているメディアデータの詳細な状態が示されている。なお、図６Ａにおいて、説明に使用されるメディアは圧縮された動画とし、フレーム毎にフレーム番号を付す。図６Ａに示す切替元デバイスのメディアバッファ１４０８には、フレーム７からフレーム１２までが蓄積された状態にある。このとき、フレーム１３がメディア受信部１４０７で受信されると、メディアバッファ１４０８に新たに加えられるとともに、メディア送信部１０３が、受信したフレームをＰＡＮ１３０５経由で切替先デバイスに対して逐次送信する。また、フレーム６がメディアバッファ１４０８からデコーダ１４０９に送られ、デコードされた後、出力部１４０３から出力される。
【０１１８】
図６Ｂに示す切替先デバイスのメディア受信部１４０７は、送られたメディアデータを受信し、メディアバッファ１４０８に蓄積する。切替元デバイスのメディアバッファ１４０８におけるデコーダ１４０９へのフレーム出力のタイミング、および切替先デバイスのメディアバッファ１４０８におけるフレーム出力または廃棄のタイミングは、後述するバッファ制御ポリシーに従うものとする。バッファ制御部１０２のメディアバッファ制御は、フレーム１３をフレーム１２に続いてメディアバッファ１４０８に入力し、フレーム６に続いて、フレーム７、フレーム８という順番でメディアバッファ１４０８からデコーダ１４０９へ出力を行う。
【０１１９】
次に、バッファ制御ポリシーについて説明する。
【０１２０】
バッファ制御ポリシーには、二つの基本形が存在し、実用上は、二つの基本形が組み合わされて、新しいバッファ制御ポリシーとして使用される。第一の基本形は、バッファ量一定制御型である。これは、新しいデータが入力され定められた基準バッファ量を超えると、１フレーム等の単位データの出力を行うものである。基準バッファ量とは、バッファに蓄積する一定のデータ量のことである。従って、バッファに蓄積されているデータ量を常に一定に保つことが可能である。バッファ量一定制御型は、基準バッファ量を下げることによりバッファに蓄積されているデータ量を減らすことが可能である。それにより、通信相手との遅延を少なくすることができるので、ＴＶ電話等のリアルタイムコミュニケーションに良く用いられる。短所としては、ネットワークのジッタの影響を受けやすく、データ到着間隔が開くような場合には、データ出力が途切れてしまうことである。
【０１２１】
第二の基本形は、出力時間一定制御型である。一定時間経過するときに、１フレーム等の単位データの出力を行う。従って、データの到着状況によって、バッファに蓄積されているデータ量が大きく変動する。しかし、一般に、初期化時にバッファに蓄積されるデータ量を多く確保することにより、データアンダーフローを防止する。出力時間一定制御型は、出力タイミングが一定間隔となることから再生状態に優れるので、ビデオオンデマンド（ＶＯＤ）等のストリーミングアプリケーションで良く用いられる。短所としては、バッファに蓄積されているデータ量が多くなり、遅延が大きくなってしまうことである。
【０１２２】
実際には、それぞれの長所および短所に鑑み、これら二つのバッファ制御ポリシーを組み合わせて、新しい制御ポリシーとして運用する。例えば、通常は、バッファ量一定制御型で動作させておき、データの到着が著しく遅れる場合は、出力時間一定制御型に切替えて制御する。たとえば、前のデータを出力してから出力時間一定制御型の出力基準となる３０３ミリ秒経っても新しいデータが到着しない場合、データ出力を行う。また、別な例として、通常は、出力時間一定制御型で動作させておき、バッファに蓄積しているデータが一定量を割り込む場合は、バッファ量一定制御型で制御する。すなわち、データの到着遅れがしばらくの間続き、バッファに蓄積されたデータ量がバッファ量一定制御型の基準を下回ると、出力基準となる３０３ミリ秒を経過しても出力は行わず、次のデータが到着し、バッファ蓄積量が回復することにより再び出力を行う。
【０１２３】
切替元デバイスのメディア送信部１０３は、上記のような方法でメディアデータの伝送を行う。また、切替元デバイスのバッファ制御部１０２は、あらかじめ決められたバッファ制御ポリシーに基づいてメディアバッファ１４０８への蓄積制御を行う。
【０１２４】
次に、バッファ制御部１０２の動作（ステップＳ４０６）について、詳細に説明する。なお、このッファ制御部１０２は、切替元デバイスによって転送されたメディアデータを受け取った切替先候補デバイスのメディアバッファ１４０８が切替元デバイスのメディアバッファ１４０８と同じ状態になるように蓄積制御を行う。
【０１２５】
切替先候補デバイスのバッファ制御部１０２は、切替元デバイスから送られたバッファ制御情報に基づいてメディアバッファ１４０８の制御を行う。図７は、本発明の実施の形態の高速デバイス切替システムで用いられるメディアデータ伝送の方法およびバッファ制御ポリシーによって分類されたバッファ制御情報を示す表である。
【０１２６】
図７において、バッファ制御ポリシーは、あくまでも基本形であり、前述したように、実用上は、基本形を組み合わせることにより、新しいバッファ制御ポリシーを使用することができる。さらに、メディアデータ伝送も、あくまでも基本形であり、前述したように、実用上は最初にメディアバッファに一定量のメディアデータが蓄積されるまではバースト送信で行い、蓄積後は逐次送信に切替えるといった組合わせも可能である。ここでは、図７の表の３つのケースのバッファ制御情報とそれを用いたバッファ制御方法を説明する。
【０１２７】
メディアデータ伝送がバースト送信で行われ、バッファ制御ポリシーが出力時間一定制御型で行われているとき、メディア制御情報は、基準出力時間間隔とバースト送信バッファ量の二つである。図５Ａ、図５Ｂに示す例を用いて、バッファ制御部１０２の動作について説明する。ここで、基準出力時間間隔とは、メディアバッファに蓄積されている単位データを出力してから、次の単位データを出力するまでの時間のことである。図５Ａでは、フレーム３のデコーダ１４０９への出力後、基準出力時間間隔が経過すると、フレーム４が出力されることになる。また、バースト送信バッファ量に基づいて、バースト送信されるデータの上限を推定し、メディアバッファ１４０８の論理バッファは作成される。上限のデータ量として、例えば、１フレームが圧縮されるときの最大符号量をバースト送信バッファ量に加算したものが推定される。
【０１２８】
図５Ｂにおいて、切替先のメディア受信部１４０７は、切替元デバイスから前回バースト送信されたフレーム２からフレーム６を一方の論理バッファに蓄積し、もう一方の論理バッファに、今回バースト送信されるフレーム７からフレーム１１を蓄積する。切替先候補デバイスのバッファ制御部１０２は、切替元デバイスからメディアデータ出力開始の通知（Ｍ７）を受信する（ステップＳ４０７）と、そのメッセージに付加されている切替元デバイスのメディアバッファのメディアデータ状況（フレーム３まで出力済み等）の情報に基づいてフレーム４までのフレーム（フレーム２からフレーム３）を廃棄する。さらに、バッファ制御部１０２は、内部のタイマを起動し、基準出力時間間隔が経過するとフレーム４を出力する。バッファ制御部１０２は、フレーム６の出力を終了すると、もう一方の論理バッファのフレーム７から順次フレーム出力を行う。続いて、切替元デバイスから次回のバースト送信が行われると、バッファ制御部１０２は、空いている方の論理バッファにメディアデータを蓄積する。このようにして、切替先候補デバイスのメディアバッファ１４０８は、切替元デバイスのメディアバッファ１４０８と完全に同じ状態になる。
【０１２９】
一方、メディアデータ伝送が逐次送信で行われ、バッファ制御ポリシーがバッファ量一定制御型で行われているときは、メディア制御情報は、基準バッファ量のみとなる。図６Ｂに示す例を用いて、バッファ制御部１０２の動作について説明する。
【０１３０】
切替先候補デバイスのメディアバッファ１４０８は、基準バッファ量に基づいて制御されており、フレーム１２が入力された際に、メディアバッファ１４０８の蓄積データ量（フレーム６から１２）が基準バッファ量を超えたことにより、フレーム６が廃棄される。切替先デバイスのバッファ制御部１０２は、蓄積データ量が今回逐次送信されるフレーム１３を入力することにより基準バッファ量を超えてしまうならば、フレーム７を廃棄する。このようにして、切替先候補デバイスのメディアバッファ１１０８は、切替元のメディアバッファ１４０８と完全に同じ状態になる。ここで、切替先候補デバイスのバッファ制御部１０２は、切替元デバイスからメディアデータ出力開始の通知（Ｍ７）を受信する（ステップＳ４０７）と、フレームの廃棄を終了し、デコーダ１４０９への出力に切り替える。
【０１３１】
メディアデータ伝送が逐次送信で行われ、バッファ制御ポリシーが出力時間一定制御型で行われているときは、メディア制御情報は、基準出力時間間隔と蓄積データ量の二つである。図６Ａ、図６Ｂに示す例を用いて、バッファ制御部１０２の動作について説明する。ここで、蓄積データ量とは、メディア制御情報を作成する時点で、切替元デバイスのメディアバッファに蓄積されているデータ量（単位は、フレーム数等の単位データ）のことであり、図６Ａでは、蓄積データ量は６フレームとなる。バッファ制御部１０２は、内部のタイマを起動し、基準出力時間間隔と蓄積データ量に基づいて、メディアバッファ１４０８の内部に蓄積されたフレームを廃棄または出力する時間を知ることができる。例えば、フレーム１３は、基準出力時間間隔×蓄積データ量の経過後に廃棄される。このようにして、切替先候補デバイスのメディアバッファ１４０８は、切替元デバイスのメディアバッファ１４０８と完全に同じ状態になる。ここで、切替先候補デバイスのバッファ制御部１０２は、切替元デバイスからメディアデータ出力開始の通知（Ｍ７）を受信する（ステップＳ４０７）と、フレームの廃棄を終了し、デコーダ１４０９への出力に切り替える。
【０１３２】
このように、切替先候補デバイスのバッファ制御部１０２は、切替先候補デバイスのメディアバッファ１４０８が切替元デバイスのメディアバッファ１４０８と同じ状態になるように蓄積制御を行う。
【０１３３】
以上のように、本発明の実施の形態１の切替元デバイスは、切替先候補デバイスとセッションを確立する際に、メッセージに付加してバッファ制御情報を通知するので、切替先候補デバイスは、メディアバッファを切替元デバイスのものと同じ状態にすることができる。このため、切替先候補デバイスが切替先デバイスに確定したとき、通信遅延を増加させることなく、メディアデータの連続性を保持したデバイス切替えを実現することができる。
【０１３４】
なお、本発明の実施の形態におけるメディア出力制御情報は、高速デバイス切替以外の目的にも使用可能である。
【０１３５】
例えば、テレビ電話がかかってきた際に、着替え等により自分の様子を相手に知られるのが不都合な場合に、通信相手のテレビ電話端末とのセッション確立において、このメディア出力制御情報を送信する。これにより、通信相手のテレビ電話端末は、画像を受信してもその出力を禁止状態に指示されているので、当該テレビ電話端末に受信した画像が出力されることはない。その後、着替えが完了し不都合が解消された場合には、自己のテレビ電話端末から通信相手のテレビ電話端末にメディアデータ出力通知（Ｍ７）を送ることにより、即時に当該テレビ電話端末に自分の画像を出力することができる。
【０１３６】
図８に、テレビ電話端末の構成を示す。テレビ電話端末は、通信相手のテレビ電話端末とテレビ電話セッションを確立するためのシグナリング部１０４と、画像・音声メディアを送受信するメディア送受信部８０５と、通信相手から受信した画像・音声メディアの出力を制御するメディア出力制御部８０６と、画像・音声メディアを出力するメディア出力部８０７とを備える。シグナリング部１０４は、メディアデータの出力が禁止状態であることを示すメディア出力制御情報を作成するメディア出力制御情報作成部１０４１と、シグナリングメッセージ作成部１０４２と、作成されたシグナリングメッセージにメディア出力制御情報を付加するメディア出力制御情報付加部１０４３と、シグナリングメッセージ送受信部１０４４とを含んでいる。
【０１３７】
次に、テレビ電話端末の動作について、図９を用いて説明する。
【０１３８】
シグナリングメッセージ作成部１０４２は、通信相手のテレビ電話端末とセッションを確立するためのシグナリングメッセージを作成する（ステップＳ９０１）。メディア出力制御情報作成部１０４１は、通信相手のテレビ電話端末が受信する画像データの出力を禁止状態にすることを示すメディア出力制御情報を作成する（ステップＳ９０２）。メディア出力制御情報付加部１０４３は、作成されたメディア出力制御情報をシグナリングメッセージのペイロードまたはヘッダに付加する（ステップＳ９０３）。シグナリングメッセージ送受信部１０４４は、前記シグナリングメッセージを通信相手のテレビ電話端末に送信する（ステップＳ９０４）。
【０１３９】
一方、通信相手のテレビ電話端末は、シグナリングメッセージを受信した後、テレビ電話セッションを確立し、画像・音声メディアの送受信を開始する。しかしながら、通信相手のテレビ電話端末のメディア出力制御部は、シグナリングメッセージに付加されたメディア出力制御情報に従い、メディア出力部に対して画像データの出力を行わない。
【０１４０】
以上のように、メディア出力制御情報は、高速デバイス切替以外の目的にも使用することができる。
【０１４１】
（実施の形態２）
本発明の実施の形態２の高速デバイス切替システムの構成は、切替元デバイスが実施の形態１におけるものと異なる他は実施の形態１で示したものと同一である。
【０１４２】
図１０は、本実施の形態２の切替元デバイスの構成を示す図である。図１０において、実施の形態１の切替元デバイスとは、プリファレンス情報保持部１００１を有している点と高速デバイス切替部８０１の機能の一部が異なる。そのプリファレンス情報保持部１００１は、あらかじめ設定されたユーザのプリファレンス情報を保持するものである。なお、動作の同じ構成要素に対しては、同一の番号を付している。
【０１４３】
図１１は、切替元デバイスと切替先デバイス群間でのメッセージシーケンスを示す図である。図１１において、実施の形態１のメッセージシーケンスとは、ユーザが切替先候補デバイス表示要求（Ｕ１）を切替元デバイスであるＭＮへ指示する処理と、切替元デバイスであるＭＮから切替先候補デバイス（デバイス２、デバイスＮ）へメディアデータ伝送（Ｄ１‘）をする処理との順序が入れ替わっている点が異なる。
【０１４４】
図１２は、切替元デバイスの動作を示す流れ図である。
【０１４５】
これら図１１と図１２を用いて、本実施の形態におけるデバイスの切替処理を以下に説明する。
【０１４６】
図１２において、実施の形態１の切替元デバイスと同様に、サービス発見部１４１１が、切替先デバイスからのサービス発見応答（Ｍ２）を受信し、高速デバイス切替部８０１に通知する。高速デバイス切替部８０１は、あらかじめ設定されたユーザのプリファレンス情報をプリファレンス情報保持部１００１から読み出し、それに基づいてサービス提供可能であると応答したデバイスの絞り込みを行う。プリファレンス情報は、例えば、ディスプレイのサイズ等の詳細な情報である。そして、高速デバイス切替部８０１は、プリファレンス情報に基づいて切替先候補デバイスリストを生成し（ステップＳ１２０３）、内部に保持する。すでに保持している切替先候補デバイスリストが存在する際には、更新を行う。
【０１４７】
次に、高速デバイス切替部８０１は、実施の形態１の切替元デバイスと同様に、バッファ制御情報を生成し（ステップＳ１２０４）メディア制御情報とバッファ制御情報とを含んだセッション確立要求（Ｍ３‘）を切替先候補デバイスへ送信する（ステップＳ１２０５）。それと同時に、高速デバイス切替部８０１は、メディアデータ転送準備をメディア送信部１０３へ通知する（ステップＳ１２０６）。
【０１４８】
次に、高速デバイス切替部８０１は、切替先候補デバイスからセッション確立応答を受信すると、ユーザからの切替先候補デバイス表示要求（Ｕ１）の指示を待つ（ステップＳ１２０８）。この間に、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示がなかった場合（ステップＳ１２０８、ＮＯ）には、再びサービス発見処理を行う（ステップＳ１２０１）。
【０１４９】
一方、ユーザから切替先候補デバイス表示要求（Ｕ１）の指示があった場合（ステップＳ１２０８、ＹＥＳ）、高速デバイス切替部８０１は、メディア送信部１０３に対して、切替先候補デバイスへメディアデータの伝送（Ｄ１’）を開始するように通知する（ステップＳ１２０９）。そのメディアデータは、メディアバッファ１４０８に蓄積されているもの、およびメディア受信部１４０７ＣＮから受信したものである。
【０１５０】
メディア送信部１０３は、これを受けて、マルチキャストまたはブロードキャストにより、切替先デバイスリストに記された絞り込まれた切替先候補デバイスに対して、メディアデータの転送を開始する。
【０１５１】
次に、高速デバイス切替部８０１は、内部に保持している切替先候補デバイスリストを、オペレーティングシステム１４０５を介して出力部１４０３に提示（Ｕ２）する（ステップＳ１２１０）。
【０１５２】
その後の処理（ステップＳ１２１１〜Ｓ１２１３）は、実施の形態１における処理（ステップＳ３１１〜Ｓ３１３）と同一である。
【０１５３】
以上のように、切替元デバイスの高速デバイス切替部８０１は、あらかじめ設定されたユーザのプレファレンス情報に基づいて切替先候補デバイスを絞り込むので、実施の形態１の方法に比べ、メディアデータを受信する切替先候補デバイスの数を減少させることができる。これにより、切替先候補デバイスがメディアデータの受信で使用する消費電力量と、切替先候補デバイスがメディアデータの受信で使用するネットワークリソースを、切替先候補デバイスが減少した分だけ総量として削減することができる。さらに、ユーザは自己の好みに適合した切替先候補デバイスの中からのみ選択すればよくなるとともに、画面をスクロール等する手間も省けて選択が容易になる。
【０１５４】
また、切替元デバイスの高速デバイス切替部８０１は、ユーザの切替先候補デバイスリスト要求（Ｕ１）が行われた後に、メディア送信部１０３を通じてＣＮから受信したメディアデータを転送し始めることになる。これにより、高速デバイス切替部８０１は、メディアデータの転送を開始してからユーザの切替先デバイス選択までの時間を短縮できるので、切替が行われる以前のメディアデータの転送に要する消費電力を削減することが可能となる。
【０１５５】
（実施の形態３）
本発明の実施の形態３の高速デバイス切替システムの構成は、図１９に示した実施の形態１のものと同一であるが、ＭＮ１３０１が本発明に係る実施の形態３の切替元デバイスである。本実施の形態３の切替元デバイスは、サービス発見および切替先候補デバイスとのセッション確立とメディア処理準備を完了した後、切替先候補デバイスの状態を把握し、切替先候補デバイスリストを更新する点が実施の形態１のものと異なる。
【０１５６】
図１４は、本実施の形態３の切替元デバイスの構成を示す図である。なお、図１に示した切替元デバイスと同じ構成要素については、同一の番号を付している。
【０１５７】
図１４において、本実施の形態３の切替元デバイスは、ＰＡＮを構成しているデバイスの状況を検知するポーリング部２００１と、切替候補デバイスの存続確認を行う候補デバイス確認部２００２および切替先候補デバイスリストの更新を行うリスト管理部２００３を含む高速デバイス切替部１０１とを具備している。
【０１５８】
このポーリング部２００１は、ＰＡＮを構成しているデバイスに対してＭＡＣレイヤでメッセージを送り、一定時間内に応答が無い場合には、応答しなかったデバイスはＰＡＮから離脱（コネクションの喪失）したものとみなす。ポーリング部２００１は、候補デバイス確認部２００２と直結し、高速に情報を交換することができる。
【０１５９】
候補デバイス確認部２００２は、ポーリング部２００１もしくはシグナリング部１０４から通知される情報に基づいて、切替先候補デバイスの状況の変化を検出する。切替先候補デバイスが利用不能もしくは利用不可であることが検出されるとリスト管理部２００３に通知する。
【０１６０】
リスト管理部２００３は、切替先候補デバイスリストの管理を行い、当該リストが常に最新の状況になっているように更新を行う。
【０１６１】
本実施の形態の高速デバイス切替システムの動作の説明をする前に、サービス発見によって得られた切替先候補デバイスが使用不能もしくは使用不可となる要因について簡単に説明する。図１９に示されるように、ＰＡＮ１３０５は、複数のデバイスから構成されるアドホックネットワークである。従って、例えばＭＮ１３０１が移動したり、デバイス群１３０４のあるデバイスが移動したりすることにより、ＰＡＮの無線電波は届かなくなり切替先デバイスはもはやＰＡＮ１３０５を構成するデバイスとなり得なくなる。これが一つ目の要因である。
【０１６２】
また、デバイス群１３０４のデバイスは、バッテリ駆動型の小デバイスである場合が多く、電力消費を防ぐために、通常、スリープモードへ自動的な切替を行う。このため、サービス発見後において、切替先候補デバイスがスリープモードに入り使用不能となる。これが二つ目の要因である。
【０１６３】
また、切替先候補デバイスにおいて、第三者からサービス発見要求があり、第三者の優先度が高い場合、当該第三者に対してサービスの提供を開始してしまう。このとき、切替先候補デバイスのリソース状況は使用中に変化し、切替元デバイスに対してサービス提供できなくなり、当該切替先デバイスは使用不可となる。これが三つ目の要因である。
【０１６４】
本実施の形態の高速デバイス切替システムでは、切替先候補デバイスの状況を監視することによって、上記３つの要因により使用不能もしくは使用不可となった切替先候補デバイスを切替先候補デバイスリストから削除することができる。これにより、一度サービス発見を行うだけで以後周期的にサービス発見を行う必要がなくなる。もしくは、サービス発見の周期を長くすることが可能となる。
【０１６５】
次に、本実施の形態の高速デバイス切替システムの動作を説明する。実施の形態１で示した高速デバイス切替システムの動作とは、切替元デバイスの高速デバイス切替部１０１が、ユーザからの切替先候補デバイスリスト表示要求（Ｕ１）の待ち受けに入る（ステップＳ３０９）と同時に、バックグラウンドで切替先候補デバイスの監視を開始する点が異なる。
【０１６６】
図２１は、実施の形態３の切替元デバイスが、バックグラウンドで切替先候補デバイスの状態監視を行い、切替先候補デバイスリストの更新を行う動作を示す図である。
【０１６７】
図２１において、高速デバイス切替部１０１は、候補デバイス確認部２００２を起動し、候補デバイス確認部２００２が、ポーリング部２００１に切替先候補デバイスの接続状況の変化を通知するように要請する。ポーリング部２００１は、ＰＡＮを構成するデバイスに対して、定期的にＭＡＣレイヤでメッセージを送り、一定時間内にデバイスから応答が得られるか否かを検出（いわゆるポーリング）する（ステップS２１０１）。
【０１６８】
ポーリング部２００１は、デバイスから応答を受取ると（ステップS２１０２）、前回のポーリング結果と比較して、デバイスとの接続状況に変化があった場合、変化デバイス情報を候補デバイス確認部２００２へ通知する（ステップS２１０３）。変化デバイス情報には、新しくＰＡＮに加入したデバイス情報や、ＰＡＮから離脱したデバイス情報が含まれる。
【０１６９】
候補デバイス確認部２００２は、変化デバイス情報に基づいて、切替先候補デバイスがＰＡＮから離脱しているか否かを確認する（ステップS２１０４）。もし、切替先候補デバイスがＰＡＮから離脱している場合は、当該切替先候補デバイスの情報をリスト管理部２００３に通知する（ステップS２１０５）。リスト管理部２００３は、これを受けて、切替先候補デバイスリストから、当該切替先候補デバイスを削除する（ステップS２１０６）。これにより、切替先候補デバイスリストは、最新の状況に更新される。
【０１７０】
次に、ユーザから切替先候補デバイスリスト表示要求（Ｕ１）がなされた場合、所定の時間を経過した場合、あるいは候補デバイス確認部２００２において新しくＰＡＮに加入したデバイスが一定数以上となった場合に、高速デバイス切替部１０１は待機状態を終了する（ステップS２１０７：Ｙｅｓ）。また、それに伴い候補デバイス確認部２００２は、ポーリング部２００１に変化デバイス情報を候補デバイス確認部２００２に通知することを終了するように要請する（ステップS２１０８）。これにより、バックグラウンドで切替先候補デバイスの状態監視を行い、切替先候補デバイスリストの更新を行う動作が終了する。
【０１７１】
一方、高速デバイス切替部１０１が待機状態を継続（ステップS２１０７：Ｎｏ）する場合、ステップＳ２１０２へ戻り、ポーリング部２００１はポーリングを繰り返す。
【０１７２】
以上のバックグラウンド動作により、切替先候補デバイスリストは最新の状態に保たれるので、高速デバイス切り替え部１０１がユーザから切替先候補デバイスリスト表示要求（Ｕ１）を待ち受ける（ステップS３０９）期間を大幅に延長できる。その結果、実施の形態１に比べ、ユーザが実際にシームレスな高速デバイス切替を行うことのできる機会を大幅に増やすことができる。
【０１７３】
次に、前述した第三番目の要因により、サービス発見によって得られた切替先候補デバイスが使用不可となることに対する本実施の形態の高速デバイス切替システムの動作について、以下に詳細に説明する。
【０１７４】
切替先候補デバイスは、切替元デバイスに対してセッション確立・メディア処理準備応答（Ｍ４）を行った後に、第三者からサービス発見要求があった場合、通常は、切替元デバイスとセッション確立し、メディア処理準備を完了していることにより、第三者に対してサービスの提供が不可である旨を応答する。しかしながら、第三者のサービス提供を受ける優先度が高い場合、当該切替先候補デバイスは、サービス提供が不可となったことを切替元デバイスに通知する。具体的には、切替先候補デバイスの高速デバイス切替部が、シグナリング部を通じて、セッション切断要求（Ｍ５）を切替元デバイスに送る。切替元デバイスのシグナリング部１０１が、切替先候補デバイスによって送信されたセッション切断要求（Ｍ５）を受信すると、高速デバイス切替部１０１は、当該切替先候補デバイスがサービス提供不可となった旨を変化デバイス情報として候補デバイス確認部２００２へ通知する（ステップＳ２１０３）。当該切替先候補デバイスがサービス提供不可となっているため、当該切替先候補デバイスの情報をリスト管理部２００３に通知する（ステップＳ２１０５）。以降の動作は、図１５に示したものと同様である。
【０１７５】
以上の説明のように、切替先候補デバイスにおいて、第三者からサービス発見要求があり、当該第三者に対してサービスの提供を開始する場合においても、切替元デバイスの切替先候補デバイスリストから、当該切替先候補デバイスを削除することにより、切替先候補デバイスリストは、最新の状況に更新される。これにより、ユーザから切替先候補デバイスリスト表示要求（Ｕ１）を待ち受ける期間を大幅に延長することができる。その結果、ユーザがデバイス切替のアクションを起こし、実際にシームレスな高速デバイス切替を行うことができる確率を大幅に向上することができる。
【０１７６】
また、本実施の形態によれば、切替元デバイスの候補デバイス確認部は、新しくＰＡＮに加入したデバイスを逐一検出することができるので、新規デバイスの数量によって、サービス発見の周期を適切に変更することもできる。これにより、切替元デバイスのサービス発見部は、新規デバイスを切替先候補デバイスとすることも可能となる。
【産業上の利用可能性】
【０１７７】
本発明は、通信相手とメディアデータを送受信中にデバイス切替えをする高速デバイス切替システムに有用であり、デバイス切替えに要する時間を、ユーザが知覚できない程、高速に短縮し、きわめてシームレスなサービスを実現するのに適している。特に、携帯電話、デジタルスチルカメラ、デジタルビデオムービー等で撮影した映像をテレビ等の表示デバイスに出力する場合等の切替元デバイス、切替先デバイスに有用である。
【図面の簡単な説明】
【０１７８】
【図１】本発明の実施の形態１の高速デバイス切替システムにおける切替元デバイスの構成を示すブロック図
【図２】本発明の実施の形態１の高速デバイス切替システムにおける切替元デバイスと切替先デバイス群間でのメッセージのやり取りを示すシーケンス図
【図３】本発明の実施の形態１の高速デバイス切替システムにおける切替元デバイスの動作の流れを示す流れ図
【図４】本発明の実施の形態１の高速デバイス切替システムにおける切替先デバイスの動作の流れを示す流れ図
【図５Ａ】本発明の実施の形態１の高速デバイス切替システムにおける切替元デバイスがバースト送信によってメディアデータ伝送を行う場合のメディアデータ伝送の仕方およびバッファ制御の仕方の説明図
【図５Ｂ】本発明の実施の形態１の高速デバイス切替システムにおける切替先デバイスがバースト送信によるメディアデータ受信を行う場合のメディアデータ受信の仕方およびバッファ制御の仕方の説明図
【図６Ａ】本発明の実施の形態１の高速デバイス切替システムにおける切替元デバイスが逐次送信によってメディアデータ伝送を行う場合のメディアデータ伝送の仕方およびバッファ制御の仕方の説明図
【図６Ｂ】本発明の実施の形態１における切替先デバイスが逐次送信によるメディアデータ受信を行う場合のメディアデータ受信の仕方およびバッファ制御の仕方の説明図
【図７】本発明の実施の形態１の高速デバイス切替システムにおけるバッファ制御情報の例を示す図
【図８】本発明の実施の形態１の高速デバイス切替システムのシグナリング方法を実施する装置の構成を示すブロック図
【図９】本発明の実施の形態１の高速デバイス切替システムのシグナリング方法を実施する装置の動作の流れを示す流れ図
【図１０】本発明の実施の形態２の高速デバイス切替システムにおける切替元デバイスの構成を示すブロック図
【図１１】本発明の実施の形態２の高速デバイス切替システムにおける切替元デバイスと切替先デバイス群間でのメッセージのやり取りを示すシーケンス図
【図１２】本発明の実施の形態２の高速デバイス切替システムにおける切替元デバイスの動作の流れを示す流れ図
【図１３】本発明の実施の形態１の高速デバイス切替システムにおける切替先デバイスの構成を示すブロック図
【図１４】本発明の実施の形態３の高速デバイス切替システムにおける切替元デバイスの構成を示すブロック図
【図１５】本発明の実施の形態３の高速デバイス切替システムにおける切替元デバイスのユーザから切替先候補デバイスリスト表示要求を待ち受ける際の動作の流れを示す流れ図
【図１６】本発明のメディア処理準備要求（Ｍ３’）メッセージのフォーマット形式を示す図
【図１７】本発明のメディア処理準備要求（Ｍ３’）メッセージがＳＩＰである場合のメッセージ内容およびメディア出力制御情報の一例を示す図
【図１８】本発明のメディア処理準備要求（Ｍ３’）メッセージがＳＩＰである場合のメッセージ内容およびメディア出力制御情報の別な一例を示す図
【図１９】従来のデバイス切替システムの構成例を示すシステム構成図
【図２０】従来のデバイス切替システムにおける切替元デバイスまたは切替先デバイスの構成を示すブロック図
【図２１】従来のデバイス切替システムにおける切替元デバイスと切替先デバイス群間でのメッセージのやり取りを示すシーケンス図
【図２２】従来のデバイス切替システムの動作の流れを示す流れ図
【図２３】従来のデバイス切替システムにおける切替元デバイスと切替先デバイス群間でのメッセージのやり取りを示すシーケンス図
【図２４】従来のデバイス切替システムにおける切替元デバイスの動作の流れを示す流れ図
【図２５】従来のデバイス切替システムにおける切替先デバイスの動作の流れを示す流れ図
【図２６】従来のデバイス切替方法を説明するシーケンス図
【符号の説明】
【０１７９】
１０１，８０１    高速デバイス切替部
１０２    バッファ制御部
１０３，１４０６    メディア送信部
１０４，１４１０    シグナリング部
８０５    メディア送受信部
８０６    メディア出力制御部
８０７    メディア出力部
１００１    プリファレンス情報保持部
１０４１    メディア出力制御情報作成部
１０４２    シグナリングメッセージ作成部
１０４３    メディア出力制御情報付加部
１０４４    シグナリングメッセージ送受信部
１３０１    モバイルノード（ＭＮ）
１３０２    相手先ノード（ＣＮ）
１３０３    インターネット
１３０４    デバイス群
１３０５    パーソナルエリアネットワーク（ＰＡＮ）
１４０１    アプリケーション
１４０２    ネットワークＩ／Ｆ
１４０３    出力部
１４０４    入力部
１４０５    オペレーティングシステム
１４０７    メディア受信部
１４０８    メディアバッファ
１４０９    デコーダ
１４１１    サービス発見部
１４１２    ミドルウェア
１５１１    サービス応答部
２００１    ポーリング部
２００２    候補デバイス確認部
２００３    リスト管理部
【図１】
0004645649.tif 000002
【図２】
0004645649.tif 000003
【図３】
0004645649.tif 000004
【図４】
0004645649.tif 000005
【図５Ａ】
0004645649.tif 000006
【図５Ｂ】
0004645649.tif 000007
【図６Ａ】
0004645649.tif 000008
【図６Ｂ】
0004645649.tif 000009
【図７】
0004645649.tif 000010
【図８】
0004645649.tif 000011
【図９】
0004645649.tif 000012
【図１０】
0004645649.tif 000013
【図１１】
0004645649.tif 000014
【図１２】
0004645649.tif 000015
【図１３】
0004645649.tif 000016
【図１４】
0004645649.tif 000017
【図１５】
0004645649.tif 000018
【図１６】
0004645649.tif 000019
【図１７】
0004645649.tif 000020
【図１８】
0004645649.tif 000021
【図１９】
0004645649.tif 000022
【図２０】
0004645649.tif 000023
【図２１】
0004645649.tif 000024
【図２２】
0004645649.tif 000025
【図２３】
0004645649.tif 000026
【図２４】
0004645649.tif 000027
【図２５】
0004645649.tif 000028
【図２６】
0004645649.tif 000029