(57)【特許請求の範囲】
【請求項１】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを配信するための方法であって、
前記モバイルネットワークにおいて通信チャネルのサービス品質（ＱｏＳ）関連情報を収集することと、
前記モバイルネットワークまたは前記クライアントの使用プリファレンスに関連付けられている少なくとも１つのパラメータを収集または取り出すことと、
定期的に前記ＱｏＳ関連情報および前記通信チャネルの前記少なくとも１つのパラメータに基づいてマルチメディアストリーミング品質（ＱＭＳ：ｑｕａｌｉｔｙ  ｏｆ  ｍｕｌｔｉｍｅｄｉａ  ｓｔｒｅａｍｉｎｇ）メトリックを決定することと、
第２のＱＭＳメトリックと第１のＱＭＳメトリックの差がしきい値を超える場合、前記第１のＱＭＳメトリックを前記サーバに通知することであって、前記第１のＱＭＳメトリックは前記第２のＱＭＳメトリックの直後に続いて取得されることと、
前記第１のＱＭＳメトリックに基づいて決定される形でマルチメディアコンテンツを受信することとを備える方法。
【請求項２】
前記少なくとも１つのパラメータは、前記クライアントの物理的移動の範囲、前記クライアントの移動速度、前記クライアントの電力使用情報、使用可能なチャネルを使用するコスト、前記マルチメディアコンテンツに関連するエクスペリエンス品質（ＱｏＥ）関連情報、および／または特定のチャネルを使用するプリファレンスを含む請求項１に記載の方法。
【請求項３】
前記第１のＱＭＳメトリックは前記クライアントにおいて決定される請求項１に記載の方法。
【請求項４】
前記マルチメディアコンテンツの複数のコピーから１つのコピーを選択することをさらに備える請求項１に記載の方法。
【請求項５】
前記マルチメディアコンテンツの一部をマージすることをさらに備える請求項１に記載の方法。
【請求項６】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを配信するための方法であって、
前記クライアントからＱＭＳメトリックを受信することと、
前記モバイルネットワークにおいてチャネルのストリーミングレートを割り振ることと、
前記チャネルがフェーディングしているかどうかを決定することと、
前記ＱＭＳメトリックに基づいてサブストリームを生成することと、
前記サブストリームを前記クライアントに送信することとを備える方法。
【請求項７】
前記チャネルがフェーディングしていると決定される場合、前記サブストリームはマルチメディアコンテンツのコピーである請求項６に記載の方法。
【請求項８】
前記チャネルがフェーディングしていないと決定される場合、前記サブストリームはマルチメディアコンテンツの一部である請求項６に記載の方法。
【請求項９】
前記サブストリームのパケットを提供することをさらに備える請求項８に記載の方法。
【請求項１０】
前記パケットは前記チャネルの特徴に適合する請求項９に記載の方法。
【請求項１１】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを最適化するための一連の命令を含むプログラムであって、前記命令は、コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに、
前記モバイルネットワークにおいてチャネルのＱｏＳ関連情報を収集させ、
前記モバイルネットワークまたは前記クライアントの使用プリファレンスに関連付けられている少なくとも１つのパラメータを収集または取り出させ、
定期的に前記ＱｏＳ関連情報および前記チャネルの前記少なくとも１つのパラメータに基づいてＱＭＳメトリックを決定させ、
第２のＱＭＳメトリックと第１のＱＭＳメトリックの差がしきい値を超える場合に前記第１のＱＭＳメトリックを前記サーバに通知させ、前記第１のＱＭＳメトリックは前記第２のＱＭＳメトリックの直後に続いて取得されるものであり、
前記第１のＱＭＳメトリックに基づいて決定される形でマルチメディアコンテンツを受信させる、プログラム。
【請求項１２】
前記第１のＱＭＳメトリックは前記クライアントにおいて決定される請求項１１に記載のプログラム。
【請求項１３】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを最適化するための一連の命令を含むプログラムであって、前記命令は、コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに、
前記クライアントからＱＭＳメトリックを受信させ、
前記モバイルネットワークにおいてチャネルのストリーミングレートを割り振らせ、
前記チャネルがフェーディングしているかどうかを決定させ、
前記ＱＭＳメトリックに基づいてサブストリームを生成させ、
前記サブストリームを前記クライアントに送信させる、プログラム。
【請求項１４】
前記チャネルがフェーディングしていると決定される場合、前記サブストリームはマルチメディアコンテンツのコピーである請求項１３に記載のプログラム。
【請求項１５】
前記チャネルがフェーディングしていないと決定される場合、前記サブストリームはマルチメディアコンテンツの一部であり、前記サブストリームは前記チャネルの特徴に適合するパケットに含まれる請求項１３に記載のプログラム。
【請求項１６】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを最適化するためのコンピューティングデバイスであって、
メモリと、
前記メモリとインタフェースをとるように配置された処理ユニットであって、
前記モバイルネットワークにおいてチャネルのＱｏＳ関連情報を収集し、
前記モバイルネットワークまたは前記クライアントの使用プリファレンスに関連付けられている少なくとも１つのパラメータを収集または取り出し、
定期的に前記ＱｏＳ関連情報および前記チャネルの前記少なくとも１つのパラメータに基づいてＱＭＳメトリックを決定し、
第２のＱＭＳメトリックと第１のＱＭＳメトリックの差がしきい値を超える場合に前記第１のＱＭＳメトリックを前記サーバに通知し、前記第１のＱＭＳメトリックは前記第２のＱＭＳメトリックの直後に続いて取得されるものであり、
前記第１のＱＭＳメトリックに基づいて決定される形でマルチメディアコンテンツを受信するように構成される処理ユニットとを備えるコンピューティングデバイス。
【請求項１７】
前記第１のＱＭＳメトリックは前記クライアントにおいて決定される請求項１６に記載のコンピューティングデバイス。
【請求項１８】
サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを最適化するためのコンピューティングデバイスであって、
メモリと、
前記メモリとインタフェースをとるように配置された処理ユニットであって、
前記クライアントからＱＭＳメトリックを受信し、
前記モバイルネットワークにおいてチャネルのストリーミングレートを割り振り、
前記チャネルがフェーディングしているかどうかを決定し、
前記ＱＭＳメトリックに基づいてサブストリームを生成し、
前記サブストリームを前記クライアントに送信するように構成される処理ユニットとを備えるコンピューティングデバイス。
【請求項１９】
前記チャネルがフェーディングしていると決定される場合、前記サブストリームはマルチメディアコンテンツのコピーである請求項１８に記載のコンピューティングデバイス。
【請求項２０】
前記チャネルがフェーディングしていないと決定される場合、前記サブストリームはマルチメディアコンテンツの一部であり、前記サブストリームは前記チャネルの特徴に適合するパケットに含まれる請求項１８に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、モバイルネットワークにおいてマルチメディアサービスを配信するためのシステムおよび技法に関する。
【背景技術】
【０００２】
人々は、各自のモバイルデバイスによってサポートされるマルチメディアサービスを楽しむ（たとえば、映画を観る、楽曲を聴く、またはマルチメディアメッセージを使用して伝える）。しかし、高品質のマルチメディアサービスを、特にモバイルデバイスに配信することは難題であった。
【発明の概要】
【０００３】
本開示の一部の実施形態は概して、サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを配信するための例示的な方法に関する。１つの例示的な方法は、モバイルネットワークにおいて通信チャネルのサービス品質（ＱｏＳ）関連情報を収集することと、モバイルネットワークまたはクライアントの使用プリファレンスに関連付けられている少なくとも１つのパラメータを収集または取り出すことと、定期的にＱｏＳ関連情報および通信チャネルの少なくとも１つのパラメータに基づいてマルチメディアストリーミング品質（ＱＭＳ：ｑｕａｌｉｔｙ  ｏｆ  ｍｕｌｔｉｍｅｄｉａ  ｓｔｒｅａｍｉｎｇ）メトリックを決定することと、第２のＱＭＳメトリックと第１のＱＭＳメトリックの差がしきい値を超える場合に第１のＱＭＳメトリックをサーバに通知することであって、第１のＱＭＳメトリックは第２のＱＭＳメトリックの直後に続いて取得されることと、第１のＱＭＳメトリックに基づいて決定される形でマルチメディアコンテンツを受信することとを含むことができる。
【０００４】
本開示のさらなる実施形態は概して、サーバおよびクライアントを含むモバイルネットワークにおいてマルチメディアサービスを配信するための例示的な方法に関する。１つの例示的な方法は、クライアントからＱＭＳメトリックを受信することと、モバイルネットワークにおいてチャネルのストリーミングレートを割り振ることと、チャネルがフェーディングしているかどうかを決定することと、ＱＭＳメトリックに基づいてサブストリームを生成することと、サブストリームをクライアントに送信することとを含むことができる。
【０００５】
前述の課題を解決するための手段は、例示的なものに過ぎず、限定的であることは意図されていない。上記で説明される例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照することにより明らかとなろう。
【図面の簡単な説明】
【０００６】
【図１】モバイルネットワークにおいてマルチメディアサービスを配信するためのシステムの例示的な実施形態を示すブロック図である。
【図２】モバイルネットワークにおいてクライアントの視点からマルチメディアサービスを配信するための方法の例示的な実施形態を示す流れ図である。
【図３】モバイルネットワークにおいてサーバの視点からマルチメディアサービスを配信するための方法の例示的な実施形態を示す流れ図である。
【図４】モバイルネットワークにおいてクライアントの視点からマルチメディアサービスを配信するために配置されるコンピュータプログラム製品を示すブロック図である。
【図５】モバイルネットワークにおいてサーバの視点からマルチメディアサービスを配信するために配置されるコンピュータプログラム製品を示すブロック図である。
【図６】マルチメディアサービスを配信するために配置されるコンピューティングデバイスの例示的な実施形態を示すブロック図である。
【発明を実施するための形態】
【０００７】
以下の詳細な説明において、本明細書の一部を形成する付属の図面が参照される。図面において、文脈に特に指示がない限り、類似する符号は概して、類似するコンポーネントを識別する。発明を実施するための形態、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図されていない。本明細書において提示される主題の精神または範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において概ね説明され、図面に示される本開示の態様が、多岐にわたるさまざまな構成において配置され、代替され、組み合わされ、設計されてもよく、それらすべては明示的に検討され、本開示の一部をなすことは容易に理解されよう。
【０００８】
本開示は、とりわけ、モバイルネットワークにおけるマルチメディアサービスの最適化に関連する方法、装置、コンピュータプログラム、およびシステムを対象とする。
【０００９】
本開示において、「モバイルネットワーク」は概して、サーバおよびモバイルクライアントを含むネットワークを示す。「クライアント」および「モバイルクライアント」という用語は、同義的に使用される。「メトリック」は概して、コンピュータネットワーキングにおけるルートに関連付けられている１つまたは複数の特性を示す。一部の例示の特性は、ホップの数、パケット損失、待ち時間、スループット、帯域幅、パス信頼性、およびパス帯域幅を、非限定的に含む。「サブストリーム」は概して、ストリーミングマルチメディアコンテンツのコピーまたはストリーミングマルチメディアコンテンツの一部を示す。「通信チャネル」または「チャネル」は概して、データソース（たとえば、サーバ）をデータシンク（たとえば、クライアント）に接続する物理または論理リンクを示す。
【００１０】
モバイルネットワークにおいて、サーバは、複数のタイプのマルチメディアコンテンツをクライアントに配信することができる。サーバはまた、さまざまなタイプのマルチメディアコンテンツを伝送するために異なる特性を割り当てることもできる。たとえば、サーバは、ストリーミングビデオおよびＭＰ３楽曲という２つのタイプのマルチメディアコンテンツをクライアントに配信することができる。ストリーミングビデオを伝送する優先度が、ＭＰ３楽曲を伝送する優先度よりも高いと仮定する。優先度に基づいて、サーバは、ＭＰ３楽曲を伝送する前に、ストリーミングビデオを選択された通信チャネルを介して伝送することができる。
【００１１】
一部の実施形態において、複数の通信チャネルは、サーバとクライアントとの間に存在してもよい。チャネルは、モバイルネットワークでサポートされるさまざまなネットワーク技術（たとえば、ＷＬＡＮおよび３Ｇ）を使用して確立されてもよい。サーバは、マルチメディアコンテンツを伝送するために、チャネルに関連付けられている特定のメトリックに基づいて通信チャネルのうちの１つまたは複数を識別および／または選択することができるが、これについては後段で詳細に説明される。
【００１２】
一部の実施形態において、クライアントは、モバイルネットワークにおけるすべての使用可能な通信チャネルのサービス品質（ＱｏＳ）関連の情報（たとえば、帯域幅、待ち時間、ジッタ、信頼性など）を収集することができる。クライアントはまた、クライアント自身または一般使用プリファレンスに関連付けられているパラメータを収集または取り出すことができる。一部の例示のパラメータは、後段においてさらに説明される。クライアントは、ＱｏＳ関連の情報および特定のパラメータに基づいてモバイルネットワーク内の使用可能な各チャネルのマルチメディアストリーミング品質（ＱＭＳ）メトリックを決定するように構成される。ＱＭＳメトリックがどのように決定されるかについては、後段においてさらに詳細に説明される。クライアントは、チャネルのＱＭＳメトリックがしきい値を超えて変化する場合、サーバに通知するようにさらに構成される。通知に応答して、サーバは、モバイルネットワーク内の１つまたは複数の通信チャネルを使用してマルチメディアコンテンツを伝送するように構成される。
【００１３】
図１は、モバイルネットワークにおいてマルチメディアサービスを配信するためのシステム１００の例示的な実施形態を示すブロック図である。システム１００は、サーバにおいて第１のモジュール１１０（これ以降「サーバ側モジュール」と称する）、およびクライアントにおいて第２のモジュール１２０（これ以降「クライアント側モジュール」と称する）を含むことができる。サーバ側モジュール１１０およびクライアント側モジュール１２０は、１つまたは複数の通信チャネル１９０を介して相互に通信する。
【００１４】
サーバ側モジュール１１０において、マルチメディアアプリケーション１１１は、マルチメディアサービスをサポートする。マルチメディアアプリケーション１１１は、１つまたは複数のＱｏＳバッファ１１２を使用するようにプログラムされてもよい。一部の実施形態において、マルチメディアアプリケーション１１１の各インスタンスは、ＱｏＳバッファ１１２のうちの１つを使用することができる。たとえば、マルチメディアアプリケーション１１１の１つのインスタンスがビデオサービスをサポートし、その他のインスタンスがオーディオサービスをサポートすると仮定する。ＱｏＳバッファ１１２のうちの２つは、これらの２つの異なるサービスによって使用されてもよい。
【００１５】
一部の実施形態において、サーバ側モジュール１１０は、バッファとマルチメディアアプリケーション１１１との関係に基づいて、伝送優先度を各々のＱｏＳバッファ１１２に割り当てることができる。上記のビデオサービスおよびオーディオサービスの例を続けると、ビデオサービスのバッファに割り当てられる伝送優先度は、オーディオサービスのバッファに割り当てられる伝送優先度よりも高くてもよい。通信チャネル１９０のうちの１つまたは複数が選択される場合、サーバ側モジュール１１０は、選択されたチャネルを使用してデータを伝送するために、ビデオサービスをサポートするマルチメディアアプリケーション１１１に、より高い優先度を割り当てることができる。
【００１６】
クライアント側モジュール１２０は、サーバ側モジュール１１０から受信したマルチメディアコンテンツを処理するためのマルチメディアアプリケーション１２１を含む。クライアント側モジュール１２０は、ＱｏＳモニタおよびリンク管理エンジン１２２、ＱＭＳデータ監視エンジン１２３、ならびにＱＭＳ計算および比較エンジン１２４をさらに含むことができる。
【００１７】
一部の実施形態において、ＱｏＳモニタおよびリンク管理エンジン１２２は、すべての使用可能な通信チャネル１９０に関連するＱｏＳ関連情報を収集することができる。ＱＭＳデータ監視エンジン１２３は、クライアント自身または一般使用プリファレンスに関連付けられているパラメータを収集または取り出すように構成されてもよい。クライアントに関連付けられている一部の例示のパラメータは、クライアントの物理的移動の範囲、クライアントの移動速度、およびクライアントの電力使用情報を、非限定的に含むことができる。一般使用プリファレンスに関連付けられている一部の例示のパラメータは、使用可能なチャネルを使用するコスト、マルチメディアアプリケーション１２１のユーザによって受信されるマルチメディアコンテンツに関連するエクスペリエンス品質（ＱｏＥ）関連情報、およびサーバとクライアント間のストリーミングマルチメディアコンテンツの特定のチャネルを使用するプリファレンスを、非限定的に含むことができる。上記に示すパラメータは、サーバとクライアント間のチャネルの選択に影響を及ぼすことがある。たとえば、移動性速度が高いモバイルクライアントの場合、広域の通信可能エリアをサポートするチャネルが考慮されてもよい。
【００１８】
収集されたＱｏＳ関連情報および前述の収集または取り出されたパラメータに基づいて、ＱＭＳ計算および比較エンジン１２４は、使用可能な各チャネルのＱＭＳメトリックを定期的に計算するように構成されてもよい。ＱＭＳ計算および比較エンジン１２４は、第１のＱＭＳメトリックを第２のＱＭＳメトリックと比較するようにさらに構成されてもよい。第２のＱＭＳメトリックは、第１のＱＭＳメトリックを取得した直後に取得される。２つのＱＭＳメトリックの差がしきい値（たとえば、１％）を超える場合、ＱＭＳ計算および比較エンジン１２４は、更新されたＱＭＳメトリック（たとえば、第２のＱＭＳメトリック）をサーバ側モジュール１１０に送信するように構成されてもよい。
【００１９】
一部の実施形態において、サーバ側モジュール１１０は、更新されたＱＭＳメトリックを受信して、使用可能な各チャネルのサブストリーミングレート情報を生成するように構成されうるレート割り振りエンジン１１３を含むことができる。チャネルのサブストリーミングレート情報は、サーバとクライアント間のストリーミングレート全体のわずか一部に相当することがある。チャネルに関連付けられているＱＭＳメトリックの変化に応答して、レート割り振りエンジン１１３は、モバイルネットワーク内のすべての使用可能なチャネル間のストリーミングレートを再計算するように構成される。レート割り振りエンジン１１３はまた、更新されたＱＭＳメトリックをリンク管理エンジン１１６に転送することもできる。リンク管理エンジン１１６は、更新されたＱＭＳメトリックに基づいて、サーバ１１０とクライアント１１１間のリンクのリソースを割り振るように構成されてもよい。たとえば、リンク管理エンジン１１６は、更新されたＱＭＳメトリックのクライアントの物理的移動の範囲に関連付けられている情報を取り出して、リンクの強さを決定することができる。決定された強さに基づいて、リンク管理エンジン１１６は、リンクを管理および保持するためにサーバ側１１０においてリソースを割り振るように構成されてもよい。
【００２０】
一部の実施形態において、サーバ側モジュール１１０は、レート割り振りエンジン１１３から各チャネルのサブストリーミングレート情報を受信するように構成されうるサブストリーム生成エンジン１１４を含むことができる。サブストリーム生成エンジン１１４は、受信したサブストリーミングレート情報に基づいて、ストリームスプリッタ操作および／またはレートスプリッタ操作を実行するように構成されてもよい。
【００２１】
一部の実施形態において、サブストリーム生成エンジン１１４は、チャネルのサブストリーミングレート情報を監視するように構成されてもよい。たとえば、サブストリーム生成エンジン１１４は、チャネルのサブストリーミングレート情報を、チャネルの以前受信したサブストリーミングレート情報と比較することができる。チャネルのサブストリーミングレート情報が複数の連続する比較で減少していると見られる場合、サブストリーム生成エンジン１１４は、チャネルがフェーディングしていると決定することができる。一方、チャネルのサブストリーミングレート情報が複数の連続する比較で増加していると見られる場合、サブストリーム生成エンジン１１４は、チャネルが強化していると決定することができる。一部の実施形態において、サブストリーム生成エンジン１１４は、ＱＭＳ更新に基づいて第１のチャネルがフェーディングしているが、第２チャネルが強化していると決定することができる。これは、クライアントが、第１のチャネルに関連付けられている第１の通信可能エリアから、第２のチャネルに関連付けられている第２の通信可能エリアに移動している状況に対応してもよい。一部の実施形態において、サブストリーム生成エンジン１１４は、全体のストリーミングレートが第１のチャネルと第２のチャネル間で分割されうるように、レートスプリッタ操作を実行するように構成されてもよい。ここで、第１のチャネルおよび第２のチャネルを介して伝送されているマルチメディアコンテンツは、同一のマルチメディアコンテンツのコピーであってもよい。
【００２２】
一部のその他の実施形態において、チャネルがフェーディングしていることをサブストリーミングレート情報が示さない場合、サブストリーム生成エンジン１１４は、マルチメディアコンテンツがさまざまなサブストリームに分割されて、すべての使用可能なチャネル経由で送信されるように、ストリームスプリッタ操作を実行するように構成されてもよい。したがって、負荷分散が実行されうる。そのような実施形態において、サブストリームは、さまざまなネットワーク技術によって確立されたチャネルを通じて送信されてもよい。サブストリームは、パケタイザ（packetizer）１１５によって処理されてもよい。複数のネットワーク技術によって確立された複数のチャネルを介してパケットが送信されている場合、パケットはさまざまなネットワーク技術によって規定されるさまざまなデータフォーマットを有する。パケタイザ１１５は、パケットが伝送されるチャネルの特徴に適合するパケットを生成するように構成されてもよい。リンク管理エンジン１１６は、適切なチャネルを通じて送信されるようパケットを配置するように構成されてもよい。
【００２３】
次いで、パケットは、ＱｏＳモニタおよびリンク管理エンジン１２２によって受信され、サブストリームを取り出すためにデパケタイザ（de-packetizer）１２５に転送されてもよい。マージャ／選択エンジン１２６は、パケットがストリームスプリッタ操作に基づいて生成される場合、サブストリームを完全なマルチメディアコンテンツにマージするように構成されてもよい。サブストリームがレートスプリッタ操作に基づいて生成されたマルチメディアコンテンツの複数のコピーである場合、マージャ／選択エンジン１２６は、受信したコピーから最良のコピーを選択するように構成されてもよい。
【００２４】
図２は、モバイルネットワークにおいてクライアントの視点からマルチメディアサービスを配信するための方法の例示的な実施形態を示す流れ図である。方法２００は、ブロック２０１、２０３、２０５、２０７、および／または２０９によって示される１つまたは複数の操作、機能、またはアクションを含むことができる。さまざまなブロックは、説明される実施形態を限定することを意図されていない。たとえば、本明細書において説明されるこのプロセスおよびその他のプロセスおよび方法について、プロセスおよび方法で実行される機能が異なる順序で実施されてもよいことを、当業者であれば理解するであろう。さらに、概説されるステップおよび操作は例として示されているに過ぎず、ステップおよび操作の一部は、開示される実施形態の本質を損なうことなく、オプションの、より少ないステップおよび操作に結合されてもよいか、またはさらなるステップおよび操作に拡大されてもよい。
【００２５】
ブロック２０１（ＱｏＳ関連情報を収集する）において、モバイルネットワークの使用可能な各チャネルのＱｏＳ関連情報が収集される。１つの実施態様において、前述のＱｏＳモニタおよびリンク管理エンジンは、ＱｏＳ関連情報を収集することができる。ブロック２０３（クライアントおよび使用プリファレンスのパラメータを収集／取り出す）において、図１と共に説明されているパラメータのような、クライアント自身または使用プリファレンスに関連付けられているパラメータが収集または取り出されてもよい。例示的な実施態様を続けると、前述のＱＭＳデータ監視エンジンは、そのようなパラメータを収集および／または取り出すことができる。
【００２６】
ブロック２０５（ＱＭＳメトリックを決定する）において、使用可能な各チャネルのＱＭＳメトリックは、ブロック２０１で収集されたＱｏＳ関連情報、およびブロック２０３で収集または取り出されたパラメータに基づいて定期的に決定されてもよい。続いて、決定されたＱＭＳメトリックは、さらに処理を行うために格納されてもよい。例示的な実施態様を続けると、前述のＱＭＳ計算および比較エンジンは、ＱＭＳメトリックを決定することができる。
【００２７】
ブロック２０７（ＱＭＳメトリックの変化がしきい値を超えるかどうか決定する）において、チャネルの第１のＱＭＳメトリックは、第１のＱＭＳメトリックに続いて取得されるチャネルの第２のＱＭＳメトリックと比較されてもよい。変化がしきい値と等しいかまたはしきい値を下回る場合、方法２００はブロック２０５に戻る。変化がしきい値を超える場合、方法２００は第２のメトリックがサーバに送信されるブロック２０９（更新されたＱＭＳメトリックをサーバに送信する）に進む。例示的な実施態様を続けると、前述のＱＭＳ計算および比較エンジンは、ＱＭＳメトリックの変化がしきい値を超えるかどうかを決定して、更新されたＱＭＳメトリックをサーバに送信することができる。
【００２８】
図３は、モバイルネットワークにおいてサーバの視点からマルチメディアサービスを配信するための方法の例示的な実施形態を示す流れ図である。方法３００は、ブロック３０１、３０３、３０５、３０７、３０９、３１１、３１３、および／または３１５によって示される１つまたは複数の操作、機能、またはアクションを含むことができる。さまざまなブロックは、説明される実施形態を限定することを意図されていない。たとえば、本明細書において説明されるこのプロセスおよびその他のプロセスおよび方法について、プロセスおよび方法で実行される機能が異なる順序で実施されてもよいことを、当業者であれば理解するであろう。さらに、概説されるステップおよび操作は例として示されているに過ぎず、ステップおよび操作の一部は、開示される実施形態の本質を損なうことなく、オプションの、より少ないステップおよび操作に結合されてもよいか、またはさらなるステップおよび操作に拡大されてもよい。
【００２９】
ブロック３０１（更新されたＱＭＳメトリックを受信する）において、更新されたＱＭＳメトリックは、モバイルネットワークにおいてサーバにより受信されてもよい。１つの実施態様において、前述のレート割り振りエンジンは、更新されたＱＭＳメトリックを受信することができる。ブロック３０３（使用可能な各チャネルのストリーミングレートを決定する）において、更新されたＱＭＳメトリックに基づいて、さまざまなストリーミングレートがモバイルネットワークの使用可能なチャネルに対して決定されてもよい。例示的な実施態様を続けると、前述のレート割り振りエンジンは、ストリーミングレートを決定することができる。
【００３０】
ブロック３０５（チャネルがフェーディングしているかどうかを決定する）において、各チャネルの決定されたストリーミングレートに基づいて、チャネルがフェーディングしているかどうか決定されてもよい。例示的な実施態様を続けると、前述のサブストリーム生成エンジンは、チャネルがフェーディングしているかどうかを決定することができる。チャネルがフェーディングしていると決定される場合、方法３００はブロック３０７および３０９に進み、そこで上記で示されるようなレートスプリッタ操作が実行される。フェーディングしているチャネルがない場合、方法はブロック３１１、３１３、および３１５に進み、そこで上記で示されるようなストリームスプリッタ操作が実行される。例示的な実施態様を続けると、前述のサブストリーム生成エンジンは、ブロック３０５、３０７、３１１、３１３、および／または３１５によって示される操作、機能、またはアクションを実行することができる。
【００３１】
図４は、モバイルネットワークにおいてクライアントの視点からマルチメディアサービスを配信するために配置されるコンピュータプログラム製品を示すブロック図である。コンピュータプログラム製品４００は、上記で説明され図２に示される方法を実行するための実行可能命令４０２の１つまたは複数のセットを含むことができる。コンピュータプログラム製品４００は、単一の信号搬送媒体４０４、またはその他の類似する通信媒体４０６で伝送されてもよい。コンピュータプログラム製品４００はまた、コンピュータ可読媒体４０８、または別の類似する記憶可能媒体４１０に記録されてもよい。
【００３２】
図５は、モバイルネットワークにおいてサーバの視点からマルチメディアサービスを配信するために配置されるコンピュータプログラム製品を示すブロック図である。コンピュータプログラム製品５００は、上記で説明され図３に示される方法を少なくとも実行するための実行可能命令５０２の１つまたは複数のセットを含むことができる。コンピュータプログラム製品５００は、単一の信号搬送媒体５０４、またはその他の類似する通信媒体５０６で伝送されてもよい。コンピュータプログラム製品５００はまた、コンピュータ可読媒体５０８、または別の類似する記憶可能媒体５１０に記録されてもよい。
【００３３】
図６は、マルチメディアサービスを配信するために配置されるコンピューティングデバイスの例示的な実施形態を示すブロック図である。極めて基本的な構成６０２において、コンピューティングデバイス６００は通常、１つまたは複数のプロセッサ６０４およびシステムメモリ６０６を含む。メモリバス６０８は、プロセッサ６０４とシステムメモリ６０６との間の通信のために使用されてもよい。
【００３４】
望ましい構成に応じて、プロセッサ６０４は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはその任意の組み合わせを含む（ただし、これらに限定されることはない）任意のタイプであってもよい。プロセッサ６０４は、レベル１キャッシュ６１０およびレベル２キャッシュ６１２のような、もう１つのキャッシングのレベル、プロセッサコア６１４、レジスタ６１６を含むことができる。例示のプロセッサコア６１４は、演算論理装置（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰ  Ｃｏｒｅ）、またはその任意の組み合わせを含むことができる。例示のメモリコントローラ６１８はまた、プロセッサ６０４と共に使用されてもよいか、または一部の実施態様において、メモリコントローラ６１８はプロセッサ６０４の内部部品であってもよい。
【００３５】
望ましい構成に応じて、システムメモリ６０６は、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）、またはその任意の組み合わせを含む（ただし、これらに限定されることはない）任意のタイプであってもよい。システムメモリ６０６は、オペレーティングシステム６２０、１つまたは複数のアプリケーション６２２、およびプログラムデータ６２４を含むことができる。一部の実施形態において、アプリケーション６２２は、図２の方法２００のステップ２０１、２０３、２０５、２０７、および２０９に関して説明されている機能を含む、本明細書において説明される機能を実行するように配置されるマルチメディアサービス配信アルゴリズム６２６を含むことができる。プログラムデータ６２４は、後段でさらに説明されるように、マルチメディアサービス配信アルゴリズム６２６の操作に有用となりうるマルチメディア最適化データ６２８を含むことができる。一部の実施形態において、マルチメディア最適化データ６２８は、ブロック２０１で収集されたＱｏＳ関連情報、および図２の方法２００のブロック２０３で収集または取り出されたパラメータを、非限定的に含むことができる。一部の実施形態において、アプリケーション６２２は、本明細書において説明されるマルチメディアサービス最適化の実施態様が提供されうるように、オペレーティングシステム６２０でプログラムデータ６２４と共に動作するように配置されてもよい。この説明される基本構成６０２は、破線内のコンポーネントにより図６に示される。
【００３６】
一部の他の実施形態において、アプリケーション６２２は、図３の方法３００のステップ３０１、３０３、３０５、３０７、３０９、３１１、３１３、および３１５に関して説明されている機能を含む、本明細書において説明される機能を実行するように配置されるマルチメディアサービス配信アルゴリズム６２６を含むことができる。プログラムデータ６２４は、後段でさらに説明されるように、マルチメディアサービス配信アルゴリズム６２６の操作に有用となりうるマルチメディア最適化データ６２８を含むことができる。一部の実施形態において、マルチメディア最適化データ６２８は、図３の方法３００のブロック３０１で受信された更新済みＱＭＳメトリックを、非限定的に含むことができる。
【００３７】
コンピューティングデバイス６００は、さらなる特徴または機能、およびさらなるインタフェースを有して、基本構成６０２と、任意の必要なデバイスおよびインタフェース間の通信を容易にすることができる。たとえば、バス／インタフェースコントローラ６３０は、ストレージインタフェースバス６３４を介して基本構成６０２と１つまたは複数のデータストレージデバイス６３２との間の通信を容易にするために使用されてもよい。データストレージデバイス６３２は、取り外し可能ストレージデバイス６３６、固定式ストレージデバイス６３８、またはその組み合わせであってもよい。取り外し可能ストレージおよび固定式ストレージデバイスの例は、いくつか挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）のような磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブのような光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブなどを含む。例示のコンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報を格納するための任意の方法または技術において実施される揮発性および不揮発性の、取り外し可能および固定式の媒体を含むことができる。
【００３８】
システムメモリ６０６、取り外し可能ストレージデバイス６３６、および固定式ストレージデバイス６３８は、コンピュータストレージ媒体の例である。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、もしくは望ましい情報を格納するために使用されうる、コンピューティングデバイス６００によってアクセスされうる任意の他の媒体を含むが、これらに限定されることはない。そのようなコンピュータストレージ媒体は、コンピューティングデバイス６００の一部であってもよい。
【００３９】
コンピューティングデバイス６００はまた、さまざまなインタフェースデバイス（たとえば、出力デバイス６４２、周辺インタフェース６４４、および通信デバイス６４６）から基本構成６０２へのバス／インタフェースコントローラ６３０を介する通信を容易にするためのインタフェースバス６４０を含むこともできる。例示の出力デバイス６４２は、グラフィックス処理ユニット６４８およびオーディオ処理ユニット６５０を含み、これらは１つまたは複数のＡ／Ｖポート６５２を介するディスプレイまたはスピーカーのようなさまざまな外部デバイスに通信するように構成されてもよい。例示の周辺インタフェース６４４は、シリアルインタフェースコントローラ６５４またはパラレルインタフェースコントローラ６５６を含み、これらは１つまたは複数の入出力ポート６５８を介して入力デバイス（たとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）またはその他の周辺デバイス（たとえば、プリンタ、スキャナなど）のような外部デバイスと通信するように構成されてもよい。例示の通信デバイス６４６は、ネットワークコントローラ６６０を含み、これは１つまたは複数の通信ポート６６４を介するネットワーク通信リンク上の１つまたは複数のその他のコンピューティングデバイス６６２との通信を容易にするように配列されてもよい。一部の実施形態において、その他のコンピューティングデバイス６６２は、アプリケーション６２２の結果に基づいて操作されうる、その他のアプリケーションを含むことができる。
【００４０】
ネットワーク通信リンクは、通信媒体の一例であってもよい。通信媒体は通常、搬送波またはその他の搬送機構のような変調データ信号で、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現されてもよく、任意の情報伝達媒体を含むことができる。「変調データ信号」は、１つまたは複数の特性セットを備える信号、または信号の情報をエンコードするような方法で変更された信号であってもよい。限定的ではなく、一例として、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、無線周波数（ＲＦ）、マイクロ波、赤外線（ＩＲ）およびその他の無線媒体のような無線媒体を含むことができる。本明細書において使用されるコンピュータ可読媒体という用語は、ストレージ媒体および通信媒体を共に含むことができる。
【００４１】
コンピューティングデバイス６００は、携帯電話、携帯情報端末（ＰＤＡ）、パーソナルメディアプレイヤーデバイス、無線Ｗｅｂ−ｗａｔｃｈデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記の機能のいずれかを含む混合デバイスのような、小型フォームファクタのポータブル（またはモバイル）電子デバイスの一部として実施されてもよい。コンピューティングデバイス６００はまた、ラップトップコンピュータおよびラップトップ以外のコンピュータの構成を含むパーソナルコンピュータとして実施されてもよい。
【００４２】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になりうるという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（たとえば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００４３】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（たとえば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（たとえば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００４４】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（たとえば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００４５】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００４６】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００４７】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む開示に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、など���有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００４８】
本明細書においてさまざまな態様および実施形態が開示されたが、当業者にはその他の態様および実施形態が明らかとなろう。本明細書において開示されるさまざまな態様および実施形態は、説明のためのものであって、限定的であることを意図しておらず、真の範囲および精神は後段の特許請求の範囲により示される。
【図１】
0005512889.tif 000002
【図２】
0005512889.tif 000003
【図３】
0005512889.tif 000004
【図４】
0005512889.tif 000005
【図５】
0005512889.tif 000006
【図６】
0005512889.tif 000007