(57)【要約】記憶システムのユーザは、高品質メディアファイル及び様々な関連するファイルを含むことができるメディア資源のファイルをアップロードすることができる。アップロード処理の一部として、記憶システムは、メディア資源を記述したメタデータを抽出することができる。ユーザは、資源の記憶に対して適用されることになる１つ以上のライフサイクルポリシを指定することができ、ルールエンジンは、１つ以上のポリシの適用を保証することができる。ルールエンジンはまた、単純なメディア処理ワークフローの使用を可能にすることができる。資源のセグメント及びファイルが記憶システムの区画にわたって比較にランダム且つ均一に分散して記憶されることを保証するために、ファイル名ハッシングアプローチが使用されてもよい。資源のライフサイクル処理の一部として、高品質メディアファイルは、資源のトランスコーディングまたは別のそのようなアクションが行われると、あまり高価でない記憶装置に移動されてもよい。【選択図】図１
2019533233.tif 000002
【特許請求の範囲】
【請求項１】
記憶システムに、メザニンファイル及び１つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記メタデータを、前記記憶システムに記憶された前記メザニンファイル及び前記１つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを決定することであって、前記ワークフローは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記決定することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を含む、コンピュータ実施方法。
【請求項２】
前記資源に対し、前記メザニンファイル及び前記１つ以上の関連するファイルに関連する少なくとも１つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも１つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも１つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
ユーザが前記少なくとも１つの階層的プリミティブに従って前記資源とやりとりすることを可能にする１つ以上のツールを提供することを更に含み、前記１つ以上のツールを通じてユーザ入力に応答して実行されるアクションは、前記階層的プリミティブの資源レベルまたは下位資源レベルにおいて実行される、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記ワークフロータスクは、アプリケーションプログラミングインタフェース（ＡＰＩ）へのユーザ呼び出しまたは前記資源の代わりに前記ワークフローを管理するルールエンジンによってトリガされるアクションに応答して実行される、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記メザニンファイルに対応するルール、ポリシ、またはライフサイクルのうちの少なくとも１つを判定することと、
前記イベントに応答して、第２のタイプの記憶装置への前記メザニンファイルの移動をトリガすることであって、前記第２のタイプの記憶装置は、ルール、ポリシ、またはライフサイクルのうちの前記少なくとも１つの一部として指定される、請求項２に記載のコンピュータ実施方法。
【請求項６】
指定されたフォーマットを有する１つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることと、
第２のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第２のタイプの記憶装置は、前記メザニンファイルが最初に記憶された第１のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第２のタイプの記憶装置に記憶された前記メザニンファイル及び前記第１のタイプの記憶装置に記憶された前記１つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記メザニンファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルをインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルのクエリを可能にするインタフェースを提供することと、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項９】
前記記憶システムのプロキシサービスに前記メザニンファイルを受信することを更に含み、前記プロキシサービスは、前記メザニンファイルを受信するための専用アドレスを有する、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記メタデータは、前記メザニンファイルのタイトル、フォーマット、ビットレート、またはファイルサイズのうちの少なくとも１つを含む、請求項１に記載のコンピュータ実施方法。
【請求項１１】
少なくとも１つのプロセッサと、
第１のタイプの記憶装置と、
前記第１のタイプの記憶装置よりも低いアクセス性を有する第２のタイプの記憶装置と、
命令を含むメモリと、を含み、前記命令は、前記少なくとも１つのプロセッサによって実行されるとき、
記憶システムに、メザニンファイル及び１つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記記憶システムの第１のタイプの記憶装置に少なくとも前記メザニンファイルを記憶することと、
前記メタデータを、前記記憶システム内の前記メザニンファイル及び前記１つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを取得することであって、前記ワークフローは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記取得することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を前記システムに行わせる、記憶システム。
【請求項１２】
前記命令は、実行されるとき、
前記資源に対し、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルに関連する少なくとも１つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも１つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも１つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に前記システムに行わせる、請求項１１に記載の記憶システム。
【請求項１３】
前記命令は、実行されるとき、
前記資源と共に表示されることになる広告のセットを受信することと、
前記メザニンファイルを使用して生成されたトランスコードされたファイルのビデオ品質または音声品質のうちの少なくとも１つに一致するように、前記広告を修正させることと、
前記トランスコードされたファイルの再生の間、前記広告を表示させることと、
を更に前記システムに行わせる、請求項１１に記載の記憶システム。
【請求項１４】
前記命令は、実行されるとき、
指定されたフォーマットを有する１つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコードすることと、
第２のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第２のタイプの記憶装置は、前記第１のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第２のタイプの記憶装置に記憶された前記メザニンファイル及び前記第１のタイプの記憶装置に記憶された前記１つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に前記システムに行わせる、請求項１１に記載の記憶システム。
【請求項１５】
前記命令は、実行されるとき、
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に前記システムに行わせる、請求項１１に記載の記憶システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザは、デジタル形式にあるコンテンツをますます取得しており、リモートサービスからそのコンテンツをダウンロードまたはストリーミングすることが多い。コンテンツは、高品質フォーマットでアップロードされることが多く、様々なタイプのデバイス上で再生するために適切な様々な他のフォーマットにトランスコードされることが多い。トランスコードされたバージョンと共に高品質バージョンの記憶は、いくつかの記憶システムにおいては非常に高価であることがあり、様々なバージョンを関連付け、顧客がそれらの様々な資源を管理することを可能にすることが困難であることがある。
【発明の概要】
【０００２】
本開示に従った様々な実施形態が、図面を参照して説明される。
【図面の簡単な説明】
【０００３】
【図１】様々な実施形態を実装することができる実施例の環境を例示する。
【図２】様々な実施形態に従って利用することができるメディアファイルのトランスコーディングを管理する実施例のサブシステムを例示する。
【図３】様々な実施形態に従って利用することができる高速且つアーカイブされた記憶位置へのコンテンツの記憶を管理する実施例のサブシステムを例示する。
【図４】様々な実施形態に従って利用することができる資源の記憶を管理する実施例のシステムを例示する。
【図５】様々な実施形態に従って利用することができる資源の記憶を管理する別の実施例のシステムを例示する。
【図６】様々な実施形態に従って利用することができる記憶サービスによって、アップロードされた資源が記憶されることを可能にする実施例の処理を例示する。
【図７】様々な実施形態に従って利用することができる記憶サービスによって記憶された資源に対してライフサイクルを実施する実施例の処理を例示する。
【図８】様々な実施形態の態様を実装するために使用することができるコンピューティングデバイスの実施例の構成要素を例示する。
【発明を実施するための形態】
【０００４】
以下の説明では、様々な実施形態が説明される。説明を目的として、実施形態の完全な理解を提供するために、特定の構成及び詳細が示される。しかしながら、実施形態が特定の詳細なしに実施されてもよいことも当業者にとって明らかであろう。更に、説明される実施形態を曖昧にしないために、公知の特徴が省略または簡略化される場合がある。
【０００５】
本明細書で説明及び示唆されるアプローチは、記憶環境における、高品質マルチメディアファイルなどの大規模ファイルの記憶に関連する。記憶システムの顧客または他のユーザは、記憶システムにメディアまたは他のそのようなコンテンツをアップロードすることができる。アップロード処理の一部として、記憶システムは、アップロードされるメディアファイルを記述したメディアメタデータを抽出することができる。ファイルは、メディア資源の一部としてアップロードされた関連するファイルであってもよい。アップロード処理の一部として、または別個の処理の一部として、顧客は、メディア資源の記憶に適用されることになる１つ以上のライフサイクルポリシを指定することができる。ルールエンジンなどの構成要素が、１つ以上のポリシの管理、及びメディア資源の記憶への１つ以上のポリシの適用を保証することができる。そのようなルールエンジンはまた、単純なメディア処理ワークフローの使用を可能にすることができる。例えば、高解像度ビデオファイルまたはメザニンファイルをアップロードし、１つ以上の指定されたフォーマットにそれを自動でトランスコードし、その後すぐに、より低コストの記憶装置にメザニンファイルをアーカイブさせるワークフローが指定されてもよい。資源のセグメント及びファイルが記憶システムの区画にわたって比較的ランダム且つ均一に分散して記憶されることを保証するために、ファイル名ハッシングアプローチが使用されてもよい。ライフサイクル処理の一部として、高品質メディアファイルは、資源が１つ以上の関連するトランスコードファイルにトランスコードされることなど、判定されたイベントが発生した後、あまり高価でない記憶装置に移動されてもよい。
【０００６】
本明細書に包含される教示及び示唆を考慮して、当業者とって明らかなように、様々な実施形態の範囲内にもある様々な他のそのような機能が使用されてもよい。
【０００７】
図１は、様々な実施形態の態様を実装することができる実施例の環境１００を例示する。この実施例では、ユーザは、少なくとも１つのネットワーク１０４にわたって、リソースプロバイダ環境１０６に要求をサブミットするために、クライアントデバイス１０２を利用することができる。クライアントデバイスは、適切なネットワークを通じて要求、メッセージ、または他のそのような情報を送信及び受信し、デバイスのユーザに情報を再度伝達するように動作可能ないずれかの適切な電子デバイスを含むことができる。そのようなクライアントデバイスの例は、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、及びノートブックコンピュータなどを含む。ネットワーク１０４は、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク（ＬＡＮ）、もしくはいずれかの他のそのようなネットワーク、または組み合わせを含むいずれかの適切なネットワークを含むことができ、ネットワークを通じた通信は、有線及び／または無線接続を介して可能にされてもよい。リソースプロバイダ環境１０６は、要求を受信し、それらの要求に応答して情報を返し、またはアクションを実行するためのいずれかの適切な構成要素を含むことができる。実施例として、プロバイダ環境は、要求を受信及び処理し、次いで、要求に応答して、データ、ウェブページ、ビデオ、音声、または他のそのようなコンテンツもしくは情報を返すためのウェブサーバ及び／またはアプリケーションサーバを含んでもよい。
【０００８】
様々な実施形態では、プロバイダ環境は、様々な異なる目的のために、複数のユーザによって利用することができる様々なタイプの電子リソースを含んでもよい。少なくともいくつかの実施形態では、所与のリソースの全てもしくは一部、またはリソースセットは、少なくとも定められた期間の間、特定のユーザに割り当てられてもよく、または特定のタスクに対して割り当てられてもよい。プロバイダ環境からのそれらのマルチテナントリソースの共有は、他のそのような用語の中で、並びに特定の環境及び／または実装態様に応じて、リソース共有、ウェブサービス、または「クラウドコンピューティング」と称されることが多い。この実施例では、プロバイダ環境は、１つ以上のタイプの複数の電子リソース１１４を含む。それらのタイプは、例えば、ユーザによって提供された命令を処理するように動作可能なアプリケーションサーバ、またはユーザ要求に応答して１つ以上のデータストア１１６に記憶されたデータを処理するように動作可能なデータベースサーバを含むことができる。そのような処理について既知であるように、ユーザはまた、所与のデータストアにおいてデータ記憶の少なくとも一部を確保することができる。ユーザが様々なリソース及びリソースインスタンスを確保することを可能にするための方法は、本分野において周知であり、その結果、処理全体の詳細な説明、及び全ての可能な構成要素の説明は、本明細書では詳細に考察されない。
【０００９】
少なくともいくつかの実施形態では、リソース１１４の一部を利用することを望むユーザは、プロバイダ環境１０６のインタフェース層１０８に受信される要求をサブミットすることができる。インタフェース層は、ユーザがプロバイダ環境に要求をサブミットすることを可能にする、アプリケーションプログラミングインタフェース（ＡＰＩ）または他の公開されたインタフェースを含むことができる。この実施例におけるインタフェース層１０８はまた、少なくとも１つのウェブサーバ、ルーティング構成要素、及び負荷分散装置などの他の構成要素をも含むことができる。リソースをプロビジョニングする要求がインタフェース層１０８に受信されるとき、要求についての情報は、リソースマネージャ１１０、またはユーザアカウント及び情報、リソースプロビジョニング及び使用、並びに他のそのような態様を管理するように構成された他のそのようなシステム、サービス、もしくは構成要素に向けられてもよい。要求を受信するリソースマネージャ１１０は、要求をサブミットするユーザの識別を認証すると共に、そのユーザがリソースプロバイダとの既存のアカウントを有しているかどうかを判定するなどのためのタスクを実行することができ、アカウントデータは、プロバイダ環境内の少なくとも１つのデータストア１１２に記憶されてもよい。ユーザは、ユーザの識別を認証するために、プロバイダに様々なタイプの認証情報のいずれかを提供することができる。それらの認証情報は、例えば、ユーザ名及びパスワードのペア、生体データ、デジタル署名、または他のそのような情報を含むことができる。
【００１０】
リソースプロバイダは、ユーザに対して記憶された情報に対してこの情報が正当であると確認することができる。ユーザが適切な許可、状態などを有するアカウントを有する場合、リソースマネージャは、ユーザの要求に適する利用可能な適正なリソースが存在するかどうかを判定することができ、そうである場合、リソースをプロビジョニングすることができ、または要求によって指定された量についてユーザによる使用のためにそれらのリソースの対応する部分へのアクセスを許可することができる。この量は、例えば、他のそのような値の中で、単一の要求を処理し、もしくは単一のタスクを実行する能力、指定された期間、または再発生／再構成可能期間を含むことができる。ユーザがプロバイダとの有効なアカウントを有さず、ユーザアカウントが要求において指定されたタイプのリソースへのアクセスを可能にせず、または別のそのような理由が、ユーザがそのようなリソースへのアクセスを取得することを妨げている場合、他のそのようなオプションの中で、ユーザがアカウントを作成もしくは修正し、または要求において指定されたリソースを変更することを可能にするために通信がユーザに送信されてもよい。
【００１１】
ユーザが認証され、アカウントが検証され、リソースが割り当てられると、ユーザは、指定された容量、データ転送の量、期間、または他のそのような値についての割り当てられたリソース（複数可）を利用することができる。少なくともいくつかの実施形態では、ユーザは、それらの要求がユーザセッション上で処理されることを可能にするために、セッショントークンまたは他のそのような認証情報を後続の要求と共に提供してもよい。ユーザは、リソース識別子、特定のアドレス、または他のそのような情報を受信することができ、他のそのような情報は、少なくともユーザアカウントの関連する様相が変更されるまで、ユーザがリソースへのアクセスをもはや許可されなくなるまで、または別のそのような様相が変更されるなどのような時まで、リソースマネージャ１１０と通信する必要なく、クライアントデバイス１０２が割り当てられたリソースと通信することを可能にすることができる。
【００１２】
この実施例におけるリソースマネージャ１１０（または、別のそのようなシステムもしくはサービス）はまた、プロビジョニング、スケーリング、複製などを含むことができるように、管理アクションに加えて、制御機能を取り扱うハードウェア及びソフトウェア構成要素の仮想層として機能することができる。リソースマネージャは、インタフェース層１０８内の専用ＡＰＩを利用することができ、各々のＡＰＩは、インスタンスをプロビジョニング、スケーリングし、クローンし、またはハイバネートするためなど、データ環境に関して実行されることになる少なくとも１つの特定のアクションについての要求を受信するために提供されてもよい。ＡＰＩのうちの１つへの要求を受信すると、インタフェース層のウェブサービス部分は、呼び出しに作用し、または呼び出しを処理するために必要なステップまたはアクションを判定する要求を構文解析することができ、または他に分析することができる。例えば、データリポジトリを作成する要求を含むウェブサービス呼び出しが受信されてもよい。
【００１３】
少なくとも１つの実施形態におけるインタフェース層１０８は、様々なＡＰＩを提供することができ、ＡＰＩ仕様に基づいて適切な応答を返すことができる、顧客対応サーバの拡張可能なセットを含む。インタフェース層はまた、１つの実施形態では、外部対応顧客ＡＰＩを処理する、ステートレスな、複製されたサーバから構成された少なくとも１つのＡＰＩサービス層を含むことができる。インタフェース層は、認証情報に基づいて顧客を認証すること、顧客に権限を付与すること、ＡＰＩサーバへの顧客要求を絞り込むこと、ユーザ入力が正当であると確認すること、並びに要求及び応答をマーシャリングまたはアンマーシャリングすることなどのウェブサービスフロントエンド機能について関与することができる。ＡＰＩ層はまた、ＡＰＩ呼び出しに応答して、アドミニストレーションデータストアに／からデータベース構成データを読み込み及び書き込むことについて関与することができる。多くの実施形態では、ウェブサービス層及び／またはＡＰＩサービス層は、外部から視認可能な唯一の構成要素であり、または制御サービスの顧客に対して視認可能であり、顧客によってアクセス可能な唯一の構成要素である。ウェブサービス層のサーバは、本分野において既知なように、ステートレスであってもよく、水平にスケーリングされてもよい。ＡＰＩサーバ、ならびに永続的データストアは、例えば、或る領域内の複数のデータセンタにわたって分散されてもよく、その結果、サーバは、単一のデータセンタの障害に対して回復力を有する。
【００１４】
図２は、図１に関して考察された環境などの電子環境内で、様々な実施形態の態様を実施するために使用することができる実施例のシステム２００を例示する。図２のシステムでは、クライアントコンピューティングデバイス２０２は、少なくとも１つのネットワーク２０４にわたってコンテンツプロバイダ環境２０８によって受信されることになるコンテンツについての要求をサブミットすることができる。上記のように、少なくともいくつかの実施形態では、要求は、コンピューティングデバイス２０２上で表示されることになるコンテンツについての要求を含むことができ、多くの場合では、クライアントデバイス２０２上で提示するためにトランスコードされたビデオまたは他のメディアコンテンツを含む。ネットワーク（複数可）は、インターネット、ローカルエリアネットワーク（ＬＡＮ）、セルラネットワーク、イーサネット（登録商標）、または他のそのような有線及び／もしくは無線ネットワークなど、いずれかの適切なネットワークを含むことができる。コンテンツプロバイダ環境２０８は、様々なサーバ、データストア、及びネットワークにわたって（または、「クラウド」から）コンテンツを提供するために既知でありまたは使用される他のそのような構成要素を含み得る、リソースプロバイダからコンテンツを提供するためのいずれかの適切なリソースを含むことができる。本明細書で他に言及されるように、クライアントコンピューティングデバイス２０２は、デスクトップもしくはノートブックコンピュータ、スマートフォン、タブレット、ウェアラブルコンピュータ（すなわち、スマートウォッチ、グラス、もしくはコンタクト）、セットトップボックス、または他のそのようなシステムもしくはデバイスを含み得る、いずれかの適切なコンピューティングまたは処理デバイスであってもよい。インタフェース層２０８は、要求または呼び出しを受信するとき、呼び出しまたは要求のタイプを判定することができ、適切な構成要素またはサブシステムに情報を転送させることができる。例えば、他のそのようなオプションの中で、コンテンツについての要求は、メディアサーバ２１２に転送されてもよく、符号化パラメータを指定する要求は、トランスコーディングマネージャ２１６に転送されてもよい。それらの呼び出しまたは要求はまた、第三者から来ることができるが、第三者プロバイダ５０６はまた、本明細書で考察されるように、メディアリポジトリ２１２に記憶されることになり、クライアントデバイス２０２上で表示するためにトランスコードされることになるメディアコンテンツの少なくとも一部を提供することができる。
【００１５】
この実施例では、コンテンツプロバイダ環境２０８に受信される呼び出しは、環境のインタフェース層２１０によって受信されてもよい。ネットワーク環境について既知であるように、インタフェース層は、インタフェース（例えば、ＡＰＩ）、負荷分散装置、要求及び／またはデータルータなどの構成要素を含むことができる。要求が、クライアントデバイス２０２に提供されることになるビデオデータストリームについてなど、コンテンツについての要求である場合、要求についての情報は、１つ以上のメディアサーバ２１０に向けられてもよく、１つ以上のメディアサーバ２１０は、メディアデータストア２１２または他のそのようなリポジトリからネットワーク（複数可）にわたってコンピューティングデバイスに送り戻されることになるコンテンツを取得することができる。いくつかの実施形態では、要求についての情報はまた、例えば、ユーザがそのコンテンツへのアクセス権を有するかどうか、及びユーザがアクセス権を有するフォーマットまたはバージョンを潜在的に有するかどうかを判定するために、ユーザデータストア２１４または他のそのような位置内のユーザデータと比較されてもよい。
【００１６】
少なくともいくつかの実施形態ではオペレータ、管理者、クライアントデバイス２０２、第三者プロバイダ２２４、または別のそのようなソースからの要求は、メディアファイルと共に使用されることになる符号化パラメータの１つ以上のセットを指定する要求を含んでもよい。したがって、符号化パラメータに関する情報は、トランスコーディングマネージャ２１６、または他のそのような構成要素もしくはサービスに提供されてもよく、それらは、本明細書で他に考察されるように、適切なインタフェース（すなわち、ＡＰＩもしくはコンソール）を通じて情報を受信することができ、プロファイル及びパラメータデータを適切なリポジトリ２１８、２２０に記憶させることができる。ビデオファイルについての要求が受信されるとき、トランスコーディングマネージャ２１６は、適切な符号化情報を判定するためにプロファイル及びパラメータデータを使用することができ、１つ以上のトランスコーダ２２２にそれを渡すことができ、１つ以上のトランスコーダ２２２は、メディアファイルを取得することができ、トランスコーディング情報ごとにメディアファイルをトランスコードすることができ、トランスコーディング情報は次いで、メディアサーバ２１０または他のそのような構成要素によってクライアントデバイスに提供されてもよい。
【００１７】
いくつかの実施形態では、トランスコーディングサブシステムは、１つ以上のトランスコーダ、ビットストリーム（または、ビデオ信号）のセット、及びコンテンツ配信ネットワークを含む。１つ以上のトランスコーダは、エンコーダ及びパッケージャの両方を含むことができ、エンコーダ及びパッケージャの両方は、オリジンサーバを介して実装されてもよい。パッケージャは、ビデオ信号またはライブストリームなどの信号（例えば、フィード）を受信することができる。ライブストリームフィードは、とりわけ、ライブビデオコンテンツ（例えば、スポーツイベント、コンサートイベント、ペイパービューイベントなど）、事前に記録されたコンテンツ（例えば、テレビショー、映画、時間遅延イベント、スポーツハイライトなど）、及び／または広告コンテンツ（例えば、コマーシャル）を含んでもよい。パッケージャは、１つ以上の入力信号（例えば、入力）を受信してもよく、１つ以上のビットストリームを生成してもよい。ビットストリームは、エンコーダ／パッケージャによってコンテンツ配信ネットワーク（ＣＤＮ）に配信されてもよい。ビットストリームは、符号化パラメータごとにトランスコーディングマネージャ２１６から符号化することができるように、信号フィードの様々な符号化／パッケージ化されたバージョンを表すことができる。例えば、ビットストリームは、信号フィードの高解像度及び／または高ビットレートバージョンであってもよい。いくつかの実施形態では、異なるビットストリームは、代替音声（例えば、異なる言語）及び／またはクローズドキャプションを提供してもよい。ビットストリームの数及び／またはタイプは、プロファイルまたは他のデータごとに変化してもよい。
【００１８】
ビットストリームの各々は、いくつかのコンテンツセグメントを含んでもよく、いくつかのコンテンツセグメントは、ビットストリームの一部を表してもよい。コンテンツセグメントファイルの各々は、プログラムフィードの再生時間の１つのセグメントを表してもよい（例えば、１０秒のセグメントファイルは、１０秒のビデオ及び／または音声を包含してもよい）。例えば、順次再生されるとき、コンテンツセグメントは、対応するビットストリームのコンテンツを生成してもよい。別の実施例では、コンテンツセグメントは、エンドユーザデバイスにローカルに記憶されてもよく（例えば、バッファされる）、十分なコンテンツセグメントが利用可能であるとき、エンドユーザデバイスは、再生のためにコンテンツセグメントを復号してもよい。コンテンツセグメントは、適合的なビデオコンテンツであってもよい。コンテンツセグメントは、ビットストリームが効率的且つ信頼して配信されることを可能にすることができる。例えば、個々のコンテンツセグメントを要求することは、クライアントデバイスのうちの１つによるダウンロードの失敗の可能性を低減させることができる。別の実施例では、ＣＤＮにわたってコンテンツセグメントを記憶することは、ＣＤＮの各々のノードにおいて必要な記憶の量を低減させることができる。ＣＤＮ自体は、コンピュータ（例えば、サーバ）のネットワークを含んでもよい。ＣＤＮのコンピュータの各々は、ノードとして機能することができ、ＣＤＮは、ワイドエリアネットワーク（例えば、インターネット）を通じてビットストリームを記憶及び／または配信することができる。
【００１９】
エンコーダ／パッケージャは、オリジンアクティブビットレートビデオＨＴＴＰサーバとすることができる。エンコーダ／パッケージャは、信号（例えば、要求）を受信することができ、信号（例えば、応答）を送信することができる。信号要求は、ＣＤＮによってクライアントデバイスのうちの１つからオリジンサーバに転送されるデータ要求（例えば、ＨＴＴＰ要求）を表すことができる。例えば、信号要求は、オリジンサーバがクライアントデバイスのうちの１つにデジタルデータを送信するためのＨＴＴＰ要求であってもよい。信号応答は、ＣＤＮによってオリジンサーバからクライアントデバイスのうちの１つに転送されることになるデータ応答を表してもよい。例えば、オリジンサーバは、ＨＴＴＰプロトコルに基づいて、クライアントデバイスのうちの１つに信号応答（例えば、コンテンツセグメントなどのデータ）をネットワークパケットとして送信してもよい。応答及び／または要求のタイプ、実装態様、及び／または数は、特定の実装態様の設計基準に従って変化してもよい。オリジンサーバは、マニフェストファイルまたは利用可能なコンテンツセグメントのリストを含むことができる。例えば、マニフェストファイルは、コンテンツセグメント及び／または他のデータを指し示すメタデータ及び／またはＵＲＬを含んでもよい。マニフェストファイルは、コンテンツセグメントを要求するためにクライアントデバイスによって使用されてもよい。マニフェストファイルのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。マニフェストファイル及び／またはコンテンツセグメントは、それぞれの有効期間（ＴＴＬ）値を有してもよい。ＴＴＬ値（または、特性）は、ネットワーク内の特定のオブジェクトがリフレッシュされることを保証するために使用されてもよい。例えば、ネットワーク内のオブジェクトがキャッシュされてもよい（例えば、ＣＤＮ全体を通じて）。ＴＴＬ値は、時間量、要求の数、及び／またはオブジェクトがリフレッシュされる前のホップ数（例えば、オリジンサーバから要求／更新された）を表してもよい。マニフェストファイル及び／またはコンテンツセグメントのＴＴＬ値は、オペレータによって設定されてもよく、及び／またはオリジンサーバにおいて設定されてもよい。一般のＣＤＮの実装態様では、ＴＴＬ値が満了するまで、様々なタイプのコンテンツがＣＤＮに記憶されたままであってもよい（例えば、コンテンツ無効化が長時間かかることがある）。概して、マニフェストファイルのＴＴＬ値は、コンテンツセグメントのＴＴＬ値未満である。マニフェストファイルについてのより低いＴＴＬ値は、マニフェストファイルがコンテンツセグメントよりも頻繁に／多くリフレッシュされることを可能にすることができる（例えば、コンテンツセグメントへのポインタを更新するために）。コンテンツセグメントについての比較的高いＴＴＬ値は、コンテンツセグメントがより長くキャッシュに残ることを可能にすることができる（例えば、オリジンサーバに対して行われた要求の数を低減させ、及び／またはオリジンサーバ上の負荷を低減させるために）。マニフェストファイル及び／またはコンテンツセグメントのＴＴＬ値について設定された実装態様及び／または値は、特定の実装態様の設計基準に従って変化してもよい。
【００２０】
オリジンサーバは、コンテンツ無効化を実行するように構成されてもよい。例えば、コンテンツセグメントのうちの１つ以上が無効化されてもよい。コンテンツ無効化は、コンテンツがクライアントデバイスに配信されることを防止及び／または停止することができる。コンテンツの無効化を開始するために、オペレータは、オリジンサーバに無効化信号入力（例えば、オペレータにより開始されるコンテンツ無効化）を送信してもよい。オリジンサーバは、マニフェストファイルを更新する（または、操作する）ことによってコンテンツセグメントを無効化してもよい。例えば、マニフェストファイルは、コンテンツセグメントへの最早ポイントに更新されてもよい。マニフェストファイルについてのＴＴＬ値が相対的に低いので、マニフェストファイルは、ＣＤＮ全体を通じてリフレッシュされてもよい。例えば、クライアントデバイスは、マニフェストファイルを要求してもよく、ＣＤＮの様々なノード内のキャッシュされたマニフェストについてのＴＴＬ値が満了するとき、更新されたマニフェストファイル（例えば、無効化されたマニフェスト）は、ＣＤＮ全体を通じてクライアントデバイスに分散されてもよい。
【００２１】
ビデオストリームにおける変更は、１つの実施例では、ユーザによって開始されてもよい。別の実施例では、サービス品質検査が実装されてもよい。例えば、コンテンツセグメントを使用して表されるビデオストリームが、広告者及び／または放送者が満足しないそのような不良品質のストリームであった場合、コンテンツセグメントは、即時に再配置（例えば、代替的なコンテンツを提供することによって）及び／または除去されてもよい。例えば、コンテンツセグメントが不良品質の広告を表す場合（例えば、サービス品質検査に失敗した）、コンテンツセグメントを無効化することによって、代替的な広告が表示されてもよい。コンテンツセグメントがサービス品質検査に合格しない場合、コンテンツセグメントが自動で無効化されてもよい。
【００２２】
実施例のマニフェストファイルは、ファイルヘッダ、メタデータ、及び／またはポインタ／リンクなど、様々なデータを含むことができる。データは、人間が読めるものであってもよく、または符号化されたフォーマット、暗号化されたフォーマット、及び／もしくはコンピュータ可読（例えば、バイナリ）フォーマットを使用して符号化されてもよい。マニフェストファイル内のデータのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。ファイルヘッダは、マニフェストファイルを特定のタイプのファイルとして識別するためのインジケータを提供することができる。例えば、マニフェストファイルを特定のタイプのファイル（例えば、ポインタファイル、マニフェストファイルなど）として認識するために、オリジンサーバ、キャッシュノード、及び／またはいずれかの他のコンピューティングデバイスによってファイルヘッダが使用されてもよい。メタデータは、指定されたリンクをたどるときにサービスされることになるファイルのタイプを示すことができる。例えば、メタデータは、リンクがビデオストリーム、コンテンツセグメントを再生するために必要な帯域幅、コンテンツセグメントに対して実装されるコーデック、コンテンツセグメントの解像度（例えば、画素内の）、及び／またはいずれかの他の関連するデータを表すことを示すことができる。メタデータ内で利用可能なデータのタイプは、特定の実装態様の設計基準に従って変化してもよい。ポインタは、様々なタイプの記憶されたデータを指し示すことができる。記憶されたデータは、コンテンツセグメントであってもよい。例えば、ポインタは、ＨＴＴＰ  ＵＲＬリンクとすることができる。いくつかの実施形態では、ポインタは、ＲＴＭＰリンク及び／またはＦＴＰリンクとして実装されてもよい。ポインタのフォーマットは、特定の実装態様の設計基準に従って変化してもよい。マニフェストファイルのポインタは、それぞれのコンテンツセグメントを指し示すことができる。いくつかの実施形態におけるコンテンツセグメントは、トランスポートストリーム（例えば、．ｔｓ）ファイルとして実装されてもよい。例えば、コンテンツセグメントは、ＭＰＥＧ−２データを含んでもよい。いくつかの実施形態では、マニフェストファイルは、ビットストリーム内に組み込まれてもよい。無効化及び／または復元のタイプは、特定の実装態様の設計基準に従って変化してもよい。無効化のタイプは、無効化信号入力において提供された無効化情報（例えば、命令）に基づいてもよい。例えば、信号入力は、オペレータによって開始されるコンテンツ無効化信号であってもよい。
【００２３】
上記のように、多くの従来の共有リソース環境は、メディアライフサイクル管理及び処理などのメディア記憶の側面を管理する困難性を有する。実施例として、様々なメディアプロバイダは、元の高品質メディアファイルを記憶装置に維持することを望むことがあるが、高解像度ビデオ及び他のコンテンツについて、ファイルのサイズが非常に大きいことがある。メザニンファイルと称されることが多いこのファイルのサイズは、記憶装置がメディアプロバイダに対して非常に高価とさせることがある。多くの場合におけるメディアプロバイダは、高度に圧縮され、且つより低品質の出力フォーマットにトランスコーディングするなどのタスクに対して利用可能なメザニンファイルを有し、次いで、高価な記憶装置にメザニンファイルを記憶する必要がないことを好む。これは、例えば、あまり高価でないタイプの記憶装置に大規模メザニンファイルをアーカイブすることを含む。従来のシステムは、メディアコンテンツと関連付けられたデータ及びファイルの管理を含む、そのような処理を提供及び管理するための便利且つ自動化された方式を提供しない。
【００２４】
したがって、様々な実施形態に従ったアプローチは、特に、メディア及び他のコンテンツプロバイダに対して有益となることができる改善されたアップロード及び管理アプローチを提供することができる。少なくともいくつかの実施形態では、システムの顧客または他のユーザは、記憶システムにメディアまたは他のそのようなコンテンツをアップロードすることができる。アップロード処理の一部として、記憶システムは、メディアメタデータを抽出することができ、アップロードされるメディアファイルを記述したメタデータについてのいずれかの追加のメディア特有業界標準フォーマットを構文解析することができる。このメタデータは、専用メタデータリポジトリまたは他のそのようなアクセス可能な位置に記憶されてもよい。アップロード処理の一部として、または別個の処理の一部として、顧客は、メディアファイルの記憶に適用されることになる１つ以上のライフサイクルポリシを指定することができる。ルールエンジンなどの構成要素は次いで、１つ以上のポリシの管理、及びメディアファイルの記憶への１つ以上のポリシの適用を保証することができる。実施例として、顧客は、少なくとも１つの圧縮されたフォーマットへの初期のトランスコードの後、アーカイブ記憶装置に１００ギガバイトを超えるサイズのいずれかのメディアファイルを記憶することを指定してもよい。そのようなルールエンジンはまた、単純なメディア処理ワークフローの使用を可能にすることができる。例えば、高解像度ビデオファイルまたはメザニンファイルをアップロードし、１つ以上の指定されたフォーマットにそれを自動でトランスコードし、その後すぐに、より低コストの記憶装置にメザニンファイルをアーカイブさせるワークフローが指定されてもよい。
【００２５】
図３は、様々な実施形態に従ってそのようなメディアのアップロードを管理するために使用することができる実施例のシステム３００の概要を例示する。この実施例では、顧客は、少なくとも１つのネットワーク３０４を通じて、リソースプロバイダ環境３０６のインタフェース層３０８のインタフェース３１０によって受信されることになる高品質メディアファイルをアップロードするために、クライアントデバイス上で実行するアプリケーションを通じて提供することができるように、顧客インタフェース３０２を利用することができる。アップロードされたファイルについての情報は、メディア管理サービス３１２に向けられてもよく、メディア管理サービス３１２は、ルールエンジン、並びに本明細書で他に考察及び示唆されるような様々な他の構成要素を含むことができる。メディアサービス３１２は、適切なメタデータを特定及び抽出するためにアップロードを分析することができ、適切なメタデータは、メタデータリポジトリ３１４またはリソースプロバイダ環境３０６内の他のそのような位置に記憶されてもよい。メディア管理サービスはまた、アップロードまたは顧客によって前に提供された他の命令から、アップロードされたメディアファイルの処理及び／または記憶に適用されるべきいずれかのルールまたはポリシを判定することができる。この実施例では、適用可能なルールは、高速な、高可容性ソリッドステート記憶装置などの高速記憶装置３１６に記憶させる。メディアファイルは次いで、適用可能なルール及び／またはポリシに従って処理されてもよい。この実施例では、メディアファイルは、高速記憶装置３１６に記憶されている間にメディア管理サービス３１２によって処理されてもよく、次いで、処理が完了した後、アーカイブ記憶装置３１８に移動されてもよい。コールド記憶装置と称されることもあるアーカイブ記憶装置は、単純なディスクドライブ構成または他のそのような記憶装置を伴い得るような、あまり高価でないより低速またはより低可容性の記憶装置であってもよい。いくつかの実施形態では、より低い記憶装置の階層は、可用性が低く、特に、データが報告するための存在の証明及び潜在的な位置のみを必要とする。これは、オフサイトテープボールト及び他のそのような記憶装置を含む、非常に安価な記憶装置に移動されてもよい。メディアファイルに対してメタデータリポジトリ３１４に記憶されたメタデータは、高速記憶装置３１６またはアーカイブ記憶装置のいずれかに記憶されるとき、メディアファイルに適用するためにメディア管理サービス３１２によって管理されてもよい。異なるタイプの記憶装置へのメディアファイルの記憶に関する情報は、課金システム３２０に提供されてもよく、課金システム３２０は、リソースプロバイダ環境の一部であるとしてここで示されるが、他の実施形態では、その環境の外部であってもよい。課金システムは、課金データリポジトリ３２２に、または他のそのような位置に情報を記憶することができ、よって、顧客は、ファイルが高速記憶装置３１６に記憶された時間量及びファイルがアーカイブ記憶装置３１８記憶された課金サイクルの間の時間量について適切に課金されると共に、他の関連する料金についても課金される。
【００２６】
いくつかの実施形態では、様々な顧客または他のそのようなエンティティからアップロード要求を受信するために、記憶システムプロキシが使用されてもよい。これは、例えば、顧客がメディアファイルをアップロードするために使用することができる専用アドレス、インタフェース、またはユニフォームリソースロケータ（ＵＲＬ）を含むことができる。提供されたアドレスに受信されるアップロード要求は、本明細書で考察及び示唆されるアプローチを使用して処理されてもよく、従来のアップロードアドレスに受信される要求は、従来のアプローチまたは他のアプローチを使用して処理されてもよい。追加のインタフェースが、他のそのようなオプションの中で、メタデータをクエリし、または追加のトランスコードを要求するためになど、他のタスクに対して提供されてもよい。専用アドレスまたはインタフェースに受信されるメディアファイルは、図４の実施例のシステム４００において例示されるなど、メタデータ抽出手段４１８を使用して処理されてもよい。インタフェース層の専用インタフェース４１０を通じて顧客インタフェース４０２からメディアファイルを受信する記憶マネージャ４１２は、メタデータ抽出手段４１８によって処理されるようにメディアファイルを振り向けることができ、メタデータ抽出手段４１８は、フォーマット、ビットレート、及びファイルサイズなどの情報を含むことができるように、基本情報をメディアファイルから抽出させることができる。インタフェース層４０８の別のインタフェース４１０は、顧客が追加のメタデータ属性を指定することを可能にすることができ、追加のメタデータ属性は、少なくともいくつかの実施形態では、カスタマイズされた属性を含むことができる。属性は、鍵値のペアまたは他のそのようなフォーマットを含むことができる。業界標準メタデータフォーマット（例えば、ＸＭＬ）はまた、メディアファイルに対して記憶する関連する属性を判定するために構文解析されてもよい。
【００２７】
メタデータがメタデータ抽出手段４１８によって抽出され、メタデータリポジトリ４２２などの適切な位置に記憶されると、メタデータマネージャは、メディアファイルの管理においてそのメタデータを利用することができる。本明細書で考察される記憶マネージャ４１２によるメタデータマネージャ４２０を利用する能力は、メディア資源も管理されることを可能にする。本明細書で使用されるように、メディア「資源」は、ソースメディアファイルだけでなく、追加のテキスト、メタデータ、及び他の補足的コンテンツに関連することができるような追加のファイルをも含むことができるファイルの論理集合を指す。１つ以上の関連するインタフェース４１０と関連付けられたメディア管理方法は、資源の概念を第１のクラスオブジェクトタイプとして導入することができる。顧客が資源をアップロードするとき、資源は、メディアコンテンツについての全ての関連するファイルを含むことができる。ファイルは、リソースプロバイダ環境４０６内の高速記憶装置４１４及び／またはアーカイブ記憶装置４１６に別個に記憶されてもよいが、ファイルは、論理グループとして取り扱われてもよい。記憶マネージャ４１２は、ファイルの間の関係を追跡して、それらを共にグループ化されたままにすることができる。本明細書で他に考察されるように、少なくともいくつかの実施形態では、ユーザがクエリを稼働させ、またはプリミティブに関するタスクを実行することを可能にする資源に対して新たなプリミティブが生成されてもよい。プリミティブは、資源及び下位資源を反映するように階層的とすることができ、ワークフローのタスクは、階層の適切なレベル（複数可）に対して実行されてもよい。更に、顧客は、資源プリミティブ及び関連付けられたメタデータに対してクエリを実行するために、ＡＰＩまたは他のそのようなインタフェースを利用することができる。ルールエンジンまたは他のそのようなシステムもしくはサービスによって実行されるライフサイクル管理はまた、資源についての全ての関連するファイルに対してタスクが実行及び適用されることを保証するために、資源プリミティブに対してライフサイクルタスクを管理することができる。
【００２８】
記憶マネージャ４１２による資源の管理への重要な態様は、その資源と関連付けられたファイルの名前の管理に関する。それらの名前は、ファイルの名前だけでなく、それらの資源を管理するために使用することができる他の名前をも含むことができる。例えば、ビデオ資源が連続の資源の一部である場合、その連続に関連する全ての資源を識別または処理することができるクエリまたは他の操作が実行されることを可能にするために、そのメタデータを抽出及び記憶することが望ましい。他のそのような名前または識別子は、タイトル部分、シーズン、エピソード、エピソードタイトル、及び他のそのような情報を含むことができる。メタデータは、少なくともいくつかの実施形態では、少なくともいくつかの資源に対してアーカイブ記憶装置にはない、テーブル内の真のソースとして記憶されてもよく、コンテンツの１つ以上のバージョンはまた、アーカイブ記憶装置４１６に記憶されない。新たなインタフェース（例えば、ＡＰＩ）及び方法は、顧客がそれらの名前または識別子のいずれかに少なくとも部分的に基づいて、資源についてクエリすることを可能にすることができる。いくつかの実施形態では、メディア資源をアップロードする顧客は、全ての関連するファイルに適用することができるその資源に名前を割り当てるオプションを有する。
【００２９】
資源レベルメタデータに加えて、記憶マネージャはまた、時間コード特有メタデータを管理することができる。スポーツイベントなどのいくつかのタイプのコンテンツについて、再生時系列における特定の時間に発生するイベントが存在することがある。それらは、例えば、他のそのようなオプションの中で、野球ゲームにおいて投球が行われ、またはフットボールゲームにおいてプレイが行われるポイントを含むことができる。よって、コンテンツプロバイダが時間コード情報を使用してメディアコンテンツをインデックス付けし、顧客または他のユーザが特定のタイプの情報についてコンテンツをクエリすることを可能にすることが望ましいことがある。実施例として、プロデューサは、野球ゲームにおいて空振り三振をした最後の三人のバッターを示すハイライトリールを引き出すことを望むことがある。そのような実施例では、ビデオコンテンツは、ビデオ自体の中の時間コードと関連付けられた投球ごとのメタデータを有することがあり、その結果、ビデオのそれらセグメントを即時に識別及び取り出すことができる。
【００３０】
記憶マネージャ４１２は、ルールマネージャ４２４または他のそのようなシステムもしくはサービスの一部であってもよい、ルールエンジンを含むことができ、またはルールエンジンと協働することができる。ルールマネージャ４２４は、上記のように、様々なメディアオブジェクトに対して適用または施行されることになる様々なルール及びポリシを管理することができる。ルールマネージャ４２４はまた、メディアライフサイクルの一部でもあってもよい、それらのルールまたはポリシによって指示された様々なワークフローを管理することができる。これは、例えば、受信及び記憶されたメディア資源についてのメタデータに基づくクエリを指定する能力を含むことができる。いくつかの実施形態では、顧客は、他のそのようなオプションの中で、簡易言語またはクエリ言語にあることができるメタデータに基づくクエリを指定することができる。実施例として、顧客は、それらのファイルが記憶マネージャまたは別のそのようなシステムもしくはサービスによってアップロード及び受信された後の２４時間、アーカイブ記憶装置４１６に全てのメザニンファイルをアーカイブすることを指定することができる。顧客はまた、新年などの特定の祝日の前の３０日に、アーカイブ記憶装置４１６から高速記憶装置４１４に、そのような祝日に関連するメタデータと共に全ての資源を移動することを指定してもよい。ライフサイクルまたは他の一部として、ルールエンジンはまた、トランスコーディングジョブまたは他のそのようなタスクを開始する能力を有することができる。いくつかの実施形態では、これは、他のそのようなオプションの中で、バックグラウンドスケジューリング処理を使用して実装されてもよい。関連するＡＰＩまたは他のそのようなインタフェースは、顧客がルールを指定し、ルールを活性化または非活性化することを可能にすることができる。バックエンド処理は次いで、インデックスを定期的にスキャンし、一致した資源を判定するアクティブクエリを稼働させ、それぞれの顧客によって指定された適切なアクション（複数可）をとることができる。いくつかのシステムでは、顧客は、トランスコーディングジョブについてのＸＭＬファイルを指定し、入力及び出力フォーマット、適切な名前、並びに他のそのような情報などの情報を示すことができる。それらのファイルは、ルールマネージャ４２４によってもトリガされるトランスコーディングジョブと共に使用されてもよく、ルールマネージャ４２４は、資源と関連付けられたファイルがどのように処理されるべきかを示すことができる。環境内の専用システムではなく、トランスコーディングエンジンがソフトウェアアズアサービスを介して供給される場合、メディアファイルのトランスコーディングを実行するためにサービスが呼び出されてもよい。そうでなければ、メディア資源についての適切なトランスコーディングエンジン（複数可）をホストするサーバのセットまたは他のそのようなシステムが維持されてもよい。
【００３１】
いくつかの実施形態では、顧客対応インタフェース４１０は、ウェブサービスレプリゼンテーショナルステートトランスファー（ＲＥＳＴ）ＡＰＩとすることができる。インタフェースは、記憶プロキシに関連することができるように、本明細書で提示される様々なタイプの情報の仕様が他のそのようなオプションの中で、メタデータ抽出及び管理、資源サポート、並びにルール／ポリシ／ワークフロー仕様を可能にすることができる。顧客はまた、顧客が適切な顧客インタフェースと通信するために必要なツールを提供する様々な言語についての１つ以上のソフトウェア開発キット（ＳＤＫ）が提供されてもよい。ＡＰＩは次いで、他の中で、名前ハッシングサービス、メタデータサービス、及びルール管理サービスを含むことができるように、本明細書で考察される様々なサブシステムと通信することができる。
【００３２】
上記のように、多くの例では、顧客は、高品質メザニンファイルが、少なくとも適切なフォーマット（複数可）にトランスコードされるような時まで、高速記憶装置４１４に記憶されることを望む。この実施例における記憶マネージャ４１２は、適切なトランスコーディングジョブを実行させるために、トランスコードマネージャ４２８と協働することができる。これは、トランスコーディングリポジトリ４３０または他のそのような位置に記憶されたトランスコーディングデータを使用して達成することができる。生成されると、指定されたフォーマットの様々なファイルは、権限が付与されたユーザまたはエンティティによるアクセスのために、高速記憶装置４１４及び／またはいずれかの他の適切な位置に記憶されてもよい。高品質メザニンファイルは次いで、顧客によって指定され、ルールマネージャ４２４によって管理されたルールまたはポリシに従って、高速記憶装置４１４からアーカイブ記憶装置４１６に移動されてもよい。記憶マネージャ４１２はまた、適切なメタデータ及び資源についての他の情報が高速記憶装置内のトランスコードされたファイルと共に、アーカイブ記憶装置内のメザニンファイルと関連付けられることを保証するために、メタデータマネージャ４２０と協働することができる。
【００３３】
この実施例では、メタデータマネージャ４２０または記憶マネージャ４１２はまた、ハッシングまたは様々なファイル名に対して使用される他のそのような機能性を含む、ファイル名管理について関与することができる。しかしながら、様々な実施形態では、別個のファイル名マネージャも使用されてもよいことが理解されるべきである。更に、ある特定の記憶システムは、それら自体のファイル名及びハッシュを生成及び管理することができ、その結果、別個の構成要素または処理が必要とされないことがある。この実施例では、高速記憶サービスは、いくつかの異なる区画にわたってファイルを分散することができる。いくつかのメディアファイルは、類似した名前を有してもよく、特に、各々のファイルは、ショーまたはシリーズと関連付けられる。ＴｅｓｔＦｉｌｅ１と命名されたファイルについて、ソースファイルは、ＨＬＳセグメントにトランスコードされてもよく、例えば、１時間のビデオファイルは、いくつかの２秒の長さのセグメントに分解されてもよい。従来のアプローチを使用して、セグメントは、ＴｅｓｔＦｉｌｅ１−００１、ＴｅｓｔＦｉｌｅ１−００２、及びＴｅｓｔＦｉｌｅ１−００３などと命名されてもよい。特定の従来のシステムにあるように、そのファイルについての適切な区画を判定するために、ファイル名の最初を使用してハッシュが生成される場合、ファイル名は全て、同一の値へのハッシュ値を有し、よって、それらは全て、ディスク上の同一の区画に記憶される。
【００３４】
したがって、様々な実施形態に従ったアプローチは、ファイル名の暗号でのセキュアハッシュである、（セキュアハッシングアルゴリズム）ＳＨＡ−２５６に基づくハッシュなどの新たなハッシュコードを生成する。ＳＨＡ−２５６ジェネレータなどのハッシングアルゴリズムに対する利点は、アルゴリズムがファイル名全体を検査し、その結果、各々のファイル名が異なるハッシュコードへのハッシュ値を有することである。異なるハッシュコードは次いで、それらのファイルの分散がディスク記憶装置にわたって比較的ランダム且つ均一になることを可能にすることができる。これは、スループットが十分に高いままにすることを保証するためにホットスポットを回避することによって、記憶システムの性能を支援する。
【００３５】
図５は、様々な実施形態に従って利用することができる別の実施例のシステム５００を例示する。この実施例では、顧客は、少なくとも１つのネットワーク５０４にわたってリソースプロバイダ環境５０８への呼び出しを行うために、顧客システム５０２及び／またはソフトウェア開発キット５０６を使用することができる。前に考察されたように、そのような環境は、顧客が環境のリソースと通信することを可能にするいくつかのＡＰＩまたは他のインタフェースを含むことができる。それらのＡＰＩのうちの１つは、顧客がリソースプロバイダ環境５０８の記憶装置５２０に記憶されることになるファイルまたは資源をアップロードするために使用することができる、記憶プロキシに対応する。顧客は、例えば、資源の関連するファイルまたは構成要素を包含することができる、マルチパートアップロードとして、または圧縮されたフォーマットファイル（例えば、．ｚｉｐファイル）でアップロードを実行することができる。この実施例におけるマッピング構成要素５１８は、適切なハッシングアルゴリズムを使用してハッシュコードファイル名を生成することができ、元のファイル名に対するハッシュコードのマッピングを記憶することができる。マッピング構成要素５１８はまた、環境全体を通じて様々な位置に記憶された資源についての構成要素またはファイルとハッシュコードを相関付けることができ、マッピング自体は、データベーステーブルまたは他の適切な位置に記憶されてもよい。プロキシサービス５１６は、少なくともいくつかの実施形態では、資源の個々の構成要素を高速記憶装置などの適切な記憶装置５２０に記憶させることができる。いくつかの実施形態では、記憶装置５２０は、利用可能な様々な記憶イベント５３２を有する記憶サービスの一部として提供されてもよく、その結果、それらのイベントに基づくメッセージは、環境内で実行する様々なスクリプトをトリガするために発行されてもよい。例えば、記憶サービスへのファイルのアップロードに対応するイベントは、インジェストキュー５２４にジョブを配置するスクリプトを稼働させるようにトリガすることができる。ジョブは、ファイルが環境の適切なインジェスタ５２８によって分析及びインジェストされる必要があることを示すことができる。インジェストジョブは、少なくともいくつかの実施形態では、インジェストキュー５２４から引き出されてもよく、高スケールで並列に処理されてもよい。インジェスタ５２８は、他のそのようなオプションの中で、メディアファイルについてのメタデータを抽出し、またはメタデータＸＭＬファイルからのメタデータを構文解析及び処理するためになど、ファイルに関するタスクを実行することができる。メタデータが取得されると、メタデータは、メタデータリポジトリ５２６または記憶装置５２０内のメディアファイルと関連付けられた他のそのような位置に記憶されてもよい。
【００３６】
アップロードされたデータの整合性を検証するために、データ整合性検査手段５３０も使用されてもよい。少なくともいくつかの環境では、記憶イベントは保証されず、損失を伴うことがある。よって、資源のアップロードがアップロードイベントの発生をもたらさない可能性があり、その結果、スクリプトがトリガされない。データ整合性検査手段は、適切なテーブルインデックスを定期的にクエリして、それに対してメタデータがいまだ判定及び処理されていないメディアファイルが存在するかどうかを判定するために、バックグラウンドで稼働することができる。これは、イベントの損失を防止することを支援する。しかしながら、少なくともいくつかの実施形態では、顧客は、プロキシサービス５１６を呼び出してもよく、それらの自身のメタデータを提供してもよく、または適切なメタデータＡＰＩ５２２に直接メタデータを提供してもよいことが指摘されるべきである。そのＡＰＩはまた、顧客または他のユーザがメタデータリポジトリ５２６に記憶されたメタデータをクエリすることを可能にすることができる。それらは、実施例として、記憶装置内のＨＬＳトランスコードされたバージョンを有するいずれかの資源を示し、最大の資源についての情報を提供し、または特定のタイトルと関連付けられた全ての資源を示すためなどのクエリを含むことができる。
【００３７】
図５に例示されるシステム５００はまた、顧客が直接またはＳＤＫ５０６を通じて、ルールエンジン５１２によって実行することができるライフサイクルルールを定義するルールＡＰＩを呼び出すことを可能にするルールＡＰＩ５１０を含む。ルールエンジンは、いずれかの一致した資源を識別するために、メタデータＡＰＩ５２２に対してルールテーブルにおいて定義されたクエリを実行することができる。一致したいずれかの資源について、ルールエンジン５１２は、ライフサイクルキュー５１４に入るジョブメッセージを作成することができる。ジョブは、他のそのようなオプションの中で、異なる記憶クラスの間でファイルを移動し、またはビデオトランスコーディングジョブを稼働させるためなどのタスクを実行するためにキューから処理されてもよい。顧客は、いくつかの異なる理由のいずれかにより、ライフサイクルポリシをサブミットまたは定義することができる。例えば、顧客は、日ごとに１回未満でアクセスされる資源のいずれかのバージョンが不定期に記憶装置にアクセスするために移動されるべきであることを指定してもよい。アクセス頻度は、他のそのようなオプションの中で、イベントログを分析し、または統計使用データを集約することによって判定されてもよい。
【００３８】
そのような環境に資源を記憶する利点は、資源のトランスコーディングを通じて提供されるいずれかのフォーマットに一致するように広告を処理することができることである。音声は次いで、例えば、それに広告が挿入されているライブストリームの音声と一致することができる。更に、広告のビデオ品質は、現在のストリームの品質と一致するように調節されてもよく、広告とライブストリームとの間の切り替えは、仮想的にシームレスであってもよく、視聴者に通知可能でなくてもよい。
【００３９】
図６は、様々な実施形態に従って利用することができる記憶サービスによって資源が記憶されることを可能にする実施例の処理６００を例示する。本明細書におけるいずれの処理についても、他に特に述べられない限り、様々な実施形態の範囲内で、同様の順序、もしくは代替的な順序で、または並列して実行される追加のステップ、より少ないステップ、または代替的なステップが存在してもよいことが理解されるべきである。この実施例では、メディア資源のファイルは、プロキシＵＲＬまたは他のそのようなアドレスもしくはインタフェースに受信されることによってなど、記憶プロキシサービスに受信される（６０２）。上記のように、メディア資源は、一次高品質メディアファイルと共に、テキスト、メタデータ、または他の関連する情報を包含することができる他のファイルを含むことができる。メタデータは、本明細書で考察及び示唆される様々な処理のいずれかを使用して、メインメディアファイルまたは関連付けられたファイルからであるかに関わらず、メディアファイルから抽出されてもよい（６０４）。メタデータは次いで、メタデータリポジトリに記憶されてもよく（６０６）、メディア資源と関連付けられてもよい。
【００４０】
資源のファイル名が判定されてもよく（６０８）、それは、資源と共に提供され、顧客によって提供され、または他に生成されたファイル名に基づくことができる。上記のように、異なるファイルまたはセグメントに対して利用されるいずれかの変形を含む、ファイル名に基づいて、一意なハッシュコードを生成する（６１０）ためにハッシングアルゴリズムが使用されてもよい。少なくともいくつかの実施形態におけるそれらのファイル名は、マッピングテーブルを介して元の資源に再度マッピングされてもよい。資源のメディアセグメントは次いで、高アクセス性記憶装置、または他の高性能記憶装置に記憶されてもよい（６１２）。上記のように、一意なハッシュコードは、セグメントが様々な記憶区画にわたって比較的ランダム且つ均一に分散されることを支援することができる。資源と共に提供され、または他に顧客もしくは別のそのようなエンティティによって識別され得るような、イベントに関するいずれかのルール、ポリシ、またはライフサイクルが存在するかについての判定が行われてもよい（６１４）。いくつかの実施形態における適用可能なルールまたはライフサイクルは、資源と関連付けられたメタデータについての１つ以上の値に基づいて判定されてもよい。適用可能なルールまたはライフサイクルが存在する場合、ルールまたはライフサイクルデータが記憶されてもよく（６１６）、資源と関連付けられてもよい。資源は次いで、記憶サービスを通じてアクセス可能とされてもよい（６１８）。
【００４１】
図７は、様々な実施形態に従って利用することができる記憶サービスによってメディア資源の記憶についてのライフサイクルを管理する実施例の処理７００を例示する。この実施例では、資源の高品質メディアファイルは、図６に関して説明された処理などの処理を使用して高アクセス性記憶装置に記憶される。資源についてのライフサイクルの一部として、または顧客からの要求に応答して、他のそのような選択肢の中で、資源についてのトランスコーディングフォーマットのセットが判定されてもよい（７０４）。符号化フォーマットは、例えば、とりわけ、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、ＭＰ３、ＷＡＶ、及びＵＴＦを含むことができる。高アクセス性記憶装置に記憶された高品質メディアファイルを使用して、メディアファイルへのアクセスを有するトランスコーディングエンジンを使用して、トランスコーディングタスクが実行されてもよい（７０６）。トランスコードされたファイルは次いで、権限が付与されたユーザによるアクセスのために高アクセス性記憶装置に記憶されてもよい（７０８）。トランスコーディング処理の一部として、資源に適用可能ないずれかのルール、ポリシ、またはライフサイクルが判定されてもよい（７１０）。トランスコーディングが完了すると（または、別の適切なアクション、イベント、もしくは発生に応答して）、メディアファイルが高アクセス性（及び、高価な）記憶装置から移動されることになるかについての判定が行われてもよい（７１２）。そうである場合、高品質メディアファイルは、高品質メディアファイルを記憶するためにコストが低い低アクセス性記憶装置に移動されてもよい（７１４）。トランスコードされたファイルは、ユーザがファイルにアクセスすることを可能にするために、及びファイルが高度に圧縮され、よって、高品質ファイルよりも記憶するために高価でないことを理由に、高アクセス性記憶装置に残ることができる。メタデータ及びいずれかのルール、ポリシ、またはライフサイクルデータは、低アクセス性記憶装置内の高品質ファイル及び高アクセス性記憶装置内のトランスコードされたファイルと関連付けられてもよく（７１６）、顧客は、適切なシステムＡＰＩ（複数可）を使用して、資源またはメタデータをクエリまたはダウンロードすることを可能にされてもよい（７１８）。
【００４２】
図８は、様々な実施形態の態様を実装するために利用することができる実施例のコンピューティングデバイス８００の基本構成要素のセットを例示する。この実施例では、デバイスは、メモリデバイスまたは要素８０４に記憶することができる命令を実行する少なくとも１つのプロセッサ８０２を含む。当業者に明らかなように、デバイスは、少なくとも１つのプロセッサ８０２による実行のためのプログラム命令に対する第１のデータ記憶装置など、多くのタイプのメモリ、データ記憶装置、またはコンピュータ可読メディアを含むことができ、画像またはデータに対して同一または別個の記憶装置が使用されてもよく、他のデバイスと情報を共有するために着脱可能メモリが利用可能であってもよく、他のデバイスと共有するためにいずれかの数の通信アプローチが利用可能であってもよい。デバイスは、タッチスクリーン、電子インク（ｅインク）、有機発光ダイオード（ＯＬＥＤ）、または液晶ディスプレイ（ＬＣＤ）など、少なくとも１つのタイプの表示要素８０６を含んでもよいが、サーバなどのデバイスは、光及びデータ伝送のシステムを通じてなど、他の手段を介して情報を搬送してもよい。デバイスは典型的には、少なくとも１つのネットワークを通じた通信を可能にするポート、ネットワークインタフェースカード、または無線送受信機など、１つ以上のネットワーキング構成要素８０８を含む。デバイスは、ユーザから従来の入力を受信することができる少なくとも１つの入力デバイス８１０を含むことができる。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、トラックボール、キーパッド、またはいずれかの他のそのようなデバイスもしくは要素を含むことができ、それによって、ユーザは、デバイスにコマンドを入力することができる。それらのＩ／Ｏデバイスは、いくつかの実施形態では、無線赤外線もしくはＢｌｕｅｔｏｏｔｈ（登録商標）、または他のリンクによっても更に接続されてもよい。しかしながら、いくつかの実施形態では、そのようなデバイスは、いずれのボタンを含まなくてもよく、視覚コマンド及び音声コマンドの組み合わせを通じてのみ制御されてもよく、その結果、ユーザは、デバイスと接触する必要なく、デバイスを制御することができる。
【００４３】
考察されたように、説明される実施形態に従って、様々な環境内で異なるアプローチが実装されてもよい。認識されるように、本明細書で提示されるいくつかの実施例における説明を目的としてウェブに基づく環境が使用されるが、様々な実施形態を実装するために、必要に応じて異なる環境が使用されてもよい。システムは、電子クライアントデバイスを含み、電子クライアントデバイスは、適切なネットワークを通じて要求、メッセージ、または情報を送信及び受信し、デバイスのユーザに情報を再度搬送するように動作可能ないずれかの適切なデバイスを含むことができる。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、及び電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、もしくはいずれかの他のそのようなネットワーク、またはそれらの組み合わせを含む、いずれかの適切なネットワークを含むことができる。そのようなシステムに対して使用される構成要素は、選択されるネットワーク及び／または環境のタイプに少なくとも部分的に依存することがある。そのようなネットワークを介して通信するためのプロトコル及び構成要素は周知であり、本明細書で詳細には考察されない。ネットワークを通じた通信は、有線または無線接続、及びそれらの組み合わせを介して可能にされてもよい。この実施例では、ネットワークは、要求を受信し、それに応答してコンテンツをサービスするためのウェブサーバを含む環境のように、インターネットを含むが、他のネットワークについて、当業者に明らかなように、類似の目的をサービスする代替的なデバイスが使用されてもよい。
【００４４】
例示的な環境は、少なくとも１つのアプリケーションサーバ及びデータストアを含む。いくつかのアプリケーションサーバ、層もしくは他の要素、処理、または構成要素が存在することができ、それらは、つながれ、または他に構成されてもよく、適切なデータストアからデータを取得することなどのタスクを実行するようにやりとりすることができることが理解されるべきである。本明細書で使用される場合、「データストア」という用語は、データを記憶し、データにアクセスし、及びデータを取り出す能力を有するいずれかのデバイスまたはデバイスの組み合わせを指し、いずれかのデバイスまたはデバイスの組み合わせは、いずれかの標準、分散、またはクラスタ化された環境内の、データサーバ、データベース、データ記憶装置、及びデータ記憶メディアのいずれかの組み合わせ及びいずれかの数のそれらを含んでもよい。アプリケーションサーバは、クライアントデバイスに対して１つ以上のアプリケーションの態様を実行するために必要に応じてデータストアとやりとりし、アプリケーションについてのデータアクセス及びビジネスロジックの大多数を取り扱うためのいずれかの適切なハードウェア及びソフトウェアを含むことができる。アプリケーションサーバは、データストアと連携してアクセス制御サービスを提供し、ユーザに転送されることになるテキスト、グラフィック、音声、及び／またはビデオなどのコンテンツを生成することができ、コンテンツは、この実施例では、ＨＴＭＬ、ＸＭＬ、または別の適切な構造化言語の形式でウェブサーバによってユーザにサービスされてもよい。全ての要求及び応答と共に、クライアントデバイスとアプリケーションサーバとの間のコンテンツの配信を取り扱うことは、ウェブサーバによって取り扱われてもよい。本明細書で考察される構造化コードを本明細書で他に考察されるいずれかの適切なデバイスまたはホストマシン上で実行することができるので、ウェブ及びアプリケーションサーバが必要とされず、実施例の構成要素にすぎないことが理解されるべきである。
【００４５】
データストアは、いくつかの別個のデータテーブル、データベース、または特定の態様に関連するデータを記憶するための他のデータ記憶機構及びメディアを含むことができる。例えば、例示されるデータストアは、コンテンツ（例えば、製造データ）及びユーザ情報を記憶するための機構を含み、コンテンツ及びユーザ情報は、製造側に対してコンテンツをサービスするために使用されてもよい。データストアはまた、ログまたはセッションデータを記憶するための機構を含むとして示される。必要に応じて上記記載された機構のいずれか、またはデータストア内の追加の機構に記憶することができる、ページ画像情報及びアクセス権情報など、データストアに記憶される必要があることがある多くの他の態様が存在することができることが理解されるべきである。データストアは、それと関連付けられたロジックを通じて、アプリケーションサーバから命令を受信し、それに応答して、データを取得、更新、または他に処理するように動作可能である。１つの実施例では、ユーザは、ある特定のタイプの項目についての検索要求をサブミットしてもよい。この場合、データストアは、ユーザの識別を検証するために、ユーザ情報にアクセスしてもよく、そのタイプの項目に関する情報を取得するために、カタログ詳細情報にアクセスすることができる。ユーザデバイス上のブラウザを介してユーザが見ることが可能なウェブページ上の結果リストなどの情報が次いで、ユーザに返されてもよい。専用ページまたはブラウザのウインドウ内で、関心の特定の項目についての情報を見ることができる。
【００４６】
各々のサーバは典型的には、そのサーバの全体的な統治及び操作のための実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的には、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読メディアを含む。サーバのオペレーティングシステム及び汎用機能性についての適切な実装態様は、既知であり、または商業的に利用可能であり、特に、本明細書における開示を考慮して、当業者によって容易に実装される。
【００４７】
１つの実施形態における環境は、１つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続された、いくつかのコンピュータシステム及び構成要素を利用した分散コンピューティング環境である。しかしながら、そのようなシステムは、例示されるよりも少ないまたは多くの数の構成要素を有するシステム内でも等しく良好に動作することができることが当業者によって認識されるであろう。よって、本明細書におけるシステムの記述は、本質的に例示的であり、開示の範囲を限定しないと見なされるべきである。
【００４８】
様々な実施形態は更に、幅広い種類の動作環境内で実装されてもよく、オペレーティング環境は、一部のケースでは、いくつかのアプリケーションのいずれかを動作させるために使用することができる１つ以上のユーザコンピュータまたはコンピューティングデバイスを含むことができる。ユーザまたはクライアントデバイスは、標準オペレーティングシステム上で稼働するデスクトップまたはラップトップコンピュータなどのいくつかの汎用パーソナルコンピュータ、ならびにモバイルソフトウェアを稼働させ、いくつかのネットワーキング及びメッセージングプロトコルをサポートする能力を有するセルラ、無線、及びハンドヘルドデバイスのいずれかを含むことができる。そのようなシステムはまた、開発及びデータベース管理などの目的により、様々な商業的に利用可能なオペレーティングシステム及び他の既知のアプリケーションのいずれかを稼働させるいくつかのワークステーションを含むことができる。それらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、及びネットワークを介して通信する能力を有する他のデバイスなどの他の電子デバイスを含むことができる。
【００４９】
ほとんどの実施形態は、ＴＣＰ／ＩＰ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、及びＣＩＦＳなどの様々な商業的に利用可能なプロトコルのいずれかを使用して通信をサポートする、当業者によく知られた少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらのいずれかの組み合わせとすることができる。
【００５０】
ウェブサーバを利用する実施形態では、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたは中間階層アプリケーションのいずれかを稼働させることができる。サーバ（複数可）はまた、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋などのいずれかのプログラミング言語、またはＰｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬなどのいずれかのスクリプト言語、ならびにそれらの組み合わせで記述された１つ以上のスクリプトまたはプログラムとして実装することができる１つ以上のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答して、プログラムまたはスクリプトを実行する能力を有してもよい。サーバ（複数可）はまた、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から商業的に利用可能なサーバ、ならびにＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢ、及び構造化または非構造化データを記憶し、取り出し、及びアクセスする能力を有するいずれかの他のサーバなどのオープンソースサーバを含むがそれらに限定されない、データベースサーバを含んでもよい。データベースサーバは、テーブルベースサーバ、ドキュメントベースサーバ、非構造化サーバ、関係サーバ、非関係サーバ、もしくはそれらの組み合わせ、及び／または他のデータベースサーバを含んでもよい。
【００５１】
環境は、上記考察された様々なデータストア、及び他のメモリ及び記憶メディアを含むことができる。それらは、コンピュータのうちの１つ以上にローカルな（及び／もしくはそれに存在する）、またはネットワークにわたってコンピュータのいずれかもしくは全てにリモートな記憶メディアなど、様々な位置に存在することができる。実施形態の特定のセットでは、情報は、当業者によく知られたストレージエリアネットワーク（ＳＡＮ）に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するためのいずれかの必要なファイルを、必要に応じてローカル及び／またはリモートに記憶してもよい。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、ハードウェア要素を含むことができ、ハードウェア要素は、バスを介して電気的に結合されてもよく、要素は、例えば、少なくとも１つの中央処理装置（ＣＰＵ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチ感知表示要素、またはキーパッド）、及び少なくとも１つの出力デバイス（例えば、ディスプレイデバイス、プリンタ、またはスピーカ）を含む。そのようなシステムはまた、ランダムアクセスメモリ（ＲＡＭ）またはリードオンリメモリ（ＲＯＭ）、ならびに着脱可能メディアデバイス、メモリカード、フラッシュカードなど、ディスクドライブ、磁気テープドライブ、光学式記憶装置、及びソリッドステート記憶装置などの１つ以上の記憶装置を含んでもよい。
【００５２】
そのようなデバイスはまた、上記説明されたコンピュータ可読記憶メディアリーダ、通信デバイス（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信デバイス）、及びワーキングメモリを含むことができる。コンピュータ可読記憶メディアリーダは、リモート、ローカル、固定、及び／または着脱可能記憶装置を表すコンピュータ可読記憶メディアと共に、コンピュータ可読情報を一時的及び／または更に永続的に包含し、記憶し、伝送し、及び取り出すための記憶メディアと接続されてもよく、またはそれらを受信するように構成されてもよい。システム及び様々なデバイスはまた、典型的には、オペレーティングシステム及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも１つのワーキングメモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が上記説明された実施形態からの多数の変形を有してもよいことを認識されるべきである。例えば、カスタマイズされたハードウェアも使用されてもよく、及び／または特定の要素がハードウェア、ソフトウェア（アプレットなどのポータブルソフトウェアを含む）、もしくはその両方で実装されてもよい。更に、ネットワーク入力／出力デバイスなどの他のコンピューティングデバイスへの接続が採用されてもよい。
【００５３】
以下の条項を考慮して、上述したことをより良好に理解することができる。
１．記憶サービスのインタフェースに、ビデオファイルを含む資源を受信することと、
前記資源からメタデータを抽出し、前記メタデータを前記記憶サービス内の前記資源と関連付けることと、
前記記憶サービスの第１のタイプの記憶装置に前記ビデオファイルを記憶することと、
それぞれのフォーマットを有する１つ以上の圧縮されたファイルに前記ビデオファイルをトランスコードすることと、
前記記憶サービスの前記第１のタイプの記憶装置に前記１つ以上の圧縮されたファイルを記憶することと、
前記資源に対応するライフサイクルを判定することと、
前記ライフサイクルの一部として、及び前記トランスコードの後、第２のタイプの記憶装置に前記ビデオファイルを移動させることであって、前記第２のタイプの記憶装置は、前記第１のタイプの記憶装置よりも低いアクセス性を有する、前記移動させることと、
前記記憶サービスの１つ以上のダウンロードインタフェースを通じてダウンロードのために前記１つ以上の圧縮されたファイルを提供することと、
メタデータインタフェースに、１つ以上のメタデータパラメータについての値を指定するクエリ要求を受信することと、
前記クエリ要求への応答を提供することであって、前記応答は、前記資源と関連付けられた前記１つ以上のメタデータパラメータについての前記値に少なくとも部分的に基づいて、前記資源についての情報を提供する、前記提供することと、
を含む、コンピュータ実施方法。
２．前記資源のファイル名を決定することと、
前記ビデオファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、条項１に記載のコンピュータ実施方法。
３．前記記憶サービスによって、前記資源に関するイベントを検出することと、
前記資源と関連付けられた前記ライフサイクルに少なくとも部分的に基づいて、前記イベントに対応するスクリプトを実行することと、
を更に含む、条項１に記載のコンピュータ実施方法。
４．前記ビデオファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記ビデオファイルをインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記資源のクエリを可能にするインタフェースを提供することと、
を更に含む、条項１に記載のコンピュータ実施方法。
５．前記第２のタイプの記憶装置は、前記第１のタイプの記憶装置よりも記憶の単位当たりでコストが低い、条項１に記載のコンピュータ実施方法。
６．記憶システムに、メザニンファイル及び１つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記メタデータを、前記記憶システムに記憶された前記メザニンファイル及び前記１つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを決定することであって、前記ワークフローは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記決定することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を含む、コンピュータ実施方法。
７．前記資源に対し、前記メザニンファイル及び前記１つ以上の関連するファイルに関連する少なくとも１つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも１つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも１つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に含む、条項６に記載のコンピュータ実施方法。
８．ユーザが前記少なくとも１つの階層的プリミティブに従って前記資源とやりとりすることを可能にする１つ以上のツールを提供することを更に含み、前記１つ以上のツールを通じてユーザ入力に応答して実行されるアクションは、前記階層的プリミティブの資源レベルまたは下位資源レベルにおいて実行される、条項７に記載のコンピュータ実施方法。
９．前記ワークフロータスクは、アプリケーションプログラミングインタフェース（ＡＰＩ）へのユーザ呼び出しまたは前記資源の代わりに前記ワークフローを管理するルールエンジンによってトリガされるアクションに応答して実行される、条項６に記載のコンピュータ実施方法。
１０．前記メザニンファイルに対応するルール、ポリシ、またはライフサイクルのうちの少なくとも１つを決定することと、
前記イベントに応答して、第２のタイプの記憶装置への前記メザニンファイルの移動をトリガすることであって、前記第２のタイプの記憶装置は、ルール、ポリシ、またはライフサイクルのうちの前記少なくとも１つの一部として指定される、条項７に記載のコンピュータ実施方法。
１１．指定されたフォーマットを有する１つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコーディングすることと、
第２のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第２のタイプの記憶装置は、前記メザニンファイルが最初に記憶された第１のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第２のタイプの記憶装置に記憶された前記メザニンファイル及び前記第１のタイプの記憶装置に記憶された前記１つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に含む、条項６に記載のコンピュータ実施方法。
１２．前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に含む、条項６に記載のコンピュータ実施方法。
１３．前記メザニンファイルから抽出された時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルインデックス付けすることと、
前記時間コード情報に少なくとも部分的に基づいて、前記メザニンファイルのクエリを可能にするインタフェースを提供することと、
を更に含む、条項６に記載のコンピュータ実施方法。
１４．前記記憶システムのプロキシサービスに前記メザニンファイルを受信することを更に含み、前記プロキシサービスは、前記メザニンファイルを受信するための専用アドレスを有する、条項６に記載のコンピュータ実施方法。
１５．前記メタデータは、前記メザニンファイルのタイトル、フォーマット、ビットレート、またはファイルサイズのうちの少なくとも１つを含む、条項６に記載のコンピュータ実施方法。
１６．少なくとも１つのプロセッサと、
第１のタイプの記憶装置と、
前記第１のタイプの記憶装置よりも低いアクセス性を有する第２のタイプの記憶装置と、
命令を含むメモリと、を含み、前記命令は、前記少なくとも１つのプロセッサによって実行されるとき、
記憶システムに、メザニンファイル及び１つ以上の関連するファイルを含む資源を受信することと、
前記資源からメタデータを抽出することと、
前記記憶システムの第１のタイプの記憶装置に少なくとも前記メザニンファイルを記憶することと、
前記メタデータを、前記記憶システム内の前記メザニンファイル及び前記１つ以上の関連するファイルと関連付けることと、
前記資源に対して適用されることになるワークフローを取得することであって、前記ワークフローは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記記憶システム内の前記資源と関連付けられたいずれかのその後に生成されたファイルと関連付けられる、前記取得することと、
前記ワークフローに対応するイベントを検出することと、
前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルのそれぞれのファイルに関して前記イベントと関連付けられたワークフロータスクを実行させることと、
を前記システムに行わせる、記憶システム。
１７．前記命令は、実行されるとき、
前記資源に対し、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルに関連する少なくとも１つの階層的プリミティブを作成することと、
前記ワークフロー及び前記メタデータを前記少なくとも１つの階層的プリミティブと関連付けることであって、前記ワークフロー及び前記メタデータは、前記メザニンファイル、前記１つ以上の関連するファイル、及び前記その後に生成されたファイルと自動的に関連付けられ、前記少なくとも１つの階層的プリミティブに従って、前記ワークフローのアクションを適用することができる、前記関連付けることと、
を更に前記システムに行わせる、条項１６に記載の記憶システム。
１８．前記命令は、実行されるとき、
前記資源と共に表示されることになる広告のセットを受信することと、
前記メザニンファイルを使用して生成されたトランスコードされたファイルのビデオ品質または音声品質のうちの少なくとも１つに一致するように、前記広告を修正させることと、
前記トランスコードされたファイルの再生の間、前記広告を表示させることと、
を更に前記システムに行わせる、条項１６に記載の記憶システム。
１９．前記命令は、実行されるとき、
指定されたフォーマットを有する１つ以上のトランスコードされたファイルに前記メザニンファイルをトランスコードすることと、
第２のタイプの記憶装置に前記メザニンファイルを移動することであって、前記第２のタイプの記憶装置は、前記第１のタイプの記憶装置よりも低いアクセス性を有し、前記メタデータは、前記第２のタイプの記憶装置に記憶された前記メザニンファイル及び前記第１のタイプの記憶装置に記憶された前記１つ以上のトランスコードされたファイルと関連付けられる、前記移動することと、
を更に前記システムに行わせる、条項１６に記載の記憶システム。
２０．前記命令は、実行されるとき、
前記メディアの資源についてのファイル名を決定することと、
前記メザニンファイルをセグメントのシーケンスに分割することと、
前記シーケンスの各々のセグメントについての前記ファイル名の変形を決定することと、
各々の変形の全体を考慮したハッシングアルゴリズムを使用して、前記シーケンスの各々のセグメントについての一意なハッシュコードを生成することと、
を更に前記システムに行わせる、条項１６に記載の記憶システム。
【００５４】
コードまたはコードの一部を包含する記憶メディア及び他の非一時的コンピュータ可読メディアは、限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のためのいずれかの方法または技術において実装された揮発性及び不揮発性、着脱可能及び着脱不能メディアなど、本分野において既知であり、または使用されるいずれかの適切なメディアを含むことができ、それらは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、システムデバイスによってアクセスすることができるいずれかの他のメディアを含む。本明細書で提供される開示及び教示に基づいて、当業者は、様々な実施形態を実装するための他の方式及び／または方法を認識するであろう。
【００５５】
したがって、明細書及び図面は、限定的な意味ではなく例示的であると見なされることになる。しかしながら、特許請求の範囲において示されるような発明のより広い精神及び範囲から逸脱することなく、それらに様々な修正及び変更が行われてもよいことが明白であろう。
【図１】
2019533233.tif 000003
【図２】
2019533233.tif 000004
【図３】
2019533233.tif 000005
【図４】
2019533233.tif 000006
【図５】
2019533233.tif 000007
【図６】
2019533233.tif 000008
【図７】
2019533233.tif 000009
【図８】
2019533233.tif 000010
【国際調査報告】
2019533233.tif 000011
2019533233.tif 000012
2019533233.tif 000013