JP6816266B2 - メディア記憶 - Google Patents

メディア記憶 Download PDF

Info

Publication number
JP6816266B2
JP6816266B2 JP2019514290A JP2019514290A JP6816266B2 JP 6816266 B2 JP6816266 B2 JP 6816266B2 JP 2019514290 A JP2019514290 A JP 2019514290A JP 2019514290 A JP2019514290 A JP 2019514290A JP 6816266 B2 JP6816266 B2 JP 6816266B2
Authority
JP
Japan
Prior art keywords
file
resource
mezzanine
storage
metadata
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.)
Active
Application number
JP2019514290A
Other languages
English (en)
Other versions
JP2019533233A (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 JP2019533233A publication Critical patent/JP2019533233A/ja
Application granted granted Critical
Publication of JP6816266B2 publication Critical patent/JP6816266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • 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/113Details of archiving
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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
    • 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/71Indexing; Data structures therefor; Storage structures
    • 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/73Querying
    • 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/73Querying
    • G06F16/738Presentation of query results
    • 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/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

ユーザは、デジタル形式にあるコンテンツをますます取得しており、リモートサービスからそのコンテンツをダウンロードまたはストリーミングすることが多い。コンテンツは、高品質フォーマットでアップロードされることが多く、様々なタイプのデバイス上で再生するために適切な様々な他のフォーマットにトランスコードされることが多い。トランスコードされたバージョンと共に高品質バージョンの記憶は、いくつかの記憶システムにおいては非常に高価であることがあり、様々なバージョンを関連付け、顧客がそれらの様々な資源を管理することを可能にすることが困難であることがある。
本開示に従った様々な実施形態が、図面を参照して説明される。
様々な実施形態を実装することができる実施例の環境を例示する。 様々な実施形態に従って利用することができるメディアファイルのトランスコーディングを管理する実施例のサブシステムを例示する。 様々な実施形態に従って利用することができる高速且つアーカイブされた記憶位置へのコンテンツの記憶を管理する実施例のサブシステムを例示する。 様々な実施形態に従って利用することができる資源の記憶を管理する実施例のシステムを例示する。 様々な実施形態に従って利用することができる資源の記憶を管理する別の実施例のシステムを例示する。 様々な実施形態に従って利用することができる記憶サービスによって、アップロードされた資源が記憶されることを可能にする実施例の処理を例示する。 様々な実施形態に従って利用することができる記憶サービスによって記憶された資源に対してライフサイクルを実施する実施例の処理を例示する。 様々な実施形態の態様を実装するために使用することができるコンピューティングデバイスの実施例の構成要素を例示する。
以下の説明では、様々な実施形態が説明される。説明を目的として、実施形態の完全な理解を提供するために、特定の構成及び詳細が示される。しかしながら、実施形態が特定の詳細なしに実施されてもよいことも当業者にとって明らかであろう。更に、説明される実施形態を曖昧にしないために、公知の特徴が省略または簡略化される場合がある。
本明細書で説明及び示唆されるアプローチは、記憶環境における、高品質マルチメディアファイルなどの大規模ファイルの記憶に関連する。記憶システムの顧客または他のユーザは、記憶システムにメディアまたは他のそのようなコンテンツをアップロードすることができる。アップロード処理の一部として、記憶システムは、アップロードされるメディアファイルを記述したメディアメタデータを抽出することができる。ファイルは、メディア資源の一部としてアップロードされた関連するファイルであってもよい。アップロード処理の一部として、または別個の処理の一部として、顧客は、メディア資源の記憶に適用されることになる1つ以上のライフサイクルポリシを指定することができる。ルールエンジンなどの構成要素が、1つ以上のポリシの管理、及びメディア資源の記憶への1つ以上のポリシの適用を保証することができる。そのようなルールエンジンはまた、単純なメディア処理ワークフローの使用を可能にすることができる。例えば、高解像度ビデオファイルまたはメザニンファイルをアップロードし、1つ以上の指定されたフォーマットにそれを自動でトランスコードし、その後すぐに、より低コストの記憶装置にメザニンファイルをアーカイブさせるワークフローが指定されてもよい。資源のセグメント及びファイルが記憶システムの区画にわたって比較的ランダム且つ均一に分散して記憶されることを保証するために、ファイル名ハッシングアプローチが使用されてもよい。ライフサイクル処理の一部として、高品質メディアファイルは、資源が1つ以上の関連するトランスコードファイルにトランスコードされることなど、判定されたイベントが発生した後、あまり高価でない記憶装置に移動されてもよい。
本明細書に包含される教示及び示唆を考慮して、当業者とって明らかなように、様々な実施形態の範囲内にもある様々な他のそのような機能が使用されてもよい。
図1は、様々な実施形態の態様を実装することができる実施例の環境100を例示する。この実施例では、ユーザは、少なくとも1つのネットワーク104にわたって、リソースプロバイダ環境106に要求をサブミットするために、クライアントデバイス102を利用することができる。クライアントデバイスは、適切なネットワークを通じて要求、メッセージ、または他のそのような情報を送信及び受信し、デバイスのユーザに情報を再度伝達するように動作可能ないずれかの適切な電子デバイスを含むことができる。そのようなクライアントデバイスの例は、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、及びノートブックコンピュータなどを含む。ネットワーク104は、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク(LAN)、もしくはいずれかの他のそのようなネットワーク、または組み合わせを含むいずれかの適切なネットワークを含むことができ、ネットワークを通じた通信は、有線及び/または無線接続を介して可能にされてもよい。リソースプロバイダ環境106は、要求を受信し、それらの要求に応答して情報を返し、またはアクションを実行するためのいずれかの適切な構成要素を含むことができる。実施例として、プロバイダ環境は、要求を受信及び処理し、次いで、要求に応答して、データ、ウェブページ、ビデオ、音声、または他のそのようなコンテンツもしくは情報を返すためのウェブサーバ及び/またはアプリケーションサーバを含んでもよい。
様々な実施形態では、プロバイダ環境は、様々な異なる目的のために、複数のユーザによって利用することができる様々なタイプの電子リソースを含んでもよい。少なくともいくつかの実施形態では、所与のリソースの全てもしくは一部、またはリソースセットは、少なくとも定められた期間の間、特定のユーザに割り当てられてもよく、または特定のタスクに対して割り当てられてもよい。プロバイダ環境からのそれらのマルチテナントリソースの共有は、他のそのような用語の中で、並びに特定の環境及び/または実装態様に応じて、リソース共有、ウェブサービス、または「クラウドコンピューティング」と称されることが多い。この実施例では、プロバイダ環境は、1つ以上のタイプの複数の電子リソース114を含む。それらのタイプは、例えば、ユーザによって提供された命令を処理するように動作可能なアプリケーションサーバ、またはユーザ要求に応答して1つ以上のデータストア116に記憶されたデータを処理するように動作可能なデータベースサーバを含むことができる。そのような処理について既知であるように、ユーザはまた、所与のデータストアにおいてデータ記憶の少なくとも一部を確保することができる。ユーザが様々なリソース及びリソースインスタンスを確保することを可能にするための方法は、本分野において周知であり、その結果、処理全体の詳細な説明、及び全ての可能な構成要素の説明は、本明細書では詳細に考察されない。
少なくともいくつかの実施形態では、リソース114の一部を利用することを望むユーザは、プロバイダ環境106のインタフェース層108に受信される要求をサブミットすることができる。インタフェース層は、ユーザがプロバイダ環境に要求をサブミットすることを可能にする、アプリケーションプログラミングインタフェース(API)または他の公開されたインタフェースを含むことができる。この実施例におけるインタフェース層108はまた、少なくとも1つのウェブサーバ、ルーティング構成要素、及び負荷分散装置などの他の構成要素をも含むことができる。リソースをプロビジョニングする要求がインタフェース層108に受信されるとき、要求についての情報は、リソースマネージャ110、またはユーザアカウント及び情報、リソースプロビジョニング及び使用、並びに他のそのような態様を管理するように構成された他のそのようなシステム、サービス、もしくは構成要素に向けられてもよい。要求を受信するリソースマネージャ110は、要求をサブミットするユーザの識別を認証すると共に、そのユーザがリソースプロバイダとの既存のアカウントを有しているかどうかを判定するなどのためのタスクを実行することができ、アカウントデータは、プロバイダ環境内の少なくとも1つのデータストア112に記憶されてもよい。ユーザは、ユーザの識別を認証するために、プロバイダに様々なタイプの認証情報のいずれかを提供することができる。それらの認証情報は、例えば、ユーザ名及びパスワードのペア、生体データ、デジタル署名、または他のそのような情報を含むことができる。
リソースプロバイダは、ユーザに対して記憶された情報に対してこの情報が正当であると確認することができる。ユーザが適切な許可、状態などを有するアカウントを有する場合、リソースマネージャは、ユーザの要求に適する利用可能な適正なリソースが存在するかどうかを判定することができ、そうである場合、リソースをプロビジョニングすることができ、または要求によって指定された量についてユーザによる使用のためにそれらのリソースの対応する部分へのアクセスを許可することができる。この量は、例えば、他のそのような値の中で、単一の要求を処理し、もしくは単一のタスクを実行する能力、指定された期間、または再発生/再構成可能期間を含むことができる。ユーザがプロバイダとの有効なアカウントを有さず、ユーザアカウントが要求において指定されたタイプのリソースへのアクセスを可能にせず、または別のそのような理由が、ユーザがそのようなリソースへのアクセスを取得することを妨げている場合、他のそのようなオプションの中で、ユーザがアカウントを作成もしくは修正し、または要求において指定されたリソースを変更することを可能にするために通信がユーザに送信されてもよい。
ユーザが認証され、アカウントが検証され、リソースが割り当てられると、ユーザは、指定された容量、データ転送の量、期間、または他のそのような値についての割り当てられたリソース(複数可)を利用することができる。少なくともいくつかの実施形態では、ユーザは、それらの要求がユーザセッション上で処理されることを可能にするために、セッショントークンまたは他のそのような認証情報を後続の要求と共に提供してもよい。ユーザは、リソース識別子、特定のアドレス、または他のそのような情報を受信することができ、他のそのような情報は、少なくともユーザアカウントの関連する様相が変更されるまで、ユーザがリソースへのアクセスをもはや許可されなくなるまで、または別のそのような様相が変更されるなどのような時まで、リソースマネージャ110と通信する必要なく、クライアントデバイス102が割り当てられたリソースと通信することを可能にすることができる。
この実施例におけるリソースマネージャ110(または、別のそのようなシステムもしくはサービス)はまた、プロビジョニング、スケーリング、複製などを含むことができるように、管理アクションに加えて、制御機能を取り扱うハードウェア及びソフトウェア構成要素の仮想層として機能することができる。リソースマネージャは、インタフェース層108内の専用APIを利用することができ、各々のAPIは、インスタンスをプロビジョニング、スケーリングし、クローンし、またはハイバネートするためなど、データ環境に関して実行されることになる少なくとも1つの特定のアクションについての要求を受信するために提供されてもよい。APIのうちの1つへの要求を受信すると、インタフェース層のウェブサービス部分は、呼び出しに作用し、または呼び出しを処理するために必要なステップまたはアクションを判定する要求を構文解析することができ、または他に分析することができる。例えば、データリポジトリを作成する要求を含むウェブサービス呼び出しが受信されてもよい。
少なくとも1つの実施形態におけるインタフェース層108は、様々なAPIを提供することができ、API仕様に基づいて適切な応答を返すことができる、顧客対応サーバの拡張可能なセットを含む。インタフェース層はまた、1つの実施形態では、外部対応顧客APIを処理する、ステートレスな、複製されたサーバから構成された少なくとも1つのAPIサービス層を含むことができる。インタフェース層は、認証情報に基づいて顧客を認証すること、顧客に権限を付与すること、APIサーバへの顧客要求を絞り込むこと、ユーザ入力が正当であると確認すること、並びに要求及び応答をマーシャリングまたはアンマーシャリングすることなどのウェブサービスフロントエンド機能について関与することができる。API層はまた、API呼び出しに応答して、アドミニストレーションデータストアに/からデータベース構成データを読み込み及び書き込むことについて関与することができる。多くの実施形態では、ウェブサービス層及び/またはAPIサービス層は、外部から視認可能な唯一の構成要素であり、または制御サービスの顧客に対して視認可能であり、顧客によってアクセス可能な唯一の構成要素である。ウェブサービス層のサーバは、本分野において既知なように、ステートレスであってもよく、水平にスケーリングされてもよい。APIサーバ、ならびに永続的データストアは、例えば、或る領域内の複数のデータセンタにわたって分散されてもよく、その結果、サーバは、単一のデータセンタの障害に対して回復力を有する。
図2は、図1に関して考察された環境などの電子環境内で、様々な実施形態の態様を実施するために使用することができる実施例のシステム200を例示する。図2のシステムでは、クライアントコンピューティングデバイス202は、少なくとも1つのネットワーク204にわたってコンテンツプロバイダ環境208によって受信されることになるコンテンツについての要求をサブミットすることができる。上記のように、少なくともいくつかの実施形態では、要求は、コンピューティングデバイス202上で表示されることになるコンテンツについての要求を含むことができ、多くの場合では、クライアントデバイス202上で提示するためにトランスコードされたビデオまたは他のメディアコンテンツを含む。ネットワーク(複数可)は、インターネット、ローカルエリアネットワーク(LAN)、セルラネットワーク、イーサネット(登録商標)、または他のそのような有線及び/もしくは無線ネットワークなど、いずれかの適切なネットワークを含むことができる。コンテンツプロバイダ環境208は、様々なサーバ、データストア、及びネットワークにわたって(または、「クラウド」から)コンテンツを提供するために既知でありまたは使用される他のそのような構成要素を含み得る、リソースプロバイダからコンテンツを提供するためのいずれかの適切なリソースを含むことができる。本明細書で他に言及されるように、クライアントコンピューティングデバイス202は、デスクトップもしくはノートブックコンピュータ、スマートフォン、タブレット、ウェアラブルコンピュータ(すなわち、スマートウォッチ、グラス、もしくはコンタクト)、セットトップボックス、または他のそのようなシステムもしくはデバイスを含み得る、いずれかの適切なコンピューティングまたは処理デバイスであってもよい。インタフェース層208は、要求または呼び出しを受信するとき、呼び出しまたは要求のタイプを判定することができ、適切な構成要素またはサブシステムに情報を転送させることができる。例えば、他のそのようなオプションの中で、コンテンツについての要求は、メディアサーバ212に転送されてもよく、符号化パラメータを指定する要求は、トランスコーディングマネージャ216に転送されてもよい。それらの呼び出しまたは要求はまた、第三者から来ることができるが、第三者プロバイダ506はまた、本明細書で考察されるように、メディアリポジトリ212に記憶されることになり、クライアントデバイス202上で表示するためにトランスコードされることになるメディアコンテンツの少なくとも一部を提供することができる。
この実施例では、コンテンツプロバイダ環境208に受信される呼び出しは、環境のインタフェース層210によって受信されてもよい。ネットワーク環境について既知であるように、インタフェース層は、インタフェース(例えば、API)、負荷分散装置、要求及び/またはデータルータなどの構成要素を含むことができる。要求が、クライアントデバイス202に提供されることになるビデオデータストリームについてなど、コンテンツについての要求である場合、要求についての情報は、1つ以上のメディアサーバ210に向けられてもよく、1つ以上のメディアサーバ210は、メディアデータストア212または他のそのようなリポジトリからネットワーク(複数可)にわたってコンピューティングデバイスに送り戻されることになるコンテンツを取得することができる。いくつかの実施形態では、要求についての情報はまた、例えば、ユーザがそのコンテンツへのアクセス権を有するかどうか、及びユーザがアクセス権を有するフォーマットまたはバージョンを潜在的に有するかどうかを判定するために、ユーザデータストア214または他のそのような位置内のユーザデータと比較されてもよい。
少なくともいくつかの実施形態ではオペレータ、管理者、クライアントデバイス202、第三者プロバイダ224、または別のそのようなソースからの要求は、メディアファイルと共に使用されることになる符号化パラメータの1つ以上のセットを指定する要求を含んでもよい。したがって、符号化パラメータに関する情報は、トランスコーディングマネージャ216、または他のそのような構成要素もしくはサービスに提供されてもよく、それらは、本明細書で他に考察されるように、適切なインタフェース(すなわち、APIもしくはコンソール)を通じて情報を受信することができ、プロファイル及びパラメータデータを適切なリポジトリ218、220に記憶させることができる。ビデオファイルについての要求が受信されるとき、トランスコーディングマネージャ216は、適切な符号化情報を判定するためにプロファイル及びパラメータデータを使用することができ、1つ以上のトランスコーダ222にそれを渡すことができ、1つ以上のトランスコーダ222は、メディアファイルを取得することができ、トランスコーディング情報ごとにメディアファイルをトランスコードすることができ、トランスコーディング情報は次いで、メディアサーバ210または他のそのような構成要素によってクライアントデバイスに提供されてもよい。
いくつかの実施形態では、トランスコーディングサブシステムは、1つ以上のトランスコーダ、ビットストリーム(または、ビデオ信号)のセット、及びコンテンツ配信ネットワークを含む。1つ以上のトランスコーダは、エンコーダ及びパッケージャの両方を含むことができ、エンコーダ及びパッケージャの両方は、オリジンサーバを介して実装されてもよい。パッケージャは、ビデオ信号またはライブストリームなどの信号(例えば、フィード)を受信することができる。ライブストリームフィードは、とりわけ、ライブビデオコンテンツ(例えば、スポーツイベント、コンサートイベント、ペイパービューイベントなど)、事前に記録されたコンテンツ(例えば、テレビショー、映画、時間遅延イベント、スポーツハイライトなど)、及び/または広告コンテンツ(例えば、コマーシャル)を含んでもよい。パッケージャは、1つ以上の入力信号(例えば、入力)を受信してもよく、1つ以上のビットストリームを生成してもよい。ビットストリームは、エンコーダ/パッケージャによってコンテンツ配信ネットワーク(CDN)に配信されてもよい。ビットストリームは、符号化パラメータごとにトランスコーディングマネージャ216から符号化することができるように、信号フィードの様々な符号化/パッケージ化されたバージョンを表すことができる。例えば、ビットストリームは、信号フィードの高解像度及び/または高ビットレートバージョンであってもよい。いくつかの実施形態では、異なるビットストリームは、代替音声(例えば、異なる言語)及び/またはクローズドキャプションを提供してもよい。ビットストリームの数及び/またはタイプは、プロファイルまたは他のデータごとに変化してもよい。
ビットストリームの各々は、いくつかのコンテンツセグメントを含んでもよく、いくつかのコンテンツセグメントは、ビットストリームの一部を表してもよい。コンテンツセグメントファイルの各々は、プログラムフィードの再生時間の1つのセグメントを表してもよい(例えば、10秒のセグメントファイルは、10秒のビデオ及び/または音声を包含してもよい)。例えば、順次再生されるとき、コンテンツセグメントは、対応するビットストリームのコンテンツを生成してもよい。別の実施例では、コンテンツセグメントは、エンドユーザデバイスにローカルに記憶されてもよく(例えば、バッファされる)、十分なコンテンツセグメントが利用可能であるとき、エンドユーザデバイスは、再生のためにコンテンツセグメントを復号してもよい。コンテンツセグメントは、適合的なビデオコンテンツであってもよい。コンテンツセグメントは、ビットストリームが効率的且つ信頼して配信されることを可能にすることができる。例えば、個々のコンテンツセグメントを要求することは、クライアントデバイスのうちの1つによるダウンロードの失敗の可能性を低減させることができる。別の実施例では、CDNにわたってコンテンツセグメントを記憶することは、CDNの各々のノードにおいて必要な記憶の量を低減させることができる。CDN自体は、コンピュータ(例えば、サーバ)のネットワークを含んでもよい。CDNのコンピュータの各々は、ノードとして機能することができ、CDNは、ワイドエリアネットワーク(例えば、インターネット)を通じてビットストリームを記憶及び/または配信することができる。
エンコーダ/パッケージャは、オリジンアクティブビットレートビデオHTTPサーバとすることができる。エンコーダ/パッケージャは、信号(例えば、要求)を受信することができ、信号(例えば、応答)を送信することができる。信号要求は、CDNによってクライアントデバイスのうちの1つからオリジンサーバに転送されるデータ要求(例えば、HTTP要求)を表すことができる。例えば、信号要求は、オリジンサーバがクライアントデバイスのうちの1つにデジタルデータを送信するためのHTTP要求であってもよい。信号応答は、CDNによってオリジンサーバからクライアントデバイスのうちの1つに転送されることになるデータ応答を表してもよい。例えば、オリジンサーバは、HTTPプロトコルに基づいて、クライアントデバイスのうちの1つに信号応答(例えば、コンテンツセグメントなどのデータ)をネットワークパケットとして送信してもよい。応答及び/または要求のタイプ、実装態様、及び/または数は、特定の実装態様の設計基準に従って変化してもよい。オリジンサーバは、マニフェストファイルまたは利用可能なコンテンツセグメントのリストを含むことができる。例えば、マニフェストファイルは、コンテンツセグメント及び/または他のデータを指し示すメタデータ及び/またはURLを含んでもよい。マニフェストファイルは、コンテンツセグメントを要求するためにクライアントデバイスによって使用されてもよい。マニフェストファイルのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。マニフェストファイル及び/またはコンテンツセグメントは、それぞれの有効期間(TTL)値を有してもよい。TTL値(または、特性)は、ネットワーク内の特定のオブジェクトがリフレッシュされることを保証するために使用されてもよい。例えば、ネットワーク内のオブジェクトがキャッシュされてもよい(例えば、CDN全体を通じて)。TTL値は、時間量、要求の数、及び/またはオブジェクトがリフレッシュされる前のホップ数(例えば、オリジンサーバから要求/更新された)を表してもよい。マニフェストファイル及び/またはコンテンツセグメントのTTL値は、オペレータによって設定されてもよく、及び/またはオリジンサーバにおいて設定されてもよい。一般のCDNの実装態様では、TTL値が満了するまで、様々なタイプのコンテンツがCDNに記憶されたままであってもよい(例えば、コンテンツ無効化が長時間かかることがある)。概して、マニフェストファイルのTTL値は、コンテンツセグメントのTTL値未満である。マニフェストファイルについてのより低いTTL値は、マニフェストファイルがコンテンツセグメントよりも頻繁に/多くリフレッシュされることを可能にすることができる(例えば、コンテンツセグメントへのポインタを更新するために)。コンテンツセグメントについての比較的高いTTL値は、コンテンツセグメントがより長くキャッシュに残ることを可能にすることができる(例えば、オリジンサーバに対して行われた要求の数を低減させ、及び/またはオリジンサーバ上の負荷を低減させるために)。マニフェストファイル及び/またはコンテンツセグメントのTTL値について設定された実装態様及び/または値は、特定の実装態様の設計基準に従って変化してもよい。
オリジンサーバは、コンテンツ無効化を実行するように構成されてもよい。例えば、コンテンツセグメントのうちの1つ以上が無効化されてもよい。コンテンツ無効化は、コンテンツがクライアントデバイスに配信されることを防止及び/または停止することができる。コンテンツの無効化を開始するために、オペレータは、オリジンサーバに無効化信号入力(例えば、オペレータにより開始されるコンテンツ無効化)を送信してもよい。オリジンサーバは、マニフェストファイルを更新する(または、操作する)ことによってコンテンツセグメントを無効化してもよい。例えば、マニフェストファイルは、コンテンツセグメントへの最早ポイントに更新されてもよい。マニフェストファイルについてのTTL値が相対的に低いので、マニフェストファイルは、CDN全体を通じてリフレッシュされてもよい。例えば、クライアントデバイスは、マニフェストファイルを要求してもよく、CDNの様々なノード内のキャッシュされたマニフェストについてのTTL値が満了するとき、更新されたマニフェストファイル(例えば、無効化されたマニフェスト)は、CDN全体を通じてクライアントデバイスに分散されてもよい。
ビデオストリームにおける変更は、1つの実施例では、ユーザによって開始されてもよい。別の実施例では、サービス品質検査が実装されてもよい。例えば、コンテンツセグメントを使用して表されるビデオストリームが、広告者及び/または放送者が満足しないそのような不良品質のストリームであった場合、コンテンツセグメントは、即時に再配置(例えば、代替的なコンテンツを提供することによって)及び/または除去されてもよい。例えば、コンテンツセグメントが不良品質の広告を表す場合(例えば、サービス品質検査に失敗した)、コンテンツセグメントを無効化することによって、代替的な広告が表示されてもよい。コンテンツセグメントがサービス品質検査に合格しない場合、コンテンツセグメントが自動で無効化されてもよい。
実施例のマニフェストファイルは、ファイルヘッダ、メタデータ、及び/またはポインタ/リンクなど、様々なデータを含むことができる。データは、人間が読めるものであってもよく、または符号化されたフォーマット、暗号化されたフォーマット、及び/もしくはコンピュータ可読(例えば、バイナリ)フォーマットを使用して符号化されてもよい。マニフェストファイル内のデータのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。ファイルヘッダは、マニフェストファイルを特定のタイプのファイルとして識別するためのインジケータを提供することができる。例えば、マニフェストファイルを特定のタイプのファイル(例えば、ポインタファイル、マニフェストファイルなど)として認識するために、オリジンサーバ、キャッシュノード、及び/またはいずれかの他のコンピューティングデバイスによってファイルヘッダが使用されてもよい。メタデータは、指定されたリンクをたどるときにサービスされることになるファイルのタイプを示すことができる。例えば、メタデータは、リンクがビデオストリーム、コンテンツセグメントを再生するために必要な帯域幅、コンテンツセグメントに対して実装されるコーデック、コンテンツセグメントの解像度(例えば、画素内の)、及び/またはいずれかの他の関連するデータを表すことを示すことができる。メタデータ内で利用可能なデータのタイプは、特定の実装態様の設計基準に従って変化してもよい。ポインタは、様々なタイプの記憶されたデータを指し示すことができる。記憶されたデータは、コンテンツセグメントであってもよい。例えば、ポインタは、HTTP URLリンクとすることができる。いくつかの実施形態では、ポインタは、RTMPリンク及び/またはFTPリンクとして実装されてもよい。ポインタのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。マニフェストファイルのポインタは、それぞれのコンテンツセグメントを指し示すことができる。いくつかの実施形態におけるコンテンツセグメントは、トランスポートストリーム(例えば、.ts)ファイルとして実装されてもよい。例えば、コンテンツセグメントは、MPEG−2データを含んでもよい。いくつかの実施形態では、マニフェストファイルは、ビットストリーム内に組み込まれてもよい。無効化及び/または復元のタイプは、特定の実装態様の設計基準に従って変化してもよい。無効化のタイプは、無効化信号入力において提供された無効化情報(例えば、命令)に基づいてもよい。例えば、信号入力は、オペレータによって開始されるコンテンツ無効化信号であってもよい。
上記のように、多くの従来の共有リソース環境は、メディアライフサイクル管理及び処理などのメディア記憶の側面を管理する困難性を有する。実施例として、様々なメディアプロバイダは、元の高品質メディアファイルを記憶装置に維持することを望むことがあるが、高解像度ビデオ及び他のコンテンツについて、ファイルのサイズが非常に大きいことがある。メザニンファイルと称されることが多いこのファイルのサイズは、記憶装置がメディアプロバイダに対して非常に高価とさせることがある。多くの場合におけるメディアプロバイダは、高度に圧縮され、且つより低品質の出力フォーマットにトランスコーディングするなどのタスクに対して利用可能なメザニンファイルを有し、次いで、高価な記憶装置にメザニンファイルを記憶する必要がないことを好む。これは、例えば、あまり高価でないタイプの記憶装置に大規模メザニンファイルをアーカイブすることを含む。従来のシステムは、メディアコンテンツと関連付けられたデータ及びファイルの管理を含む、そのような処理を提供及び管理するための便利且つ自動化された方式を提供しない。
したがって、様々な実施形態に従ったアプローチは、特に、メディア及び他のコンテンツプロバイダに対して有益となることができる改善されたアップロード及び管理アプローチを提供することができる。少なくともいくつかの実施形態では、システムの顧客または他のユーザは、記憶システムにメディアまたは他のそのようなコンテンツをアップロードすることができる。アップロード処理の一部として、記憶システムは、メディアメタデータを抽出することができ、アップロードされるメディアファイルを記述したメタデータについてのいずれかの追加のメディア特有業界標準フォーマットを構文解析することができる。このメタデータは、専用メタデータリポジトリまたは他のそのようなアクセス可能な位置に記憶されてもよい。アップロード処理の一部として、または別個の処理の一部として、顧客は、メディアファイルの記憶に適用されることになる1つ以上のライフサイクルポリシを指定することができる。ルールエンジンなどの構成要素は次いで、1つ以上のポリシの管理、及びメディアファイルの記憶への1つ以上のポリシの適用を保証することができる。実施例として、顧客は、少なくとも1つの圧縮されたフォーマットへの初期のトランスコードの後、アーカイブ記憶装置に100ギガバイトを超えるサイズのいずれかのメディアファイルを記憶することを指定してもよい。そのようなルールエンジンはまた、単純なメディア処理ワークフローの使用を可能にすることができる。例えば、高解像度ビデオファイルまたはメザニンファイルをアップロードし、1つ以上の指定されたフォーマットにそれを自動でトランスコードし、その後すぐに、より低コストの記憶装置にメザニンファイルをアーカイブさせるワークフローが指定されてもよい。
図3は、様々な実施形態に従ってそのようなメディアのアップロードを管理するために使用することができる実施例のシステム300の概要を例示する。この実施例では、顧客は、少なくとも1つのネットワーク304を通じて、リソースプロバイダ環境306のインタフェース層308のインタフェース310によって受信されることになる高品質メディアファイルをアップロードするために、クライアントデバイス上で実行するアプリケーションを通じて提供することができるように、顧客インタフェース302を利用することができる。アップロードされたファイルについての情報は、メディア管理サービス312に向けられてもよく、メディア管理サービス312は、ルールエンジン、並びに本明細書で他に考察及び示唆されるような様々な他の構成要素を含むことができる。メディアサービス312は、適切なメタデータを特定及び抽出するためにアップロードを分析することができ、適切なメタデータは、メタデータリポジトリ314またはリソースプロバイダ環境306内の他のそのような位置に記憶されてもよい。メディア管理サービスはまた、アップロードまたは顧客によって前に提供された他の命令から、アップロードされたメディアファイルの処理及び/または記憶に適用されるべきいずれかのルールまたはポリシを判定することができる。この実施例では、適用可能なルールは、高速な、高可容性ソリッドステート記憶装置などの高速記憶装置316に記憶させる。メディアファイルは次いで、適用可能なルール及び/またはポリシに従って処理されてもよい。この実施例では、メディアファイルは、高速記憶装置316に記憶されている間にメディア管理サービス312によって処理されてもよく、次いで、処理が完了した後、アーカイブ記憶装置318に移動されてもよい。コールド記憶装置と称されることもあるアーカイブ記憶装置は、単純なディスクドライブ構成または他のそのような記憶装置を伴い得るような、あまり高価でないより低速またはより低可容性の記憶装置であってもよい。いくつかの実施形態では、より低い記憶装置の階層は、可用性が低く、特に、データが報告するための存在の証明及び潜在的な位置のみを必要とする。これは、オフサイトテープボールト及び他のそのような記憶装置を含む、非常に安価な記憶装置に移動されてもよい。メディアファイルに対してメタデータリポジトリ314に記憶されたメタデータは、高速記憶装置316またはアーカイブ記憶装置のいずれかに記憶されるとき、メディアファイルに適用するためにメディア管理サービス312によって管理されてもよい。異なるタイプの記憶装置へのメディアファイルの記憶に関する情報は、課金システム320に提供されてもよく、課金システム320は、リソースプロバイダ環境の一部であるとしてここで示されるが、他の実施形態では、その環境の外部であってもよい。課金システムは、課金データリポジトリ322に、または他のそのような位置に情報を記憶することができ、よって、顧客は、ファイルが高速記憶装置316に記憶された時間量及びファイルがアーカイブ記憶装置318記憶された課金サイクルの間の時間量について適切に課金されると共に、他の関連する料金についても課金される。
いくつかの実施形態では、様々な顧客または他のそのようなエンティティからアップロード要求を受信するために、記憶システムプロキシが使用されてもよい。これは、例えば、顧客がメディアファイルをアップロードするために使用することができる専用アドレス、インタフェース、またはユニフォームリソースロケータ(URL)を含むことができる。提供されたアドレスに受信されるアップロード要求は、本明細書で考察及び示唆されるアプローチを使用して処理されてもよく、従来のアップロードアドレスに受信される要求は、従来のアプローチまたは他のアプローチを使用して処理されてもよい。追加のインタフェースが、他のそのようなオプションの中で、メタデータをクエリし、または追加のトランスコードを要求するためになど、他のタスクに対して提供されてもよい。専用アドレスまたはインタフェースに受信されるメディアファイルは、図4の実施例のシステム400において例示されるなど、メタデータ抽出手段418を使用して処理されてもよい。インタフェース層の専用インタフェース410を通じて顧客インタフェース402からメディアファイルを受信する記憶マネージャ412は、メタデータ抽出手段418によって処理されるようにメディアファイルを振り向けることができ、メタデータ抽出手段418は、フォーマット、ビットレート、及びファイルサイズなどの情報を含むことができるように、基本情報をメディアファイルから抽出させることができる。インタフェース層408の別のインタフェース410は、顧客が追加のメタデータ属性を指定することを可能にすることができ、追加のメタデータ属性は、少なくともいくつかの実施形態では、カスタマイズされた属性を含むことができる。属性は、鍵値のペアまたは他のそのようなフォーマットを含むことができる。業界標準メタデータフォーマット(例えば、XML)はまた、メディアファイルに対して記憶する関連する属性を判定するために構文解析されてもよい。
メタデータがメタデータ抽出手段418によって抽出され、メタデータリポジトリ422などの適切な位置に記憶されると、メタデータマネージャは、メディアファイルの管理においてそのメタデータを利用することができる。本明細書で考察される記憶マネージャ412によるメタデータマネージャ420を利用する能力は、メディア資源も管理されることを可能にする。本明細書で使用されるように、メディア「資源」は、ソースメディアファイルだけでなく、追加のテキスト、メタデータ、及び他の補足的コンテンツに関連することができるような追加のファイルをも含むことができるファイルの論理集合を指す。1つ以上の関連するインタフェース410と関連付けられたメディア管理方法は、資源の概念を第1のクラスオブジェクトタイプとして導入することができる。顧客が資源をアップロードするとき、資源は、メディアコンテンツについての全ての関連するファイルを含むことができる。ファイルは、リソースプロバイダ環境406内の高速記憶装置414及び/またはアーカイブ記憶装置416に別個に記憶されてもよいが、ファイルは、論理グループとして取り扱われてもよい。記憶マネージャ412は、ファイルの間の関係を追跡して、それらを共にグループ化されたままにすることができる。本明細書で他に考察されるように、少なくともいくつかの実施形態では、ユーザがクエリを稼働させ、またはプリミティブに関するタスクを実行することを可能にする資源に対して新たなプリミティブが生成されてもよい。プリミティブは、資源及び下位資源を反映するように階層的とすることができ、ワークフローのタスクは、階層の適切なレベル(複数可)に対して実行されてもよい。更に、顧客は、資源プリミティブ及び関連付けられたメタデータに対してクエリを実行するために、APIまたは他のそのようなインタフェースを利用することができる。ルールエンジンまたは他のそのようなシステムもしくはサービスによって実行されるライフサイクル管理はまた、資源についての全ての関連するファイルに対してタスクが実行及び適用されることを保証するために、資源プリミティブに対してライフサイクルタスクを管理することができる。
記憶マネージャ412による資源の管理への重要な態様は、その資源と関連付けられたファイルの名前の管理に関する。それらの名前は、ファイルの名前だけでなく、それらの資源を管理するために使用することができる他の名前をも含むことができる。例えば、ビデオ資源が連続の資源の一部である場合、その連続に関連する全ての資源を識別または処理することができるクエリまたは他の操作が実行されることを可能にするために、そのメタデータを抽出及び記憶することが望ましい。他のそのような名前または識別子は、タイトル部分、シーズン、エピソード、エピソードタイトル、及び他のそのような情報を含むことができる。メタデータは、少なくともいくつかの実施形態では、少なくともいくつかの資源に対してアーカイブ記憶装置にはない、テーブル内の真のソースとして記憶されてもよく、コンテンツの1つ以上のバージョンはまた、アーカイブ記憶装置416に記憶されない。新たなインタフェース(例えば、API)及び方法は、顧客がそれらの名前または識別子のいずれかに少なくとも部分的に基づいて、資源についてクエリすることを可能にすることができる。いくつかの実施形態では、メディア資源をアップロードする顧客は、全ての関連するファイルに適用することができるその資源に名前を割り当てるオプションを有する。
資源レベルメタデータに加えて、記憶マネージャはまた、時間コード特有メタデータを管理することができる。スポーツイベントなどのいくつかのタイプのコンテンツについて、再生時系列における特定の時間に発生するイベントが存在することがある。それらは、例えば、他のそのようなオプションの中で、野球ゲームにおいて投球が行われ、またはフットボールゲームにおいてプレイが行われるポイントを含むことができる。よって、コンテンツプロバイダが時間コード情報を使用してメディアコンテンツをインデックス付けし、顧客または他のユーザが特定のタイプの情報についてコンテンツをクエリすることを可能にすることが望ましいことがある。実施例として、プロデューサは、野球ゲームにおいて空振り三振をした最後の三人のバッターを示すハイライトリールを引き出すことを望むことがある。そのような実施例では、ビデオコンテンツは、ビデオ自体の中の時間コードと関連付けられた投球ごとのメタデータを有することがあり、その結果、ビデオのそれらセグメントを即時に識別及び取り出すことができる。
記憶マネージャ412は、ルールマネージャ424または他のそのようなシステムもしくはサービスの一部であってもよい、ルールエンジンを含むことができ、またはルールエンジンと協働することができる。ルールマネージャ424は、上記のように、様々なメディアオブジェクトに対して適用または施行されることになる様々なルール及びポリシを管理することができる。ルールマネージャ424はまた、メディアライフサイクルの一部でもあってもよい、それらのルールまたはポリシによって指示された様々なワークフローを管理することができる。これは、例えば、受信及び記憶されたメディア資源についてのメタデータに基づくクエリを指定する能力を含むことができる。いくつかの実施形態では、顧客は、他のそのようなオプションの中で、簡易言語またはクエリ言語にあることができるメタデータに基づくクエリを指定することができる。実施例として、顧客は、それらのファイルが記憶マネージャまたは別のそのようなシステムもしくはサービスによってアップロード及び受信された後の24時間、アーカイブ記憶装置416に全てのメザニンファイルをアーカイブすることを指定することができる。顧客はまた、新年などの特定の祝日の前の30日に、アーカイブ記憶装置416から高速記憶装置414に、そのような祝日に関連するメタデータと共に全ての資源を移動することを指定してもよい。ライフサイクルまたは他の一部として、ルールエンジンはまた、トランスコーディングジョブまたは他のそのようなタスクを開始する能力を有することができる。いくつかの実施形態では、これは、他のそのようなオプションの中で、バックグラウンドスケジューリング処理を使用して実装されてもよい。関連するAPIまたは他のそのようなインタフェースは、顧客がルールを指定し、ルールを活性化または非活性化することを可能にすることができる。バックエンド処理は次いで、インデックスを定期的にスキャンし、一致した資源を判定するアクティブクエリを稼働させ、それぞれの顧客によって指定された適切なアクション(複数可)をとることができる。いくつかのシステムでは、顧客は、トランスコーディングジョブについてのXMLファイルを指定し、入力及び出力フォーマット、適切な名前、並びに他のそのような情報などの情報を示すことができる。それらのファイルは、ルールマネージャ424によってもトリガされるトランスコーディングジョブと共に使用されてもよく、ルールマネージャ424は、資源と関連付けられたファイルがどのように処理されるべきかを示すことができる。環境内の専用システムではなく、トランスコーディングエンジンがソフトウェアアズアサービスを介して供給される場合、メディアファイルのトランスコーディングを実行するためにサービスが呼び出されてもよい。そうでなければ、メディア資源についての適切なトランスコーディングエンジン(複数可)をホストするサーバのセットまたは他のそのようなシステムが維持されてもよい。
いくつかの実施形態では、顧客対応インタフェース410は、ウェブサービスレプリゼンテーショナルステートトランスファー(REST)APIとすることができる。インタフェースは、記憶プロキシに関連することができるように、本明細書で提示される様々なタイプの情報の仕様が他のそのようなオプションの中で、メタデータ抽出及び管理、資源サポート、並びにルール/ポリシ/ワークフロー仕様を可能にすることができる。顧客はまた、顧客が適切な顧客インタフェースと通信するために必要なツールを提供する様々な言語についての1つ以上のソフトウェア開発キット(SDK)が提供されてもよい。APIは次いで、他の中で、名前ハッシングサービス、メタデータサービス、及びルール管理サービスを含むことができるように、本明細書で考察される様々なサブシステムと通信することができる。
上記のように、多くの例では、顧客は、高品質メザニンファイルが、少なくとも適切なフォーマット(複数可)にトランスコードされるような時まで、高速記憶装置414に記憶されることを望む。この実施例における記憶マネージャ412は、適切なトランスコーディングジョブを実行させるために、トランスコードマネージャ428と協働することができる。これは、トランスコーディングリポジトリ430または他のそのような位置に記憶されたトランスコーディングデータを使用して達成することができる。生成されると、指定されたフォーマットの様々なファイルは、権限が付与されたユーザまたはエンティティによるアクセスのために、高速記憶装置414及び/またはいずれかの他の適切な位置に記憶されてもよい。高品質メザニンファイルは次いで、顧客によって指定され、ルールマネージャ424によって管理されたルールまたはポリシに従って、高速記憶装置414からアーカイブ記憶装置416に移動されてもよい。記憶マネージャ412はまた、適切なメタデータ及び資源についての他の情報が高速記憶装置内のトランスコードされたファイルと共に、アーカイブ記憶装置内のメザニンファイルと関連付けられることを保証するために、メタデータマネージャ420と協働することができる。
この実施例では、メタデータマネージャ420または記憶マネージャ412はまた、ハッシングまたは様々なファイル名に対して使用される他のそのような機能性を含む、ファイル名管理について関与することができる。しかしながら、様々な実施形態では、別個のファイル名マネージャも使用されてもよいことが理解されるべきである。更に、ある特定の記憶システムは、それら自体のファイル名及びハッシュを生成及び管理することができ、その結果、別個の構成要素または処理が必要とされないことがある。この実施例では、高速記憶サービスは、いくつかの異なる区画にわたってファイルを分散することができる。いくつかのメディアファイルは、類似した名前を有してもよく、特に、各々のファイルは、ショーまたはシリーズと関連付けられる。TestFile1と命名されたファイルについて、ソースファイルは、HLSセグメントにトランスコードされてもよく、例えば、1時間のビデオファイルは、いくつかの2秒の長さのセグメントに分解されてもよい。従来のアプローチを使用して、セグメントは、TestFile1−001、TestFile1−002、及びTestFile1−003などと命名されてもよい。特定の従来のシステムにあるように、そのファイルについての適切な区画を判定するために、ファイル名の最初を使用してハッシュが生成される場合、ファイル名は全て、同一の値へのハッシュ値を有し、よって、それらは全て、ディスク上の同一の区画に記憶される。
したがって、様々な実施形態に従ったアプローチは、ファイル名の暗号でのセキュアハッシュである、(セキュアハッシングアルゴリズム)SHA−256に基づくハッシュなどの新たなハッシュコードを生成する。SHA−256ジェネレータなどのハッシングアルゴリズムに対する利点は、アルゴリズムがファイル名全体を検査し、その結果、各々のファイル名が異なるハッシュコードへのハッシュ値を有することである。異なるハッシュコードは次いで、それらのファイルの分散がディスク記憶装置にわたって比較的ランダム且つ均一になることを可能にすることができる。これは、スループットが十分に高いままにすることを保証するためにホットスポットを回避することによって、記憶システムの性能を支援する。
図5は、様々な実施形態に従って利用することができる別の実施例のシステム500を例示する。この実施例では、顧客は、少なくとも1つのネットワーク504にわたってリソースプロバイダ環境508への呼び出しを行うために、顧客システム502及び/またはソフトウェア開発キット506を使用することができる。前に考察されたように、そのような環境は、顧客が環境のリソースと通信することを可能にするいくつかのAPIまたは他のインタフェースを含むことができる。それらのAPIのうちの1つは、顧客がリソースプロバイダ環境508の記憶装置520に記憶されることになるファイルまたは資源をアップロードするために使用することができる、記憶プロキシに対応する。顧客は、例えば、資源の関連するファイルまたは構成要素を包含することができる、マルチパートアップロードとして、または圧縮されたフォーマットファイル(例えば、.zipファイル)でアップロードを実行することができる。この実施例におけるマッピング構成要素518は、適切なハッシングアルゴリズムを使用してハッシュコードファイル名を生成することができ、元のファイル名に対するハッシュコードのマッピングを記憶することができる。マッピング構成要素518はまた、環境全体を通じて様々な位置に記憶された資源についての構成要素またはファイルとハッシュコードを相関付けることができ、マッピング自体は、データベーステーブルまたは他の適切な位置に記憶されてもよい。プロキシサービス516は、少なくともいくつかの実施形態では、資源の個々の構成要素を高速記憶装置などの適切な記憶装置520に記憶させることができる。いくつかの実施形態では、記憶装置520は、利用可能な様々な記憶イベント532を有する記憶サービスの一部として提供されてもよく、その結果、それらのイベントに基づくメッセージは、環境内で実行する様々なスクリプトをトリガするために発行されてもよい。例えば、記憶サービスへのファイルのアップロードに対応するイベントは、インジェストキュー524にジョブを配置するスクリプトを稼働させるようにトリガすることができる。ジョブは、ファイルが環境の適切なインジェスタ528によって分析及びインジェストされる必要があることを示すことができる。インジェストジョブは、少なくともいくつかの実施形態では、インジェストキュー524から引き出されてもよく、高スケールで並列に処理されてもよい。インジェスタ528は、他のそのようなオプションの中で、メディアファイルについてのメタデータを抽出し、またはメタデータXMLファイルからのメタデータを構文解析及び処理するためになど、ファイルに関するタスクを実行することができる。メタデータが取得されると、メタデータは、メタデータリポジトリ526または記憶装置520内のメディアファイルと関連付けられた他のそのような位置に記憶されてもよい。
アップロードされたデータの整合性を検証するために、データ整合性検査手段530も使用されてもよい。少なくともいくつかの環境では、記憶イベントは保証されず、損失を伴うことがある。よって、資源のアップロードがアップロードイベントの発生をもたらさない可能性があり、その結果、スクリプトがトリガされない。データ整合性検査手段は、適切なテーブルインデックスを定期的にクエリして、それに対してメタデータがいまだ判定及び処理されていないメディアファイルが存在するかどうかを判定するために、バックグラウンドで稼働することができる。これは、イベントの損失を防止することを支援する。しかしながら、少なくともいくつかの実施形態では、顧客は、プロキシサービス516を呼び出してもよく、それらの自身のメタデータを提供してもよく、または適切なメタデータAPI522に直接メタデータを提供してもよいことが指摘されるべきである。そのAPIはまた、顧客または他のユーザがメタデータリポジトリ526に記憶されたメタデータをクエリすることを可能にすることができる。それらは、実施例として、記憶装置内のHLSトランスコードされたバージョンを有するいずれかの資源を示し、最大の資源についての情報を提供し、または特定のタイトルと関連付けられた全ての資源を示すためなどのクエリを含むことができる。
図5に例示されるシステム500はまた、顧客が直接またはSDK506を通じて、ルールエンジン512によって実行することができるライフサイクルルールを定義するルールAPIを呼び出すことを可能にするルールAPI510を含む。ルールエンジンは、いずれかの一致した資源を識別するために、メタデータAPI522に対してルールテーブルにおいて定義されたクエリを実行することができる。一致したいずれかの資源について、ルールエンジン512は、ライフサイクルキュー514に入るジョブメッセージを作成することができる。ジョブは、他のそのようなオプションの中で、異なる記憶クラスの間でファイルを移動し、またはビデオトランスコーディングジョブを稼働させるためなどのタスクを実行するためにキューから処理されてもよい。顧客は、いくつかの異なる理由のいずれかにより、ライフサイクルポリシをサブミットまたは定義することができる。例えば、顧客は、日ごとに1回未満でアクセスされる資源のいずれかのバージョンが不定期に記憶装置にアクセスするために移動されるべきであることを指定してもよい。アクセス頻度は、他のそのようなオプションの中で、イベントログを分析し、または統計使用データを集約することによって判定されてもよい。
そのような環境に資源を記憶する利点は、資源のトランスコーディングを通じて提供されるいずれかのフォーマットに一致するように広告を処理することができることである。音声は次いで、例えば、それに広告が挿入されているライブストリームの音声と一致することができる。更に、広告のビデオ品質は、現在のストリームの品質と一致するように調節されてもよく、広告とライブストリームとの間の切り替えは、仮想的にシームレスであってもよく、視聴者に通知可能でなくてもよい。
図6は、様々な実施形態に従って利用することができる記憶サービスによって資源が記憶されることを可能にする実施例の処理600を例示する。本明細書におけるいずれの処理についても、他に特に述べられない限り、様々な実施形態の範囲内で、同様の順序、もしくは代替的な順序で、または並列して実行される追加のステップ、より少ないステップ、または代替的なステップが存在してもよいことが理解されるべきである。この実施例では、メディア資源のファイルは、プロキシURLまたは他のそのようなアドレスもしくはインタフェースに受信されることによってなど、記憶プロキシサービスに受信される(602)。上記のように、メディア資源は、一次高品質メディアファイルと共に、テキスト、メタデータ、または他の関連する情報を包含することができる他のファイルを含むことができる。メタデータは、本明細書で考察及び示唆される様々な処理のいずれかを使用して、メインメディアファイルまたは関連付けられたファイルからであるかに関わらず、メディアファイルから抽出されてもよい(604)。メタデータは次いで、メタデータリポジトリに記憶されてもよく(606)、メディア資源と関連付けられてもよい。
資源のファイル名が判定されてもよく(608)、それは、資源と共に提供され、顧客によって提供され、または他に生成されたファイル名に基づくことができる。上記のように、異なるファイルまたはセグメントに対して利用されるいずれかの変形を含む、ファイル名に基づいて、一意なハッシュコードを生成する(610)ためにハッシングアルゴリズムが使用されてもよい。少なくともいくつかの実施形態におけるそれらのファイル名は、マッピングテーブルを介して元の資源に再度マッピングされてもよい。資源のメディアセグメントは次いで、高アクセス性記憶装置、または他の高性能記憶装置に記憶されてもよい(612)。上記のように、一意なハッシュコードは、セグメントが様々な記憶区画にわたって比較的ランダム且つ均一に分散されることを支援することができる。資源と共に提供され、または他に顧客もしくは別のそのようなエンティティによって識別され得るような、イベントに関するいずれかのルール、ポリシ、またはライフサイクルが存在するかについての判定が行われてもよい(614)。いくつかの実施形態における適用可能なルールまたはライフサイクルは、資源と関連付けられたメタデータについての1つ以上の値に基づいて判定されてもよい。適用可能なルールまたはライフサイクルが存在する場合、ルールまたはライフサイクルデータが記憶されてもよく(616)、資源と関連付けられてもよい。資源は次いで、記憶サービスを通じてアクセス可能とされてもよい(618)。
図7は、様々な実施形態に従って利用することができる記憶サービスによってメディア資源の記憶についてのライフサイクルを管理する実施例の処理700を例示する。この実施例では、資源の高品質メディアファイルは、図6に関して説明された処理などの処理を使用して高アクセス性記憶装置に記憶される。資源についてのライフサイクルの一部として、または顧客からの要求に応答して、他のそのような選択肢の中で、資源についてのトランスコーディングフォーマットのセットが判定されてもよい(704)。符号化フォーマットは、例えば、とりわけ、NTSC、PAL、SECAM、MP3、WAV、及びUTFを含むことができる。高アクセス性記憶装置に記憶された高品質メディアファイルを使用して、メディアファイルへのアクセスを有するトランスコーディングエンジンを使用して、トランスコーディングタスクが実行されてもよい(706)。トランスコードされたファイルは次いで、権限が付与されたユーザによるアクセスのために高アクセス性記憶装置に記憶されてもよい(708)。トランスコーディング処理の一部として、資源に適用可能ないずれかのルール、ポリシ、またはライフサイクルが判定されてもよい(710)。トランスコーディングが完了すると(または、別の適切なアクション、イベント、もしくは発生に応答して)、メディアファイルが高アクセス性(及び、高価な)記憶装置から移動されることになるかについての判定が行われてもよい(712)。そうである場合、高品質メディアファイルは、高品質メディアファイルを記憶するためにコストが低い低アクセス性記憶装置に移動されてもよい(714)。トランスコードされたファイルは、ユーザがファイルにアクセスすることを可能にするために、及びファイルが高度に圧縮され、よって、高品質ファイルよりも記憶するために高価でないことを理由に、高アクセス性記憶装置に残ることができる。メタデータ及びいずれかのルール、ポリシ、またはライフサイクルデータは、低アクセス性記憶装置内の高品質ファイル及び高アクセス性記憶装置内のトランスコードされたファイルと関連付けられてもよく(716)、顧客は、適切なシステムAPI(複数可)を使用して、資源またはメタデータをクエリまたはダウンロードすることを可能にされてもよい(718)。
図8は、様々な実施形態の態様を実装するために利用することができる実施例のコンピューティングデバイス800の基本構成要素のセットを例示する。この実施例では、デバイスは、メモリデバイスまたは要素804に記憶することができる命令を実行する少なくとも1つのプロセッサ802を含む。当業者に明らかなように、デバイスは、少なくとも1つのプロセッサ802による実行のためのプログラム命令に対する第1のデータ記憶装置など、多くのタイプのメモリ、データ記憶装置、またはコンピュータ可読メディアを含むことができ、画像またはデータに対して同一または別個の記憶装置が使用されてもよく、他のデバイスと情報を共有するために着脱可能メモリが利用可能であってもよく、他のデバイスと共有するためにいずれかの数の通信アプローチが利用可能であってもよい。デバイスは、タッチスクリーン、電子インク(eインク)、有機発光ダイオード(OLED)、または液晶ディスプレイ(LCD)など、少なくとも1つのタイプの表示要素806を含んでもよいが、サーバなどのデバイスは、光及びデータ伝送のシステムを通じてなど、他の手段を介して情報を搬送してもよい。デバイスは典型的には、少なくとも1つのネットワークを通じた通信を可能にするポート、ネットワークインタフェースカード、または無線送受信機など、1つ以上のネットワーキング構成要素808を含む。デバイスは、ユーザから従来の入力を受信することができる少なくとも1つの入力デバイス810を含むことができる。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、トラックボール、キーパッド、またはいずれかの他のそのようなデバイスもしくは要素を含むことができ、それによって、ユーザは、デバイスにコマンドを入力することができる。それらのI/Oデバイスは、いくつかの実施形態では、無線赤外線もしくはBluetooth(登録商標)、または他のリンクによっても更に接続されてもよい。しかしながら、いくつかの実施形態では、そのようなデバイスは、いずれのボタンを含まなくてもよく、視覚コマンド及び音声コマンドの組み合わせを通じてのみ制御されてもよく、その結果、ユーザは、デバイスと接触する必要なく、デバイスを制御することができる。
考察されたように、説明される実施形態に従って、様々な環境内で異なるアプローチが実装されてもよい。認識されるように、本明細書で提示されるいくつかの実施例における説明を目的としてウェブに基づく環境が使用されるが、様々な実施形態を実装するために、必要に応じて異なる環境が使用されてもよい。システムは、電子クライアントデバイスを含み、電子クライアントデバイスは、適切なネットワークを通じて要求、メッセージ、または情報を送信及び受信し、デバイスのユーザに情報を再度搬送するように動作可能ないずれかの適切なデバイスを含むことができる。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、及び電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、もしくはいずれかの他のそのようなネットワーク、またはそれらの組み合わせを含む、いずれかの適切なネットワークを含むことができる。そのようなシステムに対して使用される構成要素は、選択されるネットワーク及び/または環境のタイプに少なくとも部分的に依存することがある。そのようなネットワークを介して通信するためのプロトコル及び構成要素は周知であり、本明細書で詳細には考察されない。ネットワークを通じた通信は、有線または無線接続、及びそれらの組み合わせを介して可能にされてもよい。この実施例では、ネットワークは、要求を受信し、それに応答してコンテンツをサービスするためのウェブサーバを含む環境のように、インターネットを含むが、他のネットワークについて、当業者に明らかなように、類似の目的をサービスする代替的なデバイスが使用されてもよい。
例示的な環境は、少なくとも1つのアプリケーションサーバ及びデータストアを含む。いくつかのアプリケーションサーバ、層もしくは他の要素、処理、または構成要素が存在することができ、それらは、つながれ、または他に構成されてもよく、適切なデータストアからデータを取得することなどのタスクを実行するようにやりとりすることができることが理解されるべきである。本明細書で使用される場合、「データストア」という用語は、データを記憶し、データにアクセスし、及びデータを取り出す能力を有するいずれかのデバイスまたはデバイスの組み合わせを指し、いずれかのデバイスまたはデバイスの組み合わせは、いずれかの標準、分散、またはクラスタ化された環境内の、データサーバ、データベース、データ記憶装置、及びデータ記憶メディアのいずれかの組み合わせ及びいずれかの数のそれらを含んでもよい。アプリケーションサーバは、クライアントデバイスに対して1つ以上のアプリケーションの態様を実行するために必要に応じてデータストアとやりとりし、アプリケーションについてのデータアクセス及びビジネスロジックの大多数を取り扱うためのいずれかの適切なハードウェア及びソフトウェアを含むことができる。アプリケーションサーバは、データストアと連携してアクセス制御サービスを提供し、ユーザに転送されることになるテキスト、グラフィック、音声、及び/またはビデオなどのコンテンツを生成することができ、コンテンツは、この実施例では、HTML、XML、または別の適切な構造化言語の形式でウェブサーバによってユーザにサービスされてもよい。全ての要求及び応答と共に、クライアントデバイスとアプリケーションサーバとの間のコンテンツの配信を取り扱うことは、ウェブサーバによって取り扱われてもよい。本明細書で考察される構造化コードを本明細書で他に考察されるいずれかの適切なデバイスまたはホストマシン上で実行することができるので、ウェブ及びアプリケーションサーバが必要とされず、実施例の構成要素にすぎないことが理解されるべきである。
データストアは、いくつかの別個のデータテーブル、データベース、または特定の態様に関連するデータを記憶するための他のデータ記憶機構及びメディアを含むことができる。例えば、例示されるデータストアは、コンテンツ(例えば、製造データ)及びユーザ情報を記憶するための機構を含み、コンテンツ及びユーザ情報は、製造側に対してコンテンツをサービスするために使用されてもよい。データストアはまた、ログまたはセッションデータを記憶するための機構を含むとして示される。必要に応じて上記記載された機構のいずれか、またはデータストア内の追加の機構に記憶することができる、ページ画像情報及びアクセス権情報など、データストアに記憶される必要があることがある多くの他の態様が存在することができることが理解されるべきである。データストアは、それと関連付けられたロジックを通じて、アプリケーションサーバから命令を受信し、それに応答して、データを取得、更新、または他に処理するように動作可能である。1つの実施例では、ユーザは、ある特定のタイプの項目についての検索要求をサブミットしてもよい。この場合、データストアは、ユーザの識別を検証するために、ユーザ情報にアクセスしてもよく、そのタイプの項目に関する情報を取得するために、カタログ詳細情報にアクセスすることができる。ユーザデバイス上のブラウザを介してユーザが見ることが可能なウェブページ上の結果リストなどの情報が次いで、ユーザに返されてもよい。専用ページまたはブラウザのウインドウ内で、関心の特定の項目についての情報を見ることができる。
各々のサーバは典型的には、そのサーバの全体的な統治及び操作のための実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的には、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読メディアを含む。サーバのオペレーティングシステム及び汎用機能性についての適切な実装態様は、既知であり、または商業的に利用可能であり、特に、本明細書における開示を考慮して、当業者によって容易に実装される。
1つの実施形態における環境は、1つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続された、いくつかのコンピュータシステム及び構成要素を利用した分散コンピューティング環境である。しかしながら、そのようなシステムは、例示されるよりも少ないまたは多くの数の構成要素を有するシステム内でも等しく良好に動作することができることが当業者によって認識されるであろう。よって、本明細書におけるシステムの記述は、本質的に例示的であり、開示の範囲を限定しないと見なされるべきである。
様々な実施形態は更に、幅広い種類の動作環境内で実装されてもよく、オペレーティング環境は、一部のケースでは、いくつかのアプリケーションのいずれかを動作させるために使用することができる1つ以上のユーザコンピュータまたはコンピューティングデバイスを含むことができる。ユーザまたはクライアントデバイスは、標準オペレーティングシステム上で稼働するデスクトップまたはラップトップコンピュータなどのいくつかの汎用パーソナルコンピュータ、ならびにモバイルソフトウェアを稼働させ、いくつかのネットワーキング及びメッセージングプロトコルをサポートする能力を有するセルラ、無線、及びハンドヘルドデバイスのいずれかを含むことができる。そのようなシステムはまた、開発及びデータベース管理などの目的により、様々な商業的に利用可能なオペレーティングシステム及び他の既知のアプリケーションのいずれかを稼働させるいくつかのワークステーションを含むことができる。それらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、及びネットワークを介して通信する能力を有する他のデバイスなどの他の電子デバイスを含むことができる。
ほとんどの実施形態は、TCP/IP、FTP、UPnP、NFS、及びCIFSなどの様々な商業的に利用可能なプロトコルのいずれかを使用して通信をサポートする、当業者によく知られた少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらのいずれかの組み合わせとすることができる。
ウェブサーバを利用する実施形態では、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたは中間階層アプリケーションのいずれかを稼働させることができる。サーバ(複数可)はまた、Java(登録商標)、C、C#、もしくはC++などのいずれかのプログラミング言語、またはPerl、Python、もしくはTCLなどのいずれかのスクリプト言語、ならびにそれらの組み合わせで記述された1つ以上のスクリプトまたはプログラムとして実装することができる1つ以上のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答して、プログラムまたはスクリプトを実行する能力を有してもよい。サーバ(複数可)はまた、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、及びIBM(登録商標)から商業的に利用可能なサーバ、ならびにMySQL、Postgres、SQLite、MongoDB、及び構造化または非構造化データを記憶し、取り出し、及びアクセスする能力を有するいずれかの他のサーバなどのオープンソースサーバを含むがそれらに限定されない、データベースサーバを含んでもよい。データベースサーバは、テーブルベースサーバ、ドキュメントベースサーバ、非構造化サーバ、関係サーバ、非関係サーバ、もしくはそれらの組み合わせ、及び/または他のデータベースサーバを含んでもよい。
環境は、上記考察された様々なデータストア、及び他のメモリ及び記憶メディアを含むことができる。それらは、コンピュータのうちの1つ以上にローカルな(及び/もしくはそれに存在する)、またはネットワークにわたってコンピュータのいずれかもしくは全てにリモートな記憶メディアなど、様々な位置に存在することができる。実施形態の特定のセットでは、情報は、当業者によく知られたストレージエリアネットワーク(SAN)に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するためのいずれかの必要なファイルを、必要に応じてローカル及び/またはリモートに記憶してもよい。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、ハードウェア要素を含むことができ、ハードウェア要素は、バスを介して電気的に結合されてもよく、要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチ感知表示要素、またはキーパッド)、及び少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、またはスピーカ)を含む。そのようなシステムはまた、ランダムアクセスメモリ(RAM)またはリードオンリメモリ(ROM)、ならびに着脱可能メディアデバイス、メモリカード、フラッシュカードなど、ディスクドライブ、磁気テープドライブ、光学式記憶装置、及びソリッドステート記憶装置などの1つ以上の記憶装置を含んでもよい。
そのようなデバイスはまた、上記説明されたコンピュータ可読記憶メディアリーダ、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス)、及びワーキングメモリを含むことができる。コンピュータ可読記憶メディアリーダは、リモート、ローカル、固定、及び/または着脱可能記憶装置を表すコンピュータ可読記憶メディアと共に、コンピュータ可読情報を一時的及び/または更に永続的に包含し、記憶し、伝送し、及び取り出すための記憶メディアと接続されてもよく、またはそれらを受信するように構成されてもよい。システム及び様々なデバイスはまた、典型的には、オペレーティングシステム及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも1つのワーキングメモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が上記説明された実施形態からの多数の変形を有してもよいことを認識されるべきである。例えば、カスタマイズされたハードウェアも使用されてもよく、及び/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方で実装されてもよい。更に、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が採用されてもよい。
以下の条項を考慮して、上述したことをより良好に理解することができる。
1.記憶サービスのインタフェースに、ビデオファイルを含む資源を受信することと、
前記資源からメタデータを抽出し、前記メタデータを前記記憶サービス内の前記資源と関連付けることと、
前記記憶サービスの第1のタイプの記憶装置に前記ビデオファイルを記憶することと、
それぞれのフォーマットを有する1つ以上の圧縮されたファイルに前記ビデオファイルをトランスコードすることと、
前記記憶サービスの前記第1のタイプの記憶装置に前記1つ以上の圧縮されたファイルを記憶することと、
前記資源に対応するライフサイクルを判定することと、
前記ライフサイクルの一部として、及び前記トランスコードの後、第2のタイプの記憶装置に前記ビデオファイルを移動させることであって、前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも低いアクセス性を有する、前記移動させることと、
前記記憶サービスの1つ以上のダウンロードインタフェースを通じてダウンロードのために前記1つ以上の圧縮されたファイルを提供することと、
メタデータインタフェースに、1つ以上のメタデータパラメータについての値を指定するクエリ要求を受信することと、
前記クエリ要求への応答を提供することであって、前記応答は、前記資源と関連付けられた前記1つ以上のメタデータパラメータについての前記値に少なくとも部分的に基づいて、前記資源についての情報を提供する、前記提供することと、
を含む、コンピュータ実施方法。
2.前記資源のファイル名を決定することと、
前記ビデオファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、条項1に記載のコンピュータ実施方法。
3.前記記憶サービスによって、前記資源に関するイベントを検出することと、
前記資源と関連付けられた前記ライフサイクルに少なくとも部分的に基づいて、前記イベントに対応するスクリプトを実行することと、
を更に含む、条項1に記載のコンピュータ実施方法。
4.前記ビデオファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記ビデオファイルをインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記資源のクエリを可能にするインタフェースを提供することと、
を更に含む、条項1に記載のコンピュータ実施方法。
5.前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも記憶の単位当たりでコストが低い、条項1に記載のコンピュータ実施方法。
6.記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記メタデータを、前記記憶システムに記憶された前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを決定することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記決定することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を含む、コンピュータ実施方法。
7.前記資源に対し、前記メザニンファイル及び前記1つ以上の関連するファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に含む、条項6に記載のコンピュータ実施方法。
8.ユーザが前記少なくとも1つの階層的プリミティブに従って前記資源とやりとりすることを可能にする1つ以上のツールを提供することを更に含み、前記1つ以上のツールを通じてユーザ入力に応答して実行されるアクションは、前記階層的プリミティブの資源レベルまたは下位資源レベルにおいて実行される、条項7に記載のコンピュータ実施方法。
9.前記ワークフロータスクは、アプリケーションプログラミングインタフェース(API)へのユーザ呼び出しまたは前記資源の代わりに前記ワークフローを管理するルールエンジンによってトリガされるアクションに応答して実行される、条項6に記載のコンピュータ実施方法。
10.前記メザニンファイルに対応するルール、ポリシ、またはライフサイクルのうちの少なくとも1つを決定することと、
前記イベントに応答して、第2のタイプの記憶装置への前記メザニンファイルの移動をトリガすることであって、前記第2のタイプの記憶装置は、ルール、ポリシ、またはライフサイクルのうちの前記少なくとも1つの一部として指定される、条項7に記載のコンピュータ実施方法。
11.指定されたフォーマットを有する1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることと、
第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記メザニンファイルが最初に記憶された第1のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第2のタイプの記憶装置に記憶された前記メザニンファイル及び前記第1のタイプの記憶装置に記憶された前記1つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に含む、条項6に記載のコンピュータ実施方法。
12.前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、条項6に記載のコンピュータ実施方法。
13.前記メザニンファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルのクエリを可能にするインタフェースを提供することと、
を更に含む、条項6に記載のコンピュータ実施方法。
14.前記記憶システムのプロキシサービスに前記メザニンファイルを受信することを更に含み、前記プロキシサービスは、前記メザニンファイルを受信するための専用アドレスを有する、条項6に記載のコンピュータ実施方法。
15.前記メタデータは、前記メザニンファイルのタイトル、フォーマット、ビットレート、またはファイルサイズのうちの少なくとも1つを含む、条項6に記載のコンピュータ実施方法。
16.少なくとも1つのプロセッサと、
第1のタイプの記憶装置と、
前記第1のタイプの記憶装置よりも低いアクセス性を有する第2のタイプの記憶装置と、
命令を含むメモリと、を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記記憶システムの第1のタイプの記憶装置に少なくとも前記メザニンファイルを記憶することと、
前記メタデータを、前記記憶システム内の前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを取得することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記取得することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を前記システムに行わせる、記憶システム。
17.前記命令は、実行されるとき、
前記資源に対し、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に前記システムに行わせる、条項16に記載の記憶システム。
18.前記命令は、実行されるとき、
前記資源と共に表示されることになる広告のセットを受信することと、
前記メザニンファイルを使用して生成されたトランスコードされたファイルのビデオ品質または音声品質のうちの少なくとも1つに一致するように、前記広告を修正させることと、
前記トランスコードされたファイルの再生の間、前記広告を表示させることと、
を更に前記システムに行わせる、条項16に記載の記憶システム。
19.前記命令は、実行されるとき、
指定されたフォーマットを有する1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコードすることと、
第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第2のタイプの記憶装置に記憶された前記メザニンファイル及び前記第1のタイプの記憶装置に記憶された前記1つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に前記システムに行わせる、条項16に記載の記憶システム。
20.前記命令は、実行されるとき、
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に前記システムに行わせる、条項16に記載の記憶システム。
コードまたはコードの一部を包含する記憶メディア及び他の非一時的コンピュータ可読メディアは、限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のためのいずれかの方法または技術において実装された揮発性及び不揮発性、着脱可能及び着脱不能メディアなど、本分野において既知であり、または使用されるいずれかの適切なメディアを含むことができ、それらは、RAM、ROM、EEPROM(登録商標)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、システムデバイスによってアクセスすることができるいずれかの他のメディアを含む。本明細書で提供される開示及び教示に基づいて、当業者は、様々な実施形態を実装するための他の方式及び/または方法を認識するであろう。
したがって、明細書及び図面は、限定的な意味ではなく例示的であると見なされること
になる。しかしながら、特許請求の範囲において示されるような発明のより広い精神及び
範囲から逸脱することなく、それらに様々な修正及び変更が行われてもよいことが明白で
あろう。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
〔1〕
記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記メタデータを、前記記憶システムに記憶された前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを決定することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記決定することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を含む、コンピュータ実施方法。
〔2〕
前記資源に対し、前記メザニンファイル及び前記1つ以上の関連するファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に含む、〔1〕に記載のコンピュータ実施方法。
〔3〕
ユーザが前記少なくとも1つの階層的プリミティブに従って前記資源とやりとりすることを可能にする1つ以上のツールを提供することを更に含み、前記1つ以上のツールを通じてユーザ入力に応答して実行されるアクションは、前記階層的プリミティブの資源レベルまたは下位資源レベルにおいて実行される、〔2〕に記載のコンピュータ実施方法。
〔4〕
前記ワークフロータスクは、アプリケーションプログラミングインタフェース(API)へのユーザ呼び出しまたは前記資源の代わりに前記ワークフローを管理するルールエンジンによってトリガされるアクションに応答して実行される、〔1〕に記載のコンピュータ実施方法。
〔5〕
前記メザニンファイルに対応するルール、ポリシ、またはライフサイクルのうちの少なくとも1つを判定することと、
前記イベントに応答して、第2のタイプの記憶装置への前記メザニンファイルの移動をトリガすることであって、前記第2のタイプの記憶装置は、ルール、ポリシ、またはライフサイクルのうちの前記少なくとも1つの一部として指定される、〔2〕に記載のコンピュータ実施方法。
〔6〕
指定されたフォーマットを有する1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることと、
第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記メザニンファイルが最初に記憶された第1のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第2のタイプの記憶装置に記憶された前記メザニンファイル及び前記第1のタイプの記憶装置に記憶された前記1つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に含む、〔1〕に記載のコンピュータ実施方法。
〔7〕
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、〔1〕に記載のコンピュータ実施方法。
〔8〕
前記メザニンファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルをインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルのクエリを可能にするインタフェースを提供することと、
を更に含む、〔1〕に記載のコンピュータ実施方法。
〔9〕
前記記憶システムのプロキシサービスに前記メザニンファイルを受信することを更に含み、前記プロキシサービスは、前記メザニンファイルを受信するための専用アドレスを有する、〔1〕に記載のコンピュータ実施方法。
〔10〕
前記メタデータは、前記メザニンファイルのタイトル、フォーマット、ビットレート、またはファイルサイズのうちの少なくとも1つを含む、〔1〕に記載のコンピュータ実施方法。
〔11〕
少なくとも1つのプロセッサと、
第1のタイプの記憶装置と、
前記第1のタイプの記憶装置よりも低いアクセス性を有する第2のタイプの記憶装置と、
命令を含むメモリと、を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記記憶システムの第1のタイプの記憶装置に少なくとも前記メザニンファイルを記憶することと、
前記メタデータを、前記記憶システム内の前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを取得することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記取得することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を前記システムに行わせる、記憶システム。
〔12〕
前記命令は、実行されるとき、
前記資源に対し、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に前記システムに行わせる、〔11〕に記載の記憶システム。
〔13〕
前記命令は、実行されるとき、
前記資源と共に表示されることになる広告のセットを受信することと、
前記メザニンファイルを使用して生成されたトランスコードされたファイルのビデオ品質または音声品質のうちの少なくとも1つに一致するように、前記広告を修正させることと、
前記トランスコードされたファイルの再生の間、前記広告を表示させることと、
を更に前記システムに行わせる、〔11〕に記載の記憶システム。
〔14〕
前記命令は、実行されるとき、
指定されたフォーマットを有する1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコードすることと、
第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第2のタイプの記憶装置に記憶された前記メザニンファイル及び前記第1のタイプの記憶装置に記憶された前記1つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に前記システムに行わせる、〔11〕に記載の記憶システム。
〔15〕
前記命令は、実行されるとき、
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に前記システムに行わせる、〔11〕に記載の記憶システム。

Claims (13)

  1. 第1のタイプの記憶装置を含む記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
    前記資源からメタデータを抽出することと、
    前記メタデータを、前記記憶システムに記憶された前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
    前記資源に対して適用されることになるワークフローを決定することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられ、ここにおいて、前記ワークフローは、少なくとも、前記ワークフローによって指定されたフォーマットの1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることを含むトランスコード操作を備え
    前記トランスコード操作の完了に対応するイベントを検出することと、
    前記イベントに基づいて、第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも低いアクセス性を有し、
    前記メタデータを前記1つ以上のトランスコードされたファイルと関連付けること、
    を含む、コンピュータ実施方法。
  2. 前記資源に対し、前記メザニンファイル及び前記1つ以上の関連するファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
    前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  3. ユーザが前記少なくとも1つの階層的プリミティブに従って前記資源とやりとりすることを可能にする1つ以上のツールを提供することを更に含み、前記1つ以上のツールを通じてユーザ入力に応答して実行されるアクションは、前記階層的プリミティブの資源レベルまたは下位資源レベルにおいて実行される、請求項2に記載のコンピュータ実施方法。
  4. プリケーションプログラミングインタフェース(API)へのユーザ呼び出しまたは前記資源の代わりに前記ワークフローを管理するルールエンジンによってトリガされるアクションに応答して、前記ワークフローを実行さことを更に備える、請求項1に記載のコンピュータ実施方法。
  5. 前記メザニンファイルに対応するルール、ポリシ、またはライフサイクルのうちの少なくとも1つを判定することと、
    前記イベントに応答して、第2のタイプの記憶装置への前記メザニンファイルの移動をトリガすることであって、前記第2のタイプの記憶装置は、ルール、ポリシ、またはライフサイクルのうちの前記少なくとも1つにおいて指定される、請求項2に記載のコンピュータ実施方法。
  6. 記資源についてのファイル名を決定することと、
    前記メザニンファイルをセグメントのシーケンスに分割することと、
    前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
    各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  7. 前記メザニンファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルをインデックス付けすることと、
    前記時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルのクエリを可能にするインタフェースを提供することと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  8. 前記記憶システムのプロキシサービスに前記メザニンファイルを受信することを更に含み、前記プロキシサービスは、前記メザニンファイルを受信するための専用アドレスを有する、請求項1に記載のコンピュータ実施方法。
  9. 前記メタデータは、前記メザニンファイルのタイトル、フォーマット、ビットレート、またはファイルサイズのうちの少なくとも1つを含む、請求項1に記載のコンピュータ実施方法。
  10. 少なくとも1つのプロセッサと、
    第1のタイプの記憶装置と、
    前記第1のタイプの記憶装置よりも低いアクセス性を有する第2のタイプの記憶装置と、
    命令を含むメモリと、を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
    記憶システムに、メザニンファイル及び1つ以上の関連するファイルを含む資源を受信することと、
    前記資源からメタデータを抽出することと、
    前記記憶システムの第1のタイプの記憶装置に少なくとも前記メザニンファイルを記憶することと、
    前記メタデータを、前記記憶システム内の前記メザニンファイル及び前記1つ以上の関連するファイルと関連付けることと、
    前記資源に対して適用されることになるワークフローを取得することであって、前記ワークフローは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられ、ここにおいて、前記ワークフローは、少なくとも、前記ワークフローによって指定されたフォーマットの1つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることを含むトランスコード操作を備え
    前記トランスコード操作に対応するイベントを検出することと、
    前記イベントに基づいて、第2のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第2のタイプの記憶装置は、前記第1のタイプの記憶装置よりも低いアクセス性を有し、
    前記メタデータを前記1つ以上のトランスコードされたファイルと関連付けること、
    を前記記憶システムに行わせる、記憶システム。
  11. 前記命令は、実行されるとき、
    前記資源に対し、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルに関連する少なくとも1つの階層的プリミティブを作成することと、
    前記ワークフロー及び前記メタデータを前記少なくとも1つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記1つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも1つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
    を更に前記記憶システムに行わせる、請求項10に記載の記憶システム。
  12. 前記命令は、実行されるとき、
    前記資源と共に表示されることになる広告のセットを受信することと、
    前記メザニンファイルを使用して生成されたトランスコードされたファイルのビデオ品質または音声品質のうちの少なくとも1つに一致するように、前記広告を修正させることと、
    前記トランスコードされたファイルの再生の間、前記広告を表示させることと、
    を更に前記記憶システムに行わせる、請求項10に記載の記憶システム。
  13. 前記命令は、実行されるとき、
    記資源についてのファイル名を決定することと、
    前記メザニンファイルをセグメントのシーケンスに分割することと、
    前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
    各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
    を更に前記記憶システムに行わせる、請求項10に記載の記憶システム。
JP2019514290A 2016-09-14 2017-09-13 メディア記憶 Active JP6816266B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/265,513 2016-09-14
US15/265,513 US10701377B2 (en) 2016-09-14 2016-09-14 Media storage
PCT/US2017/051385 WO2018053015A1 (en) 2016-09-14 2017-09-13 Media storage

Publications (2)

Publication Number Publication Date
JP2019533233A JP2019533233A (ja) 2019-11-14
JP6816266B2 true JP6816266B2 (ja) 2021-01-20

Family

ID=59969239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514290A Active JP6816266B2 (ja) 2016-09-14 2017-09-13 メディア記憶

Country Status (5)

Country Link
US (3) US10701377B2 (ja)
EP (1) EP3513323B1 (ja)
JP (1) JP6816266B2 (ja)
CN (2) CN109791557B (ja)
WO (1) WO2018053015A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage
US10642917B2 (en) * 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
US10735262B1 (en) * 2018-04-26 2020-08-04 Intuit Inc. System and method for self-orchestrated canary release deployment within an API gateway architecture
JP7326667B2 (ja) * 2018-07-31 2023-08-16 マーベル アジア ピーティーイー、リミテッド ストレージエッジにおけるメタデータ生成
US11277665B2 (en) * 2018-08-13 2022-03-15 Comcast Cable Communications, Llc Using manifest files to determine events in content items
US11106637B2 (en) * 2019-05-20 2021-08-31 5Th Kind, Inc. Metadata-driven tiered storage
US11531642B2 (en) * 2019-11-07 2022-12-20 Netapp, Inc. Synchronous object placement for information lifecycle management
US12028559B2 (en) * 2021-06-18 2024-07-02 Grass Valley Limited System and method for optimizing the distribution of available media production resources
US20240040171A1 (en) * 2022-07-28 2024-02-01 Rovi Guides, Inc. Systems and methods for light weight bitrate-resolution optimization for live streaming and transcoding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990214B2 (en) 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US7836055B2 (en) * 2006-01-31 2010-11-16 Microsoft Corporation XNA relationship management
JP2007272540A (ja) 2006-03-31 2007-10-18 Pfu Ltd データ配信方法及びデータ配信システム
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
US20090217352A1 (en) * 2008-02-25 2009-08-27 Tong Shen Web managed multimedia asset management method and system
CA2763678C (en) 2009-05-27 2020-03-24 Visible World Inc. Continuous re-insertion of advertisements in video content
KR20120082390A (ko) 2009-06-05 2012-07-23 모자이크 멀티미디어, 인코포레이티드 스마트 콘텐츠 태깅 및 상호 작용을 위한 에코시스템
US20110191446A1 (en) * 2010-01-29 2011-08-04 Clarendon Foundation, Inc. Storing and streaming media content
US8769139B2 (en) * 2010-01-29 2014-07-01 Clarendon Foundation, Inc. Efficient streaming server
US8977660B1 (en) * 2011-12-30 2015-03-10 Emc Corporation Multi-level distributed hash table for data storage in a hierarchically arranged network
US9380326B1 (en) * 2012-05-07 2016-06-28 Amazon Technologies, Inc. Systems and methods for media processing
US10191954B1 (en) * 2012-05-07 2019-01-29 Amazon Technologies, Inc. Prioritized transcoding of media content
US9060152B2 (en) * 2012-08-17 2015-06-16 Flextronics Ap, Llc Remote control having hotkeys with dynamically assigned functions
US8826332B2 (en) * 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform
WO2014133497A1 (en) * 2013-02-27 2014-09-04 Hitachi Data Systems Corporation Decoupled content and metadata in a distributed object storage ecosystem
CA2903855C (en) * 2013-03-15 2018-04-03 Arris Technology, Inc. System and method for optimizing storage and transcoding costs in network dvr
JP6180179B2 (ja) 2013-05-16 2017-08-16 三菱電機株式会社 映像信号記録再生装置
WO2016081856A1 (en) * 2014-11-21 2016-05-26 Whip Networks, Inc. Media management and sharing system
US9983802B2 (en) * 2015-04-29 2018-05-29 International Business Machines Corporation Allocating storage extents in a storage system
US20170032412A1 (en) * 2015-07-28 2017-02-02 Vidscale Services, Inc. Methods and systems for preventing advertisements from being delivered to untrustworthy client devices
US10070193B2 (en) * 2016-08-26 2018-09-04 Apple Inc. Universal browse and watch list
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage

Also Published As

Publication number Publication date
US20230124822A1 (en) 2023-04-20
US11785232B2 (en) 2023-10-10
US11553196B2 (en) 2023-01-10
US20180077420A1 (en) 2018-03-15
CN116578740A (zh) 2023-08-11
US20200236373A1 (en) 2020-07-23
EP3513323B1 (en) 2020-11-04
WO2018053015A1 (en) 2018-03-22
US10701377B2 (en) 2020-06-30
CN109791557B (zh) 2023-06-30
CN109791557A (zh) 2019-05-21
EP3513323A1 (en) 2019-07-24
JP2019533233A (ja) 2019-11-14

Similar Documents

Publication Publication Date Title
JP6816266B2 (ja) メディア記憶
US10572446B2 (en) System and method for storing content on a content delivery network
US10152489B2 (en) Synchronize collaboration entity files
US10178156B2 (en) Extraction and capture of information from customizable header
US11120293B1 (en) Automated indexing of media content
US8868666B1 (en) Methods, devices and systems for content discovery, aggregation and presentment over a network
US11212332B2 (en) Dynamic archiving of streaming content
AU2014216683B2 (en) Cloud-based video delivery
US11916992B2 (en) Dynamically-generated encode settings for media content
US10795662B2 (en) Scalable artifact distribution
US10516911B1 (en) Crowd-sourced media generation
WO2014120467A1 (en) Database shard arbiter
US20160246615A1 (en) Converting video into a walkthrough for an application or an online service
US20140189063A1 (en) Content delivery via an online synchronized content management system
US20210232603A1 (en) Capturing data lake changes
US20150195599A1 (en) Methods for synchronization of a live streaming broadcast and systems using the same
US10523755B1 (en) Peer-based cloud storage for media broadcasts
US10452675B1 (en) Source detection and indexing for managed search
US10673919B1 (en) Concurrent input monitor and ingest
US9742818B2 (en) Pushing events to web pages used for interaction with applications
US20240340326A1 (en) Playback aware video packaging
US10614090B1 (en) Indexing and archiving streaming sources for managed search

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200701

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: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201223

R150 Certificate of patent or registration of utility model

Ref document number: 6816266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250