説明

プログラム、ライセンス管理システムおよびライセンス管理方法

【課題】プログラムの不正使用を防止するため、同じネットワーク内に設置される少なくとも2台のコンピュータにはインストールして使用可能であり、異なるネットワークに設置されたコンピュータにはインストールして使用することができないようにする。
【解決手段】コンピュータは、プログラムを実行することにより、複数の管理対象装置の中から所定数の管理対象装置をキー装置として選択するキー装置選択部42、キー装置選択部42によって選択された所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それらの識別情報に基づいてライセンスキーを生成するライセンスキー生成部43、および、ライセンスキーをライセンス管理サーバに送信し、ライセンス管理サーバにおいて行われる登録処理又は認証処理が正常に行われたか否かを判定するライセンスキー判定部44として機能する構成である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、ライセンス管理システムおよびライセンス管理方法に関し、特に、コンピュータにインストールされるプログラムのライセンスを管理する技術に関する。
【背景技術】
【0002】
従来、複数の複合機を管理するシステムとして、複数の複合機のそれぞれとデータ通信回線を通じて接続されたホストコンピュータが各複合機のデータを一括管理するようにしたものがある。例えば特許文献1には、ユーザの事業所などに設置される複合機と、メンテナンス供給業者等の管理センターに設置されるホストコンピュータとがデータ通信回線により接続され、ホストコンピュータがデータ通信回線を介して各複合機の情報を集めて管理すると共に、データ通信回線を介して各複合機に対して各種の設定を行うことができるようにしたシステムが開示されている。
【0003】
一方、近年では、ユーザの事業所などに複数の複合機が設置される場合、それら複数の複合機の管理をある程度ユーザサイドで行えるようにするため、上述したホストコンピュータと同等の機能を発揮するプログラムを、ユーザに対して有償などで配布することが行われる。このような場合、ユーザは、配布されたプログラムをその事業所内に設けられた一般的なコンピュータ(PC)にインストールして起動させることにより、その事業所内に設置されている複数の複合機を一括して管理することができるようになり、各複合機の用紙残量やトナー残量の把握が容易になると共に、各複合機に対する設定操作が行い易くなる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−193702号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように、複数の複合機を管理するプログラムをユーザに配布する場合、ユーザによるプログラムの不正使用を防止するために、プログラムのライセンスキーを登録して管理する必要がある。従来、このようなプログラムのライセンスキーを登録して管理する手法のひとつとして、プログラムがインストールされたコンピュータのハードウェア環境(例えばCPUやハードディスク装置などのパーツ構成)に基づいて、そのコンピュータに固有のライセンスキーを生成し、そのライセンスキーを1台のコンピュータに関連付けて登録しておく方法がある。この方法では、プログラムのインストールされたコンピュータが所定期間内にライセンス管理サーバに対してライセンスキーを登録することにより、そのコンピュータ1台に限ってプログラムの継続利用が可能になる。
【0006】
ところが、複数の複合機を管理するプログラムをインストールするコンピュータの場合には、LAN(Local Area Network)などのネットワークに接続されている複数の複合機を常時監視する必要があり、1台のコンピュータにトラブルが発生した場合には、他のコンピュータでそれら複数の複合機を管理する機能を継続させる必要がある。そのため、同じネットワーク環境に設置されている少なくとも2台のコンピュータに同一のプログラムをインストールしておき、1台のコンピュータを主装置として機能させ、他のコンピュータをバックアップ装置として機能させることが好ましい。
【0007】
しかしながら、上述したように、プログラムがインストールされるコンピュータのハードウェア環境に基づいて固有のライセンスキーを生成して登録する手法では、1台のコンピュータに対応したライセンスキーが登録されてしまうため、同じプログラムを別のコンピュータにインストールして使用することができないという問題がある。また、ひとつのプログラムに対して複数のコンピュータから生成される複数のライセンスキーを登録することも考えられるが、その場合、同一のネットワーク環境にはない複数のコンピュータにプログラムが不正にインストールされてしまう可能性がある。
【0008】
また、プログラムのライセンスキーは、ユーザに公開してしまうと、悪質なユーザによって不正な操作が行われてしまう可能性がある。そのため、この種のライセンスキーは、ユーザが知得できないような情報として生成することが好ましい。
【0009】
そこで本発明は、上記従来の問題点を解決するためになされたものであり、ネットワークに接続された複数の管理対象装置を管理するプログラムの不正使用を防止するため、同じネットワーク内に設置される少なくとも2台のコンピュータにはインストールして使用可能であり、異なるネットワークに設置されたコンピュータにはインストールして使用することができないようにするプログラム、ライセンス管理システムおよびライセンス管理方法を提供することを、その目的とするものである。
【課題を解決するための手段】
【0010】
上記目的を達成するため、請求項1にかかる発明は、ネットワークに接続されたコンピュータにおいて実行され、前記ネットワークに接続された複数の管理対象装置を管理する管理機能を有すると共に、前記ネットワークを介してライセンス管理サーバにライセンスキーを送信し、前記ライセンス管理サーバにおいて該ライセンスキーの登録処理又は認証処理が正常に行われることを条件として前記管理機能を有効に稼働させるプログラムであって、前記コンピュータを、前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として選択するキー装置選択手段、前記キー装置選択手段によって選択された所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するキー生成手段、前記ライセンスキーを前記ライセンス管理サーバに送信し、前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に行われたか否かを判定するキー判定手段、および、前記キー判定手段において前記登録処理又は前記認証処理が正常に行われたことが判定された場合に、前記複数の管理対象装置の管理動作を開始する装置管理手段、として機能させることを特徴とする構成である。
【0011】
請求項2にかかる発明は、請求項1に記載のプログラムにおいて、前記キー装置選択手段には、前記複数の管理対象装置のそれぞれに搭載されたオプション機能に基づいて所定数のキー装置を選択させることを特徴とする構成である。
【0012】
請求項3にかかる発明は、請求項1に記載のプログラムにおいて、前記キー装置選択手段には、前記複数の管理対象装置のそれぞれに設定される起動時間設定情報に基づいて所定数のキー装置を選択させることを特徴とする構成である。
【0013】
請求項4にかかる発明は、請求項1乃至3のいずれかに記載のプログラムにおいて、前記装置管理手段には、前記複数の管理対象装置のそれぞれの起動状態を定期的に監視させると共に、前記複数の管理対象装置のそれぞれの起動時間をログ情報として記録させ、前記装置管理手段によって前記ログ情報が記録されている場合、前記キー装置選択手段に、前記ログ情報に基づいて所定数のキー装置を選択させることを特徴とする構成である。
【0014】
請求項5にかかる発明は、請求項4に記載のプログラムにおいて、前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のそれぞれの起動時間の長いものから順に、所定数のキー装置を選択させることを特徴とする構成である。
【0015】
請求項6にかかる発明は、請求項4又は5に記載のプログラムにおいて、前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のうち、夜間に起動状態となっているものから順に、所定数のキー装置を選択させることを特徴とする構成である。
【0016】
請求項7にかかる発明は、請求項4乃至6のいずれかに記載のプログラムにおいて、前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のうち、前記ログ情報に登録されてからの経過日数が少ないものから順に、所定数のキー装置を選択させることを特徴とする構成である。
【0017】
請求項8にかかる発明は、請求項4乃至7のいずれかに記載のプログラムにおいて、前記キー装置選択手段が前記ログ情報に基づいて所定数のキー装置を選択することによって所定数のキー装置のうちの少なくとも1つが更新された場合、前記キー生成手段に、ライセンスキーを再度生成させると共に、前記キー判定手段に、前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に行われたか否かを再度判定させることを特徴とする構成である。
【0018】
請求項9にかかる発明は、請求項1乃至8のいずれかに記載のプログラムにおいて、前記キー生成手段には、所定数の識別情報のそれぞれに基づいてハッシュ値を算出させ、それら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成させることを特徴とする構成である。
【0019】
請求項10にかかる発明は、ネットワークに接続される複数の管理対象装置を管理するためのプログラムがインストールされるコンピュータと、前記コンピュータにインストールされる前記プログラムのライセンスを管理するライセンス管理サーバと、を備えるライセンス管理システムであって、前記コンピュータは、前記プログラムを実行することによって、前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として選択するキー装置選択手段と、前記キー装置選択手段によって選択された所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するキー生成手段と、前記ライセンスキーを前記ライセンス管理サーバに送信する手段と、を有し、前記ライセンス管理サーバは、前記コンピュータから受信する前記ライセンスキーの登録処理又は認証処理を行い、前記登録処理又は前記認証処理が正常に完了した否かを示す結果を前記コンピュータに送信する登録認証手段を有し、前記コンピュータは、前記ライセンス管理サーバにおいて前記登録処理又は前記認証処理が正常に完了した場合に、前記プログラムによる前記複数の管理対象装置を管理するための管理機能を有効に動作させることを特徴とする構成である。
【0020】
請求項11にかかる発明は、請求項10に記載のライセンス管理システムにおいて、前記キー生成手段は、所定数の識別情報のそれぞれに基づいてハッシュ値を算出し、それら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成するように構成され、前記登録認証手段は、前記コンピュータから受信する前記所定バイト数のライセンスキーを分割して所定数の値を抽出し、それら所定数の値のそれぞれに基づいて前記認証処理を行うことを特徴とする構成である。
【0021】
請求項12にかかる発明は、ネットワークに接続された複数の管理対象装置を管理するためのプログラムのライセンスを管理するライセンス管理方法であって、(a) 前記プログラムを実行するコンピュータが、前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として自動選択すると共に、それら所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するステップと、(b) 前記コンピュータがライセンスキーをライセンス管理サーバに送信するステップと、(c) 前記ライセンス管理サーバが前記コンピュータから受信するライセンスキーの登録処理又は認証処理を行うステップと、(d) 前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に完了した場合に、前記コンピュータが前記プログラムによる前記複数の管理対象装置を管理するための管理機能を有効に動作させるステップと、を有することを特徴とする構成である。
【0022】
請求項13にかかる発明は、請求項12に記載のライセンス管理方法において、前記ステップ(a)は、所定数の識別情報のそれぞれに基づいてハッシュ値を算出してそれら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成し、前記ステップ(c)は、前記コンピュータから受信する前記所定バイト数のライセンスキーを分割して所定数の値を抽出し、それら所定数の値のそれぞれに基づいて前記認証処理を行うことを特徴とする構成である。
【発明の効果】
【0023】
本発明によれば、同じネットワーク内に設置される少なくとも2台のコンピュータにインストールして使用される場合、それら少なくとも2台のコンピュータでは同じライセンスキーが生成されるようになる。また、異なるネットワークに設置される2台のコンピュータにインストールして使用される場合には、それら2台のコンピュータで生成されるライセンスキーは異なるものとなる。それ故、同じネットワーク内に設置される少なくとも2台のコンピュータにはインストールして使用することを許容する反面、異なるネットワークに設置されたコンピュータにはインストールして使用することができないようにするプログラムが実現されるようになる。その結果、ネットワークに接続された複数の管理対象装置を管理するプログラムの不正使用を防止することができるようになる。
【図面の簡単な説明】
【0024】
【図1】ライセンス管理システムの概略構成の一例を示す図である。
【図2】コンピュータのハードウェア構成の一例を示す図である。
【図3】画像処理装置のハードウェア構成の一例を示す図である。
【図4】コンピュータのCPUが管理プログラムを実行することによって実現される機能構成の一例を示すブロック図である。
【図5】情報取得部が取得するオプション機能に関する情報の一例を示す図である。
【図6】情報取得部が取得する起動時間設定情報の一例を示す図である。
【図7】ライセンスキー生成部における処理の概念を示す図である。
【図8】キー生成部においてライセンスキーを生成する処理の概念示す図である。
【図9】ライセンス管理サーバで管理されるライセンスキーの登録情報の一例を示す図である。
【図10】ログ記録部によって記録されるログ情報の一例を示す図である。
【図11】ログ記録部によって記録される夜間だけのログ情報の一例を示す図である。
【図12】ログ記録部によって記録される登録後の経過日数を示すログ情報の一例を示す図である。
【図13】ライセンス管理サーバで行われる認証処理時のライセンスキーに対する処理概念の一例を示す図である。
【図14】ライセンス管理サーバの認証処理の概念を示す図である。
【図15】ライセンス管理サーバが登録情報を更新する処理の概念を示す図である。
【図16】コンピュータが管理プログラムを実行することによって行われる処理手順の一例を示すフローチャートである。
【図17】キー装置選択処理の詳細を示すフローチャートである。
【図18】ライセンスキー生成処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【0026】
図1は、本実施形態におけるライセンス管理システム1の概略構成の一例を示す図である。このライセンス管理システム1は、オフィス環境に設置されるネットワークシステム2と、ネットワークシステム2が設けられるオフィス環境とは別の環境に設けられるライセンス管理サーバ9とが、インターネットや公衆電話回線などの外部ネットワーク8を介して相互にデータ通信可能に接続された構成である。
【0027】
ネットワークシステム2が構築されるオフィス環境には、複数のコンピュータ4,5と、データサーバ6と、複数の画像処理装置7とが設けられ、これらがLAN(Local Area Network)などのネットワーク3を介して相互にデータ通信が可能となっている。
【0028】
複数の画像処理装置7のそれぞれは、コピー機能やプリンタ機能など、画像処理に関する複数の機能を備えた複合機である。これら複数の機能には、複数の画像処理装置7のそれぞれに対して標準的に搭載される標準機能と、ユーザの選択によって追加的に搭載可能なオプション機能とがあり、例えば、コピー機能やプリンタ機能が標準機能となっており、FAX機能やその他の機能がオプション機能となっている。そして複数の画像処理装置7には、オプション機能が搭載された装置と、搭載されていない装置とが混在することもある。尚、本実施形態では、複数の画像処理装置7として、図例の如く、7台の画像処理装置7a〜7gがネットワーク3に接続されている場合を例示する。
【0029】
複数のコンピュータ4,5は、例えば一般的なパーソナルコンピュータ(PC)で構成され、様々なアプリケーションプログラムをインストールして実行することができる。特に本実施形態では、複数のコンピュータ4,5のそれぞれが、CD−ROMやDVD−ROMなどのコンピュータ読み取り可能な可搬型の記録媒体Mに記録されているプログラムであって、複数の画像処理装置7a〜7gのそれぞれを一元的に管理するための管理プログラムをインストールして実行することにより、複数の画像処理装置7a〜7gを管理する管理装置として機能する。
【0030】
データサーバ6は、ネットワーク3を介して受信する各種の情報を記憶しておくサーバ装置である。すなわち、データサーバ6は、ハードディスク装置などで構成される記憶部6aを備えており、その記憶部6aに各種の情報を保存するように構成される。
【0031】
図2は、コンピュータ4,5のハードウェア構成の一例を示す図である。図2に示すように、コンピュータ4,5は、CPU10と、メモリ11と、ネットワークインタフェース12と、表示部13と、操作入力部14と、メディアドライブ15と、記憶デバイス16とを備えており、これら各部がデータバス17を介して相互にデータの入出力を行うことができる構成である。
【0032】
記憶デバイス16は、ハードディスク装置などで構成され、各種プログラムやデータなどを記憶する。この記憶デバイス16には、オペレーティングシステムである基本プログラム21が予め記憶されている。コンピュータ4,5への電源投入に伴い、CPU10がこの基本プログラム21を読み出して実行することにより、CPU10は各部の動作を制御するようになる。
【0033】
CPU10は、記憶デバイス16に記憶された各種プログラムを読み出して実行するものである。メモリ11は、CPU10のプログラム実行に伴って生じる一時的なデータなどを記憶するためのものである。
【0034】
ネットワークインタフェース12は、コンピュータ4,5をネットワーク3および外部ネットワーク8に接続するためのものである。表示部13は、カラー液晶ディスプレイなどで構成され、ユーザに対して各種の情報を表示する。操作入力部14は、キーボード14aとマウス14bとを備え、ユーザによる各種操作入力を受け付けるためのものである。メディアドライブ15は、記録媒体Mを駆動し、その記録媒体Mに記憶された情報を読み出すためのものである。
【0035】
CPU10は、メディアドライブ15に記録媒体Mがセットされると、それに伴ってメディアドライブ15を制御し、記録媒体Mに記録されている管理プログラム22を記憶デバイス16にインストールする。そしてCPU10は、管理プログラム22のインストールが完了すると、管理プログラム22を読み出して実行する。つまり、コンピュータ4,5は、基本プログラム21を実行している状態で、更に管理プログラム22を実行することにより、同じネットワーク3に接続されている複数の画像処理装置7a〜7gを管理する管理装置として機能する。
【0036】
上記のようにして複数のコンピュータ4,5が管理装置として機能するとき、それら複数のコンピュータ4,5は常時起動状態となる。そして1つのコンピュータ4が、複数の画像処理装置7a〜7gのそれぞれを管理対象装置として常時監視する主装置として機能し、他のコンピュータ5が主装置のバックアップ装置として機能するようになる。このとき、主装置であるコンピュータ4は、管理対象装置である複数の画像処理装置7a〜7gのそれぞれを常時監視し、各画像処理装置7a〜7gの用紙残量やトナー残量、或いは、実際の稼働時間などをリアルタイムで管理する。またバックアップ装置であるコンピュータ5は、主装置であるコンピュータ4と同様に常時稼働状態となる。ただし、バックアップ装置であるコンピュータ5は、主装置であるコンピュータ4が正常に動作しているときには複数の画像処理装置7a〜7gのそれぞれを管理する動作は行わない。すなわち、バックアップ装置であるコンピュータ5は、主装置であるコンピュータ4に何らかのトラブルが発生して管理機能の動作を停止させたときに作動し、機能停止したコンピュータ4に引き継いで複数の画像処理装置7a〜7gのそれぞれを管理する動作を開始する。
【0037】
そして本実施形態では、主装置とバックアップ装置との引き継ぎ動作を的確に行うために、主装置であるコンピュータ4が管理機能を正常に動作させているときに生成する各種の情報(後述するログ情報を含む。)を、ネットワーク3経由でデータサーバ6の記憶部6aに保存するようになっている。そのため、主装置であるコンピュータ4に何らかのトラブルが発生して管理機能の動作を停止させた場合でも、バックアップ装置であるコンピュータ5は、正常に作動しているデータサーバ6の記憶部6aから各種の情報を読み出して管理機能を動作させることができるようになる。
【0038】
このように本実施形態では、記録媒体Mに記録されている管理プログラム22を、ひとつのネットワークシステム2に含まれる複数のコンピュータ4,5に予めインストールしておくことにより、万一、主装置であるコンピュータ4が管理機能の動作を停止させた場合でも、バックアップ装置であるコンピュータ5が管理機能を作動させて複数の画像処理装置7a〜7gを管理する動作を継続させることができる。それ故、ユーザは、主装置であるコンピュータ4にトラブルが発生した場合でも、コンピュータ5を操作することで各画像処理装置7a〜7gの状態を的確に把握することが可能である。
【0039】
次に、管理対象装置である画像処理装置7について説明する。図3は、画像処理装置7のハードウェア構成の一例を示す図である。画像処理装置7は、主制御部30と、ネットワークインタフェース31と、電源制御部32と、記憶装置33と、操作パネル34と、スキャナ部35と、プリンタ部36と、オプション機能部37とを備えており、これらがデータバス38を介して相互にデータの入出力を行うことができる構成である。
【0040】
主制御部30は、各部の動作を制御するものであり、CPU30aとメモリ30bとを備えている。CPU30aは、記憶装置33に記憶されている処理プログラム23を読み出して実行することにより、各種の処理を実行する。つまり、CPU30aが処理プログラム23を実行することにより、画像処理装置7においてコピー機能やプリンタ機能などの各種の機能が作動する。メモリ30bは、CPU30aが処理プログラム23を実行する際に、一時的なデータなどを記憶するためのものである。
【0041】
ネットワークインタフェース31は、画像処理装置7をネットワーク3に接続するためのものである。また電源制御部32は、画像処理装置7の電力状態を制御する制御部である。この電源制御部32は、記憶装置33に記憶されている起動時間設定情報25を読み出し、その起動時間設定情報25に設定されている起動時間に基づいてオートパワーオン又はオートパワーオフなどの電源制御を実行する。また、電源制御部32は、ユーザの手動操作によるパワーオン操作又はパワーオフ操作を検知した場合には、その手動操作に基づいて電源制御を実行するように構成される。尚、記憶装置33に起動時間設定情報25が記憶されていない場合、電源制御部32は、ユーザによる手動操作のみに基づいて電源のオンオフを切り替えるようになっている。
【0042】
記憶装置33は、例えばハードディスク装置などで構成される不揮発性の記憶手段である。この記憶装置33には、上述したように、主制御部30のCPU30aによって実行される処理プログラム23、および、電源制御部32によって管理される起動時間設定情報25が記憶される他、図3に示すように識別情報24が記憶される。識別情報24は、複数の画像処理装置7a〜7gのそれぞれに対して個別に付与される情報であり、例えば製造過程で付与される所定桁数のシリアル番号である。したがって、複数の画像処理装置7a〜7gには、それぞれ異なる識別情報24が記憶されている。尚、この識別情報24は、書き換え不可能な情報として記憶装置33に記憶される。
【0043】
操作パネル34は、ユーザが画像処理装置7を操作する際のユーザインタフェースとなるものである。この操作パネル34は、ユーザに対して各種情報を表示する表示部34aと、ユーザが各種の操作を行うための操作部34bとを備えている。ユーザは、表示部34aに表示されるメニュー画面などを見ながら操作部34bを操作することにより、コピー機能やプリンタ機能などの複数の機能の中から一の機能を選択してジョブの実行を指示することができる。
【0044】
スキャナ部35は、原稿の画像を読み取って画像データを生成する処理である。このスキャナ部35は、例えばコピー機能や、オプション機能であるFAX機能が選択されたときに動作し、原稿の読み取り動作を行って画像データを生成する。
【0045】
プリンタ部36は、入力する画像データに基づいて印刷用紙にトナー像を転写して印刷出力を行う処理部である。このプリンタ部36は、例えばユーザによってコピー機能が選択されたとき、或いは、ネットワーク3を介して印刷データを受信したときに機能し、印刷出力を行うように構成される。また、プリンタ部36は、オプション機能であるFAX機能が搭載されている状態でFAXデータを受信したときにも動作し、受信したFAXデータに基づいて印刷出力を行う。
【0046】
オプション機能部37は、画像処理装置7に搭載されるオプション機能に対応する処理を実行する処理部である。例えば、このオプション機能部37は、FAXデータの送受信を行うための処理部である。尚、画像処理装置7にはオプション機能が搭載されない場合もあり、その場合には画像処理装置7はオプション機能部37を具備しない構成となる。尚、画像処理装置7にオプション機能部37が搭載されているか否かは主制御部30によって管理されると共に、主制御部30はどのようなオプション機能が搭載されているかを認識した状態となっている。
【0047】
このような画像処理装置7は、ネットワークインタフェース31を介してネットワーク3に接続されており、電源制御部32によって各部に電源が供給されている状態であれば、管理装置として機能するコンピュータ4,5とデータ通信が可能な状態となっている。例えば、電源制御部32によって各部に電源が供給されている状態のとき、コンピュータ4,5から画像処理装置7の状態を確認するための応答要求コマンドを受信すると、主制御部30がそのコマンドに対応する応答情報を生成し、コンピュータ4,5に送信する。このようなデータ通信が定期的に、或いは、不定期に行われることにより、コンピュータ4,5は、各画像処理装置7a〜7gの用紙残量やトナー残量などを管理する。
【0048】
また画像処理装置7は、電源制御部32によって各部に電源が供給されている状態のとき、コンピュータ4,5から識別情報24の送信要求を受信した場合には、主制御部30が記憶装置33から識別情報24を読み出してコンピュータ4,5に送信するようになっている。
【0049】
図1に戻り、ライセンス管理サーバ9は、上記のようなシステム構成において、コンピュータ4,5にインストールされる管理プログラム22のライセンスキーを管理するサーバ装置である。ライセンス管理サーバ9は、コンピュータ4,5から送信されるライセンスキーを登録すると共に、ライセンスキーの認証処理を行ってコンピュータ4,5にその認証結果を送信するように構成される。すなわち、コンピュータ4,5は、管理プログラム22をインストールした後、その管理プログラム22を実行することにより、ライセンスキーを生成し、外部ネットワーク8を介してそのライセンスキーをライセンス管理サーバ9に送信する。そしてライセンス管理サーバ9から正常なライセンスキーであることを示す認証結果が得られると、コンピュータ4,5は、正常に管理機能を動作させることができる状態となる。これに対し、ライセンス管理サーバ9からライセンスキーの認証に失敗したことを示す認証結果が得られると、コンピュータ4,5は、ユーザに対してその旨を警告すると共に、管理機能の動作を停止させる。
【0050】
このようなライセンスキーの認証は、コンピュータ4,5に管理プログラム22がインストールされたときに行われると共に、コンピュータ4,5が管理プログラム22を実行している状態で定期的に又は不定期に特定のタイミングで繰り返し行われる。そして、このようなライセンスキーの認証により、ネットワーク3に接続された複数の管理対象装置7a〜7gを管理する管理プログラム22の不正使用を防止する。
【0051】
本実施形態では、ネットワークシステム2に設けられた少なくとも2台のコンピュータ4,5に対して同じ管理プログラム22をインストールして使用することができるようになっている。この場合、従来技術のように、コンピュータ4,5のそれぞれが、コンピュータ内部のハードウェア環境(例えばCPU10や記憶デバイス16などのパーツ構成)に基づいて固有のライセンスキーを生成してしまうと、コンピュータ4,5のそれぞれが生成するライセンスキーが一致しなくなり、ライセンス管理サーバ9における認証処理が失敗する。その結果、コンピュータ4,5のいずれか一方において管理機能を動作させることができなくなる。これを防止するため、本実施形態では、同じネットワーク3に接続されている少なくとも2台のコンピュータ4,5に管理プログラム22がインストールされた場合には、それらのコンピュータ4,5は、同じライセンスキーを生成するように構成される。以下、このようなコンピュータ4,5における処理について詳しく説明する。
【0052】
図4は、コンピュータ4,5のCPU10が管理プログラム22を実行することによって実現される機能構成の一例を示すブロック図である。図4に示すように、コンピュータ4,5のCPU10は、管理プログラム22を実行することにより、通信制御部40、情報取得部41、キー装置選択部42、ライセンスキー生成部43、ライセンスキー判定部44、装置管理部45および表示制御部46として機能する。そして本実施形態では、CPU10においてこれらの各処理部が機能することにより、コンピュータ4の管理対象装置である複数の画像処理装置7a〜7gの中から所定数のキー装置を選択し、それらの所定数のキー装置のそれぞれに記憶されている固有の識別情報24に基づいてライセンスキーを生成するように構成される。以下、さらに詳しく説明する。
【0053】
通信制御部40は、ネットワークインタフェース12を介して管理対象装置である複数の画像処理装置7a〜7gのそれぞれとデータ通信を行うと共に、ライセンス管理サーバ9とのデータ通信を行う処理部である。
【0054】
情報取得部41は、キー装置を選択する際に参照する情報を取得する処理部である。この情報取得部41は、データサーバ6の記憶部6aにログ情報が記憶されている場合、通信制御部40を介してデータサーバ6からそのログ情報を取得する。そして、取得したログ情報をキー装置選択部42に出力する。
【0055】
またデータサーバ6の記憶部6aにはログ情報が未だ記憶されていないことがある。すなわち、コンピュータ4に管理プログラム22がインストールされた直後の状態では、データサーバ6の記憶部6aにはログ情報が未だ記憶されていない。このような場合、情報取得部41は、データサーバ6からログ情報を取得することができない。そのため、情報取得部41は、データサーバ6からログ情報を取得することができない場合、管理対象装置である複数の画像処理装置7a〜7gのそれぞれから、オプション機能に関する情報と、起動時間設定情報25とを取得する。そして複数の画像処理装置7a〜7gのそれぞれから取得した、オプション機能に関する情報と、起動時間設定情報25とをキー装置選択部42に出力する。
【0056】
図5は、情報取得部41が取得するオプション機能に関する情報の一例を示す図である。図5に示すように、情報取得部41は、管理対象装置である複数の画像処理装置7a〜7gのそれぞれから、オプション機能に関する情報を取得することにより、各画像処理装置7a〜7gの装置名と、搭載されているオプション機能とを対応付けたテーブル情報を作成する。この例では、装置名「MFP1」〜「MFP7」のそれぞれが、複数の画像処理装置7a〜7gのそれぞれに対応する場合を示している。尚、装置名については以下同様である。そして情報取得部41が、各画像処理装置7a〜7gからオプション機能に関する情報を取得した結果、図5に示すようなテーブル情報が作成されることにより、画像処理装置7c,7e,7gの3つの装置にFAX部がオプション機能として搭載されており、他の画像処理装置7a,7b,7d,7fにはオプション機能が搭載されていないことを把握することができる。
【0057】
また図6は、情報取得部41が取得する起動時間設定情報25の一例を示す図である。図6に示すように、情報取得部41は、管理対象装置である複数の画像処理装置7a〜7gのそれぞれから、起動時間設定情報25を取得することにより、各画像処理装置7a〜7gの装置名と、各装置に予め設定されている起動時間設定情報25とを対応付けたテーブル情報を作成する。そして情報取得部41が、各画像処理装置7a〜7gから起動時間設定情報25を取得した結果、図6に示すようなテーブル情報が作成されることにより、画像処理装置7b,7fの2つの装置にはオートパワーオン又はオートパワーオフを行うための起動時間が設定されており、他の5つの画像処理装置7a,7c,7d,7e,7gには起動時間が設定されていないことを把握することができる。
【0058】
そして情報取得部41は、上記のようなテーブル情報をキー装置選択部42に出力する。
【0059】
キー装置選択部42は、情報取得部41によって取得された情報に基づいて、複数の画像処理装置7a〜7gの中から所定数のキー装置を選択する処理部である。本実施形態では、キー装置選択部42が、複数の画像処理装置7a〜7gの中から3つのキー装置を選択する場合を例示する。ただし、キー装置の数はこれに限られるものではない。本実施形態では、キー装置選択部42が、3つのキー装置を選択する際、複数の画像処理装置7a〜7gの中で起動時間の長いものから優先的にキー装置として選択するように構成される。
【0060】
まず、データサーバ6にログ情報が記録されておらず、情報取得部41が複数の画像処理装置7a〜7gのそれぞれからオプション機能に関する情報と、起動時間設定情報25とを取得した場合について説明する。この場合、キー装置選択部42は、図5および図6に示すテーブル情報を入力する。そしてキー装置選択部42は、まず各画像処理装置7a〜7gの起動時間設定情報25に基づいて起動時間の長いものから順に選択するため、図6のテーブル情報を参照すると、5つの画像処理装置7a,7c,7d,7e,7gには起動時間が設定されておらず、これら5つの画像処理装置7a,7c,7d,7e,7gの起動時間が設定上最も長いことになる。そのため、起動時間設定情報25だけでは、3つのキー装置に絞り込むことができない。このような場合、キー装置選択部42は、さらに図5のテーブル情報を参照し、5つの画像処理装置7a,7c,7d,7e,7gの中からFAX部がオプション機能として搭載されるものを優先的に抽出する。そのため、図5および図6のようなテーブル情報が得られた場合、キー装置選択部42は、装置名「MFP3」、「MFP5」、「MFP7」に対応する画像処理装置7c,7e,7gの3つの装置をキー装置として選択する。すなわち、FAX機能を有するオプション機能部37が搭載されている3つの画像処理装置7c,7e,8gがキー装置として選択されることになる。
【0061】
オプション機能としてFAX機能が搭載されている場合、その画像処理装置7c,7e,8gは常時FAXデータを受信可能な状態にしておく必要があるため、ユーザによる手動操作で電源がオフにされることはないと考えられる。これに対し、FAX機能が搭載されていない画像処理装置7a,7dは、一日の業務終了に伴い、ユーザによる手動操作で電源がオフにされる可能性がある。そのため、キー装置選択部42は、起動時間設定情報25だけでは3つのキー装置を選択することができない場合、上記のようにオプション機能が搭載されているか否かによって3つのキー装置を選択するようにしている。尚、オプション機能としてFAX機能が搭載されている画像処理装置が3つ以上ある場合は、それら3つ以上の画像処理装置の中からランダムに3つの画像処理装置をキー装置として選択するようにしても良い。そしてキー装置選択部42は、上記のようにして3つのキー装置を選択すると、それらの選択したキー装置を示す情報をライセンスキー生成部43に出力する。
【0062】
一方、データサーバ6にログ情報が記録されており、情報取得部41がそのログ情報を取得した場合、キー装置選択部42は、そのログ情報に基づいて3つのキー装置を選択する処理を行うが、これについては後述する。
【0063】
ライセンスキー生成部43は、キー装置選択部42によって選択された3つのキー装置に記憶されている識別情報24を取得し、それらの識別情報24に基づいてライセンスキーを生成する処理部である。図7は、ライセンスキー生成部43における処理の概念を示す図である。図7に示すように、ライセンスキー生成部43は、識別情報取得部43aと、ハッシュ値算出部43bと、キー生成部43cとを備えている。
【0064】
識別情報取得部43aは、上述したようにキー装置選択部42によって選択された3つのキー装置7Kのそれぞれから固有の識別情報24を取得する。そして識別情報取得部43aは、3つのキー装置7Kのそれぞれから取得した識別情報24を、ハッシュ値算出部43bに出力する。
【0065】
ハッシュ値算出部43bは、例えばMD5(Message Digest Algorithm 5)やSHA−1(Secure Hash Algorithm 1)などの特定のハッシュ関数を保持しており、識別情報取得部43aから入力する3つの識別情報24のそれぞれをそのハッシュ関数に入力して演算を行うことによりハッシュ値を算出する処理部である。ハッシュ値は、その演算方法の特徴から固定長の値となる。例えば、ハッシュ関数がMD5の場合にはハッシュ値は16バイトとなり、SHA−1の場合にはハッシュ値は20バイトとなる。また、ハッシュ関数は不可逆な関数であるため、これによって算出されるハッシュ値からは、元の入力値(すなわち、識別情報24)を算出することは不可能な値となる。そのため、ハッシュ値算出部43bが、特定のハッシュ関数を用いてハッシュ値を算出することにより、どの装置がキー装置として選択されたかをユーザに対して秘匿しておくことができるという利点がある。そしてハッシュ値算出部43bは、3つの識別情報24のそれぞれに基づいて3つのハッシュ値を算出すると、それらのハッシュ値をキー生成部43cに出力する。
【0066】
キー生成部43cは、ハッシュ値算出部43bから入力する3つのハッシュ値に基づいてライセンスキーを生成する処理部である。図8は、キー生成部43cにおいてライセンスキーを生成する処理の概念示す図である。図8に示すように、キー生成部43cは、ハッシュ値算出部43bから3つのハッシュ値HS1,HS2,HS3を入力する。そしてキー生成部43cは、固定長として算出された3つのハッシュ値HS1,HS2,HS3のそれぞれから、上位所定バイト数の値V1,V2,V3を抽出する。例えば、16バイトや20バイトなどのハッシュ値HS1,HS2,HS3のそれぞれから上位4バイトの値V1,V2,V3を抽出する。そしてキー生成部43cは、図8に示すようにハッシュ値HS1,HS2,HS3から抽出した3つの値V1,V2,V3を繋ぎ合わせて合計所定バイト数のライセンスキーLKを生成する。例えば、このライセンスキーLKは、合計12バイトの値となる。尚、キー生成部43cが、3つの値V1,V2,V3を繋ぎ合わせる際の順序は不問である。
【0067】
図4に戻り、上記のようにしてライセンスキーLKを生成すると、ライセンスキー生成部43は、そのライセンスキーLKをライセンスキー判定部44に出力する。
【0068】
ライセンスキー判定部44は、ライセンスキーLKをライセンス管理サーバ9に送信し、生成されたライセンスキーLKが正常なキーであるか否かを判定する処理部である。ライセンスキー判定部44がライセンスキーLKをライセンス管理サーバ9に送信することにより、ライセンス管理サーバ9は、そのライセンスキーLKの登録処理又は認証処理を実行する。
【0069】
図9は、ライセンス管理サーバ9で管理されるライセンスキーLKの登録情報26の一例を示す図である。図9(a)に示す登録情報26では、契約会社である「ABC Company」の欄にはライセンスキーLKは登録されていない。この状態で、ライセンス管理サーバ9が、コンピュータ4,5からライセンスキーLKを受信すると、その受信したライセンスキーLKを登録情報26に登録する。その結果、ライセンス管理サーバ9で管理される登録情報26は、図9(a)に示す状態から、図9(b)に示す状態へと更新される。つまり、ライセンス管理サーバ9は、管理プログラム22を利用する契約会社を登録情報26に予め登録しておき、その契約会社のコンピュータ4,5からライセンスキーLKをオンラインで受信すると、そのライセンスキーLKをその契約会社の欄に登録する。
【0070】
このようにライセンス管理サーバ9は、契約会社の欄が空欄であるときに、ライセンスキーLKを受信した場合、ライセンスキーLKの登録処理を行う。このとき、受信したライセンスキーLKの認証処理は行うことができない。そのため、ライセンス管理サーバ9は、登録処理が正常に完了すると、認証結果が正常であることを示す情報をライセンスキーLKの送信元であるコンピュータ4,5に送信する。
【0071】
そしてライセンスキー判定部44は、ライセンス管理サーバ9から受信する情報を判定することにより、送信したライセンスキーLKが正規のライセンスキーであるか否かを判定する。その結果、正規のライセンスキーであった場合、ライセンスキー判定部44は、装置管理部45を機能させる。ただし、正規のライセンスキーであると判定した場合に、装置管理部45を機能させるのは、主装置として動作しているコンピュータ4のみである。他のバックアップ装置として動作しているコンピュータ5の場合は、正規のライセンスキーであると判定しても装置管理部45を直ちに機能させず、主装置であるコンピュータ4の装置管理部45が正常に機能している間はコンピュータ4の動作状態を監視する状態となる。
【0072】
装置管理部45は、管理対象装置である複数の画像処理装置7a〜7gの状態を管理する処理部である。この装置管理部45は、定期的に又は不定期に各画像処理装置7a〜7gとデータ通信を行うことにより、各画像処理装置7a〜7gにおける用紙残量やトナー残量などを管理する。そして各画像処理装置7a〜7gにおける用紙残量やトナー残量などを、表示制御部46に出力する。
【0073】
表示制御部46は、コンピュータ4,5の表示部13に対して装置管理部45が取得した情報を表示する処理部である。この表示制御部46が各画像処理装置7a〜7gの状態を表示部13に表示することにより、ユーザは、各画像処理装置7a〜7gの状態を一元管理することができるようになっている。
【0074】
また装置管理部45は、図4に示すように、装置管理部45がログ記録部45aを備えている。ログ記録部45aは、データサーバ6の記憶部6aに対してログ情報を記録し、そのログ情報を一定周期間隔で更新していく処理部である。例えば、ログ記録部45aは、1時間間隔で複数の画像処理装置7a〜7gのそれぞれに対してポーリングを送信し、各画像処理装置7a〜7gが稼働状態であるか否かを確認する。そしてその確認結果をログ情報に記録していく。
【0075】
図10は、ログ記録部45aによって記録されるログ情報27の一例を示す図である。図10に示すように、このログ情報27は、ログ記録部45aが送信したポーリングに対して各画像処理装置7a〜7gが応答した回数を1日毎に累積して過去30日分のデータを記録した情報である。このように、装置管理部45が機能することに伴ってログ記録部45aも機能し、データサーバ6の記憶部6aには、図10に示すようなログ情報27が記録される。そして、そのログ情報27はログ記録部45aによって逐次更新されていく。
【0076】
そして上述した情報取得部41は、ログ記録部45aが機能することによってデータサーバ6の記憶部6aにログ情報27が記録されたことを検知すると、そのログ情報27を取得する。そしてその取得したログ情報27をキー装置選択部42に出力する。その後、情報取得部41は、定期的にログ情報27を取得してキー装置選択部42に出力する動作を繰り返す。尚、情報取得部41がその後にデータサーバ6からログ情報27を取得する時間間隔は、例えば1日間隔や数日間隔であっても良いし、或いは、1週間間隔や1か月間隔であっても良い。
【0077】
次に、キー装置選択部42が、情報取得部41によって取得されたログ情報27に基づいて、複数の画像処理装置7a〜7gの中から3つのキー装置を選択する場合の処理について説明する。例えば図10に示すようなログ情報27が得られた場合、キー装置選択部42は、過去30日間においてポーリングに対する応答回数の最も多いものから順にキー装置を選択する。すなわち、ポーリングに対する応答回数が多いものから順にキー装置を選択することにより、実際の起動時間が長いものから順にキー装置を選択していく。
【0078】
図10に示す例では、装置名「MFP3」に対応する画像処理装置7cおよび装置名「MFP5」に対応する画像処理装置7eの応答回数の合計値が720回と最も多くなっている。そのため、キー装置選択部42は、まずこれら2つの画像処理装置7c,7eをキー装置として選択する。次に応答回数の合計値が多いものは、装置名「MFP4」に対応する画像処理装置7dおよび装置名「MFP7」に対応する画像処理装置7gであり、応答回数の合計値が390回となっている。この場合、キー装置選択部42は、これら2つの画像処理装置7d,7gの中から残り1つのキー装置を選択する必要がある。このような場合、キー装置選択部42は、キー装置の入れ替わりがなるべく生じないようにキー装置の選択を行う。
【0079】
すなわち、図7に示したように画像処理装置7c,7e,7gが既にキー装置として選択されている場合、キー装置選択部42は、順位が「3」である2つの画像処理装置7d,7gの中から残り1つのキー装置として、画像処理装置7gを選択する。これにより、キー装置選択部42は、前回選択したキー装置との入れ替わりをなるべく生じさせることなく、実際の起動時間の長いものから順に3つのキー装置を選択することができる。
【0080】
またキー装置選択部42は、前回選択したキー装置との入れ替わりをなるべく少なくするため、ポーリングに応答した回数の合計値の差が所定値未満であれば、他の画像処理装置よりも、前回キー装置として選択した画像処理装置を優先的にキー装置として選択するようにしても良い。このような選択手法を採用することにより、キー装置が頻繁に入れ替わることを防止することができるようになる。
【0081】
上記のようにしてログ情報27に基づいて3つのキー装置を選択すると、キー装置選択部42は、その選択した3つのキー装置を示す情報をライセンスキー生成部43に出力する。これに伴い、ライセンスキー生成部43は、上述した処理を繰り返し行うことにより、3つのキー装置の識別情報24を取得して再びライセンスキーLKを生成する処理を実行する。そしてライセンスキー判定部44がそのライセンスキーLKをライセンス管理サーバ9に送信することにより、新たに生成されたライセンスキーLKの認証処理が行われる。
【0082】
上記においては、図10に示したように装置管理部45が1日24回のポーリングを1時間毎に行ったログ情報27に基づいてキー装置を選択する場合を例示した。しかし、これに限らず、例えば夜間だけに注目して夜間の実際の起動時間が長いものから順にキー装置を選択していくようにしても良い。
【0083】
図11は、ログ記録部45aによって記録される夜間だけのログ情報27aの一例を示す図である。尚、この例では、夜間の時間帯を仮に22:00〜06:00に設定し、その間に装置管理部45が1時間毎に合計9回のポーリングを行った場合の各装置からの応答結果を示している。一般に夜間に起動している画像処理装置は、電源をオフにすることが許されない重要度の高い装置であると考えられる。そのため、夜間のポーリングに対して応答回数の多いものから順にキー装置を選択するようにすれば、複数の画像処理装置7a〜7gの中から重要度の高い装置から順にキー装置を選択していくことができるようになる。図11に示す例では、装置名「MFP3」に対応する画像処理装置7c、装置名「MFP5」に対応する画像処理装置7e、および、装置名「MFP7」に対応する画像処理装置7gがキー装置として選択されることになる。
【0084】
尚、このように夜間の時間帯で起動時間の長いものから順にキー装置を選択する際、ポーリングに対する応答回数が同じものが複数台存在する場合、3つのキー装置を決定することができないことがある。そのため、このような場合には昼夜を通して起動時間の長いものから順にキー装置を選択するようにしても良い。
【0085】
また、キー装置選択部42が3つのキー装置を選択する際、装置管理部45が複数の画像処理装置7a〜7gを管理対象装置として登録してからの経過日数に基づいてキー装置を選択するようにしても良い。この場合、ログ記録部45aは、複数の画像処理装置7a〜7gを管理対象装置として登録してからの経過日数をログ情報として記録する。
【0086】
図12は、ログ記録部45aによって記録される登録後の経過日数を示すログ情報28の一例を示す図である。まず図12(a)は、キー装置選択部42が、登録後経過日数の少ないものから順に3つのキー装置を選択する場合を示している。すなわち、ネットワークシステム2に導入されてからの経過日数が少ないものは比較的新しい画像処理装置であり、その後は長期に亘って使用される可能性が高い。一方、登録後の経過日数が多いものは、既に長期に亘って使用されてきた画像処理装置であり、その後は比較的早期にネットワークシステム2から撤去される可能性が高い。それ故、登録後の経過日数に基づいてキー装置を選択する際には、登録後経過日数の少ないものから順に3つのキー装置を選択するようにしている。図12(a)の例では、装置名「MFP3」,「MFP5」および「MFP6」の3つの画像処理装置が選択される場合を示している。
【0087】
一方、登録後経過日数の少ないものを選択する場合でも、例えば登録後1か月に満たない装置は、初期不良を発生させる可能性がある。そのため、図12(b)に示す例のように、登録後の経過日数が所定日数(例えば1か月)に満たない装置を除外し、残った画像処理装置の中から比較的登録後の経過日数が少ないものから順に3つのキー装置を選択するようにしても良い。すなわち、図12(b)の例では、装置名「MFP3」の登録後経過日数が9日であり、また装置名「MFP5」の登録後経過日数が23日であるため、これらの装置はキー装置の選択対象から除外されている。この場合、初期不良のために比較的早期にネットワークシステム2から撤去されてしまう画像処理装置がキー装置として選択されてしまうことを防止することができる。
【0088】
上記のように、情報取得部41がデータサーバ6からログ情報を取得した場合、キー装置選択部42は、そのログ情報に基づいて複数の画像処理装置7a〜7gの中から3つのキー装置を選択する。このとき、キー装置選択部42は、前回選択したキー装置と今回選択するキー装置との入れ替わりがなるべく生じないようにしてキー装置の選択を行う。そのため、ネットワークシステム2に設けられた複数の画像処理装置7a〜7gの大幅な入れ替え作業が行われない限り、前回選択した3つのキー装置がその次の選択時には全てキー装置から外れてしまうという事態がなるべく生じないようになっている。
【0089】
その一方、ユーザによって各画像処理装置7a〜7gの起動時間設定情報25が新たに設定されたり、或いは設定変更されたりすると、それに伴い各画像処理装置7a〜7gの実際の起動時間は従前のものとは異なったものとなる。この場合、キー装置選択部42は、定期的にログ情報に基づいて3つのキー装置を選択する動作を繰り返し行うと、あるタイミングで前回選択した3つのキー装置のうちの少なくとも1つがキー装置から外れてしまうこともある。このような場合、ライセンスキー生成部43において生成されるライセンスキーLKは、前回生成したキーとは異なるキーとなってしまうが、コンピュータ4,5にインストールされている管理プログラム22には何ら不正な行為は行われていない。それ故、このような場合でも、ライセンス管理サーバ9は、コンピュータ4,5から受信するライセンスキーLKを正常なライセンスキーであると判定することが必要となる。
【0090】
図13は、ライセンス管理サーバ9で行われる認証処理時のライセンスキーに対する処理概念の一例を示す図である。ライセンス管理サーバ9は、図9(b)に示したように、コンピュータ4,5から受信したライセンスキーLKを登録情報26に登録している状態で、その後さらにコンピュータ4,5からライセンスキーを受信した場合、その受信したライセンスキーが正規のライセンスキーであるか否かの認証処理を実行する。このとき、ライセンス管理サーバ9は、登録情報26に登録しているライセンスキーLKを読み出す。そして、ライセンス管理サーバ9は、登録情報26から読み出した所定バイト数(例えば12バイト)のライセンスキーLKを、図13に示すように、所定バイト(例えば4バイト)ずつの3つの値V1,V2,V3に分割する。これと同様に、ライセンス管理サーバ9は、コンピュータ4,5から受信した所定バイト数(例えば12バイト)のライセンスキーLKを、図13に示すように、所定バイト(例えば4バイト)ずつの3つの値V1,V2,V3に分割する。そしてライセンス管理サーバ9は、それら3つずつの値を総当たりで照合し、少なくとも2つの値が相互に一致することを条件として正規のライセンスキーであると認証する。
【0091】
図14は、ライセンス管理サーバ9の認証処理の概念を示す図である。まず図14(a)に示すように、登録情報26にライセンスキーLK1が登録されている状態で、コンピュータ4,5からライセンスキーLK2を受信した場合、ライセンス管理サーバ9は、上述したようにライセンスキーLK1およびライセンスキーLK2のそれぞれを所定バイト(例えば4バイト)ずつの3つの値に分割する。そしてそれら3つの値を照合する。その結果、ライセンスキーLK1およびライセンスキーLK2のそれぞれから抽出した3つの値は全て一致する。そのため、ライセンス管理サーバ9は認証処理を行うことにより、コンピュータ4,5から受信したライセンスキーLK2の認証に成功する。
【0092】
また図14(b)に示すように、登録情報26にライセンスキーLK1が登録されている状態で、コンピュータ4,5からライセンスキーLK3を受信した場合、ライセンス管理サーバ9は、上述したようにライセンスキーLK1およびライセンスキーLK3のそれぞれを所定バイト(例えば4バイト)ずつの3つの値に分割する。そしてそれら3つの値を照合する。その結果、ライセンスキーLK1およびライセンスキーLK3のそれぞれから抽出した3つの値のうち、2つの値が相互に一致する。すなわち、この場合、キー装置選択部42によって選択された3つのキー装置のうち、2つのキー装置が前回と同じものであり、1つのキー装置が前回から入れ替わったものであることを把握することができる。このように3つのキー装置のうち、1つのキー装置が入れ替わることは、通常の運用形態の範囲内であると考えられる。そのため、ライセンス管理サーバ9は認証処理を行った結果、少なくとも2つの値が相互に一致するので、コンピュータ4,5から受信したライセンスキーLK3は正規のライセンスキーであると判定し、認証に成功する。
【0093】
またライセンス管理サーバ9は、3つのキー装置のうち、1つのキー装置が入れ替わって生成された新たなライセンスキーLK3を登録情報26に登録し、登録情報26を更新する。図15は、ライセンス管理サーバ9が登録情報26を更新する処理の概念を示す図である。ライセンス管理サーバ9は、図15(a)に示すように登録情報26にライセンスキーを登録している状態で、キー装置が1台だけ入れ替わって生成されたライセンスキーを受信した場合、そのライセンスキーの認証に成功することを条件として、登録情報26に登録されているライセンスキーを、図15(b)に示すように受信したライセンスキーに書き換え、登録情報26を更新する。
【0094】
次に、コンピュータ4,5が管理プログラム22を実行することによって行われる処理手順について説明する。図16乃至図17は、コンピュータ4,5が管理プログラム22を実行することによって行われる処理手順の一例を示すフローチャートである。まず図16に示すように、コンピュータ4,5は、この処理を開始すると、管理対象装置を特定する(ステップS10)。例えばコンピュータ4,5は、ネットワーク3に接続されている複数の画像処理装置7a〜7gを自動検知し、それら複数の画像処理装置7a〜7gを全て管理対象装置として特定する。また、これに限らず、例えばユーザによって指定される画像処理装置を管理対象装置として特定するようにしても良い。そしてコンピュータ4,5は、管理対象装置を特定すると、次に、ログ情報の格納場所を特定する(ステップS11)。ログ情報の格納場所を特定する方法としては、例えば、管理プログラム22のインストール時にユーザが指定するデータサーバ6の格納場所を特定するようにすれば良い。
【0095】
そしてコンピュータ4,5は、キー装置選択処理を実行する(ステップS12)。図17は、このキー装置選択処理の詳細を示すフローチャートである。図17に示すように、この処理を開始すると、コンピュータ4,5は、特定したログ情報の格納場所にアクセスし、その格納場所にログ情報が記録されているか否かを判断する(ステップS20)。その結果、ログ情報の格納場所に未だログ情報が記録されていない場合(ステップS20でNO)、コンピュータ4,5は、管理対象装置として特定した複数の画像処理装置7a〜7gのそれぞれから、オプション機能情報を取得すると共に(ステップS21)、起動時間設定情報25を取得する(ステップS22)。そしてコンピュータ4,5は、ステップS21,S22で取得したオプション機能情報又は起動時間設定情報25に基づいて、複数の画像処理装置7a〜7gの中から所定数(例えば3つ)のキー装置を選択する(ステップS23)。
【0096】
これに対し、ログ情報の格納場所に既にログ情報が記録されている場合(ステップS20でYES)、コンピュータ4,5は、そのログ情報を取得する(ステップS24)。そしてコンピュータ4,5は、ステップS24で取得したログ情報に基づいて、複数の画像処理装置7a〜7gの中から所定数(例えば3つ)のキー装置を選択する(ステップS25)。
【0097】
上記のようにして所定数のキー装置が選択されると、図16に戻り、次にコンピュータ4,5は、ライセンスキー生成処理を実行する(ステップS13)。図18は、このライセンスキー生成処理の詳細を示すフローチャートである。図18に示すように、この処理を開始すると、コンピュータ4,5は、選択された所定数のキー装置のそれぞれから識別情報24を取得する(ステップS30)。そしてコンピュータ4,5は、キー装置のそれぞれから取得した識別情報24に基づいてハッシュ値を算出し(ステップS31)、それぞれのハッシュ値から所定バイト数の値を抽出する(ステップS32)。その後、コンピュータ4,5は、所定数のハッシュ値のそれぞれから抽出した値を組み合わせてライセンスキーLKを生成する(ステップS33)。以上で、ライセンスキー生成処理(ステップS13)が終了する。
【0098】
再び図16に戻り、コンピュータ4,5はライセンスキー判定処理を行う(ステップS14)。すなわち、コンピュータ4,5は、ステップS13で生成されたライセンスキーLKをライセンス管理サーバ9に送信し、ライセンス管理サーバ9において行われる登録処理又は認証処理の処理結果を受信するまで待機する状態となる。そしてライセンス管理サーバ9から送信される処理結果を受信すると、コンピュータ4,5は、ライセンスキーの認証に成功したか否かを判断する(ステップS15)。
【0099】
ライセンス管理サーバ9における処理結果が認証成功である場合(ステップS15でYES)、コンピュータ4,5は、装置管理機能を有効に設定する(ステップS16)。この処理により、主装置であるコンピュータ4では、装置管理部45が作動し、管理対象装置である複数の画像処理装置7a〜7gのそれぞれを管理する動作が開始される。したがって、これ以降、データサーバ6の格納場所に、ログ情報が記録されるようになる。一方、バックアップ装置であるコンピュータ5の場合には、直ちに装置管理部45が作動するではなく、主装置であるコンピュータ4が正常に管理動作を継続しているか否かを監視する動作を開始する。そして主装置であるコンピュータ4が装置管理部45の機能を停止させた場合、バックアップ装置であるコンピュータ5において装置管理部45が作動する。
【0100】
一方、ライセンス管理サーバ9における処理結果が認証成功でなかった場合(ステップS15でNO)、コンピュータ4,5は、表示部13に対して警告画面を表示する(ステップS17)。そしてコンピュータ4,5は、装置管理機能を無効に設定する(ステップS18)。これにより、コンピュータ4,5では、装置管理部45が動作しないようになる。尚、図16では、ライセンスキーの認証に失敗すると、直ちに装置管理機能が無効に設定される場合を例示しているが、例えば装置管理機能を無効に設定するまでに数日程度の猶予期間を設けるようにしても良い。
【0101】
その後、コンピュータ4,5は、一定期間が経過したか否かを判断し(ステップS19)、一定期間が経過すると(ステップS19でYES)、再びステップS10に戻り、上述した処理を繰り返す。
【0102】
以上のように本実施形態では、コンピュータ4,5が管理プログラム22を実行することにより、ネットワーク3に接続されている複数の画像処理装置7a〜7gの中から所定数のキー装置を選択する。そして所定数のキー装置のそれぞれに設定されている固有の識別情報24を取得し、それら所定数の識別情報24に基づいて、管理プログラム22のライセンスキーLKを生成する。そして生成したライセンスキーLKをライセンス管理サーバ9に送信し、ライセンス管理サーバ9において行われる登録処理又は認証処理が正常に行われたか否かを判定し、登録処理又は認証処理が正常に行われたことが判定された場合に、複数の画像処理装置7a〜7gの管理動作を開始する。
【0103】
したがって、同一のネットワークシステム2に属する複数のコンピュータ4,5に同じ管理プログラム22をインストールして実行した場合でも、それら複数のコンピュータ4,5において生成されるライセンスキーLKは同じものになる。そのため、管理プログラム22は、同じネットワーク内に設置される少なくとも2台のコンピュータにインストールして使用することができる。
【0104】
これに対し、異なるネットワークシステムに含まれる複数のコンピュータに同じ管理プログラム22がインストールされた場合、それらコンピュータにおいて選択されるキー装置は互いに異なったものとなり、生成されるライセンスキーLKも互いに異なったものとなる。そのため、管理プログラム22は、互いに異なるネットワークに設置される少なくとも2台のコンピュータにインストールして使用された場合には、互いのライセンスキーが一致しなくなるので、異なる環境で不正に実行されることを防止することができる。
【0105】
また本実施形態では、所定数のキー装置を選択する際に、複数の画像処理装置7a〜7gのそれぞれに搭載されたオプション機能に基づいて所定数のキー装置を選択するように構成される。そのため、同じネットワーク3に接続されている複数のコンピュータ4,5のそれぞれにおいて所定数のキー装置が選択される際、同じ装置が選択されるようになる。
【0106】
また本実施形態では、所定数のキー装置を選択する際に、複数の画像処理装置7a〜7gのそれぞれに予め設定される起動時間設定情報25に基づいて所定数のキー装置を選択するように構成される。そのため、この場合にも上記と同様に、同じネットワーク3に接続されている複数のコンピュータ4,5のそれぞれにおいて所定数のキー装置が選択される際、同じ装置が選択されるようになる。
【0107】
また本実施形態では、コンピュータ4,5において装置管理部45が有効に動作するようになると、その装置管理部45は、複数の画像処理装置7a〜7gのそれぞれの起動状態を定期的に監視し、それら複数の画像処理装置7a〜7gのそれぞれの起動時間をログ情報として記録する。そして装置管理部45によってログ情報が既に記録されている状態で所定数のキー装置を選択する際には、そのログ情報に基づいて所定数のキー装置を選択するように構成される。そのため、この場合にも上記と同様に、同じネットワーク3に接続されている複数のコンピュータ4,5のそれぞれにおいて所定数のキー装置が選択される際、同じ装置が選択されるようになる。また、この構成の場合には、起動時間の短い画像処理装置がキー装置として選択されてしまうことを防止することができるので、キー装置として選択したにもかかわらず、そのキー装置から識別情報24を取得することができないといった不都合が生じてしまうことを抑制することができる。
【0108】
また本実施形態では、ライセンスキーLKを生成する際、所定数の識別情報のそれぞれに基づいてハッシュ値を算出し、それらハッシュ値から少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成するようにしている。そのため、ユーザに対しては、ライセンスキーLKがどのような情報に基づいて生成されているのかを秘匿しておくことができる。
【0109】
このように本実施形態によれば、管理プログラム22が同じネットワーク内に設置される少なくとも2台のコンピュータにインストールして使用される場合、それら少なくとも2台のコンピュータでは同じライセンスキーが生成されるようになる。また、異なるネットワークに設置される2台のコンピュータにインストールして使用される場合には、それら2台のコンピュータで生成されるライセンスキーは異なるものとなる。それ故、同じネットワーク内に設置される少なくとも2台のコンピュータにはインストールして使用することを許容する反面、異なるネットワークに設置されたコンピュータにはインストールして使用することができないようにする管理プログラム22が実現されるようになる。そして、その結果、ネットワークに接続された複数の管理対象装置を管理するプログラムの不正使用を防止することができるようになる。
【0110】
(変形例)
以上、本発明に関する実施の形態について説明したが、本発明は上述した内容に限られるものではなく、種々の変形例が適用可能であることは言うまでもない。
【0111】
例えば、上述した実施形態では、コンピュータ4,5において管理プログラム22が実行されているとき、所定数のキー装置を選択する処理を定期的に繰り返し行い、その都度、ライセンス管理サーバ9にライセンスキーLKを送信して認証処理を行う場合を例示したが、必ずしもこれに限られない。例えば、所定数のキー装置を選択する処理を定期的に行った結果、前回選択したキー装置と、今回選択したキー装置とに変化ない場合は、ライセンスキーLKを生成することなく、処理を終了しても良い。言い換えると、所定数のキー装置のうちの少なくとも1つが前回のキー装置と入れ替わった場合に、ライセンスキーLKを再度生成し、その新たに生成したライセンスキーLKをライセンス管理サーバ9に送信するようにしても良い。このような処理を行うようにすれば、コンピュータ4,5とライセンス管理サーバ9とがデータ通信を行う頻度を低下させることができる。それ故、例えば外部ネットワーク8が公衆電話回線を利用する場合に、その回線利用料を廉価に抑えることができるようになる。
【0112】
また上述した実施形態では、管理対象装置が複合機などで構成される画像処理装置7である場合を例示した。しかしながら、管理プログラム22を実行することによって管理される管理対象装置は、必ずしも上述したような画像処理装置には限られない。
【符号の説明】
【0113】
1 ライセンス管理システム
3 ネットワーク
4,5 コンピュータ
6 データサーバ
7(7a〜7g) 画像処理装置(管理対象装置)
9 ライセンス管理サーバ
22 管理プログラム
40 通信制御部
41 情報取得部
42 キー装置選択部(キー装置選択手段)
43 ライセンスキー生成部(キー生成手段)
44 ライセンスキー判定部(キー判定部)
45 装置管理部(装置管理手段)
45a ログ記録部

【特許請求の範囲】
【請求項1】
ネットワークに接続されたコンピュータにおいて実行され、前記ネットワークに接続された複数の管理対象装置を管理する管理機能を有すると共に、前記ネットワークを介してライセンス管理サーバにライセンスキーを送信し、前記ライセンス管理サーバにおいて該ライセンスキーの登録処理又は認証処理が正常に行われることを条件として前記管理機能を有効に稼働させるプログラムであって、
前記コンピュータを、
前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として選択するキー装置選択手段、
前記キー装置選択手段によって選択された所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するキー生成手段、
前記ライセンスキーを前記ライセンス管理サーバに送信し、前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に行われたか否かを判定するキー判定手段、および、
前記キー判定手段において前記登録処理又は前記認証処理が正常に行われたことが判定された場合に、前記複数の管理対象装置の管理動作を開始する装置管理手段、
として機能させることを特徴とするプログラム。
【請求項2】
前記キー装置選択手段には、前記複数の管理対象装置のそれぞれに搭載されたオプション機能に基づいて所定数のキー装置を選択させることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記キー装置選択手段には、前記複数の管理対象装置のそれぞれに設定される起動時間設定情報に基づいて所定数のキー装置を選択させることを特徴とする請求項1に記載のプログラム。
【請求項4】
前記装置管理手段には、前記複数の管理対象装置のそれぞれの起動状態を定期的に監視させると共に、前記複数の管理対象装置のそれぞれの起動時間をログ情報として記録させ、
前記装置管理手段によって前記ログ情報が記録されている場合、前記キー装置選択手段に、前記ログ情報に基づいて所定数のキー装置を選択させることを特徴とする請求項1乃至3のいずれかに記載のプログラム。
【請求項5】
前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のそれぞれの起動時間の長いものから順に、所定数のキー装置を選択させることを特徴とする請求項4に記載のプログラム。
【請求項6】
前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のうち、夜間に起動状態となっているものから順に、所定数のキー装置を選択させることを特徴とする請求項4又は5に記載のプログラム。
【請求項7】
前記キー装置選択手段には、前記ログ情報に記録された前記複数の管理対象装置のうち、前記ログ情報に登録されてからの経過日数が少ないものから順に、所定数のキー装置を選択させることを特徴とする請求項4乃至6のいずれかに記載のプログラム。
【請求項8】
前記キー装置選択手段が前記ログ情報に基づいて所定数のキー装置を選択することによって所定数のキー装置のうちの少なくとも1つが更新された場合、前記キー生成手段に、ライセンスキーを再度生成させると共に、前記キー判定手段に、前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に行われたか否かを再度判定させることを特徴とする請求項4乃至7のいずれかに記載のプログラム。
【請求項9】
前記キー生成手段には、所定数の識別情報のそれぞれに基づいてハッシュ値を算出させ、それら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成させることを特徴とする請求項1乃至8のいずれかに記載のプログラム。
【請求項10】
ネットワークに接続される複数の管理対象装置を管理するためのプログラムがインストールされるコンピュータと、
前記コンピュータにインストールされる前記プログラムのライセンスを管理するライセンス管理サーバと、
を備えるライセンス管理システムであって、
前記コンピュータは、前記プログラムを実行することによって、
前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として選択するキー装置選択手段と、
前記キー装置選択手段によって選択された所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するキー生成手段と、
前記ライセンスキーを前記ライセンス管理サーバに送信する手段と、
を有し、
前記ライセンス管理サーバは、
前記コンピュータから受信する前記ライセンスキーの登録処理又は認証処理を行い、前記登録処理又は前記認証処理が正常に完了した否かを示す結果を前記コンピュータに送信する登録認証手段を有し、
前記コンピュータは、前記ライセンス管理サーバにおいて前記登録処理又は前記認証処理が正常に完了した場合に、前記プログラムによる前記複数の管理対象装置を管理するための管理機能を有効に動作させることを特徴とするライセンス管理システム。
【請求項11】
前記キー生成手段は、所定数の識別情報のそれぞれに基づいてハッシュ値を算出し、それら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成するように構成され、
前記登録認証手段は、前記コンピュータから受信する前記所定バイト数のライセンスキーを分割して所定数の値を抽出し、それら所定数の値のそれぞれに基づいて前記認証処理を行うことを特徴とする請求項10に記載のライセンス管理システム。
【請求項12】
ネットワークに接続された複数の管理対象装置を管理するためのプログラムのライセンスを管理する方法であって、
(a) 前記プログラムを実行するコンピュータが、前記複数の管理対象装置の中から所定数の管理対象装置をキー装置として自動選択すると共に、それら所定数のキー装置のそれぞれに設定されている固有の識別情報を取得し、それら所定数の識別情報に基づいてライセンスキーを生成するステップと、
(b) 前記コンピュータがライセンスキーをライセンス管理サーバに送信するステップと、
(c) 前記ライセンス管理サーバが前記コンピュータから受信するライセンスキーの登録処理又は認証処理を行うステップと、
(d) 前記ライセンス管理サーバにおいて行われる前記登録処理又は前記認証処理が正常に完了した場合に、前記コンピュータが前記プログラムによる前記複数の管理対象装置を管理するための管理機能を有効に動作させるステップと、
を有することを特徴とするライセンス管理方法。
【請求項13】
前記ステップ(a)は、所定数の識別情報のそれぞれに基づいてハッシュ値を算出してそれら所定数のハッシュ値のそれぞれから少なくとも1部の値を抽出して組み合わせることにより、所定バイト数のライセンスキーを生成し、
前記ステップ(c)は、前記コンピュータから受信する前記所定バイト数のライセンスキーを分割して所定数の値を抽出し、それら所定数の値のそれぞれに基づいて前記認証処理を行うことを特徴とする請求項12に記載のライセンス管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−220966(P2012−220966A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−82457(P2011−82457)
【出願日】平成23年4月4日(2011.4.4)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】