(57)【特許請求の範囲】
【請求項１】
少なくとも1つのコンテンツストリームをホストする少なくとも1つのサーバコンピュータにネットワークを介して接続するコンピューティングデバイスで実装される方法であって、
前記コンピューティングデバイスで少なくとも1つのコンテンツアイテムを表示するステップであって、各コンテンツアイテムが前記少なくとも1つのコンテンツストリームのうちの1つへのリンクを含む、表示するステップと、
前記コンピューティングデバイスから前記ネットワークへのデータ接続に利用可能な帯域幅の量を決定するステップと、
プリフェッチバッファおよびストリーミングバッファを各コンテンツアイテムと関連付けるステップと、
各コンテンツアイテムに関して、
前記リンクされたコンテンツストリームに関する状態に基づいて測定値を得るステップであって、前記リンクされたコンテンツストリームが第1の部分と第2の部分からなり、前記測定値は、前記リンクされたコンテンツストリームの任意の部分が前記コンピューティングデバイスにおいて利用可能になる前に得られる、ステップと、
前記利用可能な帯域幅の量および前記測定値に基づいて前記プリフェッチバッファのサイズを計算するステップと、
前記コンピューティングデバイス内のメモリを前記プリフェッチバッファおよび前記ストリーミングバッファのために割り当てるステップと、
前記リンクされたコンテンツストリームの前記第1の部分の前記プリフェッチバッファへのダウンロードを開始するステップと
を備える、方法。
【請求項２】
前記リンクされたコンテンツストリームに関する前記状態が、前記リンクされたコンテンツストリームのファイルフォーマットと、前記リンクされたコンテンツストリームのビデオ解像度と、前記ネットワークから前記リンクされたコンテンツストリームをホストする前記サーバコンピュータへのデータ接続で利用可能な帯域幅の量とのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項３】
前記少なくとも1つのコンテンツアイテムのうちの選択されたコンテンツアイテムを識別するユーザ選択を受信するステップと、
前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第1の部分を再生するステップと、
前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファへの、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分のダウンロードを開始するステップと、
前記第1の部分の前記再生が終了したとき、前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分を再生するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記第1の部分を再生する前記ステップ、および前記第2の部分の前記ダウンロードを開始するステップが、同時に行われる、請求項3に記載の方法。
【請求項５】
前記利用可能な帯域幅が、前記ユーザ選択を受信する前記ステップの前に変化したとき、前記方法が、さらに、
各コンテンツアイテムに関して、前記コンピューティングデバイス内の前記メモリを、前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするステップを含む、請求項3に記載の方法。
【請求項６】
前記ユーザ選択を受信する前記ステップが、さらに、
前記利用可能な帯域の量の変化を検出するステップと、
前記利用可能な帯域幅の量の変化を考慮するために、前記コンピューティングデバイス内の前記メモリを、前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするステップと
を含む、請求項3に記載の方法。
【請求項７】
少なくとも1つのコンテンツストリームをホストする少なくとも1つのサーバコンピュータにネットワークを介して接続するコンピューティングデバイスであって、
前記コンピューティングデバイスを前記ネットワークに接続する通信インターフェースと、
前記コンピューティングデバイス内に常駐するメモリデバイスと、
前記通信インターフェースおよび前記メモリデバイスと通信状態で配置されたプロセッサと
を備え、前記プロセッサが、
前記コンピューティングデバイスで少なくとも1つのコンテンツアイテムを表示するように構成され、各コンテンツアイテムが前記少なくとも1つのコンテンツストリームのうちの1つへのリンクを含み、前記プロセッサが、
前記コンピューティングデバイスから前記ネットワークへのデータ接続に利用可能な帯域幅の量を決定し、
プリフェッチバッファおよびストリーミングバッファを各コンテンツアイテムと関連付け、
各コンテンツアイテムに関して、
前記リンクされたコンテンツストリームに関する状態に基づいて測定値を得、前記リンクされたコンテンツストリームが第1の部分と第2の部分からなり、前記測定値は、前記リンクされたコンテンツストリームの任意の部分が前記コンピューティングデバイスにおいて利用可能になる前に得られ、
前記利用可能な帯域幅の量および前記測定値に基づいて前記プリフェッチバッファのサイズを計算し、
前記コンピューティングデバイス内のメモリを前記プリフェッチバッファおよび前記ストリーミングバッファのために割り当て、
前記リンクされたコンテンツストリームの前記第1の部分の前記プリフェッチバッファへのダウンロードを開始するように構成された、コンピューティングデバイス。
【請求項８】
前記リンクされたコンテンツストリームに関する前記状態が、前記リンクされたコンテンツストリームのファイルフォーマットと、前記リンクされたコンテンツストリームのビデオ解像度と、前記ネットワークから前記リンクされたコンテンツストリームをホストする前記サーバコンピュータへのデータ接続で利用可能な帯域幅の量とのうちの少なくとも1つを含む、請求項7に記載のコンピューティングデバイス。
【請求項９】
前記プロセッサが、さらに、
前記少なくとも1つのコンテンツアイテムのうちの選択されたコンテンツアイテムを識別するユーザ選択を受信し、
前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第1の部分を再生し、
前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファへの、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分のダウンロードを開始し、
前記第1の部分の前記再生が終了したとき、前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分を再生するように構成された、請求項7に記載のコンピューティングデバイス。
【請求項１０】
前記プロセッサが、さらに、同時に、前記第1の部分を再生し、前記第2の部分の前記ダウンロードを開始するように構成された、請求項9に記載のコンピューティングデバイス。
【請求項１１】
前記利用可能な帯域幅が、前記ユーザ選択を受信する前に変化したとき、前記プロセッサが、さらに、
各コンテンツアイテムに関して、前記コンピューティングデバイス内の前記メモリを、前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするように構成された、請求項9に記載のコンピューティングデバイス。
【請求項１２】
前記ユーザ選択を受信するために、前記プロセッサが、さらに、
前記利用可能な帯域の量の変化を検出し、
前記利用可能な帯域幅の量の変化を考慮するために、前記コンピューティングデバイス内の前記メモリを、前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするように構成された、請求項9に記載のコンピューティングデバイス。
【請求項１３】
プロセッサによって実行されたとき、前記プロセッサに、
コンピューティングデバイスで少なくとも1つのコンテンツアイテムを表示するステップであって、各コンテンツアイテムが前記少なくとも1つのコンテンツストリームへのリンクを含む、表示するステップと、
前記コンピューティングデバイスからネットワークへのデータ接続に利用可能な帯域幅の量を決定するステップと、
プリフェッチバッファおよびストリーミングバッファを各コンテンツアイテムと関連付けるステップと、
各コンテンツアイテムに関して、
前記リンクされたコンテンツストリームに関する状態に基づいて測定値を得るステップであって、前記リンクされたコンテンツストリームが第1の部分と第2の部分からなり、前記測定値は、前記リンクされたコンテンツストリームの任意の部分が前記コンピューティングデバイスにおいて利用可能になる前に得られる、ステップと、
前記利用可能な帯域幅の量および前記測定値に基づいて前記プリフェッチバッファのサイズを計算するステップと、
前記コンピューティングデバイス内のメモリを前記プリフェッチバッファおよび前記ストリーミングバッファのために割り当てるステップと、
前記リンクされたコンテンツストリームの前記第1の部分の前記プリフェッチバッファへのダウンロードを開始するステップと
を含む動作を実行させるプロセッサ可読命令を含む、非一時的なコンピュータ可読媒体。
【請求項１４】
前記リンクされたコンテンツストリームに関する前記状態が、前記リンクされたコンテンツストリームのファイルフォーマットと、前記リンクされたコンテンツストリームのビデオ解像度と、前記ネットワークから前記リンクされたコンテンツストリームをホストするサーバコンピュータへのデータ接続で利用可能な帯域幅の量とのうちの少なくとも1つを含む、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記少なくとも1つのコンテンツアイテムのうちの選択されたコンテンツアイテムを識別するユーザ選択を受信するステップと、
前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第1の部分を再生するステップと、
前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファへの、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分のダウンロードを開始するステップと、
前記第1の部分の前記再生が終了したとき、前記選択されたコンテンツアイテムに関連付けられた前記ストリーミングバッファから、前記選択されたコンテンツアイテムに関連付けられた前記リンクされたコンテンツストリームの前記第2の部分を再生するステップと
をさらに含む、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
前記第1の部分を再生するステップ、および前記第2の部分のダウンロードを開始するステップが、同時に行われる、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記利用可能な帯域幅が、前記ユーザ選択を受信する前記ステップの前に変化したとき、前記動作が、さらに、
各コンテンツアイテムに関して、前記コンピューティングデバイス内の前記メモリを、前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするステップを含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記ユーザ選択を受信するステップが、さらに、
前記利用可能な帯域の量の変化を検出するステップと、
前記利用可能な帯域幅の量の変化を考慮するために、前記コンピューティングデバイス内の前記メモリを、前記選択されたコンテンツアイテムに関連付けられた前記プリフェッチバッファおよび前記ストリーミングバッファのために再割り当てするステップと
を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチメディアコンテンツ配信システムのための動的バッファ管理に関する。
【背景技術】
【０００２】
従来のマルチメディアコンテンツ配信システムは、消費者によって操作されるコンピューティングデバイスにマルチメディアコンテンツを配信するために、ストリーミングメディアを使用する。ストリーミングメディアは、コンピューティングデバイスが、マルチメディアコンテンツファイル全体を受信する前にマルチメディアコンテンツの再生を開始することを可能にする。消費者がマルチメディアコンテンツファイルを要求すると、コンピューティングデバイスは、注意深く制御されたレートで、マルチメディアコンテンツの再生を開始する前に、短時間のバッファへのマルチメディアコンテンツファイルのダウンロードを開始する。ダウンロードの開始と、再生の開始との間の時間は、メディアプレーヤアプリケーションが消費者の経験を改善するために最小限にする必要がある遷移時間である。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明は、少なくとも1つのコンテンツストリームをホストする少なくとも1つのサーバコンピュータにネットワークを介して接続するコンピューティングデバイスで実装される方法であって、
前記コンピューティングデバイスで少なくとも1つのコンテンツアイテムを表示するステップであって、各コンテンツアイテムが前記少なくとも1つのコンテンツストリームのうちの1つへのリンクを含む、表示するステップと、
前記コンピューティングデバイスから前記ネットワークへのデータ接続に利用可能な帯域幅の量を決定するステップと、
プリフェッチバッファおよびストリーミングバッファを各コンテンツアイテムと関連付けるステップと、
各コンテンツアイテムに関して、
前記リンクされたコンテンツストリームに関する状態に基づいて測定値を得るステップと、
前記利用可能な帯域幅の量および前記測定値に基づいて前記プリフェッチバッファのサイズを計算するステップと、
前記コンピューティングデバイス内のメモリを前記プリフェッチバッファおよび前記ストリーミングバッファのために割り当てるステップと、
前記リンクされたコンテンツストリームの第1の部分の前記プリフェッチバッファへのダウンロードを開始するステップと
を備える、方法を提供する。
【図面の簡単な説明】
【０００４】
【図１】マルチメディアコンテンツ配信システムのハードウェア構成要素の一実施形態を示すネットワーク図である。
【図２】図1に示すハードウェア構成要素の一実施形態を詳細に示すブロック図である。
【図３】図1に示すハードウェア構成要素の一実施形態を詳細に示すブロック図である。
【図４】図1に示すマルチメディアコンテンツ配信システムによって実行される方法の一実施形態を示す流れ図である。
【図５】図4に示す方法の一実施形態を詳細に示す流れ図である。
【発明を実施するための形態】
【０００５】
図1は、マルチメディアコンテンツ配信システムのハードウェア構成要素の一実施形態を示すネットワーク図である。マルチメディアコンテンツ配信システムは、コンテンツサーバ110と、ネットワーク120と、クライアントデバイスとを含む。一実施形態では、クライアントデバイスは、ワイヤレス接続を介して接続されたモバイルデバイス130であり、モバイルデバイス130は、携帯電話、スマートフォン、タブレットコンピュータ、ゲームコンソール、ハンドヘルドデバイス、などの汎用コンピューティングデバイスである。別の実施形態では、クライアントデバイスは、ディスプレイデバイス142に接続された加入者デバイス140であり、加入者デバイス140は、セットトップボックス、パーソナルコンピュータ、エンタテイメントデバイス、デジタルメディアサーバ、などのような汎用コンピューティングデバイスである。コンテンツサーバ110は、コンテンツストリーム112へのアクセスを提供する汎用サーバコンピュータである。クライアントデバイス(例えば、モバイルデバイス130、または加入者デバイス140)は、メディアプレーヤアプリケーションを使用してコンテンツストリーム112にアクセスし、これを再生するために、ネットワーク120を介してコンテンツサーバ110に接続する。コンテンツストリーム112は、デジタルオーディオのライブストリームおよび記録されたストリームと、オーディオ/ビデオマルチメディアコンテンツストリームとを含む。図1に示すマルチメディアコンテンツ配信システムは、任意の数の相互接続されたコンテンツサーバ110、ネットワーク120、およびクライアントデバイス(例えば、モバイルデバイス130、または加入者デバイス140)の構成要素を含むことができる。
【０００６】
図1に示すネットワーク120は、一実施形態では、クライアントデバイス((例えば、モバイルデバイス130、または加入者デバイス140)をコンテンツサーバ110に接続する公衆インターネットプロトコル(IP)通信ネットワークまたはワイドエリアネットワーク(WAN)である。図1に示すマルチメディアコンテンツ配信システムは、LAN、Bluetooth(登録商標)ネットワークのようなパーソナルエリアネットワーク(PAN:personal area network)、ワイヤレスLAN(例えば、ワイファイ(Wi-Fi)ネットワーク)、ピアツーピアオーバレイネットワーク、および仮想プライベートネットワーク(VPN)を含む同等のネットワークアーキテクチャの使用を企図している。図1に示すマルチメディアコンテンツ配信システムは、イーサネット(登録商標)および伝送制御プロトコルのような同等のネットワークアーキテクチャおよびプロトコルを企図している。
【０００７】
図2は、図1に示すハードウェア構成要素の一実施形態を詳細に示すブロック図である。図2に示すモバイルデバイス130は、汎用コンピュータである。バス210は、プロセッサ220、データ記憶デバイス230、通信インターフェース240、メモリ250、およびディスプレイ260を接続する通信媒体である。図2に示すモバイルデバイス130は、単一のプロセッサ210を含むが、当業者は、モバイルデバイス130が、モバイルデバイス130の速度および効率を改善するために、いくつかのプロセッサ210を含むことができることを理解するであろう。様々な実施形態では、データ記憶デバイス230は、シリアルATA(SATA)ハードディスクドライブ、光学ドライブ、小型コンピュータシステムインターフェース(SCSI)ディスク、フラッシュメモリ、などである。通信インターフェース240は、モバイルデバイス130をネットワーク120に接続し、データおよびコンテンツの双方向通信を可能にする。様々な実施形態では、メモリ250は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、不揮発性コンピュータメモリ、フラッシュメモリ、などである。
【０００８】
図2に示すモバイルデバイス130内のプロセッサ210は、メモリ250内に常駐する、またはメモリ250上で動作する各コンピュータプログラムを構成する動作命令のシーケンスを実行することによって、開示された方法を実行する。読者は、メモリ250が、オペレーティングシステムと、管理(administrative)と、本出願で開示されたプログラムをサポートするデータベースプログラムとを含むことができることを理解すべきである。一実施形態では、モバイルデバイス130のメモリ250の構成は、メディアプレーヤプログラム252と、プリフェッチプログラム254と、ストリーミングバッファ256とを含む。メディアプレーヤプログラム252、プリフェッチプログラム254、およびストリーミングバッファ256は、図4および図5に示す例示的な実施形態で開示された方法を実行するために動作する。プロセッサ210が開示された方法を実行するとき、中間結果をメモリ250またはデータ記憶デバイス230に記憶する。別の実施形態では、プロセッサ210は、必要に応じて、これらのプログラム、またはその一部を、メモリ250の内外にスワップすることができ、したがって、任意の時点ですべてよりも少ないこれらのプログラムを含むことができる。
【０００９】
図3は、図1に示すハードウェア構成要素の一実施形態を詳細に示すブロック図である。図3に示す加入者デバイス140は、モバイルデバイス130と同様に、汎用コンピュータである。バス310は、プロセッサ320、データ記憶デバイス330、通信インターフェース340、およびメモリ350を接続する通信媒体である。図3に示す加入者デバイス140は、単一のプロセッサ310を含むが、当業者は、加入者デバイス140が、加入者デバイス140の速度および効率を改善するために、いくつかのプロセッサ310を含むことができることを理解するであろう。様々な実施形態では、データ記憶デバイス330は、シリアルATA(SATA)ハードディスクドライブ、光学ドライブ、小型コンピュータシステムインターフェース(SCSI)ディスク、フラッシュメモリ、などである。通信インターフェース340は、加入者デバイス140をネットワーク120およびディスプレイデバイス142に接続し、データおよびコンテンツの双方向通信を可能にする。様々な実施形態では、メモリ350は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、不揮発性コンピュータメモリ、またはフラッシュメモリなどである。
【００１０】
図3に示す加入者デバイス140内のプロセッサ320は、メモリ350内に常駐する、またはメモリ350上で動作する各コンピュータプログラムを構成する動作命令のシーケンスを実行することによって、開示された方法を実行する。読者は、メモリ350が、オペレーティングシステムと、管理と、本出願で開示されたプログラムをサポートするデータベースプログラムとを含むことができることを理解すべきである。一実施形態では、加入者デバイス140のメモリ350の構成は、メディアプレーヤプログラム352と、プリフェッチプログラム354と、ストリーミングバッファ356とを含む。メディアプレーヤプログラム352、プリフェッチプログラム354、およびストリーミングバッファ356は、図4および図5に示す例示的な実施形態で開示された方法を実行するために動作する。プロセッサ310が開示された方法を実行するとき、中間結果をメモリ350またはデータ記憶デバイス330に記憶する。別の実施形態では、プロセッサ310は、必要に応じて、これらのプログラム、またはその一部を、メモリ350の内外にスワップすることができ、したがって、任意の時点ですべてよりも少ないこれらのプログラムを含むことができる。
【００１１】
図4は、図1に示すマルチメディアコンテンツ配信システムによって実行される方法の一実施形態を示す流れ図である。当業者は、モバイルデバイス130と加入者デバイス140とを含む任意のクライアントデバイスが、図4に示すプロセス400を実行することができることを理解するであろう。図1および図2を参照し、プロセス400は、メディアプレーヤプログラム252がモバイルデバイス120のディスプレイ260上にコンテンツアイテムを表示すると開始する(ステップ410)。図2に示す実施形態は、ディスプレイ260上の4つのコンテンツアイテム260A、260B、260C、260Dを示している。ディスプレイ260上に示された各コンテンツアイテム260A、260B、260C、260Dは、図1に示すコンテンツサーバ110上のコンテンツストリーム112のような、コンテンツサーバ上のコンテンツストリームへのリンクを含む。プリフェッチプログラム254は、モバイルデバイス130からネットワーク120へのデータ接続の利用可能な帯域幅の量を決定し(ステップ420)、プリフェッチバッファ257A、257B、257C、257Dおよびストリーミングバッファ258A、258B、258C、258Dを、各コンテンツアイテム260A、260B、260C、260Dと関連付ける(ステップ430)。
【００１２】
図4に示すプロセス400は、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dを処理する(ステップ440)。ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dのために(ステップ440、N分岐)、処理400は、リンクされたコンテンツストリームに関連する状態に基づく測定値を得る(ステップ450)。一実施形態では、リンクされたコンテンツストリームに関連する状態は、リンクされたコンテンツストリームのファイルフォーマット(例えば、MPEG、MPEG-I、MPEG-II、MP3、MP4、WMV、AVI、FLV、MKV、SWF、3GP、3G2、3GPP2、など)である。別の実施形態では、リンクされたコンテンツストリームに関連する状態は、リンクされたコンテンツストリームのビデオ解像度(例えば、720P、1080i、1080P、など)である。さらに別の実施形態では、リンクされたコンテンツストリームに関連する状態は、ネットワーク120からコンテンツストリーム112をホストするコンテンツサーバ110へのデータ接続で利用可能な帯域幅の量である。プロセス400は、モバイルデバイスで利用可能な帯域幅の以前に決定された量と、リンクされたコンテンツストリームに関する状態に基づく測定値とに基づいて、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dのためのプリフェッチバッファ257A、257B、257C、257Dのサイズを計算する(ステップ460)。次いで、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dのために、プロセス400は、モバイルデバイス130内のメモリを、プリフェッチバッファ257A、257B、257C、257Dおよびストリーミングバッファ258A、258B、258C、258Dのために割り当て(ステップ470)、リンクされたコンテンツストリームの第1の部分のプリフェッチバッファ257A、257B、257C、257Dへのダウンロードを開始する(ステップ480)。ディスプレイ260上のコンテンツアイテム260A、260B、260C、260Dのすべてが処理されたとき(ステップ440、Y分岐)、プロセス400は、選択されたコンテンツアイテムに関連付けられたリンクされたコンテ
ンツストリームを再生するために利用可能である(ステップ490)。
【００１３】
図4および図5に示すプロセス400は、ディスプレイ260上のコンテンツアイテム260A、260B、260C、260Dのうちの1つの選択と、コンテンツストリーム112の再生の開始との間の時間を短縮するために、コンテンツストリーム112の第1の部分をプリフェッチする。プロセス400は、モバイルデバイス130のネットワーク状態と、コンテンツストリームに関する状態とに基づいて、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dに関連付けられたコンテンツストリームの長さ(すなわち、プリフェッチバッファ)を決定する。したがって、コンテンツストリーム122の特性は、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dのための長さを決定するために使用されることになるので、プリフェッチ部分の長さは、ディスプレイ260上の各コンテンツアイテム260A、260B、260C、260Dに対して動的に決定される。プリフェッチバッファの長さの動的な決定は、各々のリンクされたコンテンツストリームに関して異なる可能性がある。図2に示すように、第1のプリフェッチバッファ257Aは、リンクされたコンテンツストリームの5秒をバッファリングし、第2のプリフェッチバッファ257Bは、リンクされたコンテンツストリームの7秒をバッファリングし、第3のプリフェッチバッファ257Cは、リンクされたコンテンツストリームの4秒をバッファリングし、第4のプリフェッチバッファ257Dは、リンクされたコンテンツストリームの9秒をバッファリングする。
【００１４】
図5は、図4に示す方法の一実施形態を詳細に示す流れ図である。具体的には、図5は、選択されたコンテンツアイテムに関連付けられたリンクされたコンテンツストリームを再生する(ステップ490)ための図4に示す方法の一実施形態を詳細に示す。メディア再生プログラム252は、ディスプレイ260上のコンテンツアイテム260A、260B、260C、260Dの選択されたコンテンツアイテムを識別するユーザ選択を受信する(ステップ510)。一実施形態では、ユーザは、タッチスクリーン上のアイコンをクリックすることによって、ディスプレイ260上のコンテンツアイテム260A、260B、260C、260Dのうちの1つを選択する。プリフェッチプログラム254は、選択されたコンテンツアイテムに関連付けられたプリフェッチバッファ257A、257B、257C、257Dから、選択されたコンテンツアイテムに関連付けられたリンクされたコンテンツストリームの第1の部分を再生する(ステップ520)。一実施形態では、プリフェッチプログラム254は、選択されたコンテンツアイテムに関連付けられたストリーミングバッファ258A、258B、258C、258Dへの、選択されたコンテンツアイテムに関連付けられたリンクされたコンテンツストリームの第2の部分のダウンロードを同時に開始する(ステップ530)。プリフェッチプログラム254は、次いで、第1のコンテンツの再生が終了すると、選択されたコンテンツアイテムに関連付けられたストリーミングバッファ258A、258B、258C、258Dから、選択されたコンテンツアイテムに関連付けられたリンクされたコンテンツストリームの第2の部分を再生する(ステップ540)。リンクされたコンテンツストリームの第2の部分の再生は、コンテンツストリームをストリーミングするための従来の解決策のように継続する。
【００１５】
開示された実施形態は、ユーザ選択と再生の開始との間の時間を短縮するためにコンテンツストリームをプリフェッチするための完全に機能する方法およびコンピューティングデバイスを説明するが、読者は、他の均等な実施形態が存在することを理解すべきである。多数の変更および変形が、本開示を検討する者の頭に浮かぶことになるので、ユーザ選択と再生の開始との間の時間を短縮するためにコンテンツストリームをプリフェッチするための方法およびコンピューティングデバイスは、例示および開示された正確な構成および動作に限定されない。したがって、本開示は、特許請求の範囲に入るすべての適切な変更および均等物を意図する。
【符号の説明】
【００１６】
110  コンテンツサーバ
112  コンテンツストリーム
120  ネットワーク
130  モバイルデバイス
140  加入者デバイス
142  ディスプレイデバイス
210  バス
220  プロセッサ
230  データ記憶デバイス
240  通信インターフェース
250  メモリ
252  メディアプレーヤプログラム
254  プリフェッチプログラム
256  ストリーミングバッファ
257A  プリフェッチバッファ
257B  プリフェッチバッファ
257C  プリフェッチバッファ
257D  プリフェッチバッファ
258A  ストリーミングバッファ
258B  ストリーミングバッファ
258C  ストリーミングバッファ
258D  ストリーミングバッファ
260  ディスプレイ
260A  コンテンツアイテム
260B  コンテンツアイテム
260C  コンテンツアイテム
260D  コンテンツアイテム
310  バス
320  プロセッサ
330  データ記憶デバイス
340  通信インターフェース
350  メモリ
352  メディアプレーヤプログラム
354  プリフェッチプログラム
356  ストリーミングバッファ
【図１】
0006280926.tif 000002
【図２】
0006280926.tif 000003
【図３】
0006280926.tif 000004
【図４】
0006280926.tif 000005
【図５】
0006280926.tif 000006