(57)【特許請求の範囲】
【請求項１】
拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、
少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、
少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒にテキストベースのＥＭＦで格納された該コンテンツの少なくとも一部を含む、ステップと、
該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
を含む、方法。
【請求項２】
前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの認証サーバを実装するステップであって、該認証サーバは、前記ユーザの身元を認証するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのトークンサーバを実装するステップであって、該トークンサーバは、該ユーザに関連付けられる少なくとも１つの一意のトークンを作り出し格納するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのキーサーバを実装するステップであって、該キーサーバは、該ユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている、ステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
前記コンテンツ要求が、該要求されたコンテンツに関連付けられるコンテンツ統一資源識別子（「ＵＲＩ」）と一緒に、前記ユーザに関連付けられるユーザ名およびパスワードの各々を含んでいるかどうかを決定するステップと、
該ユーザ名、パスワード、コンテンツＵＲＩのうちの少なくとも１つが該コンテンツ要求内に無いことを決定すると、該コンテンツ要求を拒否するステップと、
該コンテンツ要求に含まれている該サービスユーザ名、サービスパスワード、コンテンツＵＲＩの各々を検証するステップと、
該コンテンツ要求の検証が失敗すると、該コンテンツ要求を拒否するステップと、
該コンテンツ要求の検証が成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
該要求されたコンテンツのタイトル、前記ユーザに関連付けられたユーザ名、開始時間を定義する開始タイムスタンプ、終了時間を定義する終了タイムスタンプ、および一意のトークン識別子のうちの少なくとも１つを含む一意のトークンを作り出すステップであって、該開始時間において、該ユーザは、該要求されたコンテンツを受信することを認可され、該終了時間を超えると、該ユーザは、該要求されたコンテンツを受信することをもはや認可されない、ステップと、
該要求されたコンテンツの位置と一緒に該トークンを該クライアントデバイスへ伝送するステップであって、該トークンは、後に、該クライアントデバイスによって前記コンテンツサーバへ提供される、ステップと、
該クライアントデバイスから該トークンを受信すると、
該トークンを検証するステップと、
該トークンの検証に失敗すると、該コンテンツ要求を拒否するステップと、
該トークンの検証に成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
をさらに含む、請求項２に記載の方法。
【請求項５】
前記トークンを検証するステップは、
前記トークン識別子を検証するステップと、
該トークン内に含まれている前記開始タイムスタンプおよび前記終了タイムスタンプに基づいて、前記要求されたコンテンツを受信することを前記ユーザが現在認可されているかどうかを決定するステップと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
前記ユーザに関連付けられる前記キーファイルを前記キーサーバから取得するステップと、
該キーファイルを使用して、前記要求されたコンテンツを含む前記少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に暗号化するステップと、
該少なくとも１つの暗号化されたＥＭＦファイルの各々を前記クライアントデバイスへ伝送するステップと
をさらに含む、請求項２に記載の方法。
【請求項７】
前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツプロバイダを実装するステップをさらに含み、該コンテンツプロバイダは、前記初期要求サーバ、認証サーバ、およびコンテンツサーバの各々を維持するように構成されている、請求項２に記載の方法。
【請求項８】
前記少なくとも１つのコンピューティングデバイス上のメモリ内にキーサービスプロバイダを実装するステップをさらに含み、該キーサービスプロバイダは、前記キーサーバおよびトークンサーバの各々を維持するように構成されている、請求項２に記載の方法。
【請求項９】
前記コンテンツが、前記関連付けられたクライアントデバイスへ伝送される前に、識別目的のために、一意のユーザ固有のウォーターマークを該コンテンツ上へ選択的にオーバーレイするステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記一意のウォーターマークを前記コンテンツ上へ選択的にオーバーレイするステップは、ユーザ固有の選択位置情報に基づいて、該コンテンツに関係して、該ウォーターマークを位置づけるステップをさらに含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、「Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｄｉａ  Ｆｏｒｍａｔ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｏｆ  Ｕｓｅ」というタイトルの２０１３年８月５日に出願された米国仮出願第６１／８６２，２９０号に対する優先権を主張し、その仮出願の出願日の権利が与えられている。前記出願の内容は、参照により、本明細書に援用される。
【背景技術】
【０００２】
（背景）
この特許出願の主題は、概して、コンテンツ送達システムに関連し、より具体的には、拡張可能マークアップ言語（「ＸＭＬ」（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ））を使用してデジタルコンテンツをコード化、格納、検索および送達するための改善されたシステムおよび方法に関連する。
【０００３】
出願人（単数または複数）は、参照により、本願において引用または参照されたありとあらゆる特許および公開された特許出願を本明細書に援用する。
【０００４】
背景として、コンテンツ送達は、物理メディアを使用することなく、通常はオンライン送達メディア（例えば、インターネット）上におけるメディアコンテンツ（例えば、オーディオ、ビデオ、ソフトウェア、ビデオゲーム、本、書類など）の送達または流通を伴う。オンラインで流通させられたコンテンツは、ストリーム配信またはダウンロードされ得る。ストリーミングは、ユーザがコンテンツを永久に格納することを可能にするのではなく、ユーザの要求時にコンテンツをダウンロードして使用すること（すなわち、「オンデマンド」）を伴う。対照的に、電子的記録メディアのハードドライブまたは他の形態にコンテンツを十分にダウンロードすることは、将来的にオフラインアクセスを可能にし得る。「コンテンツデリバリネットワーク」として公知であるスペシャリストネットワークが、インターネット上にコンテンツを流通させることと、高い利用可能性と高いパフォーマンスとの両方を提供するように試みることとを助長する。しかしながら、コンテンツは、次第に大きくなってきている。例えば、ビデオコンテンツ（すなわち、動画、テレビ番組、ビデオゲームなど）は、ますます高い解像度およびより速いフレームレートで製作され続け、これは、インターネット上に次第に流通させにくくなってきている（または少なくとも時間およびバンド幅を消費する）相対的に大きいコンテンツファイルをもたらす。したがって、コンテンツのサイズに拘わらずインターネット上にコンテンツを流通させる、相対的に速く信頼性のある方法の必要性が存在する。そのようなコンテンツが許可なくコピーされることまたはそのコンテンツへアクセス可能であるべきではないユーザによって見られることをより良く妨げるのを可能にするようなシステムの必要性も存在する。
【０００５】
本発明の局面は、それらの必要性を満たし、以下の要旨に記載されているようなさらに関連する利点を提供する。
【発明の概要】
【課題を解決するための手段】
【０００６】
（要旨）
本発明の局面は、後述される例示的な利点を生じさせる構造および使用における特定の利益を教示する。
【０００７】
本発明は、拡張可能メディアフォーマット（「ＥＭＦ」）においてデジタルコンテンツを操るためのシステムおよび関連付けられる方法を提供することによって上述されている問題を解決する。少なくとも1つの実施形態において、少なくとも１つの初期要求サーバが、少なくとも１つのコンピュータデバイス上のメモリ内に位置し、かつ、ユーザが所有している少なくとも１つのクライアントデバイスからコンテンツについての要求を受信および処理するように構成されている。少なくとも１つのコンテンツサーバも、少なくとも１つのコンピュータデバイスのメモリ内に位置し、かつ、コンテンツを格納および選択的に流通させるように構成されている。コンテンツサーバは、少なくとも１つのＥＭＦファイルにコンテンツを格納し、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、フレーム識別子は、クライアントデバイス上のコンテンツを集合させるときに少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、クライアントデバイス上のコンテンツを集合させるときに少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒にコンテンツの少なくとも一部を含む。したがって、初期要求サーバが、関連付けられるクライアントデバイスを介してユーザからコンテンツ要求を受信すると、コンテンツサーバは、要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送する。
本明細書は、例えば、以下の項目も提供する。
（項目１）
拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、
少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、
少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、
該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
を含む、方法。
（項目２）
前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの認証サーバを実装するステップであって、該認証サーバは、前記ユーザの身元を認証するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのトークンサーバを実装するステップであって、該トークンサーバは、該ユーザに関連付けられる少なくとも１つの一意のトークンを作り出し格納するように構成されている、ステップと、
該少なくとも１つのコンピュータデバイス上のメモリ内に少なくとも１つのキーサーバを実装するステップであって、該キーサーバは、該ユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている、ステップと
をさらに含む、項目１に記載の方法。
（項目３）
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
前記コンテンツ要求が、該要求されたコンテンツに関連付けられるコンテンツ統一資源識別子（「ＵＲＩ」）と一緒に、前記ユーザに関連付けられるユーザ名およびパスワードの各々を含んでいるかどうかを決定するステップと、
該ユーザ名、パスワード、コンテンツＵＲＩのうちの少なくとも１つが該コンテンツ要求内に無いことを決定すると、該コンテンツ要求を拒否するステップと、
該コンテンツ要求に含まれている該サービスユーザ名、サービスパスワード、コンテンツＵＲＩの各々を検証するステップと、
該コンテンツ要求の検証が失敗すると、該コンテンツ要求を拒否するステップと、
該コンテンツ要求の検証が成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
をさらに含む、項目２に記載の方法。
（項目４）
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
該要求されたコンテンツのタイトル、前記ユーザに関連付けられたユーザ名、開始時間を定義する開始タイムスタンプ、終了時間を定義する終了タイムスタンプ、および一意のトークン識別子のうちの少なくとも１つを含む一意のトークンを作り出すステップであって、該開始時間において、該ユーザは、該要求されたコンテンツを受信することを認可され、該終了時間を超えると、該ユーザは、該要求されたコンテンツを受信することをもはや認可されない、ステップと、
該要求されたコンテンツの位置と一緒に該トークンを該ユーザへ伝送するステップであって、該トークンは、後に、該クライアントデバイスによって前記コンテンツサーバへ提供される、ステップと、
該クライアントデバイスから該トークンを受信すると、
該トークンを検証するステップと、
該トークンの検証に失敗すると、該コンテンツ要求を拒否するステップと、
該トークンの検証に成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップと
をさらに含む、項目２に記載の方法。
（項目５）
前記トークンを検証するステップは、
前記トークン識別子を検証するステップと、
該トークン内に含まれている前記開始タイムスタンプおよび前記終了タイムスタンプに基づいて、前記要求されたコンテンツを受信することを前記ユーザが現在認可されているかどうかを決定するステップと
をさらに含む、項目４に記載の方法。
（項目６）
前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、
前記ユーザに関連付けられる前記キーファイルを前記キーサーバから取得するステップと、
該キーファイルを使用して、前記要求されたコンテンツを含む少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に暗号化するステップと、
該少なくとも１つの暗号化されたＥＭＦファイルの各々を前記クライアントデバイスへ伝送するステップと
をさらに含む、項目２に記載の方法。
（項目７）
前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツプロバイダを実装するステップをさらに含み、該コンテンツプロバイダは、前記初期要求サーバ、認証サーバ、およびコンテンツサーバの各々を維持するように構成されている、項目２に記載の方法。
（項目８）
前記少なくとも１つのコンピューティングデバイス上のメモリ内にキーサービスプロバイダを実装するステップをさらに含み、該キーサービスプロバイダは、前記キーサーバおよびトークンサーバの各々を維持するように構成されている、項目２に記載の方法。
（項目９）
前記コンテンツの合計サイズに応じて、該コンテンツを複数のＥＭＦファイルに選択的に分割するステップと、
前記ユーザによって要求されたときに、前記関連付けられたクライアントデバイスへ該コンテンツを、１度にＥＭＦファイルを１つ伝送するステップと
をさらに含む、項目１に記載の方法。
（項目１０）
ピア‐トゥ‐ピアネットワークにおいて複数のクライアントデバイスを横切って前記複数のＥＭＦファイルの各々を格納するステップと、
前記クライアントデバイスの利用可能性に基づいて、該クライアントデバイスから該複数のＥＭＦファイルの各々を選択的に検索するステップと
をさらに含む、項目９に記載の方法。
（項目１１）
前記要求されたコンテンツを含む前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップをさらに含む、項目９に記載の方法。
（項目１２）
前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、
そのようなＥＭＦファイル各々について：
該ＥＭＦファイルが、該ＥＭＦファイル内に２度以上出現する任意のＸＭＬタグを含んでいるかどうかを決定するステップと、
該ＥＭＦファイル内に２度以上出現すると決定された各ＸＭＬタグについて：
該ＸＭＬタグに一意のアドレスを割り振るステップと、
ＸＭＬテーブル内に該アドレスおよび関連付けられたＸＭＬタグを格納するステップであって、該ＸＭＬテーブルは、該ＥＭＦファイルを後に展開するために使用される、ステップと
をさらに含む、項目１１に記載の方法。
（項目１３）
前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、
そのようなＥＭＦファイル各々について：
該ＥＭＦファイルが、該ＥＭＦファイル内に２度以上出現する任意のデータを含んでいるかどうかを決定するステップと、
該ＥＭＦファイル内に２度以上出現すると決定された任意のデータについて：
該データに一意のアドレスを割り振るステップと、
ＸＭＬテーブル内に該アドレスおよび関連付けられたデータを格納するステップであって、該ＸＭＬテーブルは、該ＥＭＦファイルを後に展開するために使用される、ステップと
をさらに含む、項目１１に記載の方法。
（項目１４）
前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、
そのようなＥＭＦファイル各々について：
前記関連付けられたフレームページ内に格納された前記少なくとも１つのフレームの各々をスキャンするステップであって、該少なくとも１つのフレームは、前記コンテンツの少なくとも一部を表す複数のバイト値を含む、ステップと、
ベースフレームとして該フレームのうちの第１のフレームを格納するステップと、
該関連付けられたフレームページ内に格納された各追加フレームについて：
該ベースフレームに含まれるバイト値と該追加フレームに含まれるバイト値との間の任意の差分を計算するステップと、
該ベースフレームと比較して異なる、該追加フレームに含まれる該バイト値のみを含む差分フレームとして該追加フレームを格納するステップと
をさらに含む、項目１１に記載の方法。
（項目１５）
前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、
そのようなＥＭＦファイル各々について：
前記関連付けられたフレームページ内に格納された前記少なくとも１つのフレームの各々をスキャンするステップであって、該少なくとも１つのフレームは、前記コンテンツの少なくとも一部を表す複数のバイト値を含む、ステップと、
ベースフレームとして該フレームのうちの第１のフレームを格納するステップと、
該関連付けられたフレームページ内に格納された各後続フレームについて：
以前のフレームに含まれるバイト値と該後続フレームに含まれるバイト値との間の任意の差分を計算するステップと、
該以前のフレームと比較して異なる、該後続フレームに含まれる該バイト値のみを含む差分フレームとして該後続フレームを格納するステップと
をさらに含む、項目１１に記載の方法。
（項目１６）
前記コンテンツが、前記関連付けられたクライアントデバイスへ伝送される前に、識別目的のために、一意のユーザ固有のウォーターマークを該コンテンツ上へ選択的にオーバーレイするステップをさらに含む、項目１に記載の方法。
（項目１７）
前記一意のウォーターマークを前記コンテンツ上へ選択的にオーバーレイするステップは、ユーザ固有の選択位置情報に基づいて、該コンテンツに関係して、該ウォーターマークを位置づけるステップをさらに含む、項目１６に記載の方法。
（項目１８）
拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、
少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのキーサーバを実装するステップであって、該キーサーバは、該ユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている、ステップと、
少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、
該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると：
該ユーザに関連付けられた該キーファイルを該キーサーバから取得するステップと、
該キーファイルを使用して、該要求されたコンテンツを含む該少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に暗号化するステップと、
該少なくとも１つの暗号化されたＥＭＦファイルの各々を該クライアントデバイスへ伝送するステップと
を含む、方法。
（項目１９）
拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、
少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、
該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、
少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、
該コンテンツを含む該少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に圧縮するステップと、
該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると、該要求されたコンテンツの少なくとも一部を含む該少なくとも１つの圧縮されたＥＭＦファイルの各々を該クライアントデバイスへ伝送するステップと
を含む、方法。
【０００８】
本発明の局面の他の特徴および利点が、添付図面と併せて、以下のより詳細な説明から明らかとなり、添付図面は、例として、本発明の局面の原理を示している。
【図面の簡単な説明】
【０００９】
添付図面は、本発明の局面を示している。そのような図面において：
【００１０】
【図１】図１は、少なくとも１つの実施形態に従った、例示的な拡張可能メディアフォーマットシステムの概略図である。
【００１１】
【図２】図２は、少なくとも１つの実施形態に従った、例示的なトークンデータ構造を示しているブロック図である。
【００１２】
【図３】図３は、少なくとも１つの実施形態に従った、デジタルコンテンツをコード化、格納、検索および送達するための例示的な方法のフロー図である。
【００１３】
【図４】図４は、少なくとも１つの実施形態に従った、例示的な拡張可能メディアフォーマットファイル構造を示しているブロック図である。
【００１４】
【図５】図５は、少なくとも１つの実施形態に従った、例示的な拡張可能メディアフォーマットファイルを圧縮するための例示的な方法のフロー図である。
【００１５】
【図６】図６は、少なくとも１つの実施形態に従った、例示的なフレームページを圧縮するための例示的な方法のフロー図である。
【００１６】
【図７】図７は、少なくとも１つの実施形態に従った、例示的なフレームページ圧縮アルゴリズムによって処理される例示的なフレームページのイラストである。
【００１７】
上述されている図面は、本発明の例示的な実施形態のうちの少なくとも１つにおける本発明の局面を示しており、本発明の例示的な実施形態は、以下の説明においてより詳細にさらに規定される。異なる図において同じ数字によって参照される本発明の特徴、要素および局面は、１つ以上の実施形態に従って、同じ、同等のまたは同様の特徴、要素または局面を提示する。
【発明を実施するための形態】
【００１８】
ここで図１を参照すると、例示的な拡張可能メディアフォーマット（「ＥＭＦ」）システム２０の例示的な実施形態の概略図が示されており、システム２０は、拡張可能マークアップ言語（「ＸＭＬ」）を使用してデジタルコンテンツをコード化、格納、検索および送達する（すなわち、言い換えると、操る）ように構成されている。最初に、システム２０が例示的な実施形態において主にＸＭＬに関して論じられているが、更なる実施形態において、本明細書に記載されている機能をシステム２０が実質的に実行することが可能である限り、現在公知であるかまたは後に開発される他のデジタル通信または送達プロトコルが代用され得ることに留意されたい。以下にさらに論じられるように、ＥＭＦフォーマットの拡張性が、システム２０が実際上任意のタイプのデジタルコンテンツ（以下、単に「コンテンツ」と呼ばれる）を処理し扱うことを可能にする；とはいえ、最も一般的なタイプのコンテンツは、ビデオベースおよびオーディオベースである。
【００１９】
例示的な実施形態において、システム２０は、少なくとも１つの初期要求サーバ２２と、少なくとも１つのトークンサーバ２４と、少なくとも１つのキーサーバ２６と、少なくとも１つの認証サーバ２８と、少なくとも１つのコンテンツサーバ３０とを備え、各々は、少なくとも１つのコンピュータデバイス上のメモリ内に存在する。用語「メモリ」が、現在公知であるかまたは後に開発される任意のタイプの電子的記録メディア（例えば、ローカルハードドライブ、ＲＡＭ、フラッシュメモリ、外部の記録デバイス、ネットワークまたはクラウド記録デバイスなど）（または記録メディアの組み合わせ）を含むように意図されることに留意されたい。さらに、システム２０の様々な構成要素が、単一のコンピュータデバイス上のメモリ内に存在し得るか、または相互に通信している２つ以上のコンピュータデバイス上に別個に存在し得る。加えて、ユーザが所有している少なくとも１つのクライアントデバイス３２（コンピューティングデバイス自身）も、システム２０と選択的に通信している。用語「コンピューティングデバイス」は、現在公知であるかまたは後に開発される任意のタイプのコンピューティングデバイス（例えば、デスクトップコンピュータ、携帯電話、スマートフォン、ラップトップコンピュータ、タブレット型コンピュータ、携帯情報端末、ゲーミングデバイスなど）を含むように意図される。
【００２０】
最初に、初期要求サーバ２２、トークンサーバ２４、キーサーバ２６、認証サーバ２８、コンテンツサーバ３０およびクライアントデバイス３２の各々の間の通信を可能にする手段が、現在公知であるかまたは後に開発される任意の有線または無線ベースの通信プロトコル（あるいはプロトコルの組み合わせ）であり得ることにも留意されたい。したがって、本発明は、ある例示的なプロトコルが例証目的のために本明細書に言及され得るとしても、いずれか１つの特定のタイプの通信プロトコルに限定されるものとして読まれるべきではない。
【００２１】
もう少しより詳細には、少なくとも１つの実施形態において、初期要求サーバ２２、認証サーバ２８およびコンテンツサーバ３０の各々は、コンテンツプロバイダ３４によって維持される一方で、キーサーバ２６およびトークンサーバ２４の各々は、キーサービスプロバイダ３６によって維持される。このように、そのようなキーサービスプロバイダ３６は、２つ以上のコンテンツプロバイダ３４にデータ暗号化サービスを提供することが可能である。代替的な実施形態において、初期要求サーバ２２、トークンサーバ２４、キーサーバ２６、認証サーバ２８およびコンテンツサーバ３０の各々は、システム２０が、本明細書に記載されている機能性を実行することが実質的に可能である限り、単一のエンティティまたは複数のエンティティによって維持され得る。
【００２２】
継続して図１を参照すると、少なくとも１つの実施形態において、初期要求サーバ２２は、少なくとも１つのクライアントデバイス３２からのコンテンツについての要求を受信および処理するように構成されている。これを考慮して、少なくとも１つの実施形態において、コンテンツプロバイダ３４が、キーデバイスプロバイダ３６のエンティティとは完全に別個のエンティティであることがさらに可能である。以下にさらに論じられるように、初期要求サーバ２２は、ユーザの身元を確認するために、クライアントデバイス３２のユーザに関連するデータも受信および処理するように構成されている。例示的な実施形態において、このデータは、少なくとも、一意のサービスユーザ名３８と、サービスパスワードと、コンテンツ統一資源識別子（「ＵＲＩ」）−すなわち、クライアントデバイス３２によって要求されているコンテンツに関連付けられるＵＲＩ−とを含む。認証サーバ２８は、初期要求サーバ２２から受信し、ユーザによって提供されたサービスユーザ名３８とサービスパスワードとを認証するように構成されている。トークンサーバ２４は、所与のユーザに関連付けられる一意のトークン４０を作り出し格納するように構成されている。図２に示されているように、少なくとも１つの実施形態において、各トークン４０は、コンテンツタイトル４２（すなわち、ユーザによって要求されているコンテンツのタイトル）と、サービスユーザ名３８と、開始タイムスタンプ４４（すなわち、ユーザが、要求されたコンテンツにアクセスすることを認可されるときの時間）と、終了タイムスタンプ４６（すなわち、ユーザが、要求されたコンテンツにアクセスすることがもはや認可されないときの時間）と、一意のトークン識別子４８とを含む。再び図１を参照すると、コンテンツサーバ３０は、コンテンツを格納および選択的に流通させるように構成されている。最後に、キーサーバ２６は、コンテンツプロバイダ３４に関する情報を含む関連データベースと一緒に所与のユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている。以下にさらに論じられるように、キーファイルは、コンテンツをクライアントデバイス３２へ伝送する前に、コンテンツサーバ３０によって使用され、それにより、コンテンツを暗号化する。
【００２３】
次いで、使用中、少なくとも１つの実施形態において、図３のフロー図に示されているように、初期要求サーバ２２がクライアントデバイス３２を介してユーザからコンテンツ要求を受信すると（３００）、初期要求サーバ２２は、まず、コンテンツ要求がサービスユーザ名３８と、サービスパスワードと、コンテンツＵＲＩとを含んでいるかどうかを決定する（３０２）−それらの構成要素のうちの１つ以上が無い場合、コンテンツ要求は拒否される（３０４）。そうでなければ、初期要求サーバ２２は、コンテンツ要求を認証サーバ２８へ検証のために転送する（３０６）。コンテンツ要求が認証プロセスに反する場合（すなわち、サービスユーザ名３８、サービスパスワードおよびコンテンツＵＲＩのうちの１つ以上が無効である場合）、コンテンツ要求は拒否される（３０４）。そうでなければ、認証された場合、初期要求サーバ２２は、トークンサーバ２４と連絡を取り、コンテンツ要求に関連するトークン４０を要求する（３０８）。トークンサーバ２４は、適切なトークン４０を作り出し、要求されたコンテンツの位置と一緒にそれをクライアントデバイス３２へ伝送する（３１０）。次いで、クライアントデバイス３２は、トークン４０をコンテンツサーバ３０へ伝送し（３１２）、この時点で、コンテンツサーバ３０は、渡されたトークン４０を検証するために、トークンサーバ２４と通信する（３１４）。例示的な実施形態において、この検証プロセスは、トークン識別子４８と、トークン４０に含まれている開始タイムスタンプ４４および終了タイムスタンプ４６によって定義された時間帯内に検証の時間が入っているかどうかとを確認することを含む。検証プロセスが失敗した場合、コンテンツ要求は拒否される（３０４）。そうでなければ、トークン４０が有効であるとみなされる場合、コンテンツサーバ３０は、トークン４０をキーサーバ２６へ伝送し（３１６）、この時点で、キーサーバ２６は、トークン４０に含まれるサービスユーザ名３８に基づいて、ユーザに関連付けられる一意のキーファイルを設置し（３１８）、そのキーファイルをコンテンツサーバ３０へ伝送する（３２０）。次いで、コンテンツサーバ３０は、キーファイルを使用することにより、要求されたコンテンツを暗号化し（３２２）、暗号化されたコンテンツをクライアントデバイス３２へ伝送する（３２４）。コンテンツが視覚メディア（すなわち、写真、ビデオなど）を含む少なくとも１つの実施形態において、以下にさらに論じられるように、コンテンツサーバ３０はまた、キーファイルを使用することにより、一意のウォーターマークをコンテンツ上へオーバーレイする。これらのステップが例示的な実施形態において単にとられることに留意されたい。更なる実施形態において、要求されたコンテンツを流通させる例示的な方法を実行するときに伴うステップは、変わり得るかまたは異なる順序で起こり得る。
【００２４】
上述されたように、例示的な実施形態において、システム２０は、拡張可能マークアップ言語（「ＸＭＬ」）を使用してコンテンツをコード化、格納、検索および送達するように構成されている。言い換えると、コンテンツは、ＸＭＬを使用してテキストベースの拡張可能メディアフォーマット、すなわち「ＥＭＦ」ファイル５０に格納および送達され、これは、コンテンツのソフトコード化−すなわち、比較的簡単にオンザフライでコンテンツをコード化または再コード化することを可能にする。コンテンツのサイズと、システム２０が利用されるコンテンクストとに応じて、コンテンツは、複数のＥＭＦファイル５０に分解され得る。コンテンツがビデオを含む場合に、そのようなコンテンツが拡張可能ビデオフォーマット、すなわち、「ＥＶＦ」と呼ばれる場合があることも留意されたい。したがって、ＥＭＦおよびＥＶＦは、本開示の目的のために同義語であるように意図される。
【００２５】
もう少しより詳細には、少なくとも１つの実施形態において、図４のブロック図に示されているように、各ＥＭＦファイル５０は、概して、高レベルタグ５２と、ヘッダー５４と、フレームページ５６とを備える。高レベルタグ５２は、ＥＭＦファイル５０に含まれているコンテンツのタイプ（すなわち、オーディオ、ビデオなど）を指し示すように構成されている。ヘッダー５４は、ＥＭＦファイル５０に含まれているコンテンツに関連する選択情報（コンテンツタイトル４２、コンテンツにアクセスするために必要とされるコーデックへのポインター５８、および（コンテンツがビデオを含む場合には）フレームレート６０を含むがこれらに限定されない）を含む。少なくとも１つの実施形態において、ヘッダー５４は、選択ユーザ関連データ（例えば、サービスユーザ名３８）も含み、この目的は、以下にさらに論じられる。フレームページ５６は、フレームページ識別子６２と、少なくとも１つのフレーム６４とを含み、次にフレーム６４は、バイト６８として表されたコンテンツ６６の少なくとも一部を含むデータテーブルである−しかしながら、ＥＭＦファイル５０がコンテンツ自身ではなくコーデックを含む場合、少なくとも１つのフレーム６４は、ＸＭＬスキーマ定義（「ＸＳＤ」（ＸＭＬ  Ｓｃｈｅｍａ  Ｄｅｆｉｎｉｔｉｏｎ））および他の関連するコーデック詳細を含む。各フレーム６４は、クライアントデバイス３２上でコンテンツを集合させるときにフレーム６４を連続して配置するために使用されるフレーム識別子７０も含む。
【００２６】
フレームページ５６のこの使用は、（ＥＭＦファイル５０に含まれているような）コンテンツが標準ウェブサーバを介してインターネットを通して送達されることを可能にする。本質的には、次いで、少なくとも１つの実施形態において、要求されたコンテンツは、要求されたコンテンツの合計サイズに応じて、（１つ以上のＥＭＦファイル５０に含まれている）１つ以上のフレームページ５６を横断して格納されることが可能であり、それにより、後に、より小さい「段階的な」形式でクライアントデバイス３２へ伝送される。以下にさらに論じられるように、そのようなコンテンツは、バッファを形成するためにコンテンツの大部分（すなわち、より多くの数のフレームページ５６）がダウンロードされるのを待つ必要なく、フレームページ５６の最初がクライアントデバイス３２によってダウンロードされるとすぐに瞬時に見られ得る。この能力は、「非同期同時ダウンロード」として最良に記載される。加えて、所与の要求されたコンテンツを含む１組のフレームページ５６は、ピア‐トゥ‐ピア（「Ｐ２Ｐ」）フォーマットで任意の数の位置に格納され、かつ必要に応じてクライアントデバイス３２上で検索および再集合させられることが可能であり、リアルタイムで各潜在サーバの速さおよび他の送達パラメータを測定し、それにより、（少なくとも１つの実施形態において、他のクライアントデバイス３２を含む）最速の決定されたサーバから各フレームページ５６を取得する。これは、少なくとも１つの実施形態において、（クライアントデバイス３２が、連続して順序付けられている後のフレームページ識別子６２に基づいて、後のフレームページ５６を識別および検索するために使用する）それぞれのフレームページ識別子６２に単に基づいて、成し遂げられることが可能であり、これは、従来の「ビットストリーム」技術よりかなり単純である。したがって、所望のフレームページ５６の送達が、サーバ側のバンド幅または他の問題に因り、遅すぎる場合、（同じ所望のフレームページ５６を含む）代替的な位置が、代わりに、すぐに利用され得る。言い換えると、コンテンツを送達するこの方法は、単一のデータストリームに依存しないので、コンテンツの送達についてのバンド幅の負担は、コンテンツプロバイダ３４ではなくクライアントデバイス３２へ移される。これは、システム２０が、損失誘導圧縮アルゴリズムなどを必要とすることなく、より速くより高解像度で（例えば）ビデオフレームを送達することを可能にする。それゆえ、コンテンツは、必要なフレームページ５６のダウンロード速度がプレイ速度より速い限り、クライアントデバイス３２によってシームレスにアクセスおよびプレイされ得る。
【００２７】
少なくとも１つの実施形態において、システム２０は、セグメント化も採用し、セグメント化は、システム２０がＥＭＦファイル５０全体ではなくＥＭＦファイル５０の小さい部分を同時に暗号化することを可能にし、そこでは、ＥＭＦファイル５０のサイズは、他の態様で、同時に全てを、暗号化する有意な処理パワーおよび／または転送する有意なバンド幅を要求する。これは、ＥＭＦファイル５０全体が復号されるのを待たなければならない代わりに、クライアントデバイス３２が瞬時にＥＭＦファイル５０にアクセスする（一方で、一部は、依然として、伝送および／または復号していることもある）ことも可能にする。
【００２８】
少なくとも１つの実施形態において、上述されたように、システム２０は、ユーザ関連データが各ＥＭＦファイル５０（またはＥＶＦファイル）内のヘッダー５４に格納されることを可能にするように構成され、これは、コンテンツがクライアントデバイス３２によってアクセスされると、識別目的のために、一意のウォーターマークをコンテンツ上へ選択的にオーバーレイするために後に使用されることが可能である。例示的な実施形態において、ウォーターマークは、サービスユーザ名３８を含む−しかしながら、他のタイプ（および量）のユーザ関連データが代用され得る。ユーザ関連データに関連付けられる一意の位置情報も、ヘッダー５４内に格納され得、その結果、コンテンツに関係するウォーターマークの位置（すなわち、ｘ、ｙ座標のシーケンス）が、前記位置情報によって決定付けられる。このコード化された位置ウォーターマーク技術は、ユーザが、侵害問題を避けるために、クライアントデバイス３２上に表示されるウォーターマークを単純に黒くすることを妨げる。なぜならば、それにもかかわらず、ウォーターマーク位置のシーケンスがはっきり見えるからである。要求されたコンテンツに関連付けられるデータは、別個に伝送され、クライアントデバイス３２によって再集合させられるので、タイトルおよびウォーターマークは、リアルタイムに適用されることが可能であり、（例えば）１つのビデオがサービスユーザ名３８またはいくつかの視覚データを含むことを可能にする。
【００２９】
少なくとも１つの実施形態において、ＥＭＦファイル５０のアーキテクチャに因り、システム２０は、独立に、フレームページ５６に、一群のフレームページ５６に、またはフレームページ５６内の単一のフレーム６４にさえも、暗号化アルゴリズムと圧縮アルゴリズムとの両方を適用することが可能である。加えて、システム２０は、対象物を適切に復号および／または展開するやり方をクライアントデバイス３２が知る指示を付加することが可能であり、それにより、異なる暗号化アルゴリズムおよび／または圧縮アルゴリズムが、最も効率的な可能な態様で適用されることを可能にする。
【００３０】
少なくとも１つの実施形態において、システム２０によって利用される１つのそのような圧縮アルゴリズムは、所与のＥＭＦファイル５０のサイズを軽減するように設計されたタグ圧縮アルゴリズムである。もう少しより詳細には、図５のフロー図に示されているように、アルゴリズムが、ＸＭＬフォーマットにおいてＸＭＬ圧縮を行う。具体的には、アルゴリズムは、所与のＥＭＦファイル５０などのＸＭＬベースのファイルにアクセスするステップ（５００）と、ＥＭＦファイル５０をスキャンする（５０２）ことによりＥＭＦファイル５０内に任意の繰り返しＸＭＬタグ（すなわち、２度以上出現するタグ）が存在するかどうかを決定するステップ（５０４）と、各繰り返しＸＭＬタグに一意のアドレスを割り当てることによって任意のそのような繰り返しＸＭＬタグを指標付けするステップ（５０６）と、アドレスおよび関連付けられるタグ名をＸＭＬテーブル内に格納するステップ（５０８）から成る。このアルゴリズムは、ＥＭＦファイルの終了に達する（５１０）まで続く。ＥＭＦファイル５０を後に展開するために、ＸＭＬテーブルに格納されたデータは、繰り返し部分を再び作り出す（すなわち、拡張）ために使用される。この同じアルゴリズムが、少なくとも１つの実施形態において、所与のＥＭＦファイル５０内の繰り返しデータに対しても行われ、それによって、ＥＭＦファイル５０の更なる圧縮を提供することに留意されたい。
【００３１】
システム２０によって利用される別のタイプの圧縮アルゴリズムは、少なくとも１つの実施形態において、所与のフレームページ５６のサイズを軽減するように設計されたフレームページ圧縮アルゴリズムである。もう少しより詳細には、図６のフロー図および図７の関連付けられるイラストに示されているように、フレームページ圧縮アルゴリズムは、そのアルゴリズムは所与のフレームページ５６内のフレーム６４の各々をまずスキャンする（６００）という点で、差分アルゴリズムとして機能し、フレーム６４の各々は、複数のバイト値６８を含む。フレームページ５６の第１のフレーム６４は、ベースフレーム７２として格納され（６０２）、そのバイト値６８は、ベースフレーム７２とフレームページ５６内の任意の後続フレーム６４との間の差分（すなわち、変化）を計算するために使用される。フレームページ５６内の追加フレーム６４が実際に存在する場合（６０４）、各後続フレーム６４が、差分フレーム７４として格納され（６０６）、差分フレーム７４は、基本的には、ベースフレーム７２と比較して異なる、フレーム６４についてのバイト値６８のみを含む。例示的な実施形態において、図７に示されているように、これらの異なるバイト値６８は、フォーマット（Ａ：Ｘ；Ｙ）で格納され、ここで、Ａは、バイト値６８であり、（セミコロンによって分離された任意の追加の値を伴う）ＸおよびＹは、フレーム６４内のそのバイト値６８のそれぞれのバイト位置７６である。代替的な実施形態において、各差分フレーム７４は、（ベースフレーム７２ではなく）以前の差分フレーム７４に基づいて計算される。したがって、フレームページ５６のフレーム６４の各々の中のバイト値６８のうちの全てを伝送するのではなく、ベースフレーム７２（または、代替的には、以前の差分フレーム７４）から変化したバイト値６８のみが伝送される。さらに、バイト値６８と、各バイト値６８のバイト位置７６との両方が差分フレーム７４内に格納されるので、フレーム６４全体は、伝送後、簡単に再構成される。
【００３２】
本明細書の局面は、以下のようにも記載され得る：
【００３３】
１．拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップとを含む。
【００３４】
２．前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの認証サーバを実装するステップであって、該認証サーバは、前記ユーザの身元を認証するように構成されている、ステップと、該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのトークンサーバを実装するステップであって、該トークンサーバは、該ユーザに関連付けられる少なくとも１つの一意のトークンを作り出し格納するように構成されている、ステップと、該少なくとも１つのコンピュータデバイス上のメモリ内に少なくとも１つのキーサーバを実装するステップであって、該キーサーバは、該ユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている、ステップとをさらに含む、実施形態１に従った方法。
【００３５】
３．前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、前記コンテンツ要求が、該要求されたコンテンツに関連付けられるコンテンツ統一資源識別子（「ＵＲＩ」）と一緒に、前記ユーザに関連付けられるユーザ名およびパスワードの各々を含んでいるかどうかを決定するステップと、該ユーザ名、パスワード、コンテンツＵＲＩのうちの少なくとも１つが該コンテンツ要求内に無いことを決定すると、該コンテンツ要求を拒否するステップと、該コンテンツ要求に含まれている該サービスユーザ名、サービスパスワード、コンテンツＵＲＩの各々を検証するステップと、該コンテンツ要求の検証が失敗すると、該コンテンツ要求を拒否するステップと、該コンテンツ要求の検証が成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップとをさらに含む、実施形態１〜２に従った方法。
【００３６】
４．前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、該要求されたコンテンツのタイトル、前記ユーザに関連付けられたユーザ名、開始時間を定義する開始タイムスタンプ、終了時間を定義する終了タイムスタンプ、および一意のトークン識別子のうちの少なくとも１つを含む一意のトークンを作り出すステップであって、該開始時間において、該ユーザは、該要求されたコンテンツを受信することを認可され、該終了時間を超えると、該ユーザは、該要求されたコンテンツを受信することをもはや認可されない、ステップと、該要求されたコンテンツの位置と一緒に該トークンを該ユーザへ伝送するステップであって、該トークンは、後に、該クライアントデバイスによって前記コンテンツサーバへ提供される、ステップと、該クライアントデバイスから該トークンを受信すると、該トークンを検証するステップと、該トークンの検証に失敗すると、該コンテンツ要求を拒否するステップと、該トークンの検証に成功すると、該要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを該クライアントデバイスへ伝送するステップとをさらに含む、実施形態１〜３に従った方法。
【００３７】
５．前記トークンを検証するステップは、前記トークン識別子を検証するステップと、該トークン内に含まれている前記開始タイムスタンプおよび前記終了タイムスタンプに基づいて、前記要求されたコンテンツを受信することを前記ユーザが現在認可されているかどうかを決定するステップとをさらに含む、実施形態１〜４に従った方法。
【００３８】
６．前記要求されたコンテンツの少なくとも一部を含む各ＥＭＦファイルを前記クライアントデバイスへ伝送するステップは、前記ユーザに関連付けられる前記キーファイルを前記キーサーバから取得するステップと、該キーファイルを使用して、前記要求されたコンテンツを含む少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に暗号化するステップと、該少なくとも１つの暗号化されたＥＭＦファイルの各々を前記クライアントデバイスへ伝送するステップとをさらに含む、実施形態１〜５に従った方法。
【００３９】
７．前記少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツプロバイダを実装するステップをさらに含み、該コンテンツプロバイダは、前記初期要求サーバ、認証サーバ、およびコンテンツサーバの各々を維持するように構成されている、実施形態１〜６に従った方法。
【００４０】
８．前記少なくとも１つのコンピューティングデバイス上のメモリ内にキーサービスプロバイダを実装するステップをさらに含み、該キーサービスプロバイダは、前記キーサーバおよびトークンサーバの各々を維持するように構成されている、実施形態１〜７に従った方法。
【００４１】
９．前記コンテンツの合計サイズに応じて、該コンテンツを複数のＥＭＦファイルに選択的に分割するステップと、前記ユーザによって要求されたときに、前記関連付けられたクライアントデバイスへ該コンテンツを、１度にＥＭＦファイルを１つ伝送するステップとをさらに含む、実施形態１〜８に従った方法。
【００４２】
１０．ピア‐トゥ‐ピアネットワークにおいて複数のクライアントデバイスを横切って前記複数のＥＭＦファイルの各々を格納するステップと、前記クライアントデバイスの利用可能性に基づいて、該クライアントデバイスから該複数のＥＭＦファイルの各々を選択的に検索するステップとをさらに含む、実施形態１〜９に従った方法。
【００４３】
１１．前記要求されたコンテンツを含む前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップをさらに含む、実施形態１〜１０に従った方法。
【００４４】
１２．前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、そのようなＥＭＦファイル各々について：該ＥＭＦファイルが、該ＥＭＦファイル内に２度以上出現する任意のＸＭＬタグを含んでいるかどうかを決定するステップと、該ＥＭＦファイル内に２度以上出現すると決定された各ＸＭＬタグについて：該ＸＭＬタグに一意のアドレスを割り振るステップと、ＸＭＬテーブル内に該アドレスおよび関連付けられたＸＭＬタグを格納するステップであって、該ＸＭＬテーブルは、該ＥＭＦファイルを後に展開するために使用される、ステップとをさらに含む、実施形態１〜１１に従った方法。
【００４５】
１３．前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、そのようなＥＭＦファイル各々について：該ＥＭＦファイルが、該ＥＭＦファイル内に２度以上出現する任意のデータを含んでいるかどうかを決定するステップと、該ＥＭＦファイル内に２度以上出現すると決定された任意のデータについて：該データに一意のアドレスを割り振るステップと、ＸＭＬテーブル内に該アドレスおよび関連付けられたデータを格納するステップであって、該ＸＭＬテーブルは、該ＥＭＦファイルを後に展開するために使用される、ステップとをさらに含む、実施形態１〜１２に従った方法。
【００４６】
１４．前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、そのようなＥＭＦファイル各々について：前記関連付けられたフレームページ内に格納された前記少なくとも１つのフレームの各々をスキャンするステップであって、該少なくとも１つのフレームは、前記コンテンツの少なくとも一部を表す複数のバイト値を含む、ステップと、ベースフレームとして該フレームのうちの第１のフレームを格納するステップと、該関連付けられたフレームページ内に格納された各追加フレームについて：該ベースフレームに含まれるバイト値と該追加フレームに含まれるバイト値との間の任意の差分を計算するステップと、該ベースフレームと比較して異なる、該追加フレームに含まれる該バイト値のみを含む差分フレームとして該追加フレームを格納するステップとをさらに含む、実施形態１〜１３に従った方法。
【００４７】
１５．前記複数のＥＭＦファイルのうちの少なくとも１つを圧縮するステップは、そのようなＥＭＦファイル各々について：前記関連付けられたフレームページ内に格納された前記少なくとも１つのフレームの各々をスキャンするステップであって、該少なくとも１つのフレームは、前記コンテンツの少なくとも一部を表す複数のバイト値を含む、ステップと、ベースフレームとして該フレームのうちの第１のフレームを格納するステップと、該関連付けられたフレームページ内に格納された各後続フレームについて：以前のフレームに含まれるバイト値と該後続フレームに含まれるバイト値との間の任意の差分を計算するステップと、該以前のフレームと比較して異なる、該後続フレームに含まれる該バイト値のみを含む差分フレームとして該後続フレームを格納するステップとをさらに含む、実施形態１〜１４に従った方法。
【００４８】
１６．前記コンテンツが、前記関連付けられたクライアントデバイスへ伝送される前に、識別目的のために、一意のユーザ固有のウォーターマークを該コンテンツ上へ選択的にオーバーレイするステップをさらに含む、実施形態１〜１５に従った方法。
【００４９】
１７．一意のウォーターマークをコンテンツ上へ選択的にオーバーレイするステップは、ユーザ固有の選択位置情報に基づいて、コンテンツに関係して、ウォーターマークを位置づけるステップをさらに含む、実施形態１〜１６に従った方法。
【００５０】
１８．拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのキーサーバを実装するステップであって、該キーサーバは、該ユーザに関連付けられる一意のキーファイルを作り出し格納するように構成されている、ステップと、少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると：該ユーザに関連付けられた該キーファイルを該キーサーバから取得するステップと、該キーファイルを使用して、該要求されたコンテンツを含む該少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に暗号化するステップと、該少なくとも１つの暗号化されたＥＭＦファイルの各々を該クライアントデバイスへ伝送するステップとを含む。
【００５１】
１９．拡張可能メディアフォーマットにおいてデジタルコンテンツを扱うための、コンピュータ実装される方法であって、該方法は、少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つの初期要求サーバを実装するステップであって、該初期要求サーバは、ユーザが所有している少なくとも１つのクライアントデバイスから、コンテンツについての要求を受信および処理するように構成されている、ステップと、該少なくとも１つのコンピューティングデバイス上のメモリ内に少なくとも１つのコンテンツサーバを実装するステップであって、該コンテンツサーバは、該コンテンツを格納および選択的に流通させるように構成されている、ステップと、少なくとも１つのテキストベースの拡張可能メディアフォーマット（「ＥＭＦ」）ファイル内に該コンテンツを格納するステップであって、各ＥＭＦファイルは、フレームページ識別子と少なくとも１つのフレームとを含むフレームページを含み、該フレームページ識別子は、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのＥＭＦファイルを連続して配置するために使用され、各フレームは、該クライアントデバイス上で該コンテンツを集合させるときに該少なくとも１つのフレームを連続して配置するために使用されるフレーム識別子と一緒に該コンテンツの少なくとも一部を含む、ステップと、該コンテンツを含む該少なくとも１つのＥＭＦファイルのうちの少なくとも１つを個々に圧縮するステップと、該初期要求サーバが、該関連付けられるクライアントデバイスを介して該ユーザからコンテンツ要求を受信すると、該要求されたコンテンツの少なくとも一部を含む該少なくとも１つの圧縮されたＥＭＦファイルの各々を該クライアントデバイスへ伝送するステップとを含む。
【００５２】
本明細書に示され記載されている本発明の例示的な実施形態に関して、拡張可能メディアフォーマットシステムが開示され、その拡張可能メディアフォーマットシステムは、拡張可能マークアップ言語（「ＸＭＬ」）を使用してデジタルコンテンツをコード化、格納、検索および送達するように構成されていることが認識される。本発明の原理が、示され記載されている構成を超えるいくつかの構成において実施され得るので、本発明は、例示的な実施形態によっていかなる限定もされないが、本発明は、概して、拡張可能メディアフォーマットを対象にしており、本発明の精神および範囲から逸脱することなくそうするための複数の形態をとることが可能であることが理解されるべきである。本発明が、開示されている構造の特定の幾何学形状および材料に限定されないが、代わりに、本発明の精神または範囲から逸脱することなく、現在公知のまたは後に開発される他の機能的に同等な構造または材料を必要とし得ることも当業者によって認識される。さらに、上述された実施形態の各々の様々な特徴は、任意の論理的手段で組み合わせられ得、本発明の範囲内に含まれるように意図される。
【００５３】
本発明の代替的な実施形態、要素、またはステップのグループ分けは、限定として解釈されるべきではない。各グループの元は、個々に、または本明細書に開示されている他のグループの元と任意に組み合わせて、参照および請求され得る。グループの１つ以上の元が、利便性および／または特許性の理由により、グループに包含されるかまたはグループから除去され得ることが予測される。任意のそのような包含または除去が起こるとき、改変されることにより、添付された特許請求の範囲に使用されている全てのマーカッシュグループの記載を満たすので、本明細書は、そのグループを含むとみなされる。
【００５４】
他の態様で指し示されない限り、本明細書および特許請求の範囲において使用されている特性、項目、量、パラメータ、特質、用語などを表す全ての数は、全ての例において用語「約」によって修飾されるものと理解されるべきである。本明細書において使用されると、用語「約」は、そのように修飾された特性、項目、量、パラメータ、特質または用語が、述べられている特性、項目、量、パラメータ、特質または用語の値の上下±１０パーセントの範囲を含むことを意味する。従って、反対に指し示されない限り、本明細書および添付の特許請求の範囲に記載されている数値パラメータなどは、変化し得る近似値である。少なくとも、均等論の特許請求の範囲への適用に限定しようという試みとしてではなく、各数的な指し示しは、少なくとも、いくつかの報告された有効数字を考慮して、通常の四捨五入技法を適用することによって、解釈されるべきである。本発明の広範囲に記載されている数的な範囲および値は、近似値であるにもかかわらず、特定の例に記載されている数的な範囲および値は、可能な限り正確に報告される。しかしながら、任意の数的な範囲または値は、本来的に、それらのそれぞれのテスト測定において見られる標準偏差に必然的に由来するある誤差を含む。本明細書における値の数的な範囲の列挙は、単に、範囲内に入っている別個の数値を個々に参照する簡単な方法として役立つように意図される。本明細書に他の態様で指し示されない限り、数的範囲の個々の値は、それが本明細書に個々に列挙されているかのように、本明細書に組み込まれる。
【００５５】
本発明を説明するコンテクストにおいて（特に、以下の特許請求の範囲のコンテクストにおいて）使用されている用語「ある（ａ）」、「ある（ａｎ）」、「その（ｔｈｅ）」および同様の指示語は、本明細書において他の態様で指し示されない限りまたはコンテクストによって明らかに矛盾しない限り、単数および複数の両方をカバーすると解釈されるべきである。本明細書に記載されている全ての方法は、本明細書において他の態様で指し示されない限りまたはコンテクストによって明らかに矛盾しない限り、任意の適した順序で行われることが可能である。ありとあらゆる例、または、本明細書に提供されている例示的な言語（例えば、「例えば（ｓｕｃｈ  ａｓ）」）の使用は、単に、本発明をより良く示すように意図され、他の態様で請求される本発明の範囲に対する限定を提起しない。本明細書において、本発明の実施に不可欠な任意の請求されない要素を指し示すものとして解釈されるべきである言語は、存在しない。
【００５６】
本明細書に開示されている特定の実施形態は、言語から成るかまたは言語から本質的に成るものを使用して特許請求の範囲においてさらに限定され得る。特許請求の範囲において使用される場合、補正のとおりに提出または追加されてようとなかろうと、転換語「から成る（ｃｏｎｓｉｓｔｉｎｇ  ｏｆ）」は、特許請求の範囲に特定されていない任意の要素、ステップまたは成分を排除する。転換語「から本質的に成る（ｃｏｎｓｉｓｔｉｎｇ  ｅｓｓｅｎｔｉａｌｌｙ  ｏｆ）」は、請求項の範囲を、特定された材料またはステップ、および、基本的かつ新規な特性（単数または複数）に物質的に影響を与えない材料またはステップに限定する。請求される本明細書の実施形態は、本来的にまたは明確に、本明細書に記載され、実施可能になる。
【００５７】
論理コード、プログラム、モジュール、処理、方法、および各方法のそれぞれの要素が行われる順序は、単に例示的なものである。実装に応じて、それらは、本開示において他の態様で指し示されない限り、任意の順序でまたは平行して行われ得る。論理コードは、任意の特定のプログラミング言語に関連しないかまたは限定されず、分散環境、非分散環境またはマルチプロセッシング環境において１つ以上のプロセッサ上で遂行する１つ以上のモジュールを含み得る。
【００５８】
上述された方法は、集積回路チップの製作において使用され得る。結果として生じる集積回路チップは、ベアダイとして未加工ウエハの形態（すなわち、複数のパッケージ化されていないチップを有する単一のウエハとして）において、またはパッケージ化された形態において、製作者によって分散されることが可能である。後者の場合、チップは、単一のチップパッケージ（例えば、マザーボードまたは他の高レベルキャリアに付着されるリードを有するプラスチックキャリア）に、またはマルチチップパッケージ（例えば、表面配線または埋設された配線の一方または両方を有するセラミックキャリア）に取り付けられる。いずれの場合も、チップは、次いで、（ａ）中間産物（例えば、マザーボード）または（ｂ）最終産物のどちらかの一部として、他のチップ、別々の回路要素および／または他の信号処理デバイスと一体化される。最終産物は、玩具および他の低級用途からディスプレイとキーボードまたは他の入力デバイスと中央処理装置とを有する進歩したコンピュータ製品までの範囲の、集積回路チップを含む任意の産物である可能性がある。
【００５９】
本明細書の局面は、少なくとも１つの例示的な実施形態を参照して記載されたが、本発明がそれらに限定されないことが当業者によって明白に理解されるべきである。むしろ、本発明の範囲は、添付されている特許請求の範囲と併せて解釈されるべきであり、ここで、請求される主題が本発明であると発明者（単数または複数）は信じていることが明白となる。
【図１】
0006470753.tif 000002
【図２】
0006470753.tif 000003
【図３】
0006470753.tif 000004
【図４】
0006470753.tif 000005
【図５】
0006470753.tif 000006
【図６】
0006470753.tif 000007
【図７】
0006470753.tif 000008