JP2007536796A - メディアをストリーミングするための高速起動 - Google Patents

メディアをストリーミングするための高速起動 Download PDF

Info

Publication number
JP2007536796A
JP2007536796A JP2007511343A JP2007511343A JP2007536796A JP 2007536796 A JP2007536796 A JP 2007536796A JP 2007511343 A JP2007511343 A JP 2007511343A JP 2007511343 A JP2007511343 A JP 2007511343A JP 2007536796 A JP2007536796 A JP 2007536796A
Authority
JP
Japan
Prior art keywords
media
client device
stream
udp
streams
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
JP2007511343A
Other languages
English (en)
Inventor
イー.クレメッツ アンダース
ピー.オリベイラ エデュアルド
バッツ サンジェイ
エル.ウィン トン
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 JP2007536796A publication Critical patent/JP2007536796A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/643Communication protocols
    • 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/643Communication protocols
    • H04N21/64322IP
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

メディアをストリーミングするための高速起動は、予測スタートの技術と、ストリーミング中に1つ以上の配信チャネルを切り換えるための技術の一方または両方を含む。予測スタートは、メディアコンテントソースが、要求側クライアント装置がどのメディアストリームを望むかを予測し、それら予測された1つ以上のメディアストリームのクライアント装置に対するストリーミングを開始することを可能にする。配信チャネル切り換え技術は、その1つ以上のメディアコンテントソースが、1つの配信チャネルを使用して(例えば、伝送制御プロトコル(TCP)を使用して)その1つ以上のメディアストリームのストリーミングを開始し、次いで別の配信チャネル(例えば、ユーザデータグラムプロトコル(UDP)を使用して)が機能するか否かをチェックし、それが機能する場合はその配信チャネルに切り換えることを可能にする。

Description

本発明は、メディアのストリーミングおよびデータ転送に関し、詳細には、メディアをストリーミングするための高速起動に関する。
オーディオ、ビデオ、および/またはテキストのストリーミングのようなコンテントのストリーミングは、益々人気が高まっている。「ストリーミング」という用語は、通常、メディアを表すデータが、再生以前にそのすべてが事前配信されるのではなく、随時ネットワークを介してクライアントコンピュータに提供されることを示すために使用される。したがって、クライアントコンピュータは、「ファイル」全体が配信されるのを待つのではなく、ストリーミングコンテントがネットワークサーバから受信される際に、そのストリーミングするコンテントを表現する。
マルチメディアコンテントのストリーミングの一般に普及した可用性は、インターネットまたは他のコンピュータネットワークを介して事前に入手可能でなかった様々な情報のコンテントを使用可能にする。生放送のコンテントは、そのようなコンテンツの重要な一例である。ストリーミングマルチメディアを使用すると、注目すべきイベントのオーディオ、ビデオ、またはオーディオ/ビジュアルによる放送を、そのイベントの開始と共にインターネットを介して放送することができる。同様に、テレビ局およびラジオ局は、インターネットを介してそれらの生放送のコンテントを送信することができる。
しかし現在のストリーミング技術には、いくつかの欠点がある。それらの欠点の1つは、通常、ストリーミングメディアの再生が要求された時点と、そのストリーミングメディアの再生が始まる時点の間に、幾分長い遅延があることである。通常、メディアコンテントの再生が行われるクライアント装置とそのメディアコンテントのソースの間では、様々な通信が必要となる。クライアント装置のユーザの立場からすると、このような遅延は、クライアント装置のユーザにとっての使い易さとストリーミング過程のユーザにとっての使い易さを低下させるものである。したがって、ユーザがストリーミングメディアの再生を要求した時点と、そのストリーミングメディアの再生が始まる時点の間の遅延を短縮することは有益である。
メディアをストリーミングするための高速起動を、本明細書で説明する。メディアをストリーミングするための高速起動は、予測スタートの技術と、ストリーミング中に1つ以上の配信チャネルを切り換えるための技術の一方または両方を含む。
ある態様によれば、予測スタートの技術は、サーバ装置に予測再生要求を送信するクライアント装置を含む。予測再生要求に応えて、サーバ装置は、クライアント装置が望む1つまたは複数のメディアストリームを予測し、予測された1つまたは複数のメディアストリームをクライアント装置にストリームする。クライアント装置は、クライアント装置にストリーミングするよう予測された1つまたは複数のメディアストリームと異なる少なくとも1つのメディアストリームを選択することができる。少なくとも1つのそのようなメディアストリームが選択された場合、選択された少なくとも1つのメディアストリームの指示がサーバ装置に送信され、サーバ装置は、選択された少なくとも1つのメディアストリームをクライアント装置にストリームする。
ある態様によれば、ストリーミング中に1つ以上の配信チャネルを切り換えるための技術は、1つまたは複数のメディアストリームをクライアント装置にストリームする旨の要求をサーバ装置に送信するクライアント装置を含む。サーバ装置は、その要求を受信し、TCP(伝送制御プロトコル)を使用して、クライアント装置に対する1つまたは複数のメディアストリームのストリーミングを開始する。サーバ装置からクライアント装置へのTCPを使用した1つまたは複数のメディアストリームのストリーミング中に、サーバ装置からクライアント装置にUDP(ユーザデータグラムプロトコル)を使用してデータをストリームすることができるか否かを判定するために、プロービング(probing)が実行される。プロービングが、サーバ装置からクライアント装置にUDPを使用してデータをストリームすることができることを示す場合、1つまたは複数のメディアストリームのストリーミングが、TCPの使用からUDPの使用に切り換えられる。しかし、プロービングが、サーバ装置からクライアント装置にUDPを使用してデータをストリームすることができないことを示す場合、1つまたは複数のメディアストリームのストリーミングはTCPを使用し続ける。
類似の構成要素および/または特徴を参照するために、本明細書を通して同じ番号が使用される。
本明細書では、メディアをストリーミングするための高速起動を説明する。高速起動は、予測スタートの技術と、ストリーミング中に1つ以上の配信チャネルを切り換えるための技術の一方または両方を含む。予測スタートは、メディアコンテントソースが、要求側クライアント装置がどのメディアストリームを望むかを予測し、そのクライアント装置に対してその予測されたメディアストリームのストリーミングを開始することを可能にする。配信チャネル切り換え技術は、メディアコンテントソースが、1つの配信チャネルを使用して(例えば、伝送制御プロトコル(TCP)を使用して)1つ以上のメディアストリームのストリーミングを開始し、次いで別の配信チャネル(例えば、ユーザデータグラムプロトコル(UDP)を使用して)が機能するか否かをチェックし、それが機能する場合はその配信チャネルに切り換えることを可能にする。
図1は、本明細書に記載の、メディアをストリーミングするための高速起動をサポートするネットワーク環境100の例を示す。環境100で、複数の(a)クライアントコンピューティング装置102(1)、102(2)、...、102(a)が、複数の(b)サーバコンピューティング装置104(1)、104(2)、...、104(b)にネットワーク106を介して連結される。ネットワーク106は、様々な従来型ネットワークプロトコル(公衆および/または自社開発のプロトコルを含めて)のどれかを使用した、様々な従来型ネットワークトポロジおよびタイプ(有線および/または無線ネットワークを含めて)のどれかを表すことを意図する。ネットワーク106は、例えばインターネット並びに、可能ならば1つまたは複数のローカルエリアネットワーク(LAN)の少なくとも一部を含むことができる。
コンピューティング装置102および104は、デスクトップPC、ワークステーション、メインフレームコンピュータ、インターネット機器、ゲーム用コンソール、ハンドヘルドPC、携帯電話、携帯情報端末(PDA)などを含めて、様々な従来型コンピューティング装置のどれであってもよい。装置102および104の1つまたは複数は、同じタイプの装置であっても、異なるタイプの装置であってもよい。
サーバ装置104は、クライアント102にストリーミングするために使用可能な様々なデータのどれでも作成することができる。「ストリーミング」という用語は、メディアを表すデータがネットワークを介してクライアント装置に提供されること、またそのコンテントの再生を、そのコンテント全体が配信される前に開始することができること(例えば、再生前にデータ全体を事前配信するのではなく、随時ベースでデータを提供する)を示すために使用される。データは、公共で入手可能としても、制限付きとしてもよい(例えば、特定ユーザ限定で、適切な料金が支払われた場合にのみ入手可能とする、など)。データは、オーディオ、ビデオ、テキスト、アニメーションなどのような、様々な1つまたは複数のタイプのコンテントのどれであってもよい。あるいは、データは、事前に記録しても、「生放送」(例えば、コンサート中に取り込まれ、取り込み直後にストリーミング用に使用可能とされる、そのコンサートのデジタル表現)であってもよい。
クライアント装置102は、ストリーミングメディアコンテントをファイルとして記憶するサーバ104から、または何らかの別のソースからストリーミングメディアを受信するサーバ104から、ストリーミングメディアを受信することができる。例えば、サーバ104は、ストリーミングメディアコンテントをファイルとして記憶する別のサーバからストリーミングメディアを受信するか、または何らかの別のソース(例えば、「生放送」イベントを符号化するエンコーダ)からストリーミングメディアを受信することができる。
本明細書で使用するように、ストリーミングメディアは、1つの装置から別の装置に(例えば、サーバ装置104からクライアント装置102に)1つまたは複数のメディアストリームをストリーミングすることを意味する。メディアストリームは、オーディオ、ビデオ、テキストなどの1つまたは複数のような、様々なタイプのコンテントのどれでも含むことができる。
図2は、本明細書に記載の、メディアをストリーミングするための高速起動を使用してメディアコンテントをストリームすることのできる、クライアント装置とサーバ装置の例を示す。サーバ装置104からクライアント装置102にメディアコンテントをストリームするために、通常、クライアント装置102とサーバ装置104の両方で、複数の異なるプロトコルに従う。これらの異なるプロトコルは、ストリーミングプロセスの異なる態様を担うことができる。図2には示さないが、1つまたは複数の追加装置(例えば、ファイアウォール、ルータ、ゲートウェイ、ブリッジなど)を、クライアント装置102とサーバ装置104の間に配置することができる。
図2の例では、アプリケーションレベルプロトコル150、転送プロトコル152、および1つまたは複数の配信チャネルプロトコル154が、ストリーミングプロセスの一部として使用される。図2に示さない追加プロトコルを使用することもできる(例えば、アプリケーションレベルプロトコル150と転送プロトコル152の間に1つ以上の追加プロトコルがある場合がある)。アプリケーションレベルプロトコル150は、リアルタイムプロパティによりデータの配信を制御するためのアプリケーションレベルでのプロトコルである。アプリケーションレベルプロトコル150は、オーディオおよびビデオコンテントのストリーミングのような、リアルタイムデータの制御されたオンデマンド配信を可能にするように任意選択で拡張可能な、フレームワークを提供する。アプリケーションレベルプロトコル150は、メディアサーバからのマルチメディアのストリーミングの配信を開始し、方向付けるための、制御プロトコルである。アプリケーションレベルプロトコル150の例には、ネットワーク作業部会のコメント求む(Network Working Group Request for Comments)(RFC)2326、1998年4月に記載されているリアルタイムストリーミングプロトコル(RTSP)、およびネットワーク作業部会のコメント求む(Network Working Group Request for Comments)(RFC)1945年、1996年5月またはネットワーク作業部会のコメント要求(RFC)2068、1997年1月に記載されているハイパーテキスト転送プロトコル(HTTP)が含まれる。
アプリケーションレベルプロトコル150は、オーディオおよびビデオのストリーミングのような、リアルタイムデータの配信のために転送プロトコル152を使用する。転送プロトコル152は、メディアストリームのためのパケット形式を定義する。転送プロトコル152は、オーディオ、ビデオまたはシミュレーションデータのようなリアルタイムデータを、マルチキャストまたはユニキャストネットワークサービスを介して伝送するアプリケーションに適した、端末相互間ネットワーク転送機能を提供する。転送プロトコル152の例には、ネットワーク作業部会のコメント求む(Network Working Group Request for Comments)(RFC)3550、2003年7月に記載されているリアルタイム転送プロトコル(RTP)およびリアルタイム制御プロトコル(RTCP)が含まれる。RTPは、資源確保に対処せず、リアルタイムサービスのためにサービス品質を保証しない。データ転送は、大規模マルチキャストネットワークにスケーラブルな方法でデータ配信の監視を可能にするために、また一部の制御および識別機能を提供するために、制御プロトコル(RTCP)により増大される。
転送プロトコル152は、転送接続のために1つ以上の配信チャネルプロトコル154を使用する。1つ以上の配信チャネルプロトコル154は、データのパケットをサーバ装置104からクライアント装置102に転送するために、1つまたは複数のチャネルを含む。通常は、単一メディアストリーム用のデータパケットを送信するために各チャネルが使用されるが、別の実施形態では、複数のメディアストリーム用のデータパケットを送信するために単一チャネルを使用することができる。配信チャネルプロトコル154の例には、伝送制御プロトコル(TCP)パケットと、ユーザデータグラムプロトコル(UDP)パケットが含まれる。TCPはデータパケットの配信を保証にするが、UDPはデータパケットの配信を保証しない。通常、TCPを使用したデータパケットの配信の方が、UDPを使用したデータパケットの配信よりも信頼性は高いが、より多くの時間を消費する。
図3は、クライアント装置およびサーバ装置と予測スタート技術を、さらに詳細に示すブロック図である。ある実施形態では、図2のプロトコル150、152および154は、図3のクライアント装置とサーバ装置に含まれるが、これは図示していない。さらに、図3には示さないが、1つまたは複数の追加装置(例えば、ファイアウォール、ルータ、ゲートウェイ、ブリッジなど)を、クライアント装置102とサーバ装置104の間に配置することができる。
クライアント装置102は、予測再生要求182をサーバ装置104に送信することによって予測スタートプロセスを開始する。予測再生要求182は、クライアント装置102がどのメディアストリームを望むかを予測する際に、サーバ装置104を支援するために、様々な情報を含むことができる。この情報は、例えばクライアント装置102に関する情報、クライアント装置102の1人以上のユーザに関する情報、および/またはサーバ装置104とクライアント装置102の間の接続に関する情報を含むことができる。サーバ装置104は、予測再生要求を受信し、クライアント装置102がどのメディアストリームを望むかを予測する。この予測は、通常、予測再生要求に含まれる情報の少なくとも一部に基づく。
サーバ装置104は次いで、クライアント装置102が望むと予測した1つ以上のメディアストリームを、クライアント装置102にストリームすることを開始する。したがって、図3の例では、サーバ装置104からクライアント装置102へのメディアコンテントのストリーミングは、サーバ装置104で受信したクライアント装置102からの第1の要求に応じて開始される。予測された1つ以上のストリーム184のストリーミングの一部として、サーバ装置104は、クライアント装置102に入手可能な様々なメディアストリームの説明を含む。これらの様々なメディアストリームは、通常、サーバ装置104によって予測されたストリーム並びに1つまたは複数の追加ストリームを含む。
クライアント装置102は、サーバ装置104からストリーミングメディアを受信し、ストリーミングメディアを処理する。この処理は、例えばクライアント装置102でユーザに公開するためにストリーミングメディアをバッファすることを含むことができる。さらに、クライアント装置102は、サーバ装置104から受信した、クライアント装置102に入手可能な様々なメディアストリームの説明をチェックし、クライアント装置102に現在ストリーミングされている予測されたストリームが、本当にクライアント装置102の望むストリームか否かを判定する。それらが望まれるストリームである場合、クライアント装置102は、さらなるアクションを取る必要はない。しかしそれらが望まれるストリームでない場合、クライアント装置102はサーバ装置104にストリーム選択186を送信する。ストリーム選択186は、クライアント装置102が望むストリームを示す。
サーバ装置104は、ストリーム選択186を受信し、1つ以上の選択されたストリーム188をクライアント装置102にストリームする。ストリーム選択186は、1つまたは複数のストリームを示すことができ、予測されたすトリームと交換すべきストリームまたは予測されたストリームに加えてストリームすべきストリームを示すことができる。示されたストリームが予測されたストリームと交換されるべき場合、予測されたストリームのストリーミングがサーバ装置104によって中止される。しかし示されたストリームが予測されたストリームに追加されるべき場合、その予測されたストリームのストリーミングはサーバ装置104によって中止されない。
予測再生要求182、予測された1つ以上のデータストリームによる応答184、ストリーム選択186、および1つ以上の選択されたデータストリームによる応答188の実施形態を、以下のパラグラフでさらに詳細に説明する。
予測再生要求182は、ユニフォーム資源ロケータ(URL)のような資源ロケータを含む。この資源ロケータは、クライアント装置102が望むメディアコンテントを示す。しかし、メディアコンテントには様々な選択肢がある場合がある。例えば、メディアコンテントは、(異なる接続速度を有するクライアント装置のために)異なるビットレートで符号化された複数のビデオストリーム、異なる言語のための複数のビデオストリーム、異なる言語のための複数のオーディオストリーム、異なる言語の複数のサブタイトルメディアストリームなどを有することができる。しかし、クライアント装置102は、それらの様々な選択肢をまだ知らないので、メディアコンテントについて様々な使用可能な選択肢の特定の1つを選択することはまだできない。
予測再生要求182は、クライアント装置102がどのメディアストリームを望むかを予測する際にサーバ装置104が使用する情報を含む、1つまたは複数の名前−値の対も含むことができる。これらの名前−値の対は、識別された情報のタイプを示す名前部分と、識別された特定情報を示す値部分とを含む。あるいは、この情報は、所定の順番で表示される一連の値のような(したがって、名前部分に対する要求が緩和される)、名前−値の対以外の方法で識別することができる。さらに場合によっては、予測再生要求182は、名前−値の対またはその他に、このようないかなる情報をも含まない場合がある。
再生要求182に含まれる情報は様々であってよい。ある実施形態では、再生要求182は、クライアント装置102とサーバ装置104の間の接続速度またはリンク帯域幅の識別と、さらにクライアント装置102が望む言語の識別を含む。別の実施形態では、リンク帯域幅および/または言語に加えて、またはこの代わりに、どのタイプのメディアストリームが望まれるか(例えば、オーディオのみ、ビデオのみ、ビデオとオーディオなど)、クライアント装置102ではどのコード(例えば、オーディオコード、ビデオコードなど)が使用可能か、ビデオデータにどの言語を入れるべきか(例えば、ビデオ中の人物の口元がオーディオと合うように)などのような、他の情報を含むことができる。
クライアント装置102は、別の方法で予測再生要求182に含まれるべき情報を取得することができる。通常、資源ロケータは、ユーザ入力(例えば、特定のメディアコンテントのユーザ選択)により、またはプログラム入力(例えば、クライアント装置102で実行中のプログラムが特定のメディアコンテントを選択する)により取得される。サーバ装置104が予測をする際に使用する情報は、予測再生要求182を送信中のアプリケーションに事前にプログラムしておくことができる(例えば、開発業者または設計者により、または好みに関するユーザ設定により)。例えば、アプリケーションがメディアプレーヤアプリケーションの場合、メディアプレーヤアプリケーションのユーザは、ユーザが好む言語を識別するために、メディアプレーヤアプリケーションの好みまたは選択肢を設定することができる場合がある。接続速度またはリンク帯域幅に関する情報は、例えばクライアント装置102で帯域幅をテストするアプリケーションにより、使用可能な帯域幅のユーザ入力に基づいて、また、クライアント装置102にメディアが以前ストリームされた速度を監視することなどにより入手可能である。あるいは、サーバ装置104が予測をする際に使用する情報は、サーバ装置104に事前にプログラミングしておくこともできる(例えば、すべてのクライアントが同じタイプであると認識され、または予測される状態に)。
予測再生要求182は、様々な異なる形式を取ることができる。ある実施形態では、予測再生要求182はHTTP getコマンドである。あるいは、他の形式を使用することもできる(例えば、異なる構文、HTTP postコマンド、RTSPコマンドなど)。予測再生要求は、要求を予測再生要求であると識別する識別子を含む。ある実施形態では、ある要求を予測再生要求であると識別するために1つまたは複数のヘッダーが使用されるが、その代わりに、その要求が予測再生要求であると識別する情報をメッセージ本体に含めることもできる。さらに、ある実施態様では、1つまたは複数のそのようなヘッダーが要求に存在することにより、その要求が予測再生要求であると識別される。ある要求が予測再生要求であると識別するために使用することのできる予測スタートヘッダーの例は、予測再生が要求されていることを示すパラメータとして値「1」を使用して、「Pragma:PredSttart=1」である。
サーバ装置104は、予測再生要求182を受信し、要求182に関連付けられたメディアストリームを識別する。要求182は、クライアント装置102にストリームすることのできる1つまたは複数のメディアストリームをそれぞれが含む、1つまたは複数のファイルである場合のある資源を識別する。資源にはそれらのメディアストリームの識別が関連付けられており、通常、それらのメディアストリームを説明する情報(例えば、それらが符号化されたビットレート、それらがオーディオ、ビデオ、テキストなどのどれなのか、それらがどの言語か)が関連付けられている。この識別は、資源の一部であってよく(例えば、ASF(高度ストリーミングフォーマット(Advanced Streaming Format)または高度システムフォーマット(Advanced Systems Format))ファイル内のASFのように、資源のヘッダーファイルに含まれてもよい)、あるいは別個に維持されてもよい。
サーバ装置104は、クライアント装置102がどのメディアストリームを望むかを予測するために、予測再生要求182に含まれる情報と、要求された資源に対してどのメディアストリームが使用可能であるかに関する情報を使用する。サーバ装置104は、サーバ装置104の管理者またはユーザによって供給されるディフォルト値、他のクライアント装置102に(および/またはこのクライアント装置104に)既にストリームされた1つ以上のメディアストリームなどのような、追加情報も使用することができる。クライアント装置102が望む1つ以上のストリームが予測される方法自体は、サーバ装置104に使用可能な情報に基づいて様々に異なる場合がある。
一例として、クライアント装置102にストリームされるべき映画に対する予測再生要求を、クライアント装置102が送信すると仮定する。クライアント装置102は、そのビデオコンテントはどれだけの様々なビットレートで符号化されているか、そのオーディオコンテントはどの言語で入手可能か、どの言語のサブタイトルが入手可能であるかなどのように、その映画に関してどのメディアストリームが入手可能かを知らない。しかし、クライアント装置102は、そのクライアント装置102のディフォルト言語が英語であり、秒速500キロビット(kbps)の接続速度を有することは知っていると仮定する。したがって、クライアント装置102は、その映画に関する予測再生要求をサーバ装置104に送信し、そのディフォルト言語が英語であり、そのディフォルト接続速度が500kbpsであるという指示を予測再生要求に含める。
サーバ装置104は、予測再生要求を受信し、要求された映画を説明する、要求された映画に関連付けられた情報にアクセスする。映画は、100kbpsで符号化されたビデオストリームと、300kbpsで符号化されたビデオストリームと、500kbpsで符号化されたビデオストリームの、3つのビデオストリームを有すると仮定する。さらに、その映画は、100kbpsで符号化された英語のオーディオストリームと、100kbpsで符号化されたスペイン語のオーディオストリームとを有し、さらにその映画は10kbpsで符号化されたフランス語のサブタイトルストリームと、10kbpsで符号化された日本語のサブタイトルのストリームとを有すると仮定する。また、その映画に関連付けられた情報は、そのビデオストリームが相互排除的であり(クライアント装置102には、一度にこれら3つのうち1つしかストリームできない)、オーディオストリームは相互排除的であり(クライアント装置102には、一度にこれら2つのうち1つしかストリームできない)、オーディオはビデオよりも優先されることを示すと仮定する。
オーディオがビデオよりも優先されるので、サーバ装置104は、2つのオーディオストリームのうちの1つをクライアント装置102にストリームすることになる。さらに、予測再生要求は、クライアント装置102のディフォルト言語が英語であるという指示を含むので、サーバ装置104は、クライアント装置102は英語のオーディオストリームを望むと予測する。
英語のオーディオストリームは100kbpsで符号化されており、クライアント装置102に対するディフォルトの接続速度は500kbpsなので、サーバ装置104は、クライアント装置102が300kbpsで符号化されたビデオストリームを望むと予測する(オーディオストリームは100kbpsで符号化されているので、サーバ装置104は、500kbpsのストリームをストリームするには帯域幅が不十分であると予測する)。
予測再生要求はサブタイトルのストリームに関するいかなる情報も含まないので、サーバ装置104は、サブタイトルのストリームが望まれると予測するか否かを判定するために各所を見る。残りの帯域幅があるので(500kbpsのうち、400klbpsしか使用されていない)、サーバ装置104は、サブタイトルのストリームのうちの1つが望まれると予測することができる。映画に関連付けられた、他よりも優先度が高いという情報において、サブタイトルのストリームのうちの1つが識別される場合、そのサブタイトルのストリームは、クライアント装置102が望むサブタイトルのストリームであると予測される。そうでない場合、サブタイトルのストリームのうちの1つは、他の方法で(例えば、ランダムに、またはその映画に関連付けられた情報内で参照される順番により)クライアント装置102が望むサブタイトルのストリームであると予測される。
あるいは、サーバ装置104は、様々なメディアストリームがクライアント装置によってどれだけ頻繁に望まれるかを記録することができる。この記録が、そのサブタイトルのストリームがクライアント装置によってまれにしか望まれないことを示す場合(例えば、50%より低い回数)、サーバ装置104は、クライアント装置102が望むサブタイトルのストリームはないと予測することができ、クライアント装置102にサブタイトルのストリームをストリームしない。
クライアント装置102が望むとサーバ装置104が予測したメディアストリームは、あくまでも予測に過ぎないことに留意されたい。これらのメディアストリームが、本当にクライアント装置102の望むメディアストリームであるという保証はない。しかし予測を行うことにより、サーバ装置104は、希望するメディアストリームの選択をクライアント装置102が行うのを待つことを必要とせず、クライアント装置102に対してそのメディアストリームのストリーミングを即座に開始することができる。
サーバ装置104は次いで、クライアント装置102に予測された1つ以上のメディアストリームをストリームする。サーバ装置104は、要求された資源にどのメディアストリームが使用可能であるかと、クライアント装置102が望んでいると予測されたのはどのストリームかの識別を含む情報も伝達する。この情報は、予測された1つ以上のメディアストリームと共に含めることができ、したがってクライアント装置102にストリームすることができるか、あるいは、非ストリーミング方法のような何らかの他の方法で伝達することができる(例えば、HTTPベースの制御プロトコルを介して)。ある実施形態では、この情報は、セッション記述プロトコル(SDP)、ネットワーク作業部会のコメント求む(Network Working Group Request for Comments)(RFC)2327、1998年4月に従い、セッション記述メッセージに含まれる。
クライアント装置102は、要求された資源にどのメディアストリームが使用可能であるかと、クライアント装置102が望んでいると予測されたのはどのストリームかの識別も含めて、予測されたメディアストリームを受信する。クライアント装置102は次いで、要求された資源にどのメディアストリームが使用可能であるかを分析し、予測されたメディアストリームとは異なるメディアストリームを選択することができる。異なるストリームの選択は任意選択である。クライアント装置102が、サーバ装置104の予測するメディアストリームを望む場合、クライアント装置102による他のメディアストリームの選択は必要ない。
選択されたメディアストリームを、予測されたメディアストリームに追加することができる(例えば、前例では、クライアント装置102が望んでいるとサーバ装置104が予測することのできるサブタイトルのストリームはないが、クライアント装置102はサブタイトルのストリームを選択することができる)。あるいは、選択されたメディアストリームを、予測されたメディアストリームの代わりとすることもできる(例えば、クライアント装置102は、英語のオーディオストリームではなく、スペイン語のオーディオストリームを選択することができる)。
クライアント装置102での選択は、様々な方法で行うことができる。例えば、この選択を行うために、アプリケーション(例えば、メディアプレーヤアプリケーション)をプログラムすることができる。別の例として、入手可能な様々なメディアストリームをクライアント装置のユーザに公開することができ、そのユーザに、自分が望む1つ以上のメディアストリームの選択を許可することができる。この場合、クライアント装置102が行う選択はどれも、サーバ装置104に送信される。
ある実施形態では、メディアをストリーミングするためにHTTPを使用する場合など、ストリーミングセッションの識別子が使用される。この識別子は、異なる要求が相互に関連付けられることを可能にする。例えば、予測再生要求は、クライアント装置102とサーバ装置104の間の1つの接続を介して送信することができ、選択されたメディアストリームを識別する要求は、クライアント装置102とサーバ装置104の間の別の接続を介して送信される。2つの要求が相互に関連付けられていることをサーバ装置104が知るために、ストリーミングセッションの識別子が使用される。ある実施形態では、サーバ装置104は、予測再生要求に応じて識別子を返す。この識別子は次いで、クライアント装置102が、選択されたメディアストリームを識別する要求が予測再生要求に関連付けられていることをサーバ装置104に通知するために、選択されたメディアストリームを識別する要求をサーバ装置104に送信する際に、使用することができる。
選択されたメディアストリームを識別する要求は、様々な異なる形式のどれであってもよい。ある実施形態では、この要求は、例えばHTTP PostコマンドまたはHTTP Getコマンドとしてサーバ装置104に送信することのできるSelect要求である。あるいは、この要求は、RTSPコマンドを使用するなどのような、他の方法で配信することができる。Select要求は、Select要求、0またはそれ以上のヘッダー、および任意選択でメッセージ本体として要求を識別する識別子を含む。ある実施形態では、選択されたメディアストリームを識別する情報は、Select要求の1つまたは複数のヘッダーに含まれるが、選択されたメディアストリームを識別する情報は、別法としてメッセージ本体に含めることができる。あるいは、ある実施形態では、要求に1つまたは複数のこのようなヘッダーが存在することによって、その要求がSelect要求であると識別される。表Iは、Select要求に含めることのできるヘッダーの一例を示す。
Figure 2007536796
選択されたメディアストリームを説明する情報は、選択されたメディアストリームを様々な方法で説明することができる。選択されたメディアストリームの説明の一部に、メディアストリームのどれだけデータがクライアント装置102にストリームされるべきかを示す(例えば、すべてのフレーム、キーフレームのみなど)「thinning level」を含めることができる。一例として、この説明は、サーバ装置104がどのストリームを予測したかには関係なく、クライアント装置102が望む1つ以上のメディアストリームのリストであってよい。別の例として、この説明は、サーバ装置104が予測したストリームに付加される、クライアント装置102が望む1つ以上のメディアストリームのリストであってよい。さらに別の例として、この説明は、予測したストリームと、予測したストリームに代わるべき選択されたストリームとをそれぞれが識別する、1つまたは複数のストリーム対の値を含むことができる。さらにまた別の例として、この説明は、1つ以上のメディアストリームのすべてと、そのメディアストリームがクライアント装置102に対するストリーミングに選択されているか否かの識別とのリストであってよい。また別の例として、この説明は、「否定的な」説明であってよい(例えば、クライアント装置102が望まない1つ以上のメディアストリームのすべてのメディアストリームのリストであり、したがって、クライアント装置102が望まない1つ以上のメディアストリームを本質的に識別するリスト)。
サーバ装置104は、Select要求を受信し、クライアント装置102に対して選択されたストリームのストリーミングを開始する。サーバ装置104は、選択されたストリームと交換された予測される1つ以上のストリームの、クライアント装置102に対するストリーミングは中止するが、選択されたストリームと交換されなかった予測される1つ以上のストリームのストリーミングは行う。
予測再生要求によって識別された資源を、単一メディアまたはマルチメディアの公開か、または複数のそのような公開に関連付けることができる。例えば、資源は、複数のビデオ、オーディオおよび/またはサブタイトルのストリームを有する場合があるとしても、単一のマルチメディアの公開である映画を識別することができる。別の例として、資源は、映画と、別の映画のコマーシャルおよび予告編とを識別することができる。この例では、映画は、1つのマルチメディアの公開であり、コマーシャルは第2のマルチメディアの公開であり、予告編は第3のマルチメディアの公開である。
資源が複数のマルチメディアの公開に関連付けられている場合、サーバ装置104は、クライアント装置102がどの公開を望むかを予測し、またクライアント装置102がそれらの公開の中でどのメディアストリームを望むかを予測することができる。例えば、1つの資源に関連付けられた2つの異なるコマーシャル、すなわちラテンアメリカ系の聴衆向けのコマーシャルと、中国人聴衆向けのコマーシャルがあると仮定する。予測再生要求がディフォルト言語をスペイン語と示している場合、サーバ装置104は、クライアント装置102はラテンアメリカ系の聴衆向けのコマーシャルを望むのであって、中国人聴衆向けのコマーシャルではないと予測することができる。
状況によっては、サーバ装置104が予測を行わないことを選ぶ場合があることに留意されたい。このような状況は、例えば不正確な予測を行う可能性が大きすぎる場合に発生する場合がある。このような状況では、サーバ装置104は、要求された資源にどのメディアストリームが使用可能であるかの識別は送信するが、いかなる予測された1つ以上のメディアストリームのストリーミングをも開始しない。それよりも、サーバ装置104は、使用可能なメディアストリームの1つまたは複数の選択をクライアント装置が行うまで待機し、選択された1つ以上のメディアストリームを再生するための要求が受信されたときに、その選択された1つ以上のメディアストリームのストリーミングを開始する。
図4は、予測スタートプロセス200の一例を示す流れ図である。図4は、クライアント装置102(例えば、図1、2および3の)およびサーバ装置104(例えば、図1、2および3の)の両方によって実行される動作を示す。クライアント装置102によって実行される動作は図4の左側に示され、サーバ装置104によって実行される動作は図4の右側に示される。
最初に、クライアント装置102は、予測再生要求を生成する(動作202)。予測再生要求は、クライアント装置102にストリームされるよう望まれる、サーバ装置104の資源として表される、1つまたは複数のメディアまたはマルチメディアの公開を識別する。クライアント装置102は、予測再生要求をサーバ装置104に送信し(動作204)、サーバ装置104は、予測再生要求を受信する(動作206)。
予測再生要求に応答して、サーバ装置104は、クライアント装置102が望む1つまたは複数のメディアストリームを予測する(動作208)。上記のように、この予測は、予測再生要求に含まれる情報、サーバ装置104でのディフォルト設定、要求された資源に関連付けられた情報、メディアのストリーミングするための以前の要求などのような、様々な要因に基づくことができる。予測された1つ以上のメディアストリームは次いで、クライアント装置102にストリームされる(動作210)。動作210でのこのストリーミングの一部として、予測された1つ以上のメディアストリームと、要求された資源に使用可能な1つ以上のメディアストリームの識別も、クライアント装置102に送信される。あるいは、上記のように、予測された1つ以上のメディアスストリームと、要求された資源に使用可能なメディアストリームの識別は、非ストリーミング方法を含めて他の方法でクライアント装置102に伝達することができる。
クライアント装置102は、予測された1つ以上のメディアストリームを受信し(動作212)、予測された1つ以上のメディアストリームと要求した資源に使用可能な1つ以上のメディアストリームの受信した識別を分析する。プロセス200は次いで、クライアント装置102が、1つ以上の予測されたメディアストリームではなく1つまたは複数の異なるメディアストリームをストリームさせることを望むか否かに基づいて進む。上記のように、そのような異なる1つ以上のメディアストリームの選択は、クライアント装置102のアプリケーションプログラムまたはクライアント装置102でのユーザ入力によるなど、異なる方法で行うことができる。異なる1つ以上のメディアストリームが選択されない場合(動作214)、クライアント装置102は、サーバ装置104が予測した1つ以上のメディアストリームを望み、それらの受信した1つ以上のメディアストリームの処理に進む(動作216)。この処理は、例えば受信した1つ以上のメディアストリームのバッファおよび/またはクライアント装置102で受信した1つ以上のメディアストリームの公開(例えば、再生)を含むことができる。
しかし、異なる1つ以上のメディアストリームが選択される場合、クライアント装置102は、サーバ装置104にそれら選択されたメディアストリームの指示を送信する(動作218)。サーバ装置104は、選択された1つ以上のメディアストリームの指示を受信し(動作220)、クライアント装置102に送信されるべき1つ以上のメディアストリームを識別する(動作222)。上記のように、クライアント装置102が選択した1つ以上のストリームは、予測された1つ以上のメディアストリームに付加的なものとするか、または予測された1つ以上のメディアストリームの1つまたは複数のメディアストリームの代わりとすることができる。動作222でサーバ装置104が識別した1つ以上のメディアストリームは、クライアント装置102が選択しているように示されたストリームを含み(動作220で受信された)、動作208でサーバ装置104が予測した1つ以上のストリームの1つまたは複数のストリームを含むこともできる。
サーバ装置104は次いで、クライアント装置102にストリームされた、識別された1つ以上のメディアストリームをストリームする(動作224)。通常、識別された1つ以上のメディアストリームは、現在の再生位置からストリームされる(例えば、選択要求が受信された場合、その1つ以上のメディアストリームが現在ストリームされている一時的な位置が識別され、次いでその識別された1つ以上のメディアストリームの対応する一時的な位置が特定され、その識別された1つ以上のメディアストリームのストリーミングが特定されたその位置から開始される)。あるいは、識別された1つ以上のメディアストリームの開始のような、他の開始点を使用することができる。クライアント装置102は、識別された1つ以上のメディアストリームをサーバ装置104から受信し(動作226)、その受信した1つ以上のメディアストリームを処理する(動作216)。この処理は、例えば、1つ以上のメディアストリームのバッファと、クライアント装置102での1つ以上のメディアストリームの公開(例えば、再生)を含むことができる。
図2に戻ると、本明細書で説明した高速起動は、ストリーミング中に1つ以上の配信チャネルを切り換えるプロセスも含む。転送プロトコル152は、様々な異なる配信チャネルを使用することができる。通常、各メディアストリームがサーバ装置104から、別の配信チャネルを使用するクライアント装置102に送信される。様々なメディアストリームのこれらの配信チャネルは、通常は同じタイプだが、異なるタイプであってもよい。配信チャネルの2つの共通タイプは、TCPチャネルとUDPチャネルである。TCPチャネルはTCPパケットと呼ばれるパケットでデータを送信するが、UDPチャネルはUDPパケットと呼ばれるパケットでデータを送信する。通常、TCPを使用したデータパケットの配信はUDPを使用したデータパケットの配信よりも信頼性が高いが、より多くの時間を消費する。さらに、クライアント装置102が、UDPパケットは受信できないがTCPパケットは受信できる場合、クライアント装置102とサーバ装置104の間にファイアウォールが置かれるような状況が発生する場合がある。
図5は、クライアント装置およびサーバ装置と配信チャネル切り換えプロセスの例を、さらに詳細に示すブロック図である。ある実施形態では、図2のプロトコル150、152および154は図5のクライアント装置とサーバ装置に含まれるが、図示はしていない。さらに、図5には示さないが、1つまたは複数の追加装置(例えば、ファイアウォール、ルータ、ゲートウェイ、ブリッジなど)を、クライアント装置102とサーバ装置104の間に配置することができる。本明細書で説明した配信チャネル切り換えは、メディアコンテントソースが、1つの配信チャネル(例えば、TCP)を使用して1つ以上のメディアストリームのストリーミングを開始し、次いで別の配信チャネル(例えば、UDP)が機能するか否かをチェックし、機能する場合はそちらの配信チャネルに切り換える。
最初、クライアント装置102は、1つまたは複数のメディアストリームがクライアント装置102にストリームされることを要求する再生要求252を、サーバ装置104に送信する。この再生要求252は、上記の予測再生要求、または1つまたは複数のメディアストリームがクライアント装置102にストリームされることを要求するいかなる他の要求(または複数の要求の組み合わせ)であってもよい。例えば、この再生要求252は、所望のメディアストリームを識別するSelect要求を伴うHTTP Postコマンドであってよい。この再生要求に応じて、サーバ装置104は、要求された1つ以上のメディアストリームをクライアント装置102にTCPを使用してストリームする。この応答は、複数のTCPパケットの要求された1つ以上のメディアストリームに関するデータを含む。
TCPを使用してサーバ装置104からクライアント装置102にメディアをストリーミングしている間、クライアント装置102はUDPプロービングパケット256をサーバ装置104に送信する。ある実施形態では、これは、UDPポートを開き、開いたUDPポートの識別をストリーミングメディアと共にTCP254を使用してクライアント装置102に送信する、サーバ装置104によって達成される。クライアント装置102は、UDPポート識別を受信し、次いでUDPパケットをサーバ装置104のそのポートに送信することができる。あるいは、サーバ装置104は、UDPプロービングパケットのために使用するように、良く知られたUDPポートを有することができ、クライアント装置102は、UDPプロービングパケット256を、サーバ装置104が開いたUDPポートの識別を最初にクライアント装置102に送信せずに、この良く知られたUDPポートに送信することができる。クライアント装置102はまた、それ自体で識別することのできるUDPポートをサーバ装置104に対してUDPプロービングパケット256の一部として、UDPパケットを受信することのできるUDPポートとして開く。
サーバ装置104は、UDPプロービングパケット256を受信し、UDPプロービング応答パケット258を生成し、これをクライアント装置102に送信する。UDPプロービング応答パケット258は、サーバ装置104がUDPプロービングパケット256を受信したという、クライアント装置102に対する指示である。UDPプロービング応答パケット258は、任意選択で、UDPプロービングパケット256に含まれる識別子のような、UDPプロービングパケット256のある種の識別子を含む。あるいは、同じ接続上における応答が存在するだけで、応答パケット258とプロービングパケット256を関連付けることができる。例えば、単一応答および関連付けられた応答は、1つの接続を介して送信された2つのメッセージに過ぎず、この場合、応答258は、プロービングパケット256に対する応答と見なされることになる。
ある実施形態では、単一UDPプロービングパケット256がクライアント装置102によって送信されるが、別の実施形態では、複数のUDPプロービングパケット256がクライアント装置102により送信され、それぞれのそのUPDプロービングパケット256に対してUPDプロービング応答パケット258がサーバ装置104により返されることに留意されたい。複数のUDPプロービングパケット256は、クライアント装置102によって同時に送信することも、あるいは異なる時点で送信することもできる(例えば、クライアント装置102は、別のUDPプロービングパケット256を送信する前に、あるUPDプロービングパケット256に対してUDPプロービング応答パケット258が戻されるのを待つことができる)。例えば、転送プロトコル152がRTPプロトコルとRTCPプロトコルを含む実施形態では、RTPデータは配信チャネルまたはフローを使用して送信され、RTCPデータは別の配信チャネルまたはフローを使用して送信される。UDPプロービングパケット256は、これら異なる配信チャネルまたはフローそれぞれに対して送信することができる。別の例として、別のUDPプロービングパケット256を、クライアント装置102により、複数のメディアストリームのそれぞれに(例えば、クライアント装置102がUDPを使用したストリーミングに切り換えることを希望する各メディアストリームに対して、TCPを使用してクライアント装置102に現在ストリーミング中の各メディアストリームに対して、など)送信することができる。これらの2つの例は、組み合わせてもよい(例えば、2つのUDPプロービングパケット256(RTPフローに対して1つと、RTCPフローに対して1つ)を、クライアント装置102により、複数のメディアストリームのそれぞれに送信することができる)。
クライアント装置102はUDPプロービング応答パケット258を受信し、クライアント装置102は、UDPパケットをサーバ装置104からクライアント装置102に送信できることを知る。したがって、クライアント装置102は、サーバ装置104に、サーバ装置104からクライアント装置102へのUDP 260を使用した1つ以上のメディアストリームのストリーミングに切り換えるための要求を送信する。通常、クライアント装置102は、1つ以上のメディアストリームのすべてをUDPを使用したストリーミングに切り換えるための要求を、サーバ装置104に送信するが、クライアント装置102は、要求で、UDPを使用したストリーミングに切り換えるべき1つ以上の特定のメディアストリームしか識別することができない(残りの1つ以上のメディアストリームは、依然としてTCPを使用してストリームされている)。あるいは、複数の要求をクライアント装置102からサーバ装置104に送信することができ、これらの要求のそれぞれは、UDPを使用してクライアント装置102にストリームすべき特定の1つまたは複数のメディアストリームを識別する。
この要求に応じて、サーバ装置104は、再生要求252で要求された1つ以上のメディアストリームのストリーミングを、UDP 262を使用し、クライアント装置102に対して開始する。ある実施形態では、TCPを使用した1つ以上のメディアストリームのストリーミングが既に開始されているので、サーバ装置104は、1つ以上のメディアストリームの開始時にはUDPを使用したストリーミングを開始しない。そうではなく、サーバ装置104は、TCPを使用したデータのストリーミングを中止し、TCPを使用したストリーミングが中止した点がどこであっても、その点からUDPを使用したストリーミングを開始する。あるいは、パケット間にいくつかのオーバーラップがある場合がある(例えば、UDPへの切り換えが発生する点で、TCPを使用して既に送信済みの数個のパケットを、UDPを使用して再送することができる)。
UDP 260を使用したサーバ装置104からクライアント装置102への1つ以上のメディアストリームのストリーミングに切り換えるための要求は、様々な異なる形式のどれであってもよい。ある実施形態では、この要求は、HTTP Postコマンドをサーバ装置104に送信することのできるSelect要求である。あるいは、この要求は、RTSPコマンドを使用するような他の方法で配信することもできる。Select要求は、その要求をSelect要求であると識別する識別子、0またはそれ以上のヘッダー、および任意選択でメッセージ本体を含む。ある実施形態では、UDPを使用した1つ以上のメディアストリームのストリーミングにサーバ装置を切り換えることを要求する情報は、Select要求の1つまたは複数のヘッダーに含まれるが、UDPを使用した1つ以上のメディアストリームのストリーミングにサーバ装置を切り換えることを要求する情報は、メッセージ本体に含めてもよく、あるいはUDPを使用した1つ以上のメディアストリームのストリーミングに切り換えるための要求を、その要求固有のものとしてもよい。ある実施形態では、Pragma:ストリーム切り換えエントリヘッダー(表Iを参照して説明する)および/またはX−Transportヘッダー(表IIを参照して説明する)の存在は、その要求をSelect要求であると識別する識別子として働く。表IIに、Select要求に含めることのできるヘッダーの一例を示す。
Figure 2007536796
ある実施形態では、メディアストリームの実際のコンテントを表すデータ(例えば、クライアント装置102で再生されるビデオまたはオーディオを表すデータ)が、UDPパケットを使用してサーバ装置104からクライアント装置102に送信される場合であっても、制御情報(例えば、RTCPパケット)はTCPパケットを使用してサーバ装置104からクライアント装置102に送信される。別の実施形態では、制御情報(例えば、RTCPパケット)を含めてすべてのデータが、UDPパケットを使用してサーバ装置104からクライアント装置102に送信される。
サーバ装置104からクライアント装置102にデータをストリームするためにUDPパケットを使用することができない場合、UDPプロービングパケット256はサーバ装置104に到着せず(したがって、サーバ装置104はUDPプロービング応答パケット258を送信することはない)、もしくはUDPプロービング応答パケット258はクライアント装置102に到着しないということに留意されたい。したがって、クライアント装置102がUDPプロービングパケット256に対する応答を受信しない場合、クライアント装置102は、サーバ装置104からクライアント装置102にデータをストリームするためにUDPパケットを使用することができないことを知る。任意選択で、クライアント装置102がUDPプロービングパケット256への応答を受信しない場合、クライアント装置102は、サーバ装置104からクライアント装置102にデータをストリームするためにUDPパケットを使用することができないことを検証するために、1つ以上のUDPプロービングパケットを1回または複数回再送することができる。
さらに、複数のUDPプロービングパケット256が送信される場合(例えば、複数のメディアストリームまたは複数のフローに)、プロービングパケット256の一部に応じ、その他には応ぜずに、UDPプロービング応答パケット258を受信することができるということに留意されたい。これは、そのUDPパケットが、一部のストリームまたはフロー(UDPプロービング応答パケット258が受信されたストリームまたはフロー)についてはサーバ装置104からクライアント装置102にストリームすることができるが、その他のストリームまたはフロー(UDPプロービング応答パケットが受信されなかったストリームまたはフロー)に対してはそうではないことを示す。
サーバ装置104からクライアント装置102にデータをストリームするためにUDPパケットを使用することができるか否かのプロービングは、要求された1つ以上のメディアストリームが、TCP 254を使用してクライアント装置102にストリーム中に行われることにも留意されたい。したがって、クライアント装置102は、UDPパケットを使用してそのデータをクライアント装置102にストリームすることができるか否かの判定を待つことを必要とせずに、その要求された1つ以上のメディアストリームの受信を開始する。
UDPプロービングパケット256とUDPプロービング応答パケット258が、様々な情報のどれでも含むことができることをさらに留意されたい。1つ以上のメディアストリームに関する情報は、UDPプロービングパケット256とUDPプロービング応答パケット258を使用してクライアント装置102とサーバ装置104の間で送信する必要はない。UDPプロービングおよびUDPプロービング応答パケットの重要性は、それらのパケットに含まれる1つ以上のメディアストリームに関するどのような特別な情報でもなく、単にそれらのパケットがそれらの目標とするターゲットに到着するか否かにある。
図6は、配信チャネル切り換えプロセス300の一例を示す流れ図である。図6は、クライアント装置102(例えば、図1、2および5)とサーバ装置104(例えば、図1、2および5)の両方によって実行される動作を示す。
最初に、クライアント装置102は、サーバ装置104にストリーミングメディアに対する要求を送信する(動作302)。サーバ装置104は、その要求を受信し、TCPを使用してクライアント装置102に対する要求された1つ以上のメディアストリームのストリーミングを開始する(動作304)。サーバ装置104は、引き続いて、要求された1つ以上のメディアストリームを、TCPを使用してストリームし、クライアント装置102は、その1つ以上のメディアストリームを受信し、処理する(動作306)。この処理は、例えばクライアント装置102での1つ以上のメディアストリームのバッファリングおよび/または公開(例えば、再生)を含むことができる。
動作306での、TCPを使用した、要求された1つ以上のメディアストリームのストリーミングと同時に、UDPを使用してデータをサーバ装置104からクライアント装置102にストリームすることができるか否かを判定するために、クライアント装置102とサーバ装置104の間のリンクがプローブされる(動作308)。上記のように、このプロービングは、クライアント装置102とサーバ装置104の間で送信される情報およびパケットを必要とする場合がある。
プロセス300は次いで、そのプロービングが、UDPを使用してサーバ装置104からクライアント装置102にデータをストリームすることができることを示すか否かに基づいて進む(動作310)。UDPを使用してサーバ装置104からクライアント装置102にデータをストリームすることができない場合、サーバ装置104は、要求された1つ以上のメディアストリームを、TCPを使用してストリームし、クライアント装置102は、その1つ以上のメディアストリームを受信し、TCPを使用して受信したその1つ以上のメディアストリームを処理する(動作306)。しかし、UDPを使用してサーバ装置104からクライアント装置102にデータをストリームすることができる場合、サーバ装置104は、要求された1つ以上のメディアストリームを、TCPではなくUDPを使用したストリーミングに切り換え、クライアント装置102は、その1つ以上のメディアストリームを受信し、UDPを使用して受信したその1つ以上のメディアストリームを処理する(動作312)。通常、サーバ装置104は、クライアント装置102から送信されたUDPへの切り換えを求める要求(例えば、Select要求)に応じて、要求された1つ以上のメディアストリームを、TCPではなくUDPを使用したストリームすることに切り換える。さらに、すべてのストリームを、UDPを使用したストリーミングに切り換える必要はないことに留意されたい。そうではなく、クライアント装置102は、特定の1つまたは複数のメディアストリームだけをUDPを使用したストリーミングに切り換えて、1つまたは複数の他のメディアストリームはTCPを使用してストリームし続けるよう要求することができる。
本明細書に記載の高速起動は、予測スタート技術および/または配信チャネル切り換え技術を含むことができる。上記の図3および4は、予測スタート技術の実施形態を説明する。上記の図5および6は、配信チャネル切り換え技術の実施形態を説明する。
図7は、予測スタートおよび配信チャネル切り換えの両方を含めて、高速起動プロセス350の一例を示す流れ図である。図7は、クライアント装置102(例えば、図1、2および5)とサーバ装置104(例えば、図1、2および5)の両方によって実行される動作を示す。
最初に、クライアント装置102は、予測再生要求をサーバ装置104に送信する(動作352)。サーバ装置104は、予測再生要求を受信し、クライアント装置102が望む1つ以上のメディアストリームを予測する(動作354)。サーバ装置104は次いで、TCPを使用した、クライアント装置102への予測された1つ以上のメディアストリームのストリーミングを開始する(動作356)。
クライアント装置102とサーバ装置104の間のリンクは次いで、UDPを使用してデータをサーバ装置104からクライアント装置102にストリームすることができるか否かを判定するために、プローブされる(動作358)。このプロービングが、UDPを使用してデータをサーバ装置104からクライアント装置102にストリームすることができることを示す場合、サーバ装置104は、TCPではなくUDPを使用した1つ以上のメディアストリームのストリーミングに切り換え(動作360)、そうでない場合、サーバ装置104は、TCPを使用した1つ以上のメディアストリームのストリーミングに進む。通常、サーバ装置104は、UDPへの切り換えを要求するクライアント装置102から送信される要求(例えば、Select要求)に応じて、要求された1つ以上のメディアストリームをTCPではなくUDPを使用したストリーミングに切り換える。さらに、すべてのストリームが、UDPを使用したストリーミングに切り換えられる必要はないということに留意されたい。そうではなく、クライアント装置102は、特定の1つまたは複数のメディアストリームだけをUDPを使用したストリーミングに切り換えて、1つまたは複数の他のメディアストリームはTCPを使用してストリームし続けるよう要求することができる。
さらに、TCPを使用した、予測された1つ以上のメディアストリームのストリーミングが動作356で開始された後、クライアント装置102は、その予測された1つ以上のメディアストリーム以外の1つ以上のメディアストリームを望むか否かを判定する(動作362)。望む場合、(予測されたメディアストリームに加えて、かつ/またはそれらの代わりに)予測された1つ以上のメディアストリーム以外の1つまたは複数のメディアストリームが選択され、クライアント装置102は、1つ以上の選択されたメディアストリームの指示をサーバ装置104に送信する(動作364)。サーバ装置104は、クライアント装置102からこの指示を受信し、1つ以上の選択されたメディアストリームをクライアント装置102にストリームする(動作366)。
動作360でストリーム中の1つ以上のメディアストリームは、動作354で予測された1つ以上のメディアストリーム、および/または動作364で選択された1つ以上のメディアストリームを含むことができるということに留意されたい。動作360でストリーム中の1つ以上のメディアストリームは、動作354で予測された1つ以上のメディアストリームであり、かつ/または動作364で選択された1つ以上のメディアストリームであるかは、1つ以上のメディアストリームが動作364で選択されたか否か、並びに動作360の切り換え前または後に、動作366で選択された1つ以上のメディアストリームのストリーミングをサーバ104が開始するか否かにより異なる。
ある実施形態では、動作358および360の配信チャネル切り換えは、動作362、364および366のメディアストリーム選択と同時に実行される。別の実施形態では、動作358および360の配信チャネル切り換えは、動作362、364および366のメディアストリーム選択の後、または前に実行することができる。
図8は、本明細書に記載の技術を実施するために使用することのできる、汎用コンピュータ環境400を示す。コンピュータ環境400は、コンピューティング環境の一例に過ぎず、コンピュータおよびネットワークアーキテクチャの用途または機能の範囲に関して、いかなる制限をも示唆することを意図するものではない。また、コンピュータ環境400は、コンピュータ環境400例に示されるどの構成要素、またはそれら構成要素のどのような組み合わせにも、依存せず、もしくはこれらを必要とはしない。
コンピュータ環境400は、コンピュータ402の形式の汎用コンピューティング装置を含む。コンピュータ402は、例えば、図1、2、3および5のクライアント装置102またはサーバ装置104であってよい。コンピュータ402は、マルチメディア公開のソースであるエンコーダ装置であってもよい。コンピュータ402の構成要素は、限定ではないが、1つまたは複数のプロセッサまたは処理装置404、システムメモリ406、およびプロセッサ404を含めて様々なシステム構成要素をシステムメモリ406に結合するシステムバス408を含むことができる。
システムバス408は、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックスポート、および様々なバスアーキテクチャのどれかを使用するプロセッサまたはローカルバスを含めて、各種バス構造のどれか1つまたは複数を表す。一例として、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、およびMezzanineバスとしても知られる周辺装置相互接続(PCI)バスを含むことができる。
コンピュータ402は、通常、様々なコンピュータ可読媒体を含む。このような媒体は、コンピュータ402によってアクセス可能ないかなる入手可能な媒体であってもよく、揮発性および不揮発性媒体と、取り外し可能および取り外し不可能な媒体の両方を含む。
システムメモリ406は、ランダムアクセスメモリ(RAM)410のような揮発性メモリ、および/または読み出し専用メモリ(ROM)412のような不揮発性メモリの形式のコンピュータ可読媒体を含む。基本入出力システム(BIOS)414は、起動時などにコンピュータ402内の素子間での情報転送に役立つ基本ルーチンを含み、ROM 412に記憶される。RAM 410は、通常、処理装置404によって直接アクセス可能、かつ/または現在処理装置404による操作を受けている、データおよび/またはプログラムモジュールを含む。
コンピュータ402は、他の取り外し可能/取り外し不可能な、揮発性/不揮発性コンピュータ記憶媒体も含むことができる。一例として、図8は、取り外し不可能な不揮発性磁気媒体(図示せず)から読み取り/に書き込むためのハードディスクドライブ416、取り外し可能な不揮発性磁気ディスク420(例えば、「フロッピーフロッピー(登録商標)ディスク」)から読み取り/に書き込むための磁気ディスクディスクドライブ418、およびCD−ROM、DVD−ROMまたは他の光媒体のような取り外し可能な不揮発性光ディスク424から読み取り/に書き込むための光ディスクドライブ422を示す。ハードディスクドライブ416、磁気ディスクドライブ418および光ディスクドライブ422は、それぞれに1つまたは複数のデータ媒体インターフェース426によってシステムバス408に接続される。あるいは、ハードディスクドライブ416、磁気ディスクドライブ418および光ディスクドライブ422は、1つまたは複数のインターフェースによってシステムバス408(図示せず)に接続することができる。
ディスクドライブおよびそれらの関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶域をコンピュータ402に提供する。この例は、ハードディスク416、取り外し可能な磁気ディスク420、および取り外し可能な光ディスク424を示しているが、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)または他の光記憶ストレージ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電子的消去可能および書込み可能な読み出し専用メモリ(EEPROM)などのような、コンピュータによってアクセス可能な、データを記憶することのできる他のタイプのコンピュータ可読媒体も、このコンピュータシステムおよび環境の例を実施するために使用することができることを理解されたい。
ハードディスク416、磁気ディスク420、光ディスク424、ROM 412および/またはRAM 410に、一例としてオペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、他のプログラムモジュールおよびプログラムデータ423を含めて、プログラムモジュールをいくつでも記憶することができる。このようなオペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、他のプログラムモジュール430、およびプログラムデータ432(またはそれらの組み合わせ)のそれぞれは、分散型ファイルシステムをサポートする常駐構成要素のすべてまたは一部を実施することができる。
ユーザは、キーボード434およびポインティング装置436(例えば、「マウス」)のような入力装置を介してコマンドおよび情報をコンピュータ402に入力することができる。他の入力装置438(特に図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用受信アンテナ、シリアルポート、スキャナなどを含むことができる。これらまたは他の入力装置は、システムバス408に結合された入出力インターフェース440を介して処理装置404に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)のような他のインターフェースおよびバス構造によって接続することもできる。
モニタ442または他のタイプの表示装置も、ビデオアダプタ444のようなインターフェースを介してシステムバス408に接続することができる。モニタ442に加え、他の出力周辺装置は、入出力インターフェース440を介してコンピュータ402に接続することのできるスピーカー(図示せず)およびプリンタ446のような構成要素を含むことができる。
コンピュータ402は、遠隔コンピューティング装置448のような1つまたは複数の遠隔コンピュータに対する論理接続を使用して、ネットワーク接続環境で動作することができる。一例として、遠隔コンピューティング装置448は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイスまたは他の共通ネットワークノードなどであってよい。遠隔コンピューティング装置448は、コンピュータ402に関して本明細書に記載した要素および特徴の多くまたはすべてを含むことのできる、ポータブルコンピュータとして示されている。
コンピュータ402と遠隔コンピュータ448の間の論理接続を、ローカルエリアネットワーク(LAN)450および汎用広域ネットワーク(WAN)452として示す。このようなネットワーク接続環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
LANネットワーク接続環境で実施される場合、コンピュータ402は、ネットワークインターフェースまたはアダプタ454を介してローカルネットワーク450に接続される。WANネットワーク接続環境で実施される場合、コンピュータ402は、通常、モデム456または広域ネットワーク452を介して通信を確立するための他の手段を含む。コンピュータ402に内蔵であっても外付けであってもよいモデム456は、入出力インターフェース440または他の適切な機構を介してシステムバス408に接続することができる。図示したネットワーク接続は一例であり、コンピュータ402と448の間に1つ以上の通信リンクを確立する他の手段を利用することができるということを理解されたい。
コンピューティング環境400により示したようなネットワーク接続環境では、コンピュータ402に関して示したプログラムモジュールまたはその一部を、遠隔メモリストレージ装置に記憶することができる。一例として、遠隔アプリケーションプログラム458は、遠隔コンピュータ448のメモリデバイスに常駐する。説明のために、アプリケーションプログラムと、オペレーティングシステムのような他の実行可能なプログラム構成要素とを、本明細書では別々のブロックで示したが、このようなプログラムおよび構成要素は、コンピューティング装置402の様々な記憶構成要素に様々な時点で常駐し、コンピュータの1つ以上のデータプロセッサによって実行される。
様々なモジュールおよび技術は、本明細書では、1つまたは複数のコンピュータまたは他のデバイスによって実行される、プログラムモジュールのようなコンピュータ実行可能命令の一般的な状況で説明する場合がある。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。通常、プログラムモジュールの機能は、様々な実施形態で所望に応じ、組み合わせても分散してもよい。
これらのモジュールおよび技術の実施態様は、コンピュータ可読媒体のいくつかの形式に亘って記憶され、または送信されることができる。コンピュータ可読媒体は、コンピュータによってアクセス可能な、いかなる入手可能な媒体であってもよい。限定ではなく一例として、コンピュータ可読媒体は、「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
「コンピュータ記憶媒体」は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータのような情報の記憶のために、いかなる方法または技術でも実施される、揮発性および不揮発性の取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、限定ではないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、コンピュータによりアクセス可能ないかなる他の媒体をも含む。
「通信媒体」は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波または他の転送機構のような変調されたデータ信号形式の他のデータを実施する。通信媒体は、いかなる情報配信媒体をも含む。「変調されたデータ信号」という用語は、その文字セットの1つまたは複数を有するか、または情報を信号に符号化するような方法で変更された信号を意味する。限定ではなく一例として、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体と、アコースティック、RF、赤外線および他の無線媒体のような無線媒体とを含む。上記のどれとどれの組み合わせでも、コンピュータ可読媒体の範囲に含まれる。
上記の説明は構造上の特徴および/または方法上の動作に特有の用語を使用するが、首記の特許請求の範囲で定義される本発明は、記載した具体的な特徴または動作に限定されないことを理解されたい。むしろ、これら具体的な特徴および動作は、本発明を実施する形式の一例として開示されている。
本明細書に記載の、メディアをストリーミングするための高速起動をサポートするネットワーク環境例を示す図である。 本明細書に記載の、メディアをストリーミングするための高速起動を使用してメディアコンテントをストリームすることのできる、クライアント装置とサーバ装置の例を示す図である。 クライアント装置およびサーバ装置と予測スタート技術を、さらに詳細に示すブロック図である。 予測スタートプロセスの一例を示す流れ図である。 クライアント装置およびサーバ装置と配信チャネル切り換えプロセスの例を、さらに詳細に示すブロック図である。 配信チャネル切り換えプロセスの一例を示す流れ図である。 予測スタートと配信チャネル切り換えの両方を含めて、高速起動プロセスの一例を示す流れ図である。 本明細書に記載の技術を実施するために使用することのできる、汎用コンピュータ環境を示す図である。

Claims (43)

  1. クライアント装置から、1つまたは複数のメディアストリームを前記クライアント装置にストリームする旨の要求を送信するステップと、
    サーバ装置で前記要求を受信するステップと、
    TCP(伝送制御プロトコル)を使用した前記サーバ装置から前記クライアント装置に対する前記1つまたは複数のメディアストリームのストリーミングを開始するステップと、
    前記サーバ装置から前記クライアント装置に対する前記1つまたは複数のメディアストリームのストリーミング中に、UDP(ユーザデータグラムプロトコル)を使用して前記サーバ装置から前記クライアント装置にデータをストリームすることができるか否かをプローブするステップと、
    前記プロービングが、UDPを使用して前記サーバ装置から前記クライアント装置にデータをストリームすることができることを示す場合、前記サーバ装置から前記クライアント装置に対するUDPを使用した前記1つまたは複数のメディアストリームのストリーミングに切り換え、そうでない場合、前記サーバ装置から前記クライアント装置に対するTCPを使用した前記1つまたは複数のメディアストリームをストリームし続けるステップと
    を含むことを特徴とする方法。
  2. 前記プロービングは、
    前記クライアント装置から前記サーバ装置に、1つまたは複数のUDPプロービングパケットを送信するステップと、
    前記1つまたは複数のUDPプロービングパケットのそれぞれに応じて、前記サーバ装置から前記クライアント装置にUDP応答パケットを送信するステップと、
    前記UDP応答パケットの少なくとも1つが前記クライアント装置によって受信された場合、少なくとも一部のデータは、UDPを使用して前記サーバ装置から前記クライアント装置にストリームすることができると判定し、そうでない場合、データは、UDPを使用して前記サーバ装置から前記クライアント装置にストリームすることができないと判定するステップと
    を含むことを特徴とする請求項1に記載の方法。
  3. 1つまたは複数のプロセッサによって実行された場合、前記1つまたは複数のプロセッサに、
    リクエスタから、前記リクエスタにストリームすべきメディアコンテントの要求を受信するステップと、
    前記メディアコンテントの少なくとも一部を、伝送制御プロトコル(TCP)パケットを使用して前記リクエスタにストリームするステップと、
    前記リクエスタにストリーミング中の前記コンテントの少なくとも一部と同時に、ユーザデータグラムプロトコル(UDP)パケットを使用することに変更するための要求を受信するステップと、
    前記メディアコンテントの1つまたは複数の追加部分を、TCPパケットではなくUDPパケットを使用して前記リクエスタにストリームするステップと
    を実行させる、複数の命令を記憶したことを特徴とする1つまたは複数のコンピュータ可読媒体。
  4. プロービング後に受信されたUDPパケットを使用することに変更するための前記要求は、メディアコンテントを、UDPパケットを使用して前記リクエスタにストリームすることができるか否かを判定するために実行されており、メディアコンテントがUDPパケットを使用して前記リクエスタにストリームすることができるという判定がなされ、前記メディアコンテントの前記少なくとも一部が、TCPパケットを使用して前記リクエスタにストリーム中に、前記プロービングが行われることを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  5. UDPパケットを使用して前記リクエスタにストリームされる前記メディアコンテントの前記1つまたは複数の追加部分は、TCPパケットを使用して前記リクエスタにストリームされる前記メディアコンテントの前記少なくとも一部を含まないことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  6. 前記命令が、前記1つまたは複数のプロセッサに、
    UDPを使用することに変更するための前記要求の受信後、制御情報を表すデータを、TCPパケットを使用して前記リクエスタに送信するステップ
    をさらに実行させることを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  7. 前記1つまたは複数のプロセッサに、前記メディアコンテントの前記1つまたは複数の追加部分を、TCPパケットではなくUDPパケットを使用して前記リクエスタにストリームさせる前記命令は、前記1つまたは複数のプロセッサに、前記メディアコンテントの選択されたメディアストリームだけの1つまたは複数の追加部分を、TCPパケットではなくUDPパケットを使用して前記リクエスタにストリームさせる命令を含むことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  8. UDPパケットを使用することに変更するための前記要求は、前記メディアコンテントがUDPパケットを使用して前記リクエスタにストリームされるべきであることを示すために、1つまたは複数のヘッダーを有するSelect要求を含むことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  9. 前記1つまたは複数のヘッダーは、RTP/UDP転送パラメータによるX転送ヘッダーを含むことを特徴とする請求項8に記載の1つまたは複数のコンピュータ可読媒体。
  10. 前記リクエスタはクライアント装置を含むことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  11. 前記1つまたは複数のプロセッサはサーバ装置の一部であることを特徴とする請求項3に記載のコンピュータ可読媒体。
  12. 装置の1つまたは複数のプロセッサによって実行された場合、前記1つまたは複数のプロセッサに、
    メディアコンテントソースから、伝送制御プロトコル(TCP)パケットを使用してメディアコンテントの少なくとも一部を受信するステップと、
    TPCパケットを使用して前記メディアコンテントの前記少なくとも一部の受信中に、前記メディアコンテントが、ユーザデータグラムプロトコル(UDP)パケットを使用して前記装置にストリームすることができるか否かを判定するステップと、
    UDPパケットを使用して前記メディアコンテントを前記装置にストリームすることができる場合、UDPパケットを使用して前記メディアコンテントを前記装置にストリームするための要求を前記メディアコンテントソースに送信するステップと
    を実行させる、複数の命令を記憶したことを特徴とする1つまたは複数のコンピュータ可読媒体。
  13. 前記命令は、前記1つまたは複数のプロセッサに、
    前記要求の送信後に、UDPパケットを使用して前記メディアコンテントを表すデータと、TCPパケットを使用して制御情報を表すデータとを受信するステップ
    をさらに実行させることを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  14. 前記1つまたは複数のプロセッサに、前記メディアコンテントソースに前記要求を送信させる前記命令は、前記1つまたは複数のプロセッサに、UDPパケットを使用して前記装置に前記メディアコンテントの選択されたメディアストリームだけをストリームするための要求を前記メディアコンテントソースに対して送信させる命令を含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  15. 前記1つまたは複数のプロセッサに、UDPパケットを使用して前記メディアコンテントを前記装置にストリームすることができるか否かを判定させる前記命令は、前記1つまたは複数のプロセッサに、
    前記メディアコンテントソースに、UDPプロービングパケットを送信するステップと、
    前記UDPプロービングパケットに応じて、前記メディアコンテントソースからUDP応答パケットが受信された場合、前記メディアコンテントは、UDPパケットを使用して前記装置にストリームすることができると判定し、そうでない場合、前記メディアコンテントは、UDPパケットを使用して前記装置にストリームすることができないと判定するステップと
    を実行させる命令を含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  16. 前記メディアコンテントソースはサーバ装置を含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  17. 前記要求は、UDPパケットを使用して前記メディアコンテントを前記装置にストリームすべきであることを示すために、RTP/UDP転送パラメータによるX転送ヘッダーを有するSelect要求を含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  18. 前記要求は、ハイパーテキスト転送プロトコル(HTTP)Postコマンドを含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  19. 前記要求は、ハイパーテキスト転送プロトコル(HTTP)Getコマンドを含むことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。
  20. クライアント装置からサーバ装置に、予測再生要求を送信するステップと、
    前記サーバ装置で、前記予測再生要求に応じて、前記クライアント装置が望む1つまたは複数のメディアストリームを予測するステップと、
    前記サーバ装置から前記クライアント装置に少なくとも前記予測された1つまたは複数のメディアストリームをストリーミングするステップと、
    前記クライアント装置で、前記予測された1つまたは複数のメディアストリームと異なる少なくとも1つのメディアストリームが、前記クライアント装置にストリーミングするように選択されたか否かを判定するステップと、
    前記予測された1つまたは複数のメディアストリームと異なる前記少なくとも1つのメディアストリームが、前記クライアント装置にストリームするように選択された場合、前記サーバ装置に対して、前記選択された少なくとも1つのメディアストリームの指示を送信し、前記サーバ装置から前記クライアント装置に前記選択された少なくとも1つのメディアストリームをストリーミングするステップと
    を含むことを特徴とする方法。
  21. 前記予測された1つまたは複数のメディアストリームと異なる前記少なくとも1つのメディアストリームは、前記予測された1つまたは複数のストリームの少なくとも1つと交換するように選択されることを特徴とする請求項20に記載の方法。
  22. 前記サーバ装置から前記クライアント装置に対する前記選択された少なくとも1つのメディアストリームの前記ストリーミングは、前記サーバ装置から前記クライアント装置に対する、前記予測された1つまたは複数のメディアストリームに加えて前記選択された少なくとも1つのメディアストリームのストリーミングを含むことを特徴とする請求項20に記載の方法。
  23. 装置の1つまたは複数のプロセッサによって実行された場合、前記1つまたは複数のプロセッサに、
    リクエスタから予測再生要求を受信するステップと、
    前記予測再生要求に応じて、前記リクエスタにストリームされるべき1つまたは複数のメディアストリームを予測するステップと、
    前記リクエスタに前記予測された1つまたは複数のメディアストリームをストリームするステップと
    を実行させる、複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ可読媒体。
  24. 前記予測再生要求は、「Pragma:PredStart=1」ヘッダーを有する要求を含むことを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  25. 前記命令は、前記1つまたは複数のプロセッサに、
    前記リクエスタから、前記予測された1つまたは複数のメディアストリームの1つとは異なるメディアストリームをストリームするための要求を受信するステップと、
    前記リクエスタに対する前記予測された1つまたは複数のメディアストリームのストリーミングを中止するステップと、
    前記リクエスタに対する前記異なるメディアストリームのストリーミングを開始するステップと
    をさらに実行させることを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  26. 前記予測された1つまたは複数のメディアストリームと異なるメディアストリームをストリームするための前記要求は、前記異なるメディアストリームを示すために、1つまたは複数のパラメータを有する「pragma:ストリーム切り換えエントリ」ヘッダーを有するSelect要求を含むことを特徴とする請求項25に記載の1つまたは複数のコンピュータ可読媒体。
  27. 前記命令は、前記1つまたは複数のプロセッサに、
    前記リクエスタに対して、前記予測された1つまたは複数のストリームの指示と、前記リクエスタにストリームすることのできる1つまたは複数の追加ストリームの指示とを伝達するステップをさらに実行させることを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  28. 前記リクエスタはクライアント装置を含むことを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  29. 前記1つまたは複数のプロセッサに前記リクエスタにストリームすべき1つまたは複数のメディアストリームを予測させる前記命令は、前記1つまたは複数のプロセッサに、前記予測再生要求に含まれる情報に少なくとも一部は基づいて、前記リクエスタにストリームすべき前記1つまたは複数のメディアストリームを予測させる命令を含むことを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  30. 前記予測再生要求に含まれる前記情報は、前記リクエスタと前記装置の間の接続速度の指示を含むことを特徴とする請求項29に記載の1つまたは複数のコンピュータ可読媒体。
  31. 前記予測再生要求に含まれる前記情報は、前記リクエスタが望む言語の指示を含むことを特徴とする請求項29に記載の1つまたは複数のコンピュータ可読媒体。
  32. 前記1つまたは複数のプロセッサに前記リクエスタにストリームすべき1つまたは複数のメディアストリームを予測させる前記命令は、前記1つまたは複数のプロセッサに、前記予測再生要求に含まれる情報ではなく、前記装置に入手可能な情報に少なくとも一部は基づいて、前記リクエスタにストリームすべき前記1つまたは複数のメディアストリームを予測させる命令を含むことを特徴とする請求項23に記載の1つまたは複数のコンピュータ可読媒体。
  33. 装置の1つまたは複数のプロセッサによって実行された場合、前記1つまたは複数のプロセッサに、
    予測再生要求をメディアコンテント要求に送信するステップと、
    前記予測再生要求に応じて、前記メディアコンテントソースによって前記装置が望むと予測された、1つまたは複数のメディアストリームを受信するステップと
    を実行させる、複数の命令を記憶したことを特徴とする1つまたは複数のコンピュータ可読媒体。
  34. 前記予測再生要求は、「Pragma:PredStart=1」ヘッダーを有する要求を含むことを特徴とする請求項33に記載の1つまたは複数のコンピュータ可読媒体。
  35. 前記1つまたは複数のプロセッサに、前記メディアコンテントソースによって前記装置が望むと予測された1つまたは複数のメディアストリームを受信させる前記命令は、前記装置が前記1つまたは複数のメディアストリームのどれも選択することを必要とせずに、前記1つまたは複数のプロセッサに、前記メディアコンテントソースによって前記装置が望むと予測された前記1つまたは複数のメディアストリームを受信させることを特徴とする請求項33に記載の1つまたは複数のコンピュータ可読媒体。
  36. 前記命令は、前記1つまたは複数のプロセッサに、
    前記メディアコンテントによって前記装置が望むと予測された前記1つまたは複数のメディアストリームの1つと異なるメディアストリームを選択するステップと、
    前記メディアコンテントソースに対して、前記異なるメディアストリームの指示を送信するステップと、
    前記指示に応じ、前記メディアコンテントソースから、前記異なるメディアストリームを、前記メディアコンテントによって前記装置が望むと予測された前記1つまたは複数のメディアストリームに代わって受信するステップと
    をさらに実行させることを特徴とする請求項33に記載の1つまたは複数のコンピュータ可読媒体。
  37. 前記異なるメディアストリームの前記指示は、前記異なるメディアストリームを示すために、1つまたは複数のパラメータを有する「pragma:ストリーム切り換えエントリ」ヘッダーを有するSelect要求を含むことを特徴とする請求項36に記載の1つまたは複数のコンピュータ可読媒体。
  38. 前記命令は、前記1つまたは複数のプロセッサに、
    前記メディアコンテントによって前記装置が望むと予測された前記1つまたは複数のメディアストリームと異なるメディアストリームを選択するステップと、
    前記メディアコンテントソースに対して、前記異なるメディアストリームの指示を送信するステップと、
    前記指示に応じ、前記メディアコンテントソースから、前記メディアコンテントソースによって前記装置が望むと予測された前記1つまたは複数のメディアストリームに加えて、前記異なるメディアストリームを受信するステップと
    をさらに実行させることを特徴とする請求項33に記載の1つまたは複数のコンピュータ可読媒体。
  39. 前記異なるメディアストリームの前記指示は、前記異なるメディアストリームを示すために、1つまたは複数のパラメータを有する「pragma:ストリーム切り換えエントリ」ヘッダーを有するSelect要求を含むことを特徴とする請求項38に記載の1つまたは複数のコンピュータ可読媒体。
  40. 前記命令は、さらに前記1つまたは複数のプロセッサに、前記予測再生要求に、前記1つまたは複数のメディアストリームを予測する際に前記メディアコンテントソースによって使用されるべき情報を含めさせることを特徴とする請求項33に記載の1つまたは複数のコンピュータ可読媒体。
  41. 前記予測再生要求に含まれる前記情報は、前記装置と前記メディアコンテントソースの間の接続速度の指示を含むことを特徴とする請求項40に記載の1つまたは複数のコンピュータ可読媒体。
  42. 前記予測再生要求に含まれる前記情報は、前記装置が望む言語の指示を含むことを特徴とする請求項40に記載の1つまたは複数のコンピュータ可読媒体。
  43. クライアント装置からサーバ装置に、予測再生要求を送信するステップと、
    前記サーバ装置で、前記予測再生要求に応じて、前記クライアント装置が望む1つまたは複数のメディアストリームを予測するステップと、
    前記サーバ装置から前記クライアント装置に、少なくとも前記予測された1つまたは複数のメディアストリームをストリーミングするステップと、
    前記クライアント装置で、前記予測された1つまたは複数のメディアストリームと異なる少なくとも1つのメディアストリームが、前記クライアント装置にストリーミングするように選択されるか否かを判定するステップと、
    前記予測された1つまたは複数のメディアストリームと異なる前記少なくとも1つのメディアストリームが、前記クライアント装置にストリーミングするように選択された場合、前記選択された少なくとも1つのメディアストリームの指示を前記サーバ装置に送信し、前記サーバ装置から前記クライアント装置に、前記予測された1つまたは複数のメディアストリームの少なくとも1つではなく、前記選択された少なくとも1つのメディアストリームをストリームするステップと、
    TCP(伝送制御プロトコル)を使用して前記サーバ装置から前記クライアント装置に対する前記1つまたは複数のメディアストリームのストリーミングを開始するステップと、
    前記サーバ装置から前記クライアント装置に前記1つまたは複数のメディアストリームをストリーミング中に、UDP(ユーザデータグラムプロトコル)を使用して前記サーバ装置から前記クライアント装置にデータをストリームすることができるか否かをプローブするステップと、
    前記プロービングが、UDPを使用して前記サーバ装置から前記クライアント装置にデータをストリームすることができることを示す場合、前記1つまたは複数のメディアストリームのストリーミングを、前記サーバ装置から前記クライアント装置に対するUDPを使用したストリーミングに切り換え、そうでない場合、TCPを使用して前記サーバ装置から前記クライアント装置に前記1つまたは複数のメディアストリームをストリームし続けるステップと
    を含むことを特徴とする方法。
JP2007511343A 2004-05-03 2004-07-23 メディアをストリーミングするための高速起動 Pending JP2007536796A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/838,465 US7720983B2 (en) 2004-05-03 2004-05-03 Fast startup for streaming media
PCT/US2004/023936 WO2005111837A1 (en) 2004-05-03 2004-07-23 Fast startup for streaming media

Publications (1)

Publication Number Publication Date
JP2007536796A true JP2007536796A (ja) 2007-12-13

Family

ID=35376537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007511343A Pending JP2007536796A (ja) 2004-05-03 2004-07-23 メディアをストリーミングするための高速起動

Country Status (13)

Country Link
US (1) US7720983B2 (ja)
EP (1) EP1745387B1 (ja)
JP (1) JP2007536796A (ja)
KR (1) KR20070007698A (ja)
CN (2) CN1784674B (ja)
AU (1) AU2004288602A1 (ja)
BR (1) BRPI0406598A (ja)
CA (1) CA2507804A1 (ja)
MX (1) MXPA05007086A (ja)
RU (1) RU2364924C2 (ja)
TW (1) TW200537293A (ja)
WO (1) WO2005111837A1 (ja)
ZA (1) ZA200504759B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028516A (ja) * 2008-07-22 2010-02-04 Nec Corp 映像配信システム、映像配信装置、映像受信装置、映像配信方法、映像受信方法及びプログラム
WO2010041469A1 (ja) * 2008-10-09 2010-04-15 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
JP2010220112A (ja) * 2009-03-18 2010-09-30 Toshiba Corp 電話システム、サーバおよび端末デバイス
KR20130004896A (ko) * 2010-02-19 2013-01-14 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치
JP2017517922A (ja) * 2014-04-10 2017-06-29 クアルコム,インコーポレイテッド リアルタイムトランスポートプロトコルのためのストリーミング制御
US9742815B2 (en) 2013-08-06 2017-08-22 Ricoh Company, Ltd. Information processing apparatus and determination result providing method

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US7716358B2 (en) 2000-09-12 2010-05-11 Wag Acquisition, Llc Streaming media buffering system
US8595372B2 (en) 2000-09-12 2013-11-26 Wag Acquisition, Llc Streaming media buffering system
JP3734774B2 (ja) * 2002-06-21 2006-01-11 株式会社リコー ネットワークファクシミリ装置、及び、ファクシミリ通信方法
US20080200168A1 (en) * 2003-08-05 2008-08-21 John Yue Jun Jiang Method and system for seamless data roaming across multiple operator bearers
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20130097302A9 (en) 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US7720983B2 (en) * 2004-05-03 2010-05-18 Microsoft Corporation Fast startup for streaming media
JP2006033763A (ja) * 2004-07-21 2006-02-02 Toshiba Corp 電子機器及び通信制御方法
US20090222873A1 (en) * 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
IES20050376A2 (en) 2005-06-03 2006-08-09 Asavie R & D Ltd Secure network communication system and method
US7644173B1 (en) * 2005-09-26 2010-01-05 Roxbeam Media Network Corporation System and method for facilitating expedited delivery of media content
US20070201502A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for controlling the delivery behavior of downloaded content
KR20160079150A (ko) 2006-03-27 2016-07-05 닐슨 미디어 리서치 인코퍼레이티드 무선통신장치에 표현되는 미디어 컨텐츠의 미터링 방법 및 시스템
CN101473654B (zh) * 2006-06-19 2011-08-03 艾利森电话股份有限公司 媒体频道管理
US8290349B2 (en) * 2006-06-22 2012-10-16 Sony Corporation Playback apparatus, method, and program
JP4982563B2 (ja) * 2006-07-20 2012-07-25 サンディスク コーポレイション 向上されたavプレーヤ装置、並びにそれを使用したコンテンツ配信のシステムおよび方法
JP5061619B2 (ja) * 2007-01-24 2012-10-31 日本電気株式会社 リソース確保方法、中継装置、配信システム、およびプログラム
US20080180572A1 (en) * 2007-01-29 2008-07-31 Microsoft Corporation Enabling access to closed captioning data present in a broadcast stream
US7788395B2 (en) * 2007-02-14 2010-08-31 Microsoft Corporation Adaptive media playback
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
FR2919778A1 (fr) * 2007-07-30 2009-02-06 Canon Kk Procede de transmission de paquets de donnees dans un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
CN101399844B (zh) * 2007-09-26 2012-03-07 中兴通讯股份有限公司 一种移动流媒体业务中快速切换内容的方法
US20090138614A1 (en) * 2007-11-28 2009-05-28 Motorola, Inc. Method and apparatus for streaming media in a communication network
CN101188815B (zh) * 2007-12-07 2011-07-06 华为终端有限公司 媒体流数据的传送方法、系统、服务器及客户端
WO2009095081A1 (en) * 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
EP2088751B1 (en) * 2008-02-08 2013-07-03 Accenture Global Services Limited Streaming media interruption and resumption system
US8503991B2 (en) 2008-04-03 2013-08-06 The Nielsen Company (Us), Llc Methods and apparatus to monitor mobile devices
US7844725B2 (en) 2008-07-28 2010-11-30 Vantrix Corporation Data streaming through time-varying transport media
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US20100064061A1 (en) * 2008-09-05 2010-03-11 Apple Inc. Providing substantially immediate action in response to input event
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US20100169303A1 (en) 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
JP2012516106A (ja) * 2009-01-26 2012-07-12 トムソン ライセンシング 受信器における同調を改善する方法、装置、及びシステム
US8775665B2 (en) * 2009-02-09 2014-07-08 Citrix Systems, Inc. Method for controlling download rate of real-time streaming as needed by media player
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
CN102045768A (zh) * 2009-10-26 2011-05-04 宏碁股份有限公司 数据传输方法及其用户装置与数据传输系统
US8468288B2 (en) * 2009-12-10 2013-06-18 International Business Machines Corporation Method for efficient guest operating system (OS) migration over a network
US8504694B2 (en) * 2010-03-08 2013-08-06 Microsoft Corporation Remote content classification and transmission using multiple transport channels
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
TWI451279B (zh) 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
US20110249667A1 (en) * 2010-04-13 2011-10-13 Rebelvox, Llc Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol
WO2011153376A2 (en) * 2010-06-04 2011-12-08 Eyecon Ip Holding Anonymous re-streaming of media item of content
EP2636025B1 (en) 2010-11-05 2019-12-18 Koninklijke Philips N.V. Image content based prediction and image cache controler
US9043782B2 (en) 2010-12-28 2015-05-26 Microsoft Technology Licensing, Llc Predictive software streaming
US20120173748A1 (en) * 2011-01-03 2012-07-05 Nokia Corporation Hybrid transport-layer protocol media streaming
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
WO2012170904A2 (en) 2011-06-10 2012-12-13 Bytemobile, Inc. Adaptive bitrate management on progressive download with indexed media files
EP2719144B1 (en) 2011-06-10 2018-08-08 Citrix Systems, Inc. On-demand adaptive bitrate management for streaming media over packet networks
US9015337B2 (en) 2011-07-13 2015-04-21 Hewlett-Packard Development Company, L.P. Systems, methods, and apparatus for stream client emulators
US9137551B2 (en) 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
EP2786537B1 (en) * 2011-12-01 2019-11-20 InterDigital Madison Patent Holdings Device for obtaining content by choosing the transport protocol according to the available bandwidth
TWI519147B (zh) 2011-12-28 2016-01-21 財團法人工業技術研究院 提供與傳送複合濃縮串流之方法以及系統
US8924581B1 (en) * 2012-03-14 2014-12-30 Amazon Technologies, Inc. Managing data transfer using streaming protocols
US8972523B2 (en) * 2012-03-19 2015-03-03 Verizon Patent And Licensing Inc. Adaptive localized content storage and distribution
KR101979270B1 (ko) * 2012-06-08 2019-08-28 엘지전자 주식회사 영상표시장치, 이동 단말기, 및 그 동작방법
US9398344B2 (en) * 2012-06-08 2016-07-19 Lg Electronics Inc. Image display apparatus, mobile terminal and method for operating the same
KR101945812B1 (ko) * 2012-06-08 2019-02-08 엘지전자 주식회사 이동 단말기, 및 그 동작방법
US9628542B2 (en) * 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
US9432426B2 (en) 2013-02-04 2016-08-30 Qualcomm Incorporated Determining available media data for network streaming
US9413797B2 (en) 2013-04-23 2016-08-09 Gurulogic Microsystems Oy Data communication system and method
GB2513345B (en) * 2013-04-23 2017-07-26 Gurulogic Microsystems Oy Data communication system and method
GB2513597B (en) 2013-04-30 2021-04-07 Metaswitch Networks Ltd SIP signalling
EP3020208B1 (en) * 2013-07-12 2022-03-09 Canon Kabushiki Kaisha Adaptive data streaming with push messages control
CN104427357A (zh) * 2013-09-04 2015-03-18 中兴通讯股份有限公司 语言种类设置方法和装置
CN103905878A (zh) * 2014-03-13 2014-07-02 北京奇艺世纪科技有限公司 一种视频数据和音频数据同步播放的方法、装置和设备
CN103986762B (zh) * 2014-05-15 2018-03-27 京信通信系统(中国)有限公司 一种进行进程状态检测的方法及装置
CN104283716B (zh) * 2014-10-22 2018-01-26 网易(杭州)网络有限公司 数据传输方法、设备及系统
CN104486243B (zh) * 2014-11-27 2017-11-03 网易(杭州)网络有限公司 数据传输方法、设备及系统
US20170041363A1 (en) * 2015-08-03 2017-02-09 Unroll, Inc. System and Method for Assembling and Playing a Composite Audiovisual Program Using Single-Action Content Selection Gestures and Content Stream Generation
GB2541736B (en) 2015-08-28 2019-12-04 Imagination Tech Ltd Bandwidth management
CN105282231B (zh) * 2015-09-11 2018-09-21 深信服网络科技(深圳)有限公司 基于应用类型的数据引流方法、装置及系统
CN117596232A (zh) * 2016-05-25 2024-02-23 中兴通讯股份有限公司 流媒体快速启动方法、装置和系统
CN109818773B (zh) * 2017-11-22 2021-03-12 大唐移动通信设备有限公司 一种网管与被管理设备的通信方法及设备
FR3090252B1 (fr) * 2018-12-17 2021-08-20 Orange Procédé de basculement d’une communication de TCP sur UDP
US11234051B2 (en) 2019-01-04 2022-01-25 Apple Inc. Predictive media routing
EP3888328B1 (en) 2019-03-06 2023-05-31 Samsung Electronics Co., Ltd. Method and system for mpquic over qsocks in wireless network
US11947637B2 (en) 2020-05-28 2024-04-02 Comcast Cable Communications, Llc Authorization of access rights licenses
CN114995732B (zh) * 2021-09-06 2024-04-23 荣耀终端有限公司 一种投屏方法、电子设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036499A1 (en) * 2001-10-23 2003-05-01 Santa Cruz Networks, Inc. System and method for group video teleconferencing using a bandwidth optimizer

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018771A (en) * 1992-11-25 2000-01-25 Digital Equipment Corporation Dynamic assignment of multicast network addresses
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
JPH09261617A (ja) 1996-01-19 1997-10-03 Matsushita Electric Ind Co Ltd オンデマンド通信システム
US5999979A (en) * 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
JP3653569B2 (ja) 1997-01-30 2005-05-25 マイクロソフト コーポレーション ビデオをオン・デマンドでレンダリングするvcrに似た機能
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
US6078594A (en) * 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
US6505252B1 (en) 1997-12-24 2003-01-07 Seiko Epson Corporation Data transfer utilizing preview data
US6477707B1 (en) 1998-03-24 2002-11-05 Fantastic Corporation Method and system for broadcast transmission of media objects
US6847614B2 (en) * 1998-04-20 2005-01-25 Broadcom Corporation Apparatus and method for unilateral topology discovery in network management
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6662223B1 (en) * 1999-07-01 2003-12-09 Cisco Technology, Inc. Protocol to coordinate network end points to measure network latency
US7606164B2 (en) 1999-12-14 2009-10-20 Texas Instruments Incorporated Process of increasing source rate on acceptable side of threshold
US7010492B1 (en) 1999-09-30 2006-03-07 International Business Machines Corporation Method and apparatus for dynamic distribution of controlled and additional selective overlays in a streaming media
US20060244839A1 (en) * 1999-11-10 2006-11-02 Logitech Europe S.A. Method and system for providing multi-media data from various sources to various client applications
FR2805062B1 (fr) 2000-02-10 2005-04-08 Bull Cp8 Procede de transmission de flux de donnees a haut debit sur un reseau de type internet entre un serveur et un terminal a carte a puce, notamment d'un flux de donnees multimedia
DE60105998D1 (de) * 2000-04-08 2004-11-04 Sun Microsystems Inc Wiedersynchronisierung von medien während strömung
US7073191B2 (en) * 2000-04-08 2006-07-04 Sun Microsystems, Inc Streaming a single media track to multiple clients
JP2001298479A (ja) * 2000-04-12 2001-10-26 Nec Corp インターネット電話装置
US6601094B1 (en) * 2000-04-27 2003-07-29 Hewlett-Packard Development Company, L.P. Method and system for recommending an available network protocol
US6772216B1 (en) * 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US7299489B1 (en) * 2000-05-25 2007-11-20 Lucent Technologies Inc. Method and apparatus for host probing
US7184433B1 (en) * 2000-05-26 2007-02-27 Bigband Networks, Inc. System and method for providing media content to end-users
AU2001286447A1 (en) * 2000-08-11 2002-02-25 The Regents Of The University Of California Receiver-initiated multiple access for ad-hoc networks (rima)
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
US7103668B1 (en) * 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
WO2002032051A2 (en) * 2000-10-12 2002-04-18 Signafor, Inc. Advanced switching mechanism for providing high-speed communications with high quality of service
US8949471B2 (en) * 2000-11-02 2015-02-03 Oracle America, Inc. TCP/UDP acceleration
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US6778869B2 (en) * 2000-12-11 2004-08-17 Sony Corporation System and method for request, delivery and use of multimedia files for audiovisual entertainment in the home environment
KR100866445B1 (ko) * 2000-12-27 2008-10-31 소니 가부시끼 가이샤 데이터 기록 장치와 방법, 및 데이터 재생 장치와 방법
US20020136298A1 (en) * 2001-01-18 2002-09-26 Chandrashekhara Anantharamu System and method for adaptive streaming of predictive coded video data
DE60235870D1 (de) * 2001-01-26 2010-05-20 Microsoft Corp Verfahren und vorrichtung zur automatischen bestimmung eines geeigneten übertragungsverfahrens in einem netzwerk
US20020144276A1 (en) * 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
US7454527B2 (en) * 2001-05-02 2008-11-18 Microsoft Corporation Architecture and related methods for streaming media content through heterogeneous networks
US20030028591A1 (en) * 2001-07-19 2003-02-06 Alexey Goloshubin Browser having dynamically self-adjusting rendering functionality
US20030061304A1 (en) * 2001-09-10 2003-03-27 Tenereillo Peter A. Method and apparatus for discovering client proximity using in-line translations
JP3648470B2 (ja) * 2001-09-18 2005-05-18 株式会社東芝 移動端末、ルータ装置、ノード装置、移動エージェント、パケット転送方法及び移動エージェント処理方法
US7225260B2 (en) * 2001-09-28 2007-05-29 Symbol Technologies, Inc. Software method for maintaining connectivity between applications during communications by mobile computer terminals operable in wireless networks
ES2254301T3 (es) * 2001-10-08 2006-06-16 Siemens Aktiengesellschaft Asignacion de canal de datos de control y datos utiles en sistemas de comunicacion inalambricos.
JP4126928B2 (ja) * 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
US6850503B2 (en) * 2002-08-06 2005-02-01 Motorola, Inc. Method and apparatus for effecting a handoff between two IP connections for time critical communications
CN1169332C (zh) * 2002-09-29 2004-09-29 清华大学 一种基于客户端反馈的传输协议选择方法
US8051176B2 (en) * 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
US7277915B2 (en) * 2002-11-11 2007-10-02 Openwave Systems Inc. Application-based protocol and proxy selection by a mobile device in a multi-protocol network environment
US7424528B2 (en) * 2002-11-27 2008-09-09 Hewlett-Packard Development Company, L.P. System and method for measuring the capacity of a streaming media server
EP1453269A1 (en) * 2003-02-25 2004-09-01 Matsushita Electric Industrial Co., Ltd. A method of reporting quality metrics for packet switched streaming
US20040247295A1 (en) * 2003-06-04 2004-12-09 Samsung Electronics Co., Ltd Audio/video stream processing system and method for data copy protection
WO2005002116A2 (en) * 2003-06-13 2005-01-06 Docomo Communications Laboratories Usa, Inc. Proxy active scan for wireless networks
US7392316B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
US20050002337A1 (en) * 2003-07-01 2005-01-06 Nokia Corporation Reducing effects caused by transmission channel errors during a streaming session
US20050165849A1 (en) * 2003-08-05 2005-07-28 G-4, Inc. Extended intelligent video streaming system
US8339963B2 (en) * 2003-08-27 2012-12-25 Rockstar Consortium Us Lp Technique for end-to-end admission control of real-time packet flows
US8589373B2 (en) * 2003-09-14 2013-11-19 Yaron Mayer System and method for improved searching on the internet or similar networks and especially improved MetaNews and/or improved automatically generated newspapers
US7574514B2 (en) * 2003-09-30 2009-08-11 Sharp Laboratories Of America, Inc. Systems and methods for identifying original streams of media content
US20050076099A1 (en) * 2003-10-03 2005-04-07 Nortel Networks Limited Method and apparatus for live streaming media replication in a communication network
US8081205B2 (en) * 2003-10-08 2011-12-20 Cisco Technology, Inc. Dynamically switched and static multiple video streams for a multimedia conference
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
US7010299B2 (en) * 2003-11-20 2006-03-07 Motorola, Inc. Method and apparatus for mobility in WLAN systems
US7609640B2 (en) * 2003-12-19 2009-10-27 Nokia Corporation Methods and applications for avoiding slow-start restart in transmission control protocol network communications
US8566469B2 (en) * 2003-12-24 2013-10-22 Intel Corporation Method and system for predicting and streaming content utilizing multiple stream capacity
US7293066B1 (en) * 2004-01-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus supporting access to stored data
US7571232B2 (en) * 2004-03-22 2009-08-04 Microsoft Corporation Method and apparatus for managing channel information
US7720983B2 (en) * 2004-05-03 2010-05-18 Microsoft Corporation Fast startup for streaming media

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036499A1 (en) * 2001-10-23 2003-05-01 Santa Cruz Networks, Inc. System and method for group video teleconferencing using a bandwidth optimizer

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028516A (ja) * 2008-07-22 2010-02-04 Nec Corp 映像配信システム、映像配信装置、映像受信装置、映像配信方法、映像受信方法及びプログラム
JP5659791B2 (ja) * 2008-10-09 2015-01-28 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法及びプログラム
WO2010041469A1 (ja) * 2008-10-09 2010-04-15 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
JPWO2010041469A1 (ja) * 2008-10-09 2012-03-08 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
JP2010220112A (ja) * 2009-03-18 2010-09-30 Toshiba Corp 電話システム、サーバおよび端末デバイス
JP4599447B2 (ja) * 2009-03-18 2010-12-15 株式会社東芝 電話システム、サーバおよび端末デバイス
US8127027B2 (en) 2009-03-18 2012-02-28 Kabushiki Kaisha Toshiba Telephone system, server, and terminal device
KR20130004896A (ko) * 2010-02-19 2013-01-14 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치
JP2013520864A (ja) * 2010-02-19 2013-06-06 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
US9185153B2 (en) 2010-02-19 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in HTTP streaming
KR101628432B1 (ko) * 2010-02-19 2016-06-21 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치
US9641584B2 (en) 2010-02-19 2017-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for representation switching in HTTP streaming
US9742815B2 (en) 2013-08-06 2017-08-22 Ricoh Company, Ltd. Information processing apparatus and determination result providing method
JP2017517922A (ja) * 2014-04-10 2017-06-29 クアルコム,インコーポレイテッド リアルタイムトランスポートプロトコルのためのストリーミング制御

Also Published As

Publication number Publication date
CN1784674B (zh) 2011-01-26
ZA200504759B (en) 2006-08-30
TW200537293A (en) 2005-11-16
EP1745387A4 (en) 2011-04-06
BRPI0406598A (pt) 2006-05-09
CN1784674A (zh) 2006-06-07
US7720983B2 (en) 2010-05-18
CN102123298B (zh) 2012-12-26
EP1745387A1 (en) 2007-01-24
EP1745387B1 (en) 2018-05-16
KR20070007698A (ko) 2007-01-16
WO2005111837A1 (en) 2005-11-24
AU2004288602A1 (en) 2005-11-17
RU2005120654A (ru) 2006-04-27
CN102123298A (zh) 2011-07-13
US20050262251A1 (en) 2005-11-24
MXPA05007086A (es) 2006-01-23
CA2507804A1 (en) 2005-11-03
RU2364924C2 (ru) 2009-08-20

Similar Documents

Publication Publication Date Title
JP2007536796A (ja) メディアをストリーミングするための高速起動
US7644172B2 (en) Communicating via a connection between a streaming server and a client without breaking the connection
JP4592749B2 (ja) セッション記述メッセージ拡張子
US7650421B2 (en) Adaptable accelerated content streaming
EP1797697B1 (en) Method and system for broadcasting multimedia data
JP4273165B2 (ja) コンテンツのストリーミングに使用するための改善された起動方法および装置
CN100565504C (zh) 用于在实时控制协议(rtcp)消息中嵌入会话描述消息的方法和系统
US7664871B2 (en) Methods and apparatus for communication media commands and data using the HTTP protocol
US9769239B2 (en) Systems and methods for user agent signaling request acceleration by transport accelerator
JP2002152274A (ja) ストリーミングメディア転送方法および装置
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
EP2413564B1 (en) Method and apparatus for transmitting and receiving streaming data based on RTSP sessions
WO2009015611A1 (fr) Procédé, système et appareil pour une commutation rapide de source multimédia
JP2005522916A (ja) ダウンロードとストリーミングを組み合わせる伝送方法
CN113287283A (zh) 用于视听直播内容递送的方法和系统
JP4603551B2 (ja) リアルタイム制御プロトコル(rtcp)のメッセージへのセッション記述のメッセージの埋め込み
CN111107445B (zh) 一种媒体协议流优化方法及系统
CN112788348A (zh) 一种点播方法、装置、设备、系统及存储介质
JP2007189702A (ja) リアルタイムストリーミングを伝送する際のトラフィック切替の方法及びシステム
JP2002152256A (ja) アドレス変換装置及びその方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101015