JP2001100855A - デモ評価ソフトウェアの実行時間使用量を監視する方法 - Google Patents

デモ評価ソフトウェアの実行時間使用量を監視する方法

Info

Publication number
JP2001100855A
JP2001100855A JP2000226249A JP2000226249A JP2001100855A JP 2001100855 A JP2001100855 A JP 2001100855A JP 2000226249 A JP2000226249 A JP 2000226249A JP 2000226249 A JP2000226249 A JP 2000226249A JP 2001100855 A JP2001100855 A JP 2001100855A
Authority
JP
Japan
Prior art keywords
execution time
software
storage medium
readable storage
computer readable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000226249A
Other languages
English (en)
Inventor
Scott L Broutin
エル.ブローチン スコット
Mindaugas Fernand Dautartas
ファーナンド ダウタータス ミンダーガス
John W Stayt Jr
ウィリアム ステイト ジュニヤ ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2001100855A publication Critical patent/JP2001100855A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Abstract

(57)【要約】 (修正有) 【解決手段】 デモ評価ソフトウェアの実行時間使用量
を監視する方法であって、ソフトウェア・プログラムを
実行中のクロック数が監視され、実行全体を通じて周期
的に経過実行時間が更新される。その経過実行時間は隠
しファイルの中、あるいはソフトウェア・レジストリ中
のキーの内部に格納される。そして、経過した実行時間
が所定の評価時間を超えるまで動作し続け、その時点で
ユーザによって登録されるまで実行不能にされる。 【効果】 周期的に実行時間を更新することによって、
プログラム・クラッシュが発生した場合でも、確実に実
行時間使用量の正確なトラッキングがなされ、ユーザは
失われた時間のペナルティなしにそのプログラムを再ス
タートすることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して、コンピュ
ータ・ソフトウェアの分野に関し、特にデモンストレー
ション(「デモ」)評価ソフトウェアの実行時間使用量
を監視する方法に関する。
【0002】
【従来の技術】現在のビジネス環境においては、潜在的
な顧客が新しいソフトウェア・パッケージを、そのソフ
トウェアを購入する前に試用または評価できるようにす
ることが非常に有用である。通常、ソフトウェアの提供
者は、購入されるべき実際のソフトウェアの見本である
デモンストレーションまたは評価用のソフトウェア・パ
ッケージを提供する。その顧客にはそのソフトウェアを
評価するための所定の期間が与えられ、その後、ソフト
ウェア提供者がその顧客に対して延長を提供するか、あ
るいはその顧客が実際のソフトウェアを購入しない限
り、そのデモンストレーション・ソフトウェアの使用は
終了しなければならない。
【0003】時には、そのデモンストレーション・ソフ
トウェアは実際のソフトウェア・パッケージの機能制限
されたバージョンである。すなわち、デモンストレーシ
ョンは実際のソフトウェア・パッケージにおいて提供さ
れることになる機能のいくつかが欠けている。これは顧
客の興味をそそるために使われる「ティーザー広告」と
して役立つ。また場合によっては、デモンストレーショ
ン・パッケージとして実際のソフトウェア・パッケージ
を提供することが望ましい場合がある。いずれの場合で
も、顧客は実際のソフトウェアの正常に動作するバージ
ョンを受け取っており、そのソフトウェアが購入されな
い場合において、評価期間が終了した後、そのデモンス
トレーション・ソフトウェアをその顧客が持っていて使
い続けることのないように注意されなければならない。
【0004】デモンストレーション・ソフトウェアの使
用を制限するためにいくつかの方法が提案されてきた。
通常、これらの方法は、評価期間終了後にそのソフトウ
ェアをディスエーブルする必要がある(すなわち、「デ
モンストレーションの時間切れ」を利用する)。たとえ
ば、一つの方法は、そのデモンストレーション・ソフト
ウェアが使われた回数に基づいて時間切れを提供するこ
とを含む。これは、そのデモンストレーション・ソフト
ウェアが開始された回数を求めることによって実現され
る。もう一つの方法は、パッケージのインストレーショ
ンの日付に相対的に決定される時間切れを使用する。
【0005】
【発明が解決しようとする課題】これらの方法には欠点
がないわけではない。たとえば、時間切れは実際の実行
時間使用量に基づいていない。すなわち、そのユーザの
デモンストレーション・パッケージの実際の使用を監視
または知ることはない。日付に基づいた方法では、ユー
ザはそのデモンストレーション・パッケージをインスト
ールしたが、その後のある日付までそのソフトウェアを
評価する機会がない場合がある。したがって、そのユー
ザの評価時間は劇的に減少している。さらに、そのユー
ザはそのデモンストレーションを実行しているコンピュ
ータ上でシステム日付をロールバックすることができ、
したがって、そのソフトウェアがデモンストレーション
期間を過ぎても使えるように細工することができる。パ
ッケージが開始された回数に基づいている方法において
は、ユーザはそのプログラムを一度起動し、それを再ス
タートさせずに連続的に実行させておくことができ、し
たがって、デモンストレーション期間を延ばすことがで
きる。結果として、プログラム・システムのクラッシュ
が発生した場合、ユーザはデモンストレーションを再ス
タートさせる必要があり、それによって使用時間が減少
する。デモンストレーション・ソフトウェアの実際の実
行時間使用量に基づいたデモンストレーションの時間切
れの方法があれば、これらの欠点が緩和されることにな
る。したがって、実際の実行時間使用量に基づいてデモ
ンストレーション・ソフトウェアの使用量を監視する方
法に対するニーズおよび要望がある。
【0006】時には、提供者が元の期間を超えてデモン
ストレーション期間を延長することが望ましい場合があ
る。ユーザがそのデモンストレーション・パッケージを
完全に評価するに至らない場合がしばしばある。通常、
これは、部分的にはそのユーザのそのパッケージについ
ての経験不足が原因である。しかし、他の場合には、ユ
ーザは仕事で忙しく、あるいは単純に割り当てられた期
間内にそのソフトウェアを評価できない場合がある。そ
の時、そのユーザは新しい評価期間の新しいデモンスト
レーション・パッケージを得るために、その提供者に連
絡せざるを得ない。このために、そのデモ・ソフトウェ
アの新しいコピーをそっくり出荷する必要があり、ユー
ザはその新しいコピーをインストールする必要がある。
これは提供者およびユーザの両方にとって不便であり、
非効率的である。したがって、単純で、効率的且つ便利
な方法でデモンストレーション・ソフトウェアの評価期
間を延長する方法に対するニーズおよび要望がある。
【0007】
【課題を解決するための手段】本発明は、実際の実行時
間使用量に基づいてデモンストレーション・ソフトウェ
アの使用量を監視する方法を提供する。
【0008】また、本発明は、提供者が実行時間使用量
について監視し、統計データを維持することができるよ
うにしながら、単純な、効果的且つ便利な方法でデモン
ストレーション・ソフトウェアの評価期間を延長する方
法も提供する。
【0009】本発明の長期の、および他の機能および利
点はソフトウェア・プログラムのその実行中のCPU
(「コンピュータ処理装置」)のクロック数を監視する
ことによって実現される。クロック数が監視され、そし
て期間ベースでのプログラムの実行全体を通じて経過し
た実行時間が更新される。経過した実行時間は隠しファ
イルの中、あるいはソフトウェア登録(データベース)
の内部のキーの中に記憶される。定期的なベースで実行
時間を更新することによって、プログラム・クラッシュ
が発生した場合でも実行時間使用量の正確なトラッキン
グが確保され、ユーザは失われた実行時間のペナルティ
なしにそのプログラムを再スタートすることができる。
そのソフトウェア・パッケージは、経過した実行時間が
所定の評価時間を超えるまで動作し続け、所定の評価時
間を超過した時点で、そのソフトウェア・パッケージは
それがそのユーザによって登録されるまで、完全に、あ
るいは部分的にディスエーブルされる。隠しトラッキン
グ・ファイルまたは登録に対する代わりの方法は、ワー
ルド・ワイド・ウェブのプッシュプル技術を使ってその
ソフトウェアの提供者のサイトにおいて実行時間情報を
記憶し、提供者が使用ごとの支払いのベースで評価期間
を変更することができる。
【0010】
【発明の実施の形態】本発明の前記、および他の利点
は、添付の図面を参照しながら下記の本発明の好適な実
施形態の詳細な説明からさらに明らかになるだろう。
【0011】本発明は、ソフトウェア・プログラムの実
際の実行時間使用量を追跡監視するのに適しており、通
常、評価時間が制限されているデモンストレーション・
プログラムの実際の実行時間使用量を追跡監視するのに
特に有用である。本発明は、ここではデモンストレーシ
ョン・ソフトウェアのプログラムまたはパッケージを参
照して説明されるが、実行時間使用量の監視が必要であ
るか、あるいは望ましい任意のソフトウェア・アプリケ
ーションに対して適していることを理解されたい。
【0012】図1は、本発明に従ってトラッキング・フ
ァイルを生成する方法の一例10をフローチャート形式
で示している。トラッキング・ファイルの一例が図2に
示されている。図に示されているように、トラッキング
・ファイルは三つのエントリ、すなわち、実行時間使用
量、ターミネータおよび登録識別子(ID)を含んでい
る。登録IDのエントリはオプションであることに留意
されたい(下記参照)。実行時間使用量のエントリはそ
のデモンストレーションに対するそのユーザの累積実行
時間使用量(すなわち、経過時間)を含むことになる
か、あるいは残っている使用時間を含むことができる。
これは、たとえば、秒数または合計のクロック数として
表現することができる。ターミネータのエントリは、そ
の実行時間使用量エントリに対応している符号化された
値(すなわち、それは第一のエントリの中に記憶されて
いる実行時間使用量の関数である)を通常は含むことに
なる。デコードされた時、そのターミネータのエントリ
の中に記憶されている値は実行時間使用量のエントリの
中に記憶されている値にマッチしなければならない。さ
もなければ、プログラムの実行が終了される(以下にさ
らに詳細に説明される)。登録IDのエントリは有効な
登録IDを表している符号化された値を含むことにな
る。上記のように、登録IDはトラッキング・ファイル
の中に存在している必要はない。代わりに、それはデモ
ンストレーション・プログラムの中にハード符号化され
ていてもよい。図3aおよび図3bを参照して以下にさ
らに詳細に説明されるように、トラッキング・ファイル
の内容は、デモンストレーション・ソフトウェア・プロ
グラムの実際の実行時間使用量を追跡監視するため、そ
してそのプログラムを終了すべきかどうかを決定するた
めに本発明の方法50によって使われることになる。
【0013】図1を再び参照して、トラッキング・ファ
イルはユーザのコンピュータ上(あるいは図5を参照し
て以下に説明されるような提供者のウェブ・サイト上)
でのデモンストレーション・ソフトウェア・プログラム
のインストレーション時に生成されることが望ましい。
デモンストレーション・プログラムがそのユーザによっ
てインストレーションのために受け取られる方法は重要
ではないことに留意されたい。たとえば、プログラムは
フロッピー(登録商標)・ディスクまたはCD−ROM
(「コンパクト・ディスク読出し専用メモリ」)上に格
納されているか、あるいはインターネットなどのネット
ワーク上でサーバ・コンピュータからダウンロードされ
るか、あるいは任意の他の適切な媒体上に記憶されてい
てよい。さらに、デモンストレーション・プログラムは
圧縮されたファイル、すなわち、「zip」された、あ
るいは「スタッフされた」ファイルであって、それを解
凍するため、または「unzip」するためのユーティ
リティ・プログラムを使う必要があるものであってよ
く、あるいはデモンストレーション・プログラムはユー
ザによる起動時に自分自身をインストールする実行ファ
イルであってもよい。デモンストレーション・プログラ
ムをトラッキング・ファイルと一緒に方法10に従って
インストールできる限り、ファイルのタイプは無関係で
ある。しかし、単純化の目的で、トラッキング・ファイ
ルと一緒にデモンストレーション・プログラムをインス
トールするために必要なファイルを含んでいる媒体を指
すために、「インストレーション・ディスク」という用
語が使われる。同様に、「インストレーション・プログ
ラム」というプログラムはインストレーション・ディス
クからトラッキング・ファイルと一緒にデモンストレー
ション・プログラムをインストールするために必要なプ
ログラム、実行可能プログラム、ユーティリティなどを
指す。
【0014】ユーザがインストレーション・ディスクを
入手すると、方法10を開始することができる。最初
に、ステップ12において、ユーザはインストレーショ
ン・プログラムを実行することによって、インストレー
ション・ディスクからデモンストレーション・プログラ
ムのインストレーションを起動する。インストレーショ
ンの間にデモ・プログラム・ファイルが適切な容量のユ
ーザのハード・ドライブまたは他の記憶媒体上の適切な
ディレクトリの中に入れられる(ステップ14)。ま
た、インストレーション・プログラムはトラッキング・
ファイルのために必要な情報も生成して初期化する(ス
テップ16)。次に、その情報が図2に示されているト
ラッキングとして働く隠しファイルの中に記憶される
(ステップ18)。代わりに、その情報をこの分野の技
術において知られているように、ソフトウェア・レジス
トリの内部のキーの中に記憶することができる。一つの
必要条件は、その記憶されたトラッキング情報にデモン
ストレーション・プログラムからアクセスできることで
ある(図3aおよび図3bを参照して以下に説明され
る)。単純化のため、残りの説明はトラッキング・ファ
イルを参照するが、同じ説明がレジストリに対しても適
用されることを理解されたい。トラッキング・ファイル
が生成されて、デモンストレーション・プログラムがイ
ンストールされると、本発明の方法を実行することがで
きる。
【0015】図3aおよび図3bは本発明の一実施形態
によるデモンストレーション・ソフトウェアの使用量を
監視するための方法の一例50を示している。方法50
のステップ54〜66および100〜108は、そのデ
モンストレーション・プログラムのスタートアップ/初
期化プロセスの前に、あるいはその一部として実行され
ることが望ましい。方法50のステップ54〜66およ
び100〜108は、そのデモンストレーション・プロ
グラムの独立の関数呼出しとして実行されるか、あるい
はそのデモンストレーション・プログラムの他の命令/
関数と一緒に統合化されて実行することができることに
留意されたい。最初に、ユーザはデモンストレーション
・プログラムを実行する(ステップ52)。プログラム
が実行されている時、トラッキング・ファイルが開か
れ、実行時および他の符号化されたトラッキング・パラ
メータがそのファイルから読み出される(ステップ5
4)。すべての符号化されたデータがデコードされる。
パラメータを符号化/デコードするために使われる正確
な方法およびツールは重要ではなく、商用で入手でき
る、あるいはユニークなアプリケーション/デコーディ
ングの方法を使うことができる。以下に説明されるよう
に、これらのパラメータはトラッキング・ファイルによ
って交換され、方法50によって絶えず更新され続け
る。
【0016】ステップ56において、その方法はそのソ
フトウェアが登録されているかどうかを、有効な登録I
Dエントリを求めてトラッキング・ファイルを調べるこ
とによって判定する。そのソフトウェアが登録されてい
た場合、すなわち、有効な登録IDの値がトラッキング
・ファイルの中に見つかった場合、方法50はステップ
66において通常のデモンストレーション・プログラム
の実行に進む。それ以外の場合、方法50はそのデモン
ストレーション・プログラムに対するアクセスが終了さ
れているかどうかを判定する(ステップ58)。これは
デコードされたターミネータ・エントリの値を所定のタ
ーミネーション・コードに対して比較することによって
発生する。ランダム・アクセス・メモリ(RAM)の中
で暗号化されていない値がプレイン形式で調べられるこ
とを防止するために注意が払われなければならない。タ
ーミネータがターミネーション・コードとマッチした場
合、そのデモンストレーション・プログラムに対するア
クセスは終了されている。そのプログラムのアクセスが
終了されていた時、方法50はステップ110へ進み、
そこでデモンストレーション・プログラムの実行(およ
び方法50)が終了される。しかし、プログラムのアク
セスが終了されていないことがステップ58において判
定された場合、方法50はステップ60へ進む。
【0017】次に、方法50はトラッキング・ファイル
が手動で変更されたかどうかを知るためにチェックする
(ステップ60)。これはデコードされたターミネータ
・エントリの値を実行時間使用量エントリの値に対して
チェックすることによって発生する。その二つの値がマ
ッチしなかった場合、ユーザがその実行時間使用量エン
トリを手動で変更した可能性が高い。ユーザはターミネ
ータの値がどのように符号化されているかを知らないの
で、実行時間使用量エントリに似た方法でそのターミネ
ータを変更することができず、不正を検出し易くしてい
る。保証されている場合、ステップ58および60を組
み合わせることができることに留意されたい。何故な
ら、その両方がターミネータ・エントリの使用に関係す
るからである。同様に、必要であれば二つの別々のター
ミネータ・エントリを使うこともできる。ステップ58
および60を別々に管理することによって、提供者は時
間を使い果たした正直なユーザと、無料で、提供者の承
諾なしに評価時間を延長しようと試みている不正直なユ
ーザを区別することができる。
【0018】ステップ60においてトラッキングが手動
で変更されたと判定した場合、プログラムの実行時アク
セスはステップ100においてトラッキング・ファイル
によって終了され、デモンストレーション・プログラム
(および方法50)の現在の実行もステップ102にお
いて終了される。すなわち、所定のターミネーション・
コードに関連付けられた特殊な符号化されたターミネー
タがトラック・ファイルの中に書き込まれ、方法50お
よびデモンストレーション・プログラムの次の実行時
に、プログラムがステップ110において終了する(上
記参照)。それ以外の場合、ステップ60においてトラ
ッキング・ファイルが変更されていないと判定した場
合、方法50は実行時間使用量エントリを検査すること
によってそれまでの実行時間使用量を計算する(ステッ
プ62)。上記のように、実行時間使用量エントリの中
に記憶されている値は、クロック数、秒数、または任意
の他の実行時間使用量の表示であってよい。したがっ
て、そのエントリはそれまでのそのデモンストレーショ
ン・プログラムの実際の実行時間使用量を求めるために
変換または迅速な計算を必要とする可能性がある。
【0019】ステップ64において、実行時間使用量が
時間切れになったかどうかが判定される。すなわち、実
行時間使用量の値が所定の評価使用量より大きいかどう
かが調べられる。実行時間使用量がまだ使い果たされて
いないと判定された場合、方法50は、ステップ66に
おいて通常のプログラム実行に進む。実行時間が使い果
たされたと判定された場合、ユーザはステップ104に
おいてプログラムを登録する(すなわち、ソフトウェア
を購入する)ための機会がある。ステップ104におい
てそのユーザがそのプログラムを登録したくないと判定
された場合、そのデモンストレーション・プログラムの
実行(および方法50)はステップ108において終了
される。
【0020】ステップ104においてそのユーザがその
デモンストレーション・プログラムを登録したいと判定
された場合、そのユーザは登録コードを入力することが
できる。ステップ106において、入力されたコードが
そのデモンストレーション・プログラムの内部またはそ
のデータ・ファイルの一つの中に記憶されていた所定の
登録IDに対して比較される。その二つのコードがマッ
チした場合、その登録IDの符号化されたバージョンが
トラッキング・ファイル(または提供者のウェブ・サイ
ト)に書き込まれ、そして方法50はステップ66にお
いて通常のプログラム実行に進む。二つのコードがマッ
チしなかった場合、方法50はステップ108において
継続し、そこでデモンストレーション・プログラムの実
行(および方法50)が終了される。ルーピングの継続
とは反対に、ターミネーションの場合、ユーザがその正
しい値が見つかるまで任意の符号化された値を入力する
チャンスが少なくなる。
【0021】登録プロセスをいくつかの方法で実行する
ことができ、前記のステップのシーケンスには限定され
ないことを理解されたい。たとえば、登録はこの分野の
技術において知られているように、ドングル、スマート
・カード、時間設定されたドングル、キー・ディスク、
時間設定されたシーケンス(ラジオ・キー)および磁気
ストリップ・リーダ(たとえば、クレジット・カード・
リーダ)を使うことによって発生する可能性がある。
【0022】図3bを参照すると、実行時間使用量を絶
えず追跡/更新するための組み込まれた更新ループ68
が、方法50の一部として示されている。このループ6
8はデモンストレーション・プログラムの基本的なメイ
ン・プログラム操作の中に埋め込まれている。ステップ
70において、デモンストレーション・ソフトウェアが
登録されていなかった場合、ループ68は実行時間使用
量の値を更新し、それをトラッキング・ファイルに書き
込む。さらに、この時点においては、実行時間使用量の
値を表している符号化された値となっているターミネー
タも更新されてそのファイルの中に書き込まれる。実行
時間使用量はそのプログラムを実行しているCPUのク
ロック数にアクセスすることによって更新される。クロ
ック数がアクセスされる方法は、特に、方法50および
デモンストレーション・プログラムを書くために使われ
るソフトウェア言語によって変わる。使用される言語ま
たはコンパイラはそのデモンストレーション・プログラ
ムの実行が開始されて以来のCPUクロック数、あるい
はCPUの時刻を容易に求めることができる限り、重要
ではないことに留意されたい。
【0023】この実施形態においては、ループ68が1
秒ごとのベースで(すなわち、1秒ごとに周期的に実行
される)トラッキング・ファイルを絶えず更新すること
が望ましい。したがって、ループ68は1秒ごとに周期
的に実行できるようにデモンストレーション・プログラ
ムの中に組み込まれる。1秒は望ましい更新レートであ
るが、任意のレート(より速い、あるいはより遅い)が
使えること、および本発明が特定の更新レートには限定
されないことに留意されたい。方法50を実施するため
に別のプロセス、オブジェクトまたはスレッドを使うこ
ともでき、したがって、デモ評価ソフトウェアの時間的
に厳しい部分に影響しないようにすることができる。
【0024】ステップ74において、使用量の実行時間
が使い果たされたかどうかが判定される。すなわち、実
行時間使用量の値が所定の評価使用量より大きいかどう
かが判定される。実行時間使用量が使い果たされたと判
定された場合、方法50はステップ76においてそのデ
モンストレーション・プログラムのメイン・プログラム
のシェル/動作へ進む。メイン・プログラムの動作の間
のある時点で、ユーザがそのデモンストレーション・プ
ログラムをユーザ起動の要求によって登録したいかどう
かが判定される(ステップ78)。上記のように、ルー
プ68はデモンストレーション・プログラムの内部に組
み込まれている。したがって、ステップ70から78ま
でがいつどこで実際に実行されるかは、そのデモンスト
レーション・プログラムのいくつかの基本動作の実行中
に実行される限り重要ではなく、したがって、ループ6
8は実際の実行時間使用量を正確に監視し、判定し、そ
して更新することができる。
【0025】ステップ78において、ユーザがそのソフ
トウェアを登録したくないと判定された場合、方法50
は、ループ68を通る別の径路を求めてステップ70に
おいて継続する。ステップ78においてユーザがそのプ
ログラムを登録したいと判定された場合、そのユーザは
登録コードを入力することができる。ステップ80にお
いて、その入力されたコードがそのデモンストレーショ
ン・プログラムに対する所定の登録IDに対して比較さ
れる。その二つのコードがマッチした場合、トラック・
ファイルがその登録IDの符号化されたバージョンで更
新され、それはループ68を実行時間使用量の監視およ
び更新から本質的にディスエーブルする。次に、上記方
法は、ループ68を通る別の径路を求めてステップ70
において継続するが、上記のように、ループ68は、ス
テップ72および74がもはや実行されないので、本質
的にディスエーブルされている。
【0026】ステップ80において、入力された登録コ
ードが所定のコードとマッチしないと判定された場合、
方法50はディスエーブルされていないループ68を通
る別の径路を求めてステップ70において継続する。こ
こでも、ループが1秒に1回実行されることが望まし
い。ユーザがそのデモ・ソフトウェアを登録しようとし
た回数を求めるためのチェックを追加することが可能で
あることに留意されたい。ユーザが所定の試行回数だけ
実行した場合、プログラムは終了される(すなわち、方
法50はユーザが所定の回数より多く不正に登録を試み
た場合、方法50はステップ92において継続すること
ができる)。連続的なルーピングとは反対に、ターミネ
ーションによって、正しい値が見つかるまでユーザが任
意の符号化された値を入力するチャンスが減る。
【0027】ステップ74において、実行時間使用量が
使い果たされたと判定された場合、方法50はステップ
90へ進み、そこでユーザがそのデモンストレーション
・プログラムを登録したいかどうかが判定される。ユー
ザがそのプログラムを登録したくなかった場合、方法5
0はステップ92において継続し、そこでデモンストレ
ーション・プログラムの実行(および方法50)が終了
される。ステップ90においてユーザがそのプログラム
を登録したいと判定された場合、上記方法はステップ8
0(上記)において継続する。
【0028】方法50が、実行中のデモンストレーショ
ン・プログラムの一部分であるか、あるいはそのプログ
ラムから関数として呼び出されることに留意されたい。
したがって、登録IDなどのユーザ入力はデモ・プログ
ラムに従って変形されることになる。したがって、それ
らはキーボード、マウスまたは他のタイプの入力であっ
てよく、ユーザが方法50およびデモの中に情報を入力
する方法は重要ではない。
【0029】図4は、本発明の方法50(図3aおよび
図3b)を実行することができるプロセッサ・ベースの
システム200を示している。コンピュータ・システム
200はバス220上で入力/出力(I/O)装置21
2と通信する中央処理装置(CPU)202を含む。単
独のバス220だけが示されているが、この分野の技術
において現在知られているように、二つ以上のバスおよ
びバス・ブリッジを含むことができる。第二のI/O装
置214が示されているが、必須ではない。また、シス
テム200は不揮発性メモリ207、ランダム・アクセ
ス・メモリ(RAM)216、読出し専用メモリ(RO
M)218も含み、そしてやはりバス220上でCPU
202と通信することができるフロッピー・ディスク
・ドライブ204およびCD‐ROMドライブ206な
どの周辺装置を含むことができる。システム200の正
確なアーキテクチャは重要ではないこと、そしてシステ
ム200上で方法50を動作させることができる限り、
システム200の中に任意の組合せのコンピュータ互換
の装置を組み込むことができることに留意されたい。さ
らに、方法50を実装するCPU202に対するプログ
ラムをCD−ROM210、フロッピー・ディスク20
8、ハード・ドライブまたはプログラムを格納すること
ができる任意の他の媒体に格納することができる。プロ
グラムの実行時に、トラッキング・ファイルを除いてプ
ログラムはRAM 216の中にロードされ、トラッキ
ング・ファイルはシステム200のオペレーティング・
システムによって制御される不揮発性メモリ207の中
に常駐することになる。これらの装置のすべてがCPU
202とこの分野の技術においてよく知られているよ
うに通信する。
【0030】CPU 202は本発明の方法によって必
要とされる論理演算および数学的演算、たとえば、デー
タ操作および比較、それ以外にこの分野の技術に熟達し
た人によって一般的に理解される他の演算および論理機
能を実行する。RAM 216は本発明の方法を実装す
るのに必要なデータおよびプログラム命令を格納するた
めに使われ、この分野の技術に熟達した人によって一般
的に理解されるような従来のランダム・アクセス・メモ
リ(RAM)、バルク記憶メモリ、またはその両方の組
合せから構成することができる。上記のように、不揮発
性メモリ207を使ってトラッキング・ファイルおよび
任意の他の必要な情報を格納し、再スタートまたはパワ
ーダウンの状態の後、その状態を維持することができ
る。I/O装置212、214は、システム200のオ
ペレータとのインターフェースを担当し、たとえば、キ
ーボード、マウス、ディスプレイなど、またはこの分野
の技術に熟達した人によって一般的に理解されるような
データを受信または分配するためのハード・ドライブま
たは他の装置(図示せず)などの周辺データ装置であっ
てよい。
【0031】図5は、顧客のコンピュータ・システム2
00と、ソフトウェア提供者のサーバ・コンピュータ2
40との間でのインターネット230上の接続を示して
いる。この接続は、たとえば、デモンストレーション・
プログラムまたは実際のプログラムを顧客に対して転送
するのに便利である。また、トラック・ファイルを提供
者のサーバ・コンピュータ240上に置くことができる
メカニズムを提供するのに便利である。トラッキング・
ファイルを提供者のサーバ・コンピュータ240上に置
くことによって、ユーザがパッケージ全体を購入せずに
より長い時間を取得したい場合に、評価時間を簡単に変
更することができる。また、これによってシステム・ク
ラッシュまたは新しいコンピュータの購入に起因してユ
ーザがプログラムを再インストールする時に、既に使わ
れた時間の追跡管理が可能である。これはユーザが提供
者からより多くの時間を要求し、そして提供者が新しく
契約された評価時間に従ってトラッキング・ファイルの
実行時間使用量およびターミネータのエントリを変更す
ることによって、その要求を満足する時に実現すること
ができる。その変更は支払いベースで行うことができ、
したがって、そのデモンストレーション・プログラムを
当事者間で効果的に認可することができる。同様に、図
5に示されている接続によって、ソフトウェアの更新お
よび登録のプロセスをより便利にすることができる。
【0032】この分野の技術においてよく知られている
ように、プッシュプル法を使って、トラッキング・ファ
イルがそのユーザの実行時間使用量を正確に反映するよ
うにすることができる。すなわち、そのユーザのコンピ
ュータ・システム200はローカルのトラッキング・フ
ァイルを備えることになり、したがって、方法50が実
行時間使用量を適切に監視および更新し、必要な場合に
デモンストレーション・プログラムの実行を禁止するこ
とができる。さらに、その供給者のサーバ・コンピュー
タ240は、インターネットのアクセスが機能しなくな
った場合でも十分に実行することができるように、トラ
ッキング・ファイルのコピーを含むこともできる。提供
者のトラッキング・ファイルはユーザのコンピュータ・
システム200からトラッキング・ファイルを定期的に
プルすることによって(インターネット230経由で)
更新することができる。同様に、そのトラッキング・フ
ァイルを顧客のコンピュータ・システム200に対して
プッシュすることによって(インターネット230経由
で)、提供者によって行われた更新をユーザに対して転
送することができる。プッシュプル操作は、ソフトウェ
アの統合化および更新のために現在ほとんどのインター
ネット・サービス・プロバイダ(ISP)によって、お
よび最近のオペレーティング・システムによって現在使
われている普通の操作である。
【0033】図6は、本発明のもう一つの実施形態に従
ってデモンストレーション・ソフトウェアの実行時間使
用量を監視する例示としての方法350をフローチャー
ト形式で示している。方法350の大半は方法50(図
3aおよび図3b)と同じであり、ここではさらに詳し
くは説明されない。しかし、新しい一連のステップ、ス
テップ75aおよび75eがステップ74と76との間
に挿入されている。これらの新しいステップは実行時間
使用量が評価時間限界に近付いた時にユーザに知らせ
る。
【0034】最初に、ステップ74において実行時間使
用量が使い果たされていないと判定された場合、デモン
ストレーションの残り時間、すなわち、評価時間限界か
ら実際の実行時間使用量を差し引いた値がステップ75
aにおいて計算される。ステップ75bにおいて、残り
時間が所定の残り時間のプロンプト時間より少ないか、
あるいは等しいかどうかが判定される。プロンプト時間
は、たとえば、最初に1時間に設定することができる。
それは評価時間の長さによって変化する。すなわち、評
価時間が非常に長かった場合、たとえば、1000時間
であった場合、プロンプト時間を50時間に設定するこ
とができる。同様に、評価時間が比較的短かかった場
合、より少ないプロンプト時間を選定することができ
る。
【0035】ステップ75bにおいて、残り時間がプロ
ンプト時間より短くないか、あるいはそれに等しいと判
定された場合、方法350はステップ76(図3bを参
照して上で説明された)において継続する。残り時間が
プロンプト時間より短いか、あるいはそれに等しいと判
定された場合、方法350はステップ75cにおいて継
続する。ステップ75cにおいて、ユーザに残り時間が
示される。ステップ75dにおいて、ユーザはそのデモ
ンストレーション・プログラムを登録するよう催促され
る場合もある。ステップ75eにおいて、必要な場合、
新しいプロンプト時間が計算される。新しいプロンプト
時間は元のプロンプト時間に到達した時に、その時間が
過ぎていることが絶えずユーザに示されることを防止す
るために計算される。したがって、プロンプト時間はプ
ロンプトを実効的にディスエーブルするために0に設定
するか(それは実行時間使用量が使い果たされた時の時
間に対してスケジュールされていたので)、あるいはユ
ーザを欲求不満にさせないような別の適切な時間に設定
する必要がある。新しいプロンプト時間が計算される
と、方法350はステップ76(図3bを参照して上で
説明された)において継続する。
【0036】本発明の方法を実装するために必要なソフ
トウェア命令は、メインフレームまたはサーバ・コンピ
ュータ上に常駐することができる。次にその命令をコン
ピュータのバス上でユーザのコンピュータ・システムの
中にダウンロードすることができる、そのCPUが本発
明の方法を実施する命令を実行することができる。
【0037】本発明は、コンピュータ・システム上で実
行されるプログラムとして実装されることに留意された
い。本発明の異なるコンピュータ・システムに対して異
なるコンピュータ言語で書くことができる。本発明は任
意の適切な記憶媒体、たとえば、ハード・ドライブ、フ
ロッピー・ディスク、CD−ROMまたは他の永久的
な、あるいは半永久的な記憶媒体(既知の、あるいはこ
れから開発される)の中に格納することができる。ま
た、本発明をプログラム・コード・セグメントに分割
し、たとえば、サーバ・コンピュータからダウンロード
するか、あるいはこの分野の技術において知られている
ように、搬送波の中に含まれているディジタル信号とし
て転送することもできる。
【0038】本発明は、現時点で知られている好適な実
施形態に関連して詳細に説明されてきたが、本発明はそ
のような開示された実施形態に限定されるものではない
ことは容易に理解されるはずである。むしろ、本発明は
任意の数の変更、修正、置換えまたは等価な装置で、前
には説明されていないが、本発明の精神および範囲に釣
り合う装置を組み込むために修正することができる。し
たがって、本発明は、上記の説明によって限定されるも
のと見られるべきではなく、添付の特許請求の範囲によ
ってのみ限定される。
【0039】米国の特許証によって保護されることが望
まれる新しいものとして請求される事項は特許請求の範
囲に記載の通りである。
【図面の簡単な説明】
【図1】本発明によるトラッキング・ファイル生成の例
示としての方法をフローチャート形式で示す。
【図2】本発明の方法によって使われる例示としてのト
ラッキング・ファイルを示す。
【図3a】本発明の一実施形態によるデモンストレーシ
ョン・ソフトウェアの使用量監視の例示としての方法を
フローチャート形式で示す。
【図3b】本発明の一実施形態によるデモンストレーシ
ョン・ソフトウェアの使用量監視の例示としての方法を
フローチャート形式で示す。
【図4】本発明の方法を実行することができるプロセッ
サ・ベースのシステムを示す。
【図5】インターネット上での顧客とソフトウェア提供
者との間の接続を示す。
【図6】本発明のもう一つの実施形態によるデモンスト
レーション・ソフトウェアの使用量監視の例示としての
方法をフローチャート形式で示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ミンダーガス ファーナンド ダウタータ ス アメリカ合衆国 18011 ペンシルヴァニ ア,アルバーティス,ウインドソア ロー ド 118 (72)発明者 ジョン ウィリアム ステイト ジュニヤ アメリカ合衆国 18078 ペンシルヴァニ ア,シュネックスヴィル,キストラー ロ ード 4091

Claims (59)

    【特許請求の範囲】
  1. 【請求項1】 実行時間のデッドラインを有する実行中
    のソフトウェア・アプリケーションの実行時間使用量を
    監視する方法であって、 前記ソフトウェアがその現在の実行を開始して以来の実
    行時間を表している、前記実行中のソフトウェアの実行
    時間を表している時間パラメータを入力するステップ
    と、 前記入力された時間パラメータによって累積実行時間使
    用量を更新するステップと、 前記累積実行時間が前記実行時間のデッドラインを超過
    したかどうかを判定するステップとを含む方法。
  2. 【請求項2】 請求項1に記載の方法において、前記方
    法が、前記累積実行時間が前記実行時間のデッドライン
    を超過したと判定された場合に、前記ソフトウェア・ア
    プリケーションのそれ以上の実行を禁止するステップを
    さらに含む方法。
  3. 【請求項3】 請求項1に記載の方法において、前記方
    法が、前記累積実行時間が前記実行時間のデッドライン
    を超過したと判定された場合に、前記ソフトウェア・ア
    プリケーションを登録するよう前記ソフトウェア・アプ
    リケーションのユーザに催促するステップをさらに含む
    方法。
  4. 【請求項4】 請求項3に記載の方法において、前記方
    法が、前記ユーザが前記ソフトウェアを登録しなかった
    場合に、前記ソフトウェア・アプリケーションのそれ以
    上の実行を禁止するステップをさらに含む方法。
  5. 【請求項5】 請求項3に記載の方法において、前記ユ
    ーザが前記ソフトウェアを登録したいと判定された場合
    に、前記方法が、 登録識別コードを入力するステップと、 前記登録コードを検証するステップと、 前記登録コードが有効であった場合、前記方法を終了す
    るステップとをさらに含む方法。
  6. 【請求項6】 請求項3に記載の方法において、前記ユ
    ーザが前記ソフトウェアを登録したいと判定された場
    合、前記方法が前記ソフトウェアを登録するためにドン
    グルを使うステップをさらに含む方法。
  7. 【請求項7】 請求項3に記載の方法において、前記ユ
    ーザが前記ソフトウェアを登録したいと判定された場
    合、前記方法が前記ソフトウェアを登録するためにキー
    ・ディスクを使用するステップをさらに含む方法。
  8. 【請求項8】 請求項3に記載の方法において、前記ユ
    ーザが前記ソフトウェアを登録したいと判定された場合
    に、前記方法が前記ソフトウェアを登録するために時間
    シーケンス・キーを使うステップをさらに含む方法。
  9. 【請求項9】 請求項3に記載の方法において、前記ユ
    ーザが前記ソフトウェアを登録したいと判定された場合
    に、前記方法が前記ソフトウェアを登録するために磁気
    ストリップ・リーダを使うステップをさらに含む方法。
  10. 【請求項10】 請求項1に記載の方法において、前記
    入力のステップから前記判定のステップまでが所定のレ
    ートにおいて周期的に実行されるようになっている方
    法。
  11. 【請求項11】 請求項10に記載の方法において、前
    記所定のレートが約1回/秒である方法。
  12. 【請求項12】 請求項1に記載の方法において、前記
    方法がコンピュータ読取り可能記憶媒体上のデータ・フ
    ァイルの中に前記累積実行時間使用量を格納するように
    なっている方法。
  13. 【請求項13】 請求項12に記載の方法において、前
    記方法が前記累積実行時間使用量を符号化し、前記符号
    化された累積実行時間使用量を前記コンピュータ読取り
    可能記憶媒体の中に格納するようになっている方法。
  14. 【請求項14】 請求項13に記載の方法において、前
    記方法が、 前記累積実行時間使用量がユーザによって変えられたか
    どうかを判定するステップと、 前記累積実行時間使用量が前記ユーザによって変えられ
    た場合、前記ソフトウェア・アプリケーションのそれ以
    上の実行を禁止するステップとをさらに含む方法。
  15. 【請求項15】 請求項14に記載の方法において、前
    記累積実行時間使用量が変えられたかどうかを判定する
    前記ステップが、前記累積実行時間使用量を前記符号化
    された累積実行時間使用量に対して比較することによっ
    て実行されるようになっている方法。
  16. 【請求項16】 請求項12に記載の方法において、前
    記コンピュータ読取り可能記憶媒体が前記ソフトウェア
    を実行しているコンピュータ・システムに対してネット
    ワークを経由して接続されている方法。
  17. 【請求項17】 請求項16に記載の方法において、前
    記ネットワークがインターネットである方法。
  18. 【請求項18】 請求項17に記載の方法において、前
    記方法が、所定の状態が存在している時に前記デッドラ
    インを延長するステップをさらに含む方法。
  19. 【請求項19】 請求項18に記載の方法において、前
    記延長のステップが、 前記記憶された累積実行時間使用量を変更するステップ
    と、 前記記憶された累積実行時間使用量を前記コンピュータ
    記憶媒体から前記ソフトウェア・アプリケーションを実
    行しているコンピュータ・システムに対して送信するス
    テップとを含む方法。
  20. 【請求項20】 請求項17に記載の方法において、前
    記方法が、一つまたはそれ以上の所定の状態が存在する
    時に、前記デッドラインを延長するステップをさらに含
    む方法。
  21. 【請求項21】 請求項20に記載の方法において、前
    記一つまたはそれ以上の所定の状態が延長コマンドの受
    信を含む方法。
  22. 【請求項22】 請求項1に記載の方法において、前記
    入力のステップが、前記ソフトウェア・アプリケーショ
    ンを実行しているコンピュータ処理装置のクロックを読
    むことによって実行されるようになっている方法。
  23. 【請求項23】 請求項1に記載の方法において、前記
    方法が、監視されているソフトウェア・アプリケーショ
    ンを実行することによって行われる方法。
  24. 【請求項24】 請求項1に記載の方法において、前記
    ソフトウェア・アプリケーションがデモンストレーショ
    ン・ソフトウェア・アプリケーションである方法。
  25. 【請求項25】 実行時間のデッドラインを有する実行
    中のソフトウェア・アプリケーションの実行時間使用量
    を監視するための方法を実行するために、コンピュータ
    を動作させるためのコンピュータ読取り可能コードを含
    んでいるコンピュータ読取り可能記憶媒体であって、前
    記方法が、 前記ソフトウェアがその現在の実行を開始して以来の実
    行時間を表している、前記実行中のソフトウェアの実行
    時間を表している時間パラメータを入力するステップ
    と、 累積実行時間使用量を前記入力された時間パラメータで
    更新するステップと、前記累積実行時間が前記実行時間
    のデッドラインを超過したかどうかを判定するステップ
    とを含むコンピュータ読取り可能記憶媒体。
  26. 【請求項26】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、前記累積実行時
    間が前記実行時間のデッドラインを超過したと判定され
    た場合に、前記ソフトウェア・アプリケーションのそれ
    以上の実行を禁止するステップをさらに含むコンピュー
    タ読取り可能記憶媒体。
  27. 【請求項27】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、前記累積実行時
    間が前記実行時間のデッドラインを超過したと判定され
    た場合に、前記ソフトウェア・アプリケーションを登録
    するよう、前記ソフトウェア・アプリケーションのユー
    ザに催促するステップをさらに含むコンピュータ読取り
    可能記憶媒体。
  28. 【請求項28】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、前記ユーザが前
    記ソフトウェアを登録しなかった場合に、前記ソフトウ
    ェア・アプリケーションのそれ以上の実行を禁止するス
    テップをさらに含むコンピュータ読取り可能記憶媒体。
  29. 【請求項29】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記ユーザが前記ソフトウェ
    アを登録したいと判定された場合、前記方法が、 登録識別コードを入力するステップと、 前記登録コードを検証するステップと、 前記登録コードが有効であった場合、前記方法を終了す
    るステップとをさらに含むコンピュータ読取り可能記憶
    媒体。
  30. 【請求項30】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記ユーザが前記ソフトウェ
    アを登録したいと判定された場合、前記方法が前記ソフ
    トウェアを登録するためにドングルを使うステップをさ
    らに含むコンピュータ読取り可能記憶媒体。
  31. 【請求項31】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記ユーザが前記ソフトウェ
    アを登録したいと判定された場合、前記方法が、前記ソ
    フトウェアを登録するためにキー・ディスクを使うステ
    ップをさらに含むコンピュータ読取り可能記憶媒体。
  32. 【請求項32】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記ユーザが前記ソフトウェ
    アを登録したいと判定された場合、前記方法が前記ソフ
    トウェアを登録するために時間シーケンス・キーを使う
    ステップをさらに含むコンピュータ読取り可能記憶媒
    体。
  33. 【請求項33】 請求項27に記載のコンピュータ読取
    り可能記憶媒体において、前記ユーザが前記ソフトウェ
    アを登録したいと判定された場合、前記方法が、前記ソ
    フトウェアを登録するために磁気ストリップ・リーダを
    使うステップをさらに含むコンピュータ読取り可能記憶
    媒体。
  34. 【請求項34】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記方法の前記入力のステッ
    プから前記判定のステップまでが所定のレートで周期的
    に実行されるようになっているコンピュータ読取り可能
    記憶媒体。
  35. 【請求項35】 請求項34に記載のコンピュータ読取
    り可能記憶媒体において、前記所定のレートが1回/秒
    であるコンピュータ読取り可能記憶媒体。
  36. 【請求項36】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、前記累積実行時
    間使用量を、第二のコンピュータ読取り可能記憶媒体上
    のデータ・ファイルの中に格納するようになっているコ
    ンピュータ読取り可能記憶媒体。
  37. 【請求項37】 請求項36に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が前記累積実行時間
    使用量を符号化し、前記符号化された累積実行時間使用
    量を前記第二のコンピュータ読取り可能記憶媒体の中に
    格納するようになっているコンピュータ読取り可能記憶
    媒体。
  38. 【請求項38】 請求項37に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、 前記累積実行時間使用量がユーザによって変更されたか
    どうかを判定するステップと、 前記累積実行時間使用量が前記ユーザによって変更され
    ていた場合、前記ソフトウェア・アプリケーションのそ
    れ以上の実行を禁止するステップとをさらに含むコンピ
    ュータ読取り可能記憶媒体。
  39. 【請求項39】 請求項38に記載のコンピュータ読取
    り可能記憶媒体において、前記累積実行時間使用量が変
    更されていたかどうかを判定する前記ステップが、前記
    累積実行時間使用量を前記符号化された累積実行時間使
    用量に対して比較することによって行われるようになっ
    ているコンピュータ読取り可能記憶媒体。
  40. 【請求項40】 請求項36に記載のコンピュータ読取
    り可能記憶媒体において、前記第二のコンピュータ読取
    り可能記憶媒体が、前記ソフトウェア・アプリケーショ
    ンを実行しているコンピュータ・システムに対してネッ
    トワークを経由して接続されているコンピュータ読取り
    可能記憶媒体。
  41. 【請求項41】 請求項40に記載のコンピュータ読取
    り可能記憶媒体において、前記ネットワークがインター
    ネットであるコンピュータ読取り可能記憶媒体。
  42. 【請求項42】 請求項40に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、一つまたはそれ
    以上の所定の状態が存在している時に前記デッドライン
    を延長するステップをさらに含むコンピュータ読取り可
    能記憶媒体。
  43. 【請求項43】 請求項42に記載のコンピュータ読取
    り可能記憶媒体において、 前記格納されている累積実行時間使用量を変更するステ
    ップと、 前記新しい格納された累積実行時間使用量を前記第二の
    コンピュータ記憶媒体から前記ソフトウェア・アプリケ
    ーションを実行している前記コンピュータ・システムに
    対して送信するステップとを含むコンピュータ読取り可
    能記憶媒体。
  44. 【請求項44】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記入力のステップが、前記
    ソフトウェア・アプリケーションを実行しているコンピ
    ュータ処理装置のクロックを読むことによって、実行さ
    れるようになっているコンピュータ読取り可能記憶媒
    体。
  45. 【請求項45】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記方法が、監視されている
    前記実行中のソフトウェア・アプリケーションによって
    実行されるようになっているコンピュータ読取り可能記
    憶媒体。
  46. 【請求項46】 請求項25に記載のコンピュータ読取
    り可能記憶媒体において、前記ソフトウェア・アプリケ
    ーションがデモンストレーション・ソフトウェア・アプ
    リケーションであるコンピュータ読取り可能記憶媒体。
  47. 【請求項47】 コンピュータ・システムであって、 プログラムされたプロセッサを含み、前記プロセッサは
    実行中のソフトウェア・アプリケーションの実行時間を
    表している時間パラメータを入力するためにプログラム
    され、前記パラメータは前記ソフトウェアがその現在の
    実行を開始して以来の実行時間を表し、前記プロセッサ
    は累積実行時間使用量を前記入力された時間パラメータ
    で更新し、そして前記累積実行時間が実行時間のデッド
    ラインを超過したかどうかを判定するためにプログラム
    されているコンピュータ・システム。
  48. 【請求項48】 請求項47に記載のシステムにおい
    て、前記プロセッサが、前記累積実行時間が前記実行時
    間のデッドラインを超過したと判定された場合に、前記
    ソフトウェア・アプリケーションのそれ以上の実行を禁
    止するようになっているシステム。
  49. 【請求項49】 請求項47に記載のシステムにおい
    て、前記プロセッサが、前記累積実行時間が前記実行時
    間のデッドラインを超過したと判定された場合に、前記
    ソフトウェア・アプリケーションを登録するよう、前記
    ソフトウェア・アプリケーションのユーザに催促するよ
    うになっているシステム。
  50. 【請求項50】 請求項47に記載のシステムにおい
    て、前記プロセッサが、前記ユーザが前記ソフトウェア
    を登録しなかった場合、前記ソフトウェア・アプリケー
    ションのそれ以上の実行を禁止するようになっているシ
    ステム。
  51. 【請求項51】 請求項47に記載のシステムにおい
    て、前記プロセッサが前記累積実行時間使用量をコンピ
    ュータ読取り可能記憶媒体上のデータ・ファイルの中に
    格納するようになっているシステム。
  52. 【請求項52】 請求項51に記載のシステムにおい
    て、前記ファイルが隠しファイルとなっているシステ
    ム。
  53. 【請求項53】 請求項51に記載のシステムにおい
    て、前記ファイルがソフトウェア・レジストリにおける
    キーとなっているシステム。
  54. 【請求項54】 請求項51に記載のシステムにおい
    て、前記プロセッサが前記累積実行時間使用量を符号化
    し、前記符号化された累積実行時間使用量を前記コンピ
    ュータ読取り可能記憶媒体の中に格納するようになって
    いるシステム。
  55. 【請求項55】 請求項54に記載のシステムにおい
    て、前記プロセッサが、前記累積実行時間使用量がユー
    ザによって変更されたかどうかをさらに判定し、そして
    前記累積実行時間使用量が前記ユーザによって変更され
    ていた場合、前記ソフトウェアのそれ以上の実行を禁止
    するようになっているシステム。
  56. 【請求項56】 請求項55に記載のシステムにおい
    て、前記プロセッサが、前記累積実行時間使用量を前記
    符号化された累積実行時間使用量に対して比較すること
    によって、前記累積実行時間使用量が変えられたかどう
    かを判定するようになっているシステム。
  57. 【請求項57】 請求項51に記載のシステムにおい
    て、前記記憶媒体が前記コンピュータ・システムに対し
    てネットワークを経由して接続されているシステム。
  58. 【請求項58】 請求項57に記載のシステムにおい
    て、前記ネットワークがインターネットであるシステ
    ム。
  59. 【請求項59】 サーバ・コンピュータから送信される
    コンピュータ・プログラムであって、該コンピュータ・
    プログラムは実行時間のデッドラインを有する実行中の
    ソフトウェア・アプリケーションの実行時間使用量を監
    視するためのものであり、該コンピュータ・プログラム
    は、 前記ソフトウェアがその現在の実行を開始して以来の実
    行時間を表している、前記実行中のソフトウェアの実行
    時間を表す時間パラメータを入力するための第一のプロ
    グラム・コード・セグメントと、 前記入力された時間パラメータによって、累積実行時間
    使用量を更新するための第二のプログラム・コード・セ
    グメントと、 前記累積実行時間が前記実行時間のデッドラインを超過
    したかどうかを判定するための第三のプログラム・コー
    ド・セグメントとを含むコンピュータ・プログラム。
JP2000226249A 1999-07-27 2000-07-27 デモ評価ソフトウェアの実行時間使用量を監視する方法 Pending JP2001100855A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36123899A 1999-07-27 1999-07-27
US09/361238 1999-07-27

Publications (1)

Publication Number Publication Date
JP2001100855A true JP2001100855A (ja) 2001-04-13

Family

ID=23421223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000226249A Pending JP2001100855A (ja) 1999-07-27 2000-07-27 デモ評価ソフトウェアの実行時間使用量を監視する方法

Country Status (4)

Country Link
EP (1) EP1072979A3 (ja)
JP (1) JP2001100855A (ja)
CN (1) CN1283819A (ja)
CA (1) CA2313839A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013128603A1 (ja) * 2012-02-29 2013-09-06 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6938015B2 (en) * 2001-09-17 2005-08-30 Intel Corporation Method for providing database security
DE10234469A1 (de) * 2002-07-29 2004-02-12 Siemens Ag Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät
US7234133B2 (en) 2003-05-20 2007-06-19 Sap Aktiengesellschaft Software expiry before delivery
US7475399B2 (en) * 2004-01-13 2009-01-06 International Business Machines Corporation Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization
EP1632834B1 (de) * 2004-09-01 2007-11-07 Agenda Informationssysteme GmbH Verfahren zur Steuerung des Zugriffs auf ein Anwendungsprogramm
EP1796000A1 (en) * 2005-12-06 2007-06-13 International Business Machines Corporation Method, system and computer program for distributing software products in trial mode
WO2007107905A2 (en) * 2006-03-17 2007-09-27 Koninklijke Philips Electronics N.V. Protection of software from piracy
US8059819B2 (en) * 2007-01-17 2011-11-15 Panasonic Electric Works Co., Ltd. Systems and methods for distributing updates for a key at a maximum rekey rate
CN102082694A (zh) * 2011-03-04 2011-06-01 宇龙计算机通信科技(深圳)有限公司 一种应用评价方法及应用服务器
US9026861B2 (en) * 2012-10-02 2015-05-05 Texas Instruments Incorporated Debug trace stream timestamping using downstream correlation
DE102016214117A1 (de) 2016-08-01 2018-02-01 Siemens Aktiengesellschaft Ermitteln einer Ausführungszeit eines Anwenderprogramms
CN110659457B (zh) * 2019-09-20 2022-06-07 安徽听见科技有限公司 一种应用授权的验证方法、装置及客户端
CN111046404B (zh) * 2019-12-10 2022-05-13 四川思创激光科技有限公司 光纤激光器的加密方法、解密方法、加密系统及解密系统
CN114895746B (zh) * 2022-06-14 2023-11-07 北京东土军悦科技有限公司 一种系统时间的同步方法及装置、计算设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298085A (ja) * 1992-04-24 1993-11-12 Fujitsu Ltd ソフトウェア記憶媒体、ソフトウェア読取装置及びソフトウェア管理システム
JPH07230335A (ja) * 1994-02-17 1995-08-29 Fuji Xerox Co Ltd サービス課金システム
JPH07295803A (ja) * 1994-04-25 1995-11-10 Internatl Business Mach Corp <Ibm> ソフトウェア・オブジェクトを配布するための方法および装置
JPH086784A (ja) * 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア/著作物の無断複製使用防止システムおよび無断複製使用防止処理方法
JPH08194748A (ja) * 1995-01-17 1996-07-30 Hitachi Ltd ソフトウェア試用管理システム
JPH1091556A (ja) * 1996-09-11 1998-04-10 Nri & Ncc Co Ltd ソフトウェア、データベース、コンピュータの利用情報取得方法
JPH10124344A (ja) * 1996-10-09 1998-05-15 Hewlett Packard Co <Hp> ソフトウェア測定方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5440631A (en) * 1992-04-24 1995-08-08 Fijitsu Limited Information distribution system wherein storage medium storing ciphered information is distributed

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298085A (ja) * 1992-04-24 1993-11-12 Fujitsu Ltd ソフトウェア記憶媒体、ソフトウェア読取装置及びソフトウェア管理システム
JPH07230335A (ja) * 1994-02-17 1995-08-29 Fuji Xerox Co Ltd サービス課金システム
JPH07295803A (ja) * 1994-04-25 1995-11-10 Internatl Business Mach Corp <Ibm> ソフトウェア・オブジェクトを配布するための方法および装置
JPH086784A (ja) * 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア/著作物の無断複製使用防止システムおよび無断複製使用防止処理方法
JPH08194748A (ja) * 1995-01-17 1996-07-30 Hitachi Ltd ソフトウェア試用管理システム
JPH1091556A (ja) * 1996-09-11 1998-04-10 Nri & Ncc Co Ltd ソフトウェア、データベース、コンピュータの利用情報取得方法
JPH10124344A (ja) * 1996-10-09 1998-05-15 Hewlett Packard Co <Hp> ソフトウェア測定方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013128603A1 (ja) * 2012-02-29 2013-09-06 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム
JPWO2013128603A1 (ja) * 2012-02-29 2015-07-30 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム

Also Published As

Publication number Publication date
EP1072979A2 (en) 2001-01-31
CN1283819A (zh) 2001-02-14
CA2313839A1 (en) 2001-01-27
EP1072979A3 (en) 2002-09-18

Similar Documents

Publication Publication Date Title
JP2001100855A (ja) デモ評価ソフトウェアの実行時間使用量を監視する方法
US6006190A (en) Computer implemented method and a computer system for enforcing software licenses
US5935243A (en) Licensee notification system
US5925127A (en) Method and system for monitoring the use of rented software
RU2385483C2 (ru) Система и способ использования гипервизора, чтобы управлять доступом к предоставляемой в аренду вычислительной машине
EP0430734B1 (fr) Procédé et système d&#39;exploitation sécurisée d&#39;un logiciel
TWI251170B (en) Apparatus and method for updating firmware
US6738810B1 (en) Method and apparatus for encouraging timely payments associated with a computer system
US20060218549A1 (en) Method for application of portable software
US20080300887A1 (en) Usage Model of Online/Offline License for Asset Control
RU2377634C2 (ru) Программный интерфейс для лицензирования
JPH08504976A (ja) ソフトウェア登録システム
WO1996034334A1 (fr) Dispositif pour l&#39;execution d&#39;un programme chiffre
JP2006195999A (ja) ネットワーク修復システム及び修復システム
JP2001521654A (ja) ディジタル情報の自己解読システムおよび方法
JPH11505355A (ja) ポータブルデータ処理ユニットを含むデータ交換システム
US20020123964A1 (en) Payment monitoring system
US20080104710A1 (en) Software utilization grace period
TW200939069A (en) Limited functionality mode for secure, remote, decoupled computer ownership
US20080077420A1 (en) System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer
US6898555B2 (en) Method for indicating the integrity of use-information of a computer program
JPH09319451A (ja) 計算機ソフトウェアの使用料金決定装置及び使用権管理装置
JPH11212785A (ja) ソフトウエア使用管理方法及びシステム
US20030177377A1 (en) Protecting computer software
JP2001117824A (ja) 携帯型情報端末装置およびそのプログラム記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050314