(57)【特許請求の範囲】
【請求項１】
ダウンロードされたソフトウェアプログラムの使用を追跡するシステムであって、
遠隔的にソフトウェアプログラムを提供するサーバーであって、前記ソフトウェアプログラムのダウンロード要求に応じて、前記ソフトウェアプログラムのダウンロード要求を一意的に識別する第１の識別コードを生成するように構成されたサーバーと、
前記サーバーからダウンロードされたインストーラモジュールを実行するコンピュータであって、前記インストーラモジュールはダウンロードを要求された前記ソフトウェアプログラムと前記ソフトウェアプログラムの動作を示すトラッキングデータを前記サーバーに送信するように構成されたトラッキングアシスタントとを含み、前記インストーラモジュールは前記コンピュータのユーザによる前記第１の識別コードの入力に応じて前記ソフトウェアプログラムと前記トラッキングアシスタントとを前記コンピュータにインストールし、前記インストールによりユーザは前記コンピュータ上で前記ソフトウェアプログラムを操作可能となり、前記インストーラモジュールは前記ソフトウェアプログラムが前記コンピュータにインストールされた時にインストールされた前記ソフトウェアプログラムを一意的に識別する第２の識別コードを生成し、前記第２の識別コードは前記第１の識別コードと一意的に関連づけられているコンピュータと、
前記トラッキングアシスタントにより送信されたトラッキングデータを記憶する、前記サーバーに結合したデータベースであって、前記送信されたトラッキングデータは前記第１の識別コードと前記第２の識別コードとを含むデータベースと、を有し、
前記サーバーは、前記ソフトウェアプログラムの使用を追跡するために、前記データベースに記憶された前記トラッキングデータを調べるよう構成されたトラッキングアナライザを有することを特徴とするシステム。
【請求項２】
ダウンロードされたソフトウェアプログラムの使用を追跡するシステムであって、
ソフトウェアプログラムと、前記ソフトウェアプログラムの動作を示すトラッキングデータを自動的に送信するトラッキングアシスタントとを有するコンピュータと、
前記トラッキングデータがネットワークを介して送信されるデータベースと、前記ソフトウェアプログラムの使用を追跡するために前記データベースに記憶された前記トラッキングデータを調べるように構成されたトラッキングアナライザとを有するサーバーと、を有し、
前記トラッキングデータは、前記サーバーからの前記ソフトウェアプログラムのダウンロード要求を一意的に識別する第１の識別コードと、インストールされた前記ソフトウェアプログラムを一意的に識別する第２の識別コードとを含み、前記第２の識別コードは前記ソフトウェアプログラムが前記コンピュータにインストールされた時に前記コンピュータのインストーラにより生成され、前記第２の識別コードは前記第１の識別コードと一意的に関連づけられていることを特徴とするシステム。
【請求項３】
ダウンロードされたソフトウェアプログラムの使用を追跡する、コンピュータにより実行される方法であって、
ソフトウェアプログラムと、前記ソフトウェアプログラムの動作に関するデータを記録して送信するように構成されたトラッキングアシスタントと、前記ソフトウェアプログラムのダウンロード要求を一意的に識別する第１の識別コードとを有するインストーラを受信する段階と、
前記ソフトウェアプログラムと前記トラッキングアシスタントとをコンピュータにインストールする前記第１の識別コードの入力を受ける段階と、
前記ソフトウェアプログラムがユーザにより前記コンピュータ上で動作できるように、前記第１の識別コードの入力に応じて、前記ソフトウェアプログラムと前記トラッキングアシスタントとを前記コンピュータに、前記インストーラによりインストールする段階と、
前記コンピュータにおけるインストールされた前記ソフトウェアプログラムを一意的に識別する第２の識別コードであって、前記第１の識別コードと一意的に関連づけられている第２の識別コードを前記インストーラにより生成する段階と、
前記コンピュータのメモリに前記第１の識別コードと前記第２の識別コードとを記録する段階と、
前記ソフトウェアプログラムの使用を追跡するため前記第１と第２の識別コードを調べることができる遠隔サーバーのデータベースに前記第１の識別コードと前記第２の識別コードとを前記トラッキングアシスタントにより定期的に送信する段階と、を有し、
前記トラッキングアシスタントは自動的にネットワークリンクを起動して前記第１の識別コードと前記第２の識別コードとを前記サーバーに送信することを特徴とする方法。
【請求項４】
ダウンロードされたソフトウェアプログラムを追跡する、コンピュータにより実行される方法であって、
データベースとダウンロード可能なインストーラとを含むサーバーと関連づけられているウェブサイトにインターネットリンクを介してアクセスする段階と、
ソフトウェアプログラムのダウンロード要求を一意的に識別する第１の識別コードを前記ウェブサイトからダウンロードする段階と、
ソフトウェアプログラムとトラッキングアシスタントとを有する前記インストーラを前記ウェブサイトから前記コンピュータのメモリにダウンロードする段階と、
前記ソフトウェアプログラムと前記トラッキングアシスタントとを前記コンピュータにインストールするために、前記第１の識別コードの入力を受ける段階と、
前記ソフトウェアプログラムがユーザにより前記コンピュータ上で動作可能になるように、前記第１の識別コードの入力に応じて、前記ソフトウェアプログラムと前記トラッキングアシスタントとを前記コンピュータに前記インストーラによりインストールする段階と、
前記ソフトウェアプログラムがインストールされた時間の関数である、インストールされた前記ソフトウェアプログラムを一意的に識別する第２の識別コードであって、前記第１の識別コードと一意的に関連づけられている第２の識別コードを前記インストーラにより生成する段階と、
前記コンピュータのメモリの一部に前記第１の識別コードと前記第２の識別コードとを記録する段階と、
前記ソフトウェアプログラムの動作の関数であるスケジュールにより、前記サーバーのデータベースに前記第１の識別コードと前記第２の識別コードとを送信する段階と、を有し、
前記トラッキングアシスタントは、前記第１の識別コードと前記第２の識別コードとを前記サーバーに送信するため、インターネット接続を自動的に起動するように構成されていることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、配布ソフトウエアの使用状況を監視、制御する技術に係り、特に、インターネットのようなネットワークからダウンロードされたソフトウエアの使用状況を追跡する方法及び装置に関する。
【背景技術】
【０００２】
コンピュータユーザは、コンピュータソフトウエアを獲得する多数の選択肢をもっている。ユーザは、ソフトウエアプリケーションを格納したフロッピー（登録商標）ディスク、或いは、コンパクトディスクを購入し、自分のコンピュータのハードドライブ装置若しくはコンピュータネットワークにソフトウエアプリケーションをロードする。インターネットの出現によって、コンピュータユーザは、ワールド・ワイド・ウェブ(WWW)のウェブサイトからソフトウエアをダウンロードすることにより、コンピュータソフトウエアを獲得する選択肢も得た。特に、インターネットは、遠隔サーバーからソフトウエアをダウンロードするために利用することができる。
【０００３】
ダウンロードされたソフトウエアの普及が進むにつれて、コンピュータソフトウエアベンダーには新たな好機が生ずる。他の電子商取引の形態と同様に、ユーザがインターネットからソフトウエアを取得することができる便利さは、販売を増大させる可能性がある。ユーザは、シェアウエアと称される無料の使用制限されたソフトウエアをダウンロードする。これらの使用制限されたソフトウエアモジュールは、完全な機能のソフトウエアパッケージの販売を促進する。
【０００４】
しかし、インターネットはソフトウエアベンダーに新たな要求を課す。ソフトウエアベンダーに対する一つの要求は、許可されていないソフトウエアの複製と配布を防止することである。ダウンロードされたプログラムの許可されていない複製、或いは、その他の不正使用のような著作権侵害行為は、ライセンス料収入を減少させる可能性がある。また、第三者によって変造されたソフトウエアの不法配布は、企業イメージを汚す。たとえば、屡々クラッシュし、或いは、性能が低下するよう変造されたソフトウエアアプリケーションの不許可の複製物は、ソフトウエアベンダーの評判を害する。
【０００５】
従来の許可されたソフトウエアの管理システムには幾つかの欠点がある。一般的に、ダウンロードされたソフトウエアにライセンスを付与する幾つかの主要な方法がある。一つの方法は、ソフトウエアベンダーがユーザに識別コードを発行し、ユーザがアプリケーションをダウンロードするため、或いは、ダウンロードしたアプリケーションを使用するためには、その識別コードを入力しなければならないようにすることである。別の方法は、所定の期間の経過後若しくは所定回数の使用後に、ダウンロードされたソフトウエアの動作を自動的に停止させる監視及び制御プログラムをソフトウエアアプリケーションに付加することである。
【０００６】
ダウンロードされたプログラムの許可されていない使用を防止する従来の方法は、期待されるよりも複雑であり、ユーザにとって使い難いものである。殆どの場合に、ハッカーがソフトウエアを不正にコピーすることを防止するためかなり複雑なコピー制御ソフトウエアが必要とされる。さらに、一部のシステムでは、許可コードが異なるユーザ間で共有される場合があり、ライセンスシステムには都合が悪い。
【０００７】
ソフトウエアベンダーに対する別の要求は、顧客サービスとダウンロードされたソフトウエアのサポートを効率的に行うことである。ダウンロードされたソフトウエアを購入するコンピュータユーザは、通常の登録カード若しくは調査用紙への記入を厭う場合が多い。また、ベンダーは、典型的に、ソフトウエアの販売後、又は、販売以降に個別のコンピュータユーザと直接に個人的な連絡を取ることがない。したがって、ソフトウエアベンダーは、ユーザがソフトウエアを適切に使用するため適切なサポートを受けているかどうかを判断することが難しい。
【０００８】
ソフトウエアベンダーに対する更に別の要求は、自分の製品の質を向上させ、営業努力を効率的に集約するために必要とされる製品の使用状況に関する量的データ及び質的データを獲得することである。ソフトウエアベンダーが知りたい事項は、実際に使用されている各アプリケーションの本数、各ユーザがソフト上アプリケーションを使用する頻度及び期間、ユーザにとって最も重要な事項、並びに、その他のタイプの人口学的データである。しかし、ソフトウエアベンダーが自分の製品の質を向上させ、営業努力を効率的に集約するために役立つ正確なデータを取得するためには、費用が嵩み、かつ、困難である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記従来技術の問題点を解決すべく、ソフトウエアの使用が自動的に監視され、選択的に制御される装置及び方法が求められる。
【００１０】
したがって、本発明は、配布されたソフトウエアの使用状況、特に、インターネット上に存在するサーバーのような遠隔サーバーからダウンロードされたソフトウエアの使用状況を監視し、選択的に制御するシステム及び方法を取り扱う。
【００１１】
本発明の第１の目的は、ソフトウエアアプリケーションの使用状況を監視することである。
【００１２】
本発明の第２の目的は、ダウンロードされたソフトウエアアプリケーションのための顧客サポートを行うことである。
【００１３】
本発明の第３の目的は、ソフトウエア使用状況に関する人口学的データを自動的に作成することである。
【００１４】
本発明の第４の目的は、ダウンロードされたソフトウエアアプリケーションのための登録データを自動的に作成することである。
【課題を解決するための手段】
【００１５】
本発明の一態様による、ダウンロードされたソフトウェアプログラムの使用を追跡するシステムは、遠隔的にソフトウェアプログラムを提供するサーバーであって、前記ソフトウェアプログラムのダウンロード要求に応じて、前記ソフトウェアプログラムのダウンロード要求を一意的に識別する第１の識別コードを生成するように構成されたサーバーを有する。また、前記サーバーからダウンロードされたインストーラモジュールを実行するコンピュータであって、前記インストーラモジュールはダウンロードを要求された前記ソフトウェアプログラムと前記ソフトウェアプログラムの動作を示すトラッキングデータを前記サーバーに送信するように構成されたトラッキングアシスタントとを含み、前記インストーラモジュールは前記コンピュータのユーザによる前記第１の識別コードの入力に応じて前記ソフトウェアプログラムと前記トラッキングアシスタントとを前記コンピュータにインストールし、前記インストールによりユーザは前記コンピュータ上で前記ソフトウェアプログラムを操作可能となり、前記インストーラモジュールは前記ソフトウェアプログラムが前記コンピュータにインストールされた時にインストールされた前記ソフトウェアプログラムを一意的に識別する第２の識別コードを生成し、前記第２の識別コードは前記第１の識別コードと一意的に関連づけられているところのコンピュータを有する。さらに、前記トラッキングアシスタントにより送信されたトラッキングデータを記憶する、前記サーバーに結合したデータベースであって、前記送信されたトラッキングデータは前記第１の識別コードと前記第２の識別コードとを含むところのデータベースを有する。前記サーバーは、前記ソフトウェアプログラムの使用を追跡するために、前記データベースに記憶された前記トラッキングデータを調べるよう構成されたトラッキングアナライザを有する。
【発明の効果】
【００１６】
そのため、本発明によれば、ソフトウエアアプリケーションの使用状況を監視し、ダウンロードされたソフトウエアアプリケーションのための顧客サポートを行い、ソフトウエア使用状況に関する人口学的データを自動的に作成し、ダウンロードされたソフトウエアアプリケーションのための登録データを自動的に作成することができる。
【発明を実施するための最良の形態】
【００１７】
本発明は、ソフトウエアの使用状況、特に、ダウンロードされたソフトウエアの使用状況を自動的に追跡する装置及び方法を取り扱う。追跡、顧客製品サポート、サービス、及び、調査の機能を実行するため費用効果の優れたやり方が求められる。ソフトウエアをダウンロードした顧客は、典型的に、登録カードや顧客調査票の記入のような伝統的な顧客満足度評価技術に協力しようとする気持ちにはならない。また、このような登録カード又は調査票への記入が行われたとしても、記入された情報が信頼できるとは限らず、実際の製品使用状況を査定するため使用できない場合がある。ソフトウエアベンダーが、自分の品揃えを改良し、かつ、効率的な顧客サポートを行うため要求されるタイプの使用状況情報を獲得することは、時間とコストがかかり、かつ、困難である。
【００１８】
図１は、ソフトウエアモジュールがローカルコンピュータ４１０にダウンロードされ組み込まれる前の本発明の好ましい一実施例４００の概略図である。サーバー４５５は、インターネットのような開いたネットワーク４５０を介してコンピュータ４１０に接続される。コンピュータ４１０は、たとえば、家庭又はオフィスのパーソナルコンピュータのようなスタンドアローン型パーソナルコンピュータである。しかし、コンピュータ４１０は、ローカル・エリア・ネットワーク又はワイド・エリア・ネットワークの一部でも構わない。カップリング装置４４５は、ネットワーク４５０を介してコンピュータ４１０とサーバー４５５の間でネットワークリンクを形成するため使用される。カップリング装置４５５は、通常のモデム、Ｔ−１ライン、或いは、コンピュータ４１０をネットワーク４５０に接続する従来の素子の組み合わせなどにより構成される。コンピュータ４１０は、コンピュータプログラムを格納するためハードドライブ装置４３０又はその他の記憶ユニットを含む。コンピュータプログラムの中には、通常のコンピュータプログラム及びユーティリティプログラム（図１に示されない）が含まれる。
【００１９】
サーバー４５５は、サーバー４５５に格納されたインストーラーモジュール４４０をダウンロードするよう構成されていればどのようなサーバー（たとえば、通常のウェブサーバー）でもよい。インストーラーモジュール４４０は、少なくとも一つのアプリケーションモジュール４４２と、トラッキングアシスタントモジュール４４４とを含む。サーバー４４５は、サーバー４５５の機能を制御するアクセス・制御モジュール４７０を更に含む。制御モジュール４７０は、サーバー４５５の機能を調整するため使用される通常の制御モジュールを含む。データベース４６０は、第１のデータベーステーブル４６２及び第２のデータベーステーブル４６４を含み、サーバー４５５に電気的に接続される。データベース４６０は、データベーステーブルを格納するため構成された従来のメモリ若しくはデータ記憶ユニットでもよい。
【００２０】
図１をもう一度参照するに、アプリケーションモジュール４４２及びトラッキングアシスタントモジュール４４４は、別個の構成要素として表されていることが分かる。しかし、トラッキングモジュール４４４の機能は、アプリケーションモジュール４４２に組み入れてもよく、或いは、トラッキングモジュール４４４は、従来の方法を用いてアプリケーションモジュール４４２に接続又はリンクしてもよいことがわかる。また、インストーラーモジュール４４０は、同図において、サーバー４５５内に設けられているが、より一般的なインストーラーモジュール４４０を従来の方法を用いてサーバー４５５に接続してもよい。
【００２１】
図２には、ソフトウエアがローカルコンピュータ４１０にダウンロードされ、組み込まれたシステム５００のブロック図が示されている。殆どの構成部品は図１に示された構成部品と同様である。しかし、データベース４６２は、識別シリアル番号D-USNである第１の識別コードを格納し、データベース４６４は、識別シリアル番号I-USNである第２の識別コードを格納する。好ましい実施例において、D-USNは、ソフトウエアアプリケーションを組み込むため必要とされるシリアル番号（コード）であり、I-USNは、アプリケーションが組み込まれるときにインストーラーによって作成される固有のシリアル番号（コード）である。ユーザのコンピュータのハードドライブ装置４３０は、ダウンロードされ組み込まれたトラッキングアシスタントモジュール４４４に対応したトラッキングアシスタント５０５を格納する。また、ハードドライブ装置４３０は、ダウンロードされ、組み込まれたアプリケーションモジュール４４２に対応したアプリケーション５１０を格納する。図２に示されたファイル５１５は、以下に詳述されるように、トラッキングデータを記憶するため使用される。ファイル５１５は、コンピュータ４１０に常駐するファイルである。WINDOWS(登録商標)オペレーティングシステムの場合、ファイル５１５は、好ましくは、WINDOWS(登録商標)のユーザレジストリファイルである。
【００２２】
図３乃至６には、本発明を使用する好ましい動作シーケンスが示されている。本発明の好ましい使用方法は、内部開発名"InfoMessenger"又は"IM"によって本願発明者による本願出願時に公知である情報メッセージ管理プログラムをダウンロードすることである。この情報メッセンジャー(InfoMessenger)は、コンピュータユーザがインターネットから獲得されるような電子メールメッセージ及び文書を管理する際に補助するプログラムである。しかし、本発明は、たとえば、インターネットから積極的に情報を獲得しないような他のタイプのソフトウエアアプリケーションモジュールを用いて実施してもよいことが理解されるべきである。
【００２３】
図３には、ウェブサイトからインストレーションモジュールをダウンロードし、初期登録データを記録するインストレーション方法の第１の動作シーケンスが示されている。ステップ６−１において、ユーザは、ネットワーク４５０を介してウェブサーバー４５５にアクセスするためコンピュータ４１０を利用する。既に説明した通り、ネットワーク４５０は、好ましくは、インターネットであるが、ローカル・エリア・ネットワーク或いはワイド・エリア・ネットワークでもよい。ステップ６−２において、ウェブサーバー４５５は、好ましくは、ウェブサイトを介して、ユーザに名前、電子メールアドレス、及び／又は、その他の登録情報を問い合わせる。ユーザは、ステップ６−３に示されるように、この初期登録情報を記入する。サーバー４５５は、ステップ６−４に示されるように、ダウンロードユニークシリアルナンバー（D-USN）を生成し、ユーザをインストーラーモジュール４４０ファイルにリンクする。D-USNは、通例的なアルゴリズムを用いて生成される。しかし、以下では、好ましいアルゴリズムを詳細に説明する。D-USNは、ソフトウエアアプリケーションを組み込むため使用される識別コードである。ステップ６−５に示されるように、サーバー４５５は、好ましくは、ユーザの名前、電子メールアドレス、現在インターネットプロトコル（ＩＰ）アドレス、現在時刻（好ましくは、サーバー４５５で測定された時刻）、及び、D-USNを第１のデータベースファイル４６２に記録する。ステップ６−５において、第１のデータベース４６２は、登録情報を記録済みであることに注意する必要がある。ユーザから取得された他の情報をユーザの名前及び電子メールアドレスと共に入力しても構わない。たとえば、システムは、顧客サービス及びサポートに関する問い合わせ、たとえば、「この製品を使用するため、カスタマーサポートを自動的に受信し、更新しますか」というような問い合わせを行い、応答を記録する。
【００２４】
図４は、インストーラー４４０を用いてアプリケーションを組み込む方法の第２の動作シーケンスを示す図である。ステップ７−１に示されるように、ユーザがダウンロードされたインストーラー４４０を動かすとき、インストーラー４４０は、ステップ７−２に示されるように、ユーザにD-USNの入力を要求する。次に、ステップ７−３に示されるように、ユーザはD-USNを入力し、インストーラー４４０は、その有効性を検査する。インストーラー４４０は、第２の識別コード、好ましくは、D-USN及び現在時刻に基づくインストール固有シリアルナンバー（I-USN）を生成する。I-USNを作成するための好ましいアルゴリズムをより詳細に説明する。I-USNは、好ましくは、ユーザには表示されない点で、隠し識別コードである。インストーラー４４０は、ステップ７−４において、I-USNとD-USNを共に、好ましくは、ファイル５１５に保存する。ウィンドウズ（登録商標）システムの場合に、ファイル５１５は、好ましくは、ウィンドウズ（登録商標）のユーザレジストリである。ダウンロードされたアプリケーション５１０は、ステップ７−４の後、作動可能である。
【００２５】
ユーザが他のユーザとD-USNを共用する場合、アプリケーションが他のユーザのコンピュータに組み込まれるときに、異なるI-USNがインストーラー４４０によって自動的に作成される。たとえば、あるユーザが、アプリケーション及びD-USNを、そのアプリケーションを自分のコンピュータに組み込んだ他の人と共用する場合、異なるコンピュータに組み込まれた複製物は異なるI-USNを有する。ローカル・エリア・ネットワークの場合、インターネットから１本のアプリケーションしかダウンロードされていなくても、組み込まれた各複製物は、異なるI-USNを有する。
【００２６】
図５は、アプリケーション５１０の作動後の好ましい動作シーケンスを示す図である。コンピュータ４１０側のユーザがアプリケーション５１０を開始するとき、アプリケーション５１０は、トラッキングアシスタント５０５を作動させる。図５に示されるように、好ましいトラッキングアシスタントは、"Assistant  Zero"という内部開発名で本願発明者によって本願出願時に公開されている。トラッキングアシスタント５０５は、アプリケーション５１０の動作を監視し、D-USN及びI-USNを含むトラッキングデータをサーバー４５５に送信するため使用される。コンピュータソフトウエアモジュールにサーバー４５５への自動接続を行わせる技術は、関心のある記事を見つけるためウェブサイトを探索するソフトウエアアプリケーションに関して知られている。したがって、トラッキングアシスタント５０５は、データ通信のためサーバーにネットワークリンクを自動的に形成するソフトウエアモジュールを含む。
【００２７】
トラッキングアシスタント５０５は、アプリケーション５１０が実行され、ネットワーク４５０のリンク（たとえば、インターネットアクセス）が利用可能になると、トラッキングデータを送信することができる。しかし、好ましい一動作方法の場合、トラッキングアシスタント５０５は、アプリケーション５１０が動作している日に一回ずつのように、定期的にトラッキングデータを送信する。電子メールメッセージ管理プログラムのようなインターネットに自動的に接続されるアプリケーション５１０の場合に、プログラムは、アプリケーション５１０が実行されているとき、インターネットに自動的に接続される。しかし、より一般的なアプリケーション５１０は、インターネットへのアクセスを必要としないプログラムである。たとえば、アプリケーションは、ユーザによってインターネットに断続的に接続されるノートブック型コンピュータに組み込まれたワードプロセッシングアプリケーションでも構わない。したがって、ユーザのためにインターネットへのアクセスを必要としないアプリケーションの場合に、トラッキングアシスタント５０５は、好ましくは、インターネットへのアクセスの利用可能性に依存してトラッキングデータを送信するようプログラムされる。たとえば、トラッキングアシスタント５０５は、１）インターネットコネクションが利用可能であるならば、アプリケーションが実行された日に１回ずつ、又は、２）インターネットへのアクセスが行われることなく１日以上の動作が経過した場合に、コンピュータ４１０が最初にインターネットに接続された利用可能なときに、記憶されたトラッキングデータを送信するようプログラムされる。
【００２８】
図６は、トラッキングアシスタント５０５の機能を説明する動作シーケンスである。図６に示されるように、ステップ９−１において、トラッキングアシスタント５０５は、ファイル５１５に記憶されたデータから、アプリケーション５１０が予め決められた時間的スケジュール若しくは間隔（たとえば、１日１回）で実行されたかどうかを判定する。ステップ９−２に示されるように、トラッキングアシスタント５０５は、ファイル５１５からD-USN及びI-USNを取り出す。トラッキングアシスタント５０５は、アプリケーションが所定の時間間隔内に実行されたことを指定するためレジストリ鍵値を変更する。トラッキングアシスタント５０５は、ステップ９-３に示されるように、D-USN及びI-USNをサーバー４５５に送信する。ステップ９−４に示されるように、サーバー４５５は、D-USN及びI-USNを含むトラッキングデータを受信する。しかし、以下で詳述するように、トラッキングアシスタント５０５は、D-USN及びI-USN以外に、他のタイプのトラッキングデータを収集し、サーバー４５５に送信する。このアプリケーションで使用されるように、サーバー４５５により受信されたトラッキングデータの出現又はイベントは、トラッキングデータのインスタンスであり、すなわち、１台のコンピュータがD-USN及びI-USNをトラッキングデータとしてサーバー４５５に１００回送信した場合に、１００個のインスタンスが、これらの１００回の異なるトラッキングデータの送信を受信するサーバー４５５に関連付けられる。トラッキングアシスタント５０５によって送信されたトラッキングデータが受信されたインスタンス毎に、このインスタンスと関連した他のデータがデータベーステーブル４６５に格納される。その中には、好ましくは、インターネットプロトコル（ＩＰ）アドレスと、（好ましくは、サーバー４５５で測定された）タイムスタンプの現在時刻とが含まれる。より一般的には、サーバー４５５は、受信されたトラッキングデータのインスタンス毎に、コンピュータ４１０とサーバー４５５の間に形成されたネットワークリンクを用いて自動的に獲得された任意のタイプの情報を記録する。データベーステーブル４６４内のデータは、各D-USNに対し、各インスタンスで対応したI-USNと、各インスタンスが受信された時刻と、各インスタンスに対するその他のトラッキングデータを提示するよう構成される。
【００２９】
トラッキングアシスタント５０５によってサーバー４５５に通知されたトラッキングデータは、D-USN及びI-USNしか含まないが、トラッキングアシスタント５０５は、他のタイプのトラッキングデータを収集することに注意する必要がある。特に、トラッキングアシスタント５０５は、アプリケーション５１０の動作時に、最も頻繁に使用されるプログラム上の特徴に関する情報、多数のプログラム特徴が使用される頻度、ユーザが典型的に特定のアプリケーションを使用する時間の長さ、又は、アプリケーション５１０の使用状況に関するその他のデータのような他の情報を記録するようプログラムされる。好ましい一実施例において、トラッキングアシスタント５０５は、ユーザがアプリケーションを使用する態様に関するデータを含む出力ファイルを生成する。出力ファイルは、好ましくは、ファイル５１５に格納される。アプリケーション５１０の使用状況に関するこのトラッキングデータは、ユーザがアプリケーションを使用する頻度及び時間の長さに関するデータ、ユーザの好みの設定値、或いは、出力ファイルに記録されるほかのデータを含む。出力ファイルは、ファイル５１５に格納されたD-USN及びI-USNと共に、トラッキングアシスタント５０５によってサーバー４５５に送信される。これにより、ソフトウエアベンダーは、自分のダウンロードされたアプリケーションが使用される状況に関するデータを自動的に取得することができる。
【００３０】
本発明は、ソフトウエアベンダーに幾つかの利益をもたらす。一つの利益は、データベース４６０に記憶された情報が、ソフトウエアの重複の有無を判定するため解析されることである。データベース４６０に蓄積されたこの情報は、不法な複製が行われたかどうか、並びに、不正な複製が行われた場所を判定する際に補助的に使用される情報である。
【００３１】
本発明の別の利点は、多種類の人口学的データを収集できる点である。たとえば、第２のデータベーステーブル４６４に格納されたトラッキングデータと共に収容されたＩＰアドレスの記録は、各インスタンスで使用されたインターネットサービスプロバイダを表す情報を与える。本発明の更に別の利点は、製品サポートが容易に行えることである。一例として、本発明は、ベンダーが実際に組み込まれるアプリケーションの複製物の数を決める際に使用される。たとえば、データベース４６０が、少なくとも一つの対応したインスタンス（すなわち、第２のデータベーステーブル４６４に記憶された対応したI-USN）をもたない特定のD-USNの記録を保存する場合、ユーザはアプリケーションを巧く組み込むことができないか、又は、巧く実行することができない旨が通知される。この情報は、たとえば、サポートスタッフに転送され、サポートスタッフは、プログラムを組み込む際のヘルプの提示に関して、顧客に連絡を取る。
【００３２】
また、本発明によれば、ベンダーは、組み込まれたソフトウエアが実際に使用される状況に関する情報を取得できる。この情報の中には、使用頻度と、使用日時と、使用された機能と、使用頻度と購入後の経過時間の関係が含まれる。これにより、たとえば、ソフトウエアに関する潜在的な問題点を評価するため、プログラムをそれほど頻繁に使用しないユーザに関する調査若しくはサポートを顧客サービス及び個人サポートの目標とすることができる。或いは、顧客サービス及びサポートは、ユーザがソフトウエアプログラムの中で最も重要な特徴であると考えている特徴を判定するため、頻度の高いユーザに関する調査を目標としてもよい。
【００３３】
図７は、サーバー４５５がデータベース４６０に格納されたデータを解析するトラッキングデータアナライザ４８０を含む本発明の他の実施例を示す図である。データベース４６０に格納されたデータは、顧客行動パターンを判定し、又は、顧客サービス及びサポートにより使用するための情報を与えるため、トラッキングデータアナライザ４８０によって自動的に解析される。たとえば、第１のデータベース４６２は、好ましくは、D-USNだけではなく、ユーザの名前及びユーザがソフトウエアを取得した時刻を格納する。このデータは、保証データベース、又は、製品アップデート及び新製品に関する情報を自動的に受信する顧客のリストを与えるため使用される。さらに、アプリケーションを組み込んでいないユーザ、或いは、アプリケーションを殆ど使用することがないユーザのリストが顧客サポートを行うためデータアナライザ４８０によって作成される。トラッキングデータアナライザは、好ましくは、顧客サポートメッセージを自動的に送信するようプログラムされる。たとえば、トラッキングデータアナライザは、ユーザが所定の時間経過後にプログラムを巧く組み込むことができなかった場合に、「アプリケーションを組み込む際にトラブルが発生しましたか？無料顧客サポートホットラインは１日２４時間オープンしています。1-800  ヘルプインストールに電話してください。」というメッセージを送信するようプログラムされる。
【００３４】
サーバー４５５は、起こり得る許可されていない使用を表す出力信号を形成するため、トラッキングデータアナライザ４８０から解析されたデータに応答して動作する不許可使用コントローラ４９０を含む。不許可使用コントローラ４９０は、重大な著作権侵害が発生している可能性があるとの警告をソフトウエアベンダーに出力する。たとえば、一つのD-USNが所定数を上回るI-USNと関連付けられている場合、ベンダーによるアクションに対し警告が自動的に送信される。一例として、コントローラ４９０は、所定数（たとえば、１００個）を超えるI-USNが一つのD-USNに対し存在する場合に、警告メッセージを自動的に送信するようプログラムされる。コントローラ４９０は、許可されていない疑いのあるユーザに対し、電子メール又はその他の手段を用いて、警告メッセージを送信する。
【００３５】
トラッキングアシスタント５０５及びアプリケーション５１０は、動作禁止コマンドの受信時、或いは、動作許可コードを再入力しないことによって、アプリケーション５１０の動作を停止させる通例的なソフトウエア制御プログラム要素を含むことがある。その結果として、コントローラ４９０は、他の実施例において、アプリケーション５１０に動作禁止コマンドを送信するか、或いは、アプリケーション５１０に動作許可コードを送信しないことによって、許可されていないバージョンのアプリケーション５１０の動作を禁止する機能を実行する従来の制御素子を含む。
【００３６】
一般的に、本発明は、特に、ダウンロードされたソフトウエアに関係するが、トラッキング機能は、インターネットからダウンロードされたソフトウエアだけではなく、他の手段を用いてロードされたソフトウエアに対しても使用される。特に、ソフトウエアアプリケーションモジュール４４２及びトラッキングアシスタントモジュール４４４は、フロッピー（登録商標）ディスク若しくはCD-ROMに記録されたインストーラーモジュール４４０をローディングすることによって組み込むことも可能である。
【００３７】
図８には、サーバー４５５がダウンロードされるべきアプリケーションを格納していない本発明の一実施例が示されている。図８に示された実施例の場合、ユーザは、アプリケーション５１０及びトラッキングモジュール５０５を、たとえば、フロッピー（登録商標）ディスク若しくはコンパクトディスクに記録されたインストーラーモジュール４４０のローディングなどの通例的な方法で組み込んでいる。本実施例の場合、D-USNは、従来の方法で配布してもよい。しかし、以下に、ダウンロードされていないソフトウエアに対しD-USNを配布するための多様な方法を提案する。第一に、ソフトウエアは、販売時に印刷されたD-USNシリアル番号が添付され、ユーザは、アプリケーション５１０及びトラッキングアシスタント５０５の組み込み処理の一部として、この印刷されたD-USNシリアル番号を入力する。第二に、D-USNは、アプリケーションプログラム内に埋め込まれる。この場合、アプリケーション５１０とD-USNを一つにまとめるため、いわゆる「パッキングプログラム」が必要である。第三に、D-USNは、ネットワーク４５０を介してサーバー４５５から自動的に獲得される。この場合、ユーザがアプリケーションを組み込む際に、ネットワークコネクションが自動的に行われる必要がある。インストーラープログラムは、次に、上述のダウンロードされたプログラムと同様の方法でインストール時に、I-USNを生成し、記録する。
【００３８】
定期的に使用されるアプリケーション５１０の実際の複製物の数を追跡する本発明の能力は、ソフトウエアベンダーによって多様な有利な形態で使用される。一例として、ある種のソフトウエア、特に、インターネットの使用に関連したソフトウエアは、ユーザに無料で配布される。無料配布ソフトウエアのソフトウエアベンダーにおける一つの経済的価値は、アプリケーションが実行されるとき、アプリケーションによって起動され、或いは、表示される広告から得られる。たとえば、一部のプログラムは、ユーザがアプリケーションを起動するとき、広告バーナーを表示する。ソフトウエアベンダーは、配布されたアプリケーションの数に基づいて広告主から料金を徴収する。許可されていない複製物が配布されると、アプリケーションの配布数が減少するので、広告収入の損失が生じる。たとえば、平均的に複製物の半分がユーザによって実際に使用され、共用される場合、ソフトウエアベンダーは、最初に、実際に使用中のアプリケーションの複製物の数の半数に基づく広告料金しか得られない。しかし、本発明を用いることにより、ソフトウエアベンダーは、使用中のアプリケーションの複製物の総数を正確に計数することができ、広告収入を著しく増加させることができる。さらに、本発明を使用することにより、ソフトウエアベンダーは、各ユーザによってアプリケーションが実行された回数に基づいて広告料金、すなわち、広告がユーザに提示された回数に基づく料金を徴収することも可能である。このような本発明の用法はインターネット、ローカル・エリア・ネットワーク、或いは、ワイド・エリア・ネットワークに適用される。
【００３９】
無料配布ソフトウエアの別の経済的利益は、ソフトウエアベンダーの販売ツールとしての無料配布ソフトウエアの価値に関係する。ソフトウエアベンダーは、自らが販売する他の製品やサービスのための顧客層を開拓するため、無料配布ソフトウエアを提供する。たとえば、ソフトウエアベンダーは、無料配布ソフトウエアを供与したユーザから登録情報を取得し、他の製品やサービスを販売するために役立てる。さらに、ソフトウエアベンダーが販売する他の製品やサービスの一部のソフトウエア機能のソフトウエア上の特徴を無料配布ソフトウエアに組み入れることによって、潜在的な顧客をそのソフトウエア機能に習熟させることができる。しかし、無料配布ソフトウエアの不許可複製は、誤りを起こし、巧く動作しない無料配布ソフトウエアの改造バージョンを生み出すおそれがある。その上、無料配布ソフトウエアの不許可複製は、ソフトウエアベンダーが他の製品及びサービスのため潜在的な顧客に関する情報の取得する妨げとなる。これに対し、本発明を使用することにより、ソフトウエアベンダーは、無料配布ソフトウエアの使用状況に関する情報を獲得することができ、このような無料配布ソフトウエアを販売ツールとしてより効果的に利用できるようになる。たとえば、トラッキングアシスタント５０５のプログラミングは、ソフトウエアベンダーによって販売されるほかの製品及びサービスで使用される特徴と類似した製品特徴の使用状況に関する情報を記録し、送信するようプログラミングされる。この情報は、ソフトウエアベンダーが、他の製品及びサービスの販売を促進する無料配布ソフトウエアを設計するために役立つ。さらに、ソフトウエアベンダーは、販売努力をより効率的に集中させるため利用できる人口学的データを獲得することができる。また、無料配布ソフトウエアの不許可複製を監視する能力は、必要があれば、ソフトウエアベンダーが無料配布ソフトウエアの変造された不許可複製物がそのソフトウエアベンダーの評判を低下させることを防止するために役立つ。
【００４０】
本発明の別のアプリケーションは、ローカル・エリア・ネットワークのアプリケーションおけるソフトウエアの使用状況を監視することである。一例として、ソフトウエアアプリケーションは、ローカル・エリア・ネットワーク内で使用されるアプリケーションの複製物の本数に基づいてユーザを統合するためライセンス供与される。１個のD-USNが、インストーラーモジュール４４０へのアクセス権と共にローカル・エリア・ネットワークのユーザに与えられる。組み込まれた各複製物は、同じD-USNと、異なるI-USNを有する。ソフトウエアベンダーは、共同クライアントがライセンス合意の条件の範囲内に収まっているかどうかを判定するため、作成若しくは使用されたアプリケーションの複製物の本数を追跡することができる。或いは、ローカル・エリア・ネットワークが定期的に使用されるアプリケーションの複製物の本数を所定の閾値よりも増加させた場合、追加料金が自動的に課金される。また、特定のタイプのユーザに関する人口学的データが自動的に収集され、解析される。たとえば、ソフトウエアベンダーが各ローカル・エリア・ネットワークグループに与えたD-USNの記録を保持するならば、トラッキングアシスタント５０５は、ローカル・エリア・ネットワーク内の各ユーザにトラッキングデータを供与する。これにより、ソフトウエアベンダーは、異なるローカル・エリア・ネットワークサイトでのアプリケーションの使用状況を比較することができる。たとえば、トラッキングアシスタント５０５によって送信された使用頻度、使用時間の長さ、使用された特徴、及び、ユーザ嗜好に関するデータに関して、法律事務所内で収集されたデータと、エンジニアリング会社内で収集されたデータは異なる。
【００４１】
インターネットユーザグループのようなワイド・エリア・ネットワークの場合に、本発明は、ワイド・エリア・ネットワーク内で使用されるソフトウエア製品の使用状況の追跡を容易に行うため使用される。ワイド・エリア・ネットワークは、典型的に、単一の組織によって運営、管理される。管理組織は、提供したサービスの使用状況を監視若しくは調整することに屡々関心がある。一例として、同じインターネットサービスプロバイダを使用するユーザのグループのようなインターネットユーザのグループは、グループ内でのオンラインチャット又はページングのため共通のソフトウエアアプリケーションを使用する。本発明を使用することにより、インターネットサービスプロバイダは、ソフトウエアアプリケーションの使用状況を追跡することができる。これにより、アプリケーションがどのように使用されているかを判定するため、ソフトウエアアプリケーションの使用状況の追跡が容易に行える。本発明は、会員ユーザが非会員とアプリケーションを共用しているかどうかを判定するため使用することができる。さらに、上述の通り、本発明は、許可されていないアプリケーションのバージョンを停止させるため使用することができる。
【００４２】
D-USN及びI-USNを生成するアルゴリズムは、多様な形で実現される。しかし、D-USNは、好ましくは、擬似乱数属性を有する識別コードである。I-USNは、好ましくは、D-USNと関連し、かつ、擬似乱数属性を有する識別コードである。D-USN及びI-USNを生成するための比較的に簡単かつ効率的な好ましいアルゴリズムは、既に提案した。
【００４３】
ダウンロードされたソフトウエアの場合、第１の識別コードD-USNは、アプリケーションのダウンロードを要求したユーザに自動的に与えられる。第１の識別コードは、好ましくは、長さが９文字長であり、各文字は、０〜９、及び、Ａ〜Ｚの３６個の英数字のいずれかに対応した数値を有する。たとえば、文字Ａは値１０をとり、文字Ｂは値１１をとり、（中略）、文字Ｚは値３５をとる。D-USNの一例は、識別コード"RHR5D39ET"である。
【００４４】
９文字の英数字コードは、好ましくは、データベースから取得された識別コードの文字の部分と、ダウンロードされた時刻の関数として作成された残りの文字の部分とを含む。好ましい一実施例において、４文字は６桁の識別コードから得られ、残りの５文字はインストーラーがダウンロードされた時刻の関数として導かれる。
【００４５】
データベースの最初の６桁の識別コードを４桁の文字列に変換するため、好ましくは、剰余法が使用される。本例で使用されるように、剰余（＝モジュロ）とは、割り算の余りである。一例として、999を36で除算する場合を考えると、
999/36=27  余り17
である。この式は、数学的に、
999%36=17
のように表現される。
【００４６】
本発明における剰余法の一例として、データベース識別コードが999987の場合を考える。識別コードは、好ましくは、３桁ずつの２個の文字列に分割され、たとえば、
999987→999  987
のようになる。３桁の各文字列は、その商と剰余を計算することによって、３６通りの値をとる文字に変換される。たとえば、999987は、２個の３桁文字列999と987に分割される。商は、各文字列の数値を数値３６で割り算することにより計算される。たとえば、999の商は、
999/36=27
である。数値２７は、３６文字の英数字系の中の文字"R"に対応する。剰余は、割り算の余りから計算される。本例の場合、割り算の余りは、
999-36・27=27
より、27である。すなわち、
剰余＝999%36=27
であり、剰余は英数字"R"に対応する。したがって、３桁の文字列"999"は、２文字の英数文字列"RR"に対応する。同じ手法が３桁の文字列"997"にも適用され、その結果として、２文字の英数文字列"RF"が得られる。かくして、初期の識別コードからの６桁のデータベースコード"999987"は、４文字の英数字コード"RRRF"に変換される。
【００４７】
D-USNの中の残りの５個の英数文字は、ダウンロード時刻から計算される。９桁の時間コードを作成する好ましい方法は、ダウンロードされた時刻と、他の時刻との差の絶対値をとることである。たとえば、９桁のコードは、ダウンローディング時刻と、2025年12月31日(12/31/2025)の始まりの時刻との差をとり、その差を秒単位に換算することによって得られる。たとえば、1999年6月29日14時51分02秒と、2005年12月31日との差は、836471338秒である。この９桁の文字列は、３桁ずつの３個のグループに分割される。３桁の各文字列は、上記の方法と同じ方法を用いて、３６に関する商と剰余を計算することによって、２個の英数字に変換される。これにより、６文字の英数字コードが得られる。同じ方法を用いることによって、836471338から６文字の英数字コード"N8D39E"が導出される。この6文字のコードは、最後の４文字、すなわち、"D39E"だけを選択することによって、４桁で打ち切られる。最後（５番目）の文字は、確認文字として作成される。最後の文字を作成するため、全英数字の数値が加算される。したがって、先行の例の場合、各文字の数値の合計は、
(R+R+R+F)+(D+3+9+E)=135
である。確認数値は、この合計を３６で除算した剰余を計算し(115%36=27)、英数確認文字の数値を見つけるためこの数を３６から減算することによって選択される。本例の場合、８文字の合計に対する剰余２７から、
36-27=9
が確認文字"9"として得られる。したがって、D-USNコードは、"RRRFD39E9"となる。D-USNを確認するため、インストーラーは、９個の文字の数値を加算し、得られた合計が３６で割り切れるかどうかを判定する。たとえば、本例のD-USN識別コードの合計、すなわち、
"R+H+R+5+D+3+9+E+T"=144
について、
144%36=0
であるかどうかが検査される。このD-USNの合計値の３６を法とした剰余が０であるならば、すなわち、
合計%36=0
であるならば、インストレーションは有効であり、さもなければ、インストーラーは処理を継続しない。
【００４８】
I-USNコードは、インストーラー４４０によって生成され、ユーザレジストリに保存される。I-USNコードは、好ましくは、英数字１３文字の長さであり、各文字は、値０〜９、或いは、Ａ〜Ｚのいずれかである。最初の９文字は、好ましくは、D-USNから導出され、最後の４桁は、インストレーション時刻から導出される。D-USNから導出される最初の９文字は、好ましくは、インストレーションプロセスを開始するためユーザがD-USNを入力したときに獲得される。
【００４９】
I-USNの最後の４文字は、インストレーション時刻から獲得される。そのため、好ましくは、（インストレーション中に）時刻のフォーマットを取得し、年月日の部分を切り捨てる。これにより、時、分及び秒だけが残され、通例的なhh:mm:ss（時：分：秒）のディジタル形式で表現される。６桁のコードは、好ましくは、２個の３桁ずつのコードに分割される。すなわち、"hhmmss"は、"hhm"と"mss"に分割される。一例として、04:19:48は、"041"と"948"に分割される。３桁の数値毎に、４文字の英数文字列を生成すべく、上記の剰余法を使用して商と剰余が計算される。本例の場合、
041→"17"
948→"QC"
であるので、時分秒の６桁のコード"04:19:48"は、４文字の英数字コード"17QC"に変換される。かくして、インストーラーが使用された時刻が"12/31/9999,04:19:48"であり、D-USNが"RHR5D39E"であるならば、得られるI-USNは、
"RHR5D39ET-17QC"
である。
【００５０】
以上の通り、本発明の好ましい実施例及びその変形例について詳細に説明したが、本発明はこれらの実施例及び変形例に厳密に制限されるものではなく、当業者は、特許請求の範囲に記載されているような本発明の精神並びに範囲を逸脱することなく、上記以外の変形及び変更をなし得ることに注意する必要がある。
【００５１】
以上の説明に関して更に以下のような態様が考えられる。
【００５２】
（付記１）  ソフトウエアをダウンロードする要求に応じて、第１の識別コードを生成し、ソフトウエアプログラムを遠隔的に提供するサーバーと、
上記サーバーに接続され、ソフトウエアアプリケーションプログラム、及び、上記ソフトウエアアプリケーションの動作を表すトラッキングデータを自動的に送信するトラッキングアシスタントを有し、上記第１の識別コード及び登録データのエントリーに応じて、ダウンロードソフトウエアをコンピュータに組み込み、上記ソフトウエアアプリケーションプログラムが上記コンピュータに組み込まれたときに第２の識別コードを生成するダウンロード可能なインストーラーモジュールと、
上記サーバーに接続され、上記第１の識別コード及び上記第２の識別コードを含む上記トラッキングデータを記憶するデータベースとを具備し、ダウンロードされたプログラムの使用状況を追跡するシステム。
【００５３】
（付記２）  上記サーバーは上記トラッキングデータが上記サーバーによって受信された時刻を記録する、付記１記載のシステム。
【００５４】
（付記３）  上記トラッキングデータはインターネットを介して送信され、
上記サーバーは上記トラッキングデータが上記サーバーによって受信されたときにインターネットプロトコルアドレスを記録する、付記２記載のシステム。
【００５５】
（付記４）  上記サーバーは、上記ソフトウエアアプリケーションをダウンロードする要求に応じて、上記第１の識別コード及び上記登録データを上位データベースに自動的に記録する、付記１記載のシステム。
【００５６】
（付記５）  上記第２の識別コードは上記第１の識別コード及びインストール時刻の関数である、付記１記載のシステム。
【００５７】
（付記６）  上記トラッキングアシスタントは、所定のスケジュールにしたがって、上記第１の識別コード及び上記第２の識別コードを送信する、付記１記載のシステム。
【００５８】
（付記７）  上記データベースに接続され、上記データベースに記憶されたデータを自動的に解析するデータアナライザを更に有する付記１記載のシステム。
【００５９】
（付記８）  上記データアナライザは、少なくとも一つの顧客サポート機能を自動的に実行する、付記７記載のシステム。
【００６０】
（付記９）  上記データアナライザは、上記ダウンロードされたソフトウエアプログラムアプリケーションの使用状況を解析し、付加的な顧客サポートを必要とするユーザを判定する、付記７記載のシステム。
【００６１】
（付記１０）  上記データアナライザに接続され、上記ソフトウエアアプリケーションプログラムの許可されていない複製を表す出力を具備したコントローラを更に有する付記７記載のシステム。
【００６２】
（付記１１）  上記ソフトウエアアプリケーションプログラムの動作は上記サーバーによって停止され、
上記コントローラは、上記ソフトウエアアプリケーションプログラムの許可されていない複製物の動作を停止するようプログラムされている、付記１０記載のシステム。
【００６３】
（付記１２）  コンピュータに搭載されたソフトウエアアプリケーションプログラムと、
上記コンピュータに搭載され、上記ソフトウエアアプリケーションプログラムの動作を表すトラッキングデータを自動的に送信するトラッキングアシスタントと、
ネットワークを介して上記トラッキングデータが伝達されるデータベースを備えたサーバーとを有し、
上記トラッキングデータは、第１の識別コードと、上記ソフトウエアアプリケーションプログラムが上記コンピュータに組み込まれたときに上記コンピュータによって生成される第２の識別コードとを含む、ソフトウエアの使用状況を追跡するシステム。
【００６４】
（付記１３）  上記トラッキングアシスタントは、上記ソフトウエアアプリケーションプログラムの動作時にトラッキングデータを自動的に記録する、付記１２記載のシステム。
【００６５】
（付記１４）  上記トラッキングデータは出力ファイルに記録され、
上記出力ファイルは、上記ソフトウエアアプリケーションプログラムが使用さえる頻度と、上記ソフトウエアアプリケーションプログラムが使用される時間の長さと、上記ソフトウエアアプリケーションプログラムのユーザ嗜好と、上記ソフトウエアアプリケーションプログラムの少なくとも一つの使用状況とからなる群より選択されたデータを含む、付記１３記載のシステム。
【００６６】
（付記１５）  上記トラッキングデータは所定のスケジュールにしたがって上記サーバーへ送信される、付記１２記載のシステム。
【００６７】
（付記１６）  上記スケジュールは上記ソフトウエアアプリケーションプログラムの動作の関数である、付記１５記載のシステム。
【００６８】
（付記１７）  上記トラッキングデータは、上記ネットワークへのアクセスに依存したスケジュールで上記サーバーへ送信される、付記１２記載のシステム。
【００６９】
（付記１８）  ソフトウエアアプリケーション、及び、上記ソフトウエアアプリケーションの動作に関するデータを記録し送信するトラッキングアシスタントを含むインストーラーを備え付ける工程と、
第１の識別コードを付与する工程と、
上記ソフトウエアアプリケーション及び上記トラッキングアシスタントを組み込むため上記第１の識別コードを入力する工程と、
第２の識別コードを生成する工程と、
上記第１の識別コード及び上記第２の識別コードをコンピュータのメモリ部に記録する工程と、
上記トラッキングアシスタントを介して、上記第１の識別コード及び上記第２の識別コードを遠隔サーバーのデータベースに定期的に伝達する工程とを有し、
上記トラッキングアシスタントモジュールは上記第１の識別コード及び上記第２の識別コードを上記遠隔サーバーに送信するためネットワークリンクを自動的に作動させる、コンピュータソフトウエアを追跡する方法。
【００７０】
（付記１９）  上記インストーラーはインターネットに接続されたウェブサイトからダウンロードされる、付記１８記載の方法。
【００７１】
（付記２０）  上記第１の識別コードは上記インストーラーがダウンロードされた時刻の関数である、付記１８記載の方法。
【００７２】
（付記２１）  上記サーバーは上記第１の識別コードを生成し、
上記第１の識別コード、及び、上記インストーラーがダウンロードされた時刻を上記データベースに記録する工程を更に有する付記１８記載の方法。
【００７３】
（付記２２）  上記第２の識別コードは上記第１の識別コードの関数である付記１８記載の方法。
【００７４】
（付記２３）  上記サーバーはデータアナライザを具備し、
上記ソフトウエアアプリケーションの重複した複製物が組み込まれたかどうかを判定するため、上記データベース内の上記第１の識別コードのインスタンス及び上記第２の識別コードのインスタンスを解析する工程を更に有する付記１８記載の方法。
【００７５】
（付記２４）  上記サーバーは上記第１の識別コード及び上記第２の識別コードを受信した時刻を記録し、
上記ソフトウエアアプリケーションが使用される頻度を解析する工程を更に有する付記１８記載の方法。
【００７６】
（付記２５）  上記データベースに記録されたデータを解析するデータアナライザを備え付ける工程と、
ユーザが上記ソフトウエアアプリケーションを利用する頻度に基づいて、顧客サービスをユーザに提供する工程とを更に有する付記１８記載の方法。
【００７７】
（付記２６）  アプリケーションモジュールが許可なく使用されているかどうかを判定するため、データアナライザ及びコントローラを備え付ける工程と、
上記アプリケーションモジュールの許可されていないバージョンを禁止する工程とを更に有する付記１８記載の方法。
【００７８】
（付記２７）  上記トラッキングアシスタントは上記ソフトウエアアプリケーションの動作に関するデータを記録し、
上記データを、上記第１の識別コード及び上記第２の識別コードと共に上記サーバーへ送信する工程を更に有する付記１８記載の方法。
【００７９】
（付記２８）  上記ソフトウエアアプリケーションは広告情報を表示し、
広告主に課金される料金を計算するため上記トラッキングデータを使用する工程を更に有する付記１８記載の方法。
【００８０】
（付記２９）  上記コンピュータはローカル・エリア・ネットワークに接続され、
上記ローカル・エリア・ネットワーク内に組み込まれたアプリケーションの数を計算する工程を更に有する付記１８記載の方法。
【００８１】
（付記３０）  上記コンピュータはワイド・エリア・ネットワークに接続され、
上記ワイド・エリア・ネットワークのユーザのグループ内でのアプリケーションの使用状況を監視する工程を更に有する付記１８記載の方法。
【００８２】
（付記３１）  インターネットリンクを介してデータベース及びダウンロード可能なインストーラーを含むサーバーに接続されたウェブサイトにアクセスする工程と、
上記ウェブサイトから第１の識別コードをダウンロードする工程と、
上記ウェブサイトからコンピュータのメモリに、ソフトウエアアプリケーション及びトラッキングアシスタントモジュールを含む上記インストーラーをダウンロードする工程と、
上記ソフトウエアアプリケーション及び上記トラッキングアシスタントモジュールを上記コンピュータに組み込むため、上記第１の識別コードを上記インストーラーに挿入する工程と、
上記ソフトウエアアプリケーションモジュールが組み込まれた時刻の関数である第２の識別コードを生成する工程と、
上記第１の識別コード及び上記第２の識別コードを上記コンピュータの上記メモリに記録する工程と、
上記ソフトウエアアプリケーションの動作の関数であるスケジュールにしたがって、上記第１の識別コード及び上記第２の識別コードを上記サーバーのデータベースへ送信する工程とを有し、
上記トラッキングアシスタントは、上記第１の識別コード及び上記第２の識別コードを上記サーバーへ送信するため、インターネット接続を自動的に作動させる、コンピュータソフトウエアを追跡する方法。
【００８３】
（付記３２）  上記第１の識別コード及び上記第２の識別コードは所定のスケジュールにしたがって上記サーバーへ送信され、
上記サーバーは上記第１の識別コード及び上記第２の識別コードが受信された時刻を記録する、付記３１記載の方法。
【００８４】
（付記３３）  上記ソフトウエアアプリケーションの使用状況に関するデータをトラッキングデータとして記憶する工程と、
上記第１の識別コード及び上記第２の識別コードが送信されたときに、上記トラッキングデータを送信する工程とを更に有する付記３１記載の方法。
【００８５】
（付記３４）  インストーラーモジュールに固有の第１の識別コード及び登録データをデータベースに格納する手段と、
上記インストーラーモジュールによってソフトウエアアプリケーションがコンピュータに組み込まれる際に該インストーラーモジュールに固有の第１の識別コードを基に生成される固有の第２の識別コードを少なくとも含むトラッキングデータをコンピュータから受信する手段と、
上記第１の識別コードと上記受信した第２の識別コードとを用いてソフトウエアアプリケーションの使用状況を管理する手段と、
を具備するサーバー。
【００８６】
（付記３５）  上記登録データの通知に応じて、上記ソフトウエアアプリケーションをコンピュータに組み込む際に必要な上記第１の識別コードを上記登録データの通知元に通知する、付記３４記載のサーバー。
【００８７】
（付記３６）  インストーラーモジュールに固有の第１の識別コードを受信する手段と、
上記インストーラーモジュールによるソフトウエアアプリケーションの組み込み時に上記第１の識別コードを基に固有の第２の識別コードを生成する手段と、
上記第１の識別コードと上記第２の識別コードによりソフトウエアアプリケーションの使用状況を管理するサーバーに、少なくとも上記第２の識別コードを含むトラッキングデータを送信する手段と、
を具備するコンピュータ。
【００８８】
（付記３７）  コンピュータに、
インストーラーモジュールに固有の第１の識別コード及び登録データをデータベースに格納し、
インストーラーモジュールによってソフトウエアアプリケーションが装置に組み込まれる際に該インストーラーモジュールに固有の第１の識別コードを基に生成される固有の第２の識別コードを少なくとも含むトラッキングデータを該装置から受信し、
上記第１の識別コードと上記受信した第２の識別コードとを用いてソフトウエアアプリケーションの使用状況を管理する、
ことを実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【００８９】
（付記３８）  コンピュータに、
ソフトウエアアプリケーションの組み込み時に固有の第１の識別コードを基に固有の第２の識別コードを生成し、
上記第１の識別コードと上記第２の識別コードによりソフトウエアアプリケーションの使用状況を管理するサーバーに、少なくとも第２の識別コードを含むトラッキングデータを送信する、
ことを実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【００９０】
以上の説明の通り、本発明の配布可能なソフトウエアアプリケーションを追跡する方法及び装置は、ソフトウエアアプリケーションの動作及び配布を監視するため、二つの識別コードとトラッキングアシスタントを使用する。第１のコードは、好ましくは、ユーザがウェブサーバーにアクセスするときに作成されダウンロードされる識別コードである。第１の識別コード及び他の登録データはウェブサーバーに接続されたデータベースに記憶される。第２の固有インストールコードは、ソフトウエアアプリケーションがユーザのコンピュータに組み込まれるときに自動的に作成される。引き続いて、同じ第１のコードを用いてアプリケーションを組み込むと、異なるインストールコードが生成される。トラッキングアシスタントモジュールは、所定のスケジュールにしたがって、ネットワーク（インターネット）を介して両方のコードをデータベースに自動的に送信する。トラッキングアシスタントの一実施例は、アプリケーションの使用状況に関する他のデータ、たとえば、使用頻度或いは一般的に使用される特徴などを収集し、二つのコードと共にトラッキングデータとして送信する。トラッキングデータアナライザは、好ましくは、アプリケーションの許可されていない使用が行われたかどうかを判定し、又は、個別の顧客サポート及びサービス機能の提供を支援するため、データベースに接続される。
【図面の簡単な説明】
【００９１】
【図１】本発明の第１実施例の概略図である。
【図２】ソフトウエアモジュールがローカルコンピュータにダウンロードされ、組み込まれた本発明のサーバーを表す概略図である。
【図３】ウェブサイトからインストーラーモジュールをダウンロードする好ましい一動作シーケンスの説明図である。
【図４】アプリケーション及び本発明のトラッキングアシスタントを組み込む好ましい一動作シーケンスの説明図である。
【図５】アプリケーションが本発明のトラッキングアシスタントを始動させる好ましい一動作シーケンスの説明図である。
【図６】トラッキングアシスタントがサーバーに接続されたデータベースへトラッキングデータを通信する好ましい一動作シーケンスの説明図である。
【図７】サーバーが付加的なデータ解析及び制御機能を実行する本発明の第２実施例の概略図である。
【図８】トラッキングデータを受信するサーバーがソフトウエアアプリケーションをダウンロードしない本発明の第３実施例の概略図である。
【符号の説明】
【００９２】
４１０    コンピュータ
４３０    ハードドライブ装置
４４０    インストーラーモジュール
４４２    アプリケーションモジュール
４４４    トラッキングアシスタントモジュール
４４５    カップリング装置
４５０    ネットワーク
４５５    サーバー
４６０    データベース
４６２    第１のデータベーステーブル
４６４    第２のデータベーステーブル
４７０    アクセス・制御モジュール
４８０    トラッキングデータアナライザ
４９０    不許可使用コントローラ
５００    システム
５０５    トラッキングアシスタント
５１０    アプリケーション
５１５    ファイル
【図１】
0004588682.tif 000002
【図２】
0004588682.tif 000003
【図３】
0004588682.tif 000004
【図４】
0004588682.tif 000005
【図５】
0004588682.tif 000006
【図６】
0004588682.tif 000007
【図７】
0004588682.tif 000008
【図８】
0004588682.tif 000009