(57)【特許請求の範囲】
【請求項１】
複数の機能と複数の制御アプリケーションのうちのいくつかのものの作動を保護する方法であって、
該複数の制御アプリケーションのうちの１つによって供給される複数の機能の識別とその実行の継続の許可とを要求する第１のメッセージを、該複数の制御アプリケーションのうちの１つがライセンスサーバへ送信する段階と、
該ライセンスサーバおよび該複数の制御アプリケーションのうちの該１つとの両方を実行しているハードウェア・プロセッサの第１のシリアル番号を該ライセンスサーバが入手する段階であって、該ハードウェア・プロセッサが、該ライセンスサーバおよび該複数の制御アプリケーションのうちの該１つを記憶するメモリ・ユニットを含むハードウェア・ユニットに直接接続されている段階と、
該複数の制御アプリケーションのうちの該１つを実行することができるハードウェア・プロセッサの第２のシリアル番号と、該複数の制御アプリケーションのうちの該１つによって提供される該複数の機能のうちの許可された一組の識別とを入手するために、該ライセンスサーバがライセンスファイルにアクセスする段階と、
該第１のシリアル番号と該第２のシリアル番号とを該ライセンスサーバが比較する段階と、
該第１のシリアル番号と該第２のシリアル番号が等しいことに応動して、該複数の制御アプリケーションのうちの該１つが継続して実行できることを示し、そして該複数の機能の許可された一組の識別を含んでいる第２のメッセージを該ライセンスサーバが送信する段階と、
該第２のメッセージに応動して、該複数の制御アプリケーションのうちの該１つが実行を継続する段階と、
該第２のメッセージに応動して、該複数の制御アプリケーションのうちの１つが該複数の機能の該許可された一組を提供する段階とを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、該送信段階は、該複数の制御アプリケーションのうちの該１つの第１のバージョン番号を該第１のメッセージに含ませる段階からなり、
該アクセス段階は、該第１のシリアル番号により規定される該ハードウェア・プロセッサ上で実行することができる該複数の制御アプリケーションの一組のライセンスファイルから第２のバージョン番号を読み出す段階からなり、
該比較段階はさらに、該第１のバージョン番号を該第２のバージョン番号と比較する段階からなり、そして、
該送信段階はさらに、該第１のシリアル番号と該第２のシリアル番号とが等しく、そして該第１のバージョン番号と該第２のバージョン番号とが等しいことに応動して、該第２のメッセージを送信する段階からなることを特徴とする方法。
【請求項３】
請求項２に記載の方法において、該ライセンスファイルが暗号化されており、そして該アクセス段階はさらに、該ライセンスファイルを解読する段階からなることを特徴とする方法。
【請求項４】
請求項３に記載の方法において、該第１のメッセージが暗号化されており、そして該入手段階がさらに、該第１のメッセージを解読する段階からなることを特徴とする方法。
【請求項５】
請求項４に記載の方法において、該第１および第２のメッセージはオペレーティングシステムを介して通信することを特徴とする方法。
【請求項６】
請求項３に記載の方法において、該第２のメッセージが暗号化されており、そして該実行の継続が、該第２のメッセージを解読する段階からなることを特徴とする方法。
【請求項７】
請求項６に記載の方法において、該第１および第２のメッセージはオペレーティングシステムを通して通信することを特徴とする方法。
【請求項８】
請求項１に記載の方法において、該送信段階はさらに、該第１のシリアル番号と第２のシリアル番号とが等しくないことに応動して、該複数の制御アプリケーションのうちの該１つは実行を中止すべきであることを示す第３のメッセージを該複数の制御アプリケーションのうちの該１つに送信する段階からなることを特徴とする方法。
【請求項９】
請求項８に記載の方法において、さらに、該第３のメッセージの受信に応動して、該複数の制御アプリケーションのうちの該１つが実行を中止する段階からなることを特徴とする方法。
【請求項１０】
複数の機能と複数の制御アプリケーションとの作動を保護する装置であって、
該複数の制御アプリケーションのうちの１つによって提供される複数のうちのいくつかのものの機能の識別とその実行の継続の許可とを要求する第１のメッセージを送信する、該複数の制御アプリケーションのうちの１つにある送信手段と、
該ライセンスサーバおよび該複数の制御アプリケーションのうちの１つの両方を実行しているハードウェア・プロセッサの第１のシリアル番号を入手する、該ライセンスサーバにある入手手段であって、該ハードウェア・プロセッサが、該ライセンスサーバおよび該複数の制御アプリケーションのうちの該１つを記憶するメモリ・ユニットを含むハードウェア・ユニットに直接接続されている入手手段と、
該複数の制御アプリケーションのうちの該１つを実行することができるハードウェア・プロセッサの第２のシリアル番号と、該複数の制御アプリケーションのうちの該１つによって提供される該複数の機能の許可された一組の識別とを入手するためにライセンスファイルにアクセスする、該ライセンスサーバにあるアクセス手段と、
該第１のシリアル番号と第２のシリアル番号とを比較する、該ライセンスサーバにある比較手段と、
該第１のシリアル番号と該第２のシリアル番号が等しいことに応動して、該複数の制御アプリケーションのうちの該１つが継続して実行できることを示し、そして該複数の機能の許可された一組の識別を含んでいる第２のメッセージを送信する、該ライセンスサーバにある送信手段と、
該第２のメッセージに応動して実行を継続する、該複数の制御アプリケーションにある実行継続手段と、
該第２のメッセージに応動して該複数の制御アプリケーションのうちの該１つが該複数の機能の該許可された一組を提供する手段とを備えることを特徴とする装置。
【請求項１１】
請求項１０に記載の装置において、該送信手段は、該複数の制御アプリケーションのうちの該１つの第１のバージョン番号を該第１のメッセージに含ませる手段からなり、
該アクセス手段は、該第１のシリアル番号により規定される該ハードウェア・プロセッサ上で実行することができる該複数の制御アプリケーションの一組のライセンスファイルから第２のバージョン番号を読み出す手段からなり、
該比較手段はさらに、該第１のバージョン番号を該第２のバージョン番号と比較する手段からなり、そして、
該送信手段はさらに、該第１のシリアル番号と該第２のシリアル番号とが等しく、そして該第１のバージョン番号と該第２のバージョン番号とが等しいことに応動して、該第２のメッセージを送信する手段からなることを特徴とする装置。
【請求項１２】
請求項１０に記載の装置において、該送信手段はさらに、該第１のシリアル番号と第２のシリアル番号とが等しくないことに応動して、該複数の制御アプリケーションのうちの該１つは実行を中止すべきであることを示す第３のメッセージを該複数の制御アプリケーションのうちの該１つに送信する手段からなることを特徴とする装置。
【請求項１３】
請求項１２に記載の装置において、該装置はさらに、該第３のメッセージの受信に応動して、該複数の制御アプリケーションのうちの該１つが実行を中止する手段からなることを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明の分野】
本発明は、プログラムおよびテーブルの違法使用の防止、特に電気通信交換システム内における機能およびソフトウェアの作動の保護に関する。
【０００２】
【発明の背景】
従来技術においては、ソフトウェアを販売またはリースが、基本的プログラムの見地から、およびそのプログラムを実行可能にする機能の見地から行われたことは周知である。通常、顧客の構内の電気通信交換システム用の特定のソフトウェアパッケージの各リースまたはバージョンは、多数の機能を含む。しかし、顧客は、全部の機能の中のサブセットだけを選択し、それに対して支払いをする。電気通信交換システムの機能は、呼保持、呼転送、自動経路選択等のようなある種の特殊化した動作に関連する。この業界で現在問題となっているのは、ソフトウェアの新しいバージョンが、違法にコピーされたり、顧客が使用料を支払っていない、ライセンスを受けていない交換システム、または顧客が作動する機能上で使用されるのをどうしたら防止できるかということである。従来技術の電気通信交換システムにおいては、パスワードを使用することにより、これらの問題は解決している。すなわち、このパスワードにより、正式に許可を受けている人だけが、電気通信交換システムにアクセスでき、種々の機能、または新しいソフトウェアのバージョンを使用することができる。
【０００３】
ソフトウェアの違法使用の防止の問題は、コンピュータ業界全体においても、共通の問題である。この問題を解決するために、３つの方法が使用されてきた。第１の方法は、ＣＤ−ＲＯＭを使用して、ソフトウェアを配布し、それにキーを添付し、そのキーを使用しなければ、ソフトウェアプログラムを使用できないようにする方法である。この方法ではコピーの問題を解決することはできなかった。何故なら、上記キーは、通常、ＣＤ−ＲＯＭの表紙の上に印刷されていて、誰でも、好きな回数だけ、ソフトウェアをインストールすることができるからである。これが違法であることはいうまでもない。第２の方法は、通常、「ドングル」と呼ばれる特殊なハードウェアを使用する方法である。上記ドングルは、コンピュータのシリアルポートまたはパラレルポートに接続される特殊なハードウェアである。コンピュータで実行されるソフトウェアは、ドングルに乱数を送る。ドングルは、秘密の計算を行い、計算結果を送り返す。ソフトウェアは類似の計算を行い、２つの計算が一致する場合には、ソフトウェアは継続して実行される。満足に動作するためには、応答は、機能情報およびバージョン情報を含んでいなければならない。そうでないと、ドングルの使用は面倒なものになる。ドングルが故障した場合には、代わりの新しいドングルが、物理的に設置されるまでシステムを使用することはできない。また、いったん使用すると、ドングルは固定される。ドングルが、機能を作動するために使用された場合には、新しい各機能を後から購入する度に、新しいドングルが必要になる。
【０００４】
（１９９８年１２月号のＰＣマガジンの３５ページに記載されている）第３の方法は、ＣＤ−ＲＯＭを無料で配布する方法である。ＣＤ−ＲＯＭをコンピュータに挿入すると、コンピュータは、自動的にインターネットまたはダイヤルアップ接続を通して、リモートサーバに接続し、機械に特定のキーを送り込む。上記キーを使用すれば、ソフトウェアを開くことができ、その結果、そのソフトウェアをコンピュータ上で使用することができる。リモートサーバは、またコンピュータユーザから必要な支払い情報を入手する。第３の方法は、電気通信交換システムに対しては、有効に機能しない。何故なら、この方法は、同じソフトウェアアプリケーションの異なる機能の使用に正式な許可を与えないし、またこの方法は、要求されているバージョンに依存するからである。さらに、この方法は、上記要求を行うために、スタッフに正式な許可を与えない。
【０００５】
【発明の概要】
電気通信アプリケーションのような制御アプリケーションが、実行および許可された機能のリストの入手を許可を求めて、ライセンスサーバに、暗号化メッセージを周期的に送る方法の場合には、ある装置を使用することにより、従来技術から新しい発展をすることができる。ライセンスサーバアプリケーションは、制御アプリケーションと同じプロセッサ上で実行される。同様に、実行が許可されているアプリケーションのリスト、使用可能なアプリケーションのバージョン番号、および使用可能な機能のリストを含むライセンスファイルも同じシステム上に常駐している。ライセンスサーバは、制御アプリケーションからの暗号化メッセージに応答し、ライセンスファイルを読出し、解読し、電気通信システムを制御するプロセッサのシリアル番号を読出し、また、プロセッサから入手したシリアル番号を、ライセンスファイルに記憶しているシリアル番号と比較する。一致しない場合には、制御アプリケーションの使用は許可されず、制御アプリケーションを実行することはできない。上記シリアル番号が一致する場合には、上記アプリケーションから受信したバージョン番号と、ライセンスファイル内の上記アプリケーションに関連するバージョン番号とが比較される。バージョン番号が一致しない場合には、暗号化メッセージが、アプリケーションに送られ、実行することはできない。バージョン番号が一致する場合には、アプリケーションに暗号化メッセージが送られ、実行が許可され、使用可能な機能がリストの形で表示される。ライセンスファイルを解読するために、ライセンスサーバは、全体的に、またはシステム毎に、ライセンスサーバに割り当てられるキーを使用する。
【０００６】
下記の説明を読み、添付の図面を参照すれば、本発明の他のおよび別の機能を理解することができるだろう。
【０００７】
【発明の詳細な記述】
図１は、公衆電話網１０４に相互に接続している電気通信交換システム１００である。電気通信交換システム１００は、電話機１０６−１０７を含む。電気通信交換システム１００が、電話機１０６−１０７に供給する機能および動作、および公衆電話網１０４との相互作用は、当業者であれば周知のものである。制御プロセッサ１０２は、電気通信機能および動作を実行するために、オペレーティングシステム１１１を通して呼制御アプリケーション１１４を実行する。制御プロセッサ１０２は、ＬＡＮ１１０を通して、交換ネットワーク１０３と通信する。当業者であれば、制御プロセッサ１０２のプロセッサバスによる接続のような直接接続を通して、交換ネットワーク１０３と通信することができることを容易に理解することができるだろう。オペレーティングシステム１１１は、呼制御アプリケーション１１４のようなアプリケーションを実行することができ、またアプリケーションでメッセージの通信を行うことができる、従来のオペレーティングシステムである。サービススタッフは、電気通信交換システム１００を管理するために、パーソナルコンピュータ（ＰＣ）１２０を使用する。サービススタッフのこれらの機能については、以下に説明する。交換ネットワーク１０３は、電気通信交換システム１００で使用される、すべての必要な電気通信交換機能およびインタフェース機能を供給する。モデム１０８は、制御プロセッサ１０２に直接接続しているので、制御プロセッサ１０２は、公衆電話網１０４を通して、リモートデータベース１０９と連絡する。当業者であれば、モデム１０８を、ＬＡＮ１１０を通して、制御プロセッサ１０２に相互接続することができることを理解することができるだろう。同様に、リモートデータベース１０９は、公衆電話網１０４およびモデム１０８を通して、制御プロセッサ１０２との間に通信チャネルを設置することができる。
【０００８】
本発明によれば、初期化の際におよびその実行中に周期的に、呼制御アプリケーション１１４は、オペレーティングシステム１１１を通して、ライセンスサーバ１１３に暗号化メッセージを送る。暗号化メッセージは、実行の許可、および認可機能のリストを入手するための許可を要求する。暗号化メッセージは、また呼制御アプリケーション１１４のバージョン番号を含む。ライセンスサーバ１１３は、暗号化メッセージに応答して、ライセンスファイル１１２にアクセスする。ライセンスサーバ１１３は、使用可能な機能、呼制御アプリケーション１１４のバージョン番号、および制御プロセッサ１０２のシリアル番号のリストを入手するために、ライセンスファイル１１２を解読する。その後で、ライセンスサーバは、オペレーティングシステム１１１を通して、制御プロセッサ１０２からシリアル番号を読み取る。その後で、ライセンスサーバ１１３は、ライセンスファイル１１２から入手したシリアル番号と、制御プロセッサ１０２からのシリアル番号とを比較する。一致する場合には、ライセンスサーバ１１３は、呼制御アプリケーション１１４から受信したバージョン番号を、ライセンスファイル１１２内に含まれているバージョン番号と比較する。一致する場合には、ライセンスサーバ１１３は、呼制御アプリケーション１１４に暗号化メッセージを送信し、それを実行することができることと、実行することができる機能を知らせる。さらに、ライセンスファイル１１２は、ライセンスサーバ１１３が、期限切れになっているかどうかをチェックするための期限切れの日付を含むことができる。期限切れの日付になっている場合には、ライセンスサーバ１１３は、呼制御アプリケーション１１４に実行許可を与えない。電気通信交換システム１００上で実行中の任意の他のアプリケーションは、それらが実行可能かどうか、またどのオプションを実行することができるかどうかを知るために、呼制御アプリケーション１１４と同じ機構を使用することができる。
【０００９】
ライセンスファイル１１２は、リモートデータベース１０９から入手しなければならない。同様に、リモートデータベース１０９は、パスワードファイル１１６も供給しなければならない。パスワードファイル１１６により、ユーザは、電気通信交換システム１００に関連するいくつかの動作にアクセスし、実行するために、パーソナルコンピュータ１２０を使用することができる。サービススタッフが、パーソナルコンピュータ１２０を通して実行することができる共通タスクの例としては、電気通信交換システム１００の閉鎖、またはルーチン保守機能の実行等がある。リモートデータベース１０９は、公衆電話網１０４およびモデム１０８を通しての、ライセンスファイル１１２のダウンロードを初期化することができる。このダウンロードが行われると、制御プロセッサ１０２は、リモートデータベース１０９から受信する際に、ライセンスファイル１１２内に、ライセンスファイルを正しく記憶するために、システムアプリケーション１１７を実行する。同様に、制御プロセッサ１０２は、リモートデータベース１０９から、ライセンスファイル１１２を自動的に要求することができる。さらに、パーソナルコンピュータ１２０のユーザは、公衆電話網１０４を通してリモートデータベース１０９にログオンすることによりライセンスファイルのコピーを要求することができる。その後で、パーソナルコンピュータ１２０は、ＬＡＮ１１０および制御プロセッサ１０２を通して、ライセンスファイルをメモリ１０１にロードする。
【００１０】
リモートデータベース１０９に対して、ライセンスファイルのコピーの要求が行われた場合には、リモートデータベース１０９は、コピーを要求している実体の身元を確認し、ライセンスファイルに記載しなければならない、シリアル番号、機能、およびバージョン番号を定義しているファイルにアクセスし、その後で、ライセンスファイルのコピーを電気通信交換システム１００に送信する。
【００１１】
図２および図３は、呼制御アプリケーション１１４からの、暗号化メッセージに応えて、ライセンスサーバ１１３が行うステップのフローチャートである。暗号化メッセージの受信は、ブロック２００において検出され、このブロックは制御をブロック２０１に渡す。ブロック２０１においては、制御を判断ブロック２０２に渡す前に、制御プロセッサ１０２からシリアル番号が読み取られる。この判断ブロックにおいては、シリアル番号が、制御プロセッサ１０２から、読み出されたものであることの確認が行われる。エラーが発生した場合には、制御はブロック２０３に渡され、このブロックにおいては、ブロック２１３に制御を渡す前に、エラーのログが行われる。ブロック２１３においては、呼制御アプリケーション１１４を実行することができないことを示すメッセージが作成され、そのメッセージは図３のブロック３０９に送られる。ブロック３０９の動作については以下に説明する。判断ブロック２０２に戻って説明すると、エラーが発生していなかった場合には、ライセンスファイル１１２が読み出される。判断ブロック２０６においては、メモリ１０１からライセンスファイル１１２を読み出している間に、エラーが発生しなかったことの確認が行われる。エラーが発生している場合には、制御は  ブロック２０７に渡され、このブロック２０７においては、制御をブロック２１３に渡す前に、エラーが発生したことがログされる。エラーが発生していない場合には、制御はブロック２０８に渡され、このブロック２０８においては、ライセンスファイル１１２を解読する際に使用するキーが作成される。当業者であれば、ライセンスファイル１１２を、一つ以上のキーを使用して暗号化することができること、およびブロック２０８が必要なキーのすべてを作成することができることを容易に理解することができるだろう。ライセンスファイル１１２を解読した後で、制御はブロック２１１に渡され、このブロック２１１においては、ライセンスサーバ１１３が、記憶しているシリアル番号を制御プロセッサ１０２から読み出したシリアル番号と比較する。判断ブロック２１２においては、このシリアル番号の比較の際に、エラーまたは不一致が、発生したかどうかの判断が行われる。エラーまたは不一致が発生している場合には、制御は判断ブロック２１３に渡される。判断ブロック２１２において、エラーまたは不一致が、発生していなかい場合には、制御は図３のブロック３０１に渡される。
【００１２】
ブロック３０１においては、制御を判断ブロック３０２に渡す前に、現在の日付けおよび時刻が入手される。この判断ブロック２０２においては、呼制御アプリケーション１１４の実行が時間切れになったかどうかを判断するために、現在の日付けおよび時刻が、ライセンスファイル１１２から読み出された日付けおよび時刻と比較される。時間切れになっている場合には、制御はブロック３０７に渡され、このブロック３０７においては、制御をブロック３０９に渡す前に、呼制御アプリケーション１１４に返り送す「否認」を作成する。判断ブロック３０２における判断が「いいえ」である場合には、制御はブロック３０３に渡され、このブロック３０３においは、制御をブロック３０４に渡す前に、その情報を呼制御アプリケーション１１４が要求していると判断する。ブロック３０４においては、呼制御アプリケーション１１４が受信したメッセージが解読される。より詳細に説明すると、上記ブロック３０４は、呼制御アプリケーション１１４が要求しているバージョン番号が、ライセンスファイル１１２内に記録されている情報により許可されていることを確認する。ブロック３０４内でこれらの動作を実行した後で、制御はブロック３０６に渡され、このブロック３０６においては、要求された情報およびバージョン番号が、一致していないかどうかを判断する。一致していない場合には、制御はブロック３０７に渡される。
【００１３】
判断ブロック３０６における判断が「いいえ」である場合には、制御はブロック３０８に渡され、このブロック３０８においては、制御がブロック３０９に渡される前に、実行することができる機能を知らせるための、呼制御アプリケーション１１４に送信される応答の作成が行われる。ブロック３０９においては、制御をブロック３１１に渡す前に、ブロック２１３、ブロック３０８、またはブロック３０７から受信した種々のメッセージが解読される。ブロック３１１においては、暗号化メッセージが、オペレーティングシステム１１１を通して、呼制御アプリケーション１１４に送信される。
【図面の簡単な説明】
【図１】電気通信交換システム１００のソフトウェアの構成のブロック図である。
【図２】ライセンスサーバが実行するステップのフローチャートである。
【図３】リモートデータベースが実行するステップのフローチャートである。
【図１】
0004030708.tif 000002
【図２】
0004030708.tif 000003
【図３】
0004030708.tif 000004