JP2004054930A - ストリーミングメディアコンテンツのクライアント側でのキャッシングのためのコンピュータ可読媒体、システムおよび方法 - Google Patents

ストリーミングメディアコンテンツのクライアント側でのキャッシングのためのコンピュータ可読媒体、システムおよび方法 Download PDF

Info

Publication number
JP2004054930A
JP2004054930A JP2003180339A JP2003180339A JP2004054930A JP 2004054930 A JP2004054930 A JP 2004054930A JP 2003180339 A JP2003180339 A JP 2003180339A JP 2003180339 A JP2003180339 A JP 2003180339A JP 2004054930 A JP2004054930 A JP 2004054930A
Authority
JP
Japan
Prior art keywords
streaming media
media content
content
computer
streaming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003180339A
Other languages
English (en)
Inventor
Anders E Klemets
アンダース イー.クレメッツ
Troy D Batterberry
トロイ ディー.バッターベリー
Eduardo P Oliveira
エドアルド ピー.オリベイラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004054930A publication Critical patent/JP2004054930A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】ストリーミングメディアコンテンツのクライアント側でのキャッシングの技術を提供する。
【解決手段】ストリーミングメディアコンテンツに関する各種の機能をユーザが利用できるようにする。そのような機能には、メディアコンテンツをそのコンテンツの符号化ビットレートに依存しないレートでストリーミングすることにより、ユーザが各種のシャトルコントロールオプション(例えば一時停止、停止、早送り、シーク、巻き戻しなど)を選択した際でも、コンテンツのストリーミングを継続することを可能にする、また後の時間に再生するためにストリーミングコンテンツを記録することを可能にする、また時間をずらしてストリーミングコンテンツを再生することを可能にする、のいずれか1つまたは複数が含まれる。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明は、ストリーミングメディアに関し、詳細には、ストリーミングメディアコンテンツのクライアント側でのキャッシングに関する。
【0002】
【従来の技術】
オーディオ、ビデオ、および/またはテキストメディアコンテンツのストリーミングなどのコンテンツストリーミングが次第に普及しつつある。一般に、用語「ストリーミング」とは、メディアを表すデータがネットワークを通じてクライアントコンピュータに提供され、クライアントコンピュータは、「ファイル」全体が配信されるのを待つのではなく、それをネットワークサーバから受信しながらストリーミングコンテンツをレンダリングすることを意味する。
【0003】
ストリーミングメディアコンテンツの利用性が高まることにより、以前にはインターネットまたは他のコンピュータネットワークを介しては入手できなかった様々な情報コンテンツの入手が可能になっている。ライブコンテンツは、そのようなコンテンツの顕著な一例である。ストリーミングメディアコンテンツを使用すると、注目すべきイベントのオーディオ、ビデオ、またはオーディオ/ビジュアルの対象を、その進行と同時にインターネットを通じて放送することができる。同様に、テレビ局またはラジオ局は、インターネットを通じて各自のライブコンテンツを伝送することができる。
【0004】
現在、ストリーミングメディアコンテンツは、「ジャストインタイム(ちょうど間に合う)配信」の概念を使用してストリーミングされている。コンテンツは、クライアントで再生するためにそのコンテンツの符号化ビットレートでクライアントに配信される。ストリームメディアコンテンツには、(例えば、再送する必要のある損失データやその他のネットワークの不整合を考慮に入れて)いくらかのバッファリングを行う。しかし、現在のクライアントシステムは通例、クライアントで行うバッファリング量を最小に抑え、それによりクライアントにおけるメモリ要件を低減し、またバッファリングによる始動待ち時間も短縮することを試みている。
【0005】
【発明が解決しようとする課題】
しかし、現在のストリーミングメディアコンテンツおよびバッファリングシステムは、他タイプのコンテンツ再生システムに備わる機能を持たないことにより損をしている。例えばVCR(ビデオカセットレコーダ)で録画したテレビ番組はユーザによって巻き戻すことができ、すでに見た部分を容易に繰り返し見ることができ、あるいはユーザの必要に応じて後の時間に見ることができる。これに対し、現在のストリーミングメディアコンテンツシナリオでは、そのような動作をユーザによって行うことができない。ストリームメディアコンテンツを巻き戻すには、コンテンツのストリーミングを停止し、新しい位置で再開する(そしてしたがってその新しい位置から開始するストリームを再度バッファリングする)必要があり、通例ユーザは、ストリーミングメディアコンテンツを後の時間に見ることができない。すなわち、コンテンツは受信と同時にユーザに対して再生され、ユーザがコンテンツを後の時間に見たい場合はその後の時間にコンテンツをストリーミングしなければならない。
【0006】
【課題を解決するための手段】
本発明による下記のストリーミングメディアコンテンツのクライアント側でのキャッシングは、上記の課題およびその他の課題を解決することができる。
【0007】
以下、本発明によるストリーミングメディアコンテンツのクライアント側でのキャッシングについて説明する。
【0008】
本発明の一実施形態によれば、ストリーミングメディアコンテンツを、コンテンツの符号化ビットレートに依存しないレートでストリーミングすることができる。
【0009】
本発明の他の実施形態によれば、ユーザが様々なシャトルコントロールオプション(例えば一時停止、停止、早送り、シーク、巻き戻しなど)を選択した場合でも、ストリーミングメディアコンテンツのストリーミングを継続することができる。
【0010】
本発明のさらに他の実施形態によれば、後の時間に再生するためにストリーミングメディアコンテンツを記録することができる。
【0011】
本発明のさらに別の実施形態によれば、ストリーミングメディアコンテンツを時間をずらして再生する(time−shift)ことができる。
【0012】
追加的な実施形態によれば、サーバデバイスから受信したストリーミングメディアコンテンツをクライアントデバイスにキャッシュ(キャッシュメモリに格納)することができる。そしてクライアントデバイスのストリーミングメディアコンテンツに対する事後の要求は、サーバデバイスからそのストリーミングメディアコンテンツを再度ストリーミングするのではなく、キャッシュされたストリーミングメディアコンテンツを使用して満たすことができる。
【0013】
本明細書の記述を通じて、同様の構成要素および/または特徴を参照する際は同じ参照符号を使用することとする。
【0014】
【発明の実施の形態】
図面を参照して、本発明によるストリーミングメディアコンテンツのクライアント側でのキャッシングの実施の形態を以下に詳述する。ストリーミングメディアコンテンツをキャッシュすることにより、従来は利用できなかった様々な機能をユーザが利用できるようにすることができる。そのような機能の例には、コンテンツの符号化ビットレートに依存しないレートでメディアコンテンツをストリーミングすることにより、ユーザが各種のシャトル(shuttle)コントロールオプション(例えば一時停止、停止、早送り、シーク、巻き戻しなど)を選択した際でもコンテンツのストリーミングを継続することが可能になる、後の時間に再生するためにストリーミングコンテンツを記録することが可能になる、ストリーミングコンテンツを時間をずらして再生することが可能になることが含まれる。ストリーミングメディアコンテンツのクライアント側でのキャッシングの様々な実施形態は、これらの機能のうち異なる機能、あるいはこれらの機能の異なる機能の組合せを含むことができる。
【0015】
図1に、ストリーミングメディアコンテンツのクライアント側でのキャッシングを用いることができる例示的なネットワーク環境100を示す。環境100では、複数の(x個の)クライアントコンピューティングデバイス102(1)、102(2)、...、102(x)が、ネットワーク106を介して複数(y個)のオリジンサーバコンピューティングデバイス104(1)、104(2)、...、104(y)に結合されている。ネットワーク106は、各種の従来のネットワークプロトコル(公開プロトコルおよび/または独自仕様のプロトコルを含む)のうち任意のプロトコルを用いる、各種の従来のネットワークトポロジおよびタイプ(光ネットワーク、配線および/または無線ネットワークを含む)の任意のネットワークを表すものとする。ネットワーク106は、例えば、インターネット、また可能性としては1つまたは複数のローカルエリアネットワーク(LAN)および/または広域ネットワーク(WAN)の少なくとも一部を含むことができる。
【0016】
オリジンサーバデバイス104から利用可能なストリーミングメディアコンテンツを要求する際に、その要求は、クライアントデバイス102からネットワーク106を介してサーバデバイス104に送られる。オリジンサーバデバイス104はその要求を受信し、ネットワーク106を介して要求元のクライアントデバイス102にその要求されたコンテンツを返送する。1つまたは複数のプロキシサーバ(図示せず)がネットワーク106の一部であってよく、クライアントデバイス102からの要求およびクライアントデバイス102への応答は、実際のサーバデバイス104ではなく、そのようなプロキシサーバに送信し、そこから受信してもよい。クライアントデバイス102にメディアコンテンツをストリーミングするデバイス(オリジンサーバ、プロキシサーバ、あるいはその他のデバイス)はいずれも、そのストリームメディアコンテンツのソースデバイスと呼ばれる。
【0017】
コンピューティングデバイス102および104はそれぞれ、各種の従来のコンピューティングデバイスのいずれであってもよく、これにはデスクトップPC(パーソナルコンピュータ、パソコン)、ノートブック型または携帯型コンピュータ、ワークステーション、メインフレームコンピュータ(大型コンピュータ)、インターネット機器、ゲームコンソール、ハンドヘルド(手持ちサイズ)PC、携帯電話、携帯情報端末(PDA)、これらの組合せなどが含まれる。デバイス102および104の1つまたは複数は、同じタイプのデバイスでも、あるいは異なるタイプのデバイスであってもよい。
【0018】
サーバデバイス104は、各種のデータをクライアント102にストリーミング可能な状態にすることができる。用語「ストリーミング」は、メディア(マスコミ媒体)を表すデータがネットワークを通じてクライアントデバイスに提供され、そのコンテンツが完全に配信される前にコンテンツの再生を開始できることを指し示すのに使用される。データは、公開で利用可能としても、あるいは限定にしてもよい(例えば、特定のユーザだけに制限する、適切な料金を支払った場合のみ利用可能とするなど)。データは、オーディオ、ビデオ、テキスト、アニメーションなど、1つまたは複数の各種タイプのコンテンツのいずれであってもよい。さらに、データは「オンデマンド」式(例えば予め記録されており、サイズが分かっているもの)であっても、あるいは「ブロードキャスト」(例えば、演奏と同時に記録され、記録後すぐにストリーミングが可能な状態とされるコンサートのデジタル表現など、予めサイズが分からないもの)してもよい。
【0019】
図2に、例示的なクライアントデバイスおよびサーバデバイスを示す。クライアントデバイス102は、ソースサーバデバイス146のストリーミングモジュール144にアクセスするように構成されたストリーミングメディアプレーヤ142を含む。ソースサーバデバイス146は、例えば、図1のオリジンサーバデバイス104か、あるいは別のデバイス(例えばプロキシデバイス)である。ソースサーバデバイス146はまた(例えばプレーヤ142へのユーザ入力に基づいて)メディアプレーヤ142によりその中から選択を行うことができる1つまたは複数のストリーミングメディアコンテンツファイル148、および選択されてプレーヤ142にストリーミングされたコンテンツファイルを含む。ストリーミングメディアコンテンツは、受信されるとすぐに不揮発性の記憶装置150に保存することにより、クライアントデバイスでキャッシュされることができる。図2には示されていないが、1つまたは複数の追加的なデバイス(例えばファイアウォール、ルータ、ゲートウェイ、ブリッジ、複数のプロキシサーバなど)が、クライアントデバイス102とサーバデバイス146の間に位置してもよい。説明を簡潔にするために図2には単一のクライアント102とサーバ146しか図示していないが、サーバ146には複数のクライアント102がアクセスすることができ、また単一のクライアント102が複数のサーバ146にアクセスできることに留意されたい。
【0020】
不揮発性の記憶装置150は、電源障害が生じた際でもその状態を維持するという点で不揮発性である。したがって、不揮発性記憶装置150に保存されたストリーミングメディアコンテンツは、クライアント102に電力損失が生じた際(例えばクライアント102の電源を切った際)でも消えずに存続する。デバイス150としては、磁気ディスクおよびディスクドライブ(例えば従来のハードディスク)、光ディスクおよびディスクドライブ、フラッシュメモリなど、各種の異なる不揮発性ストレージのタイプを使用することができる。
【0021】
デバイス102と146間の通信は、各種の異なる従来のプロトコルを使用して行うことができる。一実装では、デバイス102と146間の通信は、バージョン1.1(HTTP1.1)など、あるバージョンのハイパーテキスト伝送プロトコル(HTTP)を使用して行われる。別の実装では、デバイス102と146間の通信は、リアルタイムストリーミングプロトコル(RTSP)を使用して行われる。あるいは、セッション開始プロトコル(SIP)、シンプルオブジェクトアクセスプロトコル(SOAP)など、他のプロトコルを使用してもよい。
【0022】
また、ストリーミングメディアコンテンツは、各種の異なるストリーミングメディアフォーマットの任意のものに従って記憶し、ストリーミングすることができる。例示的な一実装では、メディアは、ASFフォーマット(Advanced Systems FormatあるいはAdvanced Streaming Format)に基づいてストリーミングされる。ASFに関するさらなる情報は、ワシントン州レドモンドのマイクロソフト(登録商標)社から得ることができる。これと同じ技術は、MPEG(Moving Pictures Experts Group)1、MPEG2、MPEG4、Quicktime(クイックタイム)など、他のフォーマットにも適用することができる。
【0023】
図3に、ストリーミング媒体データを通信する際に使用できる例示的なメッセージフォーマットを示す。HTTP1.1メッセージやRTSPメッセージなどのメッセージのデータ構造180は、スタートラインフィールドまたは部分182、1つまたは複数のヘッダフィールドまたは部分184、空のラインフィールドまたは部分186、および任意選択のメッセージ本体フィールドまたは部分188を含む。スタートライン部分182は、メッセージまたはデータ構造タイプを識別するデータを含み、これはリクエストライン(例えばHTTP1.1のGET要求や、RTSPのGET_PARAMETER要求など)であっても、ステータスライン(例えばHTTP1.1 200のOK応答やRTSP1.0 200のOK応答など)であってもよい。メッセージに関する情報を表すデータを含む1つまたは複数のヘッダ184も含まれる。空ライン部分186は、ヘッダ184の終わりを識別するのに使用する。メッセージ本体部分188には任意選択で追加的なデータを含めることができる。この説明では、各種の指示をヘッダ184に含めるが、それらの指示はあるいはメッセージ本体188に位置してもよい。
【0024】
図2のデバイス102と146間では、データ構造180を備えるデータを使用して、制御情報(例えばメディアコンテンツのストリーミングをセットアップする)や、データ(例えばストリーミングメディアコンテンツ)が適宜通信される。したがって、これらのメッセージは、ストリーミングされるメディアコンテンツに対応するか、または関連付けられる。
【0025】
図2を参照すると、クライアントデバイス102のキャッシュマネジャ152は、オリジンサーバ146からストリーミングメディアプレーヤ142によって受信されたストリーミングメディアコンテンツのキャッシングを管理する。ストリーミングメディアプレーヤ142は、コンテンツを受信し、そのコンテンツをキャッシュすべきであると判断した際は、そのコンテンツを記憶するためにキャッシュマネジャ152に転送する。ストリーミングメディアプレーヤ142はこの判定を独自に行っても、あるいはキャッシュマネジャ152から受け取る情報(例えばキャッシュに利用可能な空間があるかどうかなど)に部分的に基づいて判定してもよい。
【0026】
ストリーミングメディアプレーヤ142によるストリーミングメディアコンテンツのキャッシングは、ストリーミングメディアコンテンツのバッファリングとは異なることに留意されたい。キャッシングとバッファリングには様々な違いがあるが、通例その違いには次の1つまたは複数が含まれる:キャッシュされたコンテンツは、揮発性メモリではなく不揮発性の記憶装置に記憶される;キャッシュされたコンテンツは、すでに再生されたコンテンツを含むことができる;キャッシュされたコンテンツは、(例えば「ジャストインタイム」配信のように)直ちに再生されるのではなく、長時間再生されないコンテンツを含むことができる。
【0027】
図2には異なるストリーミングメディアコンテンツを異なるファイル148として示しているが、これに代えて、1つのストリーミングメディアコンテンツを複数のファイルとして記憶してもよい(あるいはブロードキャストコンテンツの場合はファイルがなくともよい)。「1つの」コンテンツを定義する方式は、実装と媒体のタイプによって異なる可能性がある。例えば、音楽を扱うオーディオおよび/またはビデオコンテンツの場合は、1つの歌を1つのコンテンツとすることができる。コンテンツは、固有の境界(例えば異なる歌)に沿って複数部分に区分するか、あるいはその他の任意の方式で(例えばコンテンツを5分ごとに1コンテンツとするなど)区分することができる。
【0028】
クライアントデバイス102の一部である従来のコンポーネントを任意選択で強化して、キャッシュ管理機能を行わせることができる。例示的な一実装では、マイクロソフト(登録商標)社のインターネットエクスプローラブラウザプログラムがキャッシュ管理機能を含み、ストリーミングメディアプレーヤ142はこの機能を強化し、使用することができる。
【0029】
各メディアコンテンツは、ともに単一のファイルとして記憶することができるにも関わらず複数のストリームを含むことができる。そのようなストリームはそれぞれ、特定タイプのメディア(例えばオーディオ、ビデオ、テキストなど)を通例は特定の符号化ビットレートで表す。符号化ビットレートは、再生のためにメディアコンテンツを符号化するレート(処理速度)である。符号化ビットレートは、ユーザによって知覚されるコンテンツの再生速度とは無関係であることに留意されたい(例えば、通例は、通常のコンテンツストリームと、ユーザがその通常ストリームの再生速度の2倍と知覚する早送りのコンテンツストリームは、どちらも同じ符号化ビットレートである)。
【0030】
同一タイプのメディアの複数のバージョン(例えば複数のオーディオバージョン、複数のビデオバージョンなど)をメディアコンテンツに含め、メディアプレーヤ142による再生のためにそれらのストリームの異なる組合せを選択できるようにすることができる。これらの異なるバージョンはそれぞれ、通例は異なるビットレートで符号化される(通例はビットレートが高いほどコンテンツの品質が高くなる)。ストリームのどの組合せをストリーミングメディアコンテンツに含めるかは各種の方式で選択することができ、これには、ユーザの嗜好(例えばより高い品質のコンテンツを望むか、あるいはより低い品質のコンテンツを望むか)、利用可能なネットワーク帯域幅、特定コンテンツに望まれるビットレート(例えば、あるビットレートをコンテンツ作成者または配信者が設定し、ストリーミングメディアコンテンツの識別子に含めて、ユーザがその識別子を選択するとストリーミングメディアプレーヤ142が(任意選択でユーザの嗜好に基づいて)その求められるビットレートに可能な限り近いストリームを選択するなど)などがある。
【0031】
コンテンツをキャッシュする際は、キャッシュマネジャ152が、ストリーミングメディアコンテンツとしてサーバデバイス146から受信した(ストリーミングメディアプレーヤ142によって要求された)特定のストリームを不揮発性記憶装置150に格納する。同じメディアコンテンツについての異なるストリームの組合せをキャッシュマネジャ152によってキャッシュすることができる。あるいは、キャッシュマネジャ152は、特定のメディアコンテンツについてのすべてのストリームをサーバデバイス146から取得し、そのストリームすべてをキャッシュすることが可能だが、メディアプレーヤ142へは要求されたストリームだけを再生することができる。
【0032】
複数のコンテンツをいっしょに再生リストにまとめることもでき、この再生リストは、それぞれがストリーミングされる特定のコンテンツである、1つまたは複数の項目からなるリストである。これらの異なるコンテンツを(例えばユーザまたはその他の者によって)選択していっしょに再生リストにまとめ、ユーザが単に再生リストを選択するだけでレンダリングのためにそれらのコンテンツすべてを選択できるようにすることができる。例として、ユーザは自分の好きな歌から20曲を選んで再生リストの一部とし、その後は再生リストの再生を選択することによりそれらの歌を再生させることができる。
【0033】
クライアント102でストリーミングメディアコンテンツをキャッシュすることにより、ストリーミングメディアプレーヤ142が各種の機能、およびしたがってユーザ体験の機能強化を提供することが可能になる。これらには、コンテンツの符号化ビットレートに依存しないレートでメディアコンテンツをストリーミングすることにより、ユーザが各種のシャトルコントロールオプション(例えば一時停止、停止、早送り、シーク、巻き戻しなど)を選択した際でもコンテンツのストリーミングを継続することが可能になる、後の時間に再生するためにストリーミングコンテンツを記録することが可能になる、時間をずらしてストリーミングコンテンツを再生することが可能になることが含まれる。
【0034】
クライアント102でストリーミングメディアコンテンツをキャッシュすることにより、符号化ビットレートに依存しないレートでサーバデバイス146からクライアントデバイス102にメディアコンテンツをストリーミングすることが可能になる。ストリーミングレートが符号化ビットレートと同じになる状況が生じる可能性があるが、ストリーミングレートは、符号化ビットレートよりも高く、または低くすることができる。ストリーミングメディアプレーヤ142によって受信されたストリーミングメディアコンテンツはキャッシュメモリに記憶され、コンテンツを再生する際は、メディアプレーヤ142は、そのコンテンツを再生のためにキャッシュメモリから取り出し、それと同時にサーバデバイス146からストリーミングされてくるコンテンツの続きの部分をキャッシュメモリに入れ続ける。ストリーミングレートが符号化ビットレートを下回る例示的な状況では、メディアプレーヤ142は、キャッシュされたコンテンツの量、符号化ビットレート、およびストリーミングレートに基づいて、ストリーミングされるコンテンツの再生に補足的な遅延を課す。例えば符号化ビットレートが300kbpsでストリーミングレートが150kbpsである場合、メディアプレーヤ142は、十分なコンテンツが記憶され、ユーザが気づくような中断を生じずにコンテンツを始めから終わりまで完全に再生できるようになるまでコンテンツ再生の開始を遅らせる。
【0035】
一実装では、メディアプレーヤ142は、ストリーミングモジュール144にストリーミングコンテンツを要求する際に、ストリーミングモジュール144に速度の要求も伝達する。この速度要求は、メディアプレーヤ142がメディアコンテンツをストリーミングさせたいレート(速度)を指示する。ストリーミングモジュール144は要求されたレート(速度)を受け入れ、続いてその要求されたレート(速度)でメディアコンテンツをメディアプレーヤ142にストリーミングするか、あるいはそのレート(速度)を変更することができる。例えば、ストリーミングモジュール144は、要求されたレートでコンテンツをストリーミングできない場合がある(例えばサーバポリシー(サーバの方針)、サーバのハードウェアおよび/またはソフトウェアの限界、サーバの現在の負荷などの原因による)。ストリーミングモジュール144は、どれだけのストリーミングレートになるかについての指示をメディアプレーヤ142に送信する(あるいは、ストリーミングモジュール144が特に指示しない場合は、ストリーミングレートはメディアプレーヤ142が要求するレートでよい)。さらに、ストリーミングモジュール144は、(新たな速度要求をストリーミングモジュール144に送信することにより)コンテンツのストリーミング中にストリーミングレートの変更を試みることができ、ストリーミングモジュール144は、(新たな速度指示をメディアプレーヤ142に送信することにより)コンテンツのストリーミング中にストリーミングレートを変更することができる。
【0036】
メディアプレーヤ142は、自身が求めるストリーミングレート、すなわちそれがストリーミングモジュール144に要求するレートを各種の異なる要因に基づいて決定することができる。この決定は、コンテンツ単位で行うことができる。一実装では、メディアプレーヤ142は、メディアプレーヤ142とストリーミングモジュール144間の現在利用可能な帯域幅の割り出しを試みる。これは各種の従来の方法で割り出しすることができ、この方法には、デバイス102と146間でテストメッセージを送信する、デバイス102と146間の接続の現在および過去の振る舞いを監視する、ストリーミングモジュール144から利用可能な帯域幅の指示を受け取るなどがある。現在利用可能な帯域幅を知ると、メディアプレーヤ142は、まず現在利用可能な帯域幅よりも小さい特定の量であるストリーミングレートを要求する。この特定の量は、固定された量(例えば常に50kbps)でも、動的な量(例えば現在利用可能な帯域幅の15%、あるいは現在利用可能な帯域幅の5%〜25%の間など)であってもよい。
【0037】
メディアプレーヤ142からストリーミングモジュール144に送信されるストリーミング速度要求は、メディアプレーヤ142がいろいろな任意の方法のいずれかでデータをストリーミングさせたいレートを示すことができる。一実装では、このレートは、コンテンツの符号化ビットレートに比例する速度係数で表される(例えば、3.2の速度係数は、ストリーミングレートがコンテンツの符号化ビットレートに比べて3.2倍速いことを意味し、0.5の速度係数は、ストリーミングレートがコンテンツの符号化ビットレートの半分であることを意味する)。別の実装では、速度は、単に所望のストリーミングビットレート(例えば300kbps、500kbps、20kbpsなど)を指定することによって示される。
【0038】
速度要求の指示は、各種の異なる方式でメディアプレーヤ142からストリーミングモジュール144に送信することができる。RTSPを使用してデバイス102と146間の通信を行う一実装では、ストリーミングメディアプレーヤ142からストリーミングモジュール144に送信されるメッセージに次のRTSPヘッダを(例えば図3のヘッダ184として)付加する。
速度:x
xは、コンテンツの符号化ビットレートに比例する要求された速度係数を表す。値xは、整数でも実数でもよい(任意選択で小数点以下の桁数を制限することができ、通例は小数点第1位または第2位までに制限するが、他の値を使用することもできる)。このヘッダは様々なメッセージに付加することができ、一実装では、ストリーミングメディアプレーヤ142からストリーミングモジュール144に送信される、メディアコンテンツのストリーミングを要求するメッセージに含める。
【0039】
ストリーミングモジュール144がその要求に応答する際には、RTSP PLAY応答メッセージに類似のヘッダ(速度:y)を入れてストリーミングメディアプレーヤ142に返送する。yは、ストリーミングモジュール144が要求されたコンテンツをストリーミングする(コンテンツの符号化ビットレートに比例する)速度を表す(yは、値xと同じでも同じでなくともよい)。値xと同様に、値yは、整数または実数とすることができる(小数点以下の桁数は任意選択で制限してもよく、通例は小数点第1位または第2位までに制限するが、他の値も使用することができる)。
【0040】
HTTPを使用してデバイス102と146間の通信を行う別の一実装では、ストリーミングメディアプレーヤ142からストリーミングモジュール144に送信されるメッセージに(例えば図3のヘッダ184として)次のHTTPヘッダを付加する。
プラグマ:速度=x
xは、コンテンツの符号化ビットレートに比例する要求された速度係数を表す。プラグマ(progma)ヘッダは、実装に固有の指示を含めるためにHTTPで使用される一般ヘッダフィールドである。上述のRTSPスピードヘッダと同様に、このヘッダは様々なメッセージに付加することができ、一実装では、ストリーミングメディアプレーヤ142からストリーミングモジュール144に送信される、メディアコンテンツのストリーミングを要求するメッセージに含められる。
【0041】
ストリーミングモジュール144は、この要求に応答する際には、HTTP GET応答メッセージに同様のヘッダ(プラグマ:速度=y)を入れてストリーミングメディアプレーヤ142に返送する。yは、ストリーミングモジュール144が要求のコンテンツをストリーミングする(コンテンツの符号化ビットレートに比例する)速度を表す(yは、値xと同じでも同じでなくともよい)。値xと同様に、値yは整数でも実数でもよい(小数点以下の桁数を任意選択で制限することができ、通例は小数点第1位または第2位までに制限するが、他の値を使用してもよい)。
【0042】
コンテンツのストリーミングレートは、符号化ビットレートを参照して識別することができるが、この識別は単にそれが容易な基準点であるために行うことに留意されたい。ストリーミングレートはなお符号化ビットレートには依存せず、実質的にどのような速度係数でも要求および/または選択することができ、その速度係数を識別する方式は符号化ビットレートを基準とする。
【0043】
図4に、サーバからクライアントにメディアコンテンツをストリーミングする例示的プロセス200を表すフローチャートを示す。プロセス200は、図2のデバイス102および146などのクライアントデバイスおよびサーバデバイスによって実施され、またソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで行うことができる。
【0044】
初めに、コンテンツの符号化ビットレートに依存しない、メディアコンテンツをストリーミングするときのストリーミングレートをクライアントデバイスとサーバデバイス間でネゴシエートする(動作202)。このネゴシエーションは、例えば、上述のようにクライアントによる要求速度の提出と、ストリーミング速度の戻し通知とすることができる。あるいは、このネゴシエーションは他の形を取ることもでき、サーバデバイス(または何らかの他のデバイス)によって開始し、クライアントデバイスがそのストリーミングレートに対して所望の変更を要求する、クライアントデバイスまたはサーバデバイスによって変更可能なデフォルトのレートを使用する、ストリーミングメディアコンテンツの識別子によって示され、クライアントデバイスまたはサーバデバイスによって変更することが可能なレートを使用する、などがある。ストリーミングレートをネゴシエートすると、ネゴシエートされたストリーミングレートでサーバデバイスからクライアントデバイスにメディアコンテンツをストリーミングする(動作204)。ストリーミングレートは、任意選択であって、後にコンテンツのストリーミング中に再度ネゴシエートすることができる(これを開始するのはクライアントデバイス、サーバデバイス、あるいは何らかの他のデバイスである)。
【0045】
図2に戻ると、通例、ストリーミングモジュール144は、ストリーミングメディアプレーヤ142に対してコンテンツファイル148全体をストリーミングメディアコンテンツとして転送することはない。通例は、ファイルヘッダや索引付け情報などの特定の情報は、ストリーミングメディアコンテンツの一部としてストリーミングメディアプレーヤ142に対して転送されない。この情報の厳密な性質は、ストリーミングモジュール144の設計方式と、メディアコンテンツのストリーミングに使用するフォーマットとに基づいて異なる可能性がある。そのような情報がクライアントデバイス102に転送されない場合は、ストリーミングメディアプレーヤ142(あるいはキャッシュマネジャ152)がその情報を生成し、その情報をキャッシュ150に追加する。したがってこの適切な情報はキャッシュ内コンテンツの一部として取得可能になり、キャッシュからストリーミングメディアコンテンツを再生する際にストリーミングメディアプレーヤ142によって使用することができる。
【0046】
ストリーミングメディアプレーヤ142は、ストリーミングメディアコンテンツの再生要求を受け取ると、キャッシュマネジャ152を介して、要求されたコンテンツがキャッシュ150内にあるかどうかを調べる。コンテンツがキャッシュ150にある場合(これを「キャッシュヒット」と呼ぶ)、ストリーミングメディアプレーヤ142は、サーバデバイス146ではなくキャッシュ150から要求されたストリーミングメディアコンテンツを取得する。ただし、コンテンツがキャッシュ150にない場合(これを「キャッシュミス」と呼ぶ)、ストリーミングメディアプレーヤ142は、要求されたストリーミングメディアコンテンツをサーバデバイス146から取得する。キャッシュが一杯になり、それ以上のストリーミングメディアコンテンツを入れるだけの記憶空間がなくなった場合には、新たなコンテンツを入れるスペースを作るためにすでにキャッシュされているコンテンツをキャッシュから削除(これをしばしばキャッシュから追い出すという)できることに留意されたい。各種ある従来のキャッシュ置換アルゴリズムを使用して、キャッシュから追い出すコンテンツを決定することができる。
【0047】
状況によっては、コンテンツファイル148に、符号化ビットレートが異なる複数の異なるストリーム(例えば、56kbpsで符号化された低品質のストリームと、300kbpsで符号化された高品質のストリームなど)が含まれる可能性がある。このようなファイルをしばしばマルチプルビットレートファイルと呼ぶ。そのような状況では、通例は1つのストリーム(例えば低品質のストリームまたは高品質のストリーム)だけをクライアントデバイス102にストリーミングし、そのストリームをキャッシュ150にキャッシュイングする。それと符号化ビットレートが同じである同一コンテンツに対する事後の要求は、キャッシュ150から満たすことができる(すなわちキャッシュヒットになる)が、別の符号化ビットレートに対する要求はキャッシュ150からは満たすことができない(キャッシュミスとなる)。あるいは、ストリーミングメディアプレーヤ142が、ストリーミングモジュール144からストリーミングされた符号化ビットレートをすべて備え、それによりそれらのレートすべてをキャッシュ150に記憶しておいてもよい。
【0048】
ストリーミングモジュール144は任意選択で、ストリーミングメディアコンテンツの満了時間(有効期限)を含んでもよい。この満了時間は、比例する時間(例えばコンテンツを送信してから5分後)であっても、固定された時間(例えば特定の日時)であってもよい。ストリーミングメディアコンテンツの満了時間は、各種の異なる方式で示すことができる。一実装では、HTTPのmax−ageキャッシュ制御指示を使用して満了時間を指示する。別の実装では、HTTPまたはRTSPのExpiresヘッダを使用して満了時間を指示する。
【0049】
期限が満了すると、ストリーミングメディアプレーヤ142は、キャッシュからコンテンツを再生する前にコンテンツを再確認する。この再確認は、通例、ストリーミングメディアプレーヤ142でコンテンツ要求(例えばコンテンツの再生を求めるユーザの要求)を受信したときに行っても、あるいは他のときに行ってもよい(例えば、そのコンテンツが要求されているかどうかに関係なく、ストリーミングメディアプレーヤ142またはキャッシュマネジャ152がキャッシュを監視して、満了時間が経過するとその期限切れを検出するということが可能である)。コンテンツの期限が満了すると、ストリーミングメディアプレーヤ142は、そのコンテンツを記述する新しい情報(それによりストリーミングメディアプレーヤ142はそのコンテンツに変化があるかどうかを判定することができる)と、新しい満了時間を回復する。
【0050】
コンテンツが変化していない場合、ストリーミングメディアプレーヤ142は、単にそのコンテンツの満了時間を新しい期限日に更新することができ、キャッシュ内のコンテンツには変更を行う必要がない。ただし、コンテンツが変化している場合は、ストリーミングメディアプレーヤ142は、そのコンテンツをキャッシュから取得するのではなく、要求されたそのコンテンツをストリーミングモジュール144からストリーミングする。あるいは、ストリーミングメディアプレーヤ142は、コンテンツの何が変化したのかを判断し、変化した部分だけをストリーミングモジュール144からストリーミングし、残りの部分はキャッシュから得ることを試みることもできる。
【0051】
ストリーミングメディアプレーヤ142は、記述オペレーションを使用して、サーバデバイス146から取得できる特定のコンテンツを記述した情報を得ることができる。ストリーミングモジュール144は、記述要求に応答して、ヘッダ情報(例えば、コンテンツについての書誌学的な(bibliographic)情報、コンテンツのストリームの特徴、そのコンテンツのインデックスを再生成するのに必要な情報などを含む)、コンテンツに関連のメタデータ、コンテンツの一部として取得可能なストリームのリストなど、識別されるメディアコンテンツを記述する各種の情報を返送する。返送された正確な情報は、ストリーミングモジュール144の実装方式と、メディアコンテンツをストリーミングするのに使用する特定のフォーマットとに応じて異なる可能性がある。この情報を使用してコンテンツを再確認することができる。
【0052】
一実装では、特定のコンテンツストリームのヘッダ情報は、コンテンツが変更された場合にコンテンツ作成者によって変更されるGUID(Globally Unique ID:グローバル一意識別子)を含む。この値は、「MMSタイプ」属性として知られる。コンテンツの変更はこのGUID値を調べることによって検出することができ、値が変化していなければコンテンツは変化しておらず、GUID値が変化していればコンテンツが変化していることになる。
【0053】
あるいは、別の情報を調べてコンテンツが変化しているかどうかを判定することができる。一実装では、コンテンツ記述情報は、最後に修正された日付の指示を含む(例えば図3のヘッダ184とすることができる)。新たに受け取った最後に修正された日付が、以前に受け取った最後に修正された日付と異なる場合、ストリーミングメディアプレーヤ142は、コンテンツが変化していると判断する。調べることが可能なこの他の情報は、コンテンツのハッシュ(hash)である。従来の各種のハッシングアルゴリズムを使用してコンテンツのハッシュ値を生成することができ、一般にはコンテンツを変更するとそのコンテンツのハッシュ値が変化する。ハッシュ値が変化している場合、ストリーミングメディアプレーヤ142は、コンテンツが変更されたと判断する。
【0054】
上述のように、ストリーミングメディアコンテンツは、複数コンテンツからなる再生リストとすることができる。メディアコンテンツの再生リストがキャッシュされている場合、ストリーミングメディアプレーヤ142は、再生リストの各メディアコンテンツを必要に応じて再確認する。キャッシュされた時点から変化しているコンテンツは、キャッシュから取得するのではなく、ストリーミングモジュール144からストリーミングする。また、再生リストのメディアコンテンツのすべてがクライアントデバイス102でキャッシュされてはいない状況が生じる場合がある。そのような状況では、キャッシュされていないコンテンツは、キャッシュから取得するのではなくストリーミングモジュール144からストリーミングする。
【0055】
また、再生リストに関しては、ストリーミングメディアプレーヤ142が、再生リスト中の次のコンテンツについての準備が整ったことをストリーミングモジュール144に指示する状況が生じる可能性がある。この指示は、「次のエントリのストリーム(stream next entry)」のコマンドをストリーミングモジュール144に通信することによって、あるいは、単にそのコンテンツがキャッシュから取得できる場合でも、現在のコンテンツをストリーミングモジュール144からストリーミングさせることによって、行うことができる(ストリーミングモジュール144は、現在のコンテンツの最後に達すると次のコンテンツのストリーミングを開始する時間であることを知る)。
【0056】
ストリーミングメディアコンテンツをキャッシングすることにより、ユーザが各種のシャトルコントロールオプション(例えば停止、一時停止、早送り、シーク、巻き戻しなど)を選択した場合でもコンテンツのストリーミングを継続することも可能になる。ストリーミングメディアプレーヤ142は、プレーヤ142のユーザにシャトルコントロールオプションが利用できるようにし、それによりユーザが必要に応じてストリーミングモジュール144の再生を制御できるようにする。ユーザが特定のシャトルコントロールコマンドを入力した際、ストリーミングメディアプレーヤ142の振る舞いは、入力されたコマンドに応じて異なる。ただし、多くの場合、ストリーミングメディアプレーヤ142は、ストリーミングモジュール144からのメディアコンテンツのストリーミングを継続する。
【0057】
ユーザが停止コマンドを入力した場合、ストリーミングメディアプレーヤ142は、ストリーミングメディアコンテンツの再生を中止するが、ストリーミングモジュール144からのコンテンツのストリーミングとキャッシュを継続する。同様に、ユーザが一時停止コマンドを入力した場合、ストリーミングメディアプレーヤ142は、ストリーミングメディアコンテンツの再生を一時停止するが、ストリーミングモジュール144からのコンテンツのストリーミングとキャッシングを継続する。さらに、ユーザが巻き戻しコマンドを入力した場合は、ストリーミングメディアプレーヤ142は、ストリーミングメディアコンテンツの巻き戻しを開始するが、引き続きストリーミングモジュール144からコンテンツをストリーミングし、キャッシュする。さらに、ユーザが早送りコマンドを入力した場合は、ストリーミングメディアプレーヤ142は、すでにキャッシュされたコンテンツ部分を通じてストリーミングメディアコンテンツの早送りを開始し、必要な範囲までコンテンツをストリーミングし、キャッシュし続ける。
【0058】
図5に、サーバからクライアントにメディアコンテンツをストリーミングし、同時にシャトルコントロールコマンドを受け取る例示的プロセス230を説明するフローチャートを示す。プロセス230は、図2のクライアントデバイス102のストリーミングメディアプレーヤ142など、クライアントデバイスのストリーミングメディアプレーヤによって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行することができる。
【0059】
初めに、ストリーミングメディアコンテンツの再生に係わるシャトルコントロール要求をストリーミングメディアプレーヤで受け取る(動作232)。ストリーミングメディアプレーヤは、要求に従ってストリーミングメディアコンテンツの再生を変える(動作234)が、ストリーミングメディアコンテンツの受信を継続する(動作236)。ストリーミングメディアプレーヤは、ユーザアクションを詳述する以後のログ提出を除いてはシャトルコントロールコマンドをサーバデバイスに知らせる必要はなく、通例は指示しないことに留意されたい。
【0060】
また、ユーザがシャトルコントロールコマンドを使用してストリーミングメディアコンテンツの再生をナビゲート(操縦)または制御する能力は、特定のコンテンツ(あるいは特定コンテンツの一部)に対しては制限されることもある。例えば、ユーザは、ストリーミングメディアコンテンツの特定の部分(例えば広告)では早送りできない場合がある。そのような制限の指示は、ストリーミングモジュール144からストリーミングメディアプレーヤによって受信され、ストリーミングメディアコンテンツとともにキャッシュされる。したがって、キャッシュからストリーミングメディアコンテンツを再生する際には、そのような制限も実施される。
【0061】
ストリーミングメディアコンテンツをキャッシュすることにより、さらに、後の時間に再生するためにコンテンツを記録することが可能になる。コンテンツの少なくとも一部は、コンテンツがストリーミングされ、キャッシュされるのと同時にユーザに対して再生することができ、あるいは、コンテンツのどの部分も後の時間まで再生しないことも可能である(例えば、コンテンツのキャッシングが完了してからしばらく経ってから再生するなど)。例えば、ユーザは、複数のストリーミングメディアコンテンツをキャッシュする要求をストリーミングメディアプレーヤ142に入力し、後の時間(例えば同じ日の後の時間、翌日、翌週、翌月など)にそれらのコンテンツを再生することができる。そのような要求は、例えば具体的な「コンテンツのキャッシュ」要求であるか、あるいは単に再生要求である。ストリーミングメディアプレーヤ142は、そのような要求を受信すると、ストリーミングモジュール144と通信して、ストリーミングメディアプレーヤ142がユーザのためにそのコンテンツを再生する場合と同じ方式で、要求されたコンテンツをストリーミングさせる。ただし、コンテンツをクライアントデバイス102で受信した場合は、ストリーミングメディアプレーヤ142は、そのコンテンツを不揮発性記憶装置150にキャッシュし、(ユーザから要求されない限りは)そのコンテンツをその時間には再生しない。ユーザが後にそのコンテンツの再生を要求すると、ストリーミングメディアプレーヤ142は、そのコンテンツをキャッシュメモリから入手する(ただし、コンテンツの期限が切れていないことを前提とする。または、コンテンツの期限が切れている場合はコンテンツが変更されていないことを前提とする)。
【0062】
ストリーミングメディアコンテンツをキャッシュすることにより、さらに、時間をずらしたストリーミングメディアコンテンツの再生が可能になる。時間をずらした再生では、ユーザは、ストリーミングと同時にストリーミングコンテンツをナビゲートし、制御することができる(例えば一時停止、巻き戻し、早送りなどのコマンドの入力により)。例えば、ユーザはストリーミングメディアコンテンツの再生を特定の位置で一時停止し、数分後にその位置から再生を再開することができ、再生が一時停止されていた間にさらなるコンテンツがクライアントデバイス102にストリーミングされていても、再生はなおユーザが再生を一時停止した位置から再開する。別の例として、ユーザは、コンテンツのある部分をもう一度(あるいはさらに複数回)見るために、ストリーミング中にストリーミングメディアコンテンツを巻き戻すことができる。ユーザが例えば3分だけコンテンツを巻き戻した場合、ユーザはその3分間をもう一度見ることができ、その3分間分先行するコンテンツが再度再生されていた間にさらなるコンテンツがクライアントデバイス102にストリーミングされていても、再生は、ユーザが巻き戻しコマンドを入力したコンテンツ中の時点から(再生にユーザが気づくような中断を生じずに)継続する。
【0063】
図6に、後に再生するためにストリーミングメディアコンテンツを記録する例示的プロセス260を説明するフローチャートを示す。プロセス260は、図2のクライアントデバイス102のストリーミングメディアプレーヤ142など、クライアントデバイスのストリーミングメディアプレーヤによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで行うことができる。
【0064】
初めに、サーバからストリーミングメディアコンテンツを受信する(動作262)。受信したストリーミングメディアコンテンツは、クライアントデバイスのキャッシュにローカルに記憶する(動作264)。ストリーミングメディアコンテンツを再生する要求を後の時間に受け取る(動作266)が、これはメディアコンテンツのストリーミングが完了した後でも、完了しない時点でもよい。再生要求に応答して、ローカルに保存されたストリーミングメディアコンテンツを再生する(動作268)。
【0065】
また、ストリーミングメディアプレーヤ142がストリーミングメディアコンテンツを再生する際には、通例、ストリーミングメディアプレーヤ142からストリーミングモジュール144に各種のロギング情報が返送される。ストリーミングメディアプレーヤ142がストリーミングモジュール144ではなくクライアントデバイス102のキャッシュからストリーミングメディアコンテンツを取得する状況でも、このロギング情報をストリーミングモジュール144に返送しなければならない。ロギング情報は、ストリーミングメディアプレーヤ142がコンテンツの再生に費やした時間量、複数回再生されたコンテンツ部分、スキップされたコンテンツ部分、コンテンツの再生が一時停止されたか、もしそうであればコンテンツ中のどの点で一時停止が行われたか、ストリームコンテンツを受信したネットワーク接続に伴う問題など、各種の情報を含むことができる。
【0066】
ロギング情報は、各種の異なる方式でサーバデバイス146に通信することができる。一実装では、追従のヘッダを使用してメッセージを送信して、メッセージ本体(図3の本体188)にロギング情報が含まれることを知らせる。
Content−Type:application/x−wms−sendevent
【0067】
ただし、この代わりに異なるヘッダを送信してもよい。このメッセージは、例えば、RTSPのSET_PARAMETERメッセージ、またはHTTPのPOSTメッセージなどである。
【0068】
すべてのストリーミングメディアコンテンツがクライアントデバイス102でキャッシュ可能であるとは限らないことに留意されたい。ストリーミングメディアコンテンツをクライアントデバイス102でキャッシュしない様々な状況がありうる。こうした状況には、例えば、サーバデバイスがキャッシングをサポートしない状況、コンテンツ作成者または配信者が特定のコンテンツをキャッシュすべきでないことを知らせている状況、クライアントデバイス102のユーザによってキャッシングが使用禁止にされている状況などがある。さらに、一部の実施形態では、ブロードキャストコンテンツなど特定のコンテンツはキャッシュするべきでないとしている(他の実施形態ではブロードキャストコンテンツをキャッシュすることができる)。ストリーミングメディアプレーヤ142は、特定のコンテンツをキャッシュすべきでないと判定した場合、そのコンテンツをキャッシュしない。
【0069】
一実装では、ストリーミングメディアプレーヤ142がストリーミングモジュール144からコンテンツをストリーミングするように要求すると、ストリーミングモジュール144は、要求されたコンテンツのキャッシングがストリーミングモジュール144によってサポートされるかどうかの通知を返送する。この指示はメッセージヘッダ(例えば図3のヘッダ184)に含めることができ、「サポート(supported:支援)」ヘッダと称する。サポートヘッダ中の指示の一例を次に示す。
com.microsoft.wm.fastcache
【0070】
ただし、これに代えて他のヘッダを使用することもできる。このサポートヘッダがあるということは、ストリーミングモジュール144がクライアントデバイス102のキャッシングをサポート(支援)するということを示しており、それでストリーミングモジュール144は、例えば、メディアコンテンツを符号化ビットレートに依存しないレートでストリーミングし、キャッシュされたコンテンツについてのロギング情報を受信することなどを可能にする。このサポートヘッダがない場合は、ストリーミングメディアプレーヤ142は、メッセージに関連のストリーミングメディアコンテンツをキャッシュしない。
【0071】
さらに、特定の部分のストリーミングメディアコンテンツのキャッシングを制御するのに、各種のキャッシュ制御指示を使用することができる。キャッシュ制御ヘッダは、キャッシュマネジャ152(また、キャッシュメモリを含むプロキシサーバなどの任意の仲介デバイス)が、関連のストリーミングメディアコンテンツのキャッシングをどのように処理するかを記述する情報を含む。キャッシュ制御ヘッダは、そのメッセージを受け取るすべてのキャッシング機構が従うべき指示を指定するのに使用される。ここでは述べないが、追加的なキャッシュ制御指示(例えば従来のHTTPまたはRTSPのキャッシュ制御指示)をキャッシュ制御ヘッダに含めてもよい。
【0072】
使用するプロトコルに応じて、ストリーミングメディアプレーヤだけが関連のコンテンツをキャッシュできることを示すキャッシュ制御指示を含めてもよいし、含めなくともよい。ストリーミング媒体および非ストリーミング媒体(例えばHTTP)両方に向けて設計されたプロトコルには、通例、ストリーミングメディアプレーヤ(一般的なHTTPコンポーネント(例えばウェブブラウザ)やプロキシデバイスではない)が関連のコンテンツをキャッシュできることを示す指示を使用する。ただし、ストリーミング媒体用に特に設計されたプロトコル(例えばRTSP)には、ストリーミングメディアプレーヤだけが関連のコンテンツをキャッシュできるという指示は必要ない(したがって通例は使用しない)。
【0073】
下記の表Iに、例示的なキャッシュ制御指示と、ストリーミング媒体用に特に設計されたプロトコル(例えばRTSP)とでキャッシングが可能かどうかを示す。表IIは、例示的なキャッシュ制御指示と、ストリーミング媒体向けでないプロトコル(例えばHTTP)でキャッシングが可能かどうかを示す。
【0074】
【表1】
Figure 2004054930
【0075】
【表2】
Figure 2004054930
【0076】
表IIで、「user−public」の指示は、ストリーミングメディアプレーヤ142によって、関連のコンテンツをキャッシュできるものと理解されたく、また「no−cache」の指示を無効にするということに留意されたい。ただし、「user−public」の指示が含まれない場合は、「no−cache」の指示により、関連のコンテンツをキャッシュできないことがストリーミングメディアプレーヤ142に示される。さらに、一般的なHTTPキャッシュまたはプロキシデバイスは、「user−public」の指示を理解せず、したがって単に「no−cache」指示に従い、コンテンツをキャッシュしない。
【0077】
特定の部位のコンテンツをキャッシュするかどうかを判定する際には、各種の他の要因も絡む可能性がある。一実装では、URL(Uniform Resource Locator)などのストリーミングメディアコンテンツ識別子が、コンテンツでのキャッシュが可能である、あるいは可能でないことを示す指示を含むことができる。例えば、値「?WMCache=0」を使用して、コンテンツのキャッシングを行わないことを示し、値「?WMCache=1」を使用してコンテンツのキャッシングを行うことを示すことができる。別の実装では、ストリーミングメディアプレーヤ142は、ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを明確に使用禁止にすることを可能にし、それに応じて、ストリーミングメディアコンテンツがストリーミングメディアプレーヤ142によってキャッシュされないこととなる。さらに別の実装では、ストリーミングメディアプレーヤ142は、どのストリーミングメディアコンテンツもキャッシュしないことを決定することができる(例えば、ストリーミングメディアプレーヤ142は、コンテンツをキャッシングするのに十分な記憶空間がない、あるいはコンテンツをそのキャッシュから再生した回数が閾値回数を下回るため、以降受信するストリーミングメディアコンテンツをキャッシュしないと決定することなどができる)。さらに別の実装では、特定タイプのストリーミングメディアコンテンツのみをキャッシュすることができる(例えばオンデマンドコンテンツはキャッシュ可能であるが、ブロードキャストコンテンツはキャッシュ可能でないなど)。
【0078】
また、ストリーミングメディアプレーヤ142が、あるストリーミングメディアコンテンツをキャッシュすると決定した場合、そのキャッシングのために任意選択で各種の制約をストリーミングメディアプレーヤに課すことができる。例えば、そのコンテンツをキャッシュする場合にはストリームの間引き(thinning)(例えば、帯域幅を節減するためにサーバデバイスからストリーミングするフレーム数を減らすなど)を要求しないようにストリーミングメディアプレーヤ142を設定することができる。
【0079】
図7に、クライアントデバイスでストリーミングメディアコンテンツをキャッシュする例示的プロセス300を説明するフローチャートを示す。プロセス300は、図2のクライアントデバイス102のストリーミングメディアプレーヤ142などクライアントデバイスのストリーミングメディアプレーヤによって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行することができる。
【0080】
初めに、サーバデバイスからストリーミングメディアコンテンツを受信する(動作302)。プロセス300は、そのストリーミングメディアコンテンツのキャッシングが可能であるかどうか(動作304)に基づいて進行する。キャッシングが可能である場合はコンテンツを不揮発性の記憶装置に保存し(動作306)、ストリーミングメディアコンテンツを再生が可能な状態にする(動作308)。動作308でそのストリーミングメディアコンテンツをキャッシュした場合には、そのコンテンツのストリーミングと同時に、かつ/または後の時間に再生可能な状態にできることに留意されたい。ただしキャッシングが可能でない場合は、単にストリーミングメディアコンテンツを再生可能な状態とし(動作308)、すなわちキャッシュしない場合には、そのコンテンツは再度ストリーミングしなければ後の時間に再生することができない。
【0081】
図8Aおよび8Bは、クライアントデバイスでストリーミングメディアコンテンツをキャッシュするかどうかを判定する例示的プロセス330を説明するフローチャートである。プロセス330は、図2のクライアントデバイス102のストリーミングメディアプレーヤ142など、クライアントデバイスのストリーミングメディアプレーヤによって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行することができる。
【0082】
初めに、ストリーミングメディアプレーヤは、サーバデバイスから取得可能なストリーミングメディアコンテンツにアクセスすることを試み(図8Aの動作336)、サーバデバイスからそのストリーミングメディアコンテンツのヘッダ情報を取得する(動作338)。ストリーミングメディアプレーヤは次いで、ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしているかどうかを調べる(動作340)。ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしている場合は、クライアントでストリーミングメディアコンテンツをキャッシュメモリに入れない(動作342)。ただし、ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしていない場合は、ストリーミングメディアプレーヤは、ストリーミングメディアコンテンツの識別子にそのコンテンツがキャッシングしないと示されているかどうかを調べる(動作344)。キャッシングしないと示されている場合は、ストリーミングメディアコンテンツをクライアントでキャッシュしない(動作342)。
【0083】
ただし、ストリーミングメディアコンテンツの識別子にそのコンテンツがキャッシングしないと示されていない場合は、ストリーミングメディアプレーヤは、そのストリーミングメディアプレーヤが、ストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしているかどうかを調べる(動作346)。使用禁止にしている場合には、ストリーミングメディアコンテンツをクライアントでキャッシュメモリに入れない(動作342)。使用禁止でない場合には、ストリーミングメディアプレーヤは、ストリーミングメディアコンテンツ識別子がコンテンツビットレートの変更子を含むかどうかを調べる(動作348)。
【0084】
コンテンツビットレートの変更子が含まれる場合には、ストリーミングメディアプレーヤは、そのコンテンツビットレート変更子の値を超えない最高のビットレートを有するストリームのセットを選択する(図8Bの動作352)。コンテンツビットレートの変更子が含まれない場合には、ストリーミングメディアプレーヤは、リンク帯域幅とも称するクライアントとサーバ間の帯域幅に基づいてストリームのセットを選択する(図8Bの動作350)。
【0085】
ストリームを選択すると、ストリーミングメディアプレーヤは、ストリーミングメディアコンテンツの識別子がそのコンテンツをキャッシュすべきと示しているかどうかに基づいて進行する(動作354)。キャッシュすべきと示されていない場合には、ストリーミングメディアプレーヤは、リンク帯域幅が、選択したストリームのビットレートの合計の1.5倍を超えるか、または選択したストリームのビットレートの合計の0.9倍未満であるかどうかを調べる(動作356)。あるいは、動作356では1.5および0.9以外の値を使用してもよい。リンク帯域幅が、選択したストリームのビットレート合計の1.5倍を超えないか、または選択したストリームのビットレート合計の0.9倍未満でない場合には、クライアントでストリーミングメディアコンテンツをキャッシュしない(図8Aの動作342)。ただし、リンク帯域幅が、選択したストリームのビットレート合計の1.5倍を超えるか、または、選択したストリームのビットレート合計の0.9倍未満である場合には、ストリーミングメディアプレーヤは、選択したプロトコルがストリーミングメディアコンテンツのクライアントでのキャッシングをサポートするかどうかを調べる(動作358)。例示的な一実装では、TCP(伝送制御プロトコル)によるデータ配信を使用したHTTP1.1およびRTSPで、ストリーミングメディアコンテンツのクライアントでのキャッシングがサポートされる。
【0086】
プロトコルがストリーミングメディアコンテンツのクライアントでのキャッシングをサポートしない場合には、ストリーミングメディアコンテンツをクライアントでキャッシュしない(図8Aの動作342)。プロトコルがストリーミングメディアコンテンツのクライアントでのキャッシングをサポートする場合、またはストリーミングメディアコンテンツの識別子がコンテンツをキャッシュすべきであると示す(動作354)場合には、ストリーミングメディアプレーヤは、サーバがクライアントでのキャッシングを許可するかどうかを調べる(動作360)。サーバがクライアントでのキャッシングを許可しない場合には、ストリーミングメディアコンテンツをクライアントでキャッシュしない(図8Aの動作342)。ただしサーバでクライアントでのキャッシングが可能であるとしている場合には、ストリーミングメディアコンテンツを入れるだけの空間がキャッシュメモリにあるかどうかを調べる(動作362)。ストリーミングメディアコンテンツをキャッシュするのに必要な空間量は、例えば図8Aの動作338で受信するヘッダ情報で識別することができる。必要な場合にはすでにキャッシュされているコンテンツを任意選択でキャッシュメモリから追い出して十分な空間を作成することもできる。キャッシュメモリに十分な空間がない場合には、ストリーミングメディアコンテンツをクライアントでキャッシュしない(図8Aの動作342)。ただしキャッシュするのに十分な空間がある場合には、ストリーミングメディアコンテンツをクライアントでキャッシュする(動作364)。
【0087】
ストリーミングメディアコンテンツがブロードキャストコンテンツである場合など、状況によっては、コンテンツのサイズが分からない場合には、そのためそのコンテンツのすべてに十分な空間がキャッシュにあるかどうかの判定(動作362)を行わない場合があることに留意されたい。そのような状況では、単にキャッシュにそれ以上コンテンツを入れるだけのメモリ空間がなくなるまでコンテンツをキャッシュして、空間がなくなった時点でストリーミングメディアコンテンツのキャッシングをやめるようにしてもよい。あるいは、図8Aの動作338で受信するヘッダ情報に入れるなどにより、ストリーミングメディアコンテンツのおよそのサイズをストリーミングメディアプレーヤが取得できるようにしてもよい(例えば、予測されるブロードキャスト継続時間や、ブロードキャストストリーミングメディアコンテンツの符号化ビットレートなどからブロードキャストコンテンツのおよそのサイズを容易に判定することができる)。
【0088】
図8Aおよび8Bのプロセス330は、クライアントデバイスにストリーミングメディアコンテンツをキャッシュするかどうかを判定する例示的なプロセスであり、プロセス330には色々な修正を加えてよいことにも留意されたい。例えば、ブロードキャストコンテンツをキャッシュしない実施形態では、コンテンツがブロードキャストコンテンツであるかどうかを調べ、ブロードキャストコンテンツである場合にはコンテンツをキャッシュしない(動作342)ように、追加的な動作をプロセス330に含めることができる。別の実施形態では、コンテンツ識別子がコンテンツをキャッシュすべきと指示しているかどうかを調べることができ、キャッシュすべきとの場合は、その指示が他のデフォルト設定に優先することができる(例えば、デフォルトではブロードキャストコンテンツをキャッシュしないが、キャッシュが可能というコンテンツ識別子中の指示によってそれを無効にすることができる)。さらに別の実施形態では、ユーザはクライアントでのキャッシングを使用禁止にすることが許されず、したがって動作340をプロセス330に含める必要がない。さらに別の実施形態では、コンテンツをキャッシュすべきかどうかをコンテンツ識別子で示すことができず、したがって動作344をプロセス330に含める必要がない。
【0089】
本明細書には各種のプロセスをフローチャートの形で例示している。これらのプロセスに伴う動作は、フローチャートに示す順序で行っても、あるいは別の順序で行ってもよいことに留意されたい。例えば図8Aおよび8Bでは、動作を図の順序で行っても、あるいは動作360または動作362を動作340より前に行っても、動作346を動作344の前に行ってもよい。
【0090】
図9に、本明細書に記載された本発明に係わる技術を実施するのに使用できる例示的な一般的コンピューティング環境400を示す。コンピュータ環境400はコンピューティング環境の一例に過ぎず、このコンピュータおよびネットワークアーキテクチャの使用または機能性の範囲について何らの制限を示唆するものではない。またコンピュータ環境400は、例示的コンピュータ環境400に示す構成要素の任意の1つまたは組合せに関連する依存関係または必要性を有するものとも解釈すべきでない。
【0091】
コンピュータ環境400は、コンピュータ402の形態の汎用コンピューティングデバイスを含む。コンピュータ402は、例えば図1のクライアント102またはサーバ104、または図2のクライアント102またはサーバ146である。コンピュータ402の構成要素には、これらに限定しないが、1つまたは複数のプロセッサまたは処理装置404、システムメモリ406、およびプロセッサ404を含む各種のシステムコンポーネントをシステムメモリ406に結合するシステムバス408が含まれる。
【0092】
システムバス408は、各種のバスアーキテクチャの任意のものを使用したメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックポート(AGP)、およびプロセッサバスまたはローカルバスを含む数タイプのバス構造の任意の1つまたは複数を表す。例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)バス、およびメザニンバスとも称されるPCI(Peripheral Component Interconnects)バスが含まれる。
【0093】
コンピュータ402は通例各種のコンピュータ可読媒体を含む。そのような媒体は、コンピュータ402がアクセスできる任意の利用可能媒体でよく、揮発性および不揮発性の媒体、取り外し可能および取り外し不能媒体が含まれる。
【0094】
システムメモリ406は、ランダムアクセスメモリ(RAM)410などの揮発性メモリの形態と、および/または読み取り専用メモリ(ROM)412など不揮発性メモリの形態のコンピュータ可読媒体を含む。起動時などにコンピュータ402内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム(BIOS)414は、ROM412に記憶される。RAM410は通例、処理装置404から即座にアクセス可能な、かつ/または現在処理装置404によって操作中のデータおよび/またはプログラムモジュールを含む。
【0095】
コンピュータ402は、この他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例として、図9には、取り外し不能、不揮発性の磁気媒体(図示せず)の読み取りおよび書き込みを行うハードディスクドライブ416、取り外し可能、不揮発性の磁気ディスク420(例えば「フロッピー(登録商標)ディスク」)の読み取りおよび書き込みを行う磁気ディスクドライブ418、およびCD−ROM、DVD−ROM、あるいは他の光媒体などの取り外し可能、不揮発性の光ディスク424の読み取りおよび書き込みを行う光ディスクドライブ422を示す。ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422はそれぞれ、1つまたは複数のデータメディアインタフェース425によってシステムバス408に接続される。あるいは、ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422は、1つまたは複数のインタフェース(図示せず)によってシステムバス408に接続することもできる。
【0096】
これらのディスクドライブとそれに関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ402のその他のデータの不揮発性の記憶を提供する。この例示としてハードディスク416、取り外し可能磁気ディスク420、および取り外し可能光ディスク424を図示しているが、これ以外に、磁気カセットまたはその他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光ストレージ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能読み取り専用メモリ(EEPROM)など、データを記憶することができ、コンピュータによるアクセスが可能な他のタイプのコンピュータ可読媒体をこの例示的コンピューティングシステムおよび環境の実装に利用できることも理解されたい。
【0097】
ハードディスク416、磁気ディスク420、光ディスク424、ROM412、および/またはRAM410には任意数のプログラムモジュールを格納することができ、この例には、オペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、その他のプログラムモジュール430、およびプログラムデータ432が含まれる。そのようなオペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、他のプログラムモジュール430、およびプログラムデータ432(またはこれらの何らかの組合せ)はそれぞれ、分散ファイルシステムをサポートする常駐コンポーネントのすべてまたは一部を実装することができる。
【0098】
ユーザは、キーボード434やポインティングデバイス436(例えば「マウス」)などの入力装置を介して、コンピュータ402にコマンドと情報を入力することができる。この他の入力装置438(具体的には図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、シリアルポート、スキャナなどがある。これらおよびその他の入力装置は、システムバス408に結合された入出力インタフェース440を介して処理装置404に接続されるが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス(USB)など、他のインタフェースおよびバス構造によって接続することもできる。
【0099】
モニタ442またはその他のタイプの表示装置もビデオアダプタ444などのインタフェースを介してシステムバス408に接続することができる。モニタ442以外の他の出力周辺装置には、入出力インタフェース440を介してコンピュータ402に接続できるスピーカ(図示せず)やプリンタ446などのコンポーネントが含まれる。
【0100】
コンピュータ402は、遠隔コンピュータ装置448など1つまたは複数の遠隔コンピュータへの論理結合を使用するネットワーク環境で動作することができる。例として、遠隔コンピュータ装置448は、パーソナルコンピュータ、携帯型コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、あるいはその他の一般的なネットワークノードなどである。遠隔コンピュータ装置448は、ここでコンピュータ402との関連で挙げた要素および機能の多くまたはすべてを含むことが可能な携帯型コンピュータとして図示している。
【0101】
コンピュータ402と遠隔コンピュータ448間の論理接続は、ローカルエリアネットワーク(LAN)450および一般的な広域ネットワーク(WAN)452として図示している。このようなネットワーク環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、およびインターネットに一般的に見られる。
【0102】
LANネットワーク環境で実装する場合、コンピュータ402は、ネットワークインタフェースまたはアダプタ454を介してローカルネットワーク450に接続される。WANネットワーク環境で実装する場合、コンピュータ402は通例、広域ネットワーク452を通じて通信を確立するためのモデム456またはその他の手段を含む。モデム456は、コンピュータ402の内部にあっても外部にあってもよく、入出力インタフェース440またはその他の適切な機構を介してシステムバス408に接続することができる。図のネットワーク接続は例示的なものであり、コンピュータ402と448の間に通信リンクを確立することのできる他の手段を用いてもよいことを理解されたい。
【0103】
コンピューティング環境400で示すようにネットワークされた環境では、コンピュータ402との関連で図に示すプログラムモジュールまたはその一部は、遠隔のメモリ記憶装置に格納することができる。例として、リモートアプリケーションプログラム458が遠隔コンピュータ448のメモリ装置に常駐している。例示のために、アプリケーションプログラムおよびオペレーティングシステムなどのその他の実行可能なプログラムコンポーネントをここでは別個のブロックとして表しているが、そのようなプログラムおよびコンポーネントは、様々な時にコンピューティングデバイス402の別々のストレージコンポーネント(記憶構成要素)に常駐し、コンピュータのデータプロセッサによって実行されることが分かる。
【0104】
ここでは各種のモジュールおよび技術を、1つまたは複数のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通例、プログラムモジュールの機能は、各種の実施形態で必要に応じて組み合わせても分散させてもよい。
【0105】
こうしたモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に格納しても、そうしたコンピュータ可読媒体を通じて送信してもよい。コンピュータ可読媒体は、コンピュータによるアクセスが可能な任意の利用可能媒体でよい。例として、これに限定しないが、コンピュータ可読媒体は、「コンピュータ記憶媒体」と「通信媒体」を含むことができる。
【0106】
「コンピュータ記憶媒体」には、コンピュータ可読命令、データ構造、プログラムモジュール、あるいは他のデータなどの情報を記憶するための任意の方法または技術で実行される、揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。コンピュータ記憶媒体には、これらに限定しないが、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気記憶装置、あるいは所望の情報の記憶に使用することができ、コンピュータによってアクセスできる任意の他の媒体が含まれる。
【0107】
「通信媒体」は通例、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを搬送波やその他の移送機構などの変調データ信号で具現化する。通信媒体には、任意の情報伝達媒体も含まれる。用語「変調データ信号」とは、信号中に情報を符号化するような形でその特性の1つまたは複数を設定または変化させた信号を意味する。例として、通信媒体には、これらに限定しないが、配線ネットワークや直接配線接続などの配線媒体と、音響、RF(無線周波数)、赤外線、その他の無線媒体などの無線媒体が含まれる。上記の媒体の組合せもコンピュータ可読媒体の範囲に含まれる。
【0108】
上記の説明では、構造的特徴および/または方法論的な動作に固有の術語を使用しているが、頭記の特許請求の範囲に定義する本発明はここに記載する特定の特徴または動作に限定されないことを理解されたい。それら特定の特徴および動作は、本発明を実施する例示的形態として開示する。
【図面の簡単な説明】
【図1】ストリーミングメディアコンテンツのクライアント側でのキャッシングを用いることができる例示的なネットワーク環境を示す図である。
【図2】例示的なクライアントデバイスおよびサーバデバイスを示す図である。
【図3】ストリーミングメディアデータを通信する際に使用できる例示的なメッセージフォーマットを示す図である。
【図4】サーバからクライアントにメディアコンテンツをストリーミングする例示的プロセスを示すフローチャートである。
【図5】サーバからクライアントにメディアコンテンツをストリーミングするのと同時に、シャトルコントロールコマンドを受け付ける例示的プロセスを示すフローチャートである。
【図6】後の再生のためにストリーミングメディアコンテンツを記録する例示的プロセスを示すフローチャートである。
【図7】クライアントデバイスにストリーミングメディアコンテンツをキャッシュする例示的プロセスを示すフローチャートである。
【図8A】ストリーミングメディアコンテンツをクライアントデバイスにキャッシュするかどうかを判定する例示的プロセスを示すフローチャートである。
【図8B】ストリーミングメディアコンテンツをクライアントデバイスにキャッシュするかどうかを判定する例示的プロセスを示すフローチャートである。
【図9】本発明に係わる技術を実施するのに使用できる例示的な一般的コンピュータ環境を示す図である。
【符号の説明】
100 ネットワーク環境
102(1)、102(2)、102(x) クライアントデバイス
104(1)、104(2)、104(x) オリジンサーバデバイス
106 ネットワーク
108 キャッシングプロキシサーバ
142 ストリーミングメディアプレーヤ
144 ストリーミングモジュール
146 ソースサーバデバイス
148 コンテンツファイル
150 不揮発性記憶装置(キャッシュメモリ)
152 キャッシュマネジャ
180 データ構造
182 スタートライン部分
184 ヘッダ
186 空のライン
188 メッセージ本体
400 コンピュータ環境
402 コンピュータ
404 処理装置
406 システムメモリ
408 システムバス
410 RAM
412 ROM
414 BIOS
416 ハードディスクドライブ
418 磁気ディスクドライブ
420 磁気ディスク
422 光ディスクドライブ
424 光ディスク
425 データメディアインタフェース
426 オペレーティングシステム
428 アプリケーションプログラム
430 プログラムモジュール
432 プログラムデータ
434 キーボード
436 ポインティングデバイス(マウス)
438 他の入力装置(他のデバイス)
440 入出力インターフェース
442 モニタ
444 ビデオアダプタ
446 プリンタ
448 遠隔コンピュータ装置
450 LAN
452 WAN(インターネット)
456 モデム
458 リモートアプリケーションプログラム

Claims (77)

  1. クライアントデバイスの1つまたは複数のプロセッサによって実行されるときに、前記1つまたは複数のプロセッサにより、
    サーバデバイスから、ストリーミングメディアコンテンツを該ストリーミングメディアコンテンツの符号化ビットレートに依存しないレートで受信させる
    複数の命令が格納されていることを特徴とする1つまたは複数のコンピュータ可読媒体。
  2. 前記複数の命令は、さらに前記1つまたは複数のプロセッサに、
    前記受信したストリーミングメディアコンテンツを不揮発性の記憶装置に保存させる
    ことを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
  3. 前記サーバデバイスはプロキシサーバを含むことを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
  4. 前記複数の命令はさらに前記1つまたは複数のプロセッサに、
    前記ストリーミングメディアコンテンツについて要求されたレートを指示する速度要求を前記サーバデバイスに送信させ、
    前記ストリーミングメディアコンテンツの前記レートの指示を前記サーバデバイスから受信させる
    ことを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
  5. 前記要求されたレートは値xで表され、前記速度要求は、
    プラグマ:速度=x
    を含むストリーミング速度メッセージヘッダであることを特徴とする請求項4に記載の1つまたは複数のコンピュータ可読媒体。
  6. 前記要求されたレートは値xで表され、前記速度要求は、
    速度=x
    を含むストリーミング速度メッセージヘッダであることを特徴とする請求項4に記載の1つまたは複数のコンピュータ可読媒体。
  7. サーバデバイスで実施される方法であって、
    ストリーミングメディアコンテンツに対する要求をクライアントデバイスから受信することと、
    前記メディアコンテンツを前記コンテンツの符号化ビットレートに依存しないレートで前記クライアントデバイスにストリーミングすることと
    を含むことを特徴とする方法。
  8. 前記ストリーミングメディアコンテンツに対する要求をユーザから受信することと、
    前記ユーザの要求に応答して、前記サーバデバイスに前記ストリーミングメディアコンテンツを要求することと
    をさらに含むことを特徴とする請求項7に記載の方法。
  9. 前記受信したストリーミングメディアコンテンツをキャッシュすること
    をさらに含むことを特徴とする請求項7に記載の方法。
  10. 前記サーバデバイスは、プロキシサーバを含むことを特徴とする請求項7に記載の方法。
  11. 前記ストリーミングメディアコンテンツに要求されたレートを指示する速度要求を前記サーバデバイスに送信することと、
    前記ストリーミングメディアコンテンツの前記レートの指示を前記サーバデバイスから受信することと
    をさらに含むことを特徴とする請求項7に記載の方法。
  12. 前記要求されたレートは値xで表され、前記速度要求は、
    プラグマ:速度=x
    を含むストリーミング速度メッセージヘッダであることを特徴とする請求項11に記載の方法。
  13. 前記要求されたレートは値xで表され、前記速度要求は、速度=x
    を含むストリーミング速度メッセージヘッダであることを特徴とする請求項11に記載の方法。
  14. クライアントデバイスの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    ストリーミングメディアコンテンツの再生を少なくとも一時的に停止する要求を受信させ、
    前記クライアントデバイスにおける前記ストリーミングメディアコンテンツの再生を停止させ、
    前記ストリーミングメディアコンテンツの再生を停止させる要求に関わらず、前記ストリーミングメディアコンテンツの受信を継続させる
    複数の命令が格納されていることを特徴とする1つまたは複数のコンピュータ可読媒体。
  15. 前記要求は停止コマンドを含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
  16. 前記要求は一時停止コマンドを含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
  17. 前記複数の命令はさらに、前記1つまたは複数のプロセッサに前記受信したストリーミングメディアコンテンツをキャッシュさせることを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
  18. サーバからストリーミングメディアコンテンツを受信することと、
    ユーザからシャトルコントロールオプションを受信することと、
    前記サーバに前記シャトルコントロールオプションを指示せずに、前記シャトルコントロールオプションに従って前記ストリーミングメディアコンテンツの再生を変更することと
    を含むことを特徴とする方法。
  19. 前記シャトルコントロールオプションは停止コマンドを含むことを特徴とする請求項18に記載の方法。
  20. 前記シャトルコントロールオプションは一時停止コマンドを含むことを特徴とする請求項18に記載の方法。
  21. 前記シャトルコントロールオプションは巻き戻しコマンドを含むことを特徴とする請求項18に記載の方法。
  22. 前記シャトルコントロールオプションは早送りコマンドを含むことを特徴とする請求項18に記載の方法。
  23. 前記サーバから受信すると前記ストリーミングメディアコンテンツをキャッシュすること
    をさらに含むことを特徴とする請求項18に記載の方法。
  24. クライアントデバイスの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    サーバデバイスからストリーミングメディアコンテンツを受信させ、
    前記受信したストリーミングメディアコンテンツを前記クライアントデバイスの不揮発性記憶装置に保存させる
    複数の命令が格納されていることを特徴とする1つまたは複数のコンピュータ可読媒体。
  25. 前記サーバデバイスはプロキシサーバを含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  26. 前記不揮発性記憶装置はハードディスクドライブを含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  27. 前記不揮発性記憶装置は、光ディスクおよび光ディスクドライブを含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  28. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、コンテンツをキャッシュすることが許される旨の指示を前記サーバデバイスから受信した場合にのみ、前記1つまたは複数のプロセッサに、その受信したストリーミングメディアコンテンツを保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  29. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、ストリーミングメディアコンテンツのキャッシングが前記サーバデバイスによってサポートされることを示すサポートヘッダを含むメッセージを前記サーバデバイスから受信した場合にのみ、前記1つまたは複数のプロセッサに、その受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  30. 前記サポートヘッダは、ストリーミングメディアコンテンツのクライアントでのキャッシングが前記サーバデバイスによってサポートされることを示す機能名を含み、前記機能名は、
    com.microsoft.wm.fastcache
    を含むことを特徴とする請求項29に記載の1つまたは複数のコンピュータ可読媒体。
  31. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、キャッシュ制御指示に関連のストリーミングメディアコンテンツをキャッシュすることが前記クライアントデバイスに許されることを示すキャッシュ制御指示を含むメッセージを前記サーバデバイスから受信した場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  32. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、前記ストリーミングメディアコンテンツのキャッシュが許されることが、前記ストリーミングメディアコンテンツの識別子によって示されている場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  33. 前記識別子はURL(Uniform ResourceLocator)を含むことを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。
  34. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしていない場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  35. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、前記クライアントデバイスのメディアプレーヤがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしていない場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  36. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる前記命令は、前記ストリーミングメディアコンテンツのタイプがキャッシュ可能タイプである場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存させる命令を含むことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  37. 前記複数の命令はさらに前記1つまたは複数のプロセッサに、
    前記ストリーミングメディアコンテンツに対する事後の要求を受信させ、
    前記事後の要求に応答して、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置から取得させる
    ことを特徴とする請求項24に記載の1つまたは複数のコンピュータ可読媒体。
  38. 前記複数の命令はさらに前記1つまたは複数のプロセッサに、
    前記ストリーミングメディアコンテンツの有効期限が切れているかどうかを調べさせ、
    前記ストリーミングメディアコンテンツの有効期限が切れていない場合にのみ、前記事後の要求に応答して、前記不揮発性記憶装置から前記ストリーミングメディアコンテンツを取得させる
    ことを特徴とする請求項37に記載の1つまたは複数のコンピュータ可読媒体。
  39. 前記複数の命令はさらに前記1つまたは複数のプロセッサに、
    前記ストリーミングメディアコンテンツの有効期限が切れているかどうかを調べさせ、
    前記ストリーミングメディアコンテンツの有効期限が切れている場合は、前記ストリーミングメディアコンテンツを再確認させる
    ことを特徴とする請求項37に記載の1つまたは複数のコンピュータ可読媒体。
  40. 前記複数の命令はさらに前記1つまたは複数のプロセッサに、
    前記不揮発性記憶装置からの前記ストリーミングメディアコンテンツの再生に係わるロギング情報を含むメッセージを生成させ、前記メッセージは、データ構造のメッセージ本体部分に前記ロギングが含まれることを示すロギング情報ヘッダを含む
    ことを特徴とする請求項37に記載の1つまたは複数のコンピュータ可読媒体。
  41. 前記ロギング情報ヘッダは、
    Content−Type:application/x−wms−sendevent
    を含むことを特徴とする請求項40に記載の1つまたは複数のコンピュータ可読媒体。
  42. 不揮発性記憶装置と、
    システム上で再生するためにストリーミングメディアコンテンツをサーバデバイスから受信するように構成され、さらに、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されたストリーミングメディアプレーヤコンポーネントと
    を備えることを特徴とするシステム。
  43. 前記ストリーミングメディアプレーヤコンポーネントはさらに、ストリーミングメディアコンテンツのキャッシングが前記サーバデバイスによってサポートされることを示すサポートヘッダを含むメッセージを前記サーバデバイスから受信した場合にのみ、前記受信したストリーミングメディアコンテンツを前記不揮発性記憶装置に保存するように構成されることを特徴とする請求項42に記載のシステム。
  44. 前記サポートヘッダは、ストリーミングメディアコンテンツのクライアントでのキャッシングが前記サーバデバイスによってサポートされることを示す機能名を含み、前記機能名は、
    com.microsoft.wm.fastcache
    を含むことを特徴とする請求項43に記載のシステム。
  45. 前記ストリーミングメディアプレーヤコンポーネントはさらに、前記コンテンツのキャッシングが許されることを示す指示を前記サーバデバイスから受信した場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  46. 前記ストリーミングメディアプレーヤコンポーネントはさらに、キャッシュ制御指示に関連のストリーミングメディアコンテンツをキャッシュすることが前記システムに許されることを示すキャッシュ制御指示を含むメッセージを前記サーバデバイスから受信した場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  47. 前記ストリーミングメディアプレーヤコンポーネントはさらに、前記ストリーミングメディアコンテンツのキャッシングが許されることが、前記ストリーミングメディアコンテンツの識別子によって示されている場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  48. 前記識別子はURL(Uniform Resource
    Locator)を含むことを特徴とする請求項47に記載のシステム。
  49. 前記ストリーミングメディアプレーヤコンポーネントはさらに、ユーザがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしていない場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  50. 前記ストリーミングメディアプレーヤコンポーネントはさらに、前記ストリーミングメディアプレーヤがストリーミングメディアコンテンツのクライアントでのキャッシングを使用禁止にしていない場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  51. 前記ストリーミングメディアプレーヤコンポーネントはさらに、前記ストリーミングメディアコンテンツのタイプがキャッシュ可能タイプである場合にのみ、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶するように構成されることを特徴とする請求項42に記載のシステム。
  52. 前記ストリーミングメディアプレーヤコンポーネントはさらに、
    前記ストリーミングメディアコンテンツに対する事後の要求を受信し、
    前記事後の要求に応答して、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置から取得する
    ように構成されることを特徴とする請求項42に記載のシステム。
  53. 前記ストリーミングメディアプレーヤコンポーネントはさらに、
    前記ストリーミングメディアコンテンツの有効期限が切れているかどうかを調べ、
    前記ストリーミングメディアコンテンツの有効期限が切れていない場合にのみ、前記事後の要求に応答して、前記ストリーミングメディアコンテンツを前記不揮発性記憶装置から取得する
    ように構成されることを特徴とする請求項52に記載のシステム。
  54. 前記ストリーミングメディアプレーヤコンポーネントはさらに、
    前記ストリーミングメディアコンテンツの有効期限が切れているかどうかを調べ、
    前記ストリーミングメディアコンテンツの有効期限が切れている場合は、前記ストリーミングメディアコンテンツを再確認する
    ように構成されることを特徴とする請求項52に記載のシステム。
  55. 前記ストリーミングメディアプレーヤコンポーネントはさらに、
    前記不揮発性記憶装置からの前記ストリーミングメディアコンテンツの再生に係わるロギング情報を含むメッセージを生成し、前記メッセージは、データ構造のメッセージ本体部分に前記ロギング情報が含まれることを示すロギング情報ヘッダを含む
    ように構成されることを特徴とする請求項52に記載のシステム。
  56. 前記ロギング情報ヘッダは、
    Content−Type:application/x−wms−sendevent
    を含むことを特徴とする請求項55に記載のシステム。
  57. クライアントデバイスの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    サーバデバイスからストリーミングメディアコンテンツを受信させ、
    後の時間に再生するために、前記受信したストリーミングメディアコンテンツを前記クライアントデバイスでキャッシュさせる
    複数の命令が格納されていることを特徴とする1つまたは複数のコンピュータ可読媒体。
  58. 前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツをキャッシュさせる前記命令は、コンテンツのキャッシングが許される旨の指示を前記サーバデバイスから受信した場合にのみ、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツを保存させる命令を含むことを特徴とする請求項57に記載の1つまたは複数のコンピュータ可読媒体。
  59. 前記後の時間は、前記ストリーミングメディアコンテンツすべてを前記サーバデバイスから受信した後の時間を含むことを特徴とする請求項57に記載の1つまたは複数のコンピュータ可読媒体。
  60. クライアントデバイスの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    サーバデバイスからストリーミングメディアコンテンツを受信させ、
    前記ストリーミングメディアコンテンツの再生の時間をずらすことを可能にさせる
    複数の命令が格納されていることを特徴とする1つまたは複数のコンピュータ可読媒体。
  61. 前記複数の命令はさらに、前記1つまたは複数のプロセッサに、前記受信したストリーミングメディアコンテンツをキャッシュさせることを特徴とする請求項60に記載の1つまたは複数のコンピュータ可読媒体。
  62. 不揮発性記憶装置と、
    ストリーミングメディアコンテンツの符号化ビットレートに依存しないレートで前記ストリーミングメディアコンテンツをサーバデバイスから受信し、
    前記ストリーミングメディアコンテンツを前記不揮発性記憶装置に記憶し、
    前記ストリーミングメディアコンテンツの後の時間の再生を可能にし、
    前記ストリーミングメディアコンテンツの時間をずらした再生を可能にし、
    受け取ったシャトルコントロールオプションを前記サーバデバイスに指示することなく、前記シャトルコントロールオプションに従って、前記ストリーミングメディアコンテンツの再生を変更し、
    ストリーミングメディアコンテンツの再生を少なくとも一時的に停止する要求を受信し、
    前記システムにおける前記ストリーミングメディアコンテンツの再生を停止し、
    前記ストリーミングメディアコンテンツの再生を停止させる要求に関わらず、前記ストリーミングメディアコンテンツの受信を継続する
    ように構成されたストリーミングメディア再生コンポーネントと
    を備えることを特徴とするシステム。
  63. データ構造が格納されたコンピュータ可読媒体であって、
    データ構造タイプを識別するデータを含む第1の部分と、
    1つまたは複数のヘッダを識別するデータを含む第2の部分であって、前記1つまたは複数のヘッダは、ストリーミングメディアコンテンツのクライアントでのキャッシングが、前記ストリーミングメディアコンテンツのソースによってサポートされるかどうかを示すサポートヘッダを含む第2の部分と、
    前記データ構造中の前記第2の部分の終わりを識別するデータを含む第3の部分と
    を備えることを特徴とするコンピュータ可読媒体。
  64. 前記サポートヘッダは、ストリーミングメディアコンテンツのクライアントでのキャッシングが前記ソースによってサポートされることを示す機能名を含み、前記機能名は、
    com.microsoft.wm.fastcache
    を含むことを特徴とする請求項63に記載のコンピュータ可読媒体。
  65. データ構造が格納されたコンピュータ可読媒体であって、
    データ構造タイプを識別するデータを含む第1の部分と、
    キャッシュ制御指示に関連のストリーミングメディアコンテンツをクライアントデバイスがキャッシュできるかどうかを示すキャッシュ制御指示を識別するデータを含む第2の部分と、
    前記データ構造中の前記第2の部分の終わりを識別するデータを含む第3の部分と
    を備えることを特徴とするコンピュータ可読媒体。
  66. 前記キャッシュ制御指示はさらに、プロキシデバイスが前記ストリーミングメディアコンテンツをキャッシュできるかどうかを示すことを特徴とする請求項65に記載のコンピュータ可読媒体。
  67. 前記キャッシュ制御指示はさらに、ストリーミングメディアコンテンツのキャッシングをサポートしないキャッシングデバイスが前記ストリーミングメディアコンテンツをキャッシュできるかどうかを示すことを特徴とする請求項65に記載のコンピュータ可読媒体。
  68. 前記クライアントデバイスがストリーミングメディアコンテンツをキャッシュできることを示すのに、キャッシュ制御指示を使用しないことを特徴とする請求項65に記載のコンピュータ可読媒体。
  69. 前記クライアントデバイスのストリーミングメディアプレーヤが前記ストリーミングメディアコンテンツをキャッシュできることを示すキャッシュ制御指示は、
    no−cache, user−public
    を含むことを特徴とする請求項65に記載のコンピュータ可読媒体。
  70. 前記クライアントデバイスのストリーミングメディアプレーヤが前記ストリーミングメディアコンテンツをキャッシュできないことを示すキャッシュ制御指示は、
    no−user−cache
    を含むことを特徴とする請求項65に記載のコンピュータ可読媒体。
  71. データ構造が格納されたコンピュータ可読媒体であって、
    データ構造タイプを識別するデータを含む第1の部分と、
    1つまたは複数のヘッダを識別するデータを含む第2の部分であって、前記1つまたは複数のヘッダは、ストリーミングメディアコンテンツをストリーミングする速度を示すストリーミング速度ヘッダを含み、前記ストリーミングメディアコンテンツをストリーミングする速度は、前記ストリーミングメディアコンテンツの符号化ビットレートに依存しない第2の部分と、
    前記データ構造中の前記第2の部分の終わりを識別するデータを含む第3の部分と
    を備えることを特徴とするコンピュータ可読媒体。
  72. 前記ストリーミングメディアコンテンツをストリーミングする速度は値xによって表され、前記ストリーミング速度ヘッダは、
    プラグマ:速度=x
    を含むことを特徴とする請求項71に記載のコンピュータ可読媒体。
  73. 前記ストリーミングメディアコンテンツをストリーミングする速度は値xによって表され、前記ストリーミング速度ヘッダは、
    速度=x
    を含むことを特徴とする請求項71に記載のコンピュータ可読媒体。
  74. 前記ストリーミングメディアコンテンツをストリーミングする速度は、前記ストリーミングメディアコンテンツを受信するクライアントデバイスによって要求された速度であることを特徴とする請求項71に記載のコンピュータ可読媒体。
  75. データ構造が格納されたコンピュータ可読媒体であって、
    データ構造タイプを識別するデータを含む第1の部分と、
    1つまたは複数のヘッダを識別するデータを含む第2の部分であって、前記1つまたは複数のヘッダは、前記データ構造のメッセージ本体部分に、クライアントデバイスキャッシュからのストリーミングメディアコンテンツの再生に係わるロギング情報が含まれることを示すロギング情報ヘッダを含む第2の部分と、
    前記データ構造中の前記第2の部分の終わりを識別するデータを含む第3の部分と
    を備えることを特徴とするコンピュータ可読媒体。
  76. 前記ロギング情報ヘッダは、
    Content−Type:application/x−wms−sendevent
    を含むことを特徴とする請求項75に記載のコンピュータ可読媒体。
  77. 前記複数の命令が、さらに前記1つまたは複数のプロセッサに、
    前記ストリーミングメディアコンテンツに対する要求をユーザから受信させ、前記ユーザの要求に応答して前記サーバデバイスに対して前記ストリーミングメディアコンテンツを要求させる
    ことを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
JP2003180339A 2002-06-24 2003-06-24 ストリーミングメディアコンテンツのクライアント側でのキャッシングのためのコンピュータ可読媒体、システムおよび方法 Pending JP2004054930A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/179,770 US7725557B2 (en) 2002-06-24 2002-06-24 Client-side caching of streaming media content

Publications (1)

Publication Number Publication Date
JP2004054930A true JP2004054930A (ja) 2004-02-19

Family

ID=29717914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003180339A Pending JP2004054930A (ja) 2002-06-24 2003-06-24 ストリーミングメディアコンテンツのクライアント側でのキャッシングのためのコンピュータ可読媒体、システムおよび方法

Country Status (3)

Country Link
US (2) US7725557B2 (ja)
EP (1) EP1376299A3 (ja)
JP (1) JP2004054930A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526204A (ja) * 2003-03-13 2006-11-16 ディーアールエム テクノロジーズ、エルエルシー セキュアストリーミングコンテナ
JP2007535881A (ja) * 2004-04-30 2007-12-06 ムーヴ ネットワークス ストリーミングコンテントの適応レートシフティング装置、システムおよび方法
US7979697B2 (en) 2003-10-20 2011-07-12 Digital Reg Of Texas, Llc Securing digital content system and method
US8086746B2 (en) 1999-01-15 2011-12-27 Digital Reg of Texas, LLC. Delivering electronic content
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8402156B2 (en) 2004-04-30 2013-03-19 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8434119B2 (en) 2008-07-08 2013-04-30 Canon Kabushiki Kaisha Communication apparatus and communication method
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
JP2015102877A (ja) * 2013-11-21 2015-06-04 株式会社リコー 情報処理装置、プログラム、情報提供方法及び情報表示システム
US9191372B2 (en) 1998-11-24 2015-11-17 Digital Reg Of Texas, Llc Tracking electronic content
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
JP2016538798A (ja) * 2013-10-23 2016-12-08 ヴォゴVogo マルチポイント拡散の方法
JP2017519382A (ja) * 2014-03-19 2017-07-13 タイム ワーナー ケーブル エンタープライズス エルエルシー メディア・ストリームを記録する装置及び方法
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US11695994B2 (en) 2016-06-01 2023-07-04 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US11722938B2 (en) 2017-08-04 2023-08-08 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150005B2 (en) * 1999-07-02 2006-12-12 Beryl Technical Assays, Llc Method and system for global constant management for memory
US7912920B2 (en) * 2002-12-13 2011-03-22 Stephen Loomis Stream sourcing content delivery system
US7797064B2 (en) * 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US7412532B2 (en) 2002-12-13 2008-08-12 Aol Llc, A Deleware Limited Liability Company Multimedia scheduler
US7287256B1 (en) 2003-03-28 2007-10-23 Adobe Systems Incorporated Shared persistent objects
US7765302B2 (en) * 2003-06-30 2010-07-27 Nortel Networks Limited Distributed call server supporting communication sessions in a communication system and method
US7392316B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
US20050004997A1 (en) * 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US7613767B2 (en) * 2003-07-11 2009-11-03 Microsoft Corporation Resolving a distributed topology to stream data
US8625455B2 (en) * 2006-10-17 2014-01-07 Ineoquest Technologies, Inc. System and method for handling streaming media
US20150341812A1 (en) 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
RU2363111C2 (ru) 2003-09-02 2009-07-27 Нокиа Корпорейшн Передача информации, относящейся к качеству обслуживания
US7702727B2 (en) * 2003-09-30 2010-04-20 Avaya, Inc. Apparatus, method, and computer program for providing multimedia prompting in a communication system
US7363582B2 (en) * 2003-11-14 2008-04-22 Research In Motion Limited System and method of retrieving and presenting partial (skipped) document content
US7900140B2 (en) 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
US7733962B2 (en) 2003-12-08 2010-06-08 Microsoft Corporation Reconstructed frame caching
US7712108B2 (en) 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US7735096B2 (en) * 2003-12-11 2010-06-08 Microsoft Corporation Destination application program interfaces
US8010670B2 (en) 2003-12-23 2011-08-30 Slipstream Data Inc. Meta-data based method for local cache utilization
US20050185718A1 (en) * 2004-02-09 2005-08-25 Microsoft Corporation Pipeline quality control
US7934159B1 (en) 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
US7664882B2 (en) * 2004-02-21 2010-02-16 Microsoft Corporation System and method for accessing multimedia content
US7577940B2 (en) 2004-03-08 2009-08-18 Microsoft Corporation Managing topology changes in media applications
JP2005276308A (ja) * 2004-03-24 2005-10-06 Pioneer Electronic Corp 情報再生装置、情報再生方法、情報再生プログラムおよびこれを記録した情報記録媒体
US7669206B2 (en) 2004-04-20 2010-02-23 Microsoft Corporation Dynamic redirection of streaming media between computing devices
WO2005109815A1 (ja) * 2004-05-10 2005-11-17 Fujitsu Limited 通信装置、通信方法およびプログラム
ATE385139T1 (de) * 2004-05-28 2008-02-15 Alcatel Lucent Breitbandfernmeldesystem und darin verwendetes verfahren zur reduzierung der latenzzeit eines kanal-zappings von einem multimedia-empfänger
US7516188B2 (en) * 2004-06-14 2009-04-07 Scenera Technologies, Llc System using selected controller for sharing and directing web content in real time among network devices
US7469347B2 (en) 2004-09-10 2008-12-23 Microsoft Corporation Methods to test multimedia devices on computer systems
US7590750B2 (en) 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US7526566B2 (en) * 2004-09-10 2009-04-28 Sony Ericsson Mobile Communications Ab Methods of operating radio communications devices including predefined streaming times and addresses and related devices
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
US7761678B1 (en) * 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US7885622B2 (en) 2004-10-27 2011-02-08 Chestnut Hill Sound Inc. Entertainment system with bandless tuning
US20190278560A1 (en) 2004-10-27 2019-09-12 Chestnut Hill Sound, Inc. Media appliance with auxiliary source module docking and fail-safe alarm modes
JP2008520029A (ja) * 2004-11-15 2008-06-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツを追跡する方法、装置及びソフトウェア
US8015306B2 (en) * 2005-01-05 2011-09-06 Control4 Corporation Method and apparatus for synchronizing playback of streaming media in multiple output devices
KR101087102B1 (ko) * 2005-02-01 2011-11-25 엘지전자 주식회사 디지털 방송 수신기의 프로그램 알림 방법
KR20070099698A (ko) * 2005-02-04 2007-10-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 개인 비디오 레코더로부터 외부 저장 디바이스로의 미디어콘텐트 전송
US20060179129A1 (en) * 2005-02-10 2006-08-10 Clayton Richard M Hotcontent update for a target device
US20060184968A1 (en) * 2005-02-11 2006-08-17 Clayton Richard M Automatic content update for a target device
US7860993B2 (en) * 2005-03-30 2010-12-28 Yahoo! Inc. Streaming media content delivery system and method for delivering streaming content
US8547997B2 (en) * 2005-04-20 2013-10-01 Jupiter Systems Capture node for use in an audiovisual signal routing and distribution system
US8553716B2 (en) * 2005-04-20 2013-10-08 Jupiter Systems Audiovisual signal routing and distribution system
EP1886498A2 (en) * 2005-04-20 2008-02-13 Jupiter Systems Audiovisual signal routing and distribution system
US8606949B2 (en) 2005-04-20 2013-12-10 Jupiter Systems Interconnection mechanism for multiple data streams
US9356982B2 (en) * 2005-08-05 2016-05-31 Intel Corporation System and method for transferring playlists
US20090013350A1 (en) * 2005-08-11 2009-01-08 Vvond, Llc Display of movie titles in a library
US7886068B1 (en) * 2005-10-27 2011-02-08 Network Appliance, Inc. Management of streaming media playlists
US20070115926A1 (en) * 2005-10-27 2007-05-24 3Com Corporation System and method for receiving a user message at a packet-network telephone
US8159959B2 (en) * 2005-11-07 2012-04-17 Vudu, Inc. Graphic user interface for playing video data
CN1852421A (zh) * 2005-11-30 2006-10-25 华为技术有限公司 一种实现直播与时移播放之间切换的方法
US20070133405A1 (en) * 2005-12-08 2007-06-14 Microsoft Corporation Congestion controller for network transmissions
FI20065137A0 (fi) * 2006-02-27 2006-02-27 Nokia Corp Multimedian jakaminen
US8073013B2 (en) * 2006-03-01 2011-12-06 Coleman Research, Inc. Method and apparatus for collecting survey data via the internet
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
US8099548B2 (en) * 2006-03-23 2012-01-17 Microsoft Corporation Power efficient media playback on general purpose portable devices
TWI633769B (zh) 2006-05-11 2018-08-21 Cfph股份有限公司 使用及管理電子檔案的方法和設備
CN101444089B (zh) * 2006-05-19 2011-08-03 诺基亚西门子通信有限责任两合公司 利用非实时传输记录电视节目的方法和系统
US7890985B2 (en) * 2006-05-22 2011-02-15 Microsoft Corporation Server-side media stream manipulation for emulation of media playback functions
US7769841B2 (en) * 2006-06-12 2010-08-03 Microsoft Corporation Management of media content ratings information communicated discretely from media content
DE102006033301A1 (de) * 2006-07-17 2008-01-31 Vodafone Holding Gmbh Verfahren und Geräte zum Zwischenspeichern von Daten in einem Mobilfunknetz
US20080040770A1 (en) * 2006-08-09 2008-02-14 Nils Angquist Media map for capture of content from random access devices
US9154844B2 (en) * 2006-10-30 2015-10-06 Alcatel Lucent Method and apparatus for reducing delays due to channel changes
US20080104267A1 (en) * 2006-11-01 2008-05-01 Sony Corporation Systems and methods for reducing display latency between streaming digital media
US8484335B2 (en) * 2006-11-06 2013-07-09 At&T Intellectual Property I, L.P. Methods, systems, and computer products for download status notification
US20080114695A1 (en) 2006-11-10 2008-05-15 Semantic Components S.L. Process for implementing a method for the on-line sale of software product use licenses through a data network, and software component which allows carrying out said process
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
US9380101B2 (en) * 2007-03-30 2016-06-28 Orange Method of managing a plurality of audiovisual sessions in an IP network, and an associated control system
US8051145B2 (en) * 2007-03-30 2011-11-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method of simultaneously providing data to two or more devices on the same network
US20090199250A1 (en) * 2007-08-08 2009-08-06 Harmonic Inc. Methods and System for Data Transfer Over Hybrid Fiber Cable Infrastructure
KR101407630B1 (ko) * 2007-09-07 2014-06-13 삼성전자주식회사 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법
US8438301B2 (en) * 2007-09-24 2013-05-07 Microsoft Corporation Automatic bit rate detection and throttling
WO2009045959A1 (en) * 2007-09-29 2009-04-09 Research In Motion Limited Schema negotiation for versioned documents transmitted in a distributed environment
US20090094248A1 (en) * 2007-10-03 2009-04-09 Concert Technology Corporation System and method of prioritizing the downloading of media items in a media item recommendation network
CA2703912C (en) 2007-10-27 2016-09-27 Research In Motion Limited Content disposition system and method for processing message content in a distributed environment
US20110060688A1 (en) * 2007-11-23 2011-03-10 Media Patents, S.L. Apparatus and methods for the distribution of digital files
US8091118B2 (en) * 2007-12-21 2012-01-03 At & T Intellectual Property I, Lp Method and system to optimize efficiency when managing lists of untrusted network sites
JP5024056B2 (ja) * 2008-01-07 2012-09-12 富士ゼロックス株式会社 操作管理システム
JP2009182458A (ja) * 2008-01-29 2009-08-13 Sony Corp 通信装置、通信システム、通信方法及びプログラム
DE102008010766A1 (de) * 2008-02-25 2009-08-27 Vodafone Holding Gmbh Übertragung von Daten auf ein mobiles Endgerät in Mobilfunknetzen
ES2326949B1 (es) * 2008-03-18 2010-07-14 Clarity Systems, S.L. Procedimiento utilizado por un servidor de streaming para realizar una transmision de un fichero multimedia en una red de datos.
US7984097B2 (en) * 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8499119B2 (en) * 2008-04-07 2013-07-30 Qualcomm Incorporated Method and apparatus for delivering and caching multiple pieces of content
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US20090300685A1 (en) * 2008-05-30 2009-12-03 Airme Inc. System, method, and device for transmitting video captured on a wireless device
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8639830B2 (en) * 2008-07-22 2014-01-28 Control4 Corporation System and method for streaming audio
EP2169914B1 (en) * 2008-09-19 2014-04-02 Limelight Networks, Inc. Content delivery network and related method
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US8499090B2 (en) * 2008-12-30 2013-07-30 Intel Corporation Hybrid method for delivering streaming media within the home
US8244898B1 (en) * 2008-12-30 2012-08-14 Sprint Communications Company L.P. Single message media session control
US8185650B2 (en) * 2009-01-13 2012-05-22 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems, methods, and computer program products for transmitting and/or receiving media streams
US8504712B2 (en) * 2009-01-19 2013-08-06 Lg Electronics Inc. Method and apparatus for managing multi-streaming contents and for controlling of changing players during playback of multi-streaming contents
US9324375B1 (en) * 2009-03-13 2016-04-26 Tata Communications (America) Inc. Dynamically adjusting stream quality level
US8495687B2 (en) * 2009-03-16 2013-07-23 Centurylink Intellectual Property Llc DVR home network content shifting
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US8418236B1 (en) * 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
JP5321221B2 (ja) * 2009-04-22 2013-10-23 富士通株式会社 管理装置、管理方法、およびプログラム
US9154532B2 (en) 2009-04-27 2015-10-06 Zaron Remote Llc Methods and apparatus for transmitting multimedia files in a data network
US8412841B1 (en) 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
US8166191B1 (en) 2009-08-17 2012-04-24 Adobe Systems Incorporated Hint based media content streaming
US7702805B1 (en) 2009-10-05 2010-04-20 Adobe Systems Incorporated Streaming media seek
US9002881B2 (en) * 2009-10-29 2015-04-07 Microsoft Technology Licensing, Llc Assembling streamed content for on-demand presentation
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
KR20110065100A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치
US9294526B2 (en) * 2009-12-28 2016-03-22 Microsoft Technology Licensing, Llc Managing multiple dynamic media streams
CN102204272B (zh) * 2010-12-31 2012-12-19 华为技术有限公司 流媒体中播放时间点跳转后的处理方法及装置
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8719876B2 (en) * 2011-05-06 2014-05-06 Verizon Patent And Licensing Inc. Video on demand architecture
US8925022B2 (en) 2011-05-25 2014-12-30 Motorola Mobility Llc Method and apparatus for transferring content
US20140115117A1 (en) * 2011-06-08 2014-04-24 Mark G. Fiedler Webcasting method and apparatus
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9378508B2 (en) * 2011-11-04 2016-06-28 Opanga Networks, Inc. System and method for content pre-positioning determination
EP2600257A1 (en) * 2011-11-30 2013-06-05 Thomson Licensing Method and apparatus for processing digital content
US9374613B2 (en) * 2011-12-07 2016-06-21 Verizon Patent And Licensing Inc. Media content flicking systems and methods
US10397294B2 (en) 2011-12-15 2019-08-27 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US8260842B1 (en) * 2012-04-27 2012-09-04 Wirespring Technologies, Inc. Device-agnostic content management, playback and status monitoring system
US9136958B2 (en) 2012-06-22 2015-09-15 Qualcomm Incorporated Methods and apparatus for providing hybrid unicast broadcast services
US10137376B2 (en) * 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9900396B2 (en) 2013-02-14 2018-02-20 Comcast Cable Communications, Llc Predictive content caching
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9544352B2 (en) 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
CN103561264B (zh) * 2013-11-07 2017-08-04 北京大学 一种基于云计算的媒体解码方法及解码器
WO2015145421A1 (en) * 2014-03-23 2015-10-01 Eran Bida Webcasting station platform
US20150271072A1 (en) * 2014-03-24 2015-09-24 Cisco Technology, Inc. Method and apparatus for rate controlled content streaming from cache
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9392314B1 (en) 2014-04-07 2016-07-12 Google Inc. Recommending a composite channel
EP2953313A1 (en) * 2014-06-05 2015-12-09 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
US9779362B1 (en) * 2014-08-25 2017-10-03 Google Inc. Ranking video delivery problems
US10433014B2 (en) 2014-10-28 2019-10-01 Hewlett Packard Enterprise Development Lp Media content download time
US11351466B2 (en) 2014-12-05 2022-06-07 Activision Publishing, Ing. System and method for customizing a replay of one or more game events in a video game
US9882960B2 (en) * 2014-12-30 2018-01-30 Airwatch Llc Security framework for media playback
CN104581229B (zh) * 2015-01-16 2018-08-03 京东方科技集团股份有限公司 一种流媒体数据传输装置、方法和系统
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
US10376781B2 (en) 2015-10-21 2019-08-13 Activision Publishing, Inc. System and method of generating and distributing video game streams
GB2545729A (en) * 2015-12-23 2017-06-28 Nokia Technologies Oy Methods and apparatuses relating to the handling of a plurality of content streams
US10609175B2 (en) * 2015-12-31 2020-03-31 Hughes Newtwork Systems, LLC Apparatus and method for broadcast/multicast content delivery and opportunistic caching in a broadband communications network
US10300390B2 (en) 2016-04-01 2019-05-28 Activision Publishing, Inc. System and method of automatically annotating gameplay of a video game based on triggering events
US20170344523A1 (en) * 2016-05-25 2017-11-30 Samsung Electronics Co., Ltd Method and apparatus for presentation customization and interactivity
US10652594B2 (en) 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
CN110708579B (zh) 2016-08-04 2021-09-07 联咏科技股份有限公司 可执行视频播放的电子装置
US10560726B2 (en) * 2017-07-26 2020-02-11 CodeShop BV System and method for delivery and caching of personalized media streaming content
US11463782B2 (en) 2018-06-21 2022-10-04 Dish Network L.L.C. User device control of transmission parameters
CN109361885A (zh) * 2018-09-19 2019-02-19 北京文香信息技术有限公司 一种将多流视频保存为单视频文件的方法
WO2021049744A1 (ko) * 2019-09-09 2021-03-18 경상대학교산학협력단 수신단 캐싱을 활용한 적응형 비디오 스트리밍 시스템

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US516839A (en) * 1894-03-20 Means for measuring electric currents
JPH0683335B2 (ja) * 1985-04-11 1994-10-19 キヤノン株式会社 光電変換装置
JPH021671A (ja) 1988-03-17 1990-01-05 Toshiba Corp パケット交換機の負荷制御方式
US4963995A (en) 1988-12-27 1990-10-16 Explore Technology, Inc. Audio/video transceiver apparatus including compression means
US5057932A (en) 1988-12-27 1991-10-15 Explore Technology, Inc. Audio/video transceiver apparatus including compression means, random access storage means, and microwave transceiver means
US5164839A (en) 1988-12-27 1992-11-17 Explore Technology, Inc. Method for handling audio/video source information
US5262875A (en) 1992-04-30 1993-11-16 Instant Video Technologies, Inc. Audio/video file server including decompression/playback means
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5440334A (en) 1993-02-01 1995-08-08 Explore Technology, Inc. Broadcast video burst transmission cyclic distribution apparatus and method
US20020048448A1 (en) 1993-03-29 2002-04-25 Microsoft Corporation Pausing the display of a television program as a signal including the television program is received
CA2130395C (en) 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
JPH07219774A (ja) 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5978567A (en) 1994-07-27 1999-11-02 Instant Video Technologies Inc. System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver
US5758076A (en) 1995-07-19 1998-05-26 International Business Machines Corporation Multimedia server system having rate adjustable data retrieval based on buffer capacity
US5822524A (en) 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US5787472A (en) 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
US5835495A (en) 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US5680461A (en) 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US6041345A (en) 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
US5931961A (en) 1996-05-08 1999-08-03 Apple Computer, Inc. Discovery of acceptable packet size using ICMP echo
WO1998005144A1 (en) 1996-07-25 1998-02-05 Hybrid Networks, Inc. High-speed internet access system
US5913038A (en) 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US6005621A (en) 1996-12-23 1999-12-21 C-Cube Microsystems, Inc. Multiple resolution video compression
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6118817A (en) 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
US6292834B1 (en) 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6111567A (en) 1997-04-03 2000-08-29 Microsoft Corporation Seamless multimedia branching
US6209041B1 (en) 1997-04-04 2001-03-27 Microsoft Corporation Method and computer program product for reducing inter-buffer data transfers between separate processing components
US5963202A (en) 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US6216163B1 (en) 1997-04-14 2001-04-10 Lucent Technologies Inc. Method and apparatus providing for automatically restarting a client-server connection in a distributed network
US6892354B1 (en) 1997-04-16 2005-05-10 Sony Corporation Method of advertising on line during a communication link idle time
US6195692B1 (en) 1997-06-02 2001-02-27 Sony Corporation Television/internet system having multiple data stream connections
US6014694A (en) 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6385647B1 (en) 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
JPH11163947A (ja) 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US5996015A (en) 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
JP3655071B2 (ja) 1997-10-31 2005-06-02 株式会社ニデック 眼屈折力測定装置
JP3235655B2 (ja) 1997-12-01 2001-12-04 日本電気株式会社 バースト性をもつ低速汎用データの固定長パケット多重装置
US5983263A (en) 1998-01-02 1999-11-09 Intel Corporation Method and apparatus for transmitting images during a multimedia teleconference
US6161201A (en) 1998-02-26 2000-12-12 3Com Corporation Method and apparatus for concurrent interaction with a modem having an open connection
JP3844588B2 (ja) 1998-03-05 2006-11-15 富士通株式会社 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
US6327421B1 (en) 1998-03-10 2001-12-04 International Business Machines Corporation Multiple speed fast forward/rewind compressed video delivery system
US6054943A (en) 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6314492B1 (en) 1998-05-27 2001-11-06 International Business Machines Corporation System and method for server control of client cache
US6421348B1 (en) 1998-07-01 2002-07-16 National Semiconductor Corporation High-speed network switch bus
US6480498B1 (en) 1998-07-01 2002-11-12 National Semiconductor Corporation High speed network switch bus clock
JP3602972B2 (ja) 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6249844B1 (en) 1998-11-13 2001-06-19 International Business Machines Corporation Identifying, processing and caching object fragments in a web environment
US6553376B1 (en) * 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
US6449269B1 (en) 1998-12-31 2002-09-10 Nortel Networks Limited Packet voice telephony system and method
US6351767B1 (en) 1999-01-25 2002-02-26 International Business Machines Corporation Method and system for automatically caching dynamic content based on a cacheability determination
JP3587352B2 (ja) 1999-02-04 2004-11-10 富士通株式会社 ネットワーク通信性能測定方法及び装置並びにネットワーク通信性能測定プログラムを格納したコンピュータ読取り可能な記録媒体
US6691312B1 (en) 1999-03-19 2004-02-10 University Of Massachusetts Multicasting video
US6405256B1 (en) 1999-03-31 2002-06-11 Lucent Technologies Inc. Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
US6725333B1 (en) 1999-04-22 2004-04-20 International Business Machines Corporation System and method for managing cachable entities
US6369835B1 (en) 1999-05-18 2002-04-09 Microsoft Corporation Method and system for generating a movie file from a slide show presentation
US6611868B1 (en) 1999-05-21 2003-08-26 3Com Corporation Method and system for automatic link hang up
US6735634B1 (en) * 1999-06-10 2004-05-11 Blue Coat Systems Method for real time protocol media recording
US6611896B1 (en) * 1999-08-25 2003-08-26 Emc Corporation Dynamic mirror service policy with seek adjustment in a non-physical mirrored storage environment
US6725330B1 (en) * 1999-08-27 2004-04-20 Seagate Technology Llc Adaptable cache for disc drive
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US6643259B1 (en) 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US6779043B1 (en) 1999-11-16 2004-08-17 National Semiconductor Corporation Network address manager
US6877010B2 (en) 1999-11-30 2005-04-05 Charles Smith Enterprises, Llc System and method for computer-assisted manual and automatic logging of time-based media
US6889257B1 (en) 1999-12-03 2005-05-03 Realnetworks, Inc. System and method of transmitting data packets
US6990070B1 (en) 1999-12-17 2006-01-24 Nortel Networks Limited Method and apparatus for adjusting packet transmission volume from a source
US7051110B2 (en) * 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
US6329165B1 (en) 1999-12-30 2001-12-11 Nalco Chemical Company Measurement and control of sessile and planktonic microbiological activity in industrial water systems
US6389467B1 (en) * 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US6519648B1 (en) 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US7159233B2 (en) 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US20020009285A1 (en) * 2000-03-08 2002-01-24 General Instrument Corporation Personal versatile recorder: enhanced features, and methods for its use
SE0000908L (sv) 2000-03-20 2001-09-21 Ericsson Telefon Ab L M Load regulation
US6765878B1 (en) 2000-03-28 2004-07-20 Intel Corporation Selective use of transmit complete interrupt delay on small sized packets in an ethernet controller
US7007090B1 (en) 2000-03-31 2006-02-28 Intel Corporation Techniques of utilizing actually unused bandwidth
US6952424B1 (en) 2000-04-13 2005-10-04 International Business Machines Corporation Method and system for network processor scheduling outputs using queueing
US6760749B1 (en) 2000-05-10 2004-07-06 Polycom, Inc. Interactive conference content distribution device and methods of use thereof
US6801947B1 (en) 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US7185082B1 (en) 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
US20020039149A1 (en) 2000-10-02 2002-04-04 Eduardo Perez System and method for streaming video over a network
US6985934B1 (en) 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US6741648B2 (en) 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
JP2004515163A (ja) 2000-11-29 2004-05-20 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー リアルタイムデータの送信および受信
AU2002230533A1 (en) 2000-11-29 2002-06-11 Pulsent Corporation Method and apparatus for a hybrid communication network
US20020077900A1 (en) 2000-12-14 2002-06-20 Thompson Tiffany A. Internet protocol-based interstitial advertising
US6611898B1 (en) 2000-12-22 2003-08-26 Convergys Customer Management Group, Inc. Object-oriented cache management system and method
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US6772375B1 (en) 2000-12-22 2004-08-03 Network Appliance, Inc. Auto-detection of limiting factors in a TCP connection
US7054949B2 (en) * 2001-01-19 2006-05-30 World Streaming Network, Inc. System and method for streaming media
KR20020069272A (ko) 2001-02-24 2002-08-30 (주)엔아이씨티 동영상 파일의 압축 및 디스플레이 방법
US6990512B1 (en) 2001-03-19 2006-01-24 Novell, Inc. Method and system for using live time shift technology to control a multimedia file
EP1386492A2 (en) * 2001-03-23 2004-02-04 Popwire.com Method and apparatus for streaming video
US20020138641A1 (en) 2001-03-26 2002-09-26 Taylor Christopher Stephen Targeted multimedia proxy server (tmps)
US20020194608A1 (en) 2001-04-26 2002-12-19 Goldhor Richard S. Method and apparatus for a playback enhancement system implementing a "Say Again" feature
US7076560B1 (en) * 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US7054911B1 (en) * 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US6986018B2 (en) 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US6792449B2 (en) 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US20020049817A1 (en) 2001-07-12 2002-04-25 Eatamar Drory Storageless system and method for unified messaging on existing mail accounts via standard internet mail protocols
US20030055809A1 (en) 2001-09-18 2003-03-20 Sun Microsystems, Inc. Methods, systems, and articles of manufacture for efficient log record access
US20030099364A1 (en) * 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
DE60332828D1 (de) 2002-02-22 2010-07-15 Nds Ltd Verarbeitung von verschlüsseltem datenpaketstrom
EP1501309A4 (en) 2002-04-26 2010-11-03 Sony Corp CODING DEVICE AND METHOD, DECODING DEVICE AND METHOD, EDITING DEVICE AND METHOD, RECORDING MEDIUM AND PROGRAM
US7133881B2 (en) * 2002-04-29 2006-11-07 Intel Corporation Encoding and transferring media content onto removable storage
US7457312B2 (en) 2002-06-19 2008-11-25 Microsoft Corporation Bandwidth sharing in advanced streaming format
US7451229B2 (en) 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US20040003101A1 (en) 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US7401221B2 (en) 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
US7020087B2 (en) * 2003-01-13 2006-03-28 Motorola, Inc. Segmented and distributed path optimization in a communication network
US7454510B2 (en) 2003-05-29 2008-11-18 Microsoft Corporation Controlled relay of media streams across network perimeters
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191372B2 (en) 1998-11-24 2015-11-17 Digital Reg Of Texas, Llc Tracking electronic content
US8086746B2 (en) 1999-01-15 2011-12-27 Digital Reg of Texas, LLC. Delivering electronic content
US9094479B2 (en) 1999-01-15 2015-07-28 Digital Reg Of Texas, Llc Delivering electronic content
US7987502B2 (en) 2003-03-13 2011-07-26 Digital Reg Of Texas, Llc Secure streaming container
US8001608B2 (en) 2003-03-13 2011-08-16 Digital Reg Of Texas, Llc Secure streaming container
JP2006526204A (ja) * 2003-03-13 2006-11-16 ディーアールエム テクノロジーズ、エルエルシー セキュアストリーミングコンテナ
US8930697B2 (en) 2003-10-20 2015-01-06 Digital Reg Of Texas, Llc Securing digital content system and method
USRE47313E1 (en) 2003-10-20 2019-03-19 Digital Reg Of Texas, Llc Securing digital content system and method
US7979697B2 (en) 2003-10-20 2011-07-12 Digital Reg Of Texas, Llc Securing digital content system and method
US8402558B2 (en) 2003-10-20 2013-03-19 Digital Reg Of Texas, Llc Securing digital content system and method
US9191376B2 (en) 2003-10-20 2015-11-17 Digital Reg Of Texas, Llc Securing digital content system and method
US8402156B2 (en) 2004-04-30 2013-03-19 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
JP2007535881A (ja) * 2004-04-30 2007-12-06 ムーヴ ネットワークス ストリーミングコンテントの適応レートシフティング装置、システムおよび方法
US10225304B2 (en) 2004-04-30 2019-03-05 Dish Technologies Llc Apparatus, system, and method for adaptive-rate shifting of streaming content
US9407564B2 (en) 2004-04-30 2016-08-02 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US10116722B2 (en) 2007-08-06 2018-10-30 Dish Technologies Llc Apparatus, system, and method for multi-bitrate content streaming
US10165034B2 (en) 2007-08-06 2018-12-25 DISH Technologies L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8434119B2 (en) 2008-07-08 2013-04-30 Canon Kabushiki Kaisha Communication apparatus and communication method
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US10075744B2 (en) 2010-02-11 2018-09-11 DISH Technologies L.L.C. Systems and methods to provide trick play during streaming playback
JP2016538798A (ja) * 2013-10-23 2016-12-08 ヴォゴVogo マルチポイント拡散の方法
JP2015102877A (ja) * 2013-11-21 2015-06-04 株式会社リコー 情報処理装置、プログラム、情報提供方法及び情報表示システム
JP2017519382A (ja) * 2014-03-19 2017-07-13 タイム ワーナー ケーブル エンタープライズス エルエルシー メディア・ストリームを記録する装置及び方法
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US11310567B2 (en) 2015-04-14 2022-04-19 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US11695994B2 (en) 2016-06-01 2023-07-04 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US11722938B2 (en) 2017-08-04 2023-08-08 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network

Also Published As

Publication number Publication date
US20030236906A1 (en) 2003-12-25
US20060059223A1 (en) 2006-03-16
EP1376299A2 (en) 2004-01-02
EP1376299A3 (en) 2007-08-29
US7725557B2 (en) 2010-05-25
US7548948B2 (en) 2009-06-16

Similar Documents

Publication Publication Date Title
JP2004054930A (ja) ストリーミングメディアコンテンツのクライアント側でのキャッシングのためのコンピュータ可読媒体、システムおよび方法
US7644172B2 (en) Communicating via a connection between a streaming server and a client without breaking the connection
KR102047495B1 (ko) 클라이언트에서 캐시를 이용하여 서버의 멀티 미디어 컨텐트를 스트리밍 재생하는 방법 및 이를 위한 장치
US7650421B2 (en) Adaptable accelerated content streaming
US7739715B2 (en) Variable play speed control for media streams
US7941554B2 (en) Sparse caching for streaming media
EP1797697B1 (en) Method and system for broadcasting multimedia data
US8060637B2 (en) Playback apparatus and playback control method
US20040003101A1 (en) Caching control for streaming media
US20040268400A1 (en) Quick starting video content
JP4835170B2 (ja) コンテンツ共有装置及びコンテンツ共有方法
US20060195884A1 (en) Interactive multichannel data distribution system
JP2002314975A (ja) 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク
JP2007228205A (ja) ネットワークサーバ
KR20070007698A (ko) 스트리밍 미디어의 고속 시동
JP2008503926A (ja) ネットワークを介したメディアの対話型制御のための方法及びシステム
JP4165134B2 (ja) 情報再生装置、情報再生方法および情報再生システム
WO2010057391A1 (zh) 一种流媒体播放控制方法、设备及系统
JP2007514231A (ja) 電子ブックマーク
JP2008301250A (ja) コンテンツ再生システムおよびコンテンツ再生方法
JP2005167891A (ja) コンテンツサーバ、コンテンツ受信装置、プログラム及び記憶媒体
JP2004112086A (ja) アクセス方法、アクセス装置及びストリーミングメディア蓄積サーバ
JP2007215014A (ja) コンテンツサーバ、視聴再開方法及びプログラム
KR100841217B1 (ko) 파일 스트리밍 제어기 및 제어방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090427

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090527

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090703