(57)【要約】  デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが開示される。この方法およびシステムは、配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、補助データブロックは、配信されるデジタルデータユニットとは別個に記憶されているステップと、配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、配信されるデジタルデータユニットを変更済み帯域外データと共に送出するステップとを含む。
2010535373.tif 000002
【特許請求の範囲】
【請求項１】
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を含む、方法。
【請求項２】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成することを含む、請求項１に記載の方法。
【請求項３】
前記帯域外データはファイル名である、請求項１に記載の方法。
【請求項４】
前記帯域外データはデータストリーム識別子である、請求項１に記載の方法。
【請求項５】
前記配信されるデジタルデータユニットはファイルである、請求項１に記載の方法。
【請求項６】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項１に記載の方法。
【請求項７】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項１に記載の方法。
【請求項８】
前記補助データは配信ネットワーク情報を含む、請求項１に記載の方法。
【請求項９】
前記補助データはタイムスタンプを含む、請求項１に記載の方法。
【請求項１０】
前記補助データブロックを示す情報はインデックスである、請求項１に記載の方法。
【請求項１１】
機械によってアクセスされると、前記機械に、
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項１２】
前記帯域外データに、前記補助データブロックへのリンクを示す情報を注入して、変更済み帯域外データを生成するように動作可能である、請求項１１に記載の製品。
【請求項１３】
前記帯域外データはファイル名である、請求項１１に記載の製品。
【請求項１４】
前記帯域外データはデータストリーム識別子である、請求項１１に記載の製品。
【請求項１５】
前記配信されるデジタルデータユニットはファイルである、請求項１１に記載の製品。
【請求項１６】
前記配信されるデジタルデータユニットは実行可能ファイルである、請求項１１に記載の製品。
【請求項１７】
前記配信されるデジタルデータユニットは非実行可能ユニットである、請求項１１に記載の製品。
【請求項１８】
前記補助データは配信ネットワーク情報を含む、請求項１１に記載の製品。
【請求項１９】
前記補助データはタイムスタンプを含む、請求項１１に記載の製品。
【請求項２０】
前記補助データブロックを示す情報はインデックスである、請求項１１に記載の製品。
【請求項２１】
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されている、ステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を含む、方法。
【請求項２２】
前記帯域外データはファイル名である、請求項２１に記載の方法。
【請求項２３】
配信されるデジタルデータユニットはファイルである、請求項２１に記載の方法。
【請求項２４】
前記補助データは配信ネットワーク情報を含む、請求項２１に記載の方法。
【請求項２５】
機械によってアクセスされると、前記機械に、
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されているステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項２６】
前記帯域外データはファイル名である、請求項２５に記載の製品。
【請求項２７】
配信されるデジタルデータユニットはファイルである、請求項２５に記載の製品。
【請求項２８】
前記補助データは配信ネットワーク情報を含む、請求項２５に記載の製品。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
１．技術分野
本開示は、デジタルコンテンツの配信に関する。より詳細には、本開示は、デジタル配信の帯域外追跡の使用に関する。
【背景技術】
【０００２】
２．関連技術
デジタル配信の出現により、インターネットを介してソフトウェアを配信する新たなビジネスモデルが生み出された。「トライアンドバイ（try and buy）」デジタル配信モデルでは、消費者は、購入判断をする前に、ソフトウェアの「トライアンドバイ」バージョンを体験版として使用することができる。このような「トライアンドバイ」バージョンは、購入後にアンロックされるソフトウェア実行可能ファイル（software executable）のロックダウンバージョンからなる。一般的な場合、エンドユーザまたは見込み客が、発行元のウェブサイトまたは汎用ウェブポータル（例えば、www.download.com、www.yahoo.com等、以下、ポータル）から無料で提供されている「トライアンドバイ」ソフトウェアアプリケーション（以下、インストーラ）をダウンロードすることができる。通常、「トライアンドバイ」インストーラをダウンロードしインストールしたユーザのうちのある割合のユーザは、ソフトウェア（またはサービス、またはそれに関連する定期的なサービス(subscription)）を購入して、ソフトウェア製品の完全バージョンを取得する。したがって、ソフトウェアメーカーは、エンドユーザによるダウンロードに「トライアンドバイ」ソフトウェアを提供する動機を有する。ソフトウェアメーカーは、エンドユーザがダウンロードするこのような「トライアンドバイ」バージョンを自社のウェブサイトに設置することによってそれを行う。さらに、ソフトウェアメーカーは、ソフトウェアメーカーによって必ずしも制御されるわけではないポータルを介してこれらインストーラを配信することができる。ソフトウェア発行元の「トライアンドバイ」ビジネスモデルの背後にある動機は、消費者が「トライアンドバイ」ソフトウェアに関連する購入を行った場合に埋め合わせられることにある。さらに、ポータルは、「トライアンドバイ」インストーラがポータルサイトからダウンロードされた場合に埋め合わせられて、収益が生じるように、ソフトウェアメーカー、発行元、またはアグリゲータとの商取引契約を締結する。通常、ポータルは、消費者が支払った価格の収益シェアを得る。
【０００３】
「トライアンドバイ」インストーラは、エンドユーザがソフトウェアアプリケーションの完全バージョンを購入するための手段を含む。購入取引の一環として、エンドユーザは、オンライン購入取引の様々なステップを実行するように指示され得る。このような指示は、例えば、１）経済的取引、例えば、Ｐ．Ｏ．ボックス  ｘｙｚへの小切手郵送を完了し、ソフトウェアアプリケーションの完全バージョンを得るための指示を受け取るためのテキストでの説明、２）オンライン電子商取引（例えば、クレジットカードでの支払い）を実行するための指示または手段を含むＵＲＬ、３）アプリケーション自体に内蔵された購入メカニズム、４）ソフトウェアアプリケーションのラッパーに内蔵された購入メカニズム、または５）これら指示の任意の組み合わせを含み得る。同じソフトウェア製品は、通常、複数の配信ネットワーク（例えば、複数のポータル）を介して配信されるため、どの配信ネットワークが特定の購入を担当したかを追跡する方法が必要である。どの配信ネットワークが特定の購入を担当したかを判断する一方法は、ソフトウェア製品の追跡可能バージョンを作成することである。追跡可能バージョンを作成する一方法は、購入指示内に配信ネットワークを識別する情報を含む、異なるインストーラを作成することからなる。例えば、ソフトウェア製品には、特定の配信ネットワークを識別する値を含む購入ＵＲＬ、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=abcが埋め込まれ得る。
【０００４】
このようなＵＲＬを、変数「affiliate=abc」によって識別された配信ネットワークを介してのソフトウェア配信に使用することができる。同じソフトウェア製品が、別の配信ネットワーク（例えば、「affiliate=xyz」)を介して配信される場合、他の配信ネットワークを識別する購入ＵＲＬ、例えば、http://my.trymedia.com/buy?sku=0123&affiliate=xyzが埋め込まれた、同じソフトウェア製品の別のバージョンを作成しなければならない。
【０００５】
ソフトウェア発行元は、当業者に既知の様々な手段によって作成されたソフトウェアの異なる追跡可能バージョンを作成することができる。例えば、１）配信チャネルを識別する、異なる補助情報を含むソフトウェア実行可能ファイルのリコンパイル、２）購入プロセスの命令によって参照される補助ファイル、資源、またはデータへのこのような情報の包含、または３）上記の任意の組み合わせ。大半の場合、可能な限り効率的にプロセスをスケーリングできるように、ソフトウェアメーカーによる関与なしで、同じソフトウェア製品の異なる追跡可能バージョンを作成することが好ましい。それを行う可能な一方法は、インストーラが最初に実行されるときに、配信関連情報をインストーラの予め定義されたロケーションまたはファイルシステムのレジストリ内の予め定義されたロケーションに埋め込むことである。配信関連情報をインストーラに埋め込むことの一利点は、この方法では、ソフトウェアメーカーが配信ネットワーク毎にソフトウェアの特定のバージョンを作成する必要がないことである。それにも関わらず、増大し続ける数の配信ネットワークのそれぞれに異なるインストーラを作成し管理することは、非常に困難なタスクになっている。
【０００６】
デジタル署名を実行可能ファイルに導入することにより、ソフトウェアメーカーおよびエンドユーザにセキュリティの恩恵が提供される。エンドユーザに対して、実行可能ファイルのデジタル署名は、実行可能ファイルが、通常はソフトウェアメーカーによって署名されてから決して変更されていないことを保証するツールを提供する。ソフトウェアメーカーにとっては、恩恵は、ソフトウェアが（例えば、実行可能ファイルに感染するコンピュータウィルスによって）変更または改ざんされる機会が少なく、結果として、サポートへの電話が少なくなり、かつソフトウェアへのユーザの信頼度が増すことと言い換えられる。Microsoft（登録商標）のWindows（登録商標）オペレーティングシステム実行可能ファイルには、デジタル署名が証明書の形態で実装される。実行可能ファイルのヘッダには、デジタル証明書の様々な属性にアクセスするための情報を含む証明書テーブルが提供される。ソフトウェアメーカーが実行可能ファイルファイルに署名すると、実行可能ファイルの内容は、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り容易に変更することができない。さらに、ウィルス、スパイウェア、および他のマルウェアの脅威が高まっているため、オペレーティングシステムおよびインターネットブラウザのベンダーは、実行可能ファイルがデジタル署名されていない場合には警告を発する可能性が高い。この結果として、確実に、実行可能ファイルと共にデジタル署名がさらに採り入れられ広く使用されることになるであろう。
【０００７】
しかし、上述したように、異なる配信ネットワークにソフトウェア製品の異なるバージョンを作成することは非効率的である。さらに、実行可能ファイルのデジタル署名の完全性を破壊せずに実行可能ファイルの内容を変更することは非常に困難である。したがって、追跡可能なコピーの配信関連の補助情報を変更すると、デジタル署名が無効になるため、ソフトウェアメーカー以外の誰かがソフトウェア製品の追跡可能なコピーを作成することは非常に困難である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが必要である。
【０００９】
実施形態は、限定としてではなく例として添付図面の図に示される。
【図面の簡単な説明】
【００１０】
図面の簡単な説明
【図１】補助情報が実行可能ファイルのヘッダ部に記憶された実施形態を示す。
【図２】各実行可能コードブロック内に異なる補助データを有する３つの異なるインストーラの例を示す。
【図３】各種実施形態において、様々な配信ネットワーク上での配信がどのようにして達成されるかの例を示す。
【図４】デジタル署名付き実行可能ファイルの典型的な構造を示す。
【図５】各種実施形態による変更されたデジタル署名付き実行可能ファイルを示す。
【図６】実施形態において実行される基本処理動作を示すフローチャートを示す。
【図７ａ】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図７ｂ】実施形態が動作でき、かつ実施形態が常駐できる計算システムのブロック図である。
【図８】実施形態例において実行される基本処理動作を示す流れ図である。
【図９】実施形態例において実行される基本処理動作を示す流れ図である。
【発明を実施するための形態】
【００１１】
詳細な説明
デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムについて開示する。以下の説明では、多くの具体的な詳細が記される。しかし、実施形態がこれら具体的な詳細なしで実施可能なことが理解される。場合によっては、周知のプロセス、構造、および技法については、この説明の明確さを曖昧にしないように、詳細に示されていない。
【００１２】
図１は、補助情報（例えば、配信情報）がインストーラの実行可能ファイルのヘッダ部に記憶された実施形態を示す。示すように、インストーラ１１０は、実行可能コードブロック１２０及びインストーラデータ１３０を含む。実行可能コードブロック１２０は、ヘッダ部１２２と、ヘッダ部内にある補助データ部１２４と、実行可能コードセクション１２６とで構成される。補助データ１２４は、配信関連情報、ＵＲＬ、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理（ＤＲＭ）情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報が補助データ１２４に含まれ得ることが当業者には明らかであろう。このような補助情報１２４は、関連するインストーラ内で作成し、記憶し、転送することができる。インストーラ１１０内に補助データブロック１２４が与えられているため、特定のインストーラを特定のソフトウェア製品に作成することができる。例えば、同じソフトウェア製品は、複数の異なる特定のインストーラを使用して複数の異なる方法で配信することができ、各インストーラは、その特定の配信ネットワークの配信方法を定義する特定の補助データ１２４を有する。図２を参照すると、それぞれの実行可能コードブロック１２１、１２２、および１２３内に異なる補助データを有するこのような３つの異なるインストーラの例を示す。図２に示す３つの各インストーラ例は、特定の配信ネットワークでソフトウェア製品を配信するために使用することができ、インストーラデータ１３１が３つの異なるインストーラで同じであり、実行可能コードブロック１２１、１２２、および１２３のみが、各インストーラの異なる配信ネットワークを反映して異なることに留意する。
【００１３】
図３を参照すると、例により、各種実施形態において、様々な配信ネットワーク上での配信がどのように達成されるかを示す。図３の例では、サーバ３５０はインストーラテンプレート３４０を含む。インストーラテンプレート３４０は、実行可能コードブロック３２１およびインストーラデータ３３１を含む。特定の配信ネットワーク（例えば、ネットワーク１）上で特定のソフトウェア製品をダウンロードする要求を受信すると、サーバ３５０は、配信ネットワーク（例えば、ネットワーク１）に固有の情報を生成し、その情報をインストーラテンプレート３４０のコピーに記憶する。次に、配信ネットワークに固有のインストーラ３５１を要求発信者に送信して、ソフトウェア製品を特定の配信ネットワーク上で配信することができる。同様に、他の配信ネットワークに固有のインストーラ３５２および３５３をインストーラテンプレート３４０から生成し、それら特定のダウンロード要求の発信者に送信することができる。このようにして、複数の配信ネットワークでソフトウェア製品を配信する効率的でスケーラブルなソリューションが提供される。
【００１４】
ダウンロードされた実行可能ファイルにデジタル署名を使用することが、ますます一般的になりつつある。しかし、ソフトウェアメーカーが実行可能ファイルに一旦署名してしまうと、証明書を無効にするか、またはファイルのデジタル署名をファイルのデジタル証明書と不一致にしない限り実行可能ファイルの内容を容易に変更することはできない。したがって、特定のソフトウェア製品をダウンロードするためのインストーラに補助情報を挿入することが困難になっている。それにも関わらず、本明細書において説明する各種実施形態は、より詳細に後述するように、この問題を解消する。
【００１５】
図４を参照すると、デジタル署名付き実行可能ファイル４０１の典型的な構造を示す。ファイル４０１は、通常、周期的冗長検査（ＣＲＣ）ブロック４１０、デジタル署名ポインタ４１２、デジタル署名サイズ４１４、変数データブロック４１６、デジタル署名ブロック４２０、および未使用部４３０を含む。当業者に周知のように、デジタル署名４２０は、ソフトウェア開発者の秘密鍵および信頼できる機関の秘密鍵と組み合わせて、変数データ４１６および実行可能ファイルのヘッダのハッシュから生成される。変数データ４１６は、実行可能ファイルのヘッダを含め、ファイル４０１内の略あらゆるコードまたはデータペイロードであることができる。通常、ダウンロード可能なソフトウェア製品および関連データは、変数データブロック４１６に記憶することができる。ソフトウェア製品が４１６の変数データブロックに記憶され、デジタル署名４２０が、変数データブロック４１６の内容から生成されると、変数データブロック４１６のいかなる部分も、デジタル署名４２０を無効にせずには変更することが非常に困難になる。生成されたデジタル署名４２０のサイズは、４１４のデジタル署名サイズブロックに記憶される。変数データブロック４１６のサイズは可変であることができるため、デジタル署名４２０へのポインタ４１３がデジタル署名ポインタブロック４１２に記憶される。デジタル署名付き実行可能ファイル４０１の典型的な実施では、ＣＲＣブロック４１０、デジタル署名ポインタ４１２、およびデジタル署名サイズ４１４は、デジタル署名４２０の計算に含まれない。したがって、ファイル４０１のこれらブロックは、デジタル署名４２０を無効にせずに変更することができる。
【００１６】
図５を参照すると、各種実施形態による変更されたデジタル署名付き実行可能ファイル５０１を示す。ファイル５０１は、ブロック５１４内にあるデジタル署名サイズの値を変更することによって変更されている。デジタル署名サイズの値は、デジタル署名５２０のサイズをとり、これに未使用ブロック５３０のサイズを追加することによって変更されている。場合によっては、補助データブロック５３０をバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大（または低減）することが必要であり得る。場合によっては、予め補助データブロック５３０をゼロで埋めるか、またはデフォルト値を補助データブロック５３０の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、図５において矢印５１５で示されるように、デジタル署名サイズブロック５１４に記憶される。ブロック５１４内のデジタル署名サイズ値は、デジタル署名５２０の計算に含まれないため、ブロック５１４内のデジタル署名サイズの変更は、デジタル署名５２０を無効にしない。さらに、デジタル署名５２０の従来の構造により、追加のメモリ空間５３０をデジタル署名５２０の末尾に追加することも、デジタル署名５２０を無効にしない。未使用メモリ空間５３０をファイル５０１に追加することにより、第三者が補助データをブロック５３０に記憶することが可能になる。ブロック５３０に記憶された補助データは、様々な目的で使用することができる。例えば、ブロック５３０に記憶された補助データは、配信関連情報、ＵＲＬ、価格情報、タイムスタンプ、配信チャネル情報、ビジネスルール、デジタル権利管理（ＤＲＭ）情報、配信者ブランド情報、他の情報へのポインタまたはリンク、およびソフトウェアメーカー、配信者、卸売り業者、小売り店、またはエンドユーザが使用する他の任意の情報を含むことができる。異なる種類の補助情報の集合または組み合わせを含む、異なる様々な種類の情報をブロック５３０に含めることができることが当業者には明らかであろう。このような補助情報は、デジタル署名５２０を無効にすることなく、ファイル５０１のブロック５３０内で作成し、記憶し、転送することができる。
【００１７】
代替の実施形態では、ＣＲＣブロック５１０内のデータは、補助データで上書きすることができる。ブロック５１０内のＣＲＣ値はデジタル署名５２０の計算に含まれないため、ブロック５１０内のＣＲＣデータの変更は、デジタル署名５２０を無効にしない。しかし、ＣＲＣブロック５１０のサイズは非常に制限される。ファイル５０１の構造の典型的な実施では、非常に小量の情報しかブロック５１０に記憶することができない。より大きな補助データブロックへのポインタ、リンク、またはインデックスをブロック５１０に記憶することができ、このような補助データは、ローカルロケーションまたはリモートロケーション（例えば、サーバ）に記憶される。
【００１８】
図６を参照すると、フローチャートに、実施形態において実行される基本処理動作を示す。６１２のブロックにおいて、デジタル署名付きファイル５０１が読み出され、デジタル署名付きファイルヘッダにおけるデジタル署名ブロックおよびデジタル署名サイズブロックが識別される。ブロック６１４において、デジタル署名サイズが、デジタル署名サイズブロックから検索され、デジタル署名サイズ値が変更される。デジタル署名サイズの値は、デジタル署名のサイズ（すなわち、デジタル署名サイズブロック内の古い値）をとり、それに、補助データを記憶することができる未使用データブロックのサイズを追加することによって変更される。場合によっては、補助データブロックをバイト、ワード、ページ、または他のメモリセグメント境界上で終わらせるために、所定のパッド値だけ、変更されたデジタル署名サイズ値を増大（または低減）することが必要であり得る。場合によっては、予め補助データブロック５３０をゼロで埋めるか、またはデフォルト値を補助データブロック５３０の各メモリロケーションに記憶することが必要であり得る。この新しいデジタル署名サイズ値は、処理ブロック６１６において、デジタル署名サイズブロックに記憶される。このデジタル署名付きファイル５０１に対応する補助データは、処理ブロック６１８において生成され、補助データブロック５３０に記憶される。処理ブロック６２０において、変更されたファイル５０１のＣＲＣ値をリコンパイルし、ＣＲＣブロック５１０に記憶することができる。各種実施形態により、補助データがデジタル署名付きファイル５１０内のブロック５３０に記憶されるため、第三者が、特定のソフトウェア製品に特定のインストーラを作成することができる。さらに、デジタル署名付きファイルは、デジタル権利管理ポリシー、アクセス制御、購入手順、または特定のデジタル署名付きファイル５０１に関連する様々な他のコンテンツ固有、当事者固有、または取引固有の情報を含むように変更することができる。
【００１９】
図７ａおよび図７ｂは、実施形態例の特徴を実施することができる、例示的なクライアントまたはサーバコンピュータシステムを示すコンピュータシステム２００の例を示す。コンピュータシステム２００は、情報を通信するためのバスまたは他の通信手段２１４および２１６と、情報を処理する、バス２１４に結合されたプロセッサ２２０等の処理手段とで構成される。コンピュータシステム２００は、バス２１４に結合され、情報およびプロセッサ２２０によって実行される命令を記憶するランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置２２２（一般にメインメモリと呼ばれる）をさらに備える。メインメモリ２２２は、プロセッサ２２０による命令の実行中に一時変数または他の中間情報を記憶するために使用することもできる。コンピュータシステム２００は、バス２１４に結合され、静的情報およびプロセッサ２２０の命令を記憶する読み取り専用メモリ（ＲＯＭ）および／または他の静的記憶装置２２４も備える。
【００２０】
磁気ディスクまたは光ディスクおよび対応するドライブ等のオプションのデータ記憶装置２２８も、情報および命令を記憶するために、コンピュータシステム２００に結合することができる。コンピュータシステム２００は、情報をコンピュータユーザに表示する、陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）等の表示装置２０４にバス２１６を介して結合することもできる。例えば、イメージ、テキスト、映像、または図による情報の説明を表示装置２０４上でユーザに提示することができる。通常、英数字および他のキーを含む英数字入力装置２０８が、情報および／またはコマンド選択をプロセッサ２２０に通信するために、バス２１６に結合される。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ２２０に通信し、ディスプレイ２０４上のカーソルの移動を制御する、従来のマウス、トラックボール、または他の種類のカーソル方向キー等のカーソル制御装置２０６である。
【００２１】
通信装置２２６も、例えば、インターネットを介してリモートコンピュータまたはウェブサーバもしくは他のサーバ等のサーバにアクセスするために、バス２１６に結合することができる。通信装置２２６は、モデム、ネットワークインタフェースカード、またはイーサネット（登録商標）、トークンリング、ワイヤレスネットワーク、もしくは他の種類のネットワークとのインタフェースに使用されるような他の周知のインタフェース装置を含み得る。任意のイベントにおいて、このようにして、コンピュータシステム２００は、従来のネットワークインフラを介していくつかのサーバに結合することができる。
【００２２】
実施形態例のシステムは、上述したように、ソフトウェア、情報処理ハードウェア、および様々な処理ステップを含む。実施形態例の特徴および処理ステップは、機械実行可能命令またはコンピュータ実行可能命令で具現することができる。命令を使用して、命令がプログラムされた汎用プロセッサまたは専用プロセッサに、実施形態例のステップを実行させることができる。あるいは、特徴またはステップは、ステップを実行するハードワイヤードロジックを含む特定のハードウェア構成要素によって、またはプログラムされたコンピュータ構成要素とカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。実施形態はインターネットを参照して説明されたが、本明細書において説明した方法および装置は、他のネットワークインフラまたは他のデータ通信システムに等しく適用可能である。
【００２３】
本明細書において説明された方法を説明された順またはいかなる特定の順でも実行する必要がないことに留意されたい。さらに、本明細書において識別された方法に関して説明された様々な活動は、反復的、同時に、再帰的、逐次、または並列に実行することが可能である。変数、コマンド、演算子、および他のデータを含む情報は、１つまたは複数の搬送波の形態で通信装置２２６を通して送受信することができる。
【００２４】
この開示の内容を読み、理解した上で、当業者は、ソフトウェアプログラムをコンピュータベースのシステム内のコンピュータ可読媒体から起動して、上述したソフトウェアプログラムで定義された機能を実行することができる様式を理解するであろう。当業者は、本明細書に開示された方法を実施し実行するように設計された１つまたは複数のソフトウェアプログラムの作成に利用できる様々なプログラミング言語をさらに理解するであろう。プログラムは、Ｊａｖａ（登録商標）、スモールトーク、またはＣ＋＋等のオブジェクト指向言語を使用してオブジェクト指向形式で構造化することができる。あるいは、プログラムは、アセンブリまたはＣ等のプロシージャ言語を使用してプロシージャ指向形式で構造化することもできる。ソフトウェア構成要素は、アプリケーションプログラムインタフェースまたはリモートプロシージャコール等のプロセス間通信技法等の当業者に周知のいくつかのメカニズムのうちの任意のものを使用して通信することができる。各種実施形態の技法は、ＨＴＭＬおよびＸＭＬを含め、いかなる特定のプログラミング言語または環境にも制限されない。
【００２５】
したがって、他の実施形態を実現することも可能である。例えば、図７ａおよび図７ｂは、コンピュータ２００、メモリシステム２２２、２２４、および２２８、磁気または光ディスク２１２、他のいくつかの記憶装置２２８、および／または任意の種類の電子装置もしくはシステム等の、各種実施形態による製品のブロック図を示す。製品２００は、コンピュータ２０２によって実行されると、コンピュータ２０２に本明細書において説明した方法を実行させる関連する情報（例えば、コンピュータプログラム命令および／またはデータ）を有する、コンピュータ可読媒体２１２および／または記憶装置２２８（例えば、電気的、光学的、または電磁的な導体を有する有形メモリを含む固定記憶媒体および／またはリムーバブル記憶媒体）または搬送波に通信装置２２６を通して、結合されたコンピュータ２０２（１つまたは複数のプロセッサを有する）を含み得る。
【００２６】
様々な実施形態について説明する。特に、様々な種類および形式のユーザインタフェース提示を有する実施形態の使用を説明し得る。本明細書において説明する実施の代替の実施形態も利用でき、それでもなお後述する特許請求の範囲内にあることが当業者には明らかであろう。本明細書での詳細では、様々な実施形態を、本明細書では「ソフトウェア」と記されることもあるコンピュータにより実施される処理ロジックで実施されるものとして説明する。しかし、上述したように、特許請求される本発明は、純粋にソフトウェア実施に限定されない。
【００２７】
上述したように、補助データは署名付き実行可能ファイル内に埋め込むことができ、すでに存在するデジタル署名を破ることなく変更される。上述した教示は、このような補助データを、検証されたメッセージの一部として計算されないデジタル署名ディレクトリに埋め込むことを含んだ。その結果、説明した技法は、補助情報（例えば、配信ソース等）を使用して、ダウンロード（または製造）時にデジタル配信されるインストーラを個別化する効率的な方法を提供する。説明した技法の一利点は、補助情報をダウンロード時に実行可能ファイルに動的に挿入できることである。これにより、複数の配信者からなるデジタル配信ビジネスモデルにおいて、配信チャネルを追跡することができる。このようなビジネスモデルでは、特定のファイルのソースを、特定のファイルに関連する金銭または広告の取引またはイベント時にこのようなソースに補償できるように、識別可能なことが非常に望ましい。デジタル配信提供者が、ダウンロード可能なアセットのただ１つのバージョンを記憶し、このようなアセットのタグ付きコピーを効率的に作成することも非常に望ましい。動的（アフィリエイト）追跡により、デジタルアセットの単一のコピーを、ダウンロード時または遂行時に動的に個別化して、クレジット処理、報告または追跡のためにソース配信を識別することができる配信ネットワークを効率的に作成することができる。
【００２８】
より詳細に後述する代替の実施形態では、デジタル配信の補助データを埋め込む、異なる方法について説明する。後述するこの実施形態は、デジタル署名付きファイルおよび署名なしファイルの両方に対して有用である。後述する実施形態は、実行可能ファイルおよび非実行可能デジタルコンテンツ（例えば、映像、音楽、文書等）両方にも有用である。本明細書において説明する代替の実施形態では、ファイルに関連付けられた、デジタル配信の補助データ（動的データとも呼ばれる）は、帯域外に埋め込まれ、または符号化される。したがって、ファイルの内容またはファイルのデジタル署名を変更することに代えて、補助データまたは補助データへの参照が、ファイルの内容またはファイルのデジタル署名の外部のロケーション（すなわち、帯域外）であるが、ファイルに密接に関連付けられたロケーションに記憶される。例えば、ファイルまたはデータストリーム名を使用して、ファイルに関連付けられた補助情報またはデジタル配信のデータストリームを保持することができる。特定の実施形態では、補助データはファイル名に符号化される。例えば、
元のファイル名：Video.Mpeg
埋め込む補助データ：channel1
ファイル名に埋め込む補助データ：_channel1
補助データと共に符号化される変更済みファイル名：Video_channel1.Mpeg
【００２９】
上に示した例では、補助データは、ファイルに対して帯域外であるが、ファイルに密接に関連付けられたロケーションに符号化されている。符号化された補助データは、受信器において復号化して、関連付けられたファイルを適宜処理するために使用することができる。
【００３０】
特定の実施形態では、補助データを作成し使用するために、２つのプロセスが使用される。第１のプロセスでは、注入プロセスが使用されて、補助データを帯域外データに加えるように、ファイルまたはデータストリームに関連付けられた帯域外データが変更される。特定の例では、注入プロセスは、元のファイル名を補助データまたは補助データへの参照と組み合わせて、変更済みファイル名を生成する。注入プロセスは、通常、ファイルダウンロード時または製造時に行われる（例えば、デジタル配信提供者によって制御されるサーバにおいて）。第２のプロセスでは、抽出プロセスが使用されて、ファイルまたはデータストリームに関連付けられた帯域外データが抽出または復号化される。抽出プロセスは、通常、ファイル消費時またはアクセス時に行われ、これは通常、プレーヤアプリケーション、実行可能ファイル、デジタル権利管理（ＤＲＭ）システム、またはこれら要素の組み合わせを含むエンドユーザ装置で行われる。
【００３１】
各種実施形態では、注入プロセスは、補助データの単純な符号化を含む。一実施形態では、符号化された補助データを、配信されるデジタルコンテンツの元の識別子（例えば、ファイル名）に連結することができる。当業者に既知のデータを送信または記憶のために符号化する多くの方法がある。符号化プロセスは、データ圧縮、暗号化、またはデータ完全性を検証するためのＣＲＣ（周期的冗長検査）の追加を含むこともできる。
【００３２】
各種実施形態では、抽出プロセスは、データが埋め込まれるファイルまたは配信可能なコンテンツの種類に応じて、異なる様々な方法で実行することができる。これら異なる様々な方法としては、以下が挙げられる。
ｉ．ファイルまたは配信可能コンテンツが受動（すなわち、非実行可能）ファイルの場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子（例えば、ファイル名）から補助データを抽出し、抽出された補助データに準拠して適切な動作を実行できる抽出構成要素を含むことができる。
ｉｉ．ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子（例えば、ファイル名）から補助データを抽出できる抽出構成要素は、実行可能ファイルの一部（例えば、Microsoft Windows（登録商標）ベースのシステムの場合、ＤＬＬ）であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、抽出された補助データに準拠して適切な動作を実行することができる。
【００３３】
各種実施形態では、補助データは、配信されるデジタルコンテンツの識別子（例えば、ファイル名）とは別個かつファイルの内容またはデジタルコンテンツとは別個のロケーションに記憶される。例えば、補助データは、サーバまたはリモートデータベースに記憶することができる。この場合、補助データにアクセスするためのインデックスまたはリンクが、上述したように、配信されるデジタルコンテンツの識別子（例えば、ファイル名）に注入される。この例を以下に示す。
元のファイル名：Video.Mpeg
ファイルに関連付ける補助データ：
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
補助データはサーバに記憶され、
サーバリターンインデックス=0124a1
ファイル名に埋め込む補助データ：_0124a1
補助データと共に符号化される変更済みファイル名：
Video_0124a1.Mpeg
【００３４】
上に示した例では、補助データへのインデックスまたはリンクは、注入プロセスにおいてファイル名に符号化されている。補助データはサーバに記憶されており、サーバは、抽出プロセス中に検索するために、記憶された補助データを一意に識別するインデックスまたはリンクを返す。上記例では、記憶された補助データは以下である。
Aff=channel1
作成時=2006/11/23
価格=24.99
通貨=USD
人気=100
【００３５】
上に示した例では、補助データへのインデックスまたはリンク（例えば、０１２４ａ１）は、抽出プロセス中に使用されて、記憶された補助データが検索される。上述したように、補助データは、データまたはデータへのリンクが埋め込まれたファイルまたは配信可能コンテンツの種類に応じて、様々な異なる方法で抽出プロセス中に抽出することができる。
ｉ．ファイルまたは配信可能コンテンツが受動（すなわち、非実行可能）ファイルである場合、このようなファイルへのアクセスまたは再生を処理するアプリケーションは、配信されるデジタルコンテンツの識別子（例えば、ファイル名）から、補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して、補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる抽出構成要素を含むことができる。
ｉｉ．ファイルまたは配信可能コンテンツが実行可能ファイルである場合、配信されるデジタルコンテンツの識別子（例えば、ファイル名）から補助データへのインデックスまたはリンクを抽出することができる抽出構成要素は、実行可能ファイルの一部（例えば、Microsoft Windows（登録商標）ベースのシステムの場合、ＤＬＬ）であることができる。したがって、実行可能ファイルが実行されると、抽出構成要素をアクティブ化して、配信されるデジタルコンテンツの識別子（例えば、ファイル名）から補助データへのインデックスまたはリンクを抽出し、インデックスまたはリンクを使用して補助データを得て、抽出された補助データに準拠して適切な動作を実行することができる。
【００３６】
これらの例では、抽出構成要素はまず、配信されるデジタルコンテンツの識別子（例えば、ファイル名）にアクセスし、補助データへのインデックスまたはリンクを検索する。次に、抽出構成要素は、インデックスまたはリンクを使用して、補助データが記憶されたサーバまたはデータベースから補助データを得る。抽出構成要素が補助データを検索すると、補助データを後で使用するために記憶することができる。
【００３７】
図８および図９を参照すると、流れ図に、実施形態例において実行される基本処理動作を示す。
【００３８】
したがって、デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステムが開示される。本発明をいくつかの実施形態例に関して説明したが、本発明が説明された実施形態に限定されず、添付の特許請求の範囲の趣旨および範囲内で変更および修正を加えて実施可能なことを当業者は認識するであろう。したがって、本明細書における説明は限定としてではなく例示としてみなされるべきである。
【図１】
2010535373.tif 000003
【図２】
2010535373.tif 000004
【図３】
2010535373.tif 000005
【図４】
2010535373.tif 000006
【図５】
2010535373.tif 000007
【図６】
2010535373.tif 000008
【図７ａ】
2010535373.tif 000009
【図７ｂ】
2010535373.tif 000010
【図８】
2010535373.tif 000011
【図９】
2010535373.tif 000012
【手続補正書】
【提出日】平成22年2月1日(2010.2.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を含む、方法。
【請求項２】
前記帯域外データはファイル名である、請求項１に記載の方法。
【請求項３】
前記配信されるデジタルデータユニットはファイルである、請求項１に記載の方法。
【請求項４】
前記補助データは配信ネットワーク情報を含む、請求項１に記載の方法。
【請求項５】
機械によってアクセスされると、前記機械に、
配信されるデジタルデータユニットに関連する補助データブロックを記憶するステップであって、前記補助データブロックは、前記配信されるデジタルデータユニットとは別個に記憶される、ステップと、
前記配信されるデジタルデータユニットに関連付けられた帯域外データを得るステップと、
前記帯域外データに、前記補助データブロックを示す情報を注入して、変更済み帯域外データを生成するステップと、
前記配信されるデジタルデータユニットを前記変更済み帯域外データと共に送出するステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項６】
前記帯域外データはファイル名である、請求項５に記載の製品。
【請求項７】
前記配信されるデジタルデータユニットはファイルである、請求項５に記載の製品。
【請求項８】
前記補助データは配信ネットワーク情報を含む、請求項５に記載の製品。
【請求項９】
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されている、ステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を含む、方法。
【請求項１０】
前記帯域外データはファイル名である、請求項９に記載の方法。
【請求項１１】
配信されるデジタルデータユニットはファイルである、請求項９に記載の方法。
【請求項１２】
前記補助データは配信ネットワーク情報を含む、請求項９に記載の方法。
【請求項１３】
機械によってアクセスされると、前記機械に、
帯域外データと共に、配信されたデジタルデータユニットを受信するステップと、
前記帯域外データから、前記配信されたデジタルデータユニットに関連する補助データブロックを示す情報を抽出するステップであって、前記補助データブロックは、前記配信されたデジタルデータユニットとは別個に記憶されている、ステップと、
前記帯域外データから抽出された補助データブロックを示す前記情報を使用して、前記補助データブロックにアクセスするステップと、
前記補助データブロックからの情報を使用して、前記配信されたデジタルデータユニットの内容にアクセスするステップと
を実行させるデータを含む機械記憶媒体に具現される製品。
【請求項１４】
前記帯域外データはファイル名である、請求項１３に記載の製品。
【請求項１５】
配信されるデジタルデータユニットはファイルである、請求項１３に記載の製品。
【請求項１６】
前記補助データは配信ネットワーク情報を含む、請求項１３に記載の製品。
【国際調査報告】
2010535373.tif 000013
2010535373.tif 000014
2010535373.tif 000015