デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム
【課題】デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが開示される。
【解決手段】この方法およびシステムは、配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、補助データブロックは、配信されるデジタルデータユニットとは別個に記憶されているステップと、配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、配信されるデジタルデータユニットを変更済み帯域外データと共に送出するステップとを含む。
【解決手段】この方法およびシステムは、配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、補助データブロックは、配信されるデジタルデータユニットとは別個に記憶されているステップと、配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、配信されるデジタルデータユニットを変更済み帯域外データと共に送出するステップとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
背景
1.技術分野
本開示は、デジタルコンテンツの配信に関する。より詳細には、本開示は、デジタル配信の帯域外追跡の使用に関する。
【背景技術】
【0002】
2.関連技術
デジタル配信の出現により、インターネットを介してソフトウェアを配信する新たなビジネスモデルが生み出された。「トライアンドバイ(try and buy)」デジタル配信モデルでは、消費者は、購入判断をする前に、ソフトウェアの「トライアンドバイ」バージョンを体験版として使用することができる。このような「トライアンドバイ」バージョンは、購入後にアンロックされるソフトウェア実行可能ファイル(software executable)のロックダウンバージョンからなる。一般的な場合、エンドユーザまたは見込み客が、発行元のウェブサイトまたは汎用ウェブポータル(例えば、www.download.com、www.yahoo.com等、以下、ポータル)から無料で提供されている「トライアンドバイ」ソフトウェアアプリケーション(以下、インストーラ)をダウンロードすることができる。通常、「トライアンドバイ」インストーラをダウンロードしインストールしたユーザのうちのある割合のユーザは、ソフトウェア(またはサービス、またはそれに関連する定期的なサービス(subscription))を購入して、ソフトウェア製品の完全バージョンを取得する。したがって、ソフトウェアメーカーは、エンドユーザによるダウンロードに「トライアンドバイ」ソフトウェアを提供する動機を有する。ソフトウェアメーカーは、エンドユーザがダウンロードするこのような「トライアンドバイ」バージョンを自社のウェブサイトに設置することによってそれを行う。さらに、ソフトウェアメーカーは、ソフトウェアメーカーによって必ずしも制御されるわけではないポータルを介してこれらインストーラを配信することができる。ソフトウェア発行元の「トライアンドバイ」ビジネスモデルの背後にある動機は、消費者が「トライアンドバイ」ソフトウェアに関連する購入を行った場合に埋め合わせられることにある。さらに、ポータルは、「トライアンドバイ」インストーラがポータルサイトからダウンロードされた場合に埋め合わせられて、収益が生じるように、ソフトウェアメーカー、発行元、またはアグリゲータとの商取引契約を締結する。通常、ポータルは、消費者が支払った価格の収益シェアを得る。
【0003】
「トライアンドバイ」インストーラは、エンドユーザがソフトウェアアプリケーションの完全バージョンを購入するための手段を含む。購入取引の一環として、エンドユーザは、オンライン購入取引の様々なステップを実行するように指示され得る。このような指示は、例えば、1)経済的取引、例えば、P.O.ボックス xyzへの小切手郵送を完了し、ソフトウェアアプリケーションの完全バージョンを得るための指示を受け取るためのテキストでの説明、2)オンライン電子商取引(例えば、クレジットカードでの支払い)を実行するための指示または手段を含むURL、3)アプリケーション自体に内蔵された購入メカニズム、4)ソフトウェアアプリケーションのラッパーに内蔵された購入メカニズム、または5)これら指示の任意の組み合わせを含み得る。同じソフトウェア製品は、通常、複数の配信ネットワーク(例えば、複数のポータル)を介して配信されるため、どの配信ネットワークが特定の購入を担当したかを追跡する方法が必要である。どの配信ネットワークが特定の購入を担当したかを判断する一方法は、ソフトウェア製品の追跡可能バージョンを作成することである。追跡可能バージョンを作成する一方法は、購入指示内に配信ネットワークを識別する情報を含む、異なるインストーラを作成することからなる。例えば、ソフトウェア製品には、特定の配信ネットワークを識別する値を含む購入URL、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=abcが埋め込まれ得る。
【0004】
このようなURLを、変数「affiliate=abc」によって識別された配信ネットワークを介してのソフトウェア配信に使用することができる。同じソフトウェア製品が、別の配信ネットワーク(例えば、「affiliate=xyz」)を介して配信される場合、他の配信ネットワークを識別する購入URL、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=xyzが埋め込まれた、同じソフトウェア製品の別のバージョンを作成しなければならない。
【0005】
ソフトウェア発行元は、当業者に既知の様々な手段によって作成されたソフトウェアの異なる追跡可能バージョンを作成することができる。例えば、1)配信チャネルを識別する、異なる補助情報を含むソフトウェア実行可能ファイルのリコンパイル、2)購入プロセスの命令によって参照される補助ファイル、資源、またはデータへのこのような情報の包含、または3)上記の任意の組み合わせ。大半の場合、可能な限り効率的にプロセスをスケーリングできるように、ソフトウェアメーカーによる関与なしで、同じソフトウェア製品の異なる追跡可能バージョンを作成することが好ましい。それを行う可能な一方法は、インストーラが最初に実行されるときに、配信関連情報をインストーラの予め定義されたロケーションまたはファイルシステムのレジストリ内の予め定義されたロケーションに埋め込むことである。配信関連情報をインストーラに埋め込むことの一利点は、この方法では、ソフトウェアメーカーが配信ネットワーク毎にソフトウェアの特定のバージョンを作成する必要がないことである。それにも関わらず、増大し続ける数の配信ネットワークのそれぞれに異なるインストーラを作成し管理することは、非常に困難なタスクになっている。
【0006】
デジタル署名を実行可能ファイルに導入することにより、ソフトウェアメーカーおよびエンドユーザにセキュリティの恩恵が提供される。エンドユーザに対して、実行可能ファイルのデジタル署名は、実行可能ファイルが、通常はソフトウェアメーカーによって署名されてから決して変更されていないことを保証するツールを提供する。ソフトウェアメーカーにとっては、恩恵は、ソフトウェアが(例えば、実行可能ファイルに感染するコンピュータウィルスによって)変更または改ざんされる機会が少なく、結果として、サポートへの電話が少なくなり、かつソフトウェアへのユーザの信頼度が増すことと言い換えられる。Microsoft(登録商標)のWindows(登録商標)オペレーティングシステム実行可能ファイルには、デジタル署名が証明書の形態で実装される。実行可能ファイルのヘッダには、デジタル証明書の様々な属性にアクセスするための情報を含む証明書テーブルが提供される。ソフトウェアメーカーが実行可能ファイルファイルに署名すると、実行可能ファイルの内容は、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り容易に変更することができない。さらに、ウィルス、スパイウェア、および他のマルウェアの脅威が高まっているため、オペレーティングシステムおよびインターネットブラウザのベンダーは、実行可能ファイルがデジタル署名されていない場合には警告を発する可能性が高い。この結果として、確実に、実行可能ファイルと共にデジタル署名がさらに採り入れられ広く使用されることになるであろう。
【0007】
しかし、上述したように、異なる配信ネットワークにソフトウェア製品の異なるバージョンを作成することは非効率的である。さらに、実行可能ファイルのデジタル署名の完全性を破壊せずに実行可能ファイルの内容を変更することは非常に困難である。したがって、追跡可能なコピーの配信関連の補助情報を変更すると、デジタル署名が無効になるため、ソフトウェアメーカー以外の誰かがソフトウェア製品の追跡可能なコピーを作成することは非常に困難である。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが必要である。
【0009】
実施形態は、限定としてではなく例として添付図面の図に示される。
【図面の簡単な説明】
【0010】
図面の簡単な説明
【図1】補助情報が実行可能ファイルのヘッダ部に記憶された実施形態を示す。
【図2】各実行可能コードブロック内に異なる補助データを有する3つの異なるインストーラの例を示す。
【図3】各種実施形態において、様々な配信ネットワーク上での配信がどのようにして達成されるかの例を示す。
【図4】デジタル署名付き実行可能ファイルの典型的な構造を示す。
【図5】各種実施形態による変更されたデジタル署名付き実行可能ファイルを示す。
【図6】実施形態において実行される基本処理動作を示すフローチャートを示す。
【図7a】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図7b】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図8】実施形態例において実行される基本処理動作を示す流れ図である。
【図9】実施形態例において実行される基本処理動作を示す流れ図である。
【発明を実施するための形態】
【0011】
詳細な説明
デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムについて開示する。以下の説明では、多くの具体的な詳細が記される。しかし、実施形態がこれら具体的な詳細なしで実施可能なことが理解される。場合によっては、周知のプロセス、構造、および技法については、この説明の明確さを曖昧にしないように、詳細に示されていない。
【0012】
図1は、補助情報(例えば、配信情報)がインストーラの実行可能ファイルのヘッダ部に記憶された実施形態を示す。示すように、インストーラ110は、実行可能コードブロック120及びインストーラデータ130を含む。実行可能コードブロック120は、ヘッダ部122と、ヘッダ部内にある補助データ部124と、実行可能コードセクション126とで構成される。補助データ124は、配信関連情報、URL、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理(DRM)情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報が補助データ124に含まれ得ることが当業者には明らかであろう。このような補助情報124は、関連するインストーラ内で作成し、記憶し、転送することができる。インストーラ110内に補助データブロック124が与えられているため、特定のインストーラを特定のソフトウェア製品に作成することができる。例えば、同じソフトウェア製品は、複数の異なる特定のインストーラを使用して複数の異なる方法で配信することができ、各インストーラは、その特定の配信ネットワークの配信方法を定義する特定の補助データ124を有する。図2を参照すると、それぞれの実行可能コードブロック121、122、および123内に異なる補助データを有するこのような3つの異なるインストーラの例を示す。図2に示す3つの各インストーラ例は、特定の配信ネットワークでソフトウェア製品を配信するために使用することができ、インストーラデータ131が3つの異なるインストーラで同じであり、実行可能コードブロック121、122、および123のみが、各インストーラの異なる配信ネットワークを反映して異なることに留意する。
【0013】
図3を参照すると、例により、各種実施形態において、様々な配信ネットワーク上での配信がどのように達成されるかを示す。図3の例では、サーバ350はインストーラテンプレート340を含む。インストーラテンプレート340は、実行可能コードブロック321およびインストーラデータ331を含む。特定の配信ネットワーク(例えば、ネットワーク1)上で特定のソフトウェア製品をダウンロードする要求を受信すると、サーバ350は、配信ネットワーク(例えば、ネットワーク1)に固有の情報を生成し、その情報をインストーラテンプレート340のコピーに記憶する。次に、配信ネットワークに固有のインストーラ351を要求発信者に送信して、ソフトウェア製品を特定の配信ネットワーク上で配信することができる。同様に、他の配信ネットワークに固有のインストーラ352および353をインストーラテンプレート340から生成し、それら特定のダウンロード要求の発信者に送信することができる。このようにして、複数の配信ネットワークでソフトウェア製品を配信する効率的でスケーラブルなソリューションが提供される。
【0014】
ダウンロードされた実行可能ファイルにデジタル署名を使用することが、ますます一般的になりつつある。しかし、ソフトウェアメーカーが実行可能ファイルに一旦署名してしまうと、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り実行可能ファイルの内容を容易に変更することはできない。したがって、特定のソフトウェア製品をダウンロードするためのインストーラに補助情報を挿入することが困難になっている。それにも関わらず、本明細書において説明する各種実施形態は、より詳細に後述するように、この問題を解消する。
【0015】
図4を参照すると、デジタル署名付き実行可能ファイル401の典型的な構造を示す。ファイル401は、通常、周期的冗長検査(CRC)ブロック410、デジタル署名ポインタ412、デジタル署名サイズ414、変数データブロック416、デジタル署名ブロック420、および未使用部430を含む。当業者に周知のように、デジタル署名420は、ソフトウェア開発者の秘密鍵および信頼できる機関の秘密鍵と組み合わせて、変数データ416および実行可能ファイルのヘッダのハッシュから生成される。変数データ416は、実行可能ファイルのヘッダを含め、ファイル401内の略あらゆるコードまたはデータペイロードであることができる。通常、ダウンロード可能なソフトウェア製品および関連データは、変数データブロック416に記憶することができる。ソフトウェア製品が416の変数データブロックに記憶され、デジタル署名420が、変数データブロック416の内容から生成されると、変数データブロック416のいかなる部分も、デジタル署名420を無効にせずには変更することが非常に困難になる。生成されたデジタル署名420のサイズは、414のデジタル署名サイズブロックに記憶される。変数データブロック416のサイズは可変であることができるため、デジタル署名420へのポインタ413がデジタル署名ポインタブロック412に記憶される。デジタル署名付き実行可能ファイル401の典型的な実施では、CRCブロック410、デジタル署名ポインタ412、およびデジタル署名サイズ414は、デジタル署名420の計算に含まれない。したがって、ファイル401のこれらブロックは、デジタル署名420を無効にせずに変更することができる。
【0016】
図5を参照すると、各種実施形態による変更されたデジタル署名付き実行可能ファイル501を示す。ファイル501は、ブロック514内にあるデジタル署名サイズの値を変更することによって変更されている。デジタル署名サイズの値は、デジタル署名520のサイズをとり、これに未使用ブロック530のサイズを追加することによって変更されている。場合によっては、補助データブロック530をバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大(または低減)することが必要であり得る。場合によっては、予め補助データブロック530をゼロで埋めるか、またはデフォルト値を補助データブロック530の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、図5において矢印515で示されるように、デジタル署名サイズブロック514に記憶される。ブロック514内のデジタル署名サイズ値は、デジタル署名520の計算に含まれないため、ブロック514内のデジタル署名サイズの変更は、デジタル署名520を無効にしない。さらに、デジタル署名520の従来の構造により、追加のメモリ空間530をデジタル署名520の末尾に追加することも、デジタル署名520を無効にしない。未使用メモリ空間530をファイル501に追加することにより、第三者が補助データをブロック530に記憶することが可能になる。ブロック530に記憶された補助データは、様々な目的で使用することができる。例えば、ブロック530に記憶された補助データは、配信関連情報、URL、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理(DRM)情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報をブロック530に含めることができることが当業者には明らかであろう。このような補助情報は、デジタル署名520を無効にすることなく、ファイル501のブロック530内で作成し、記憶し、転送することができる。
【0017】
代替の実施形態では、CRCブロック510内のデータは、補助データで上書きすることができる。ブロック510内のCRC値はデジタル署名520の計算に含まれないため、ブロック510内のCRCデータの変更は、デジタル署名520を無効にしない。しかし、CRCブロック510のサイズは非常に制限される。ファイル501の構造の典型的な実施では、非常に小量の情報しかブロック510に記憶することができない。より大きな補助データブロックへのポインタ、リンク、またはインデックスをブロック510に記憶することができ、このような補助データは、ローカルロケーションまたはリモートロケーション(例えば、サーバ)に記憶される。
【0018】
図6を参照すると、フローチャートに、実施形態において実行される基本処理動作を示す。612のブロックにおいて、デジタル署名付きファイル501が読み出され、デジタル署名付きファイルヘッダにおけるデジタル署名ブロックおよびデジタル署名サイズブロックが識別される。ブロック614において、デジタル署名サイズが、デジタル署名サイズブロックから検索され、デジタル署名サイズ値が変更される。デジタル署名サイズの値は、デジタル署名のサイズ(すなわち、デジタル署名サイズブロック内の古い値)をとり、それに、補助データを記憶することができる未使用データブロックのサイズを追加することによって変更される。場合によっては、補助データブロックをバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大(または低減)することが必要であり得る。場合によっては、予め補助データブロック530をゼロで埋めるか、またはデフォルト値を補助データブロック530の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、処理ブロック616において、デジタル署名サイズブロックに記憶される。このデジタル署名付きファイル501に対応する補助データは、処理ブロック618において生成され、補助データブロック530に記憶される。処理ブロック620において、変更されたファイル501のCRC値をリコンパイルし、CRCブロック510に記憶することができる。各種実施形態により、補助データがデジタル署名付きファイル510内のブロック530に記憶されるため、第三者が、特定のソフトウェア製品に特定のインストーラを作成することができる。さらに、デジタル署名付きファイルは、デジタル権利管理ポリシー、アクセス制御、購入手順、または特定のデジタル署名付きファイル501に関連する様々な他のコンテンツ固有、当事者固有、または取引固有の情報を含むように変更することができる。
【0019】
図7aおよび図7bは、実施形態例の特徴を実施することができる、例示的なクライアントまたはサーバコンピュータシステムを示すコンピュータシステム200の例を示す。コンピュータシステム200は、情報を通信するためのバスまたは他の通信手段214および216と、情報を処理する、バス214に結合されたプロセッサ220等の処理手段とで構成される。コンピュータシステム200は、バス214に結合され、情報およびプロセッサ220によって実行される命令を記憶するランダムアクセスメモリ(RAM)または他の動的記憶装置222(一般にメインメモリと呼ばれる)をさらに備える。メインメモリ222は、プロセッサ220による命令の実行中に一時変数または他の中間情報を記憶するために使用することもできる。コンピュータシステム200は、バス214に結合され、静的情報およびプロセッサ220の命令を記憶する読み取り専用メモリ(ROM)および/または他の静的記憶装置224も備える。
【0020】
磁気ディスクまたは光ディスクおよび対応するドライブ等のオプションのデータ記憶装置228も、情報および命令を記憶するために、コンピュータシステム200に結合することができる。コンピュータシステム200は、情報をコンピュータユーザに表示する、陰極線管(CRT)または液晶ディスプレイ(LCD)等の表示装置204にバス216を介して結合することもできる。例えば、イメージ、テキスト、映像、または図による情報の説明を表示装置204上でユーザに提示することができる。通常、英数字および他のキーを含む英数字入力装置208が、情報および/またはコマンド選択をプロセッサ220に通信するために、バス216に結合される。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ220に通信し、ディスプレイ204上のカーソルの移動を制御する、従来のマウス、トラックボール、または他の種類のカーソル方向キー等のカーソル制御装置206である。
【0021】
通信装置226も、例えば、インターネットを介してリモートコンピュータまたはウェブサーバもしくは他のサーバ等のサーバにアクセスするために、バス216に結合することができる。通信装置226は、モデム、ネットワークインタフェースカード、またはイーサネット(登録商標)、トークンリング、ワイヤレスネットワーク、もしくは他の種類のネットワークとのインタフェースに使用されるような他の周知のインタフェース装置を含み得る。任意のイベントにおいて、このようにして、コンピュータシステム200は、従来のネットワークインフラを介していくつかのサーバに結合することができる。
【0022】
実施形態例のシステムは、上述したように、ソフトウェア、情報処理ハードウェア、および様々な処理ステップを含む。実施形態例の特徴および処理ステップは、機械実行可能命令またはコンピュータ実行可能命令で具現することができる。命令を使用して、命令がプログラムされた汎用プロセッサまたは専用プロセッサに、実施形態例のステップを実行させることができる。あるいは、特徴またはステップは、ステップを実行するハードワイヤードロジックを含む特定のハードウェア構成要素によって、またはプログラムされたコンピュータ構成要素とカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。実施形態はインターネットを参照して説明されたが、本明細書において説明した方法および装置は、他のネットワークインフラまたは他のデータ通信システムに等しく適用可能である。
【0023】
本明細書において説明された方法を説明された順またはいかなる特定の順でも実行する必要がないことに留意されたい。さらに、本明細書において識別された方法に関して説明された様々な活動は、反復的、同時に、再帰的、逐次、または並列に実行することが可能である。変数、コマンド、演算子、および他のデータを含む情報は、1つまたは複数の搬送波の形態で通信装置226を通して送受信することができる。
【0024】
この開示の内容を読み、理解した上で、当業者は、ソフトウェアプログラムをコンピュータベースのシステム内のコンピュータ可読媒体から起動して、上述したソフトウェアプログラムで定義された機能を実行することができる様式を理解するであろう。当業者は、本明細書に開示された方法を実施し実行するように設計された1つまたは複数のソフトウェアプログラムの作成に利用できる様々なプログラミング言語をさらに理解するであろう。プログラムは、Java(登録商標)、スモールトーク、またはC++等のオブジェクト指向言語を使用してオブジェクト指向形式で構造化することができる。あるいは、プログラムは、アセンブリまたはC等のプロシージャ言語を使用してプロシージャ指向形式で構造化することもできる。ソフトウェア構成要素は、アプリケーションプログラムインタフェースまたはリモートプロシージャコール等のプロセス間通信技法等の当業者に周知のいくつかのメカニズムのうちの任意のものを使用して通信することができる。各種実施形態の技法は、HTMLおよびXMLを含め、いかなる特定のプログラミング言語または環境にも制限されない。
【0025】
したがって、他の実施形態を実現することも可能である。例えば、図7aおよび図7bは、コンピュータ200、メモリシステム222、224、および228、磁気または光ディスク212、他のいくつかの記憶装置228、および/または任意の種類の電子装置もしくはシステム等の、各種実施形態による製品のブロック図を示す。製品200は、コンピュータ202によって実行されると、コンピュータ202に本明細書において説明した方法を実行させる関連する情報(例えば、コンピュータプログラム命令および/またはデータ)を有する、コンピュータ可読媒体212および/または記憶装置228(例えば、電気的、光学的、または電磁的な導体を有する有形メモリを含む固定記憶媒体および/またはリムーバブル記憶媒体)または搬送波に通信装置226を通して、結合されたコンピュータ202(1つまたは複数のプロセッサを有する)を含み得る。
【0026】
様々な実施形態について説明する。特に、様々な種類および形式のユーザインタフェース提示を有する実施形態の使用を説明し得る。本明細書において説明する実施の代替の実施形態も利用でき、それでもなお後述する特許請求の範囲内にあることが当業者には明らかであろう。本明細書での詳細では、様々な実施形態を、本明細書では「ソフトウェア」と記されることもあるコンピュータにより実施される処理ロジックで実施されるものとして説明する。しかし、上述したように、特許請求される本発明は、純粋にソフトウェア実施に限定されない。
【0027】
上述したように、補助データは署名付き実行可能ファイル内に埋め込むことができ、すでに存在するデジタル署名を破ることなく変更される。上述した教示は、このような補助データを、検証されたメッセージの一部として計算されないデジタル署名ディレクトリに埋め込むことを含んだ。その結果、説明した技法は、補助情報(例えば、配信ソース等)を使用して、ダウンロード(または製造)時にデジタル配信されるインストーラを個別化する効率的な方法を提供する。説明した技法の一利点は、補助情報をダウンロード時に実行可能ファイルに動的に挿入できることである。これにより、複数の配信者からなるデジタル配信ビジネスモデルにおいて、配信チャネルを追跡することができる。このようなビジネスモデルでは、特定のファイルのソースを、特定のファイルに関連する金銭または広告の取引またはイベント時にこのようなソースに補償できるように、識別可能なことが非常に望ましい。デジタル配信提供者が、ダウンロード可能なアセットのただ1つのバージョンを記憶し、このようなアセットのタグ付きコピーを効率的に作成することも非常に望ましい。動的(アフィリエイト)追跡により、デジタルアセットの単一のコピーを、ダウンロード時または遂行時に動的に個別化して、クレジット処理、報告または追跡のためにソース配信を識別することができる配信ネットワークを効率的に作成することができる。
【0028】
より詳細に後述する代替の実施形態では、デジタル配信の補助データを埋め込む、異なる方法について説明する。後述するこの実施形態は、デジタル署名付きファイルおよび署名なしファイルの両方に対して有用である。後述する実施形態は、実行可能ファイルおよび非実行可能デジタルコンテンツ(例えば、映像、音楽、文書等)両方にも有用である。本明細書において説明する代替の実施形態では、ファイルに関連付けられた、デジタル配信の補助データ(動的データとも呼ばれる)は、帯域外に埋め込まれ、または符号化される。したがって、ファイルの内容またはファイルのデジタル署名を変更することに代えて、補助データまたは補助データへの参照が、ファイルの内容またはファイルのデジタル署名の外部のロケーション(すなわち、帯域外)であるが、ファイルに密接に関連付けられたロケーションに記憶される。例えば、ファイルまたはデータストリーム名を使用して、ファイルに関連付けられた補助情報またはデジタル配信のデータストリームを保持することができる。特定の実施形態では、補助データはファイル名に符号化される。例えば、
元のファイル名:Video.Mpeg
埋め込む補助データ:channel1
ファイル名に埋め込む補助データ:_channel1
補助データと共に符号化される変更済みファイル名:Video_channel1.Mpeg
【0029】
上に示した例では、補助データは、ファイルに対して帯域外であるが、ファイルに密接に関連付けられたロケーションに符号化されている。符号化された補助データは、受信器において復号化して、関連付けられたファイルを適宜処理するために使用することができる。
【0030】
特定の実施形態では、補助データを作成し使用するために、2つのプロセスが使用される。第1のプロセスでは、注入プロセスが使用されて、補助データを帯域外データに加えるように、ファイルまたはデータストリームに関連付けられた帯域外データが変更される。特定の例では、注入プロセスは、元のファイル名を補助データまたは補助データへの参照と組み合わせて、変更済みファイル名を生成する。注入プロセスは、通常、ファイルダウンロード時または製造時に行われる(例えば、デジタル配信提供者によって制御されるサーバにおいて)。第2のプロセスでは、抽出プロセスが使用されて、ファイルまたはデータストリームに関連付けられた帯域外データが抽出または復号化される。抽出プロセスは、通常、ファイル消費時またはアクセス時に行われ、これは通常、プレーヤアプリケーション、実行可能ファイル、デジタル権利管理(DRM)システム、またはこれら要素の組み合わせを含むエンドユーザ装置で行われる。
【0031】
各種実施形態では、注入プロセスは、補助データの単純な符号化を含む。一実施形態では、符号化された補助データを、配信されるデジタルコンテンツの元の識別子(例えば、ファイル名)に連結することができる。当業者に既知のデータを送信または記憶のために符号化する多くの方法がある。符号化プロセスは、データ圧縮、暗号化、またはデータ完全性を検証するためのCRC(周期的冗長検査)の追加を含むこともできる。
【0032】
各種実施形態では、抽出プロセスは、データが埋め込まれるファイルまたは配信可能なコンテンツの種類に応じて、異なる様々な方法で実行することができる。これら異なる様々な方法としては、以下が挙げられる。
i.ファイルまたは配信可能コンテンツが受動(すなわち、非実行可能)ファイルの場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データを抽出し、抽出された補助データに準拠して適切な動作を実行できる抽出構成要素を含むことができる。
ii.ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データを抽出できる抽出構成要素は、実行可能ファイルの一部(例えば、Microsoft Windowsベースのシステムの場合、DLL)であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、抽出された補助データに準拠して適切な動作を実行することができる。
【0033】
各種実施形態では、補助データは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)とは別個かつファイルの内容またはデジタルコンテンツとは別個のロケーションに記憶される。例えば、補助データは、サーバまたはリモートデータベースに記憶することができる。この場合、補助データにアクセスするためのインデックスまたはリンクが、上述したように、配信されるデジタルコンテンツの識別子(例えば、ファイル名)に注入される。この例を以下に示す。
元のファイル名:Video.Mpeg
ファイルに関連付ける補助データ:
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
補助データはサーバに記憶され、
サーバリターンインデックス=0124a1
ファイル名に埋め込む補助データ:_0124a1
補助データと共に符号化される変更済みファイル名:
Video_0124a1.Mpeg
【0034】
上に示した例では、補助データへのインデックスまたはリンクは、注入プロセスにおいてファイル名に符号化されている。補助データはサーバに記憶されており、サーバは、抽出プロセス中に検索するために、記憶された補助データを一意に識別するインデックスまたはリンクを返す。上記例では、記憶された補助データは以下である。
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
【0035】
上に示した例では、補助データへのインデックスまたはリンク(例えば、0124a1)は、抽出プロセス中に使用されて、記憶された補助データが検索される。上述したように、補助データは、データまたはデータへのリンクが埋め込まれたファイルまたは配信可能コンテンツの種類に応じて、様々な異なる方法で抽出プロセス中に抽出することができる。
i.ファイルまたは配信可能コンテンツが受動(すなわち、非実行可能)ファイルである場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から、補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して、補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる抽出構成要素を含むことができる。
ii.ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データへのインデックスまたはリンクを抽出することができる抽出構成要素は、実行可能ファイルの一部(例えば、Microsoft Windowsベースのシステムの場合、DLL)であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる。
【0036】
これらの例では、抽出構成要素はまず、配信されるデジタルコンテンツの識別子(例えば、ファイル名)にアクセスし、補助データへのインデックスまたはリンクを検索する。次に、抽出構成要素は、インデックスまたはリンクを使用して、補助データが記憶されたサーバまたはデータベースから補助データを得る。抽出構成要素が補助データを検索すると、補助データを後で使用するために記憶することができる。
【0037】
図8および図9を参照すると、流れ図に、実施形態例において実行される基本処理動作を示す。
【0038】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが開示される。本発明をいくつかの実施形態例に関して説明したが、本発明が説明された実施形態に限定されず、添付の特許請求の範囲の趣旨および範囲内で変更および修正を加えて実施可能なことを当業者は認識するであろう。したがって、本明細書における説明は限定としてではなく例示としてみなされるべきである。
【技術分野】
【0001】
背景
1.技術分野
本開示は、デジタルコンテンツの配信に関する。より詳細には、本開示は、デジタル配信の帯域外追跡の使用に関する。
【背景技術】
【0002】
2.関連技術
デジタル配信の出現により、インターネットを介してソフトウェアを配信する新たなビジネスモデルが生み出された。「トライアンドバイ(try and buy)」デジタル配信モデルでは、消費者は、購入判断をする前に、ソフトウェアの「トライアンドバイ」バージョンを体験版として使用することができる。このような「トライアンドバイ」バージョンは、購入後にアンロックされるソフトウェア実行可能ファイル(software executable)のロックダウンバージョンからなる。一般的な場合、エンドユーザまたは見込み客が、発行元のウェブサイトまたは汎用ウェブポータル(例えば、www.download.com、www.yahoo.com等、以下、ポータル)から無料で提供されている「トライアンドバイ」ソフトウェアアプリケーション(以下、インストーラ)をダウンロードすることができる。通常、「トライアンドバイ」インストーラをダウンロードしインストールしたユーザのうちのある割合のユーザは、ソフトウェア(またはサービス、またはそれに関連する定期的なサービス(subscription))を購入して、ソフトウェア製品の完全バージョンを取得する。したがって、ソフトウェアメーカーは、エンドユーザによるダウンロードに「トライアンドバイ」ソフトウェアを提供する動機を有する。ソフトウェアメーカーは、エンドユーザがダウンロードするこのような「トライアンドバイ」バージョンを自社のウェブサイトに設置することによってそれを行う。さらに、ソフトウェアメーカーは、ソフトウェアメーカーによって必ずしも制御されるわけではないポータルを介してこれらインストーラを配信することができる。ソフトウェア発行元の「トライアンドバイ」ビジネスモデルの背後にある動機は、消費者が「トライアンドバイ」ソフトウェアに関連する購入を行った場合に埋め合わせられることにある。さらに、ポータルは、「トライアンドバイ」インストーラがポータルサイトからダウンロードされた場合に埋め合わせられて、収益が生じるように、ソフトウェアメーカー、発行元、またはアグリゲータとの商取引契約を締結する。通常、ポータルは、消費者が支払った価格の収益シェアを得る。
【0003】
「トライアンドバイ」インストーラは、エンドユーザがソフトウェアアプリケーションの完全バージョンを購入するための手段を含む。購入取引の一環として、エンドユーザは、オンライン購入取引の様々なステップを実行するように指示され得る。このような指示は、例えば、1)経済的取引、例えば、P.O.ボックス xyzへの小切手郵送を完了し、ソフトウェアアプリケーションの完全バージョンを得るための指示を受け取るためのテキストでの説明、2)オンライン電子商取引(例えば、クレジットカードでの支払い)を実行するための指示または手段を含むURL、3)アプリケーション自体に内蔵された購入メカニズム、4)ソフトウェアアプリケーションのラッパーに内蔵された購入メカニズム、または5)これら指示の任意の組み合わせを含み得る。同じソフトウェア製品は、通常、複数の配信ネットワーク(例えば、複数のポータル)を介して配信されるため、どの配信ネットワークが特定の購入を担当したかを追跡する方法が必要である。どの配信ネットワークが特定の購入を担当したかを判断する一方法は、ソフトウェア製品の追跡可能バージョンを作成することである。追跡可能バージョンを作成する一方法は、購入指示内に配信ネットワークを識別する情報を含む、異なるインストーラを作成することからなる。例えば、ソフトウェア製品には、特定の配信ネットワークを識別する値を含む購入URL、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=abcが埋め込まれ得る。
【0004】
このようなURLを、変数「affiliate=abc」によって識別された配信ネットワークを介してのソフトウェア配信に使用することができる。同じソフトウェア製品が、別の配信ネットワーク(例えば、「affiliate=xyz」)を介して配信される場合、他の配信ネットワークを識別する購入URL、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=xyzが埋め込まれた、同じソフトウェア製品の別のバージョンを作成しなければならない。
【0005】
ソフトウェア発行元は、当業者に既知の様々な手段によって作成されたソフトウェアの異なる追跡可能バージョンを作成することができる。例えば、1)配信チャネルを識別する、異なる補助情報を含むソフトウェア実行可能ファイルのリコンパイル、2)購入プロセスの命令によって参照される補助ファイル、資源、またはデータへのこのような情報の包含、または3)上記の任意の組み合わせ。大半の場合、可能な限り効率的にプロセスをスケーリングできるように、ソフトウェアメーカーによる関与なしで、同じソフトウェア製品の異なる追跡可能バージョンを作成することが好ましい。それを行う可能な一方法は、インストーラが最初に実行されるときに、配信関連情報をインストーラの予め定義されたロケーションまたはファイルシステムのレジストリ内の予め定義されたロケーションに埋め込むことである。配信関連情報をインストーラに埋め込むことの一利点は、この方法では、ソフトウェアメーカーが配信ネットワーク毎にソフトウェアの特定のバージョンを作成する必要がないことである。それにも関わらず、増大し続ける数の配信ネットワークのそれぞれに異なるインストーラを作成し管理することは、非常に困難なタスクになっている。
【0006】
デジタル署名を実行可能ファイルに導入することにより、ソフトウェアメーカーおよびエンドユーザにセキュリティの恩恵が提供される。エンドユーザに対して、実行可能ファイルのデジタル署名は、実行可能ファイルが、通常はソフトウェアメーカーによって署名されてから決して変更されていないことを保証するツールを提供する。ソフトウェアメーカーにとっては、恩恵は、ソフトウェアが(例えば、実行可能ファイルに感染するコンピュータウィルスによって)変更または改ざんされる機会が少なく、結果として、サポートへの電話が少なくなり、かつソフトウェアへのユーザの信頼度が増すことと言い換えられる。Microsoft(登録商標)のWindows(登録商標)オペレーティングシステム実行可能ファイルには、デジタル署名が証明書の形態で実装される。実行可能ファイルのヘッダには、デジタル証明書の様々な属性にアクセスするための情報を含む証明書テーブルが提供される。ソフトウェアメーカーが実行可能ファイルファイルに署名すると、実行可能ファイルの内容は、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り容易に変更することができない。さらに、ウィルス、スパイウェア、および他のマルウェアの脅威が高まっているため、オペレーティングシステムおよびインターネットブラウザのベンダーは、実行可能ファイルがデジタル署名されていない場合には警告を発する可能性が高い。この結果として、確実に、実行可能ファイルと共にデジタル署名がさらに採り入れられ広く使用されることになるであろう。
【0007】
しかし、上述したように、異なる配信ネットワークにソフトウェア製品の異なるバージョンを作成することは非効率的である。さらに、実行可能ファイルのデジタル署名の完全性を破壊せずに実行可能ファイルの内容を変更することは非常に困難である。したがって、追跡可能なコピーの配信関連の補助情報を変更すると、デジタル署名が無効になるため、ソフトウェアメーカー以外の誰かがソフトウェア製品の追跡可能なコピーを作成することは非常に困難である。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが必要である。
【0009】
実施形態は、限定としてではなく例として添付図面の図に示される。
【図面の簡単な説明】
【0010】
図面の簡単な説明
【図1】補助情報が実行可能ファイルのヘッダ部に記憶された実施形態を示す。
【図2】各実行可能コードブロック内に異なる補助データを有する3つの異なるインストーラの例を示す。
【図3】各種実施形態において、様々な配信ネットワーク上での配信がどのようにして達成されるかの例を示す。
【図4】デジタル署名付き実行可能ファイルの典型的な構造を示す。
【図5】各種実施形態による変更されたデジタル署名付き実行可能ファイルを示す。
【図6】実施形態において実行される基本処理動作を示すフローチャートを示す。
【図7a】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図7b】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図8】実施形態例において実行される基本処理動作を示す流れ図である。
【図9】実施形態例において実行される基本処理動作を示す流れ図である。
【発明を実施するための形態】
【0011】
詳細な説明
デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムについて開示する。以下の説明では、多くの具体的な詳細が記される。しかし、実施形態がこれら具体的な詳細なしで実施可能なことが理解される。場合によっては、周知のプロセス、構造、および技法については、この説明の明確さを曖昧にしないように、詳細に示されていない。
【0012】
図1は、補助情報(例えば、配信情報)がインストーラの実行可能ファイルのヘッダ部に記憶された実施形態を示す。示すように、インストーラ110は、実行可能コードブロック120及びインストーラデータ130を含む。実行可能コードブロック120は、ヘッダ部122と、ヘッダ部内にある補助データ部124と、実行可能コードセクション126とで構成される。補助データ124は、配信関連情報、URL、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理(DRM)情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報が補助データ124に含まれ得ることが当業者には明らかであろう。このような補助情報124は、関連するインストーラ内で作成し、記憶し、転送することができる。インストーラ110内に補助データブロック124が与えられているため、特定のインストーラを特定のソフトウェア製品に作成することができる。例えば、同じソフトウェア製品は、複数の異なる特定のインストーラを使用して複数の異なる方法で配信することができ、各インストーラは、その特定の配信ネットワークの配信方法を定義する特定の補助データ124を有する。図2を参照すると、それぞれの実行可能コードブロック121、122、および123内に異なる補助データを有するこのような3つの異なるインストーラの例を示す。図2に示す3つの各インストーラ例は、特定の配信ネットワークでソフトウェア製品を配信するために使用することができ、インストーラデータ131が3つの異なるインストーラで同じであり、実行可能コードブロック121、122、および123のみが、各インストーラの異なる配信ネットワークを反映して異なることに留意する。
【0013】
図3を参照すると、例により、各種実施形態において、様々な配信ネットワーク上での配信がどのように達成されるかを示す。図3の例では、サーバ350はインストーラテンプレート340を含む。インストーラテンプレート340は、実行可能コードブロック321およびインストーラデータ331を含む。特定の配信ネットワーク(例えば、ネットワーク1)上で特定のソフトウェア製品をダウンロードする要求を受信すると、サーバ350は、配信ネットワーク(例えば、ネットワーク1)に固有の情報を生成し、その情報をインストーラテンプレート340のコピーに記憶する。次に、配信ネットワークに固有のインストーラ351を要求発信者に送信して、ソフトウェア製品を特定の配信ネットワーク上で配信することができる。同様に、他の配信ネットワークに固有のインストーラ352および353をインストーラテンプレート340から生成し、それら特定のダウンロード要求の発信者に送信することができる。このようにして、複数の配信ネットワークでソフトウェア製品を配信する効率的でスケーラブルなソリューションが提供される。
【0014】
ダウンロードされた実行可能ファイルにデジタル署名を使用することが、ますます一般的になりつつある。しかし、ソフトウェアメーカーが実行可能ファイルに一旦署名してしまうと、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り実行可能ファイルの内容を容易に変更することはできない。したがって、特定のソフトウェア製品をダウンロードするためのインストーラに補助情報を挿入することが困難になっている。それにも関わらず、本明細書において説明する各種実施形態は、より詳細に後述するように、この問題を解消する。
【0015】
図4を参照すると、デジタル署名付き実行可能ファイル401の典型的な構造を示す。ファイル401は、通常、周期的冗長検査(CRC)ブロック410、デジタル署名ポインタ412、デジタル署名サイズ414、変数データブロック416、デジタル署名ブロック420、および未使用部430を含む。当業者に周知のように、デジタル署名420は、ソフトウェア開発者の秘密鍵および信頼できる機関の秘密鍵と組み合わせて、変数データ416および実行可能ファイルのヘッダのハッシュから生成される。変数データ416は、実行可能ファイルのヘッダを含め、ファイル401内の略あらゆるコードまたはデータペイロードであることができる。通常、ダウンロード可能なソフトウェア製品および関連データは、変数データブロック416に記憶することができる。ソフトウェア製品が416の変数データブロックに記憶され、デジタル署名420が、変数データブロック416の内容から生成されると、変数データブロック416のいかなる部分も、デジタル署名420を無効にせずには変更することが非常に困難になる。生成されたデジタル署名420のサイズは、414のデジタル署名サイズブロックに記憶される。変数データブロック416のサイズは可変であることができるため、デジタル署名420へのポインタ413がデジタル署名ポインタブロック412に記憶される。デジタル署名付き実行可能ファイル401の典型的な実施では、CRCブロック410、デジタル署名ポインタ412、およびデジタル署名サイズ414は、デジタル署名420の計算に含まれない。したがって、ファイル401のこれらブロックは、デジタル署名420を無効にせずに変更することができる。
【0016】
図5を参照すると、各種実施形態による変更されたデジタル署名付き実行可能ファイル501を示す。ファイル501は、ブロック514内にあるデジタル署名サイズの値を変更することによって変更されている。デジタル署名サイズの値は、デジタル署名520のサイズをとり、これに未使用ブロック530のサイズを追加することによって変更されている。場合によっては、補助データブロック530をバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大(または低減)することが必要であり得る。場合によっては、予め補助データブロック530をゼロで埋めるか、またはデフォルト値を補助データブロック530の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、図5において矢印515で示されるように、デジタル署名サイズブロック514に記憶される。ブロック514内のデジタル署名サイズ値は、デジタル署名520の計算に含まれないため、ブロック514内のデジタル署名サイズの変更は、デジタル署名520を無効にしない。さらに、デジタル署名520の従来の構造により、追加のメモリ空間530をデジタル署名520の末尾に追加することも、デジタル署名520を無効にしない。未使用メモリ空間530をファイル501に追加することにより、第三者が補助データをブロック530に記憶することが可能になる。ブロック530に記憶された補助データは、様々な目的で使用することができる。例えば、ブロック530に記憶された補助データは、配信関連情報、URL、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理(DRM)情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報をブロック530に含めることができることが当業者には明らかであろう。このような補助情報は、デジタル署名520を無効にすることなく、ファイル501のブロック530内で作成し、記憶し、転送することができる。
【0017】
代替の実施形態では、CRCブロック510内のデータは、補助データで上書きすることができる。ブロック510内のCRC値はデジタル署名520の計算に含まれないため、ブロック510内のCRCデータの変更は、デジタル署名520を無効にしない。しかし、CRCブロック510のサイズは非常に制限される。ファイル501の構造の典型的な実施では、非常に小量の情報しかブロック510に記憶することができない。より大きな補助データブロックへのポインタ、リンク、またはインデックスをブロック510に記憶することができ、このような補助データは、ローカルロケーションまたはリモートロケーション(例えば、サーバ)に記憶される。
【0018】
図6を参照すると、フローチャートに、実施形態において実行される基本処理動作を示す。612のブロックにおいて、デジタル署名付きファイル501が読み出され、デジタル署名付きファイルヘッダにおけるデジタル署名ブロックおよびデジタル署名サイズブロックが識別される。ブロック614において、デジタル署名サイズが、デジタル署名サイズブロックから検索され、デジタル署名サイズ値が変更される。デジタル署名サイズの値は、デジタル署名のサイズ(すなわち、デジタル署名サイズブロック内の古い値)をとり、それに、補助データを記憶することができる未使用データブロックのサイズを追加することによって変更される。場合によっては、補助データブロックをバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大(または低減)することが必要であり得る。場合によっては、予め補助データブロック530をゼロで埋めるか、またはデフォルト値を補助データブロック530の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、処理ブロック616において、デジタル署名サイズブロックに記憶される。このデジタル署名付きファイル501に対応する補助データは、処理ブロック618において生成され、補助データブロック530に記憶される。処理ブロック620において、変更されたファイル501のCRC値をリコンパイルし、CRCブロック510に記憶することができる。各種実施形態により、補助データがデジタル署名付きファイル510内のブロック530に記憶されるため、第三者が、特定のソフトウェア製品に特定のインストーラを作成することができる。さらに、デジタル署名付きファイルは、デジタル権利管理ポリシー、アクセス制御、購入手順、または特定のデジタル署名付きファイル501に関連する様々な他のコンテンツ固有、当事者固有、または取引固有の情報を含むように変更することができる。
【0019】
図7aおよび図7bは、実施形態例の特徴を実施することができる、例示的なクライアントまたはサーバコンピュータシステムを示すコンピュータシステム200の例を示す。コンピュータシステム200は、情報を通信するためのバスまたは他の通信手段214および216と、情報を処理する、バス214に結合されたプロセッサ220等の処理手段とで構成される。コンピュータシステム200は、バス214に結合され、情報およびプロセッサ220によって実行される命令を記憶するランダムアクセスメモリ(RAM)または他の動的記憶装置222(一般にメインメモリと呼ばれる)をさらに備える。メインメモリ222は、プロセッサ220による命令の実行中に一時変数または他の中間情報を記憶するために使用することもできる。コンピュータシステム200は、バス214に結合され、静的情報およびプロセッサ220の命令を記憶する読み取り専用メモリ(ROM)および/または他の静的記憶装置224も備える。
【0020】
磁気ディスクまたは光ディスクおよび対応するドライブ等のオプションのデータ記憶装置228も、情報および命令を記憶するために、コンピュータシステム200に結合することができる。コンピュータシステム200は、情報をコンピュータユーザに表示する、陰極線管(CRT)または液晶ディスプレイ(LCD)等の表示装置204にバス216を介して結合することもできる。例えば、イメージ、テキスト、映像、または図による情報の説明を表示装置204上でユーザに提示することができる。通常、英数字および他のキーを含む英数字入力装置208が、情報および/またはコマンド選択をプロセッサ220に通信するために、バス216に結合される。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ220に通信し、ディスプレイ204上のカーソルの移動を制御する、従来のマウス、トラックボール、または他の種類のカーソル方向キー等のカーソル制御装置206である。
【0021】
通信装置226も、例えば、インターネットを介してリモートコンピュータまたはウェブサーバもしくは他のサーバ等のサーバにアクセスするために、バス216に結合することができる。通信装置226は、モデム、ネットワークインタフェースカード、またはイーサネット(登録商標)、トークンリング、ワイヤレスネットワーク、もしくは他の種類のネットワークとのインタフェースに使用されるような他の周知のインタフェース装置を含み得る。任意のイベントにおいて、このようにして、コンピュータシステム200は、従来のネットワークインフラを介していくつかのサーバに結合することができる。
【0022】
実施形態例のシステムは、上述したように、ソフトウェア、情報処理ハードウェア、および様々な処理ステップを含む。実施形態例の特徴および処理ステップは、機械実行可能命令またはコンピュータ実行可能命令で具現することができる。命令を使用して、命令がプログラムされた汎用プロセッサまたは専用プロセッサに、実施形態例のステップを実行させることができる。あるいは、特徴またはステップは、ステップを実行するハードワイヤードロジックを含む特定のハードウェア構成要素によって、またはプログラムされたコンピュータ構成要素とカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。実施形態はインターネットを参照して説明されたが、本明細書において説明した方法および装置は、他のネットワークインフラまたは他のデータ通信システムに等しく適用可能である。
【0023】
本明細書において説明された方法を説明された順またはいかなる特定の順でも実行する必要がないことに留意されたい。さらに、本明細書において識別された方法に関して説明された様々な活動は、反復的、同時に、再帰的、逐次、または並列に実行することが可能である。変数、コマンド、演算子、および他のデータを含む情報は、1つまたは複数の搬送波の形態で通信装置226を通して送受信することができる。
【0024】
この開示の内容を読み、理解した上で、当業者は、ソフトウェアプログラムをコンピュータベースのシステム内のコンピュータ可読媒体から起動して、上述したソフトウェアプログラムで定義された機能を実行することができる様式を理解するであろう。当業者は、本明細書に開示された方法を実施し実行するように設計された1つまたは複数のソフトウェアプログラムの作成に利用できる様々なプログラミング言語をさらに理解するであろう。プログラムは、Java(登録商標)、スモールトーク、またはC++等のオブジェクト指向言語を使用してオブジェクト指向形式で構造化することができる。あるいは、プログラムは、アセンブリまたはC等のプロシージャ言語を使用してプロシージャ指向形式で構造化することもできる。ソフトウェア構成要素は、アプリケーションプログラムインタフェースまたはリモートプロシージャコール等のプロセス間通信技法等の当業者に周知のいくつかのメカニズムのうちの任意のものを使用して通信することができる。各種実施形態の技法は、HTMLおよびXMLを含め、いかなる特定のプログラミング言語または環境にも制限されない。
【0025】
したがって、他の実施形態を実現することも可能である。例えば、図7aおよび図7bは、コンピュータ200、メモリシステム222、224、および228、磁気または光ディスク212、他のいくつかの記憶装置228、および/または任意の種類の電子装置もしくはシステム等の、各種実施形態による製品のブロック図を示す。製品200は、コンピュータ202によって実行されると、コンピュータ202に本明細書において説明した方法を実行させる関連する情報(例えば、コンピュータプログラム命令および/またはデータ)を有する、コンピュータ可読媒体212および/または記憶装置228(例えば、電気的、光学的、または電磁的な導体を有する有形メモリを含む固定記憶媒体および/またはリムーバブル記憶媒体)または搬送波に通信装置226を通して、結合されたコンピュータ202(1つまたは複数のプロセッサを有する)を含み得る。
【0026】
様々な実施形態について説明する。特に、様々な種類および形式のユーザインタフェース提示を有する実施形態の使用を説明し得る。本明細書において説明する実施の代替の実施形態も利用でき、それでもなお後述する特許請求の範囲内にあることが当業者には明らかであろう。本明細書での詳細では、様々な実施形態を、本明細書では「ソフトウェア」と記されることもあるコンピュータにより実施される処理ロジックで実施されるものとして説明する。しかし、上述したように、特許請求される本発明は、純粋にソフトウェア実施に限定されない。
【0027】
上述したように、補助データは署名付き実行可能ファイル内に埋め込むことができ、すでに存在するデジタル署名を破ることなく変更される。上述した教示は、このような補助データを、検証されたメッセージの一部として計算されないデジタル署名ディレクトリに埋め込むことを含んだ。その結果、説明した技法は、補助情報(例えば、配信ソース等)を使用して、ダウンロード(または製造)時にデジタル配信されるインストーラを個別化する効率的な方法を提供する。説明した技法の一利点は、補助情報をダウンロード時に実行可能ファイルに動的に挿入できることである。これにより、複数の配信者からなるデジタル配信ビジネスモデルにおいて、配信チャネルを追跡することができる。このようなビジネスモデルでは、特定のファイルのソースを、特定のファイルに関連する金銭または広告の取引またはイベント時にこのようなソースに補償できるように、識別可能なことが非常に望ましい。デジタル配信提供者が、ダウンロード可能なアセットのただ1つのバージョンを記憶し、このようなアセットのタグ付きコピーを効率的に作成することも非常に望ましい。動的(アフィリエイト)追跡により、デジタルアセットの単一のコピーを、ダウンロード時または遂行時に動的に個別化して、クレジット処理、報告または追跡のためにソース配信を識別することができる配信ネットワークを効率的に作成することができる。
【0028】
より詳細に後述する代替の実施形態では、デジタル配信の補助データを埋め込む、異なる方法について説明する。後述するこの実施形態は、デジタル署名付きファイルおよび署名なしファイルの両方に対して有用である。後述する実施形態は、実行可能ファイルおよび非実行可能デジタルコンテンツ(例えば、映像、音楽、文書等)両方にも有用である。本明細書において説明する代替の実施形態では、ファイルに関連付けられた、デジタル配信の補助データ(動的データとも呼ばれる)は、帯域外に埋め込まれ、または符号化される。したがって、ファイルの内容またはファイルのデジタル署名を変更することに代えて、補助データまたは補助データへの参照が、ファイルの内容またはファイルのデジタル署名の外部のロケーション(すなわち、帯域外)であるが、ファイルに密接に関連付けられたロケーションに記憶される。例えば、ファイルまたはデータストリーム名を使用して、ファイルに関連付けられた補助情報またはデジタル配信のデータストリームを保持することができる。特定の実施形態では、補助データはファイル名に符号化される。例えば、
元のファイル名:Video.Mpeg
埋め込む補助データ:channel1
ファイル名に埋め込む補助データ:_channel1
補助データと共に符号化される変更済みファイル名:Video_channel1.Mpeg
【0029】
上に示した例では、補助データは、ファイルに対して帯域外であるが、ファイルに密接に関連付けられたロケーションに符号化されている。符号化された補助データは、受信器において復号化して、関連付けられたファイルを適宜処理するために使用することができる。
【0030】
特定の実施形態では、補助データを作成し使用するために、2つのプロセスが使用される。第1のプロセスでは、注入プロセスが使用されて、補助データを帯域外データに加えるように、ファイルまたはデータストリームに関連付けられた帯域外データが変更される。特定の例では、注入プロセスは、元のファイル名を補助データまたは補助データへの参照と組み合わせて、変更済みファイル名を生成する。注入プロセスは、通常、ファイルダウンロード時または製造時に行われる(例えば、デジタル配信提供者によって制御されるサーバにおいて)。第2のプロセスでは、抽出プロセスが使用されて、ファイルまたはデータストリームに関連付けられた帯域外データが抽出または復号化される。抽出プロセスは、通常、ファイル消費時またはアクセス時に行われ、これは通常、プレーヤアプリケーション、実行可能ファイル、デジタル権利管理(DRM)システム、またはこれら要素の組み合わせを含むエンドユーザ装置で行われる。
【0031】
各種実施形態では、注入プロセスは、補助データの単純な符号化を含む。一実施形態では、符号化された補助データを、配信されるデジタルコンテンツの元の識別子(例えば、ファイル名)に連結することができる。当業者に既知のデータを送信または記憶のために符号化する多くの方法がある。符号化プロセスは、データ圧縮、暗号化、またはデータ完全性を検証するためのCRC(周期的冗長検査)の追加を含むこともできる。
【0032】
各種実施形態では、抽出プロセスは、データが埋め込まれるファイルまたは配信可能なコンテンツの種類に応じて、異なる様々な方法で実行することができる。これら異なる様々な方法としては、以下が挙げられる。
i.ファイルまたは配信可能コンテンツが受動(すなわち、非実行可能)ファイルの場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データを抽出し、抽出された補助データに準拠して適切な動作を実行できる抽出構成要素を含むことができる。
ii.ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データを抽出できる抽出構成要素は、実行可能ファイルの一部(例えば、Microsoft Windowsベースのシステムの場合、DLL)であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、抽出された補助データに準拠して適切な動作を実行することができる。
【0033】
各種実施形態では、補助データは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)とは別個かつファイルの内容またはデジタルコンテンツとは別個のロケーションに記憶される。例えば、補助データは、サーバまたはリモートデータベースに記憶することができる。この場合、補助データにアクセスするためのインデックスまたはリンクが、上述したように、配信されるデジタルコンテンツの識別子(例えば、ファイル名)に注入される。この例を以下に示す。
元のファイル名:Video.Mpeg
ファイルに関連付ける補助データ:
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
補助データはサーバに記憶され、
サーバリターンインデックス=0124a1
ファイル名に埋め込む補助データ:_0124a1
補助データと共に符号化される変更済みファイル名:
Video_0124a1.Mpeg
【0034】
上に示した例では、補助データへのインデックスまたはリンクは、注入プロセスにおいてファイル名に符号化されている。補助データはサーバに記憶されており、サーバは、抽出プロセス中に検索するために、記憶された補助データを一意に識別するインデックスまたはリンクを返す。上記例では、記憶された補助データは以下である。
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
【0035】
上に示した例では、補助データへのインデックスまたはリンク(例えば、0124a1)は、抽出プロセス中に使用されて、記憶された補助データが検索される。上述したように、補助データは、データまたはデータへのリンクが埋め込まれたファイルまたは配信可能コンテンツの種類に応じて、様々な異なる方法で抽出プロセス中に抽出することができる。
i.ファイルまたは配信可能コンテンツが受動(すなわち、非実行可能)ファイルである場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から、補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して、補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる抽出構成要素を含むことができる。
ii.ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データへのインデックスまたはリンクを抽出することができる抽出構成要素は、実行可能ファイルの一部(例えば、Microsoft Windowsベースのシステムの場合、DLL)であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、配信されるデジタルコンテンツの識別子(例えば、ファイル名)から補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる。
【0036】
これらの例では、抽出構成要素はまず、配信されるデジタルコンテンツの識別子(例えば、ファイル名)にアクセスし、補助データへのインデックスまたはリンクを検索する。次に、抽出構成要素は、インデックスまたはリンクを使用して、補助データが記憶されたサーバまたはデータベースから補助データを得る。抽出構成要素が補助データを検索すると、補助データを後で使用するために記憶することができる。
【0037】
図8および図9を参照すると、流れ図に、実施形態例において実行される基本処理動作を示す。
【0038】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが開示される。本発明をいくつかの実施形態例に関して説明したが、本発明が説明された実施形態に限定されず、添付の特許請求の範囲の趣旨および範囲内で変更および修正を加えて実施可能なことを当業者は認識するであろう。したがって、本明細書における説明は限定としてではなく例示としてみなされるべきである。
【特許請求の範囲】
【請求項1】
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を含む、方法。
【請求項2】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成することを含む、請求項1に記載の方法。
【請求項3】
前記帯域外データはファイル名である、請求項1に記載の方法。
【請求項4】
前記帯域外データはデータストリーム識別子である、請求項1に記載の方法。
【請求項5】
前記配信されるデジタルデータユニットはファイルである、請求項1に記載の方法。
【請求項6】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項1に記載の方法。
【請求項7】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項1に記載の方法。
【請求項8】
前記補助データは配信ネットワーク情報を含む、請求項1に記載の方法。
【請求項9】
前記補助データはタイムスタンプを含む、請求項1に記載の方法。
【請求項10】
前記補助データブロックを示す情報はインデックスである、請求項1に記載の方法。
【請求項11】
機械によってアクセスされると、前記機械に、
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項12】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成するように動作可能である、請求項11に記載の製品。
【請求項13】
前記帯域外データはファイル名である、請求項11に記載の製品。
【請求項14】
前記帯域外データはデータストリーム識別子である、請求項11に記載の製品。
【請求項15】
前記配信されるデジタルデータユニットはファイルである、請求項11に記載の製品。
【請求項16】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項11に記載の製品。
【請求項17】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項11に記載の製品。
【請求項18】
前記補助データは配信ネットワーク情報を含む、請求項11に記載の製品。
【請求項19】
前記補助データはタイムスタンプを含む、請求項11に記載の製品。
【請求項20】
前記補助データブロックを示す情報はインデックスである、請求項11に記載の製品。
【請求項21】
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されている、ステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を含む、方法。
【請求項22】
前記帯域外データはファイル名である、請求項21に記載の方法。
【請求項23】
配信されるデジタルデータユニットはファイルである、請求項21に記載の方法。
【請求項24】
前記補助データは配信ネットワーク情報を含む、請求項21に記載の方法。
【請求項25】
機械によってアクセスされると、前記機械に、
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されているステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項26】
前記帯域外データはファイル名である、請求項25に記載の製品。
【請求項27】
配信されるデジタルデータユニットはファイルである、請求項25に記載の製品。
【請求項28】
前記補助データは配信ネットワーク情報を含む、請求項25に記載の製品。
【請求項1】
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を含む、方法。
【請求項2】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成することを含む、請求項1に記載の方法。
【請求項3】
前記帯域外データはファイル名である、請求項1に記載の方法。
【請求項4】
前記帯域外データはデータストリーム識別子である、請求項1に記載の方法。
【請求項5】
前記配信されるデジタルデータユニットはファイルである、請求項1に記載の方法。
【請求項6】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項1に記載の方法。
【請求項7】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項1に記載の方法。
【請求項8】
前記補助データは配信ネットワーク情報を含む、請求項1に記載の方法。
【請求項9】
前記補助データはタイムスタンプを含む、請求項1に記載の方法。
【請求項10】
前記補助データブロックを示す情報はインデックスである、請求項1に記載の方法。
【請求項11】
機械によってアクセスされると、前記機械に、
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項12】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成するように動作可能である、請求項11に記載の製品。
【請求項13】
前記帯域外データはファイル名である、請求項11に記載の製品。
【請求項14】
前記帯域外データはデータストリーム識別子である、請求項11に記載の製品。
【請求項15】
前記配信されるデジタルデータユニットはファイルである、請求項11に記載の製品。
【請求項16】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項11に記載の製品。
【請求項17】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項11に記載の製品。
【請求項18】
前記補助データは配信ネットワーク情報を含む、請求項11に記載の製品。
【請求項19】
前記補助データはタイムスタンプを含む、請求項11に記載の製品。
【請求項20】
前記補助データブロックを示す情報はインデックスである、請求項11に記載の製品。
【請求項21】
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されている、ステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を含む、方法。
【請求項22】
前記帯域外データはファイル名である、請求項21に記載の方法。
【請求項23】
配信されるデジタルデータユニットはファイルである、請求項21に記載の方法。
【請求項24】
前記補助データは配信ネットワーク情報を含む、請求項21に記載の方法。
【請求項25】
機械によってアクセスされると、前記機械に、
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されているステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項26】
前記帯域外データはファイル名である、請求項25に記載の製品。
【請求項27】
配信されるデジタルデータユニットはファイルである、請求項25に記載の製品。
【請求項28】
前記補助データは配信ネットワーク情報を含む、請求項25に記載の製品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8】
【図9】
【公開番号】特開2012−142022(P2012−142022A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−87430(P2012−87430)
【出願日】平成24年4月6日(2012.4.6)
【分割の表示】特願2010−518757(P2010−518757)の分割
【原出願日】平成19年7月31日(2007.7.31)
【出願人】(597095197)ロヴィ・ソリューションズ・コーポレーション (53)
【Fターム(参考)】
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2012−87430(P2012−87430)
【出願日】平成24年4月6日(2012.4.6)
【分割の表示】特願2010−518757(P2010−518757)の分割
【原出願日】平成19年7月31日(2007.7.31)
【出願人】(597095197)ロヴィ・ソリューションズ・コーポレーション (53)
【Fターム(参考)】
[ Back to top ]