JP2017525171A - クラウド・ベースのメディア・コンテンツの管理 - Google Patents

クラウド・ベースのメディア・コンテンツの管理 Download PDF

Info

Publication number
JP2017525171A
JP2017525171A JP2016566996A JP2016566996A JP2017525171A JP 2017525171 A JP2017525171 A JP 2017525171A JP 2016566996 A JP2016566996 A JP 2016566996A JP 2016566996 A JP2016566996 A JP 2016566996A JP 2017525171 A JP2017525171 A JP 2017525171A
Authority
JP
Japan
Prior art keywords
media content
media
segments
content item
media device
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.)
Granted
Application number
JP2016566996A
Other languages
English (en)
Other versions
JP6420850B2 (ja
Inventor
ダノヴィッツ、ジョシュア
キューリック、トッド
スティーブンス、ポール
シノット、ジョー
レッドマン、スコット
ベッセラー、ローランド
Original Assignee
ティヴォ ソリューションズ インコーポレイテッド
ティヴォ ソリューションズ インコーポレイテッド
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 ティヴォ ソリューションズ インコーポレイテッド, ティヴォ ソリューションズ インコーポレイテッド filed Critical ティヴォ ソリューションズ インコーポレイテッド
Publication of JP2017525171A publication Critical patent/JP2017525171A/ja
Application granted granted Critical
Publication of JP6420850B2 publication Critical patent/JP6420850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • G06F16/125File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/483Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

メディア・コンテンツ・アイテムへのアクセスを管理するクラウド・ベースのメディア・コンテンツ管理システムが、開示されている。クラウド・ベースのメディア・コンテンツ管理システムによるメディア・コンテンツ・アイテムへのアクセスを管理することは、例えば、メディア・デバイスの集合からメディア・コンテンツ・アイテムをアップロードすることを管理すること、クラウド・ベースのストレージに格納されているメディア・コンテンツ・データの重複を削減すること、及び任意の数のユーザ・デバイスに渡ってクラウド・ベースのストレージに格納されているメディア・コンテンツ・アイテムへのユーザが制御するアクセスを提供することを含むことができる。この文脈では、クラウド・ベースのメディア・コンテンツ管理システム及びクラウド・ベースのストレージ・システムは、一般に、インターネットのようなデジタル・ネットワークによりメディア・デバイス及び他のデバイスがアクセスすることができる、ホスト管理されているコンピューティング及びデータ・ストレージ・サービスを意味する。【選択図】図5

Description

実施態様は、一般に、メディア・デバイスによってメディア・コンテンツを処理することに関する。
このセクションに記載されている方法は、続行されることができるアプローチではあるが、必ずしも以前考えられたか又は続行されたアプローチではない。従って、特に明記しない限り、このセクションに記載されている方法の何れも単にこのセクションに含まれている理由のみでそれらが先行技術であるとみなすべきではない。
多くの特徴の中でとりわけ、デジタル・ビデオ・レコーダ(DVR)及び他のメディア・デバイスは、ユーザがメディア・コンテンツを記録しかつ視聴することを可能にする。通常、DVRは、メディア・コンテンツ・アイテムを記録することができるハードディスク・ドライブ又は他の一体型ストレージ・デバイスを含む。例えば、もし、ユーザが、後の又は繰返しの視聴のためにテレビ番組を記録することを望むと、ユーザはDVRに入力を送って、DVRにテレビ番組のコピーを記録するように命令することができる。これにより、ユーザは、DVRに、後に、ローカル・ストレージ・デバイスからテレビ番組が記録されたコピーを再生するよう命令することができる。
クラウド・ベースのデータ格納サービスは、ユーザが、多くのタイプのデータ(例えば、文書、メディア・コンテンツ等)を格納し、かつ任意の数の別々のクライアント・デバイスからのデータにアクセスする、急速に普及しつつあるツールである。クラウド・ベースのデータ格納プロバイダは、通常、ユーザ・データを格納する物理サーバ及び他のコンポーネントに対しホストをつとめ、かつインターネットのようなデジタル・ネットワークによりユーザにデータへのアクセスを提供する。クラウド・ベースの格納サービスは、ストレージ・スペースの限界、潜在的なハードウェア障害を含む、ローカル・ストレージ・デバイスを管理する上でのユーザのいくつかの負担を軽減し、かつ異なるクライアント・デバイスに渡ってユーザ・データにアクセスすることを可能にする。
米国特許第8,417,096号明細書 米国特許第7,873,982号明細書
1つ以上の実施態様に従う、クラウド・ベースのメディア・コンテンツ管理システムを含むシステムの一例のブロック図である。 1つ以上の実施態様に従う、クラウド・ベースのメディア・コンテンツ管理システムのコンポーネントのブロック図である。 1つ以上の実施態様に従う、サービス・プロバイダ・システムのコンポーネントのブロック図である。 1つ以上の実施態様に従う、メディア・デバイスの一例のブロック図である。 1つ以上の実施態様に従って、メディア・デバイスでメディア・コンテンツ・アイテムのアップロードを管理する一例の流れ図を表す。 1つ以上の実施態様に従って、メディア・コンテンツ・アイテムをメディア・デバイスの集合からアップロードすることを管理する一例の流れ図を表す。 1つ以上の実施態様に従って、多数のソースからメディア・コンテンツ・アイテムを受信するメディア・デバイスの集合の一例を表す。 1つ以上の実施態様に従って、アイテムがメディア・デバイスの集合によってアップロードされたメディア・コンテンツ及びメディア・コンテンツ・アイテムの集合全体に対する格納の一例を表す。 1つ以上の実施態様に従って、アイテムがメディア・デバイスの集合によってアップロードされたメディア・コンテンツ、及びメディア・コンテンツ・アイテムの集合全体に対する格納の他の例を表す。 1つ以上の実施態様に従って、クラウド・ベースのメディア・コンテンツ管理システムが、ユーザ・アカウントに関連付けられている多数のメディア・デバイスに渡ってメディア・コンテンツ・アイテムにアクセスすることを管理する一例の流れ図を表す。 1つ以上の実施態様に従って、格納されているメディア・コンテンツアイテムに対するリクエストをクラウド・ベースのメディア・コンテンツ管理システムによって処理する一例の流れ図を表す。 1つ以上の実施態様に従って、メディア・デバイスでの再生のためにメディア・コンテンツ・アイテムの部分をプレキャッシュする一例の流れ図を表す。 1つ以上の実施態様に従って、クラウド・ベースのメディア・コンテンツ管理システムがチューナの衝突を管理する一例の流れ図を表す。 1つ以上の実施態様に従って、クラウド・ベースのメディア・コンテンツ管理システムがメディア・コンテンツ・アイテムの格納を管理する一例の流れ図を表す。 1つ以上の実施態様に従って、アップグレードされた及び/又は置換されたメディア・デバイスに対しメディア・コンテンツ・アイテムへのアクセスを管理する一例の流れ図を表す。 本発明の実施態様を実施することができるコンピュータ・システムのブロック図である。
以下の記載では、説明のために、多数の具体的な詳細が、本発明の完全な理解を提供するために記載される。しかしながら、本発明がこれらの具体的な詳細なしに実行することができることは、明らかである。本発明を不必要に不明瞭にするのを避けるために周知の構造及び装置はブロック図で示してある。
本明細書では、実施態様は、以下の概略に従って記載されている。
1.0.全体的概要
2.0.構造の概要
2.1.システムの概要
2.2.クラウド・ベースのメディア・コンテンツ管理システムの例
2.3.サービス・プロバイダ・システムの例
2.4.メディア・デバイスの例
3.0.機能の概要
3.1.分散されたメディア・デバイスのアップロード
3.2.メディア・コンテンツのクラウド格納
3.3.メディア・コンテンツの再生
3.4.クラウド・ベースのチューナ
3.5.クラウド・ストレージ・エクステンダ
4.0.実施態様の例
5.0.実装メカニズム−ハードウェアの概観
6.0.拡張及び変形例
1.0.全体的概要
メディア・コンテンツ・アイテムをクラウド・ベースのコンピューティング環境に格納及びアクセスすることを管理するためのアプローチ、技術及び機構が、開示されている。この文脈において、クラウド・ベースのコンピューティング環境とは、一般に、インターネットのようなデジタル・ネットワークによってメディア・デバイス及び他のクライアント・デバイスがアクセス可能であるコンピューティング・サービス及びデータ格納サービスの集合を意味する。各種実施形態によれば、クラウド・ベースのメディア・コンテンツ管理システムは、メディア・デバイスが分散された集合からメディア・コンテンツ・アイテムをアップロードすることを管理し、クラウド・ストレージに格納されているメディア・コンテンツ・データの重複を減少させ、任意の数のユーザ・デバイスに渡るメディア・コンテンツ・アイテムへのユーザ・アカウントにより制御されたアクセスを提供し、かつ本明細書において記載されている他のクラウド・ベースのメディア・コンテンツ管理サービスを提供することにより、メディア・コンテンツ・アイテムの格納及びそれへのアクセスを管理する。
さまざまなメディア・デバイスと対話するクラウド・ベースのメディア・コンテンツ管理システムのレベルの高い例を例示するために、ユーザは、第一メディア・デバイス(例えば、ユーザの家にあるDVR)でテレビ番組のレコーディングを予約するものと仮定する。ユーザのレコーディング予約に応答して、ユーザの第一メディア・デバイスは、テレビ番組を記録する予約されたレコーディング時刻にテレビ番組に同調する。ユーザがテレビ番組のレコーディングを予約したことを示すデータは、クラウド・ベースのメディア・コンテンツ管理システムに送信され、かつユーザに対しユーザ・アカウント情報と関連させて格納させることができる。ユーザの第一メディア・デバイスは、更に、記録されたテレビ番組の全体又は一部を、メディア・コンテンツ管理システムに関連付けられているクラウド・ストレージ・システムにアップロードするように、環境設定させることができる。同じテレビ番組の他の部分は、他のユーザに関連付けられている他のメディア・デバイスによってアップロードさせることもできる。次いで、ユーザは、ユーザのメディア・デバイスの1つを使用してテレビ番組の再生をリクエストし、そしてクラウド・ベースのメディア・コンテンツ管理システムは、クラウド・ストレージ・システムから、テレビ番組の再生をリクエストしているデバイスにテレビ番組のコピーをストリーム配信することができる。
一実施態様では、クラウド・ストレージ・システムに保存されているメディア・コンテンツ・アイテムをコピーしかつ送信することに関して適用されるコンテンツ権利に対応するために、格納されているメディア・コンテンツ・アイテムへのアクセスは、各ユーザ・アカウントごとに、ユーザの1つ以上のローカル・メディア・デバイスでのレコーディングのために、ユーザが、どのメディア・コンテンツ・アイテムを今までに選択していたかを示すユーザ・アカウント・データに基づいて、制限することができる。例えば、クラウド・ストレージからメディア・コンテンツ・アイテムをストリーム配信すると言うメディア・デバイスからのリクエストに応答して、このデバイスが、同じメディア・コンテンツ・アイテムのレコーディングを以前にリクエストしたユーザ・アカウントに関連付けられていると、クラウド・ベースのメディア・コンテンツ管理システムが決定する場合のみ、この管理システムは、メディア・デバイスがコンテンツをストリーム配信することを可能にすることができる。さらにまた、クラウド・ベースのメディア・コンテンツ管理システムは、各ユーザのローカル・メディア・デバイスで当初記録され及び/又は再生されたメディア・コンテンツ・アイテムのバージョンと同一又は実質的に同一である(任意の地域の広告、ビデオ及び/又はオーディオ破壊、及び1つ以上の特定メディア・デバイスによって受信されるメディア・コンテンツに特有となり得る他の属性を含む)メディア・コンテンツ・アイテムのコピーに、ユーザがアクセスすることが可能となる態様で、メディア・コンテンツ・アイテムを保存することができる。
メディア・コンテンツ・アイテムの格納及びそれへのアクセスをユーザのメディア・デバイスに渡って管理することに加えて、クラウド・ベースのメディア・コンテンツ管理システムは、従来の独立型メディア・デバイスでは可能でない多くの特徴を追加することを可能にする。例えば、本明細書に記載されているクラウド・ベースのメディア・コンテンツ管理システムは、ユーザが、以前に記録されたメディア・コンテンツ・アイテムへのアクセスを失わずにメディア・デバイスを容易にアップグレード又は置換すること、ユーザが物理的に利用できるチューナにより得られるものよりより多くのメディア・コンテンツ・アイテムを並行して記録すること、ユーザが利用可能なローカル・ストレージによるよりもより多くのメディア・コンテンツのレコーディングを格納すること、とりわけ、番組放送予約における変更に対応してレコーディングの開始及び終了時刻を自動的に調整することとを、可能にする。
他の態様の場合、本発明は、前述の技術を実行するように、環境設定されているコンピュータ装置及びコンピュータ可読媒体を含む。
2.0.構造の概要
2.1.システムの概要
図1は、1つ以上の実施態様に従って、クラウド・ベースのメディア・コンテンツ管理システムを実装するシステム100の一例のブロック図である。システム100は、1つ以上のコンピューティング・デバイスを備える。これらの1つ以上のコンピューティング・デバイスは、本明細書に記載されているさまざまなロジック・コンポーネントを実装するように、環境設定されているハードウェア及びソフトウェアの任意の組合せを備える。例えば、これら1つ以上のコンピューティング・デバイスは、本明細書に記載されている各種コンポーネントを実装する命令を格納する1つ以上のメモリ、1つ以上のメモリに格納される命令を実行するように、環境設定される1つ以上のハードウェア・プロセッサ、及び各種コンポーネントによって利用されかつ操作されるデータ構造を格納するための1つ以上のメモリ内のさまざまなデータ・リポジトリ、を備えることができる。
一実施態様の場合、システム100は、メディア・デバイス108−1及びメディア・デバイス108−2を含む、1つ以上のメディア・デバイス108を含む。本明細書において、メディア・デバイス108は、一般に、ケーブル信号、地上波信号、デジタル・ネットワーク・ベースのデータ等から、テレビ番組、映画、ビデオ・オン・デマンド(VOD)コンテンツ等のようなメディア・コンテンツ・アイテムを受信することができる任意のタイプのコンピューティング・デバイスに、関連付けることができる。図1において、例えば、メディア・デバイス108−1は、再生する、記録する、ストリーム配信する及び/又は、1つ以上のコンテンツ・ソース106から受信されるメディア・コンテンツ・アイテムにアクセスする、ことに用いることができるテレビ・チューナ入力を含むことができる。例えば、1つのコンテンツ・ソース106は、ケーブル・オペレータによって提供されるライブのテレビジョン・フィードを含むことができる。他の例のコンテンツ・ソース106は、ビデオ・オン・デマンド(VOD)ライブラリ、第三者コンテンツ・プロバイダ(例えば、Netflix(登録商標)、Amazon Prime(登録商標)等)、ウェブ・ベースのメディア・コンテンツ、衛星放送コンテンツ、地上の放送コンテンツ等を含むが、これらに限定されるものではない。メディア・デバイス108−1の例は、セット・トップ・ボックス(STB)、デジタル・ビデオテープ・レコーダ(DVR)、パーソナル・コンピュータ、タブレット・コンピュータ、携帯用デバイス、テレビジョン及び他のコンピューティング・デバイスを含むが、これらに限定されるものではない。
一実施態様の場合、システム100は、更に、1つ以上のIP対応メディア・デバイス108−2を含むことができる。一般に、IP対応メディア・デバイス108−2は、1つ以上のデジタル・ネットワーク104(例えば、一般のインターネット、イントラネット、LAN、WAN等)によりメディア・コンテンツを受信することができる(テレビ・チューナ入力を含んでいても含まなくても良い)任意のタイプのコンピューティング・デバイスに関連付けられていることができる。メディア・デバイス108−2の例としては、STB、DVR、パーソナル・コンピュータ、スマートフォン、タブレット、ラップトップ、ゲーム・デバイス、メディア・サーバ、デジタルメディア・レシーバ、テレビジョン、地上波のアンテナ等が挙げられるが、これらに限定されるものではない。典型的なユーザは、所有するいくつかのメディア・デバイス108をユーザの家及び他の場所のさまざまな位置に配置しかつ使用することができる。
一実施態様の場合、メディア・デバイス108は、1つ以上のネットワーク104を介してクラウド・ベースのメディア・コンテンツ管理システム102に結合されている。ネットワーク104は、広範囲に、1つ以上のLAN、WAN、携帯電話ネットワーク(例えば、LTE、HSPA、3G、旧型技術等)、及び/又は有線、無線、地上波のマイクロ波又は衛星リンクの何れかを使用するインターネットワークを表し、そして公共インターネットを含むことができる。さらにまた、各メディア・デバイス108は、1つ以上のネットワーク104を介して1つ以上の他のメディア・デバイスに結合させることができる。
以下により詳細に説明されるように、各メディア・デバイス108は、一般に、(コンテンツ・ソース106からメディア・コンテンツ・アイテムを受信する、メディア・コンテンツ・アイテムを再生する、メディア・コンテンツ・アイテムのレコーディングを予約する、メディア・コンテンツ・アイテムの全て又は部分をクラウド格納システムにアップロードする、他のメディア・デバイスに対しメディア・コンテンツ・アイテムをストリーム配信する等を含む)メディア・コンテンツ・アイテムに対する1つ以上の動作を実行するように、環境設定させることができる。一実施態様の場合、クラウド・ベースのメディア・コンテンツ管理システム102は、一般に、メディア・コンテンツ・アイテムの格納を管理し、かつメディア・デバイスに1つ以上のネットワーク104を介してメディア・コンテンツ・アイテムへの制御されたアクセスを提供する。
システム100は、本明細書に記載されている機能を提供するように、環境設定されているコンポーネントの多くの可能な構成の内の1つしか例示していない。他の構成は、より少ない、追加される、又は異なるコンポーネントを含むことができ、そしてコンポーネント間の仕事の分担は構成に応じて変化させることができる。
図1において、システム100の各種コンポーネントは、さまざまな他のコンポーネントに通信で矢印によって結合されているものとして、図示されている。これらの矢印は、システム100のコンポーネントの間の情報の一定の流れしか例示していない。あるコンポーネント間に矢印方向が存在する又は矢印線が存在しないことが、あるコンポーネント間に通信が存在する又は存在しないことを意味すると解釈すべきではない。実際、システム100の各コンポーネントは、開いたポート、API又は他の適切な通信インターフェースを特徴とすることができ、これにより、この各コンポーネントは、システム100の他のコンポーネントと通信で結合され、これにより、本明細書に記載されているシステム100の機能の何れかを達成するために必要な動作が可能となる。
2.2.クラウド・ベースのメディア・コンテンツ管理システムの例
図2は、1つ以上の実施態様に従って、クラウド・ベースのメディア・コンテンツ管理システムを実装するシステム200の一例のブロック図である。システム200は、オペレータ・ヘッドエンド202、サービス・プロバイダ・システム204及びクラウド・ストレージ・システム206を含む。
一実施態様の場合、オペレータ・ヘッドエンド202は、一般に、1つ以上のコンテンツ・ソース106からテレビジョン及び他のメディア・コンテンツ信号を受信しかつ処理し、そしてメディア・コンテンツ信号に基づいてメディア・コンテンツ・アイテムをさまざまなメディア・デバイス108に分散させるシステムを表す。1つの例として、オペレータ・ヘッドエンド202は、コンテンツ・ソース106から(例えば、衛星、同軸ケーブル、マイクロ波リンク、ファイバ・オプティックス、インターネットなどを介して受信される)信号を受信しかつ処理し、そして処理されたビデオを送信インフラストラクチャ208を用いてメディア・デバイス108に分散させるケーブル・テレビ・ヘッドエンドを表すことができる。送信インフラストラクチャ208は、一般に、直交振幅変調(QAM)、Advanced Television Systems Committee(ASTC)、衛星放送、Digital Video Broadcasting - Terrestrial(DVB−T)、1つ以上のネットワークによるIPベースの送信等を含むがこれらに限定されない、任意の数の符号化及び送信フォーマットを用いてメディア・コンテンツ・アイテムを配信することができるコンポーネントを含むことができる。
一実施態様の場合、オペレータ・ヘッドエンド202は、1つ以上のメディア・コンテンツ管理デバイス210にホスト動作を行うことができる。一般に、メディア・コンテンツ管理デバイス210は、メディア・コンテンツ・アイテムを格納しかつメディア・デバイス108によるメディア・コンテンツ・アイテムへのアクセスを提供するように、環境設定されている1つ以上のコンピューティング・デバイス及びストレージ・コンポーネントを含むことができる。一実施態様の場合、クラウド・ベースのメディア・コンテンツ管理システムに関連付けられているユーザ・アカウントには、記録するために選択されたメディア・コンテンツ・アイテムを格納するため、メディア・コンテンツ管理デバイス210にある量のストレージを提供することができる。ユーザ・アカウントは、例えば、サービス・プロバイダ・システム204によって生成させかつ管理させることができ、そして各ユーザ・アカウントは、(例えば、メディア・デバイスのユーザ・アカウント・ログインに基づいて)1つ以上のメディア・デバイス108に関係付けることができる。メディア・コンテンツ管理デバイス210に格納されるメディア・コンテンツ・アイテムは、オペレータ・ヘッドエンド202によって、送信インフラストラクチャ208を用いてメディア・デバイス108に送付させることができる。
一実施態様の場合、クラウド・ベースのメディア・コンテンツ管理システムは、更に、1つ以上のクラウド・ストレージ・システム206を含むことができる。一般に、クラウド・ストレージ・システム206は、1つ以上のネットワーク(例えば、ネットワーク104)を介してメディア・デバイス108がアクセス可能であり、かつ通常はメディア・デバイス108のユーザ以外のエンティティによって所有されかつ管理される、データ・ストレージ・システムを表す。一実施態様の場合、クラウド・ストレージ・システム206は、サービス・プロバイダ・システム204のオペレータによって管理させかつ作動させることもできるし、又はクラウド・ストレージ・システム206は、第三者のエンティティによって作動させることもできる。第三者のクラウド・ストレージ・システムの例は、Amazon Web Services(AWS), Microsoft Azure, Google Cloud Storage等を含む。オペレータ・ヘッドエンド202で利用可能なストレージと同様に、サービス・プロバイダ・システム204に関連付けられているユーザ・アカウントには、ある量のストレージ空間をクラウド・ストレージ・システム206に提供することができる。メディア・コンテンツ管理デバイス210及び/又はクラウド・ストレージ・システム206で各ユーザ・アカウントが利用できるストレージの量は、利用できるデータ格納の単一のプールとしてユーザに提供することができるが、他の例では、ユーザは、メディア・コンテンツ管理デバイス210及びクラウド・ストレージ・システム206で利用可能なストレージを別個に管理することもできる。
一実施態様の場合、クラウド・ストレージ・システム206は、一般に、メディア・デバイス108のユーザがレコーディングのために選択したメディア・コンテンツ・アイテムを格納するために用いることができる。ユーザがメディア・コンテンツ・アイテムを削除のために選択するまで、メディア・コンテンツ・アイテムがクラウド・ストレージ削除ポリシーを超えるまで、又は任意の他の削除ポリシーに基づいて、クラウド・ストレージ・システム206に格納されているメディア・コンテンツ・アイテムは、メディア・デバイス108のユーザが利用可能とすることができる。一実施態様では、オペレータ・ヘッドエンド202がコンテンツ・ソース106から受信するメディア・コンテンツは、レコーディングのためにユーザにより選択されたメディア・コンテンツ・アイテムの格納を実現するために、固定バンド幅のラインを介してクラウド・ストレージ・システム206に配信させることができる。
一実施態様の場合、サービス・プロバイダ・システム204は、通常、メディア・デバイス108からのリクエスト(例えば、メディア・コンテンツ情報及びサーチのリクエスト、レコーディングのリクエスト、再生リクエスト、コンテンツの削除リクエスト、デバイスに渡る休止位置の管理等)を管理し、かつ本明細書において記載されている他のサービス及び特徴の中で、とりわけ、1つ以上のオペレータ・ヘッドエンド202及びクラウド・ストレージ・システム206に渡ってメディア・コンテンツ・アイテムの格納を管理するように、環境設定されている1つ以上のコンピューティング・デバイスを備えている。
さまざまな要因によって、格納されているメディア・コンテンツ・アイテムをクラウド・ストレージ・システム206からストリーム配信する代わりに、オペレータ・ヘッドエンド202のメディア・コンテンツ管理デバイス210からストリーム配信する方が、より効率的となる(そして、逆もまた同じ)場合がある。例えば、典型的には、オペレータ・ヘッドエンド202の送信インフラストラクチャ208の信頼性をより高くし、かつクラウド・ストレージ・システム206からメディア・デバイス108にメディア・コンテンツ・アイテムを送信するために利用できるネットワークよりも大きな帯域幅容量を、送信インフラストラクチャ208に持たせることができる。しかしながら、送信インフラストラクチャ208は、幾つかのタイプのメディア・デバイス108(例えば、送信インフラストラクチャ208に接続されていないモバイル・デバイス)には、メディア・コンテンツ・アイテムを送信することができなくても良く、そしていくつかのメディア・コンテンツ・フォーマットは、オペレータ・ヘッドエンド202による送信には適していない。これらの例及び他の例の場合、例えば、一般に、クラウド・ストレージ・システム206からメディア・コンテンツ・アイテムをストリーム配信することは、より効率的である。
一実施態様において、適切なときには、オペレータ・ヘッドエンド202又はクラウド・ストレージ・システム206の何れからメディア・コンテンツ・アイテムをストリーム配信することを容易にするために、サービス・プロバイダ・システム204は、どのメディア・コンテンツ・アイテムをオペレータ・ヘッドエンド202に格納すべきか、どのメディア・コンテンツ・アイテムをクラウド・ストレージ・システム206に格納すべきか、又は両方を、決定するように、環境設定させることができる。例えば、サービス・プロバイダ・システム204は、1人以上のユーザによってレコーディングのために選択されるメディア・コンテンツ・アイテムのどれが、特定時間内に又は特定頻度の範囲内で視聴される可能性が最も高いかを決定することができる。アイテムがレコーディングのために選択された直後に見られる可能性が高いと決定されたメディア・コンテンツに対しては、例えば、それらのアイテムは、オペレータ・ヘッドエンド202に格納することができる。これらのアイテムをオペレータ・ヘッドエンド202に格納することは、例えば、より堅牢な送信インフラストラクチャ208を利用することができるので有益となる。これに対し、近い将来、視聴のために選択されそうにないと決定される、又は送信インフラストラクチャ208に接続されていないメディア・デバイスで視聴される可能性が高いメディア・コンテンツ・アイテムは、オペレータ・ヘッドエンド202に格納されるデータ量を減らすために、クラウド・ストレージ・システム206に格納することができる。
サービス・プロバイダ・システム204が、メディア・コンテンツ・アイテムをどこに格納すべきかを決定するために使用することができる基準の例は、特定メディア・コンテンツ・アイテムに関する情報及び1つ以上のユーザ・アカウントの履歴データを含む。例えば、基準は、メディア・コンテンツ・アイテムの(例えば、最初の放送日から計測された)経過時間、(例えば、ユーザが最近同じシリーズの初期のエピソードを見たかどうかと言う)ユーザの最近の視聴傾向、全てのユーザ・アカウントに渡るメディア・コンテンツ・アイテムの全体人気、特定の家におけるメディア・デバイス108に渡る視聴習慣の集計、ユーザが現在視聴しているシリーズのエピソードの視聴率、そして残っているエピソードの数等を含むことができる。
一実施態様の場合、サービス・プロバイダ・システム204は、ユーザ・アカウントによってレコーディングのために選択された各メディア・コンテンツ・アイテムに対し(本明細書においては関連係数とも称される)重み係数を生成するために、上記の基準の例のようなさまざまな基準を使用することができる。例えば、関連係数は、各メディア・コンテンツ・アイテムに対し、メディア・コンテンツ・アイテムを再生するリクエストが、次のN日以内に又は他のある期間内に受信される可能性を示すことができる。関連係数は、ユーザ・アカウントの集合全体に対し、ユーザ・アカウントが目標とするグループに対し、又は其々のユーザ・アカウントに関連付けられている各メディア・コンテンツ・アイテムに対し、生成させることができる。一実施態様の場合、関連係数は、特定メディア・コンテンツ・アイテムをどこに(例えば、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システム206に)格納すべきか、特定メディア・コンテンツ・アイテムを格納するビデオ及び/又はオーディオ・フォーマット、特定メディア・コンテンツ・アイテムを格納及び/又は送信するビット送信速度等を決定するために、用いることができる。一実施態様の場合、関連係数は、特定メディア・コンテンツのトランスコードされたバージョンを生成しかつ格納すべきか否か、及びそれをいつ行うかを決定するために用いることができる。例えば、もし、ユーザが、ユーザの家で視聴されているメディア・コンテンツ・アイテムを休止させると、メディア・コンテンツ・アイテムに関連付けられている関連係数に応じて、モバイル・デバイスで再生することに適しているメディア・コンテンツ・アイテムのトランスコードされたバージョンを、発生させかつそれをクラウド・ストレージ・システム206に格納させることができる。別の例として、もし、メディア・コンテンツ・アイテムが近い将来見られそうにないと決定されると、サービス・プロバイダ・システム204は、関連係数に応じて、メディア・コンテンツ・アイテムの低いビットレートの単一のレコーディングしかストレージに保持しないことを決めることができる。
メディア・デバイス108がライブのメディア・コンテンツ(例えば、ライブのテレビジョン・ストリーム)に同調するときに、クラウド・ベースのメディア・コンテンツ管理システム200が、どのようにメディア・コンテンツ・アイテムの送信及び格納を管理することができるかという1つの例では、オペレータ・ヘッドエンド202が、選択されたメディア・コンテンツを、送信インフラストラクチャ208(例えば、QAMインフラストラクチャ)を介してメディア・デバイス108に提供することができる。もし、メディア・デバイス108のユーザが、ライブのメディア・コンテンツの再生を休止させると、サービス・プロバイダ・システム204は、同じメディア・コンテンツのレコーディングを、オペレータ・ヘッドエンド202で及び/又はクラウド・ストレージ・システム206で開始させることができる。ユーザが、同じメディア・デバイス108から又はユーザ・アカウントに関連付けられている他のメディア・デバイス108からメディア・コンテンツ・アイテムの再生を再開する時には、メディア・コンテンツ・アイテムは、オペレータ・ヘッドエンド202又はクラウド・ストレージ・システム206の何れかから、IPベースのネットワークを介してメディア・デバイス108にストリーム配信させることができる。ユーザが、その後、メディア・コンテンツ・アイテムのライブのポイントまで追いつくと、クラウド・ベースのメディア・コンテンツ管理システム200は、IPベースのネットワークを介してメディア・デバイス108にメディア・コンテンツ・アイテムをストリーム配信し続ける、又はこれに代えて送信インフラストラクチャ208を用いてメディア・コンテンツ・アイテムの送信を再開することができる。
メディア・コンテンツ・アイテムの送信及び格納を管理するクラウド・ベースのメディア・コンテンツ管理システム200の他の例では、サービス・プロバイダ・システム204は、1つ以上のメディア・デバイス108が同調しているメディア・コンテンツの「ライブのバッファ」を、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システムに格納するように、環境設定させることができる。例えば、メディア・デバイス108が特定メディア・コンテンツ・アイテムの受信に同調する度に、サービス・プロバイダ・システム204は、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システム206でメディア・コンテンツ・アイテムのレコーディング(このレコーディングは、環境設定可能な時間間隔(例えば、30分)のローリング・バッファとして管理される)を開始することができる。(例えば、チャネルの変更、EPGからの異なるコンテンツの選択等に応答して)メディア・デバイスが、異なるメディア・コンテンツに同調した後、特定メディア・コンテンツ・アイテムに対するローリング・バッファは、自動的に削除させることができるし、又はこのバッファは、環境設定可能な期間(例えば、30分)の間ストレージに保持させることができる。もし、ユーザが、その後、特定メディア・コンテンツ・アイテムを記録のために選択すると、ローリング・バッファは、他の用途の中でとりわけ、ユーザのために格納されるレコーディングの部分として用いることができる。
図2は、コンテンツ・ソース106からメディア・コンテンツを受信し、メディア・コンテンツをメディア・デバイス108に配信し、そしてクラウド・ストレージ・システムに格納されているメディア・コンテンツ・アイテムのソースとすることもできる、オペレータ・ヘッドエンド202を含むが、他の実施態様では、オペレータ・ヘッドエンド202は直接関与しなくても良い。一実施態様の場合、メディア・デバイス108は、(例えば、オペレータ・ヘッドエンド202を介して、又はIPネットワークを介してコンテンツ・ソース106から直接)コンテンツ・ソース106からメディア・コンテンツ・アイテムを受信することができ、そしてメディア・コンテンツ・アイテムは、メディア・デバイス108からクラウド・ストレージにアップロードさせることができる。例えば、コンテンツ・ソース106は、オーバ・ザ・トップ(OTT)、ビデオ・オン・デマンド(VOD)、並びにインターネットにより及びケーブル又は衛星テレビ・システム・オペレータの介入無しにメディア・デバイス108に送信される他のコンテンツのプロバイダを、含むことができる。この例及び本明細書に記載されている他の例では、サービス・プロバイダ・システム204は、オペレータ・ヘッドエンド202と直接インターフェース動作を行うことができず、クラウド・ストレージへのメディア・コンテンツ・アイテムの格納及びそれへのアクセスは可能ではない。
2.3.サービス・プロバイダ・システムの例
図3は、サービス・プロバイダ・システム204のコンポーネントの一例のブロック図である。一般に、サービス・プロバイダ・システム204は、さまざまなメディア・デバイス108による(例えば、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システム206での)メディア・コンテンツ・アイテムの格納及びメディア・コンテンツ・アイテムへのアクセスを管理するように、環境設定させることができる。一実施態様の場合、他の特徴の中でとりわけ、各メディア・デバイス108は、1つ以上のユーザ・アカウントに関連付けることができ、これにより、サービス・プロバイダ・システム204が、特定ユーザによりレコーディングが予約されているメディア・コンテンツ・アイテムを追跡し、ユーザ・アカウントごとにアップロードされたメディア・コンテンツ・アイテムの格納を管理し、かつユーザ・デバイスに渡ってメディア・コンテンツ・アイテムへのアクセスを管理することが可能になる。一実施態様の場合、サービス・プロバイダ・システム204は、制御パネル・モジュール302、ネットワーク予約作成モジュール304、アップロード管理モジュール306、購読契約/レコーディングのメタデータ308、デバイス及びアカウント供給モジュール310、ストリーム配信及びホスティング・モジュール312並びに格納及びトランスコード処理モジュール314を含むことができる。
格納及びトランスコード処理モジュール314は、一般に、1つ以上のコンテンツ・ソース106及び/又はメディア・デバイス108から受信されるメディア・コンテンツ・アイテムの格納及び送信を管理するように、環境設定されている1つ以上のコンポーネントを含むことができる。一実施態様では、格納及びトランスコード処理モジュール314は、オペレータ・ヘッドエンド202及び/又はメディア・コンテンツ・アイテムを格納するように、環境設定されているクラウド・ストレージ・システム206に配置されている1つ以上のコンポーネントを含む、及び/又はそれらのコンポーネントと対話することができる。格納及びトランスコード処理モジュール314は、更に、メディア・デバイス108の集合からアップロードされるメディア・コンテンツ・アイテムの格納及びそれらへのアクセスを管理するように、環境設定される1つ以上のコンポーネントを含むことができる。
一実施態様の場合、格納及びトランスコード処理モジュール314は、記録されているメディア・コンテンツ・アイテム及び他のデータを格納するための、メディア・デバイス108のユーザが利用できるストレージ空間を管理するように、環境設定させることができる。例えば、ユーザ・アカウントは、このユーザ・アカウントに関連付けられているユーザによってレコーディングのために選択されるメディア・コンテンツ・アイテムを格納するために、ある量のクラウド・ストレージに関連付けることができる。各ユーザ・アカウントに関連付けられているストレージ空間の総量は、支払われた購読契約のレベル、ユーザが購入したストレージの量、又は任意の他のユーザのアカウントの考慮に基づくことができる。
一般に、格納及びトランスコード処理モジュール314は、ユーザが、ユーザ・アカウントに関連付けられているストレージ空間の総量を超えていない量の記録されたメディア・コンテンツを、任意の時点で格納することが可能となるように、環境設定させることができる。例えば、もし特定ユーザ・アカウントが、10GBの総クラウド・ストレージ空間に関連付けられているとすると、ユーザ・アカウントに関連付けられているユーザは、最大10GBのメディア・コンテンツ・アイテムをクラウド・ストレージに格納させることができる。しかしながら、各ユーザ・アカウントに関連付けられているストレージ空間の量は、「仮想」量の格納を表すことができるが、これは、ユーザ・アカウントによって記録されるメディア・コンテンツ・アイテムに関連付けられているストレージ空間の量が、そのユーザ・アカウントのために格納されるメディア・コンテンツ・アイテムを格納するために用いられるストレージの実際量を反映していないことを意味する。例えば、もし、2つのユーザ・アカウントが、同じメディア・コンテンツ・アイテムを各々記録すると、2つのユーザ・アカウントの各々に関連付けられている、使用されるストレージ空間の量は、メディア・コンテンツ・アイテムのサイズ分増加することになるが、実は、格納及びトランスコード処理モジュール314は、メディア・コンテンツ・アイテムの1つの共用コピーしか格納しない。ユーザ・アカウントがレコーディングのために選択したメディア・コンテンツ・アイテムが、ユーザが利用できる総ストレージ空間をどの程度占めるかを決定するために、(特定メディア・コンテンツ・アイテムに関連付けられているストレージ空間を、同じメディア・コンテンツ・アイテムを記録するユーザの数によって除するような)可能性がある他のルールを、実装することもできる。一実施態様の場合、サービス・プロバイダ・システム204は、ユーザが、総ストレージ空間を増加させる以外の方法、つまり、(格納されているメディア・コンテンツ・アイテムのトランスコードされた他のバージョン(例えば、ユーザがメディア・コンテンツ・アイテムの視聴を望む、タイプが異なるデバイスに対してトランスコードされた異なるバージョン)へのアクセスを提供するような方法で、ユーザ・アカウントに関連付けられているストレージをアップグレードすることを可能にすることができる。
メディア・コンテンツ・アイテムが1つ以上のメディア・デバイス108に送られる前に、レコーディングが予約されているメディア・コンテンツ・アイテムは、格納及びトランスコード処理モジュール214によって処理させる、又はメディア・コンテンツ・アイテムを、直接メディア・デバイス108に送り、その後このメディア・デバイスから格納及びトランスコード処理モジュール314にアップロードさせることができる。
一実施態様の場合、格納及びトランスコード処理モジュール314は、コマンドを受信しかつ処理して、コピーを再生し、記録し、削除し、作成し、又は格納及びトランスコード処理モジュール314によって管理されるメディア・コンテンツ・アイテムに関係する他の動作を実行するように、環境設定されている1つ以上のアプリケーション・プログラム・インターフェース(API)を含むことができる。例えば、このようなコマンドは、クラウド・ベースのメディア・コンテンツ管理システムのネットワーク予約作成モジュール304、メディア・デバイス108又は他のコンポーネントから生成させかつ受信させることができる。
一実施態様の場合、ストリーム配信及びホスティング・モジュール314は、ストリーム配信する、ダウンロードする又はクラウド・ストレージに格納されているメディア・コンテンツ・アイテムをメディア・デバイス108に送信するように、環境設定されている。ストリーム配信及びホスティング・モジュール314は、例えば、コンテンツ配信網(CDN)の一部であり、かつメディア・コンテンツ・アイテム及び他のデータを分散されたメディア・デバイス108の集合に配信するように、環境設定されている1つ以上のサーバを含むことができる。一実施態様の場合、ストリーム配信及びホスティング・モジュール314は、更に、メディア・デバイス108に送られるメディア・コンテンツ・アイテムに対する(格納されているメディア・コンテンツ・セグメントを1つ以上のネットワーク104による配信に適しているフォーマットに変換すること、メディア・コンテンツ・アイテムを特定タイプのメディア・デバイス108に対してトランスコード処理すること、そしてメディア・コンテンツ・アイテムをメディア・デバイスに送る前に任意の他のタイプにデータ変換することを含む)1つ以上の変換を実行するように、環境設定させることができる。
一実施態様の場合、サービス・プロバイダ・システム204は、ユーザ・アカウント・ベースのレコーディングの予約、メディア・デバイス108に渡るメディア・コンテンツ・アイテムへのアクセス、休止位置情報等の管理を含むユーザ・アカウントを管理するための1つ以上のコンポーネントを含む。ネットワーク予約作成モジュール304は、例えば、DVRのようなメディア・デバイス108の予約コンポーネントと同様なものとすることができる。一実施態様の場合、ネットワーク予約作成モジュール304は、各メディア・デバイスが、ユーザ・アカウントに関連付けられているさまざまなメディア・デバイス108から、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信するように、環境設定されている。例えば、ユーザは、第一メディア・デバイスを使用して、第二メディア・デバイスによる特定テレビ番組のレコーディングを予約することができる。一実施態様の場合、第一メディア・デバイスは、レコーディングのリクエストをネットワーク予約作成モジュール304に送信することができる。次いで、レコーディングの予約時刻又はそれ以前に、ネットワーク予約作成モジュール304は、テレビ番組を記録するよう第二メディア・デバイスに命令するコマンドを第二メディア・デバイスに送ることができる。一実施態様の場合、ネットワーク予約作成モジュール304は、加えて又はこれに代えて、格納及びトランスコード処理モジュール314にコマンドを送信して、リクエストされたテレビ番組をコンテンツ・ソース106から直接受信しかつ格納するようにモジュールに命令することができる。
一実施態様の場合、サービス・プロバイダ・システム204のさまざまな態様は、制御パネル302を介して環境設定させることができる。例えば、制御パネル302は、コンテンツ・プロバイダ及び/又はメディア・デバイスのユーザが、クラウド・ベースのメディア・コンテンツ管理システムに関するさまざまな設定を環境設定することを可能とする1つ以上のインターフェースを提供することができる。メディア・コンテンツ・プロバイダが環境設定することができる設定の例は、チャネル当たり又はメディア当たりのコンテンツ放送ベースでレコーディングをクラウド・ストレージ・システムに格納する能力を、ユーザに選択的に許容する又は否定すること、各ユーザが利用できるストレージ空間の量、オペレータにより提供されるメディア・コンテンツ・アイテムをクラウド・ストレージから送ることができる物理的な位置についての規制等を含む。位置規制は、例えば、オペレータによって提供されるメディア・コンテンツ・アイテムを、ユーザの家のネットワークを介して利用できるメディア・デバイス108にしか送ることができないこと、コンテンツ・プロバイダのネットワークを通じて利用できるメディア・デバイスにしか送ることができないこと、又はメディア・コンテンツ・アイテムをどこにでも送ることができること、を示すことができる。コンテンツ・プロバイダは、コンテンツ・プロバイダにより提供されるメディア・コンテンツ・アイテムが、どのくらいの期間(例えば、放送後28日間又はレコーディング後7日間)クラウド・ストレージにアクセスすることができるかを特定する制限時間を、環境設定することができる。他の環境設定は、各ユーザ・アカウントにとって可能となる並列ストリームの数、各メディア・コンテンツ・アイテムをクラウド・ストレージに格納することが可能な時間間隔、ユーザがメディア・コンテンツ・アイテムを復活させることが可能か否か、ユーザが前に放送されたコンテンツを記録することが可能であるか否か、トリック・プレーが可能であるか否か等を、含むことができる。
一実施態様の場合、制御パネル302は、更に、サービス・プロバイダ・システム204のさまざまな態様を環境設定するために、エンドユーザに対し、1つ以上のインターフェースを提供することができる。例えば、1つ以上のインターフェースを提供して、ユーザが、ユーザが利用できるクラウド・ストレージを環境設定する、ストレージ空間を追加購入する、そしてユーザ用に利用可能な多くの仮想チューナを環境設定し及び/又は購入することを可能とすることができる。制御パネル302は、更に、ユーザが、クラウド・ストレージにユーザによって現在格納されているメディア・コンテンツ・アイテムの管理、メディア・コンテンツ・アイテムをユーザに関連付けられている特定メディア・デバイスに送ることの管理、そしてユーザのアカウントの他のアスペクトを環境設定することを可能にする1つ以上のインターフェースを含むことができる。
一実施態様の場合、アップロード管理モジュール306は、メディア・デバイス108の集合からメディア・コンテンツ・アイテムのアップロードを管理するように、環境設定されている。例えば、メディア・デバイス108のユーザは、メディア・デバイスに映画のレコーディングを予約することができる。アップロード管理モジュール306は、一般に、メディア・デバイス108が特定メディア・コンテンツ・アイテムを記録しつつあるという表示を受信し、かつそれに応答して、メディア・デバイス108に、メディア・コンテンツ・アイテムの1つ以上のセグメントを格納及びトランスコード処理モジュール314にアップロードさせることができるように、環境設定させることができる。以下により詳細に説明されるように、メディア・コンテンツ・アイテムをクラウド・ストレージに格納することにより、ユーザは、各ユーザに関連付けられているメディア・デバイス108に渡って、メディア・コンテンツ・アイテムにアクセスすることができる。
一実施態様の場合、アップロード管理モジュール306は、1つ以上のデバイス・アップロード効率プロフィールを格納しかつ管理することができる。本明細書において、デバイス・アップロード効率プロフィールは、一般に、メディア・デバイス108がどのようにメディア・コンテンツ・アイテムを処理しかつサービス・プロバイダ・システム204にアップロードするかに関係するさまざまな属性及び値を指定する。以下により詳細に記載されているように、デバイス・アップロード効率プロフィールは、例えば、メディア・デバイスがどのようにメディア・コンテンツ・アイテムのセグメントを確定しそしてメディア・デバイス108が、どの程度の頻度でサービス・プロバイダ・システム204との整合性のために確定されたセグメントをチェックするかを指定することができる。メディア・デバイス108は、いくつかの異なるプロフィールを格納することができ、かつ一定の条件の発生に基づいて、現在使用されているプロフィールを変えることができる。一実施態様の場合、サービス・プロバイダ・システム204で測定される条件に応答して、アップロード管理モジュール306は、更に、新しい又は変更されたデバイス・アップロード効率プロフィールを生成しかつメディア・デバイス108に分散させることができる。
一実施態様の場合、サービス・プロバイダ・システム204は、メディア・デバイス108のユーザによってレコーディングのために選択されるメディア・コンテンツ・アイテムに関係するメタデータを含む、購読契約及びレコーディングのメタデータ308を含むことができる。例えば、このメタデータは、特定ユーザ・アカウントによってレコーディングのために選択されるメディア・コンテンツ・アイテムを識別する情報、削除のために選択されるメディア・コンテンツ・アイテム、又はメディア・デバイスの動作に関する任意の他の情報を含むことができる。購読契約及びレコーディングのメタデータ308は、更に、利用できるコンテンツ・ソース、割当られているストレージの量等を含む、特定ユーザ・アカウントに関係する購読契約を示すデータを含むことができる。
一実施態様の場合、デバイス及びアカウント提供モジュール310は、ユーザ・アカウントの作成及び管理を可能にし、かつユーザ・アカウントと1つ以上のメディア・デバイス108との関連付けを管理するように、環境設定させることができる。1つ以上のメディア・デバイス108のユーザは、サービス・プロバイダ・システム204が、異なるメディア・デバイスに渡ってユーザに関する情報を格納しかつ追跡することを可能にするユーザ・アカウントに関連付けることができる。例えば、サービス・プロバイダ・システム204は、特定コンテンツ・ソース106に対するユーザの購読契約に関する情報、ユーザ・アカウントにより記録されるメディア・コンテンツ・アイテムについてのメタデータ、ユーザ選好、ユーザ・プロフィール情報、ユーザ視聴履歴等を含む、各ユーザ・アカウントに関連する情報を格納することができる。一実施態様の場合、ユーザ・アカウントは、ユーザが、特定メディア・デバイス108を特定ユーザ・アカウントに関連付けることを可能にする認証情報(例えば、ユーザ名及びパスワード)に関連付けることが出来る。例えば、ユーザは、メディア・デバイス108にユーザ名及びパスワード又は他の認証情報を提供することによって、特定メディア・デバイス108をユーザ・アカウントに関連付けることができる。
2.4.メディア・デバイスの例
図4は、1つ以上の実施態様に従うメディア・デバイスのブロック図の一例を例示する。図4に示されるように、メディア・デバイス108は、メモリ・システム402、1つ以上のストレージ・デバイス404、中央処理ユニット(CPU)406、表示サブシステム408、オーディオ/ビデオ入力410、1つ以上の入力デバイス/チューナ412、ネットワーク・モジュール414、アップローダ・モジュール416及び/又は本明細書で記述される機能を実行するために使用される他のコンポーネントのような、多数のコンポーネントを含むことができる。一実施態様の場合、メディア・デバイス108は、DVRとすることができる。多機能メディア・デバイスは、本出願人が所有しかつ参照により本出願に完全に組み込まれている米国特許出願第12/631,740号(発明の名称「多機能マルチメディア・デバイス」)に記載されている。
一実施態様の場合、ストレージ・デバイス404は、一般に、メディア・デバイス108がアクセス可能な二次ストレージを表す。ストレージ・デバイス404は、ソリッド・ステート・ドライブ(SSD)、ハイブリッド・ハードディスク、ハードディスク等の1つ以上の任意の組合せを含むが、これらに限定されるものではない。各メディア・デバイス108は、1つ以上のストレージ・デバイス404を含むことができるが、含まなくても良い。もし、メディア・デバイス108がストレージ・デバイス404を含むと、このストレージは、記録されるメディア・コンテンツ・アイテムの全て又は一部を格納する、メディア・デバイス・チューナ412にバッファを提供する、クラウド・ストレージ・システムによって格納されているメディア・コンテンツ・アイテムの部分をプリキャッシュする等を含む、種々の目的に使用することができる。
一実施態様では、オーディオ/ビデオ入力410は、通常、外部ソースからオーディオ及び/又はビデオ入力(例えば、HDMI、DVI、Analog)を受信する機能を含むいかなるコンポーネントにも対応する。例えば、オーディオ/ビデオ入力410は、DisplayPort、又は異なるデバイスから入力を受信することができる高解像度マルチメディア・インターフェース(HDMI)とすることができる。オーディオ/ビデオ入力410は、セット・トップ・ボックス、DVR、ブルーレイ・ディスク・プレーヤ、パーソナル・コンピュータ、テレビゲーム機、オーディオ/ビデオ受信機、コンパクト・ディスク・プレーヤ、強化多用途ディスク・プレーヤ(EVD)、高解像度光ディスク、ホログラフィック多用途ディスク、レーザ・ディスク、ミニ・ディスク、ディスク・フィルム、RAMディスク、ビニル・ディスク、フロッピ・ディスク、ハード・ドライブ・ディスク等から入力を受信することができる。メディア・デバイス108は、いかなる数のオーディオ/ビデオ入力410も含むことができる。
一実施態様では、入力デバイス/チューナ412は、通常、(例えば、ケーブル、衛星、インターネット、ネットワーク、地上のアンテナ等を介して)コンテンツ・ストリームを受信することができるいかなる入力コンポーネントも表す。チューナ環境設定においては、入力デバイス/チューナ412は、(例えば、電子共鳴等を使用することにより)1つ以上の受信周波数を通過させ、他の周波数を除去することを可能にする。テレビジョン・チューナは、例えば、RFテレビジョン送信信号をデジタル・オーディオ及びビデオ信号に変換し、これを更に処理して、音及び/又は画像を生成する又はMPEG2、MPEG4等のようなデジタル信号を受取ることができる。一実施態様では、各メディア・デバイス108は、コンテンツ・ソース106からライブの又はオンデマンド・テレビジョン・コンテンツを受信するために、1つ以上のチューナ(例えば、直交振幅変調(QAM)チューナ、デジタル・ビデオ放送−ケーブル(DVB−C)チューナ、高度テレビジョン・システムズ委員会(ATSC)チューナ等)を有することができる。チューナは、物理的チューナ、又は放送コンテンツを受信するために使用される物理的なコンポーネントの抽象的な認識を表す仮想チューナとすることが出来る。
一実施態様では、ネットワーク・モジュール414は、通常、ネットワーク(例えば、インターネット、イントラネット、ワールド・ワイド・ウェブ等)によりデータを送信しかつ受信することができる任意の入力コンポーネントを表す。ネットワーク・モジュール414の例は、ネットワーク・カード、ネットワーク・アダプタ、ネットワーク・インターフェース・コントローラ(NIC)、ネットワーク・インターフェース・カード、ワイヤレス・カード、ローカル・エリア・ネットワーク・アダプタ、イーサネット・ネットワーク・カード、ネットワーク(例えば1つ以上のネットワーク104)により情報を送受信することができる任意の他のコンポーネントの何れかを含むが、これらに限定されるものではない。ネットワーク・モジュール414は、直接、他のデバイス(例えば、メディア・デバイス、コンピュータ、二次ストレージ・デバイス等)と接続するために使用することもできる。
一実施態様の場合、アップローダ・モジュール416は、メディア・デバイス108からクラウド・ストレージ(例えば、オペレータ・ヘッドエンド202、サービス・プロバイダ・システム204及び/又はクラウド・ストレージ・システム206のストレージ)へのメディア・コンテンツ・アイテムのアップロードを管理するように、環境設定されている。一実施態様において、アップローダ・モジュール416は、1つ以上のデバイス効率プロフィールを含む。デバイス効率プロフィールは、通常、1つ以上の属性、パラメータ、及びメディア・デバイス108がどのようにメディア・コンテンツ・アイテムをセグメント化しかつアップロードするかに関する他の設定を指定する情報のセットを表す。上記したように、デバイス効率プロフィールで指定することができる設定の具体例は、メディア・デバイスが各セグメントの整合性をチェックするセグメントと頻度をメディア・デバイスがどのように確定するかを含む。
一実施態様の場合、メディア・デバイス108は、特定条件の発生に応答して、デバイス効率プロフィールを切替えることができる。例えば、メディア・デバイス108は、もし、メディア・デバイスが、それがエラーを含む1つ以上のセグメントを既に受信していると決定すると、又はメディア・デバイスが、ネットワーク状態が既に変化してしまっていると決定すると、プロフィールを切替えるように、環境設定させることができる。
一実施態様において、メディア・デバイス108は、(ネットワーク帯域使用、セグメント化速度又は他の任意の統計値を含む)メディア・デバイスの動作に関する統計値を定期的に決定しかつ送信するように、環境設定させることができる。各メディア・デバイス108によって集められたデータは、サービス・プロバイダ・システム204によって送信させかつ格納させることができる。一実施態様では、サービス・プロバイダ・システム204は、メディア・コンテンツ・セグメントをアップロードする特定メディア・デバイス108を選択すると同時に、新規なデバイス効率プロフィールを変更する又は生成するために、あるいは他の任意の目的のために、統計データを使用することができる。
一実施態様では、入力は、通信で結合された任意のデバイスから、有線及び/又は無線通信セグメントによりメディア・デバイス108によって受信させることができる。メディア・デバイス108によって受信される入力は、メモリ・システム402又はストレージ・デバイス404に格納させることができる。メモリ・システム402は、データを格納するために、タイプが異なる1つ以上の物理メモリを含むことができる。例えば、メモリ・システム402の1つ以上のメモリバッファ(例えば、HDフレーム・バッファ)は、編集及び/又はフィンガープリント処理のために1つ以上の解凍されていない高解像度(HD)ビデオ・フレームをロードするストレージ容量を含むことができる。メモリ・システム402は、フレームを圧縮形態(例えば、MPEG2、MPEG4又は任意の他の適切なフォーマット)で格納することもできる。これらのフレームは、次いで、修正、フィンガプリント処理、置換、及び/又は表示のためにフレーム・バッファに解凍される。メモリ・システム302は、FLASHメモリ、DRAMメモリ、EEPROM、従来からの回転ディスク・ドライブ等を含むことができる。
一実施態様の場合、中央処理ユニット406は、メディア・デバイス108によって受信される任意の入力を使用して本明細書において記載されている機能を実行する機能性を含むことができる。例えば、中央処理ユニット406は、メモリ・システム402に格納されているメディア・コンテンツ・フレームからフィンガープリントを動的に得るために、使用することができる。中央処理ユニット406は、メディア・コンテンツに関連付けられているタグ、ハッシュ値、フィンガープリント、タイム・スタンプ又は他の適切な情報に基づいて、メディア・コンテンツ又はメディア・コンテンツの部分をマークする又は識別するように、環境設定させることができる。中央処理ユニット406は、メディア・コンテンツを修正する(例えば、ビデオ・フレームをスケール変換する等)、メディア・コンテンツを分析する、メディア・コンテンツを解凍する、メディア・コンテンツを圧縮する等に、使用することができる。フレーム・バッファに格納されているビデオ・フレーム(例えば、HDビデオ・フレーム、4Kのフレーム等)は、中央処理ユニット406によって動的に変更させて、追加コンテンツ(例えば、フレームに関する情報、プログラム情報、チャット・メッセージ、システム・メッセージ、ウェブ・コンテンツ、画像、電子番組ガイド、ビデオ・コンテンツ、テキスト・コンテンツ又は任意の他の適切なコンテンツ)をビデオ・フレームの先頭に重畳させ、ビデオ・フレームを操作し(例えば、引伸し、回転、縮小等)、又は実時間のビデオ・フレームに置換することができる。したがって、電子プログラミング・ガイド、動的に選択される広告情報、メディア・コンテンツ情報、又は任意の他のテキスト/グラフィックスを、フレーム・バッファに格納されているビデオ・フレーム上に書き込み、格納されたビデオ・フレームの上に追加コンテンツを重畳することができる。中央処理ユニット406は、メディア・デバイス108に関連付けられている任意の入力デバイス及び/又は出力デバイスとの通信を処理するために使用することができる。例えば、実時間で動的に修正されるビデオ・フレームは、その後、表示のために送信させることができる。中央処理ユニット406を使用して、他のメディア・デバイスと通信して、同期、データの公表等に関する機能を実行することができる。
一実施態様では、表示サブシステム408は、通常、実と同時に1つ以上の画像を出力する(例えば、表示へのビデオ出力(Video Out to Display) 418)及び/又は表示する機能を含む任意のソフトウェア及び/又はデバイスを表す。表示デバイスの具体例は、キオスク、携帯用デバイス、コンピュータ・スクリーン、モニタ、テレビジョン、プロジェクタ等を含む。表示デバイスは、液晶表示、陰極線管、プロジェクタ、プラズマ・スクリーン等のような異なるタイプのスクリーン又は表示技術を使用することができる。メディア・デバイス108からの出力は、特に、使用されている表示デバイスのタイプ、表示デバイスのサイズ、解像度(例えば、720i、720p、1080i、1080p又は他の適切な解像度)等に対するフォーマットに使用することができる。しかしながら、いくつかのメディア・デバイス108は、如何なる表示出力コンポーネント(例えば、基本的に、メディア・コンテンツ・アイテムを他のメディア・デバイスにストリーム配信するように、環境設定されているメディア・デバイス)も有さない。
3.0.機能の概要
図1及び図2の構成の具体例は、メディア・コンテンツ・アイテムをクラウド・ベースのコンピューティング環境に格納しかつそれにアクセスすることを可能にするメディア・コンテンツ管理システムを実装することができる。一実施態様では、このセクションにおいて記述される各プロセスは、コンピューティング・デバイスのメモリの物理状態と対話しかつそれを変換することに関係するデータ読出し、変換及び格納動作を実行する一方で、1つ以上のコンピュータ・プログラム、他のソフトウェア要素及び/又は汎用コンピューティング・デバイス又はコンピューティング・デバイスの任意の組合せのデジタル・ロジックを用いて、実装することができる。いくつかの実施態様では、メディア・コンテンツ・アイテムを受信し、再生し、記録し及び/又は格納することができるメディア・デバイス(例えば、DVR、セット・トップ・ボックス、パーソナル・コンピュータ、モバイル・デバイス等)と、メディア・コンテンツ・アイテムへのユーザ・アクセスを管理するクラウド・ベースのメディア・コンテンツ管理システムとを備えるシステムが、これらのプロセスを実装する。他の実施態様では、これらのプロセスは、1つ以上のサーバのみにより、又は単一のクライアントコンピューティング・デバイスのみにより実装される。このようなシステムの例は、前述のセクションに記載されている。
一実施態様では、クラウド・ベースのメディア・コンテンツ管理システムは、メディア・デバイスの集合によるメディア・コンテンツ・アイテムの格納及びアクセスを中央で管理するように、環境設定されている。メディア・コンテンツ・アイテムの格納を管理することは、通常、例えば、クラウド・ベースのチューナを使用して、選択されたメディア・コンテンツ・アイテムのコピーを記録すること及び/又はメディア・デバイスの集合からのメディア・コンテンツのアップロードを調整すること、及び続く再生を可能にする態様でアップロードされたメディア・コンテンツ・アイテムを格納することを含むことができる。メディア・コンテンツ・アイテムへのアクセスを管理することは、例えば、ユーザ・アカウント・ベースでクラウド・ストレージに格納されているメディア・コンテンツ・アイテムへのアクセスを制限すること、メディア・デバイスが当初受信したメディア・コンテンツ・アイテムのバージョンに近いメディア・コンテンツ・アイテムのコピーへのアクセスを提供すること、及び以前に記録されたコンテンツへのアクセスを失わずにメディア・デバイスのアップグレード及び差し替えを可能にすることを含む。クラウド・ベースのメディア・コンテンツ管理システムのこれらのそしてまた他の特徴及びサービスは、以下のセクションに記述される。
一実施態様の場合、クラウド・ベースのメディア・コンテンツ管理システムによって格納されるメディア・コンテンツ・アイテムは、メディア・コンテンツ・アイテムが最初に受信するメディア・デバイスの集合から、アップロードさせることができる。例えば、もし、いくつかのメディア・デバイスが、各々、特定テレビ番組を記録すると、メディア・デバイスの各々は、テレビ番組のコピーを記録しそしてこれらのデバイスが、続くアクセスのためにこのコピーをクラウド・ストレージに共同してアップロードすることができる。メディア・デバイスの集合からメディア・コンテンツ・アイテムをアップロードすることを管理することは、個々のメディア・デバイスからアップロードされるデータ量を減らし、かつ、更に、クラウド・ベースのメディア・コンテンツ管理システムによって格納されるデータ量を減少させる技術を使用することにより、大きく改善させることができる。個々のメディア・デバイスからアップロードされるデータ量を減らすことによって、ユーザ体験は、各メディア・デバイスが利用できるバンド幅をより少なくすることによって改善され、これにより、ユーザの何れかのメディア・デバイスで、記録されたメディア・コンテンツにクラウド・ストレージからアクセスすることができる効率が上昇する。
3.1.分散されたメディア・デバイスのアップロード
一実施態様では、種々のメディア・デバイスで記録されたメディア・コンテンツ・アイテムをクラウド・ストレージに提供するために、メディア・デバイスは、メディア・デバイスによって記録されたメディア・コンテンツ・アイテムの完全なコピーを、クラウド・ベースのメディア・コンテンツ管理システムにアップロードすることができる。しかしながら、メディア・デバイス及びメディア・コンテンツ管理システムの両者のストレージ空間及び帯域幅に制約があることは、記録される各メディア・コンテンツ・アイテムの別個のコピーをアップロードしかつ格納することに、多くのチャレンジを提示する。したがって、通常、各メディア・デバイスの其々によってアップロードされるデータの量を減少させ、かつクラウド・ベースのメディア・コンテンツ管理システムに格納されるデータの量を減少させることは、望ましい。
一実施態様では、メディア・デバイスのアップロード及びクラウド・ストレージ空間の要求を減少させるために、メディア・デバイスの集合は、各々、分散された態様で、メディア・デバイスで記録されたメディア・コンテンツ・アイテムの一部のみをメディア・コンテンツ管理システムにアップロードすることができる。例えば、特定メディア・コンテンツ・アイテムのレコーディングを予約する各メディア・デバイスは、このメディア・コンテンツ・アイテムの選択された1つ以上のセグメントをアップロードすることができる。一実施態様では、以下により詳細に記述されるように、中央メディア・コンテンツ管理システムは、メディア・デバイスの集合からメディア・コンテンツ・アイテムの分散されたアップロードを調整することができ、その結果、各メディア・デバイスが完全なメディア・コンテンツ・アイテムのコピーを別個にアップロードすること無く、メディア・コンテンツ・アイテムの完全なコピーが、受信されかつ格納される。
図5は、メディア・デバイスが、一実施態様に従って、分散された環境でメディア・コンテンツ・アイテムをアップロードすることを管理するための具体例のフロー500を示す。フロー500の種々の要素は、上述したシステム100及びシステム200のようなシステムを含む様々なシステムで実行させることができる。一実施態様では、以下に記述される機能ブロックに関連して記述される各プロセスは、コンピュータのメモリの物理状態と対話しかつそれを変換することに関するデータ読出し、変換及び格納動作を実行して、1つ以上のコンピュータ・プログラム、他のソフトウェア要素及び/又は汎用コンピュータ又は専用コンピュータの何れかのデジタル・ロジックを使用して実装させることができる。
ブロック502で、メディア・デバイスは、メディア・コンテンツ・アイテムを受信する。例えば、メディア・コンテンツ・アイテムは、テレビ番組、映画、オンデマンドのコンテンツ、又はメディア・デバイスのユーザによりレコーディング又は視聴のために選択される任意の他のメディア・コンテンツを含むことができる。メディア・デバイスは、電子番組ガイド(EPG)、VODライブラリ、サードパーティのビデオ・ライブラリ又は利用可能なメディア・コンテンツの他のリストからのメディア・コンテンツ・アイテムをユーザが選択することに応答して、メディア・コンテンツ・アイテムに同調することができる。
一実施態様の場合、メディア・デバイスは、メディア・コンテンツ・アイテムを記録するコマンドを受信することに応答して、メディア・コンテンツ・アイテムに同調することができる。メディア・コンテンツ・アイテムを記録するコマンドは、最初、メディア・デバイスで、又は同じユーザ・アカウントに関連付けられている他のメディア・デバイスで、受信させることができる。例えば、ユーザは、メディア・コンテンツ・アイテムを第二メディア・デバイス(例えば、DVR)に記録することをリクエストする入力を、第一メディア・デバイス(例えば、スマートフォン)に提供することができる。この入力に応答して、第一メディア・デバイスは、レコーディングを予約するコマンドを、サービス・プロバイダ・システム204のネットワーク予約作成モジュール304に、又は、直接、第二メディア・デバイスに送信することができる。次いで、第二メディア・デバイスは、ネットワーク予約作成モジュール304から受信されるコマンド、又は他のメディア・デバイスから直接に受信されるコマンドに応答して、又は、内部コマンドに基づいて、予約されたレコーディング時刻にメディア・コンテンツに同調することができる。一実施態様の場合、メディア・コンテンツ・アイテムを記録するコマンドは、予約されたレコーディングのリストを含むレコーディング予約の一部として受信させることができる。メディア・コンテンツ・アイテムを記録するコマンドは、一般に、メディア・コンテンツ・アイテムの放送の前又は放送中の任意の時に受信することができる。
一実施態様の場合、メディア・デバイスは、チューナ412又はメディア・デバイスのネットワーク・モジュール416を使用して、特定メディア・コンテンツ・アイテムに同調する。例えば、チューナ412は、オペレータ・ヘッドエンド202を介してコンテンツ・ソース106からコンテンツを受信するように、環境設定させることができる。別の例として、もし、メディア・コンテンツ・アイテムがOTTコンテンツを含むと、メディア・デバイスのネットワーク・モジュール416は、1つ以上のネットワーク(例えば、ネットワーク104)を介してメディア・コンテンツにアクセスすることができる。もし、メディア・デバイスが、コンテンツ・ソース106からのメディア・コンテンツにアクセスすることが許可されていると(例えば、ユーザが、ケーブル・オペレーた又はインターネット・ベースのコンテンツ・ソースと購読契約を結んでいると言う理由により、メディア・デバイスが、地理的位置又はサービス・プロバイダ等に基づいてコンテンツ・ソースを受信する能力を有している場合)、メディア・デバイスのチューナ412/ネットワーク・モジュール416は、メディア・コンテンツ・アイテムを、メディア・デバイスによる更なる処理のためのコンテンツ・ストリームとして受信する。このように、選択されたメディア・コンテンツ・アイテムに同調しかつ受信することによって、メディア・デバイスは、メディア・デバイスに関連付けられているユーザ・アカウントが、メディア・コンテンツにアクセスする許可を有していることを確認することができる。
ブロック504で、メディア・デバイスは、メディア・コンテンツ・アイテムの範囲内でセグメントの境界を識別する。本明細書において、メディア・コンテンツ・アイテムのセグメントとは、一般に、メディア・コンテンツ・アイテムの確定された部分を意味し、この部分は、特定の長さの時間にまたがることができ、特定データ量を備え、又はこれに代えてメディア・コンテンツ・アイテム全体の一部を表すデータ要素の確定した集合を備える。一般に、各セグメントは、セグメントの始めと終わりを確定するセグメント境界によって、確定することができる。セグメント境界は、例えば、メディア・コンテンツ・アイテムの範囲内の特定フレームによって、メディア・コンテンツ・アイテムに関連付けられているタイミング情報によって、メディア・コンテンツに関連付けられているデータ要素によって、又は以下に詳細に記載されるメディア・コンテンツ・アイテムの任意の他の属性に基づいて、確定することができる。
上述したように、クラウド・ベースのメディア・コンテンツ管理システムは、メディア・デバイス108の集合から、メディア・コンテンツ・アイテムの個々のセグメント(個々のセグメントは、集合内の多分異なるメディア・デバイスからアップロードされる)の分散されたアップロードとして、メディア・コンテンツ・アイテムを受信することができる。例えば、もし、2つ以上の別個のメディア・デバイスが、各々、同じテレビ番組のレコーディングを予約したとすると、メディア・デバイスの各々は、テレビ番組の1つ以上のセグメントをアップロードする(又はアップロードしない)。ここで、アップロードされたセグメントは、共同してテレビ番組の全体のコピーを形成する。いくつかのメディア・デバイスは、同じメディア・コンテンツ・アイテムを記録する他のメディア・デバイスより、より多くのセグメントをアップロードすることができる。例えば、あるメディア・デバイスが、他のメディア・デバイスに比較してより大きいアップロード・バンド幅を有する、このあるメディア・デバイスがより高品質の信号を受信しつつある、又は他のメディア・デバイスに対してこのあるメディア・デバイスから優先してアップロードすることができる他の要因を有する、と決定することができる。
特定メディア・コンテンツ・アイテムの各セグメントが、メディア・デバイスの集合内の任意のメディア・デバイスからアップロードさせることができるので、クラウド・ストレージ・システムが、メディア・コンテンツ・アイテムの完全なコピーを最終的に受信することができるように、集合内の各メディア・デバイスがどのようにメディア・コンテンツ・アイテムをセグメント化するかを確定するセグメント化ルールを、メディア・デバイスの集合に対して確定することができる。さらにまた、特定セグメント化方式に応じて、さまざまな技術を用いて、メディア・コンテンツ・アイテムのセグメント化をメディア・デバイスの集合に「同期」させることができる。
メディア・デバイスの集合に対するセグメント化ルールの1つの例では、各メディア・デバイスは、デバイスによって受信されるメディア・コンテンツ・アイテムを、共通クロックに基づいてセグメント化することができる。例えば、各メディア・デバイスは、共通クロックに従って特定時間スパンに基づいて(例えば、6秒ごとに)メディア・コンテンツ・アイテムのセグメントを確定するように、環境設定させることができる。従って、もし、特定メディア・コンテンツ・アイテムについて、05:00から06:00までの放送が予約されたとすると、第一セグメントは、05:00:00と05:00:06の間に放送されるコンテンツの部分を含むことができ、第二セグメントが、05:00:12の間に放送されるコンテンツの部分、等々を含むことができる。しかしながら、さまざまな地理的な位置に渡るメディア・コンテンツ・アイテムの放送における時間の相違は、例え、それが軽微であったとしても、共通クロックを使用しているメディア・デバイスの集合に渡る一貫したセグメント化を妨げる不正確さの原因になり得る。
一実施態様の場合、メディア・デバイスの集合内の各メディア・デバイスは、如何なる特定クロックにも関係していない時間間隔に基づいて、メディア・コンテンツ・アイテムをセグメント化するように、環境設定させることができる。例えば、集合内の各メディア・デバイスは、メディア・コンテンツ・アイテムの範囲内の各セグメントを、10秒のコンテンツとして識別するように、環境設定させることができる。しかしながら、メディア・デバイスは、各10秒セグメントの計数を必ずしも同じ開始位置から始めることができないので、集合からの任意の2つの特定メディア・デバイスは、同じメディア・コンテンツ・アイテムに対して同じセグメントを生成することもできるが、できないこともある。次いで、メディア・デバイスの集合は、例えば、各グループが、同じ境界でメディア・コンテンツ・アイテムに対してセグメントを定めているデバイスを含む、多くのグループに動的に分類させることができる。
一実施態様の場合、集合内の各メディア・デバイスは、時間間隔に基づいてメディア・コンテンツ・アイテムをセグメント化するように、環境設定されていて、そして各メディア・デバイスのセグメント化は、中央メディア・コンテンツ管理システムによって同期させることができる。例えば、各メディア・デバイスは、最初、指定された時間(例えば、10秒)に基づいて1つ以上のセグメントの境界を確定することができる。後に詳しく述べるように、メディア・デバイスは、最初に確定したセグメントに対する1つ以上のセグメント識別値をメディア・コンテンツ管理システムに送信することができる。このセグメント識別値に基づいて、メディア・コンテンツ管理システムは、メディア・デバイスにデータを送信して、メディア・デバイスがセグメント化を同期させることを可能にする。例えば、もし、特定メディア・デバイスが、他のメディア・デバイスと同期が1秒ずれてセグメントを定めていると決定されたとすると、データは、セグメント境界が同期するように、1つの9秒のセグメントを定め、次いで、10秒のセグメントを確定することを再開するよう、この特定メディア・デバイスに命令することができる。
メディア・デバイスの集合がセグメント化を同期させることを支援するメディア・コンテンツ管理システムの他の例では、メディア・コンテンツ管理システムは、メディア・デバイス・セグメント識別値を受信することによって、可能性がある多くのセグメント境界に基づいてメディア・デバイスを同期させることができる。セグメント識別値に基づいて、メディア・コンテンツ管理システムは、可能性があるセグメント境界のセットからセグメント境界の1つのインスタンスを使用するようメディア・デバイスに命令するデータを送信することができる。例えば、もし、メディア・デバイスが、10秒に基づいてセグメント境界を識別するように、環境設定されているとすると、このメディア・デバイスは、メディア・コンテンツ・アイテムの範囲内で重なっている多くの10秒のスパンに対しセグメント識別値(例えば、ハッシュ値、チェックサム等)を生成することができる。メディア・デバイスは、スパンの各々に対しセグメント識別値を生成し、このセグメント識別値をメディア・コンテンツ管理システムに送信し、そしてメディア・コンテンツ管理システムは、(例えば、どのセグメントが、他のメディア・デバイスによって使用されているセグメント境界に対応するかに基づいて)メディア・デバイスが使用するセグメントの1つを選択することができる。次で、メディア・デバイスは、メディア・コンテンツ管理システムから命令を受信して、選択されたセグメント境界を使用し、かつ選択された境界に基づいて追加セグメントを生成することができる。
別の例では、メディア・デバイスの集合は、中央メディア・コンテンツ管理システムと連携することなく、デバイス間のセグメント識別を、協力して、同期させることができる。例えば、集合内の各メディア・デバイスは、メディア・コンテンツ・アイテムの1つ以上のセグメントを識別し、これらのセグメントに対しセグメント識別値を生成し、そしてこれらのセグメント識別値を、同じメディア・コンテンツ・アイテムを受信する1つ以上の他のメディア・デバイスに送信することができる。これらのセグメント識別値に基づいて、メディア・デバイスは、共同して、他のセグメントの識別の基礎となる特定境界を決定することができる。例えば、メディア・デバイスは、最も多くのメディア・デバイスによって生成された、又は任意の他の選択基準に基づいて生成されたセグメント境界を選択することができる。
別の例では、メディア・デバイスの集合は、メディア・コンテンツの各セグメントを、メディア・コンテンツ・アイテムの範囲内のフレームの1つ以上の特定集合として確定すると言う、予め定められているセグメント化ルールに基づいて、環境設定させることができる。一実施態様の場合、フレームの各集合は、オーディオ及びビデオ・フォーマッティングのためのMPEG規格に基づかせることもできる。例えば、セグメントは、メディア・コンテンツ・アイテムに含まれる1つ以上の「画像のグループ」(GOP)として、確定することができる。MPEG−4標準の文脈では、例えば、GOPは、一般に、ビデオストリームの範囲内の一群の連続したフレーム(メディア・コンテンツ・アイテムの各フレームは、1つのGOPに含まれる)を意味する。メディア・コンテンツ・アイテムに含まれているメタデータは、特定メディア・コンテンツ・アイテムに対してGOP境界を確定することができる。
セグメント化ルールの他の例では、各セグメントは、メディア・コンテンツ・アイテムに含まれているタイミング・メタデータ情報に基づいて、確定することができる。例えば、MPEG標準に基づいてコード化されているメディア・コンテンツ・アイテムは、通常、メディア・コンテンツ・ストリームの部分に対する全体のクロック・リファレンスを示す提示タイム・スタンプ(PTS)値を含む。メディア・コンテンツ・アイテムは、従って、メディア・コンテンツ・アイテムの範囲内の提示タイム・スタンプ(PTS)値の範囲(例えば、PTS値1000のスパンごと)に基づいてセグメント化させることができる。他の同様な例では、メディア・コンテンツ・アイテムは、プログラム・クロック・リファレンス(PCR)値(この値は、通常、メディア・コンテンツ・アイテムに含まれている他のタイミング・メタデータ・フィールドを表す)の範囲に基づいてセグメント化させることができる。さらに別の例では、セグメント化ルールは、メディア・コンテンツ・アイテムに関連付けられている二種類以上の要素の組合せに基づかせることができる。例えば、各セグメントは、PTS値の指定されたスパンを超えない多くのGOPとして、確定することができる。
一般に、メディア・デバイスは、メディア・コンテンツ・ストリームがメディア・デバイスによって受信されると同時に、メディア・コンテンツ・アイテムの範囲内のセグメント境界をシーケンシャルに識別することができる。例えば、もし、セグメント化ルールが、PTS値の1000の範囲に基づいて各セグメントを確定したとすると、メディア・デバイスは、メディア・コンテンツ・アイテムの範囲内の第一セグメントの境界を、0と999の間のPTS値に関連付けられているメディア・コンテンツの部分として、1000と1999の間のPTS値に関連付けられている部分によって定められる第二セグメント、等々と識別することができる。セグメント境界は、メディア・コンテンツ・アイテムが受信されると同時に、リアルタイムで、又はメディア・デバイスが、メディア・コンテンツ・アイテムのいくつか又は全てを受信した後の時刻に識別させることができる。他の例では、メディア・デバイスは、1つ以上のセグメントを確定するメディア・コンテンツの特定部分を選択して、メディア・コンテンツ・アイテムの順序に従わずに、セグメント境界を識別することができる。
一実施態様の場合、メディア・デバイスの集合内の各メディア・デバイスによって定められるセグメントのサイズ及び/又は時間間隔は、集合全体に渡って不変でも良いし可変であっても良い。例えば、各メディア・デバイスは、(他の属性の中で、とりわけ、各特定メディア・デバイスがどのようにセグメント境界を識別するかを確定する)1つ以上のデバイス効率プロフィールを含むことができる。例えば、メディア・デバイスは、特定メディア・デバイスに関連付けられている1つの特定デバイスの効率プロフィールに基づいて、持続期間の3秒ごとにセグメントを生成するように、環境設定させることができ、他方、異なるデバイス効率プロフィールに関連付けられている他のメディア・デバイスは、持続期間の6秒ごとにセグメントを生成するように、環境設定させることができる。アップロード管理モジュール306又はサービス・プロバイダ・システム204の他のコンポーネントは、異なるサイズのセグメントを、格納のためにメディア・コンテンツ・アイテムの完全コピーにアセンブルするように、環境設定されているロジックを、含むことができる。
ブロック506で、メディア・デバイスは、確定されたセグメントを識別する1つ以上の値(本明細書において、セグメント識別値とも呼ばれる)を生成することができる。一般に、セグメント識別値は、他のセグメントに関連付けられているセグメントを識別するのに役立つ任意の値とすることができる。例えば、一実施態様の場合、セグメント識別値は、セグメントを他のセグメントと比較する、つまり、「同一性」の判断(2つのセグメントの同一性は、これらのセグメントが、メディア・コンテンツ・アイテムの部分と同じもの、又は実質的に同じものを表すか否かに対応する)のために使用することができる。以下に更に詳細に記載されるように、クラウド・ベースのメディア・コンテンツ管理システムの1つ以上のコンポーネントは、例えば、システムが、既に、他のメディア・デバイスから同じセグメントのコピーを受信しているか否か、そして特定セグメントをクラウド・ストレージ・システムにアップロードすべきか否か、メディア・デバイスに命令すべきか否かを決定するために、セグメント識別値を使用して、セグメントを比較することができる。
一実施態様の場合、セグメント識別値は、セグメントを備えているデータの一部分又は全てに基づいてハッシュ値を含むことができる。このような値を生成するために、メディア・デバイスによって使用されるハッシュ関数は、一般に、セグメントを備えるデータの全体又は一部を固定サイズ値にマッピングする任意の関数とすることができる。例えば、ハッシュ関数は、メディア・データ(例えば、ビデオ及びオーディオ・データ)及びセグメントに関連付けられている任意のメタデータ(例えば、クローズド・キャプション・データ、タイミング情報等)を含むセグメントを備えるデータの全てに適用させて、セグメント識別値を生成することができる。一般に、元のデータが、2つの異なるメディア・デバイスによって確定された2つのセグメントに対し、同じであると仮定すると、これらのセグメントは同じハッシュ値にマッピングされる一方で、2つの異なるセグメントは異なるハッシュ値にマッピングされる。この特性は、(例えば、メディア・コンテンツ管理システム102が)セグメントの完全なデータ・コンテンツの代わりに、セグメントに対して生成されるハッシュ値のみを比較することによって、2つの別個に確定されたセグメントが同じセグメントを表すか否かを決定するために、使用することができ、これにより、このような比較の速度が向上する。更に、セグメントを備えるデータの全てからハッシュ値を生成することによって、2つのセグメントの間の如何なる相違も検出することができる。その理由は、(例えば、これらのセグメントがメディア・コンテンツ・アイテムの異なる部分を表す、又はこれらのセグメントの1つが「グリッチ」又は他のデータ破壊を含むことから)このような如何なる相違も、結果として異なるハッシュ値をもたらすからである。特定の実装に応じて、このレベルの比較は、必要でもあるし不必要であるかもしれない。
一実施態様では、セグメントを備える完全なデータからセグメント識別値を生成することなく、セグメント・データの一部しか使用しない。例えば、メディア・デバイスは、セグメントに関連付けられているオーディオ・トラック又はクローズド・キャプション・トラックからのデータのみに基づいて、ハッシュ値を生成することができる。別の例では、メディア・デバイスは、セグメントを備える一部のデータに基づいて、セグメント識別値(しかし、これはセグメントの時間スパン全体に渡っている)を生成することができる。例えば、セグメント識別値は、セグメント全体に渡っているMPEGフレームのセットに対する離散余弦変換(DCT)係数に基づかせることもできる。一般に、セグメントを備える一部のデータのみからセグメント識別値を生成することは、セグメントの完全なデータを使用するより、計算コストを安価にすることができるが、ハッシュ値の生成に一部のデータしか使用しないので、このセグメント・データの他の部分におけるこのセグメントと他のセグメントとの相違は、検知することはできない。
別の例では、メディア・デバイスは、特定セグメントに由来するデータの1つ以上のシリーズを連結することによって、特定セグメントに対してセグメント識別値を生成することができる。例えば、セグメント識別値は、セグメントに関連付けられているPCR、PTS又は他のメタデータ値のシリーズを連結することによって、生成させることができる。さらに別の例では、ハッシュ関数は、セグメントに由来するデータ・シリーズに適用させることができる。セグメント識別値を生成するために使用することができるデータの他の例は、帯域内データ、サービス情報(SI)及び/又は事象情報テーブル(EIT)を含むことができる。
一実施態様の場合、セグメント識別値は、セグメントの視覚フィンガープリント及び/又はオーディオ・フィンガープリントを含むことができる。一般に、視覚フィンガープリントを生成することは、特定セグメントに含まれるビデオ・データからレンダリングされる1つ以上のフレームに基づいて、値を生成することを必要とする。同様に、オーディオ・フィンガープリントを生成することは、オーディオ・データに基づいて値を生成することを含むことができる。メディア・コンテンツ・アイテムを識別するフィンガープリントの使用は、本出願人が所有しかつ参照によって本出願に完全に組み込まれている、米国特許第8,417,096号明細書(発明の名称「メディア・コンテンツ・フィンガープリントに基づいて再生位置を決定する方法及び装置」)に記述されている。メディア・コンテンツ・アイテムを識別する帯域内データの使用は、本出願人が所有しかつ参照によって本出願に完全に組み込まれている、米国特許第7,873,982号明細書(発明の名称「カスタマイズされたマルチメディア・セグメント・コンテンツを生成しかつ視聴する方法及び装置」)に記述されている。
一実施態様では、セグメント識別値を生成することに加えて、メディア・デバイスは、可能性があるデータ破壊を識別するために、セグメントに1つ以上のエラー検査を実行することができる。もし、メディア・デバイスが、セグメントが1つ以上のデータ破壊を示すことを検出したとすると、例えば、メディア・デバイスは、メディア・コンテンツ管理システムにエラーを報告し、メディア・デバイスがクラウド・ストレージに特定セグメントをアップロードすべきか否かを、システムが決定することを支援することができる。エラー検査の1つの具体例は、PCR及び/又はPTS値により、セグメントに関係付けられているメタデータ値の不連続又は他のエラーを検出することを含むことができる。一般に、PCR及びPTS値は、セグメントについて時間と共に単調に増大し、かつメディア・デバイスがPCR又はPTS値の減少するパターンを検出すると、メディア・デバイスはセグメントにフラグを立てることができる。
ブロック508で、メディア・デバイスは、メディア・コンテンツ管理システムに1つ以上のセグメント識別値を送信する。例えば、メディア・デバイス108のアップローダ・モジュール416は、1つ以上のネットワーク104を介して、メディア・デバイスによって確定されたセグメントに対するセグメント識別値を、サービス・プロバイダ・システム204に送信することができる。メディア・デバイス108は、各生成されたセグメント識別値を個々に送信することができるし、又は多数のセグメントに対応するセグメント識別値の集められた群を、共に送信することもできる。メディア・デバイス108は、他のデータとは別個のセグメント識別値を送信することもできるし、又はセグメント識別値は、値が導出されたメディア・コンテンツの一部を含む、メディア・コンテンツ管理システムに送信される他のデータに、含ませることもできる。
一実施態様では、セグメント識別値を個別に又はグループで送信する代わりに、メディア・デバイスは、多数のセグメント識別値から導出される1つ以上の値を送信することができる。例えば、メディア・デバイスは、完全なメディア・コンテンツ・アイテムを受信し、メディア・コンテンツ・アイテムに対して確定されたセグメントの一部もしくは全部に対するセグメント識別値を生成し、そしてこのセグメント識別値から導出されるチェックサム値又は他の値をメディア・コンテンツ管理システムに送信することができる。メディア・コンテンツ管理システムは、次いで、チェックサム値を使用して、メディア・コンテンツ・アイテムがコンテンツ管理システムによって既に格納されているコンテンツと同じであるか否かを決定することができる。一群のセグメント識別値ではなく単一のチェックサム値を送信することは、各デバイスからアップロードされるデータの量を、更に、減少させることができる。
種々の要因に応じて、メディア・デバイスは、メディア・デバイスによって確定された各セグメントに対し、又は確定された全てのセグメントより少ない数のセグメントに対し、セグメント識別値を送信するように、環境設定させることができる。一実施態様において、メディア・デバイスは、1つ以上のデバイス効率プロフィールに基づいて、いつ及び/又はどの程度の頻度でセグメント識別値を送信するかについて決定することができる。例えば、1つのメディア・デバイスに対するデバイス効率プロフィールは、特定メディア・コンテンツ・アイテムの最初のN個の確定されたセグメントに対するセグメント識別値を送信するよう、メディア・デバイスに命令することができる。もし、メディア・デバイスが、以前に確定されたいくつかのセグメントには、アップロードのリクエストがなされていないとの表示を受信したとすると、プロフィールは、更に、1つ置きに確定されたセグメントのみにセグメント識別値を送信するよう、メディア・デバイスに命令することができる。例えば、もし、特定メディア・デバイスが、メディア・コンテンツ・アイテムの最初の100個のセグメントに対するセグメント識別値を、メディア・コンテンツ管理システムに送信し、かつメディア・コンテンツ管理システムが、以前にこれらのセグメントを既に格納しているとの(例えば、おそらく他のメディア・デバイスが同じメディア・コンテンツ・アイテムを以前にアップロードしたことを示す)表示を受信したとすると、メディア・デバイスは、デバイス効率プロフィールに基づいて、1つ置きのセグメントのみ、2つ置きのセグメンのみ、等々に対しセグメント識別値を生成し及び/又は送信することを開始することができる。
ブロック510で、メディア・コンテンツ管理システムに1つ以上のセグメント識別値を送信することに応答して、メディア・デバイスは、1つ以上の識別されたセグメントの1つ以上の特定セグメントをアップロードすべきか否かを示すデータを、メディア・コンテンツ管理システムから受信することができる。例えば、このデータは、通常、メディア・デバイスが特定セグメントをアップロードする、又は特定セグメントをアップロードするようメディア・デバイスに命令する、ための基準を含むアップロード・ポリシー情報を表すことができる。図6を参照してより詳細に記述されるように、メディア・コンテンツ管理システムは、システムが、同じセグメントを既に格納しているか否か、又は、現在、他のメディア・デバイスから同じセグメントの充分な数のコピーを受信しつつあるかに応じて、又は他の要因に基づいて、コマンドを生成することができる。
ブロック512で、メディア・デバイスは、1つ以上の確定されたセグメントをアップロードすべきか否かを決定する。例えば、メディア・デバイスは、メディア・コンテンツ管理システムから受信されるコマンドに基づいて、1つ以上のセグメントをアップロードすると決定することができる。このコマンドがセグメントをアップロードするようメディア・デバイスに命令すると、ブロック514で、メディア・デバイスは、セグメントをメディア・コンテンツ管理システム102に関連付けられているクラウド・ストレージ・システムに送信する。例えば、メディア・デバイスは、サービス・プロバイダ・システム204のストレージ及びトランスコード処理モジュール214に、又はオペレータ・ヘッドエンド202の別個のクラウド・ストレージ・システム206及び/又はストレージに、直接セグメント・データをアップロードすることができる。もし、このコマンドが、(例えば、同じセグメントの充分な数のコピーが、クラウド・ストレージの中に既に存在していると言う理由で)セグメントをアップロードしないようメディア・デバイスに命令したとすると、フロー500は、ブロック504へ進み、かつもし、任意のセグメントが残っていたとすると、メディア・デバイスは、メディア・コンテンツ・アイテムの他のセグメントを確定することができる。一実施態様では、メディア・デバイス108はメディア・コンテンツ・アイテムの終端まで、又はユーザが手動でレコーディングを終えるまで、フロー400のプロセスを続けることができる。
一実施態様では、メディア・デバイスは、メディア・デバイスがセグメントを受信し及び/又は確定した順序とは異なる順序で、メディア・コンテンツ・アイテムの1つ以上のセグメントをアップロードすることができる。例えば、上述したフロー500で、メディア・デバイスは、メディア・コンテンツ・アイテムを受信すると同時に、セグメント境界を順次識別することができる。しかしながら、メディア・デバイスが、セグメントを順次には、識別もアップロードもしないことがある。例えば、同じセグメントが、現在、1つ以上の他のメディア・デバイスによってアップロードされつつあるという理由で、サービス・プロバイダ・システム204が、最初は、特定セグメントをアップロードしないよう特定メディア・デバイスに命令することがある。しかしながら、サービス・プロバイダ・システム204は、続いて、他のメディア・デバイスから受信されたセグメントのコピーが、1つ以上の破壊を含むと決定することがある。これに応答して、サービス・プロバイダ・システム204は、セグメントのアップロードを後にするよう、特定メディア・デバイスにリクエストすることができる。このようにして、最初にアップロードされるセグメントに1つ以上の破壊が検出される場合であっても、サービス・プロバイダ・システム204は、メディア・コンテンツ・アイテムが完全でかつ破壊していないコピーを受信することができる。
一実施態様では、メディア・デバイスは、「アクティブ」又は「パッシブ」モードの何れかで、メディア・コンテンツ・アイテムの1つ以上のセグメントを識別しかつおそらくそれらをアップロードするように、環境設定させることができる。一般に、メディア・デバイスは、メディア・コンテンツがメディア・デバイスによって受信されると同時にメディア・コンテンツを処理することにより、アクティブ・モードでセグメントを識別しかつアップロードすることができる。例えば、ライブのテレビジョン・フィードを受信するメディア・デバイスは、メディア・デバイスがテレビジョン・フィードを受信しつつあると同時に、セグメントを確定し、かつサービス・プロバイダ・システム204によって指示されたセグメントを、アップロードすることができる。他の具体例では、メディア・コンテンツが受信された後に、メディア・デバイスが、メディア・コンテンツ・セグメントを確定しかつおそらく、アップロードするようにして、メディア・デバイスは、パッシブ・モードで、セグメントを確定しかつアップロードすることができる。例えば、メディア・デバイスは、特定メディア・コンテンツ・アイテム全部を受信しかつ記録し、その後に、セグメントを確定することができる。
一実施態様では、サービス・プロバイダ・システム204は、集められたデバイスの実行効率データに基づいて、アクティブ又はパッシブ・モードで作動するよう特定メディア・デバイスに命令することができる。例えば、もし、サービス・プロバイダ・システム204が、特定メディア・デバイスが、相対的に遅いネットワーク・アップロード速度を、有する又は現在経験していると決定すると、このシステムは、パッシブ・モードで作動するようメディア・デバイスに命令することができる。反対に、特に強いネットワーク・アップロード速度を示すと決定されたメディア・デバイスには、アクティブ・モードで作動するよう命令することができる。一実施態様では、サービス・プロバイダ・システムから命令を受信する代わりに、メディア・デバイスは、メディア・デバイスに格納されているデバイス・プロフィール情報に基づいて、アクティブ・モード又はパッシブ・モードの何れで作動すべきかを決定することができる。例えば、デバイス・プロフィールは、メディア・デバイスが、現在のネットワーク又はメディア・デバイスに関連付けられている他の動作条件に応じて、アクティブ・モード又はパッシブ・モードの何れで作動すべきかを示すことができる。
図5によって示されるプロセスの具体例では、メディア・デバイスは、通常、サービス・プロバイダ・システムから受信された命令(この命令は、メディア・デバイスによって生成されかつサービス・プロバイダ・システムに送信されるセグメント識別値に基づいている)に基づいて、1つ以上のセグメントをアップロードすべきか否かを決定する。他の実施態様では、メディア・デバイスは、サービス・プロバイダ・システムと対話することができる又は対話することができない1つ以上の他のプロセスに基づいて、メディア・コンテンツ・アイテムの特定セグメントをアップロードすべきか否かを決定することができる。
一実施態様では、メディア・デバイスは、セグメント識別値を生成せず及び/又はそれをサービス・プロバイダ・システムに送信せずに、メディア・コンテンツ・アイテムの特定セグメントをアップロードすべきか否かを決定することができる。例えば、メディア・コンテンツ管理システムは、メディア・デバイスの集合内の1つ以上のメディア・デバイスが、各々、同じメディア・コンテンツ・アイテムを記録しつつあると決定し、かつメディア・コンテンツ・アイテムをアップロードする命令をメディア・デバイスの各々に送信することができる。これらの命令は、メディア・コンテンツ・アイテムの一部をアップロードする1つ以上のメディア・デバイスを割当てることができる。例えば、第一メディア・デバイスが、最初の10個のセグメントをアップロードする命令を受信し、第二メディア・デバイスが、次の10個のセグメントをアップロードする別個の命令を受信し、以下同様に受信することができる。一般に、メディア・デバイスの集合をメディア・デバイスの任意のセグメントに分割するよう、命令することができる。このようにして、各メディア・デバイスは、メディア・コンテンツ・アイテムを受信し、メディア・コンテンツ・アイテムのセグメントを確定し、並びにサービス・プロバイダ・システムから受信された命令に基づき及び各確定されたセグメントに対するセグメント識別値を送信せずに、1つ以上のセグメントをアップロードすべきか否かを決定することができる。
一実施態様では、メディア・デバイスは、メディア・コンテンツ管理システムから受信されたセグメント識別値に基づいて、メディア・コンテンツ・アイテムの特定セグメントをアップロードすべきか否かを決定することができる。例えば、メディア・コンテンツ管理システムは、メディア・デバイスの集合内のメディア・デバイスがレコーディングのために選択した各メディア・コンテンツ・アイテムに対するセグメント識別値を生成することができる。メディア・コンテンツ管理システムは、メディア・デバイスにセグメント識別値を送信することができ、そしてこのメディア・デバイスは、メディア・コンテンツ管理システムから受信されたこれらの値を使用して、メディア・デバイスによって記録されたメディア・コンテンツ・アイテムのコピーの任意のセグメントが、メディア・コンテンツ管理システムによって格納されているバージョンと異なるか否かを決定することができる。メディア・デバイスは、次いで、メディア・コンテンツ管理システムのコピーとは異なるセグメントのみをアップロードすることができる。他の具体例では、メディア・デバイスは、メディア・コンテンツ・アイテムの選択されたセグメントをメディア・コンテンツ管理システムにアップロードすることができ、そしてこのシステムは、これらのセグメントに対するセグメント識別値を生成し、アップロードされたセグメントを格納すべきか否か又は放棄すべきか否かを決定することができる。
一実施態様において、メディア・デバイスの集合は、デバイス間のアップロードを調整しかつ中央サービス・プロバイダ・システムからアップロード命令を受信せずに、メディア・コンテンツ・アイテムによるレコーディングが予約されているメディア・コンテンツ・アイテムをアップロードすることができる。例えば、メディア・コンテンツ・アイテムのレコーディングを予約するメディア・デバイスは、(例えば、メディア・デバイスが、レコーディング予約状況を定期的に放送し、サービス・プロバイダ・システムから他のデバイスのレコーディング予約状況を得る、等によって)他のメディア・デバイスが、既に、同じメディア・コンテンツ・アイテムのレコーディングを予約していることを発見することができる。メディア・デバイスは、次いで、通信し、かつ例えば、等しいアップロード共有ポリシーに基づいて、又は各メディア・デバイスでネットワーク統計値を測定することに基づいて、又はメディア・デバイスの間で決定される任意の他のアップロード・ポリシーに基づいて、どのメディア・デバイスがどのセグメントをアップロードすべきかを決定することができる。
一実施態様では、メディア・デバイスは、メディア・コンテンツ管理システム又は他のメディア・デバイスとの協働無しに、1つ以上のセグメントをアップロードすべきか否かを、個々に、決定することができる。一実施態様では、上述した1つ以上のアップロード管理技術を、組合せて使用することができる。例えば、各メディア・デバイスは、可能性のあるアップロードに対し1つ以上のセグメントを個々に決定することができる。各メディア・デバイスによって選択される1つ以上のセグメントは、他のメディア・デバイスと協働してフィルタ処理させることができる。例えば、これらのメディア・デバイスは、2つ以上のメディア・デバイスによって選択される各セグメントをアップロードする1つのメディア・デバイスを決定することができる。各メディア・デバイスは、次いで、フィルタ処理されたセグメントのリストをメディア・コンテンツ管理システムに送信することができる。メディア・コンテンツ管理システムは、更に、各メディア・デバイスに対するセグメントのリストをフィルタ処理することができる。
3.2.メディア・コンテンツのクラウド格納
図5を参照して上述したように、メディア・デバイスの集合内の各メディア・デバイスは、メディア・デバイスによって受信されたメディア・コンテンツ・アイテムのセグメントをメディア・コンテンツ管理システムにアップロードするように、環境設定させることができる。一実施態様では、メディア・コンテンツ管理システムは、種々のメディア・デバイスからセグメント識別値を受信し、セグメント識別値に基づいて対応するセグメントをアップロードするよう特定メディア・デバイスに命令すべきか否かを決定し、そしてアップロードされたセグメント及び他のメタデータを格納して、特定メディア・デバイスによって記録されたメディア・コンテンツ・アイテムを追跡することができる。
一実施態様では、特定メディア・デバイスによって記録されたメディア・コンテンツ・アイテムを追跡するためにメディア・コンテンツ管理システムによって生成されたメタデータは、アップロードされたセグメントの「マニフェスト」を含むことができる。本明細書では、マニフェストとは、通常、ファイル、データベース、又は、各ユーザ・アカウント及びこのユーザ・アカウントに関連付けられているメディア・デバイスによって記録されたメディア・コンテンツ・アイテムに対して、ユーザ・アカウント及びメディア・デバイスに対するメディア・コンテンツ・アイテムを備えるセグメントのリストを示す情報を含む他のデータ構造、を意味する。特定ユーザ・アカウント及び/又はメディア・デバイスに対しセグメントのマニフェストを維持することによって、メディア・コンテンツ管理システムは、ユーザのメディア・デバイスが当初受信したメディア・コンテンツ・アイテムのバージョンと同じ又は実質的に同じである、ユーザが記録したメディア・コンテンツ・アイテムの(ローカル番組の相違、干渉又はデータ破壊等の結果として生じ得る個々の変型を含む)コピーに、ユーザがアクセスすることを可能にする。一実施態様では、メディア・コンテンツ管理システムは、マニフェストを使用して、特定セグメント及び特定セグメントの順序を識別することにより、その後の再生のために、セグメントの集合からメディア・コンテンツ・アイテムを組立てることができる。
図6は、メディア・デバイスの集合からメディア・コンテンツ・アイテムのアップロードを管理するための流れ図の具体例を表す。例えば、図6によって示されるプロセスは、メディア・デバイス108の集合からメディア・コンテンツ・アイテムのアップロードを管理するクラウド・ベースのメディア・コンテンツ管理システムによって実装させることができる。
ブロック602で、メディア・コンテンツ管理システムは、ユーザ・アカウントに関連付けられている特定メディア・デバイスから、メディア・コンテンツ・アイテムの1つ以上のセグメントに対する1つ以上のセグメント識別値を受信する。例えば、図5のブロック506を参照して記述されたように、セグメント識別値は、視聴及び/又はレコーディングのためにメディア・コンテンツ・アイテムを、現在、受信しつつある又は以前に受信したことがあるメディア・デバイス108によって、生成させることができる。メディア・デバイスに関連付けられているユーザ・アカウントの識別は、セグメント識別値に含ませることができるし、又はユーザ・アカウントは、他の情報(例えば、1つ又は複数の他のリクエストと共に送信されるデバイス及び/又はユーザ・アカウント識別子)に基づいて識別させることもできる。
ブロック604で、メディア・コンテンツ管理システムは、1つ以上のセグメント識別値に基づいて、同じセグメントの1つ以上のコピーがクラウド・ストレージ・システム内に存在するか否かを決定する。例えば、クラウド・ストレージ・システムは、別個に又は対応するメディア・コンテンツ・セグメントに関連させて、クラウド・ストレージ・システムによって現在格納されている、又は現在他のメディア・デバイスによってクラウド・ストレージ・システムにアップロードされつつあるメディア・コンテンツ・セグメントのセグメント識別子を、格納することができる。したがって、メディア・コンテンツ管理システムは、受信した1つ以上のセグメント識別値を、以前に他のメディア・デバイスから受信したセグメント識別値と比較することによって、同じセグメントのコピーが、格納されているか又は現在他のメディア・デバイスから受信されつつあるかを決定することができる。
一実施態様の場合、クラウド・ベースの管理システムは、同じセグメントのコピーが、現在、クラウド・ベースのストレージ内に存在しているか否かのみならず、セグメントの充分な数のコピーが、現在、格納されている、又は、現在、アップロードされつつあるか否かも、決定することができる。例えば、クラウド・ベースのメディア・コンテンツ管理システムは、2つ以上の別個のメディア・デバイスから、各メディア・コンテンツ・セグメントの2つ以上の別個のアップロードをリクエストするように、環境設定させることができる。例えば、各セグメントの完全な及びエラーのないコピーが、システムによって受信されるという可能性を向上させるために、システムは、別個のアップロードをリクエストすることができる。もし、システムが、品質が同じであると決定されるべきセグメントの2つ以上のコピーを受信したとすると、例えば、システムは、同一のコピーの1つ以上を削除することによって、セグメントの重複する格納を排除することができる。
一実施態様の場合、同じセグメントのコピーが現在クラウド・ストレージ内に存在するか否かを決定することは、同じ又は実質的に同じ品質を有するコピーが、現在ストレージ内に存在するか否かを決定することを含むことができる。例えば、メディア・デバイスから受信された特定セグメントに対するセグメント識別値又は他の情報に基づいて、アップロード管理モジュール306は、同じセグメントと同様なコピーが現在クラウド・ストレージの中に存在するが、セグメントの内の1つが、これらのセグメントを異なるものにする原因となる1つ以上のデータ破壊を含むと決定することができる。この例及び他の例において、サービス・プロバイダ・システム204のアップロード管理モジュール306は、データ破壊を含むセグメントの別個のコピーをアップロードすることを、メディア・デバイスにリクエストすることも、又はリクエストしないこともできる。例えば、アップロード管理モジュール306は、もし、2つ以上のコピーが、互いに、十分異なっていたとすると、同じセグメントについて2つ以上のコピーのアップロードをリクエストし、これにより、各メディア・デバイスの各々に対して格納されているセグメントのコピーが、当初受信されたセグメントと十分に同一となるように、コンテンツの権利問題又は他の要因に基づいて、環境設定させることができる。
一実施態様では、異なるメディア・デバイスからセグメントの別個のアップロードをリクエストすべきか否かを決定するために、アップロード管理モジュール306は、特定メディア・デバイスによって識別される1つ以上のセグメントに、品質スコアを割り当てることができる。例えば、データ破壊/信号干渉問題がほとんど又は全く検出されない特定メディア・コンテンツ・アイテムのセグメントを受信しかつ識別するメディア・デバイスは、そのセグメントに対して「良好な」スコアを受領することになる。他方、もし、メディア・デバイスが、かなりの数のデータ破壊が検出された同じセグメントを受信しかつ識別したとすると、このセグメントは、「悪い」スコアを受領することになる。一実施態様の場合、特定セグメントの品質は、さまざまなセグメント識別値の同一性を比較すること、または各セグメントに対して生成されるフィンガープリントを比較すること等によって、データ破壊(例えば、PCR/PTS番号付けの問題、破壊されたメタデータ等)の数を検出することを含むさまざまな方法で、決定することができる。
上述したように、セグメントの2つのバージョンの品質の比較は、メディア・コンテンツ管理システムが、特定セグメントのコピーを幾つ格納することができるかを決定することができる。例えば、もし、システムが、同じセグメントの2つのバージョンが、わずかに異なるが、両方とも品質は「良好」であると決定すると、システムは、セグメントの1つのコピーしか格納せず、そしてこのコピーを、メディア・デバイスをリクエストするために交換可能に使用することができる。他方、システムが、第一メディア・デバイスが、品質が「良好」である特定セグメントを記録し、かつ第二メディア・デバイスが、品質バージョンが「悪い」同じセグメントを記録したと決定すると、システムは、各品質のバージョンについて別個のコピーを格納する。もし、第一メディア・デバイスに関連付けられているユーザが、続いて、再生のためにメディア・コンテンツ・アイテムをリクエストしたとすると、ユーザのデバイスは、そのセグメントに対し「良好な」品質バージョンを受信し、他方、第二メディア・デバイスは、同じセグメントに対し「悪い」品質バージョンを受信する。他の実施態様では、メディア・コンテンツ管理システムは、各ユーザのメディア・デバイスによって当初受信されたメディア・コンテンツ・アイテムのバージョンに関係なく、各セグメントの最高品質であるコピーを格納しかつそれを任意のデバイスに送信することができる。
一実施態様の場合、メディア・コンテンツ管理システムは、セグメントのコピーが、メディア・デバイスを2つ以上の「ゾーン」にグループ化したことに基づいて存在しているか否かを、決定することができる。例えば、メディア・デバイスの集合は、種々の地理上の地域又は他のグループ化の特徴に対応させて多くのゾーンにグループ化させることができる。メディア・コンテンツ管理システムは、各ゾーンから受信されるセグメントからフィンガープリントを生成し、そしてこれらのフィンガープリントを、他のゾーンのメディア・デバイスから受信されたセグメントから導出されたフィンガープリントと比較するように、環境設定させることができる。このようにして、ゾーンに渡って同一であるメディア・コンテンツ・アイテムの部分(例えば、テレビ番組のコンテンツ)についての点検は、各ゾーン内のメディア・デバイスからのアップロード及びクラウド格納に対し、より低頻度で済み、他方、ゾーンに渡って異なるメディア・コンテンツ・アイテムの部分(例えば、地域のコマーシャル)は、各ゾーン内のデバイスからアップロードさせることができる。
ブロック606で、もし、メディア・コンテンツ管理システムが、1つ以上の識別されたセグメントについて十分な数のコピーが、クラウド・ストレージ内に存在すると決定すると、ブロック608で、このシステムは、クラウド・ストレージにセグメントをアップロードしないようメディア・デバイスに命令するコマンドを、メディア・デバイスに送信する。ブロック608で、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムとセグメントの既存のコピーとの関連付けを、メディア・デバイスに関連付けられているユーザ・アカウントに対するデータが含まれているマニフェストに格納する。したがって、特定ユーザ・アカウントに対して格納されているこのメディア・コンテンツ・アイテムのコピーは、特定セグメントの既存のかつ共通のコピーを意味するので、同じセグメントの追加コピーが、特定メディア・デバイスからリクエストされることはない。特定メディア・コンテンツ・アイテム及び特定ユーザ・アカウントに対しセグメントのマニフェストを格納する具体例は、図7A、図7B及び図8を参照して以下に記載される。
ブロック606で、もし、メディア・コンテンツ管理システムが、セグメントの充分な数のコピーが、現在クラウド・ストレージ内に存在しないと決定すると、ブロック610で、このシステムは、セグメントのコピーをクラウド・ストレージにアップロードするようメディア・デバイスに命令するコマンド又は他のデータを、メディア・デバイスに送信することができる。例えば、メディア・デバイスの集合内のデバイスが、その特定セグメントを記録したことが初めてであると言う理由、又はこのリクエストを送信する特定メディア・デバイスに対しセグメント内にいくつかの相違が存在すると言う理由により、メディア・コンテンツ管理システムが、受信されたセグメント識別値に対応するセグメントのコピーを見出すことができないことがある。
一実施態様では、複数のメディア・デバイスは、相対的に短時間の窓の範囲内にある同じセグメントに対し、1つ以上のセグメント識別値を送信することができる。例えば、新規なテレビ番組が放送されていて、そして多数のデバイスが、各々、それが放送されるときに番組を記録することを既に予約していたとすると、メディア・デバイスの各々は、番組が始まるほぼ同じ時刻に同じセグメント識別値をメディア・コンテンツ管理システムに送信する。したがって、メディア・コンテンツ管理システムは、数多くの可能性があるメディア・デバイスの中から、特定セグメントをアップロードする1つ以上のメディア・デバイスを選択することができる。
一実施態様では、多数のメディア・デバイスが、ほぼ同じ時刻に同じメディア・コンテンツ・セグメントに対するセグメント識別値を送信する場合、メディア・コンテンツ管理システムは、セグメント識別値が最初に受信された1つ以上のメディア・デバイスのみを選択する、又はセグメントをアップロードする1つ以上のメディア・デバイスをランダムに選択することができる。他の具体例では、メディア・コンテンツ管理システムは、1つ以上のメディア・デバイスを選択して、各メディア・デバイスのアップロード能力に関係する要因に基づいて、セグメントをアップロードすることができる。例えば、アップロード能力は、各デバイスのネットワーク容量及び他の能力(例えば、デバイスのタイプ、デバイスによって使用されるネットワークのタイプ、測定されたアップロード速度、現在の信号強度、ビットエラー等)及び/又は各デバイスに対する履歴データ(例えば、アップロードエラー率、アップロードされたセグメント品質等)を含む、1つ以上のデバイス情報及び/又は実行効率測定値に基づいて、決定することができる。メディア・デバイスは、例えば、メディア・コンテンツ・アイテムのレコーディングの前及び/又はその間に、メディア・デバイスについての受信/実行効率の測定値を定期的に生成し、かつこの測定値をメディア・コンテンツ管理システムに送信して、アップロードするデバイスの決定を支援させることができる。一実施態様では、メディア・コンテンツ管理システムは、ネットワーク能力及び履歴データに基づいて、特定メディア・デバイスを特に「好ましい」アップローダとして指定し、かつ可能であれば、これらのメディア・デバイスをアップロードのために選択する。
ブロック612で、特定セグメントをクラウド・ストレージにアップロードするようメディア・デバイスに命令することに応答して、メディア・コンテンツ管理システムは、メディア・デバイスに関連付けられているユーザ・アカウントに対し、メディア・コンテンツ・アイテムとアップロードされたセグメントとの関連付けを格納する。ブロック608と同様に、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムとアップロードされたセグメントとの間の関連性を、メディア・デバイスに関連付けられているユーザ/メディア・デバイス・アカウントに対する情報が含まれているマニフェストに格納することができる。
上述した概念のいくつかを示すために、図7A、図7B及び図8は、各々、メディア・デバイスの集合からアップロードされたメディア・コンテンツ・アイテムのセグメントを管理する種々の態様を示す。
図7Aは、2つの異なるソース702及び704からメディア・コンテンツ・アイテムを受信するメディア・デバイスの集合の具体例を表す。図7Aにおいて、ソース702及び704は、例えば、各々、メディア・コンテンツ信号を受信し、処理し、かつメディア・デバイスの集合内のサブセットに分散させることを可能とする別個のテレビジョン・ヘッドエンド施設を表す。ソース702及び704の各々は、例えば、地理上の異なる地域に配置させることができる。ソース702及び704の各々は、同じメディア・コンテンツ・アイテム(例えば、同じテレビジョン番組、映画等)をメディア・デバイスの集合に分散させることができるが、それにもかかわらず、メディア・デバイスによって受信されるメディア・コンテンツ・アイテム内には、相違が、存在することがある。例えば、これらの相違は、地理上の特有地域で発生しかつメディア・コンテンツ・アイテム内に散在するコマーシャル又は他のローカル番組内の相違を含む。他の具体例では、相違は、特定ソース及び/又はメディア・デバイスに固有の干渉又は破壊問題から生じる結果である。
図7Aの具体例は、同じメディア・コンテンツ・アイテムの4つの異なるバージョンが、メディア・デバイスの集合に送信されるシナリオを示す。メディア・コンテンツ・アイテムの第一バージョンは、任意の数の別個のユーザ・アカウントに関連付けることができる複数のメディア・デバイスを含むメディア・デバイス・グループ706に送信される。メディア・コンテンツ・アイテムの第二バージョンは、単一のメディア・デバイス708に送信される。第三バージョンは、メディア・デバイス・グループ706とは異なるメディア・デバイス・グループ710に送信され、そして第四バージョンは、メディア・デバイス708とは異なる単一メディア・デバイス712に送信される。上述したように、同じメディア・コンテンツ・アイテムの4つの異なるバージョンは、ローカル番組の相違(例えば、メディア・デバイス・グループ706は、メディア・デバイス・グループ710とは異なるコマーシャルを受信することができる)により、又は隔離された干渉/破壊問題(例えば、メディア・デバイス708及びメディア・デバイス712に送信されるデータ内の重大な又は軽微な破壊)により相違する場合がある。
図7Bは、図7Aに図示される、メディア・デバイスの其々が受信したメディア・コンテンツの異なるバージョンの具体例及び結果として得られる格納を表す。図7Bにおいて、例えば、メディア・コンテンツ・アイテムの4つの異なるバージョンは、其々、その特定バージョンを受信するメディア・デバイスの名前の右側に示されているメディア・コンテンツ・アイテムの別々のスパンによって表されている。例えば、メディア・デバイス・グループ706のメディア・デバイスの各々は、標示部分714から始まり、非標示部分が続き、標示部分722が続き、そして他の非標示部分が続くメディア・コンテンツ・アイテムのバージョンを、受信した。標示部分714及び722は、例えば、コマーシャルを含むメディア・コンテンツ・アイテムの2つの別個の部分を表し、非標示部分は、コマーシャルの間のテレビジョン番組の放送部分を表すことができる。
同様に、メディア・デバイス712は、部分716で始まり、非標示部分が続き、部分718が続き、非標示部分が続き、部分722が続き、かつ他の非標示部分が続くメディア・コンテンツ・アイテムのバージョンを、受信した。メディア・デバイス・グループ706と同様に、部分716及び722は、メディア・デバイス712によって受信されかつテレビジョン番組内に散在するコマーシャルを表すことができる。部分718は、例えば、他のデバイスは経験していない破壊されたデータを、メディア・デバイス712が、受信した、メディア・コンテンツ・アイテムの1つ以上のセグメントを表すことができる。同様に、部分720は、メディア・デバイス708が信号干渉問題を経験した、メディア・コンテンツ・アイテムの1つ以上のセグメントを表すことができる。各実例において、破壊されたデータ/信号干渉は、メディア・コンテンツ内の小さい「グリッチ」又は他の欠陥としてユーザに表示されたものであり、かつユーザがビデオ・コンテンツを視聴することによって容易に認識された又は認識されなかったかもしれない。
格納されるコピー724は、上述したように、メディア・コンテンツ管理システムが、メディア・コンテンツ・アイテムを受信するメディア・デバイス706―712に対して格納することができるデータの具体例を示す。一般に、格納されるコピー724は、メディア・デバイス706―712によって受信されるメディア・コンテンツ・アイテムの4つの異なるバージョンの重複排除の具体例を示す。例えば、格納されるコピー724の上の行に示されるように、部分714及び部分722のコピーは、これらのスパンの間で全てのメディア・デバイスに共通する非標示部分とともに格納される。加えて、集合内の種々のメディア・デバイスによって見られる相違の原因となる部分716、718及び720も、格納される。図7Bにおいて表される各部分は、メディア・デバイスによって定められる1つ以上のセグメントを備えることができる。したがって、特定メディア・デバイスに対し異なるセグメントには別個のコピーが格納されるが、共通セグメントには1つのコピーしか格納されない。この様にして、メディア・コンテンツ・アイテムに対して格納されるデータの総量を減少させて、メディア・デバイスによって当初受信されたメディア・コンテンツ・アイテムの実質的に正確なコピーを格納することができる。
格納されるコピー724は、更に、サービス・プロバイダ・システム204によって実行されるセグメントの重複排除の結果を示すことができる。例えば、部分714の多数のコピーは、最初に、メディア・デバイス・グループ706のメディア・デバイスから既に受信させておくことができる。多数のコピーが受信されかつ最初に格納された後、サービス・プロバイダ・システム204は、多数のコピーの各々が同一であると決定し、かつ1つのコピーを除いて全てのコピーをストレージから削除することができる。この様にして、サービス・プロバイダ・システム204は、最初に、セグメントの多数のコピーを受信し、エラーが最も少ないコピーの受信を確実にし、続いて余分のコピーを重複排除して、クラウド・ストレージの空間を節約することができる。
図7は、メディア・コンテンツ管理システムが、メディア・デバイスの集合によって受信されるメディア・コンテンツ・アイテムの異なるバージョンを格納するために使用されるストレージ空間の量を、どのようにして、減少させることができるかについての具体例を表す。図8は、特定メディア・デバイスに対してメディア・コンテンツ・アイテムのコピーを再生することを可能にするために、メディア・コンテンツ管理システムが、どのように、図7Bの下部に表されるようなメディア・コンテンツ・アイテムを備えるセグメントの集合を格納するかを示す一例である。図8は、例えば、4つの異なるメディア・デバイスA―Dに格納される、特定メディア・コンテンツ・アイテムのセグメントの表示を表す。例えば、図8において表される具体例は、図6に関して上述したように、マニフェスト内の特定ユーザ・アカウントに対して格納されている情報のタイプと同様とすることができる。
図8において、例えば、メディア・デバイス802は、リンクされたセグメントのcollectio602nと表記される、メディア・コンテンツ・アイテム810を既に記録している。メディア・デバイス802によって識別される最初のセグメントは、「846d」と言うセグメント識別値が標示されているセグメント812であった。メディア・デバイス802によって識別される第二セグメントは、「5e02」等々と言うセグメント識別値が標示されているセグメント814であった。他の具体例では、異なるメディア・デバイス804によって識別される最初のセグメントも、セグメント812であった。したがって、メディア・デバイス802及びメディア・デバイス804の各々が、デバイスから受信されたセグメント識別値に基づいて、同じセグメント812及び814をレコーディングしたと報告したと、メディア・コンテンツ管理システムが決定したので、このシステムは、セグメント812及び814のコピーを1つしか格納しない。メディア・デバイス802及びメディア・デバイス804に関連付けられているユーザ・アカウントに対するマニフェストは、其々、それらのユーザ・アカウントに対するメディア・コンテンツ・アイテム810の最初の2つのセグメントとしてセグメント812及び814へのリファレンス又はポインタを含むことができる。さらにまた、メディア・デバイス802及び804(又はおそらく表示されていない他のメディア・デバイス)の内の1つのみが、セグメント812及び814の其々を、セグメントを格納するクラウド・ストレージにアップロードしておくこともできる。
他の具体例では、メディア・デバイス806は、異なるセグメント816をメディア・コンテンツ・アイテム810の第一セグメントとして識別した。例えば、ローカル番組の相違、放送タイミングの相違、瞬間的な干渉、又はメディア・デバイス806にメディア・コンテンツ・アイテムの第一部分について異なるバージョンを受信させた他の如何なる原因により、メディア・デバイス806は、メディア・デバイス802及びメディア・デバイス804とは異なるセグメントを識別する場合がある。しかしながら、最終的には、メディア・デバイス806は、メディア・デバイス802及びメディア・デバイス804と同期しそして同じセグメント814のレコーディングを報告した。
図8に示されるように、メディア・デバイスによって記録される各メディア・コンテンツ・アイテムに対し、セグメントの恐らく異なっているシリーズは、そのメディア・デバイスとそのメディア・デバイスに関連付けられているユーザ・アカウントとに対するメディア・コンテンツ・アイテムを、備えることができる。多数のメディア・デバイスによって識別されるセグメントは、一度のみ格納させれば良く、かつメディア・デバイスに関連付けられている多数のユーザ・アカウントに対しては、マニフェストで参照することができる。この様にして、特定メディア・デバイスが遭遇する個々の如何なる相違も保持しつつ、メディア・コンテンツ管理システムによって格納されるデータの量は減少するので、これにより、システムが、続いて、各メディア・デバイスによって当初記録されたメディア・コンテンツ・アイテムのバージョンと実質的に同じであるメディア・コンテンツ・アイテムのバージョンを、送信することが可能になる。さらにまた、メディア・デバイスでローカルに格納されるメディア・コンテンツ・アイテムのコピーは、ストレージ空間を解放するためにレコーディングの後削除することができる一方で、これらの同じメディア・デバイスは、クラウド・ベースのストレージにおけるこのメディア・コンテンツ・アイテムにアクセスし続けることができる。
3.3.メディア・コンテンツの再生
一実施態様では、クラウド・ベースのメディア・コンテンツ管理システムは、ユーザが、第一メディア・デバイス(例えば、DVR等)でメディア・コンテンツ・アイテムのレコーディングを予約すること、及び続いて他のメディア・デバイス(例えば、他のDVR、モバイル・デバイス、ゲーム・デバイス等)に記録されたメディア・コンテンツ・アイテムにアクセスすることを可能にする。上述したように、異なるメディア・デバイスに渡ってメディア・コンテンツ・アイテムにアクセスすることは、メディア・コンテンツ・アイテムのクラウド格納によって容易に行うことができる。一般に、クラウド・ベースのメディア・コンテンツ管理システムは、特定ユーザ・アカウントにより記録されたメディア・コンテンツ・アイテムを関連付けることに基づいて、メディア・デバイスに渡るメディア・コンテンツ・アイテムへのアクセスを管理することができる。図9は、クラウド・ベースのメディア・コンテンツ管理システムが、メディア・デバイスに渡るメディア・コンテンツ・アイテムへのアクセスを管理するための具体例のプロセスを示す流れ図である。
ブロック902で、メディア・コンテンツ管理サーバは、ユーザ・アカウントに関連付けられているメディア・デバイスから、このメディア・デバイスが、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信したことを示すデータを、受信する。メディア・デバイスは、例えば、メディア・デバイスが、メディア・デバイスで入力を受信する、又はレコーディングを予約する他のメディア・デバイスから間接的に入力を受信することに応答して、データを送信することができる。
メディア・デバイスが、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信したことを示すデータを受信することに応答して、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムのコピーをクラウド・ストレージ・システムに格納させることができる。一実施態様では、図5―8を参照して前述したように、このシステムは、メディア・デバイスの集合からメディア・コンテンツ・アイテムの分散されたアップロードをリクエストすることによって、メディア・コンテンツ・アイテムのコピーをクラウド・ストレージ・システムに格納させることができる。他の具体例では、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムをコンテンツ・ソース106から直接得ることができる。例えば、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システム206は、直接、コンテンツ・ソース106からメディア・コンテンツ・アイテムのコピーを受信しかつ格納することができる。
ブロック904で、メディア・コンテンツ管理システムのサーバは、同じメディア・デバイスから、又は同じユーザ・アカウントに関連付けられている異なるメディア・デバイスから、記録されたメディア・コンテンツ・アイテムを再生するリクエストを受信する。例えば、ユーザは、後に(おそらくユーザがユーザの家の外に移動してしまった場合)、モバイル・デバイスを使用して、記録されたテレビジョン番組を視聴することを望む。ユーザが、メディア・コンテンツ・アイテムを視聴するリクエストをモバイル・デバイスに入力することに応答して、モバイル・デバイスは、メディア・コンテンツ・アイテムに対するリクエストをクラウド・ベースのメディア・コンテンツ管理システムに送信することができる。
ブロック906で、リクエストに応答して、ユーザ・アカウントがメディア・コンテンツ・アイテムを再生するためのアクセスを有するか否かが、決定される。一実施態様では、ユーザ・アカウントがメディア・コンテンツ・アイテムを再生するためのアクセスを有するか否かを決定することは、ユーザが、以前に、ユーザの1つ以上の他のメディア・デバイスを使用して同じメディア・コンテンツ・アイテムのレコーディングをリクエストしたか否かを決定することを含むことができる。一実施態様では、ユーザ・アカウントがメディア・コンテンツ・アイテムを再生するためのアクセスを有するか否かを決定することは、メディア・コンテンツ・アイテムが、VODライブラリのようなコンテンツ・ソース106から再生することが可能であるか否かを決定することを含むことができる。一実施態様では、ユーザ・アカウントがメディア・コンテンツ・アイテムを再生するためのアクセスを有するか否かを決定することは、ユーザが、コンテンツ・アイテムのレコーディングを以前に予約したか否かを決定することを含むことができる。例えば、例え、ユーザが、記録されたメディア・コンテンツ・アイテムをその後に削除していた、メディア・コンテンツ・アイテムが削除ルールに基づいて削除された、又はメディア・コンテンツ・アイテムがチューナ衝突により記録されなかったとしても、システムは、ユーザが、以前、レコーディングのためにメディア・コンテンツ・アイテムを選択していれば、ユーザはメディア・コンテンツ・アイテムへのアクセスを有すると、決定することができる。
ブロック908で、ユーザ・アカウントが、メディア・コンテンツ・アイテムを再生するアクセスを有するとの決定に応答して、メディア・コンテンツ管理システムは、ユーザのメディア・デバイスにメディア・コンテンツ・アイテムを再生させる。例えば、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムのコピーを、クラウド・ストレージ・システムからメディア・デバイスにストリーム配信させる又はダウンロードさせることにより、メディア・デバイスに、メディア・コンテンツ・アイテムを再生させることができる。メディア・コンテンツ管理システムは、例えば、メディア・コンテンツ・アイテムのコピーを分散させることに関して適用されるコンテンツ権利に対応するために、ユーザが、他のデバイス上のメディア・コンテンツ・アイテムのコピーにアクセスすることが可能となる前に、ユーザが、メディア・コンテンツ・アイテムの記録されたコピーを現在有するか否かを決定するように、環境設定させることができる。
一般に、クラウド・ベースのメディア・コンテンツ管理システムは、メディア・コンテンツをストリーム配信する、ダウンロードする又は任意の他の態様で送信することによって、メディア・コンテンツ・アイテムをメディア・デバイスに送信することができる。もし、メディア・コンテンツ・アイテムが、セグメントの集合としてクラウド・ストレージ・システムにアップロードされると、1つ以上の処理ステップが、メディア・コンテンツ・アイテムをメディア・デバイスに送信する前に、セグメントの集合に実行される。図10は、一実施態様による、分散されたメディア・デバイスの集合からアップロードされたメディア・コンテンツ・アイテムへのアクセスを提供するための具体例のフロー1000を表す。
ブロック1002で、クラウド・ベースのメディア・コンテンツ管理システムは、ユーザ・アカウントに関連付けられているメディア・デバイスから、ユーザ・アカウントに関連付けられているユーザによって記録されたメディア・コンテンツ・アイテムにアクセスするリクエストを受信する。例えば、メディア・デバイスで表示されるインターフェースであって、同じメディア・デバイスで又は同じユーザ・アカウントに関連付けられている他のメディア・デバイスで、ユーザによってレコーディングのために以前に選択されたメディア・コンテンツ・アイテムをリストアップアップするインターフェースから、ユーザはメディア・コンテンツ・アイテムを選択することができる。記録されたメディア・コンテンツ・アイテムのリストは、例えば、ユーザが、メディア・デバイスでユーザ・アカウント情報(例えば、ユーザ名及びパスワード)を提供することに基づいて、ユーザに表示させることができる。
ブロック1004で、メディア・コンテンツ管理システムは、リクエストされたメディア・コンテンツ・アイテム及びユーザ・アカウントに基づいて、このメディア・コンテンツ・アイテムに対するセグメントのシリーズを読出す。図8を参照して記載されたように、例えば、メディア・コンテンツ管理システムは、ユーザ・アカウントに関連付けられているユーザによって記録される各メディア・コンテンツ・アイテムに対して、このメディア・コンテンツ・アイテムに対応するセグメントのシリーズを示す、各ユーザ・アカウントに対する、マニフェストを、格納することができる。この情報は、例えば、システムが、関連付けられている1つ以上のクラウド・ストレージ・システム内でセグメントの各々を検出することを可能にする、セグメント識別子のシリーズを含むことができる。
ブロック1006で、メディア・コンテンツ管理システムは、リクエストしているメディア・デバイスへの配信のためにメディア・コンテンツ・アイテムを準備する。一実施態様において、配信のためにメディア・コンテンツ・アイテムを準備することは、分かれて格納されているセグメントのシリーズを連続するデータのストリームに「縫合する」ことを含むことができる。一般に、セグメントを縫合することは、部分的に分かれて又は全部が分かれて格納されているセグメントを、リクエストしているメディア・デバイスに送信することができる連続するデータ・ストリームに結合させることを意味する。例えば、セグメントを縫合することは、別々に格納されている複数のセグメントに基づいてMPEGコンテンツ・ストリームを生成することを意味する。他の実施態様では、メディア・デバイスが、格納されているセグメントを別々に送信し、かつリクエストしているメディア・デバイスが、表示のためにそれらを縫合することができる。他の具体例では、メディア・コンテンツ・アイテムを準備することは、特有タイプのメディア・デバイスへの配信に対してセグメント・データをトランスコードすること(例えば、特定タイプのモバイル・デバイス、ゲーム・デバイス等に対して、特定トランスコード処理を選択することができる)を含むことができる。特定タイプのメディア・デバイスに対するメディア・コンテンツのトランスコード処理は、メディア・コンテンツを異なるビットレートに変換する、メディア・コンテンツを異なるコード化に変換する(例えば、単一番組搬送ストリーム(SPTS)のHTTPライブのストリーム配信(HLS)への変換)、又は任意の他の変換を実行することを含むことができる。
一実施態様では、配信のためにメディア・コンテンツ・アイテムを準備することは、メディア・アイテムの1つ以上の部分を置換すること、メディア・コンテンツに情報を重ねること、又は他の変更を含むことができる。例えば、メディア・コンテンツ・アイテムを準備することは、広告に対応するメディア・コンテンツ・アイテムの1つ以上の部分を決定すること、及びこの広告部分を除去する又はこれらの広告を代わりの広告により置換することを含むことができる。他の具体例では、配信のためにメディア・コンテンツ・アイテムを準備することは、メディア・コンテンツ・アイテムの圧縮されたバージョンを生成することを含むことができる。例えば、もし、メディア・コンテンツ・アイテムがスポーツ競技に対応すると、配信のためにメディア・コンテンツ・アイテムを準備することは、メディア・コンテンツ・アイテムの範囲内でのハイライト又は特に興味が持てる他の部分を表すことができるセグメントに基づいて、1つ以上の「クリップ」を組立てることを含むことができる。さらにもう1つの具体例では、メディア・コンテンツに情報を重畳することは、メディア・コンテンツの1つ以上のフレームに文字情報(例えば、俳優名、評価情報、場所の名前、クローズド・キャプション等)を加えることを含むことができる。
ブロック1008で、メディア・コンテンツ管理システムは、リクエストしているメディア・デバイスにメディア・コンテンツを送信する。メディア・コンテンツ管理システムは、アイテムをデバイスにストリーム配信する又はダウンロードすることにより、コンテンツ配信ネットワーク(CDN)を介してアクセスをメディア・コンテンツ・アイテムに提供することにより、又は任意の他のタイプのクラウド・ストレージ・システムからのメディア・コンテンツへのアクセスを提供することによって、メディア・コンテンツ・アイテムを送信することができる。例えば、ストリーム配信及び保管モジュール312は、メディア・コンテンツ・アイテムを、リクエストしているメディア・デバイス108に直接ストリーム配信することができる。又は、ストリーム配信及び保管モジュール312は、メディア・デバイス108が、別個のクラウド・ストレージ・システム又は他のメディア・コンテンツ・ソースからメディア・コンテンツ・アイテムにアクセスすることを可能にするリンク又は他のリファレンスを、送信することもできる。
ブロック1002−1008を参照して上述したステップは、メディア・デバイスの集合からメディア・コンテンツ・アイテムを受信するメディア・コンテンツ管理システムが、同時に、実行することができる。例えば、メディア・コンテンツ管理システムが、特定メディア・コンテンツ・アイテムの第一セグメントを受信すると即座に、システムメディア・コンテンツ・アイテムのコピーが完全に受信される前に、受信されたセグメントを準備しかつ他のリクエストしているメディア・デバイスにそれを送信することを始めることができる。
一実施態様では、メディア・コンテンツ・アイテムへのユーザ・アクセスを提供することは、当初記録されたメディア・コンテンツ・アイテムの品質より高品質のメディア・コンテンツ・アイテムのバージョンへのアクセスを提供することを含むことができる。例えば、ユーザは、他のチャンネルで同じメディア・コンテンツ・アイテムの高解像度(HD)品質バージョンにアクセスすることができるにもかかわらず、このユーザは、最初、標準解像度(SD)品質でのメディア・コンテンツ・アイテムのレコーディングを予約することができる。この具体例では、ユーザが、メディア・コンテンツ・アイテムへのアクセスを他のデバイスにリクエストする場合、メディア・コンテンツ管理システム102は、メディア・コンテンツ・アイテムが、当初記録されたSDの代わりにHDでのストリーム配信が利用可能であることを示す警告を、リクエストしているメディア・デバイスに送信することができる。メディア・コンテンツ管理システムが、以前に記録されたメディア・コンテンツ・アイテムのバージョンより、より高品質のバージョンをユーザに提供する能力は、ユーザ・アカウントが、ユーザのコンテンツ購読契約に基づいて、HDバージョンへのアクセスを含むか否かに、依存することができる。
一実施態様では、メディア・コンテンツ・アイテムへのアクセスを提供するメディア・コンテンツ管理システムは、更に、リクエストされたメディア・コンテンツ・アイテムに関係するメディア・コンテンツ・アイテムに対する提案をユーザに提供することを含むことができる。例えば、ユーザが、ユーザによって以前に記録された特定テレビジョン・ショーへのアクセスをリクエストすると、メディア・コンテンツ管理システムは、リクエストされたTVショーと同様な他のTVショーでありかつリクエストされたTVショーのコンテンツ・ソースとは異なるコンテンツ・ソース106から得ることができる他のTVショーを示す情報を送信することができる。一実施態様では、メディア・コンテンツ管理システムは、ユーザに代わって、提案されたメディア・コンテンツ・アイテムを自動的に記録するオプションをユーザに提供することができる。例えば、システムは、ユーザの領域において人気があるメディア・コンテンツ・アイテムを自動的に、又は他の基準に基づいて、記録するオプションをユーザに提供し、かつこの推奨されたメディア・コンテンツ・アイテムをユーザのために記録する(ユーザのメディア・デバイスから1つ以上のメディア・コンテンツ・アイテムのセグメントをアップロードすることも含む)ことができる。
一実施態様では、メディア・コンテンツ・アイテムの再生は、メディア・デバイスがメディア・コンテンツ・アイテムの一部をプレキャッシュすることを含むことができる。メディア・コンテンツ・アイテムのプレキャッシュされた部分は、通常、例えば、主にクラウド・ストレージに格納されているメディア・コンテンツ・アイテムを効率的に再生するために使用することができるメディア・コンテンツ・アイテムの相対的に小さい部分を意味する。例えば、もし、ユーザが、クラウド・ストレージに格納されているメディア・コンテンツ・アイテムを再生することをリクエストすると、メディア・デバイスは、最初、クラウド・ストレージからメディア・コンテンツ・アイテムをストリーム配信する結果から生じ得る如何なる遅延も回避して、メディア・コンテンツ・アイテムのローカルに格納された部分を再生することができる。メディア・コンテンツ・アイテムの残りの部分は、クラウド・ストレージからストリーム配信させることができる。図11は、一実施態様により、クラウド・ベースのメディア・コンテンツ管理システム内のメディア・デバイスに渡るメディア・コンテンツ・アイテムへのアクセスを提供するための具体例のフロー1100を表す。
ブロック1102で、メディア・デバイスは、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信する。例えば、メディア・デバイス108は、メディア・デバイスでのユーザからの直接入力として、サービス・プロバイダ・システム204から(例えば、ネットワーク・スケジューラ304から)のコマンドとして、又は任意の他のデバイスからのコマンドとして、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信することができる。
ブロック1104で、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストに応答して、メディア・コンテンツ・アイテムが、予約開始時刻に記録される。例えば、メディア・デバイスは、予約開始時刻に、メディア・コンテンツ・アイテムに同調しかつメディア・デバイスのローカル・ストレージにアイテムのコピーを格納することができる。一実施態様では、メディア・デバイスは、更に、サービス・プロバイダ・システム204に、メディア・コンテンツ・アイテムのコピーをクラウド・ストレージ・システムに格納させることができる。例えば、メディア・デバイスは、メディア・コンテンツ・アイテムのコピーをクラウド・ストレージ・システムにアップロードすることができ、メディア・コンテンツ・アイテムは、分散されたアップロード・メディア・デバイス・プロセスの部分としてアップロードさせることができ、又はサービス・プロバイダ・システム204は、直接、コンテンツ・ソース106からメディア・コンテンツのコピーを得ることができる。
ブロック1106で、メディア・デバイスは、メディア・コンテンツ・アイテムの一部を格納する。例えば、メディア・デバイスは、最初、メディア・コンテンツ・アイテム全体のコピーを格納し、続いて選択された部分以外のメディア・コンテンツ・アイテムの全てを削除することができる。他の具体例では、メディア・デバイスは、最初、メディア・コンテンツ・アイテムの選択された部分のみを格納し、そしてメディア・コンテンツ・アイテムの残りの部分をクラウド・ストレージ・システムに格納させることができる。メディア・コンテンツ・アイテムの部分は、通常、メディア・コンテンツ・アイテムの先頭部分を表すことができる。例えば、この部分は、メディア・コンテンツの最初の10秒又はメディア・コンテンツ・アイテムの始まりでの任意の他の時間間隔を表すことができる。この部分のサイズは、メディア・コンテンツ・アイテムの総時間間隔、メディア・コンテンツ・アイテムのビデオ及びオーディオ品質、メディア・デバイスに関連付けられているネットワークの検出された状態、メディア・デバイスで利用できるストレージ空間の量等を含む、さまざまな要因に基づくことができる。
ブロック1108で、メディア・デバイスは、メディア・コンテンツ・アイテムを再生するリクエストを受信する。例えば、メディア・デバイスは、ユーザからの直接入力として、又は他のデバイスから受信される入力として、メディア・コンテンツ・アイテムを再生するリクエストを受信することができる。メディア・コンテンツ・アイテムは、例えば、ユーザが利用できる、記録されたメディア・コンテンツのリストから選択することができる。
ブロック1110で、メディア・コンテンツ・アイテムを再生するリクエストに応答して、メディア・デバイスは、メディア・コンテンツ・アイテムの部分を再生する。上述したように、メディア・コンテンツ・アイテムの部分は、メディア・コンテンツ・アイテムの先導部分を表すことができる。従って、メディア・デバイスは、メディア・コンテンツ・アイテムを再生するリクエストに応答して、かつもし、メディア・コンテンツ・アイテムが、遠隔のクラウド・ストレージ・システムからストリーム配信されたならば、発生し得る如何なる遅延も無く、この部分を再生し続けることができる。
ブロック1112で、メディア・デバイスは、メディア・コンテンツ・アイテムの部分の終端位置に対応する開始位置からメディア・コンテンツ・アイテムのコピーをストリーム配信するリクエストを、クラウド・ストレージ・システムに送信する。メディア・デバイスは、例えば、次で、部分の最後に達っした時にクラウド・ストレージ・システムから受信された、ストリーム配信されたコピーを再生することによって、メディア・コンテンツ・アイテムを再生し続けることができる。上述したように、クラウド・ストレージに格納されているメディア・コンテンツ・アイテムのローカルに格納されている部分を最初に再生することによって、メディア・デバイスは、メディア・コンテンツ・アイテムが再生のために選択されるときに、クラウド・ストレージからメディア・コンテンツ・アイテムをストリーム配信することに関係する遅延を減少させることができる。メディア・コンテンツ・アイテムの再生に関連する遅延を減らすことに加えて、メディア・コンテンツのローカルに格納される部分は、メディア・コンテンツ・アイテムが再生のために選択された直後に、メディア・デバイスが、早送り、巻戻し、休止等を含む「トリック・プレー」機能をより効率的に実行することを可能にする。
3.4.クラウド・ベースのチューナ
メディア・デバイスは、通常、メディア・コンテンツ・アイテムを再生、レコーディング等するために、各々が、メディア・コンテンツ・ストリーム(例えば、ライブのテレビジョン・フィード)に同調することができる固定数のハードウェア・チューナを含むことができる。各チューナは、通常、任意の所与の時刻で単一のメディア・コンテンツ・ストリームにしか同調することができない。これは、メディア・デバイスに存在するチューナの数が、メディア・デバイスが同時に受信することができるメディア・コンテンツ・ストリームの数を制限することを意味する。例えば、もし、特定メディア・デバイスが2つのハードウェア・チューナを備えているとすると、このメディア・デバイスは、最高2つのメディア・コンテンツ・ストリームを同時に視聴し及び/又は記録することができる。従って、もし、標本メディア・デバイスのユーザが、同時刻に放送されている3つのコンテンツ・アイテムを記録することをリクエストすると、チューナ衝突が発生し、そしてユーザは、通常、3つのショーのうちの2つしか記録することができない。このシナリオは、3つ以上のチューナにも拡張することができる。
一実施態様の場合、(例えば、ユーザが利用できるチューナより多くのメディア・コンテンツ・ストリームを記録することをユーザがリクエストするため)メディア・デバイス108が、チューナ衝突に遭遇する時には、メディア・デバイス108は、メディア・デバイス108に代わって、追加メディア・コンテンツ・ストリームに同調し、それを記録し、そして格納するリクエストをメディア・コンテンツ管理システム102に送信することができる。このようにして、ユーザは、ユーザのローカル・メディア・デバイスでユーザが利用できる物理チューナの数に限定されることがなくなる。クラウド・チューナの使用は、例えば、ユーザが、アクセスするための購読契約又は他の料金をサービス・プロバイダ・システム204のオペレーたに支払うサービス機能とすることができる。
図12は、クラウド・ベースのメディア・コンテンツ管理システムによって利用可能となるチューナを使用してチューナ衝突を解決するプロセスの一例の流れ図である。ブロック1202で、1つ以上の第一チューナに関連付けられているサーバが、メディア・デバイスがメディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信したことを示すデータを受信する。このメディア・デバイスは、例えば、特定ユーザ・アカウントに関連付けられている複数のメディア・デバイスの1つのメディア・デバイスとすることができる。一実施態様の場合、サーバは、サービス・プロバイダ・システム204の一部とすることができ、かつメディア・デバイスがユーザ又は他のソースからレコーディング・リクエストを受信する時には、メディア・デバイス108からデータを受信するように、環境設定させることができる。例えば、ユーザは、ローカル・メディア・デバイス108で、特定メディア・コンテンツ・アイテムのレコーディングを予約することができ、そしてリクエストに応答して、メディア・デバイス108は、サービス・プロバイダ・システム204に送信されるレコーディング予約情報を生成することができる。レコーディング予約情報は、ユーザに関連付けられている他のユーザ・アカウント情報と関係づけて、格納させることができる。
一実施態様では、1つ以上の第一チューナは、サービス・プロバイダ・システム204によって管理されるチューナ(本明細書ではクラウド・チューナと呼ばれる)とすることができる。一般に、チューナは、サービス・プロバイダ・システム204、オペレータ・ヘッドエンド202及び/又はクラウド・ストレージ・システム206によって管理される1つ以上のコンピューティング・デバイスによって、ホスト管理させることができる。チューナは、1つ以上のコンテンツ・ソース106によって提供されたコンテンツに同調しかつそれを記録するように、環境設定させることができる。
ブロック1204で、サービス・プロバイダ・システムは、1つ以上のメディア・デバイスの各チューナによるレコーディングが予約された開始時刻に衝突が存在すると決定する。例えば、サービス・プロバイダ・システム204は、各ユーザ・アカウントごとに、ユーザ・アカウントに関連付けられているメディア・デバイス及び各メディア・デバイスで利用可能なチューナの数を示すデータを、格納することができる。例えば、1つの特定ユーザ・アカウントは、3つの異なるデバイス(例えば、2つの異なるDVR及びスマートフォン)に関連させることができる。各デバイスは、多分異なる数の、利用可能なチューナを有する。
一実施態様では、サービス・プロバイダは、予約開始時刻に記録されるべきメディア・コンテンツ・アイテムの数を決定し、そして更にメディア・コンテンツ・アイテムの数がユーザのメディア・デバイスで利用可能なチューナの数を超えているか否かを決定することによって、衝突が存在するか否かを決定することができる。上述したように、サービス・プロバイダ・システム204は、ユーザが利用可能なチューナの数についての情報を各ユーザ・アカウントに関連付けて格納することができ、また、ユーザについてのレコーディング予約情報も格納することができる。したがって、サービス・プロバイダ・システム204は、レコーディング予約情報を分析して、特定時刻に記録されるべきメディア・コンテンツ・アイテムの数、及びユーザが、予約されたレコーディングの全てを記録するために十分な数のチューナを利用することが可能であるか否かを、決定することができる。一実施態様では、もし、サービス・プロバイダ・システム204が、十分な数のチューナがユーザ・アカウントに利用可能でないと決定すると、システムは、ユーザに警告メッセージを送信することができる。このメッセージは、例えば、衝突を解決するために、あるレコーディングを削除するオプションをユーザに提示することができ、そして1つ以上のクラウド・チューナ一を使用して1つ以上のメディア・コンテンツ・アイテムを記録するオプションをユーザに提示しかつクラウド・ストレージにレコーディングを格納することもできる。
ブロック1206で、衝突が存在するとの決定に応答して、サービス・プロバイダは、メディア・コンテンツ・アイテムをクラウド・チューナによって記録することを予約する。例えば、サービス・プロバイダ・システム204は、オペレータ・ヘッドエンド202、サービス・プロバイダ・システム204及び/又はクラウド・ストレージ・システム206でホスト管理されている1つ以上のチューナに命令して、メディア・コンテンツ・アイテムを既に記録している又はそれの記録が予約されているコンテンツ・ソース106及び/又は他のメディア・デバイス108から、直接、追加メディア・コンテンツ・アイテムを受信しかつ格納することができる。一実施態様では、ユーザが、後に、1つ以上のユーザのメディア・デバイスを使用してメディア・コンテンツ・アイテムにアクセスすることができるように、サービス・プロバイダ・システム204によってクラウド・ストレージに記録されかつ格納されたメディア・コンテンツ・アイテムは、ユーザのアカウントに関連付けることができる。
上記したように、クラウド・チューナを使用してメディア・コンテンツ・アイテムを記録することは、(例えば、ユーザのデバイスに警告メッセージが送信されることに応答して)ユーザがクラウド・チューナを使用する希望を示す入力を提供することに応答して、開始させることができ、又はサービス・プロバイダ・システム204は、明確なユーザ入力無しに、自動的にレコーディングを開始することができる。サービス・プロバイダ・システム204は、次いで、レコーディングをユーザのアカウントに関連させて、ユーザが、クラウド・ストレージからコンテンツをストリーム配信し又はダウンロードすることによって、1つ以上のユーザのメディア・デバイスでレコーディングにアクセスすることを可能にする。
3.5.クラウド・ストレージ・エクステンダ
記録されたメディア・コンテンツ・アイテム及び他のデータを格納するメディア・デバイスに利用可能なストレージ空間は、典型的には、メディア・デバイスに組込まれているストレージ・デバイス(例えば、1つ以上のハードディスク)によって提供されるストレージの量によって制限される。いくつかのメディア・デバイスは、小容量のローカル・ストレージしか含まず、かつ基本的には、デバイスでローカルに大量のメディア・コンテンツ・アイテムを格納するのでは無く他のデバイスにメディア・コンテンツをストリーム配信すると言う機能しか有していない。これらの及び他の理由から、もはや興味がない、以前に記録したメディア・コンテンツ・アイテムを手動で削除することにより、及び/又はメディア・デバイスに、記録されたメディア・コンテンツ・アイテムを環境設定可能な時間周期の後(例えば、2週間後)に自動的に削除する削除ポリシーを環境設定することにより、ユーザは、通常、メディア・デバイスで利用可能なストレージ空間を管理する。一実施態様では、クラウド・ベースのメディア・コンテンツ管理システムは、メディア・デバイスに記録されているメディア・コンテンツ・アイテムに対し追加ストレージ空間を提供することができ、そしてメディア・コンテンツ・アイテムが、メディア・コンテンツ・アイテムが当初記録されたメディア・デバイスから削除された後でさえ、メディア・デバイスが、(ユーザによって明確に削除されたか、又は削除ポリシーに基づいて削除されたかに関わらず)記録されていたメディア・コンテンツ・アイテムにアクセスすることを可能にすることができる。
図13は、クラウド・ストレージ・システムを使用して、メディア・デバイス・ストレージを拡張する具体例のプロセスを示す流れ図である。ブロック1302で、メディア・デバイスは、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信する。例えば、メディア・デバイス108は、ユーザからの直接入力としてメディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信することができ、又はリクエストを、サービス・プロバイダ・システム204又は他のデバイスから受信することができる。ブロック1304で、メディア・デバイスは、メディア・コンテンツ・アイテムの第一コピーをメディア・デバイスに格納する。
ブロック1306で、メディア・デバイスは、メディア・コンテンツ・アイテムの第二コピーをクラウド・ストレージ・システムに格納させる。例えば、メディア・デバイス108は、メディア・コンテンツ・アイテムの全体のコピーをアップロードすること、分散されたアップロードの部分としてメディア・コンテンツ・アイテムの1つ以上の部分をアップロードすること、サービス・プロバイダ・システム204に、メディア・コンテンツ・アイテムをコンテンツ・ソースから取得させることにより、メディア・コンテンツ・アイテムの第二コピーをクラウド・ストレージ・システムに格納させることができる。
ブロック1308で、メディア・デバイスのストレージに格納されているメディア・コンテンツ・アイテムの第一コピーは、メディア・デバイス削除ポリシーに基づいて、メディア・デバイスのストレージから削除することができる。例えば、メディア・デバイス削除ポリシーは、メディア・コンテンツ・アイテムの格納の期間に基づいて、メディア・デバイスの利用可能なストレージ空間が少ないとの決定に基づいて、等々により、メディア・コンテンツ・アイテムが、削除されるべきであることを示すことができる。他の具体例では、メディア・コンテンツ・アイテムは、明確に、ユーザによって(おそらく、他のメディア・コンテンツ・アイテムのためにストレージ空間を解放することを望むユーザによって)、削除させることができる。
ブロック1310で、メディア・コンテンツ・アイテムの第一コピーがメディア・デバイスのストレージから削除された後、このメディア・コンテンツ・アイテムを再生するリクエストが、受信される。例えば、ユーザが、メディア・コンテンツ・アイテムを手動で削除する又はメディア・デバイスが、削除ポリシーに基づいてメディア・コンテンツ・アイテムを削除する場合、メディア・コンテンツ管理システム102は、削除されたメディア・コンテンツ・アイテム(複数も含む)を、削除の後追加時間周期の間ユーザが利用可能となるようにすることができる。メディア・コンテンツ・アイテムの「削除」は、例えば、クラウド・ストレージからメディア・コンテンツ・アイテムを削除する代わりに、ユーザのアカウントからメディア・コンテンツ・アイテムのリンクを外すのみとすることもできる。例えば、ユーザが、メディア・コンテンツ・アイテムのローカルに格納されているコピーをメディア・デバイス108から削除することに応答して、メディア・デバイスは、ユーザが、メディア・コンテンツ・アイテムの削除を既にリクエストしたことを示す通知をメディア・コンテンツ管理システムに送信することができる。メディア・コンテンツ管理システムは、ユーザが、(例えば、ユーザのアカウント情報からメディア・コンテンツ・アイテムのリファレンスを除去することによって)メディア・コンテンツ・アイテムの削除を既にリクエストしていたことを示すデータを、格納する又は更新するが、削除の後の時間の環境設定可能な周期(例えば、1週間又は1ヵ月)の間は、メディア・コンテンツ・アイテムのコピーをクラウド・ベースのストレージ・システムに格納し続ける。もし、ユーザが、後で、割り当てられた時間周期の範囲内で以前に削除されたメディア・コンテンツ・アイテムを視聴することを望むと、ユーザは、クラウド・ストレージからメディア・コンテンツ・アイテムにアクセスする(例えば、ストリーム配信する又はダウンロードする)ことができる。
ブロック1312で、メディア・コンテンツ・アイテムを再生するリクエストを受信することに応答して、メディア・デバイスは、クラウド・ストレージ・システムからメディア・コンテンツ・アイテムの第二コピーを読出す。メディア・デバイスは、メディア・コンテンツ・アイテムのコピーをダウンロードする又はストリーム配信することにより、クラウド・ストレージ・システムからメディア・コンテンツ・アイテムの第二コピーを読出すことができる。一実施態様では、ユーザは、以前に削除されたメディア・コンテンツ・アイテムを読出す能力に対して、購読契約の追加料金を払う、又はユーザが、以前に削除されたメディア・コンテンツ・アイテムにアクセスするリクエストをするたびに、ユーザに料金を請求することができる。
一実施態様では、クラウド・ベースのメディア・コンテンツ管理システムは、1つ以上のクラウド・ストレージ削除ポリシーに従って、記録されたメディア・コンテンツ・アイテムを格納するように、環境設定させることができる。クラウド・ストレージ削除ポリシーの1つの具体例では、メディア・コンテンツ・アイテムが、レコーディングのために当初メディア・コンテンツ・アイテムを選択した各ユーザ・アカウントによって、削除のために選択されるまで、メディア・コンテンツ管理システムは、メディア・コンテンツ・アイテムをクラウド・ストレージに格納することができる。他の具体例では、削除ポリシーは、コンテンツ・プロバイダ及び/又はヘッドエンドのオペレータによって環境設定される設定に基づいて決めることができる。1つの実施態様では、削除ポリシーの競合が、コンテンツ・プロバイダ及びヘッドエンドのオペレータの両方によって特定されると、特定の実装に応じて、最も拘束性のあるポリシー又は最も自由度の多いポリシーの何れかを、選択することができる。
一実施態様では、メディア・コンテンツ管理システムのユーザには、異なる格納ポリシーの数に基づいて、各ユーザに利用可能なストレージ空間に対して請求することができる。1つの具体例として、各ユーザ・アカウントには、各支払い請求期間の間にユーザによって格納されたデータの総量に基づいて、定期的に請求を行うことができる。他の具体例では、ユーザ・アカウントには、ユーザが、クラウド・ストレージに格納されたメディア・コンテンツ・アイテムをダウンロードする及び/又はストリーム配信することが出来る異なるデバイスの数に少なくとも部分的に基づいて、請求を行うことができる。さらに他の具体例では、ユーザ・アカウントには、ユーザに許可されている並列のストリーム配信セッションの数に基づいて、異なるビット速度及び他のメディア・コンテンツ品質属性へのアクセスに基づいて、又は任意の他のアカウント条件に基づいて、請求を行うことができる。
一実施態様では、メディア・コンテンツ・アイテムをクラウド・ストレージ・システムに格納することは、以前に記録されたメディア・コンテンツ・アイテムをユーザの新規なメディア・デバイスに復元するために、ユーザが、追加メディア・デバイスをグレードアップする、置換する、又は追加することを可能にするために、使用することができる。図14は、クラウド・ベースのメディア・コンテンツ管理システムが、アップグレードされた及び/又は置換されたメディア・デバイスによって、クラウド・ストレージに格納されたメディア・コンテンツ・アイテムへのアクセスを管理するための具体例のフロー1400を表す。
ブロック1402で、クラウド・ベースのメディア・コンテンツ管理システムは、ユーザ・アカウントに関連付けられている1つ以上のメディア・デバイスによりレコーディングが予約されたメディア・コンテンツ・アイテムを示すデータを格納する。例えば、ユーザが、特定メディア・コンテンツ・アイテムをレコーディングのためにメディア・デバイス108で選択するたびに、メディア・デバイスは、予約されたレコーディングについての情報を示すデータをサービス・プロバイダ・システム204に送信することができる。一実施態様では、予約されたレコーディングについての情報を示すデータを受信することに応答して、サービス・プロバイダ・システム204は、メディア・コンテンツ・アイテムのコピーをクラウド・ストレージに格納させることができる。例えば、サービス・プロバイダ・システム204は、メディア・コンテンツ・アイテムをメディア・デバイス108の集合からアップロードさせることができ、又は、システムは、コンテンツ・ソース106から直接メディア・コンテンツ・アイテムを得ることができる。
ブロック1404で、メディア・コンテンツ管理システムは、メディア・デバイスとユーザ・アカウントの新規な関連付けを示すデータを受信する。例えば、ユーザ・アカウントに関連付けられているユーザは、メディア・デバイスでユーザ証明書を提供することによって、サービス・プロバイダ・システム204に新規なデバイスを登録することができる。ユーザがユーザ証明書を提供することに応答して、新規なメディア・デバイスは、メディア・デバイス及びユーザ・アカウントを識別するデータを、サービス・プロバイダ・システム204に送信することができる。サービス・プロバイダ・システム204は、次いで、新規なメディア・デバイスがユーザ・アカウントに関連していることを示す情報を格納することができる。例えば、新規なメディア・デバイスは、ユーザが所有する既存のデバイスをアップグレードするため、ユーザによって既に所有されているメディア・デバイスを補完するため、故障したデバイスを置換するため等で、ユーザが購入したデバイスとすることができる。一実施態様において、サービス・プロバイダ204は、各ユーザがユーザ・アカウントとの関連付けが許されているデバイスの数を制限することができ、又は、追加料金を、関連付けられているデバイスの数に応じて請求することができる。
ブロック1406で、システムは、メディア・デバイスから、同じユーザ・アカウントによってレコーディングのために以前に選択されたメディア・コンテンツ・アイテムに対するリクエストを受信する。例えば、このリクエストは、最初のデバイス環境設定プロセスの部分として新しく関連付られたメディア・デバイスによって、又は前に記録されたメディア・コンテンツ・アイテムの1つ以上をデバイスが読出すことをリクエストする入力を、ユーザが提供することに応答して、生成することができる。もし、ユーザが、故障したメディア・デバイスを交換メディア・デバイスにより置換しようとすると、例えば、ユーザは、同じユーザ・アカウントに関連付けられている故障したメディア・デバイス及び/又は他のメディア・デバイスによって以前に記録されたメディア・コンテンツ・アイテムの全てを復元することを望むことができる。
ブロック1408で、メディア・コンテンツ・アイテムは、クラウド・ストレージからメディア・デバイスに送信される。例えば、サービス・プロバイダ・システム204は、メディア・コンテンツ・アイテムを、直接、メディア・デバイスに送信することができる、又は、メディア・デバイスに、サービス・プロバイダ・システム204によって管理されているクラウド・ストレージ・システムからのメディア・コンテンツ・アイテムに、アクセスさせることができる。新規なメディア・デバイスは、メディア・コンテンツ・アイテムをローカル・ストレージにダウンロード及び格納することができ、及び/又は再生のためにメディア・コンテンツ・アイテムをストリーム配信することができる。このようにして、サービス・プロバイダ・システム204は、ユーザが、ユーザの他のメディア・デバイスによって以前記録されたメディア・コンテンツへのアクセスを失うこと無く、メディア・デバイスをアップグレードする及び/又は置換することを可能にすることができる。
4.0.実施態様の例
一実施態様では、方法又は非一時的コンピュータ可読媒体は、メディア・デバイスが、メディア・コンテンツ・アイテムを受信するステップと;前記メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別するステップと;前記2つ以上のセグメントの前記境界を識別することに基づいて、前記メディア・デバイスが、クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの1つ以上の特定セグメントを選択するステップと;前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するステップとを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと;前記2つ以上のセグメントの各々に対する前記1つ以上のセグメント識別値をメディア・コンテンツ管理サーバに送信するステップとを、備える。
一実施態様の場合、前記方法又は前記固定コンピュータ可読媒体は、更に、前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと;前記2つ以上のセグメントの各々に対して前記1つ以上のセグメント識別値から導出された値をメディア・コンテンツ管理サーバに送信するステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体において、更に、クラウド・ストレージ・システムに送信する前記2つ以上のセグメントの前記1つ以上の特定セグメントを選択するステップが、メディア・コンテンツ管理サーバから、前記メディア・デバイスに前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するよう命令するデータを受信するステップを含む。
一実施態様の場合、前記方法又は非一時的コンピュータ可読媒体において、前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムの範囲内で画像のグループ(GOP)の指定された数に基づいている。
一実施態様の場合、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいている。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいていて、前記メタデータ値が番組クロック・リファレンス(PCR)値を表す。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいていて、前記メタデータ値が提示タイム・スタンプ(PTS)値を表す。
一実施態様の場合、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記2つ以上の各セグメントごとに前記1つ以上のセグメント識別値を生成するステップが、前記2つ以上のセグメントを備えるデータに基づいてハッシュ値を生成することを含む。
一実施態様の場合、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記2つ以上の各セグメントごとに前記1つ以上のセグメント識別値を生成するステップが、前記2つ以上のセグメントを備えるデータに基づいてフィンガープリントを生成することを含む。
一実施態様の場合、前記方法又は非一時的コンピュータ可読媒体は、更に、前記2つ以上のセグメントが、2つ以上の第一セグメントを表し;前記メディア・コンテンツ・アイテムの範囲内で前記1つ以上の第二セグメントの境界を識別するステップであって、前記1つ以上の第二セグメントが、前記2つ以上の第一セグメントから前記メディア・コンテンツ・アイテムの異なる部分を表す、ステップと;前記1つ以上の各第二セグメントごとに、前記1つ以上の第二セグメント識別値を生成するステップと;前記1つ以上の第二セグメントごとに、前記1つ以上の第二セグメント識別値を、前記メディア・コンテンツ管理サーバに送信するステップと;前記メディア・デバイスが前記1つ以上の第二セグメントをクラウド・ストレージ・システムに送信しないように命令するデータを受信するステップとを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記メディア・デバイスに関連付けられている1つ以上のアップロード効率測定値を決定するステップであって、前記アップロード効率測定値が、前記メディア・デバイスの信号強度、前記メディア・デバイスが接続されているネットワークのタイプ、現在のネットワーク速度、前記メディア・デバイスのタイプの1つ以上を含むステップと;前記アップロード効率測定値を前記メディア・コンテンツ管理サーバに送信するステップとを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体が、更に、前記メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別する命令を含むデータを、メディア・コンテンツ管理サーバから受信するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読格納媒体は、更に、前記メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別するための命令を含むデータを、第二メディア・デバイスから受信するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読格納媒体は、更に、前記メディア・デバイスが、第二メディア・コンテンツ・アイテムを受信するステップと;前記第二メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別するステップと;前記第二メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別することに基づいて、前記メディア・デバイスが、前記第二メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの何れも、クラウド・ストレージ・システムに送信しないと決定するステップとを、備える。
一実施態様では、方法又は非一時的コンピュータ可読格納媒体は、以下を備える:1つ以上の第一チューナに関連付けられているサーバが、予約開始時刻にメディア・コンテンツ・アイテムのレコーディングを予約するリクエストを示すデータを受信するステップであって、前記リクエストがユーザ・アカウントに関連付けられている1つ以上のメディア・デバイスの内のメディア・デバイスによって受信される、ステップと;前記ユーザ・アカウントに関連付けられている前記1つ以上のメディア・デバイスが、1つ以上の第二チューナを備え;前記予約開始時刻に前記第一又は第二チューナの各々のチューナに衝突が存在すると決定するステップと;前記予約開始時刻に前記第一又は第二チューナの各々のチューナに衝突が存在すると決定することに応答して、前記1つ以上の第一チューナの内のチューナを用いて前記メディア・コンテンツ・アイテムのレコーディングを予約するステップとを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記1つ以上の第一チューナの内の前記チューナを用いた、前記メディア・コンテンツ・アイテムの前記レコーディングが、クラウド・ストレージ・システムに格納される。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記メディア・コンテンツ・アイテムのコピーを、前記ユーザ・アカウントに関連付けられている前記1つ以上の前記メディア・デバイスに送信するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読格納媒体においては、更に、前記ユーザ・アカウントには、前記1つ以上の第一チューナの使用料金が請求される。
一実施態様では、方法又は非一時的コンピュータ可読媒体が、メディア・デバイスで、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信するステップと;前記メディア・コンテンツ・アイテムの前記レコーディングを予約する前記リクエストに基づいて、前記メディア・デバイスで前記メディア・コンテンツ・アイテムの第一コピーを格納するステップと;クラウド・ストレージ・システムに、前記メディア・コンテンツ・アイテムの第二コピーを格納させるステップと;メディア・デバイス削除ポリシーに基づいて、前記メディア・デバイスに格納されている前記メディア・コンテンツ・アイテムの前記第一コピーを削除するステップと;前記メディア・デバイスに格納されている前記メディア・コンテンツ・アイテムの前記第一コピーを削除することに続いて、前記メディア・コンテンツ・アイテムを再生するリクエストを受信するステップと;前記メディア・コンテンツ・アイテムを再生する前記リクエストを受信することに応答して、前記メディア・コンテンツ・アイテムの前記第二コピーを前記クラウド・ストレージ・システムから読出すステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記クラウド・ストレージが、クラウド・ストレージ・プロバイダによって管理される。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記クラウド・ストレージが、テレビジョン・ヘッドエンド・オペレータによって管理される。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、クラウド・ストレージ削除ポリシーに基づいて、前記メディア・デバイスに関連付けられているユーザ・アカウントで利用可能なメディア・コンテンツ・アイテムのリストから前記メディア・コンテンツ・アイテムを除去するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、クラウド・ストレージ削除ポリシーに基づいて、前記メディア・デバイスに関連付けられているユーザ・アカウントで利用可能なメディア・コンテンツ・アイテムのリストから前記メディア・コンテンツ・アイテムを、除去するステップと;前記アカウント・ユーザに関連付けられているユーザが、追加クラウド・ストレージ空間を購入したと決定するステップと;前記ユーザ・アカウントに関連付けられているユーザが、追加クラウド・ストレージ空間を購入したとの決定に基づいて、前記ユーザ・アカウントで利用可能なメディア・コンテンツ・アイテムの前記リストから前記メディア・コンテンツ・アイテムを追加するステップとを、備える。
一実施態様では、方法又は非一時的コンピュータ可読媒体が備える:メディア・コンテンツ管理サーバで、特定メディア・コンテンツ・アイテムのレコーディングを予約する第一の数のリクエストを受信するステップであって、前記第一の数のリクエストの内の各々のリクエストが、複数のメディア・デバイスの内のメディア・デバイスから受信される、ステップと;ここでは、前記複数のメディア・デバイスの各々のメディア・デバイスが、複数のユーザ・アカウントの内のユーザ・アカウントに関連付けられていて、前記複数のユーザ・アカウントの内の各ユーザ・アカウントが、クラウド・ストレージ空間の量に関連付けられている;前記インターネットを介して前記複数のメディア・デバイスがアクセス可能なクラウド・ストレージ・システムで、前記特定メディア・コンテンツ・アイテムの第二の数のコピーを格納させるステップであって、格納されたコピーの前記第二の数が、前記特定メディア・コンテンツ・アイテムのレコーディングを予約するリクエストの前記第一の数より少ない、ステップと;前記複数のユーザ・アカウントの内の各ユーザ・アカウントに関連付けられている、使用されるクラウド・ストレージ空間の量を増加させるステップであって、前記量が前記メディア・コンテンツ・アイテムの前記サイズに基づいている、ステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記量が、前記メディア・コンテンツ・アイテムの全体サイズを表す。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記量が、前記メディア・コンテンツ・アイテムの全体サイズの画分を表し、前記画分がリクエストの前記第一の数に基づいている。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記複数のメディア・デバイスの内の特定メディア・デバイスから、前記メディア・コンテンツ・アイテムを削除するリクエストを受信するステップであって、前記特定メディア・デバイスが、前記複数のユーザ・アカウントの特定ユーザ・アカウントに関連付けられている、ステップと;前記特定メディア・コンテンツ・アイテムに関連付けられている、使用されるクラウド・ストレージ空間の前記量を減少させるステップとを、備える。
一実施態様では、方法又は非一時的コンピュータ可読媒体が、メディア・デバイスから、メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信するステップと;前記メディア・コンテンツ・アイテムに対する関連性値を決定するステップであって、前記関連性値が、前記メディア・コンテンツ・アイテムを再生するリクエストが、時間の確定された期間において受信される可能性を示している、ステップと;少なくとも部分的に前記関連性値に基づいて、第一ストレージ・システム及び第二ストレージ・システムの1つに前記メディア・コンテンツ・アイテムを格納することを決定するステップと;前記第一ストレージ・システム及び前記第二ストレージ・システムの1つに前記メディア・コンテンツ・アイテムを格納するステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記関連性値に少なくとも部分的に基づいて、前記メディア・コンテンツ・アイテムを格納するためのフォーマットを決定するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記関連性値に少なくとも部分的に基づいて、前記メディア・コンテンツ・アイテムを格納する品質レベルを決定するステップを備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記関連性値が、ユーザ・アカウントの集合に基づいている。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記メディア・コンテンツ・アイテムに対する前記関連性値を決定するステップが、1つ以上のユーザ・アカウントについての履歴データを分析するステップを含む。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体においては、更に、前記第一ストレージ・システムが、クラウド・ストレージ・プロバイダによって管理されるクラウド・ストレージを備え、そして前記第二ストレージ・システムが、テレビジョン・ヘッドエンド・オペレータによって管理されるクラウド・ストレージを備える。
一実施態様では、方法又は非一時的コンピュータ可読媒体は、メディア・コンテンツ管理サーバが、ユーザ・アカウントに関連付けられている1つ以上の第一メディア・デバイスによるレコーディングが予約されている複数のメディア・コンテンツ・アイテムを示すデータを格納するステップと;前記ユーザ・アカウントに関連付けられている第二メディア・デバイスとの新規な関係付けを示すデータを受信するステップと;前記複数のメディア・コンテンツ・アイテムの内の1つ以上のメディア・コンテンツ・アイテムに対するリクエストを前記第二メディア・デバイスから受信するステップと;前記第二メディア・デバイスが前記ユーザ・アカウントに関連付けられていると決定することに応答して、前記1つ以上のメディア・コンテンツ・アイテムを前記第二メディア・デバイスに送信するステップとを、備える。
一実施態様では、方法又は非一時的コンピュータ可読媒体は、メディア・デバイスで、メディア・コンテンツ・アイテムの部分を格納するステップを備え、前記メディア・コンテンツ・アイテムを再生するリクエストを受信することに応答して、前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの前記部分を再生し、;そして前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの前記部分の終了位置に対応する開始位置から前記メディア・コンテンツ・アイテムのコピーをストリーム配信するリクエストを、クラウド・ストレージ・システムに送信する。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記メディア・デバイスで、前記メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信するステップと;前記メディア・コンテンツ・アイテムの前記レコーディングを予約する前記リクエストに応答して、前記予約開始時刻に前記メディア・コンテンツ・アイテムを記録するステップと;前記メディア・デバイスが前記メディア・コンテンツ・アイテムを記録したことを示すデータを、メディア・コンテンツ管理サーバに送信するステップと;前記メディア・コンテンツ・アイテムの前記部分を除いて前記メディア・コンテンツの全てを、前記メディア・デバイスから削除するステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記メディア・デバイスで、前記メディア・コンテンツ・アイテムのレコーディングを予約するリクエストを受信するステップと;前記メディア・コンテンツ・アイテムの前記レコーディングを予約する前記リクエストに応答して、前記予約開始時刻に前記メディア・コンテンツ・アイテムを記録するステップと;前記メディア・コンテンツ・アイテムのコピーをクラウド・ストレージ・システムに送信するステップとを、備える。
一実施態様では、方法又は非一時的コンピュータ可読媒体は、メディア・デバイスが、ライブのメディア・コンテンツ・ストリーム配信の再生を休止するコマンドを受信したことを示すデータを、前記メディア・デバイスから受信するステップと;前記メディア・デバイスが前記メディア・コンテンツ・アイテムの再生を休止する前記コマンドを受信したことを示す前記データを受信することに応答して、クラウド・ストレージ・システムのサーバに前記メディア・コンテンツ・アイテムを記録させるステップと;前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの再生を再開するコマンドを受信したことを示すデータを受信することに応答して、前記クラウド・ストレージ・システムから前記メディア・デバイスに前記メディア・コンテンツ・アイテムのコピーをストリーム配信するステップとを、備える。
一実施態様では、前記方法又は非一時的コンピュータ可読媒体は、更に、前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの再生を休止する前記コマンドを示す前記データを受信することに続いて、前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの前記ライブのポイントに到達したことを示すデータを受信するステップと;前記メディア・デバイスが、前記メディア・コンテンツ・アイテムの前記ライブのポイントに到達したことを示すデータを受信することに応答して、前記クラウド・ストレージ・システムからの前記メディア・コンテンツ・アイテムの前記コピーのストリーム配信を中止するステップと;テレビジョン・オペレータ・ヘッドエンドに、前記メディア・コンテンツ・アイテムを前記メディア・デバイスに送信することを再開させるステップとを、備える。
5.0.実装メカニズム−ハードウェアの概観
1つの実施態様によると、本明細書で記述される技術は、1つ以上の専用コンピューティング・デバイスによって実装される。専用コンピューティング・デバイスは、技術を実行する配線された回路とすることができ、又は1つ以上の特定用途向け集積回路(ASIC)又は技術を実行するように持続的にプログラムされているフィールド・プログラマブル・ゲートアレイ(FPGA)のようなデジタル電子デバイスを含むことができ、又はファームウェア、メモリ、他のストレージ又はこれらの組合せ内にあるプログラム命令に従って技術を実行するようにプログラムされている1つ以上の汎用性ハードウェア・プロセッサを含むことができる。このような専用コンピューティング・デバイスは、カスタム配線ロジック、ASIC又はFPGAをカスタム・プログラミングと組合わせて技術を達成することもできる。この専用コンピューティング・デバイスは、デスクトップ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド・デバイス、ネットワーク化されているデバイス又は配線ロジック及び/又はプログラム・ロジックが組み込まれて技術を実装する任意の他のデバイスとすることができる。
例えば、図15は、本発明の実施態様を実装することができるコンピュータ・システム1500を示すブロック図である。コンピュータ・システム1500は、情報を通信するためのバス1502又は他の通信メカニズム、及び情報を処理するためのバス1502に結合されているハードウェア・プロセッサ1504を含む。ハードウェア・プロセッサ1504は、例えば、汎用マイクロプロセッサとすることができる。
コンピュータ・システム1500は、プロセッサ1504によって実行される情報及び命令を格納するためのバス1502に結合されている、ランダム・アクセス・メモリ(RAM)又は他の動的ストレージ・デバイスのようなメイン・メモリ1506も含む。メイン・メモリ1506は、プロセッサ1504によって実行される命令の実行中に一時変数又は他の中間情報を格納するために使用することもできる。このような命令は、プロセッサ1504がアクセス可能な非一時的格納媒体に格納されると、コンピュータ・システム1500を、命令により確定される動作を実行するようにカスタマイズされている専用マシンに変える。
コンピュータ・システム1500は、更に、プロセッサ1504に対する静的情報及び命令を格納するための、バス1502に結合されているリード・オンリ・メモリ(ROM)1508又は他の静的ストレージ・デバイスを含む。磁気ディスク又は光学ディスクのようなストレージ・デバイス1510が、提供され、かつ情報及び命令を格納するためのバス1502に結合される。
コンピュータ・システム1500は、コンピュータのユーザに情報を表示するために、陰極線管(CRT)のような表示1512にバス1502を介して結合させることができる。英数字及び他のキーを含む入力デバイス1514は、プロセッサ1504と情報及びコマンド選択を通信するためにバス1502に結合されている。他のタイプのユーザ入力デバイスは、マウス、トラックボールのようなカーソル制御1516、又はプロセッサ1504と方向情報及びコマンド選択を通信するためそして表示1512上のカーソル移動を制御するためのカーソル方向キーである。この入力デバイスは、通常、デバイスが平面の位置を特定することを可能とする、2本の軸、第一の軸(例えば、x)及び第二の軸(例えば、y)内で2つの自由度を有する。
コンピュータ・システム1500は、カスタマイズされた配線ロジック、1つ以上のASIC又はFPGA、ファームウェア及び/又はコンピュータ・システムとの結合によりコンピュータ・システム1500を専用目的マシンに変え又はプログラミングするプログラム・ロジックを使用して、本明細書に記載されている技術を実装することができる。一実施態様によれば、本明細書におけるこれらの技術は、プロセッサ1504が、メイン・メモリ1506に含まれている1つ以上の命令の1つ以上のシーケンスを実行することに応答して、コンピュータ・システム1500によって実行される。このような命令は、ストレージ・デバイス1510のような他の格納媒体からメイン・メモリ1506に読み込ませることができる。メイン・メモリ1506に含まれる命令のシーケンスの実施は、プロセッサ1504に本明細書に記載されているプロセス・ステップを実行させる。別の実施態様では、配線による回路をソフトウェア命令の代わりに、又はそれと結合して使用することができる。
「格納媒体」という本明細書で用いられる用語は、特定方式でマシンを動作させるデータ及び/又は命令を格納する任意の非一時的媒体を意味する。このような格納媒体は、不揮発性媒体及び/又は揮発性媒体を備えることができる。不揮発性媒体は、例えば、ストレージ・デバイス1510のような光学又は磁気ディスクを含む。揮発性媒体は、メイン・メモリ1506のようなダイナミック・メモリを含む。格納媒体の通常の形態は、例えば、フロッピ・ディスク、フレキシブル・ディスク、ハードディスク、固体ドライブ、磁気テープ又は任意の他の磁気データ格納媒体、CD−ROM、任意の他の光学データ格納媒体、ホール・パターンを有する任意の物理的媒体、RAM、PROM及びEPROM、FLASH−EPROM、NVRAM、任意の他のメモリ・チップ又はカートリッジを含む。
格納媒体は、単体であるが、送信媒体と共に使用することができる。送信媒体は、格納媒体間に情報を転送する機能を有する。例えば、送信媒体は、バス1502を備えるワイヤを含む同軸ケーブル、銅線及び光ファイバを含む。送信媒体は、電波及び赤外データ通信の間に生成されるような、音響波又は光波という形をとることもできる。
さまざまな形の媒体が、実行のためにプロセッサ1504に対する1つ以上の命令の1つ以上のシーケンスを担持することに関係させることができる。例えば、命令は、最初、リモート・コンピュータの磁気ディスク又は固体ドライブに担持させることができる。リモート・コンピュータは、命令をそのダイナミック・メモリにロードし、そしてモデムを使用して電話線により命令を送信することができる。コンピュータ・システム1500に付属するモデムは、電話線上のデータを受信し、そしてこのデータを赤外信号に変換する赤外送信器を使用することができる。赤外検出器は、赤外信号を担持したデータを受信し、そして適切な回路が、データをバス1502に配置することができる。バス1502は、プロセッサ1504が命令を読出しかつ実行するメイン・メモリ1506にデータを担持する。メイン・メモリ1506によって受信される命令は、オプションとして、プロセッサ1504による実行の前又は後の何れかで、ストレージ・デバイス1510に格納させることができる。
コンピュータ・システム1500は、バス1502に結合されている通信インターフェース1518も含む。通信インターフェース1518は、ローカル・ネットワーク1522に接続されているネットワーク・リンク1520に双方向データ通信結合を提供する。例えば、通信インターフェース1518は、総合サービス・デジタル・ネットワーク(ISDN)カード、ケーブル・モデム、衛星モデム、又は電話線の対応するタイプにデータ通信接続を提供するモデムとすることができる。別の例として、通信インターフェース1518は、互換のLANにデータ通信接続を提供するローカル・エリア・ネットワーク(LAN)カードとすることができる。無線リンクを、実装することもできる。このような如何なる実装においても、通信インターフェース1518は、様々なタイプの情報を表すデジタル・データ・ストリームを担持する、電気、電磁波又は光学信号を送信しかつ受信する。
ネットワーク・リンク1520は、通常、1つ以上のネットワークによりデータ通信を他のデータ・デバイスに提供する。例えば、ネットワーク・リンク1520は、ホスト・コンピュータ1524に、又はインターネット・サービス・プロバイダ(ISP)1526によって作動されるデータ装置に、ローカル・ネットワーク1522による接続を提供することができる。ISP 1526は、次に、現在一般に「インターネット」1528と呼ばれる世界的パケット・データ通信ネットワークによりデータ通信サービスを提供する。ローカル・ネットワーク1522及びインターネット1528は、両方とも、デジタル・データ・ストリームを担持する電気、電磁波又は光学信号を使用する。コンピュータ・システム1500へ/からデジタルデータを担持する、さまざまなネットワークによる信号及びネットワーク・リンク1520上の及び通信インターフェース1518による信号は、送信媒体の形態の具体例である。
コンピュータ・システム1500は、ネットワーク、ネットワーク・リンク1520及び通信インターフェース1518によって、メッセージを送信しかつプログラムコードを含むデータを受信することができる。インターネットの例では、サーバ1530は、インターネット1528、ISP 1526、ローカル・ネットワーク1522及び通信インターフェース1518によって、アプリケーション・プログラムに対してリクエストされたコードを送信するかもしれない。
受信されるコードは、それが受信されると同時に、プロセッサ1504によって実行することができ、及び/又はストレージ・デバイス1510又は後の実行のために他の非一時的ストレージに格納することができる。
一実施態様の場合、本明細書において記載されているシステムの一部もしくは全部は、一組のサーバ側プロセスとしてシステムの各種コンポーネントを共同して実装する1つ以上のサーバ・コンピュータ・デバイスを含むサーバとする及び/又はそれを備えることができる。サーバ・コンピュータ・システムは、ウェブ・サーバ、アプリケーション・サーバ、データベース・サーバ及び/又はこれらのコンポーネントが、記載されている機能を提供するために利用する他の従来のサーバ・コンポーネントを含むことができる。サーバ・コンピュータ・システムは、これらに限定されるものではないが(デスクトップ・コンピュータ、タブレット又はスマートフォン、リモート・センシング・デバイス及び/又は他のサーバ・コンピュータ・システムのような)ユーザにより作動されるクライアントコンピューティング・デバイスを含む、様々なソースの何れかからの入力データも備える、ネットワーク・ベースの通信を、受信することができる。
一実施態様の場合、あるサーバ・コンポーネントは、インターネットのような1つ以上のネットワークによってシステムに結合されている「クラウド」ベースのコンポーネントを使用して、完全に又は部分的に実装させることができる。クラウド・ベースのコンポーネントは、処理、格納、ソフトウェア及び/又は他の資源をシステムの他のコンポーネントに提供する、インターフェースに露出される。一実施態様の場合、クラウド・ベースのコンポーネントは、コンポーネントが配備される他のエンティティのために、第三のサードパーティ・エンティティによって実装させることができる。しかしながら、他の実施態様では、上述されたシステムは、単一エンティティによって所有されかつ運営されるコンピュータ・システムによって完全に実装させることができる。
6.0 拡張及び変形例
本明細書において、「第一」、「第二」、「ある」、そして「特定」の用語は、問合せ、計画、表現、ステップ、オブジェクト、デバイス又は他のアイテムを互いに区別し、これにより、これらの用語が導入された後に、これらのアイテムを参照することができるようにするための命名規則として使用されている。本明細書において特に規定されない限り、これらの用語の使用は、参照されたアイテムの順序、タイミング又は任意の他の特性を意味するものではない。
前述の明細書において、本発明の実施態様は、実施態様ごとに異なる多数の特定の詳細を参照して記述された。従って、何が発明であるか、かつ何が本出願人が意図する発明であるかを示す唯一かつ排他的な指標は、以降の如何なる訂正も含めて、このような請求項が生じる特定の形態で、本出願から生じる請求項の組である。この点に関しては、特有な請求項の従属性が、本出願の請求項に記載されているが、本出願の従属クレームの特徴は、他の従属請求項の特徴と、そして本出願の独立請求項の特徴と、適切に、そして請求項の組に記載される特有な従属性に単に従うのではなく、結合することができる点に留意する必要がある。
このような請求項に含まれる用語に対する本明細書で明白に述べられた何れの規定も、請求項において用いられているこのような用語の意味を決める。それ故、請求項において明白に記載されていない限定、素子、属性、特長、利点又は属性は、如何なる形であれこのような請求項の範囲を制限するものではない。従って、明細書及び図面は、限定するものではなく、例示するものであると考えるべきである。
優先権主張
本出願は、2014年5月6日に出願された仮出願第61/989,466号及び2014年9月10日に出願された仮出願第62/048,788号の利益を主張する。このコンテンツの全体は、特許法第119条(e)の下で、あたかも本明細書において完全に記載されているかのように、引用によって、本願に組み込まれている。

Claims (30)

  1. メディア・デバイスが、メディア・コンテンツ・アイテムを受信するステップと、
    前記メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別するステップと、
    前記2つ以上のセグメントの前記境界を識別するステップに基づいて、前記メディア・デバイスが、クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの1つ以上の特定セグメントを選択するステップと、
    前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するステップと、
    を備える方法。
  2. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと、
    前記2つ以上のセグメントの各々に対する前記1つ以上のセグメント識別値をメディア・コンテンツ管理サーバに送信するステップと、
    を更に備える、請求項1に記載の方法。
  3. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと、
    前記2つ以上のセグメントの各々に対して前記1つ以上のセグメント識別値から導出された値をメディア・コンテンツ管理サーバに送信するステップと、
    を更に備える、請求項1に記載の方法。
  4. クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの前記1つ以上の特定セグメントを選択するステップが、メディア・コンテンツ管理サーバから、前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するよう前記メディア・デバイスに命令するデータを受信するステップを含む、請求項1に記載の方法。
  5. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムの範囲内で画像のグループ(GOP)の指定された数に基づいている、請求項1に記載の方法。
  6. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいている、請求項1に記載の方法。
  7. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいていて、前記メタデータ値が番組クロック・リファレンス(PCR)値を表す、請求項1に記載の方法。
  8. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいていて、前記メタデータ値が提示タイム・スタンプ(PTS)値を表す、請求項1に記載の方法。
  9. 前記2つ以上のセグメントの各々に対し前記1つ以上のセグメント識別値を生成するステップが、前記2つ以上のセグメントを備えるデータに基づいてハッシュ値を生成することを含む、請求項2に記載の方法。
  10. 前記2つ以上のセグメントの各々に対し前記1つ以上のセグメント識別値を生成するステップが、前記2つ以上のセグメントを備えるデータに基づいてフィンガープリントを生成することを含む、請求項2に記載の方法。
  11. 前記2つ以上のセグメントが、2つ以上の第一セグメントを表し、
    前記メディア・コンテンツ・アイテムの範囲内で1つ以上の第二セグメントの境界を識別するステップであって、前記1つ以上の第二セグメントが、前記2つ以上の第一セグメントとは異なる前記メディア・コンテンツ・アイテムの部分を表す、ステップと、
    前記1つ以上の各第二セグメントの各々に対し、1つ以上の第二セグメント識別値を生成するステップと、
    前記1つ以上の第二セグメントの各々に対し、前記1つ以上の第二セグメント識別値を、前記メディア・コンテンツ管理サーバに送信するステップと、
    前記1つ以上の第二セグメントを前記クラウド・ストレージ・システムに送信しないように前記メディア・デバイスに命令するデータを受信するステップと、
    を更に備える、請求項2に記載の方法。
  12. 前記メディア・デバイスに関連付けられている1つ以上のアップロード効率測定値を決定するステップであって、前記アップロード効率測定値が、前記メディア・デバイスの信号強度、前記メディア・デバイスが接続されているネットワークのタイプ、現在のネットワーク速度、前記メディア・デバイスのタイプの1つ以上を含むステップと、
    前記アップロード効率測定値を前記メディア・コンテンツ管理サーバに送信するステップと、
    を更に備える、請求項1に記載の方法。
  13. 前記メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別するための命令を含むデータを、メディア・コンテンツ管理サーバから受信するステップを更に備える、請求項1に記載の方法。
  14. 前記メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別するための命令を含むデータを、第二メディア・デバイスから受信するステップを更に備える、請求項1に記載の方法。
  15. 前記メディア・デバイスが、第二メディア・コンテンツ・アイテムを受信するステップと、
    前記第二メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別するステップと、
    前記第二メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別することに基づいて、前記メディア・デバイスが、前記第二メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの何れをも、クラウド・ストレージ・システムに送信しないと決定するステップと、
    を更に備える請求項1に記載の方法。
  16. 1つ以上のプロセッサに実施させると、以下のステップ、
    メディア・デバイスが、メディア・コンテンツ・アイテムを受信するステップ、
    前記メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別するステップ、
    前記2つ以上のセグメントの前記境界を識別するステップに基づいて、前記メディア・デバイスが、クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの1つ以上の特定セグメントを選択するステップ、
    前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するステップ、
    を実行させる命令が格納されている、1つ以上の非一時的コンピュータ可読格納媒体。
  17. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと、
    前記2つ以上のセグメントの各々に対する前記1つ以上のセグメント識別値をメディア・コンテンツ管理サーバに送信するステップと、
    を更に備える、請求項16に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  18. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成するステップと、
    前記2つ以上のセグメントの各々に対して前記1つ以上のセグメント識別値から導出された値をメディア・コンテンツ管理サーバに送信するステップと、
    を更に備える、請求項16に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  19. クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの前記1つ以上の特定セグメントを選択するステップが、メディア・コンテンツ管理サーバから、前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するよう前記メディア・デバイスに命令するデータを受信するステップを含む、請求項16に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  20. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいている、請求項16に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  21. 前記2つ以上の各セグメントの各々に対し前記1つ以上のセグメント識別値を生成するステップが、前記2つ以上のセグメントを備えるデータに基づいてハッシュ値を生成することを含む、請求項17に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  22. 前記2つ以上のセグメントが、2つ以上の第一セグメントを表し、
    前記メディア・コンテンツ・アイテムの範囲内で1つ以上の第二セグメントの境界を識別するステップであって、前記1つ以上の第二セグメントが、前記2つ以上の第一セグメントとは異なる前記メディア・コンテンツ・アイテムの部分を表す、ステップと、
    前記1つ以上の各第二セグメントの各々に対し、1つ以上の第二セグメント識別値を生成するステップと、
    前記1つ以上の第二セグメントの各々に対し、前記1つ以上の第二セグメント識別値を、前記メディア・コンテンツ管理サーバに送信するステップと、
    前記1つ以上の第二セグメントを前記クラウド・ストレージ・システムに送信しないように前記メディア・デバイスに命令するデータを受信するステップと、
    を更に備える、請求項17に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  23. 前記メディア・コンテンツ・アイテムの範囲内で前記2つ以上のセグメントの前記境界を識別する命令を含むデータを、メディア・コンテンツ管理サーバから受信するステップを更に備える、請求項16に記載の1つ以上の非一時的コンピュータ可読格納媒体。
  24. メディア・デバイスが、メディア・コンテンツ・アイテムを受信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記メディア・コンテンツ・アイテムの範囲内で2つ以上のセグメントの境界を識別することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記2つ以上のセグメントの前記境界を識別することに基づいて、前記メディア・デバイスが、クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの1つ以上の特定セグメントを選択することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    を備える装置。
  25. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記2つ以上のセグメントの各々に対する前記1つ以上のセグメント識別値をメディア・コンテンツ管理サーバに送信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    を更に備える請求項24に記載の装置。
  26. 前記2つ以上のセグメントの各々に対し1つ以上のセグメント識別値を生成することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記2つ以上のセグメントの各々に対して前記1つ以上のセグメント識別値から導出された値をメディア・コンテンツ管理サーバに送信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    を更に備える請求項24に記載の装置。
  27. クラウド・ストレージ・システムに送信するために前記2つ以上のセグメントの前記1つ以上の特定セグメントを選択することが、メディア・コンテンツ管理サーバから、前記1つ以上の特定セグメントを前記クラウド・ストレージ・システムに送信するよう前記メディア・デバイスに命令するデータを受信することを含む、請求項24に記載の装置。
  28. 前記メディア・コンテンツ・アイテムの範囲内の前記2つ以上のセグメントの前記境界が、前記メディア・コンテンツ・アイテムに関連付けられているメタデータ値の指定された範囲に基づいている、請求項24に記載の装置。
  29. 前記2つ以上の各セグメントの各々に対し前記1つ以上のセグメント識別値を生成することが、前記2つ以上のセグメントを備えるデータに基づいてハッシュ値を生成することを含む、請求項25に記載の装置。
  30. 前記2つ以上のセグメントが、2つ以上の第一セグメントを表し、
    前記メディア・コンテンツ・アイテムの範囲内で前記1つ以上の第二セグメントの境界を識別することを、少なくとも部分的にハードウェアで実施させるサブシステムであって、前記1つ以上の第二セグメントが、前記2つ以上の第一セグメントとは異なる前記メディア・コンテンツ・アイテムの部分を表す、サブシステムと、
    前記1つ以上の各第二セグメントの各々に対し、1つ以上の第二セグメント識別値を生成することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記1つ以上の第二セグメントの各々に対し、前記1つ以上の第二セグメント識別値を、前記メディア・コンテンツ管理サーバに送信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    前記1つ以上の第二セグメントを前記クラウド・ストレージ・システムに送信しないよう前記メディア・デバイスに命令するデータを受信することを、少なくとも部分的にハードウェアで実施させるサブシステムと、
    を更に備える請求項25に記載の装置。
JP2016566996A 2014-05-06 2015-05-06 クラウド・ベースのメディア・コンテンツの管理 Active JP6420850B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461989466P 2014-05-06 2014-05-06
US61/989,466 2014-05-06
US201462048788P 2014-09-10 2014-09-10
US62/048,788 2014-09-10
US14/705,938 2015-05-06
US14/705,938 US10275395B2 (en) 2014-05-06 2015-05-06 Cloud-based media content management
PCT/US2015/029565 WO2015171835A1 (en) 2014-05-06 2015-05-06 Cloud-based media content management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018193231A Division JP6752856B2 (ja) 2014-05-06 2018-10-12 クラウド・ベースのメディア・コンテンツの管理

Publications (2)

Publication Number Publication Date
JP2017525171A true JP2017525171A (ja) 2017-08-31
JP6420850B2 JP6420850B2 (ja) 2018-11-07

Family

ID=54367995

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016566996A Active JP6420850B2 (ja) 2014-05-06 2015-05-06 クラウド・ベースのメディア・コンテンツの管理
JP2018193231A Active JP6752856B2 (ja) 2014-05-06 2018-10-12 クラウド・ベースのメディア・コンテンツの管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018193231A Active JP6752856B2 (ja) 2014-05-06 2018-10-12 クラウド・ベースのメディア・コンテンツの管理

Country Status (5)

Country Link
US (3) US10275395B2 (ja)
EP (2) EP4096228A1 (ja)
JP (2) JP6420850B2 (ja)
CN (1) CN106717012B (ja)
WO (1) WO2015171835A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020521361A (ja) * 2017-05-10 2020-07-16 グーグル エルエルシー フィンガープリントを変換して不正なメディアコンテンツアイテムを検出するための方法、システムおよび媒体
KR102283318B1 (ko) * 2020-03-31 2021-07-30 쿠팡 주식회사 실시간 제품 등록을 전자적으로 결정하기 위한 컴퓨터-구현된 시스템 및 방법

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US9819984B1 (en) 2007-03-26 2017-11-14 CSC Holdings, LLC Digital video recording with remote storage
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US10019517B2 (en) 2014-05-06 2018-07-10 Tivo Solutions Inc. Managing media content upload groups
EP4096228A1 (en) 2014-05-06 2022-11-30 TiVo Solutions Inc. Cloud-based media content management
FR3023665B1 (fr) * 2014-07-08 2016-08-19 Sagemcom Documents Sas Procede et dispositif d'enregistrement a distance de programmes video.
US9819972B1 (en) * 2014-12-10 2017-11-14 Digital Keystone, Inc. Methods and apparatuses for a distributed live-on-demand (LOD) origin
AU2016215092A1 (en) 2015-02-05 2017-08-17 Uber Technologies, Inc. Programmatically determining location information in connection with a transport service
CN107111649B (zh) * 2015-03-02 2021-04-27 微软技术许可有限责任公司 将用户和系统数据从源位置上传到目的地位置
FR3034943B1 (fr) * 2015-04-07 2017-04-14 Streamroot Inc Procede de lecture en continu sur un equipement client d'un contenu diffuse au sein d'un reseau pair a pair
US9942578B1 (en) * 2015-12-07 2018-04-10 Digital Keystone, Inc. Methods and apparatuses for a distributed live-on-demand (LOD) origin
KR102222375B1 (ko) * 2015-12-23 2021-03-03 삼성전자주식회사 파일 관리 방법 및 그 전자 장치
EP3188037A1 (en) * 2015-12-31 2017-07-05 Thomson Licensing Method and device for managing personal media items
JP2017134480A (ja) * 2016-01-26 2017-08-03 キヤノン株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法、及びプログラム
US9930377B2 (en) * 2016-01-28 2018-03-27 Verizon Patent And Licensing Inc. Methods and systems for cloud-based media content transcoding
US10489420B2 (en) * 2016-01-29 2019-11-26 M-Files Oy Method, an apparatus and a computer program product for providing mobile access to a data repository
US10523755B1 (en) * 2016-02-17 2019-12-31 Amazon Technologies, Inc. Peer-based cloud storage for media broadcasts
US10348849B2 (en) 2016-02-22 2019-07-09 At&T Mobility Ii Llc Automatic delivery of media content to a device
US20170262930A1 (en) * 2016-03-11 2017-09-14 Dell Products, Lp System for Facilitating Common Purchases
US20170272435A1 (en) 2016-03-15 2017-09-21 Global Tel*Link Corp. Controlled environment secure media streaming system
US10687115B2 (en) * 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10944806B2 (en) 2016-06-22 2021-03-09 The Directv Group, Inc. Method to insert program boundaries in linear video for adaptive bitrate streaming
US10637842B2 (en) * 2016-07-09 2020-04-28 N. Dilip Venkatraman Method and system for sharing of real-time, dynamic, adaptive and non-linearly assembled videos on publisher platforms
US20180014037A1 (en) * 2016-07-09 2018-01-11 N. Dilip Venkatraman Method and system for switching to dynamically assembled video during streaming of live video
US10516909B2 (en) * 2016-07-09 2019-12-24 N. Dilip Venkatraman Method and system for recommending dynamic, adaptive and non-sequentially assembled videos
US10327043B2 (en) * 2016-07-09 2019-06-18 N. Dilip Venkatraman Method and system for displaying interactive questions during streaming of real-time and adaptively assembled video
US10743053B2 (en) * 2016-07-09 2020-08-11 N. Dilip Venkatraman Method and system for real time, dynamic, adaptive and non-sequential stitching of clips of videos
US10341436B2 (en) * 2016-09-14 2019-07-02 Dell Products L.P. Using cloud storage as temporary cache for backup
US10642917B2 (en) 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
US10405012B2 (en) * 2016-12-25 2019-09-03 Synamedia Limited Cloud DVR Optimization
US10904329B1 (en) * 2016-12-30 2021-01-26 CSC Holdings, LLC Virtualized transcoder
US10371542B2 (en) 2017-02-17 2019-08-06 Uber Technologies, Inc. System and methods for performing multivariate optimizations based on location data
US11316922B2 (en) 2017-02-28 2022-04-26 Arris Enterprises Llc Dynamic selection of storage device for storing media
US10129593B2 (en) 2017-03-14 2018-11-13 Charter Communications Operating, Llc Time-based dynamic secondary content placement calls in time-shifted content
US11074290B2 (en) * 2017-05-03 2021-07-27 Rovi Guides, Inc. Media application for correcting names of media assets
US10637846B2 (en) * 2017-08-30 2020-04-28 Capital One Services, Llc System and method for cloud-based analytics
US10469883B2 (en) 2017-09-13 2019-11-05 Amazon Technologies, Inc. Distributed multi-datacenter video packaging system
CN107861842B (zh) * 2017-11-08 2021-10-15 郑州云海信息技术有限公司 一种元数据损坏检测方法、系统、设备及存储介质
US10405027B2 (en) 2017-12-03 2019-09-03 Cisco Technology, Inc. Cloud DVR system with retroactive recording
US11330331B2 (en) 2017-12-12 2022-05-10 Google Llc Proactive detection of media item matching
US11588874B2 (en) * 2018-02-05 2023-02-21 Mcgraw Hill Llc Web-based content recording and adaptive streaming
US10839092B2 (en) 2018-02-14 2020-11-17 At&T Intellectual Property I, L.P. Cloud storage for access by remote subscribers
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US10771842B2 (en) 2018-04-09 2020-09-08 Hulu, LLC Supplemental content insertion using differential media presentation descriptions for video streaming
CN108900866A (zh) * 2018-06-12 2018-11-27 海南省火蓝数据有限公司 一种基于融媒体服务平台的多级数据直播系统
US11146832B1 (en) * 2018-11-08 2021-10-12 Amazon Technologies, Inc. Distributed storage of files for video content
US10911571B2 (en) * 2019-03-01 2021-02-02 Walmart Apollo, Llc System and method for prioritizing the disposition of remote assets for online product listings
CN110162678B (zh) * 2019-05-27 2022-04-15 朱志文 一种基于区块链的媒体号聚合管理方法、系统及存储介质
US11245959B2 (en) * 2019-06-20 2022-02-08 Source Digital, Inc. Continuous dual authentication to access media content
CN110493657A (zh) * 2019-08-22 2019-11-22 兰州启源信息技术服务有限公司 OnStream智能在线流媒体平台系统
US11494335B2 (en) * 2019-10-25 2022-11-08 EMC IP Holding Company LLC Reconstructing lost data objects by generating virtual user files from available tiers within a node
US11494517B2 (en) 2020-02-12 2022-11-08 Uber Technologies, Inc. Computer system and device for controlling use of secure media recordings
BR112022016162A2 (pt) * 2020-02-28 2022-10-04 Hulu Llc Identificação de elementos em um grupo para substituição dinâmica de elementos
WO2021178559A1 (en) * 2020-03-03 2021-09-10 Arris Enterprises Llc Smart notification for over-the-top (ott) streaming among multiple devices
CN114301903A (zh) * 2020-09-19 2022-04-08 华为云计算技术有限公司 一种基于内容分发网络获取数据的方法及装置
CN114979676A (zh) * 2021-02-20 2022-08-30 花瓣云科技有限公司 一种直播方法、装置及系统
US11284165B1 (en) 2021-02-26 2022-03-22 CSC Holdings, LLC Copyright compliant trick playback modes in a service provider network
CN113099149B (zh) * 2021-04-02 2022-08-05 杭州海康威视数字技术股份有限公司 一种数据处理方法、系统及存储介质
US12026378B2 (en) * 2021-12-22 2024-07-02 Comcast Cable Communications, Llc Method and system for efficient layout of stored video segments
US11631252B1 (en) * 2022-01-03 2023-04-18 Brian Lawrence Repper Visual media management for mobile devices
CN114500073B (zh) * 2022-02-11 2024-04-12 浪潮云信息技术股份公司 一种云存储系统中支持隐私保护的用户数据割接方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09322085A (ja) * 1996-05-28 1997-12-12 Sony Corp 放送データ受信装置
JP2009055518A (ja) * 2007-08-29 2009-03-12 Sharp Corp ストリーミングサーバー、及びストリーミングシステム
JP2009070361A (ja) * 2007-09-11 2009-04-02 Hitachi Ltd コンピュータストレージシステムにおいてデータ圧縮並びに整合性を管理する方法および装置
JP2009181648A (ja) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd デジタルデータ蓄積装置、デジタルデータ蓄積方法、蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法
JP2009206724A (ja) * 2008-02-27 2009-09-10 Kyocera Corp 再生装置
JP2011010225A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 情報処理装置及びそのプログラム、並びに情報処理装置におけるコンテンツデータの処理方法
WO2013081637A2 (en) * 2010-12-29 2013-06-06 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
JP2013207421A (ja) * 2012-03-27 2013-10-07 Oki Electric Ind Co Ltd ネットワークストレージ装置、および録画データ蓄積プログラム
JP2013214800A (ja) * 2012-03-30 2013-10-17 Ntt Communications Kk ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
AU5926499A (en) * 1998-09-15 2000-04-03 Microsoft Corporation Interactive playlist generation using annotations
US20020055972A1 (en) 2000-05-08 2002-05-09 Weinman Joseph Bernard Dynamic content distribution and data continuity architecture
US20050193408A1 (en) * 2000-07-24 2005-09-01 Vivcom, Inc. Generating, transporting, processing, storing and presenting segmentation information for audio-visual programs
US7747757B2 (en) 2000-11-17 2010-06-29 Computer Associates Think, Inc. Distributed network query
KR100467643B1 (ko) 2000-12-28 2005-01-24 엘지전자 주식회사 무선 랜에서의 멀티미디어 데이터 전송 방법
KR100513290B1 (ko) * 2003-06-30 2005-09-09 삼성전자주식회사 멀티미디어 컨텐츠와 세그먼트 메타데이터간의 시간 동기화를 위한 시스템 및 방법
US7840112B2 (en) 2003-10-08 2010-11-23 Intel Corporation Gradually degrading multimedia recordings
KR100911595B1 (ko) 2004-03-09 2009-08-07 호야 가부시키가이샤 마스크 블랭크 정보 취득방법 및 시스템, 마스크 블랭크 정보 제공방법, 전사 마스크 제작지원 및 제조방법, 그리고 마스크 블랭크 제조방법 및 제공방법
US8079052B2 (en) * 2004-04-23 2011-12-13 Concurrent Computer Corporation Methods, apparatuses, and systems for presenting advertisement content within trick files
EP1768347A1 (en) * 2005-09-21 2007-03-28 Alcatel Device for recording a broadcasted programme
US20090259730A1 (en) * 2005-09-26 2009-10-15 Nec Personal Products, Ltd. Content accumulating system, user terminal apparatus, content accumulating method,content accumulating program and storage medium
US8582946B2 (en) 2005-11-04 2013-11-12 Rovi Guides, Inc. Systems and methods for recording programs using a network recording device as supplemental storage
US8245267B2 (en) * 2006-04-28 2012-08-14 At&T Intellectual Property I, L.P. Methods, systems, and products for recording media on a user device
US20080126357A1 (en) * 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
US7873982B2 (en) 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US20080005204A1 (en) 2006-06-30 2008-01-03 Scientific-Atlanta, Inc. Systems and Methods for Applying Retention Rules
KR101316743B1 (ko) * 2007-03-13 2013-10-08 삼성전자주식회사 컨텐츠 비디오 영상 중 일부분에 관한 메타데이터를제공하는 방법, 상기 제공된 메타데이터를 관리하는 방법및 이들 방법을 이용하는 장치
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090210913A1 (en) * 2008-02-14 2009-08-20 Macdonald J Andrew Method of customer pvr to network-based dvr synchronization
US8595757B2 (en) 2008-03-05 2013-11-26 At&T Intellectual Property I, L.P. System and method of sharing media content
EP2263159B1 (en) * 2008-04-09 2016-05-25 Level 3 Communications, LLC Rule-based content request handling
US8464309B2 (en) * 2008-09-05 2013-06-11 Tivo Inc. Server-based program recording scheduling
CN101741884B (zh) * 2008-11-25 2012-07-04 华为技术有限公司 一种分布式存储方法和装置
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US9264758B2 (en) 2009-09-14 2016-02-16 Tivo Inc. Method and an apparatus for detecting media content recordings
US8484368B2 (en) 2009-10-02 2013-07-09 Disney Enterprises, Inc. Method and system for optimizing download and instantaneous viewing of media files
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
KR101758613B1 (ko) * 2010-03-09 2017-07-31 삼성전자주식회사 방송 컨텐츠 제공 방법 및 장치와 그 시스템
JP5400678B2 (ja) * 2010-03-19 2014-01-29 シャープ株式会社 太陽光発電プラント監視システム
KR101705813B1 (ko) * 2010-06-23 2017-02-10 삼성전자주식회사 무선 통신 시스템에서 멀티미디어 컨텐츠의 랜덤 액세스 방법 및 장치
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
US9003462B2 (en) 2011-02-10 2015-04-07 Comcast Cable Communications, Llc Content archive model
US9112948B1 (en) 2011-03-18 2015-08-18 Amazon Technologies, Inc. System and method for assignment and switching of content sources for a streaming content session
US9106943B2 (en) 2011-05-04 2015-08-11 Cisco Technology, Inc. Sharing of subscriber-recorded digital video recorder content
US20130132523A1 (en) * 2011-05-23 2013-05-23 Thomas Love Systems for the integrated design, operation and modification of databases and associated web applications
US20130016669A1 (en) * 2011-07-15 2013-01-17 Nokia Corporation Periodic Access Control
US8433815B2 (en) * 2011-09-28 2013-04-30 Right Brain Interface Nv Method and apparatus for collaborative upload of content
US20130166697A1 (en) * 2011-12-22 2013-06-27 Gregory P. Manning Multiconfiguration device cloud entity protocol
EP2651123B1 (en) * 2012-04-10 2017-02-01 Alcatel Lucent Personal network video recording device and method for operation of a personal network video recording device.
US9088623B2 (en) 2012-04-25 2015-07-21 Right Brain Interface Nv Method and system having collaborative network media appliances utilizing prioritized local storage of recommended content
CN103200272B (zh) * 2013-04-18 2016-01-20 南京工业大学 一种流媒体存储系统及存储方法
US9955203B2 (en) * 2013-09-24 2018-04-24 Ericsson Ab Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming
US9438942B2 (en) * 2014-03-04 2016-09-06 Verizon Patent And Licensing Inc. Configurable digital content storage
US10019517B2 (en) 2014-05-06 2018-07-10 Tivo Solutions Inc. Managing media content upload groups
EP4096228A1 (en) 2014-05-06 2022-11-30 TiVo Solutions Inc. Cloud-based media content management

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09322085A (ja) * 1996-05-28 1997-12-12 Sony Corp 放送データ受信装置
JP2009055518A (ja) * 2007-08-29 2009-03-12 Sharp Corp ストリーミングサーバー、及びストリーミングシステム
JP2009070361A (ja) * 2007-09-11 2009-04-02 Hitachi Ltd コンピュータストレージシステムにおいてデータ圧縮並びに整合性を管理する方法および装置
JP2009181648A (ja) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd デジタルデータ蓄積装置、デジタルデータ蓄積方法、蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法
JP2009206724A (ja) * 2008-02-27 2009-09-10 Kyocera Corp 再生装置
JP2011010225A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 情報処理装置及びそのプログラム、並びに情報処理装置におけるコンテンツデータの処理方法
WO2013081637A2 (en) * 2010-12-29 2013-06-06 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
JP2014511129A (ja) * 2010-12-29 2014-05-08 アマゾン・テクノロジーズ・インコーポレーテッド データシステムにおける受信器側データの重複排除
JP2013207421A (ja) * 2012-03-27 2013-10-07 Oki Electric Ind Co Ltd ネットワークストレージ装置、および録画データ蓄積プログラム
JP2013214800A (ja) * 2012-03-30 2013-10-17 Ntt Communications Kk ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"「09 アップ中にダウンロードを開始できるストレージ!!」", WINDOWS100%(ウィンドウズ100%), vol. Vol.11, No.10(2008年10月号), JPN6018036116, 1 October 2008 (2008-10-01), JP, pages 27, ISSN: 0003879107 *
吉田勝彦(外6名): "「大規模セキュアファイル流通基盤システム(SSS)」", NTT技術ジャーナル, vol. Vol.18, No.8(2006年8月号), JPN6018036115, 1 August 2006 (2006-08-01), JP, pages 36 - 39, ISSN: 0003879106 *
村田正幸(外1名), 「コンピュータネットワークの構成学〔マルチメディア情報ネットワーク:改題〕」, vol. 改題1刷, JPN6017043353, 25 November 2011 (2011-11-25), JP, pages 50 - 54, ISSN: 0003796807 *
芹澤隆徳, 「"ネットワークPVR"の可能性と現実」, JPN6018017584, 1 August 2002 (2002-08-01), pages 3, ISSN: 0003796808 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020521361A (ja) * 2017-05-10 2020-07-16 グーグル エルエルシー フィンガープリントを変換して不正なメディアコンテンツアイテムを検出するための方法、システムおよび媒体
KR102283318B1 (ko) * 2020-03-31 2021-07-30 쿠팡 주식회사 실시간 제품 등록을 전자적으로 결정하기 위한 컴퓨터-구현된 시스템 및 방법
KR20210122208A (ko) * 2020-03-31 2021-10-08 쿠팡 주식회사 실시간 제품 등록을 전자적으로 결정하기 위한 컴퓨터-구현된 시스템 및 방법
KR102447333B1 (ko) * 2020-03-31 2022-09-26 쿠팡 주식회사 실시간 제품 등록을 전자적으로 결정하기 위한 컴퓨터-구현된 시스템 및 방법

Also Published As

Publication number Publication date
EP3140994B1 (en) 2022-03-16
JP2019050579A (ja) 2019-03-28
US20160371290A1 (en) 2016-12-22
EP3140994A1 (en) 2017-03-15
US20150324379A1 (en) 2015-11-12
JP6752856B2 (ja) 2020-09-09
JP6420850B2 (ja) 2018-11-07
US20160371286A1 (en) 2016-12-22
US10360179B2 (en) 2019-07-23
CN106717012A (zh) 2017-05-24
CN106717012B (zh) 2022-07-12
EP4096228A1 (en) 2022-11-30
US10275395B2 (en) 2019-04-30
WO2015171835A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
JP6420850B2 (ja) クラウド・ベースのメディア・コンテンツの管理
US10019517B2 (en) Managing media content upload groups
US11695995B2 (en) Managing collections of episodic media content
US10674185B2 (en) Enhancing a region of interest in video frames of a video stream
US9804668B2 (en) Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US8548303B2 (en) Reconciling digital content at a digital media device
US10591984B2 (en) Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US20210133809A1 (en) Automatically labeling clusters of media content consumers
US20160337704A1 (en) System and method for content delivery by subscriber personal channel
US9819972B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
JP2018182771A (ja) マルチメディアのパイプライン機構
US9942578B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
US20140064711A1 (en) Systems, Methods, and Media for Presenting Media Content Using Cached Assets
US10893338B1 (en) Method for unified ad delivery to consumer devices within service provider networks
US20160249092A1 (en) System and method for digital video recording backfill
US20210377606A1 (en) Apparatus, system, and method for abr segment pull dvr
US20200280760A1 (en) Capturing border metadata while recording content
US20170245013A1 (en) Media content download time

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181012

R150 Certificate of patent or registration of utility model

Ref document number: 6420850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250