(57)【要約】  様々な実施形態のシステム、方法、およびデバイスは、サーバによるファイル要求に対する柔軟な応答時間を可能にする。こうして、サーバは、オブジェクト/セグメントの利用可能性の予測不可能な遅延を考慮し、ファイルが利用不可能であることが一時的でありネットワーク遅延が原因であるときにエラーメッセージ(たとえば、404エラーメッセージ)がファイル要求に応答して返される頻度を下げることができる。
2016510523.tif 000002
【特許請求の範囲】
【請求項１】
ハイパーテキスト転送プロトコル(HTTP)サーバからファイルを提供するための方法であって、
前記HTTPサーバ中のオブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが前記HTTPサーバにおいて利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが前記HTTPサーバにおいて利用可能になるまで前記要求を保留するステップとを含む、方法。
【請求項２】
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記オブジェクトが前記HTTPサーバにおいて利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップと、
前記オブジェクトが前記HTTPサーバにおいて利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップとをさらに含む、請求項1に記載の方法。
【請求項４】
前記保留時間の閾値が、前記サーバに対する前記要求されたセグメントの予想される配信時間に少なくとも一部基づく、請求項3に記載の方法。
【請求項５】
前記保留時間の閾値が、配信遅延または処理遅延を考慮した安全マージンを含む、請求項4に記載の方法。
【請求項６】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものである、請求項3に記載の方法。
【請求項７】
次のオブジェクトが前記HTTPサーバにおいて利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが前記HTTPサーバにおいて利用可能であるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む、請求項6に記載の方法。
【請求項８】
前記保留時間の閾値が、前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づく、請求項6に記載の方法。
【請求項９】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求である、請求項1に記載の方法。
【請求項１０】
前記期間が遅延ジッタである、請求項9に記載の方法。
【請求項１１】
ハイパーテキスト転送プロトコル(HTTP)サーバであって、
オブジェクトに対するアプリケーションからの要求を受信するための手段と、
前記要求されたオブジェクトが利用可能であるかどうかを判定するための手段と、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するための手段とを含む、HTTPサーバ。
【請求項１２】
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するための手段をさらに含む、請求項11に記載のHTTPサーバ。
【請求項１３】
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するための手段と、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するための手段とをさらに含む、請求項11に記載のHTTPサーバ。
【請求項１４】
前記保留時間の閾値が、前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づく、請求項13に記載のHTTPサーバ。
【請求項１５】
前記保留時間の閾値が、配信遅延または処理遅延を考慮した安全マージンを含む、請求項14に記載のHTTPサーバ。
【請求項１６】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものである、請求項13に記載のHTTPサーバ。
【請求項１７】
次のオブジェクトが利用可能であるかどうかを判定するための手段と、
前記次のオブジェクトが利用可能であるときに、前記要求に応答して前記エラー指示を送信するための手段とをさらに含む、請求項16に記載のHTTPサーバ。
【請求項１８】
前記保留時間の閾値が、前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づく、請求項16に記載のHTTPサーバ。
【請求項１９】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求である、請求項11に記載のHTTPサーバ。
【請求項２０】
前記期間が遅延ジッタである、請求項19に記載のHTTPサーバ。
【請求項２１】
ハイパーテキスト転送プロトコル(HTTP)サーバであって、
動作を実行するようにプロセッサ実行可能命令によって構成されたプロセッサを含み、前記動作が、
オブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するステップとを含む、HTTPサーバ。
【請求項２２】
前記プロセッサが、
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む動作を実行するように、プロセッサ実行可能命令によって構成される、請求項21に記載のHTTPサーバ。
【請求項２３】
前記プロセッサが、
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップと、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップとをさらに含む動作を実行するように、プロセッサ実行可能命令によって構成される、請求項21に記載のHTTPサーバ。
【請求項２４】
前記保留時間の閾値が前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づくように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項23に記載のHTTPサーバ。
【請求項２５】
前記保留時間の閾値が配信遅延または処理遅延を考慮した安全マージンを含むように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項24に記載のHTTPサーバ。
【請求項２６】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものであるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項23に記載のHTTPサーバ。
【請求項２７】
前記プロセッサが、
次のオブジェクトが利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが利用可能であるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む動作を実行するように、プロセッサ実行可能命令によって構成される、請求項26に記載のHTTPサーバ。
【請求項２８】
前記保留時間の閾値が前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づくように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項26に記載のHTTPサーバ。
【請求項２９】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求であるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項21に記載のHTTPサーバ。
【請求項３０】
前記期間が遅延ジッタであるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項29に記載のHTTPサーバ。
【請求項３１】
プロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能命令が、
オブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するステップと
を含む動作をハイパーテキスト転送プロトコル(HTTP)サーバに実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項３２】
前記記憶されたプロセッサ実行可能命令が、
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む動作をHTTPサーバに実行させるように構成される、請求項31に記載の非一時的プロセッサ可読記憶媒体。
【請求項３３】
前記記憶されたプロセッサ実行可能命令が、
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップと、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップとをさらに含む動作をHTTPサーバに実行させるように構成される、請求項31に記載の非一時的プロセッサ可読記憶媒体。
【請求項３４】
前記保留時間の閾値が前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づくように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項33に記載の非一時的プロセッサ可読記憶媒体。
【請求項３５】
前記保留時間の閾値が配信遅延または処理遅延を考慮した安全マージンを含むように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項34に記載の非一時的プロセッサ可読記憶媒体。
【請求項３６】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものであるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項33に記載の非一時的プロセッサ可読記憶媒体。
【請求項３７】
前記記憶されたプロセッサ実行可能命令が、
次のオブジェクトが利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが利用可能になるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む動作をHTTPサーバに実行させるように構成される、請求項36に記載の非一時的プロセッサ可読記憶媒体。
【請求項３８】
前記保留時間の閾値が前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づくように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項36に記載の非一時的プロセッサ可読記憶媒体。
【請求項３９】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求であるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項31に記載の非一時的プロセッサ可読記憶媒体。
【請求項４０】
前記期間が遅延ジッタであるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項39に記載の非一時的プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2012年12月28日に出願された「Device Timing Adjustments and Method for Supporting DASH Over Broadcast」という表題の米国仮特許出願第61/747,188号の優先権の利益を主張し、この仮特許出願の内容全体が参照によって本明細書に組み込まれる。
【背景技術】
【０００２】
ハイパーテキスト転送プロトコル(HTTP)ストリーミングは現在、インターネットを通じてコンテンツを配信する最も一般的な方法である。生放送のイベントでは、コンテンツは、不変の期間のセグメントを通じて徐々に利用可能にされる。セグメントの利用可能性(segment availability)は、各々の連続するセグメントがHTTPサーバにおいていつ利用可能になるかを示す、タイムラインに従う。
【０００３】
Dynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)は、HTTPストリーミングを実装する規格である。DASHは、Media Presentation Description(MPD)においてセグメントの利用可能性を告知する。MPDは、セグメント、セグメントが利用可能である時間、およびセグメントのサイズを告知する、セグメント利用可能性タイムラインである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在のシステムでは、MPDは、Over-the-Air(OTA)配信を介して受信機デバイスに提供される。提供されたMPDにおいて、セグメント利用可能時間は、セグメントを生成するネットワーク側エンコーダのエンコーダ出力時間に対応し得る。セグメント利用可能時間はエンコーダ出力時間に対応し得るので、利用可能時間は、配信経路の遅延、受信機デバイスの処理遅延、または受信機デバイスの時計のずれのような、受信機デバイス上で実行されるDASHクライアントに対する、実際のセグメントの利用可能性の差を考慮しない可能性がある。したがって、現在のMPDにおいて告知される利用可能時間は、セグメントがDASHクライアントに対して利用可能となる実際の時間に対応しないことがある。
【０００５】
同様の問題が、DASHコンテンツがコンテンツ配信ネットワーク(CDN)を通じて配信されるときに起きる。DASHコンテンツはソースエンコーダにおいて作成されるが、遠隔のCDNサーバにおけるセグメントの利用可能時間は、異なるCDNサービング点では異なり得る。
【課題を解決するための手段】
【０００６】
様々な実施形態のシステム、方法、およびデバイスは、サーバによるファイル要求に対する柔軟な応答時間を可能にする。こうして、サーバは、オブジェクト/セグメントの利用可能性の予測不可能な遅延を考慮し、ファイルが利用不可能であることが一時的でありネットワーク遅延が原因であるときにエラーメッセージ(たとえば、404エラーメッセージ)がファイル要求に応答して返される頻度を下げることができる。
【０００７】
本明細書に組み込まれ本明細書の一部を構成する添付の図面は、上で与えられた全般的な説明および以下で与えられる詳細な説明とともに、本発明の例示的な実施形態を示し、本発明の特徴を説明する役割を果たす。
【図面の簡単な説明】
【０００８】
【図１】様々な実施形態とともに使用するのに適したネットワークの通信システムブロック図である。
【図２】ある実施形態による、受信機デバイスのアーキテクチャを示すブロック図である。
【図３】別の実施形態による、セグメント利用可能時間を示す図である。
【図４】HTTP要求に対する応答を遅らせるためのある実施形態の方法を示すプロセスフロー図である。
【図５】ある実施形態による、セグメントバッファの経時的な状態を示す図である。
【図６】様々な実施形態とともに使用するのに適した例示的なモバイルデバイスのコンポーネント図である。
【図７】様々な実施形態とともに使用するのに適した例示的なサーバのコンポーネント図である。
【発明を実施するための形態】
【０００９】
様々な実施形態が、添付の図面を参照して詳細に説明される。可能な場合には常に、同じ参照番号が、同じ部分または同様の部分を指すために、図面全体を通じて使用される。特定の例および実装形態への言及は例示を目的とするものであり、本発明または特許請求の範囲を限定することは意図されない。
【００１０】
「例示的」という用語は、「例、事例、または例示として機能する」ことを意味するように本明細書において使用される。本明細書で「例示的」として説明されるいずれの実装形態も、他の実装形態より好ましい、または有利であると、必ずしも解釈されるべきではない。
【００１１】
本明細書で使用される場合、「モバイルデバイス」および「受信機デバイス」という用語は、携帯電話、スマートフォン、個人用またはモバイルマルチメディアプレーヤ、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、ワイヤレスゲームコントローラ、ならびに、ファイルを受信し、要求側のDASHクライアントのような要求側のアプリケーション/クライアントにファイルを提供するためのプログラム可能プロセッサとメモリと回路とを含む同様の個人用電子デバイスのうちの、任意の1つまたはすべてを指すように、本明細書では交換可能に使用される。
【００１２】
本明細書で使用される場合、「セグメント」、「オブジェクト」、および「ファイル」という用語は、サーバから要求され得る、任意の1つまたはすべてのデータ構造またはデータユニットの指すために、本明細書では交換可能に使用される。
【００１３】
Dynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)は、HTTPストリーミングを実装する規格である。DASHは、Media Presentation Description(MPD)においてセグメントの利用可能性(segment availability)を告知する。MPDは、セグメント、セグメントが利用可能である時間、およびセグメントのサイズを告知する、セグメント利用可能性タイムラインである。現在のシステムでは、MPDは、Over-the-Air(OTA)配信を介して受信機デバイスに提供される。第3世代パートナーシッププロジェクト(3GPP)は、Long Term Evolution(LTE)(すなわち、evolved Multimedia Broadcast Multicast Services(eMBMS))を通じたブロードキャスト使用してHTTPストリーミングを提供するために使用されるべき方法として、ダウンロード配信を通じたDASHを標準化した。
【００１４】
異なるアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルの様々な例、特に、DASHクライアント、マルチキャストサービスデバイスクライアント、MPD、eMBMS、およびHTTPが本明細書で論じられる。DASHクライアント、マルチキャストサービスデバイスクライアント、MPD、eMBMS、およびHTTPの議論は、様々な実施形態の態様をより良好に示すための例としてのみ与えられ、いかなる方法でも様々な実施形態を限定することは意図されない。他のアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルが、様々な実施形態とともに使用されてよく、他のアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルが、本発明の趣旨または範囲から逸脱することなく、様々な例において置換されてよい。
【００１５】
様々な実施形態は、受信機デバイスが、受信機デバイス上で使用するための、データストリーム中のデータセグメントの利用可能性(「セグメント利用可能性」)の遅延を考慮することを可能にする。ある実施形態では、サーバ(たとえば、要求側のDASHクライアントのような要求側のアプリケーション/クライアントにセグメントを提供する受信機デバイス上のローカルHTTPサーバ)は、セグメントの要求に応答してセグメントを提供するために、柔軟な応答時間とともに動作し得る。こうして、サーバは、セグメントの利用可能性の予測不可能な遅延を考慮することができる。
【００１６】
ある実施形態では、ネットワークジッタの推定が、受信機デバイスに送信される、セグメント利用可能性タイムラインを記述するメディア記述フラグメント(たとえば、MPD)において提供され得る。別の実施形態では、ネットワークジッタは、受信機デバイス上で事前に準備され得る(たとえば、製造の時点で受信機デバイスの非揮発性メモリに記憶され得る)。他の実施形態では、ネットワークジッタの推定は、任意のメッセージ中で、たとえばサービス告知の中で、受信機デバイスに配信され得る。本明細書で使用される場合、「ジッタ」は、セグメントの利用可能性タイムラインからの差として、セグメントの最早の可能な到達時間と最遅の可能な到達時間との差を指す。
【００１７】
本明細書で使用される場合、「ネットワークジッタ」は、受信機デバイスにおけるセグメントの最早の相対到達時間と最遅の相対到達時間との最大の差を指す。相対到達時間は、配信タイムラインに従った、絶対到達時間と予想される到達時間との差を指す。ある実施形態では、配信タイムラインは、サービスのメディアを搬送するセグメントのリスト中の、すべてのセグメントの予想される到達時間を提供することができ、配信タイムラインは、次のセグメントの利用可能性が、先行するセグメントの利用可能性に、第1のセグメントの提供された絶対利用可能時間に基づく先行するセグメントの期間を足したものとなり得るように、定義され得る。別の実施形態では、利用可能時間は、連続するセグメントに対する絶対値として提供され得る。さらに別の実施形態では、利用可能時間は、周期内での周期的な利用可能性として提供され得る。さらなる実施形態では、利用可能時間は、絶対値と周期利用可能性の組合せのような、仕組みの組合せとして提供され得る。ネットワークジッタは、セグメントサイズの変動性、スケジューリング期間の粒度の変動性(たとえば、セグメントの到達の1秒の周期性を中心とする、320msというマルチキャストチャネル(MCH)スケジューリング周期の変動性)、ネットワーク装置の遅延(たとえば、帯域幅、送信遅延、処理遅延、バッファ遅延など)の変動性に関連し得る。ネットワークジッタは、状況に依存し得る。たとえば、ビデオセグメントサイズの変動性は、ビデオセグメントの平均サイズの70%から130%の間で、ネットワークジッタの推定を変動させ得る。
【００１８】
本明細書で使用される場合、「受信機デバイスのジッタ」は、受信機デバイス上で実行される要求側のアプリケーション/クライアントに対する、セグメントの到達時間とセグメントの利用可能性との最大の差を指す。受信機デバイスのジッタは、セグメントサイズの変動性、スケジューリング期間の粒度の変動性(たとえば、セグメントの到達の1秒の周期性を中心とする、320msというMCHスケジューリング周期の変動性)、受信機デバイス上での処理遅延(たとえば、前方誤り訂正(FEC)処理、復号時間など)の変動性、および受信機デバイスの時計のずれの変動性に関連し得る。
【００１９】
セグメント利用可能性タイムライン(たとえば、MPD)でのネットワークジッタの推定の配信は、受信機デバイスのサーバ(たとえば、受信機デバイス上のローカルHTTPサーバ)におけるバッファリング要件のより良好な推定、受信機デバイスの時計がサーバの時計に同期されていないときのタイムライン調整に対する改善、および/または、タイムラインの計算の必要なく動作する柔軟なサーバ応答時間のアルゴリズム(たとえば、柔軟なHTTPサーバ応答時間のアルゴリズム)を可能にし得る。
【００２０】
現在のシステムでは、デバイスに提供されるMPD中の利用可能時間は、セグメントがデバイス上のローカルHTTPサーバ上で利用可能になった後でセグメントに対するすべて要求が行われるように、設定され得る。しかしながら、提供されるMPDにおけるこの組み込まれた調整は、セグメントがローカルHTTPサーバ上で利用可能であることを保証されるまで、サービスを利用するユーザに対するセグメントの提供を遅らせる。例として、現在のシステムでは、ジッタが大きく、統計的な異常値を除いて遅延が小さく、またはデバイスにおいて時計のずれがある場合、提供されるMPD中の利用可能時間は、最悪の場合の時計のずれ(たとえば、1秒、2秒、複数秒など)に対して事前に調整される。結果として、セグメントに対する要求は、セグメントが受信機デバイスにおいて実際に利用可能となるときよりもはるかに遅く行われ、それは、各セグメントの利用可能時間が、最悪の場合の遅延が発生しているかどうかにかかわらず、最悪の場合の時計のずれに対して調整されるからである。遅れた要求は、配信経路上のレイテンシとともに、チャネルの切替えおよび初期取得の遅延を直接増やす。
【００２１】
様々な実施形態のシステム、方法、およびデバイスは、サーバによるファイル要求に対する柔軟な応答時間を可能にする。こうして、サーバは、セグメントの利用可能性の予測不可能な遅延を考慮し、ファイルが利用不可能であることが一時的でありネットワーク遅延が原因であるときファイル要求に応答して返されるエラーメッセージ(たとえば、404エラーメッセージ)の頻度を下げることができる。様々な実施形態では、サーバによるファイル要求に対する柔軟な応答時間は、レイテンシおよび遅延が減らされることと、セグメントが実際に受信されるときに利用可能にされることとを可能にし得る。ある実施形態では、MPD中の利用可能時間は、時計のずれを考慮することなく、通常の遅延(たとえば、90パーセンタイルの遅延)を考慮するように設定され得る。ある実施形態では、DASHクライアントは、受信されるMPDに記載される時間よりも早くセグメントに対する要求を行うことが可能にされてよく、サーバによるファイル要求に対する柔軟な応答時間に基づいて、直ちに、または、セグメントが利用可能になるとすぐに、セグメントを提供され得る。
【００２２】
図1は、様々な実施形態とともに使用するのに適したセルラーネットワークシステム100を示す。セルラーネットワークシステム100は、受信機デバイス102、1つまたは複数のセルラータワーまたは基地局104、ならびに、インターネット110に接続されたサーバ108および112のような、複数のデバイスを含み得る。受信機デバイス102は、CDMA、TDMA、GSM（登録商標）、PCS、3G、4G、LTE、または任意の他のタイプの接続を含む、1つまたは複数のセルラー接続106を介して、セルラータワーまたは基地局104とデータを交換することができる。セルラータワーまたは基地局104は、インターネット110に接続し得るルータと通信していてよい。このようにして、セルラータワーまたは基地局104への接続、および/またはインターネット110を介して、受信機デバイス102とサーバ108および112との間でデータが交換され得る。ある実施形態では、サーバ108は、DASHクライアントを介した出力のためにMPDおよびセグメントを提供する、コンテンツプロバイダサーバまたはエンコーダであり得る。ある実施形態では、サーバ112は、エンコーダからMPDおよびセグメントの出力を受信し、受信機デバイス102へのMPDおよびセグメントのOTA送信を制御できる、ブロードキャストマルチメディアサービスセンター(BMSC)サーバであり得る。当然、本明細書で説明される受信機デバイスの特徴は、OTA送信を参照して説明され得るが、これらの特徴は、有線送信、ワイヤレス送信、または有線送信とワイヤレス送信の組合せとの接続において使用され得る。したがって、OTA送信は必須ではない。
【００２３】
図2は、ある実施形態による、簡略化された受信機デバイス202のアーキテクチャを示す。受信機デバイス202は、取得、ハンドオフ、リンク維持などのような、受信機デバイス202のすべての無線の態様を管理する、モデムレイヤ208を含み得る。モデムレイヤ208は、受信されたeMBMSベアラ信号を復号し、インターネットプロトコル(IP)パケットをマルチキャストサービスデバイスクライアント(MSDC)206に配信することができる。マルチキャストサービスデバイスクライアント206は、配信されたIPパケットからセグメントを復元し、アプリケーション/DASHクライアント204のようなアプリケーション/クライアントに対してセグメントを利用可能にする、受信機デバイス202のサービスレイヤであり得る。マルチキャストサービスデバイスクライアント206はまた、配信されたIPパケットからMPDを復元することができる。マルチキャストサービスデバイスクライアント206は、受信機デバイスのメモリに受信されたセグメントを記憶することができる。ある実施形態では、マルチキャストサービスデバイスクライアント206は、アプリケーション/DASHクライアント204のようなアプリケーション/クライアントにセグメントを提供する、受信機デバイス202に対するローカルのハイパーテキスト転送プロトコル(HTTP)サーバとして動作することができる。別の実施形態では、マルチキャストサービスデバイスクライアント206は、アプリケーション/DASHクライアント204のようなアプリケーション/クライアントにセグメントを提供するために、受信機デバイス202上の別個のローカルのハイパーテキスト転送プロトコル(HTTP)サーバとともに動作することができる。アプリケーション/DASHクライアント204は、DASH対応アプリケーション、および/または、(直接、かつ/または、メディアプレーヤのような別のアプリケーションを介して)メディアを表示するためにDASHクライアントを起動するアプリケーションであり得る。アプリケーション/DASHクライアント204は、マルチキャストサービスデバイスクライアント206からMPDの位置(たとえば、Uniform Resource Locator(URL))を取得し、マルチキャストサービスデバイスクライアント206からMPDを要求し受信することができ、MPD中の利用可能性タイムラインごとに、マルチキャストサービスデバイスクライアント206からのセグメントを要求することができる。アプリケーション/DASHクライアント204は、マルチキャストサービスデバイスクライアント206から要求されたセグメントを受信することができ、セグメントのコンテンツを(直接、かつ/または、メディアプレーヤのような別のアプリケーションを介して)レンダリングすることができる。
【００２４】
図3は、ストリーミング経路上の様々な遅延と、eMBMS受信機デバイスのような受信機デバイスが受け得る、セグメントの利用可能性に対するそれらの遅延の経時的な影響とを示す。セグメントは、エンコーダにおいて作成され、LTEブロードキャストネットワークのようなブロードキャストネットワークを通じてブロードキャストされ得る。ブロードキャストされるセグメントは、受信機デバイスで受信され、ローカルHTTPサーバに記憶され、受信機デバイス上で実行されるDASHクライアントによる利用のために利用可能にされ得る。DASHクライアントは、セグメントと関連付けられるサービスのMPDに記載されるセグメント利用可能時間に従って、セグメントを要求することができる。セグメントは、MPDに記載された利用可能時間より遅く受信機デバイスにおいて受信されると、利用不可能であり得る。図3に示される実施形態では、受信機デバイス上のローカルのホストHTTPサーバは、利用不可能なセグメントに対する要求を保留することが可能にされ得る。このようにして、セグメントが遅れて到達したとしても、セグメントが利用可能になるまでそのセグメントに対する要求は保留され得るので、この遅れた到達に対応することができる。
【００２５】
ある実施形態では、生で記録された生のメディアソースは、エンコーダによってセグメント(たとえば、図3に示される0、1、2、3、4、5、6)へと分割され得る。エンコーダは、ネットワーク時間プロトコル(NTP)時間に従ってセグメントの境界を同期することができ、セグメント0、1、2、3、4、5、6は、符号化遅延に従ってエンコーダから出力され得る。ある実施形態では、エンコーダは、セグメント0、1、2、3、4、5、6の利用時間をエンコーダ出力時間としてリストする、利用可能性タイムライン(たとえば、エンコーダにより生成されるMPD)を生成することができる。エンコーダは、セグメント0、1、2、3、4、5、6およびMPDをBMSCに送信することができ、セグメント0、1、2、3、4、5、6のBMSCへの転送はさらに、セグメント0、1、2、3、4、5、6を遅らせ得る。BMSCは、セグメントを処理して、セグメントをメディアセグメントパケット(MSP)へと分割し、MSPを同期し、OTA送信のためにMSPをスケジューリングすることができる。各MSPは、ある設定されたMSP期間、たとえば1秒を割り当てられ得る。MSPは、受信機デバイスにOTAでブロードキャストされてよく、受信機デバイスにおいてセグメントに対するMSPが受信されると、セグメントはデバイスにおいて受信され得る。ある実施形態では、生のメディアソースセグメントの記録と、受信機デバイスにおけるそのセグメントに対応するMSPの受信との間の時間が、ネットワークジッタであり得る。ある実施形態では、BMSCはまた、MPDを受信機デバイスに送信することができる。セグメントに対応するMSPは受信機デバイスにおいて受信され得るが、セグメントが受信機デバイスにおいて利用可能になる前に追加の処理が必要とされ得る。追加の処理は、セグメント0、1、2、3、4、5、6をそれらのそれぞれのMSPから取り出し再構成すること、FECを適用すること、セグメントを復号することなどを含み得る。受信機デバイスにおける最悪の場合の処理遅延はさらに、セグメント0、1、2、3、4、5、6の利用可能性を遅らせ得る。最悪の場合の処理遅延に加えて、受信機の時計のずれがさらに、受信機デバイスにおけるセグメント0、1、2、3、4、5、6の利用可能時間に影響を与え得る。
【００２６】
ある実施形態では、セグメント(たとえば、0、1、2、3、4、5、6)が受信機に到達するとき、処理がセグメントの利用可能性を遅らせることがあり、時計のずれがアプリケーション/DASHクライアントによるセグメントに対する早い要求をもたらすことがある。図3に示される実施形態では、MPD中の告知される時間は、デバイス上で最早の利用可能な時間に設定され得る。デバイスの時計のずれ、処理遅延、および/または転送ジッタがセグメントに対する早い要求(すなわち、セグメントが利用可能になる前のセグメントに対する要求)をもたらすとき、ローカルHTTPサーバは、デバイスの時計のずれ、処理遅延、および/または転送ジッタを考慮するために、そのような要求をメモリに保持し(すなわち、要求を直ちに処理しない)、セグメントが利用可能になったときに要求されたセグメントによって応答することができる。このようにして、時計のずれおよびセグメントの処理の変動性が、考慮され得る。
【００２７】
ある実施形態では、利用可能性タイムラインを積極的に早くすることで、アプリケーション/DASHクライアントが開始時間においてすべての必要なセグメントを要求しないようになることがあり、それは、セグメント利用可能性タイムラインに記載されたセグメントが、アプリケーション/DASHクライアントの開始時間よりも前であった対応する利用可能時間を有し得るからである。ある実施形態では、アプリケーション/DASHクライアントは、利用可能性タイムラインごとに現在利用可能であるものとして記載されるセグメントと、より早く利用可能になったセグメント(たとえば、利用可能時間が、MPD中のタイムラインごとに現在利用可能であるセグメントの利用可能時間よりも前である、1つ、2つ、またはより多くのセグメント)の両方に対するセグメント要求を行うことが可能にされ得る。ある実施形態では、アプリケーション/DASHクライアントは、アプリケーションの始動時間において、すべての受信されたセグメントを要求することができる。ある実施形態では、要求され得る過去のセグメントの数は、遅延ジッタをセグメント期間で除算したものとして決定され得る。例として、ジッタが3秒であり、セグメント期間が1秒であり、サービスが8:00:00に開始され、インデックス100のセグメントがMPDごとに8:00:00において利用可能である場合、結果として、アプリケーション/DASHクライアントは、3つのセグメントが要求されるべきである(すなわち、1秒のセグメント期間によって除算された3秒のジッタ)と決定し、始動のときにセグメント98、99、および100に対する要求を出すことができる。
【００２８】
ある実施形態では、HTTPサーバが要求を保留することと、そうすることによって、HTTP要求に対する柔軟な応答時間を有することとを可能にすることは、始動の遅延、エンドツーエンドの遅延、および切替えの遅延を減らすことができるとともに、最初のセグメントが受信されるとすぐにメディアプレーヤが開始することを可能にする。最初のセグメントが受信されるとすぐにメディアプレーヤを開始することの欠点は、次のセグメントの利用可能性が遅れた場合に再バッファリング事象が起こり得ることである。加えて、遅れている時計が存在する状況で、最初のセグメントが受信されるとすぐにメディアプレーヤを開始することは、周期的な長い間隔で発生する再バッファリングをもたらし得る。
【００２９】
図4は、HTTP要求に対する応答を遅らせるためのある実施形態の方法400を示す。セグメントをDASHクライアントに提供するローカルホストサーバによる遅れた応答に関連して論じられるが、方法400の動作は、ファイル要求に応答する遅延に対して、任意のHTTPサーバによって実行され得る。ブロック402において、HTTPサーバがHTTP Get()要求を受信することができる。ある実施形態では、HTTP Get()要求は、DASHクライアントからのセグメントに対する要求であり得る。ブロック404において、HTTPサーバが要求に対する保留時計を始動することができる。ブロック406において、HTTPサーバが、要求されたセグメントが利用可能であるかどうかを判定することができる。セグメントが利用可能である場合(すなわち、判定ブロック406=「Yes」)、ブロック418において、HTTPサーバは、セグメントを要求者(たとえば、DASHクライアント)に送信することができ、ブロック420において保留時計をリセットすることができる。ブロック402において、HTTPサーバはブロック402に戻り、次のHTTP Get()要求を待機することができる。
【００３０】
セグメントが利用可能ではない場合(すなわち、判定ブロック406=「No」)、ブロック408において、HTTPサーバは、HTTP Get()要求を保留することができる。ブロック410において、HTTPサーバが、連続する次のセグメントが利用可能であるかどうかを判定することができる。ある実施形態では、MPDに記載された次のセグメントがすでに利用可能である場合、欠けたセグメントは要求されなくてよい。次のセグメントが利用可能である場合(すなわち、判定ブロック410=「Yes」)、ブロック414において、HTTPサーバは、HTTP 400シリーズの応答(たとえば、404または410)のようなエラー指示を、要求者(たとえば、DASHクライアント)に送信することができる。ブロック416において、HTTPサーバが保留時計をリセットすることができる。ブロック402において、HTTPサーバはブロック402に戻り、次のHTTP Get()要求を待機することができる。
【００３１】
次のセグメントが利用可能ではない場合(すなわち、判定ブロック410=「No」)、判定ブロック412において、HTTPサーバは、保留時間の閾値を超えたかどうかを判定することができる。ある実施形態では、保留時間の閾値は、遅延ジッタとセグメント期間と現在時刻とを足したものであり得る。ある実施形態では、保留時間の閾値は、HTTPサーバに対する要求されたセグメントの予想される配信時間に少なくとも一部基づき得る。さらなる実施形態では、保留時間の閾値はまた、配信遅延または処理遅延を考慮した安全マージンを含み得る。別の実施形態では、保留時間の閾値は、セグメント利用可能性タイムラインにおけるセグメントの利用可能時間であり得る。例として、保留時間の閾値は、要求されたDASHセグメントを記述する、MPDに記載された配信時間に少なくとも一部基づき得る。
【００３２】
保留時計上の時間が保留時間の閾値より大きいとき、保留時間の閾値を超え得る。保留時間の閾値を超える場合(すなわち、判定ブロック412=「Yes」)、ブロック414において、HTTPサーバは、HTTP 400シリーズの応答(たとえば、404または410)のようなエラー指示を、要求者(たとえば、DASHクライアント)に送信することができる。ブロック416において、HTTPサーバが保留時計をリセットすることができる。ブロック402において、HTTPサーバはブロック402に戻り、次のHTTP Get()要求を待機することができる。保留時間の閾値を超えない場合(すなわち、判定ブロック412=「No」)、ブロック406において、HTTPサーバが、セグメントが利用可能になったかどうかを判定することができる。このようにして、HTTP Get()要求は、セグメントが利用可能になるまで、次のセグメントが利用可能になるまで、または保留時間の閾値を超えるまで、保留され得る。
【００３３】
図5は、柔軟なサーバのための保留時間の閾値を決定するために使用され得る、ある実施形態によるセグメントバッファの経時的な状態を示す。ある実施形態では、セグメントNが受信された後で、受信機デバイスのジッタ遅延により、セグメントNがローカルHTTPサーバにおいて直ちに利用可能とならなくなり得る。セグメントNが利用可能になると、セグメント期間とMPD@TimeShiftBufferDepthを足したものが、セグメントに対して有効なバッファ時間を定義することができ、このバッファ時間の後で、セグメントはバッファから削除され得る。ある実施形態では、受信機デバイスのジッタ遅延と、セグメントに対して有効な時間とを考慮するために、利用不可能なセグメントに対するHTTP Get()要求を保留するための保留時間の閾値は、受信機デバイスのジッタ遅延とセグメント期間とMPD@TimeShiftBufferDepthとを足したものに設定され得る。
【００３４】
別の実施形態では、保留時間の閾値は可変であり得る。図3を参照して上で説明されたように、セグメントは、受信機デバイス上で利用可能になる前に、アプリケーション/DASHクライアントによって要求され得る。ある実施形態では、HTTPサーバは、セグメントが実際に受信される時間まで、HTTP Get()要求を保持することが可能にされ得る。このようにして、Get()要求が保留されるセグメントは、セグメントがHTTPサーバに対して利用可能になるとすぐに、要求側のアプリケーション/DASHクライアントに提供され得る。
【００３５】
様々な実施形態は、種々のモバイルデバイス(すなわち、受信機デバイス)のいずれでも実装されてよく、その一例が図6に示される。たとえば、モバイルデバイス600は、内部メモリ604および610に結合されたプロセッサ602を含み得る。内部メモリ604および610は、揮発性メモリまたは不揮発性メモリであってよく、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、またはそれらの任意の組合せであってよい。また、プロセッサ602は、抵抗感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ606に結合され得る。加えて、モバイルデバイス600のディスプレイは、タッチスクリーン機能を有する必要はない。加えて、モバイルデバイス600は、プロセッサ602に結合されたワイヤレスデータリンクおよび/またはセルラー(たとえば、CDMA、TDMA、GSM（登録商標）、PCS、3G、4G、LTE、または任意の他のタイプの)送受信機のような、1つまたは複数のネットワーク送受信機616に接続され得る電磁放射を送信し受信するための1つまたは複数のアンテナ608を有し得る。モバイルデバイス600はまた、ユーザ入力を受け取るための物理ボタン612aおよび612bを含み得る。モバイルデバイス600はまた、モバイルデバイス600をオンオフするための電源ボタン618を含み得る。
【００３６】
様々な実施形態はまた、図7に示されるサーバ700などの、種々の市販のサーバデバイスのいずれでも実装され得る。そのようなサーバ700は通常、揮発性メモリ702と、ディスクドライブ704のような大容量の不揮発性メモリとに結合された、プロセッサ701を含む。サーバ700はまた、プロセッサ701に結合されたフロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ706を含み得る。サーバ700はまた、他の告知システムコンピュータおよびサーバに結合されたローカルエリアネットワーク、インターネット、公衆交換電話網、ならびに/またはセルラーネットワーク(たとえば、CDMA、TDMA、GSM（登録商標）、PCS、3G、4G、LTE、または任意の他のタイプのセルラーデータネットワーク)のような、通信ネットワーク707とのネットワークインターフェース接続を確立するための、プロセッサ701に結合されたネットワークアクセスポートのような1つまたは複数の送受信機703を含み得る。
【００３７】
プロセッサ602および701は、上で説明された様々な実施形態の機能を含む、種々の機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのデバイスでは、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサが設けられてもよい。通常、ソフトウェアアプリケーションは、アクセスされてプロセッサ602および701にロードされる前に、内部メモリ604、610、702、または704に記憶され得る。プロセッサ602および701は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の混合であり得る。本明細書では、メモリへの一般的な言及は、デバイスに差し込まれる内部メモリまたはリムーバブルメモリと、プロセッサ602および701自体の中のメモリとを含む、プロセッサ602および701によってアクセス可能なメモリを指す。
【００３８】
上述の方法の説明およびプロセスフロー図は、単に説明のための例として提供されており、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示することは意図されない。当業者によって諒解されるように、上記の実施形態におけるステップの順序は、任意の順序で実行され得る。「その後」、「次いで」、「次に」などの言葉は、ステップの順序を限定するものではなく、これらの言葉は単に、本方法の説明全体で読者を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形での請求要素への任意の言及は、その要素を単数に限定するものとして解釈されるべきではない。
【００３９】
本明細書で開示される実施形態に関して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では全般にそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４０】
本明細書で開示された態様に関して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書で説明された機能を実行するように設計されたそれらの任意の組合せで、実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【００４１】
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、非一時的コンピュータ可読媒体または非一時的プロセッサ可読媒体に記憶され得る。本明細書で開示された方法またはアルゴリズムのステップは、非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールで具現化され得る。非一時的なサーバ可読のコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であってよい。限定ではなく例として、そのような非一時的なサーバ可読のコンピュータ可読媒体またはプロセッサ可読媒体は、RAM、ROM、EEPROM、FLASHメモリ、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生するが、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも、非一時的なサーバ可読のコンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的なサーバ可読のプロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せ、またはそのセットとして存在し得る。
【００４２】
開示された実施形態の上記の説明は、任意の当業者が本発明を作成または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義された一般原理は、本発明の趣旨および範囲を逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示される実施形態に限定されることは意図されず、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴に一致する最大の範囲を与えられるべきである。
【符号の説明】
【００４３】
100  セルラーネットワークシステム
102  受信機デバイス
104  基地局
106  セルラー接続
108  コンテンツプロバイダ
110  インターネット
112  BMSC
202  受信機デバイス
204  アプリケーション/DASHクライアント
206  マルチキャストサービスデバイスクライアント(MSDC)
208  モデム
400  方法
600  モバイルデバイス
602  プロセッサ
604  内部メモリ
606  タッチスクリーンディスプレイ
608  アンテナ
610  内部メモリ
612a  物理ボタン
612b  物理ボタン
616  ネットワーク送受信機
618  電源ボタン
700  サーバ
701  プロセッサ
702  揮発性メモリ
703  ネットワーク送受信機
704  ディスクドライブ
706  CDまたはDVDディスクドライブ
707  通信ネットワーク
【図１】
2016510523.tif 000003
【図２】
2016510523.tif 000004
【図３】
2016510523.tif 000005
【図４】
2016510523.tif 000006
【図５】
2016510523.tif 000007
【図６】
2016510523.tif 000008
【図７】
2016510523.tif 000009
【手続補正書】
【提出日】平成26年10月28日(2014.10.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハイパーテキスト転送プロトコル(HTTP)サーバからファイルを提供するための方法であって、
前記HTTPサーバ中のオブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが前記HTTPサーバにおいて利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが前記HTTPサーバにおいて利用可能になるまで前記要求を保留するステップと、
前記オブジェクトが前記HTTPサーバにおいて利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップであって、前記保留時間の閾値が、前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づく、ステップと、
前記オブジェクトが前記HTTPサーバにおいて利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップとを含む、方法。
【請求項２】
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記保留時間の閾値が、配信遅延または処理遅延を考慮した安全マージンを含む、請求項1に記載の方法。
【請求項４】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものである、請求項1に記載の方法。
【請求項５】
次のオブジェクトが前記HTTPサーバにおいて利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが前記HTTPサーバにおいて利用可能であるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む、請求項4に記載の方法。
【請求項６】
前記保留時間の閾値が、前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づく、請求項4に記載の方法。
【請求項７】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求である、請求項1に記載の方法。
【請求項８】
前記期間が遅延ジッタである、請求項7に記載の方法。
【請求項９】
ハイパーテキスト転送プロトコル(HTTP)サーバであって、
オブジェクトに対するアプリケーションからの要求を受信するための手段と、
前記要求されたオブジェクトが利用可能であるかどうかを判定するための手段と、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するための手段と、
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するための手段であって、前記保留時間の閾値が、前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づく、手段と、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するための手段とを含む、HTTPサーバ。
【請求項１０】
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するための手段をさらに含む、請求項9に記載のHTTPサーバ。
【請求項１１】
前記保留時間の閾値が、配信遅延または処理遅延を考慮した安全マージンを含む、請求項9に記載のHTTPサーバ。
【請求項１２】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものである、請求項9に記載のHTTPサーバ。
【請求項１３】
次のオブジェクトが利用可能であるかどうかを判定するための手段と、
前記次のオブジェクトが利用可能であるときに、前記要求に応答して前記エラー指示を送信するための手段とをさらに含む、請求項12に記載のHTTPサーバ。
【請求項１４】
前記保留時間の閾値が、前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づく、請求項12に記載のHTTPサーバ。
【請求項１５】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求である、請求項9に記載のHTTPサーバ。
【請求項１６】
前記期間が遅延ジッタである、請求項15に記載のHTTPサーバ。
【請求項１７】
ハイパーテキスト転送プロトコル(HTTP)サーバであって、
動作を実行するようにプロセッサ実行可能命令によって構成されたプロセッサを含み、前記動作が、
オブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するステップと、
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップと、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップとを含み、
前記保留時間の閾値が前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づくように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、HTTPサーバ。
【請求項１８】
前記プロセッサが、
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む動作を実行するように、プロセッサ実行可能命令によって構成される、請求項17に記載のHTTPサーバ。
【請求項１９】
前記保留時間の閾値が配信遅延または処理遅延を考慮した安全マージンを含むように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項17に記載のHTTPサーバ。
【請求項２０】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものであるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項17に記載のHTTPサーバ。
【請求項２１】
前記プロセッサが、
次のオブジェクトが利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが利用可能であるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む動作を実行するように、プロセッサ実行可能命令によって構成される、請求項20に記載のHTTPサーバ。
【請求項２２】
前記保留時間の閾値が前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づくように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項20に記載のHTTPサーバ。
【請求項２３】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求であるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項17に記載のHTTPサーバ。
【請求項２４】
前記期間が遅延ジッタであるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項23に記載のHTTPサーバ。
【請求項２５】
プロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能命令が、
オブジェクトに対するアプリケーションからの要求を受信するステップと、
前記要求されたオブジェクトが利用可能であるかどうかを判定するステップと、
前記要求されたオブジェクトが利用不可能であると判定したことに応答して、前記オブジェクトが利用可能になるまで前記要求を保留するステップと、
前記オブジェクトが利用可能になることなく保留時間の閾値を超えるかどうかを判定するステップと、
前記オブジェクトが利用可能になることなく前記保留時間の閾値を超えると判定したことに応答して、前記要求に応答してエラー指示を送信するステップと
を含む動作をハイパーテキスト転送プロトコル(HTTP)サーバに実行させるように構成され、
前記保留時間の閾値が前記サーバに対する前記要求されたオブジェクトの予想される配信時間に少なくとも一部基づくように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能命令が、
前記オブジェクトが利用可能になるときに、前記要求に応答して前記オブジェクトを前記アプリケーションに送信するステップをさらに含む動作をHTTPサーバに実行させるように構成される、請求項25に記載の非一時的プロセッサ可読記憶媒体。
【請求項２７】
前記保留時間の閾値が配信遅延または処理遅延を考慮した安全マージンを含むように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項25に記載の非一時的プロセッサ可読記憶媒体。
【請求項２８】
前記オブジェクトがDynamic Adaptive Streaming Over Hypertext Transfer Protocol(DASH)セグメントであり、前記要求がDASHクライアントからのものであるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項25に記載の非一時的プロセッサ可読記憶媒体。
【請求項２９】
前記記憶されたプロセッサ実行可能命令が、
次のオブジェクトが利用可能であるかどうかを判定するステップと、
前記次のオブジェクトが利用可能になるときに、前記要求に応答して前記エラー指示を送信するステップとをさらに含む動作をHTTPサーバに実行させるように構成される、請求項28に記載の非一時的プロセッサ可読記憶媒体。
【請求項３０】
前記保留時間の閾値が前記DASHセグメントを記述するMedia Presentation Description(MPD)中の配信時間に少なくとも一部基づくように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項28に記載の非一時的プロセッサ可読記憶媒体。
【請求項３１】
前記アプリケーションからの前記要求が、前記アプリケーションの始動時間の前の期間に前記サーバにおいて以前に利用可能であったオブジェクトに対する要求であるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項25に記載の非一時的プロセッサ可読記憶媒体。
【請求項３２】
前記期間が遅延ジッタであるように、前記記憶されたプロセッサ実行可能命令が、HTTPサーバに動作を実行させるように構成される、請求項31に記載の非一時的プロセッサ可読記憶媒体。
【国際調査報告】
2016510523.tif 000010
2016510523.tif 000011
2016510523.tif 000012