以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態1に係るアクティベーション/ディアクティベーションシステムの構成を示すブロック図である。図1に示すシステムでは、複合機1およびキー管理サーバ装置2が、ネットワーク3を介して通信可能である。複合機1ではウェブブラウザ1aが動作し、キー管理サーバ装置2ではウェブサーバ2aが動作しており、複合機1とキー管理サーバ装置2との間の通信は、ウェブブラウザ1aとウェブサーバ2aとの間でHTTP(Hypertext Transfer Protocol)に従って行われる。
複合機1は、画像形成装置の一例であり、プリント機能、スキャン機能、コピー機能、ファクシミリ送受信機能などを有する。複合機1は、標準装備の機能の他に、アクティベーション後に動作可能となるオプション機能を有する。標準装備の機能は、アクティベーションなしで使用が許可されている機能である。オプション機能は、必要なハードウェア(拡張ボードなど)およびソフトウェア(つまりプログラム)が搭載されており、アクティベーション前には使用が禁止されており、アクティベーション後に使用が許可される機能である。また、オプション機能は、アクティベーション後に、ディアクティベーションを行うと再度使用が禁止される。
オプション機能としては、例えば、高セキュリティ機能、PDFオプション機能、インターネットファクシミリ機能などが考えられる。高セキュリティ機能は、印刷時やコピー時に生成されたデータを自動的に削除する機能である。PDFオプション機能は、PDFファイル生成時にファイルサイズを圧縮したり、PDFファイルをパスワードで暗号化したりする機能である。インターネットファクシミリ機能は、原稿から読み取られた画像データを電子メールとしてインターネットを介して送受信する機能である。
複合機1は、ウェブブラウザ1aで、アクティベーションに必要なアクティベーションキーをキー管理サーバ装置2から取得し、アクティベーションキーが正当なものである場合には、アクティベーションを実行する。その後は、アクティベートされたオプション機能は、ユーザが使用可能となる。
一方、キー管理サーバ装置2は、アクティベーションキーおよびディアクティベーションキーの発行を行うとともに、複合機1のオプション機能のアクティベーション状態情報(未アクティベーション、アクティベーション済およびディアクティベーション済のいずれかの値)およびアクティベーション回数(同一の複合機1の、同一のオプション機能に対するアクティベーションキーの発行回数)を保持する。ウェブサーバ2aで、複合機1からアクティベーションキーまたはディアクティベーションキーの発行要求を受信すると、キー管理サーバ装置2は、複合機1から指定されたオプション機能に対するアクティベーションキーまたはディアクティベーションキーを生成してその複合機1へ送信する。
図2は、図1における複合機1の構成を示すブロック図である。図2において、ネットワーク通信装置11は、ネットワーク3に接続可能であって、ネットワーク3を介してキー管理サーバ装置2と通信を行う装置である。ネットワーク通信装置11としては、ネットワークインタフェースカードなどが使用される。
操作パネル12は、複合機1の筐体に設置され、ユーザに対して情報を表示する表示装置12a、ユーザ操作を検出する入力装置12bおよびプロセッサ12cを有する。表示装置12aとしては液晶ディスプレイなどが使用される。入力装置12bとしては、表示装置12aの画面上に配置されたタッチパネル、キースイッチなどが使用される。プロセッサ12cは、図示せぬCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)などを備え、プログラムをRAMにロードし、CPUで実行することにより、各種処理部を実現する装置である。プロセッサ12cは、ブラウザプログラム17bに基づいて、ウェブブラウザ1aを実現する。
ウェブブラウザ1aは、ネットワーク通信装置11を制御しHTTPに従って通信を行うHTTPクライアント機能、HTML(Hypertext Markup Language)およびJavascript(商標)などのスクリプト言語で記述されたウェブページデータを解釈しウェブページデータに従った画面を表示させたり、HTTPクライアント機能を使用した通信の制御を行ったりするウェブページデータ実行機能などを有する処理部である。また、ウェブブラウザ1aは、アクティベーション時には、ネットワーク通信装置11による通信を利用してウェブサーバ2aへアクセスしウェブサーバ2aからアクティベーションキーを取得し、ディアクティベーション時には、ネットワーク通信装置11による通信を利用してウェブサーバ2aへアクセスしウェブサーバ2aからディアクティベーションキーを取得する。
ウェブサーバ2aが各オプション機能に対応するURL(Uniform Resource Locator)でアクティベーションキーの発行要求を受信できる場合、ウェブブラウザ1aは、各オプション機能に対応するURLを使用してウェブサーバ2aへアクセスしウェブサーバ2aからそのオプション機能のアクティベーションキーを取得してもよい。その場合、ウェブサーバ2aは、アクティベーション発行要求を受信したURLから、アクティベーションの対象であるオプション機能を特定する。
画像読取装置13は、スキャン機能を実現する装置であり、原稿の画像を読み取り画像データとして出力する装置である。印刷装置14は、プリント機能を実現する装置であり、印刷データに基づいて画像を形成し用紙にその画像を印刷する装置である。通信装置15は、ファクシミリ送受信機能を実現する装置であり、モデムによりファクシミリ信号を送受するとともに、ファクシミリ信号と画像データとを相互に変換する装置である。
メインコントローラ16は、CPU、RAM、ROMなどを含む図示せぬコンピュータを有し、プログラムをRAMにロードし、CPUで実行することにより、各種処理部を実現する装置である。メインコントローラ16では、制御プログラム17aに基づいて、制御部16a、アクティベーション処理部16bおよびディアクティベーション処理部16cが実現される。
制御部16aは、ウェブブラウザ1a、ネットワーク通信装置11、操作パネル12、画像読取装置13、印刷装置14および通信装置15を制御する処理部である。制御部16aは、オプション機能テーブル17cにおけるオプション機能のアクティベーション状態情報を参照し、アクティベーション状態情報の値がアクティベーション済である場合には、ユーザによるそのオプション機能の使用を許可し、それ以外の場合には、ユーザによるそのオプション機能の使用を禁止する。
アクティベーション処理部16bは、ウェブブラウザ1aにより取得されたアクティベーションキーに基づいて、オプション機能をアクティベートする処理部である。アクティベーション処理部16bは、ウェブブラウザ1aにより取得されたアクティベーションキーが正当なものであるか否かを判定し、そのアクティベーションキーが正当なものである場合にのみ、オプション機能テーブル17cを更新して、そのアクティベーションキーを発行されたオプション機能を使用可能状態とする。
ディアクティベーション処理部16cは、ウェブブラウザ1aにより取得されたディアクティベーションキーに基づいて、オプション機能をディアクティベートする処理部である。ディアクティベーション処理部16cは、ウェブブラウザ1aにより取得されたディアクティベーションキーが正当なものであるか否かを判定し、そのディアクティベーションキーが正当なものである場合にのみ、オプション機能テーブル17cを更新して、そのディアクティベーションキーを発行されたオプション機能を使用禁止状態とする。
データ格納装置17は、制御プログラム17a、ブラウザプログラム17b、オプション機能テーブル17cおよび識別情報17dを格納した装置である。データ格納装置17には、ハードディスク、不揮発性メモリなどの不揮発性の記憶装置が使用される。なお、制御プログラム17aおよびブラウザプログラム17bは、メインコントローラ16内の図示せぬ不揮発性メモリに格納されていてもよい。
オプション機能テーブル17cは、オプション機能の識別情報であるオプション機能コードとそのオプション機能のアクティベーション状態情報とを互いに関連付けて記憶しているテーブルである。図3は、図2におけるオプション機能テーブル17cの一例を示す図である。図3に示す例では、オプション機能コード「1001」のオプション機能はアクティベートされておらず使用禁止の状態となっており、オプション機能コード「1002」のオプション機能はアクティベートされており使用可能な状態となっている。
識別情報17dは、この複合機1に固有なIDデータであって、例えばシリアル番号などである。つまり、複数の複合機1がある場合、それぞれ異なる値の識別情報17dを有する。
図4は、図1におけるキー管理サーバ装置2の構成を示すブロック図である。図4において、ネットワーク通信装置21は、ネットワーク3に接続可能であって、ネットワーク3を介して複合機1と通信を行う装置である。ネットワーク通信装置21としては、ネットワークインタフェースカードなどが使用される。
コンピュータ22は、図示せぬCPU、RAM、ROMなどを備え、プログラムをRAMにロードし、CPUで実行することにより、各種処理部を実現する装置である。コンピュータ22は、制御プログラム23aに基づいて、アクティベーション処理部22a、ディアクティベーション処理部22bおよびデータベース処理部22cを実現し、ウェブサーバプログラム23bに基づいて、ウェブサーバ2aを実現する。
ウェブサーバ2aは、ネットワーク通信装置21を制御しHTTPに従って通信を行うHTTPサーバ機能などを有する処理部である。ウェブサーバ2aは、ウェブブラウザ1aからアクティベーションキー発行要求を受信すると、アクティベーション処理部22aにより生成されたアクティベーションキーをそのウェブブラウザ1aへ送信する。また、ウェブサーバ2aは、ウェブブラウザ1aからディアクティベーションキー発行要求を受信すると、ディアクティベーション処理部22bにより生成されたディアクティベーションキーをそのウェブブラウザ1aへ送信する。
なお、ウェブサーバ2aは、複合機1の識別情報とオプション機能の識別情報とを複合機1のウェブブラウザ1aから受信すると、受信したオプション機能の識別情報により特定されるオプション機能に対するアクティベーションキーを複合機1のウェブブラウザ1aへ送信するようにしてもよい。
また、ウェブサーバ2aは、複合機1のウェブブラウザ1aからアクティベーションすべきオプション機能に対応するURLへ送信されたアクティベーションキー発行要求を受信すると、受信したURLから特定されるオプション機能に対するアクティベーションキーを複合機1のウェブブラウザ1aへ送信するようにしてもよい。
アクティベーション処理部22aは、アクティベーションキーの発行可否の判定、アクティベーションキーの生成、アクティベーション管理テーブル23cへのアクティベーションキー発行情報の登録などを行う処理部である。
この実施の形態では、アクティベーション処理部22aは、複合機1の識別情報とアクティベーションすべきオプション機能の識別情報とを引数に含む所定の関数でアクティベーションキーを生成する。
ディアクティベーション処理部22bは、ディアクティベーションキーの発行可否の判定、ディアクティベーションキーの生成、ディアクティベーションの完了検出、アクティベーション管理テーブル23cへのディアクティベーション完了情報の登録などを行う処理部である。
この実施の形態では、ディアクティベーション処理部22bは、複合機1の識別情報とアクティベーションすべきオプション機能の識別情報とを引数に含む所定の関数でディアクティベーションキーを生成する。なお、ディアクティベーション処理部22bは、発行済みのアクティベーションキーを引数に含む所定の関数でディアクティベーションキーを生成するようにしてもよい。これらの方法により、アクティベーションキーと一対一で対となるディアクティベーションキーが生成される。
データベース処理部22cは、コマンドを受け取り、そのコマンドに従って、アクティベーション管理テーブル23cに対してデータの読み書きを行う処理部である。コマンドとしては、例えばSQL(Structured Query Language)コマンドが使用される。
データ格納装置23は、制御プログラム23a、ウェブサーバプログラム23bおよびアクティベーション管理テーブル23cを格納した装置である。データ格納装置23には、ハードディスク、不揮発性メモリなどの不揮発性の記憶装置が使用される。なお、アクティベーション管理テーブル23cは、別のデータ格納装置に格納されていてもよい。
アクティベーション管理テーブル23cは、各複合機1の各オプション機能のアクティベーション状態情報を保持するテーブルである。アクティベーション管理テーブル23cには、アクティベーションを行ったユーザのユーザID、複合機の識別情報である複合機ID、オプション機能の識別情報であるオプション機能コード、およびアクティベーション状態情報が互いに関連付けられて記憶されている。図5は、図4におけるアクティベーション管理テーブル23cの一例を示す図である。なお、図5に示すアクティベーション管理テーブル23cには、アクティベートされていないオプション機能の情報は登録されていないが、その情報を登録するようにしてもよい。また、図5に示すアクティベーション管理テーブル23cには、アクティベーションキーは登録されていないが、各レコードについてアクティベーションキーが併せて登録されるようにしてもよい。
次に、上記システムにおける各装置の動作について説明する。
(1)オプション機能のアクティベーション
図6は、図1に示すシステムにおける複合機1のオプション機能のアクティベーション処理を説明する図である。
アクティベーション開始のユーザ操作が複合機1の入力装置12bに対して行われると、制御部16aは、その操作を検出し、ウェブブラウザ1aに、アクティベーションすべきオプション機能の選択を実行させる(ステップS1)。
このとき、複合機1のウェブブラウザ1aは、まず、オプション機能テーブル17cを参照し、オプション機能のリストのウェブページデータを生成し、そのウェブページデータに基づいてオプション機能のリストを表示装置12aに表示させる。オプション機能のリストには、オプション機能ごとに、オプション機能のコード、名称およびアクティベーション状態情報が含まれる。リストの表示開始後、リストにおけるオプション機能を選択する操作が入力装置12bに対して行われると、ウェブブラウザ1aは、その操作を検出し、その操作で選択されたオプション機能を特定する。
次に、ウェブブラウザ1aは、アクティベーションキー発行要求の送信先となるキー管理サーバ装置2のウェブサーバ2aのURLを特定する(ステップS2)。
このとき、ウェブブラウザ1aは、所定のウェブページデータに基づき、URLの入力フィールドを有しその入力を促す画面を表示装置12aに表示させる。その画面の表示開始後、URLの入力操作が入力装置12bに対して行われると、ウェブブラウザ1aは、その操作を検出し、入力されたURLを特定する。ウェブブラウザ1aは、そのURLをアクティベーションキー発行要求の送信先とする。
あるいは、ウェブブラウザ1aは、データ格納装置17に予め記憶されている所定のURLをアクティベーションキー発行要求の送信先とする。
また、ウェブブラウザ1aは、選択されたオプション機能に対して予め指定されているURLをアクティベーションキー発行要求の送信先とするようにしてもよい。その場合、オプション機能テーブル17cにおいて、オプション機能コードに関連付けてそのURLを格納しておき、ウェブブラウザ1aは、オプション機能テーブル17cを参照して、選択されたオプション機能についてのURLを特定するようにしてもよい。あるいは、その場合、ウェブブラウザ1aは、選択されたオプション機能のオプション機能コードに基づいてそのURLを生成するようにしてもよい。たとえば、ウェブブラウザ1aは、所定の文字列とオプション機能コードの文字列とを組み合わせてそのURLを生成することができる。
アクティベーションキー発行要求の宛先URLは、オプション機能ごとに異なるドメイン名またはIPアドレスを含むようにしてもよいし、オプション機能ごとに異なるパスを含むようにしてもよいし、オプション機能ごとに異なるURLパラメータを含むようにしてもよい。たとえば、”http://www.xxx.co.jp/a/key.cgi?code=1001”というURLにおいては、”www.xxx.co.jp”がドメイン名であり、”a/key.cgi”がパスであり、”code=1001”がURLパラメータである。
ウェブブラウザ1aは、宛先URLへアクティベーションキー発行要求を送信する(ステップS3)。例えば、ウェブブラウザ1aは、HTTPのPOSTコマンドを使用して、アクティベーションキー発行要求を示すファイルをそのURLへ送信する。そのファイルには、複合機1の識別情報(複合機ID)および選択されたオプション機能のオプション機能コードが含まれる。なお、オプション機能コードは、そのファイルに含めずに、URLパラメータに含めるようにしてもよい。あるいは、ウェブブラウザ1aは、オプション機能に予め割り当てられているURLを宛先とする場合には、URLのパラメータに、複合機IDおよびオプション機能コードを含めて、HTTPコマンドを送信するようにしてもよい。
キー管理サーバ装置2のウェブサーバ2aは、そのURL宛てのアクティベーションキー発行要求を受信する。ウェブサーバ2aは、起動後、ウェブサーバ2aに割り当てられているURL宛のHTTPコマンドを待ち続けており、HTTPコマンドが送信されてくると、それを受信する。このとき、宛先URLをCGI(Common Gate Interface)のURLとして、アクティベーションキー発行要求を受信すると、CGIを起動して、そのCGIでそのファイルを受信するようにしてもよいし、宛先URLのパスを所定のフォルダとして、そのフォルダにそのファイルを保存するようにしてもよい。
そして、ウェブサーバ2aがアクティベーションキー発行要求を受信すると、アクティベーション処理部22aが、そのファイルあるいはURLパラメータを参照して、アクティベーションキー発行要求とともに受信された複合機IDおよびオプション機能コードを特定する。アクティベーション処理部22aは、その複合機IDおよびオプション機能コードに基づいて、その複合機IDおよびオプション機能コードに対するアクティベーションキーを発行するか否かを判定する(ステップS4)。
例えば、このとき、アクティベーション処理部22aは、複合機IDの値およびオプション機能コードの値が有効なものであるか否かを判定する。つまり、その複合機IDの値に対応する複合機1が存在するか否か、およびそのオプション機能コードの値に対応するオプション機能が存在するか否かが判定される。
アクティベーション処理部22aは、アクティベーションキーを発行しないと判定した場合には、アクティベーションキーを発行せずにそのアクティベーションキー発行要求に対する処理を終了する。
アクティベーション処理部22aがアクティベーションキーを発行すると判定した場合には、ウェブサーバ2aは、アクティベーション実行確認画面のウェブページデータを複合機1のウェブブラウザ1aへ送信する(ステップS5)。
複合機1のウェブブラウザ1aは、そのウェブページデータを受信すると、そのウェブページデータに基づき、表示装置12aにアクティベーション実行確認画面を表示させる。図7は、アクティベーション実行確認画面の一例を示す図である。図7に示すように、アクティベーション実行確認画面では、オプション機能の名称またはオプション機能コード、複合機IDおよびユーザによる確認操作を受け付けるOKボタンが表示される。
その後、OKボタンを押下する確認操作が入力装置12bに対して行われ、ウェブブラウザ1aは、その操作を検出すると、操作情報をキー管理サーバ装置2のウェブサーバ2aへ送信する(ステップS7)。
キー管理サーバ装置2では、ウェブサーバ2aがその操作情報を受信すると、アクティベーション処理部22aは、アクティベーションキーを生成する(ステップS8)。アクティベーションキーは、複合機1から受信された複合機IDおよびオプション機能コードに基づいて生成される。例えば、複合機IDおよびオプション機能コードを引数に含む関数の値がアクティベーションキーとして計算される。なお、オプション機能ごとにURLが指定されている場合には、アクティベーションキー発行要求を受け付けたURLからオプション機能コードが特定される。このとき、アクティベーション処理部22aは、アクティベーション管理テーブル23cを参照し、その複合機1のそのオプション機能についてのアクティベーション回数が所定の値以上である場合には、アクティベーションキーを発行しないようにしてもよい。つまり、この場合、アクティベーション回数が所定の値未満である場合のみ、アクティベーションキーが発行される。
アクティベーション処理部22aによりアクティベーションキーが生成されると、ウェブサーバ2aは、アクティベーションキーを複合機1のウェブブラウザ1aに送信する(ステップS9)。
複合機1では、ウェブブラウザ1aによりそのアクティベーションキーが受信されると、アクティベーション処理部16bは、そのアクティベーションキーが正当なものであるか否かを判定する(ステップS10)。このとき、アクティベーション処理部16bは、キー管理サーバ装置2のアクティベーション処理部22aと同一の方法で、データ格納装置17に記憶されている情報からアクティベーションキーを計算し、計算したアクティベーションキーと受信したアクティベーションキーとが一致するか否かによりそのアクティベーションキーが正当なものであるか否かを判定する。
アクティベーション処理部16bがそのアクティベーションキーが正当なものではないと判定した場合は、ウェブブラウザ1aは、アクティベーションに失敗した旨のメッセージを含む画面を表示装置12aに表示させる。
一方、アクティベーション処理部16bは、そのアクティベーションキーが正当なものであると判定した場合は、アクティベーションを実行する(ステップS11)。このとき、アクティベーション処理部16bは、オプション機能テーブル17cにおける、アクティベーションすべきオプション機能のアクティベーション状態情報の値をアクティベーション済に変更する。これにより、そのオプション機能が使用可能になり、制御部16aは、ユーザによる要求に応じて、そのオプション機能を動作させる。
アクティベーション処理部16bによりアクティベーションが完了すると、ウェブブラウザ1aは、アクティベーション完了通知をキー管理サーバ装置2のウェブサーバ2aへ送信する(ステップS12)。
キー管理サーバ装置2のウェブサーバ2aでは、ウェブサーバ2aがアクティベーション完了通知を受信すると、アクティベーション処理部22aは、データ処理部22cへコマンドを供給して、アクティベーション管理テーブル23cを更新する(ステップS13)。このとき、アクティベーションが完了した複合機1のオプション機能について、複合機ID、オプション機能コード、アクティベーション状態情報(値:アクティベーション済)およびアクティベーション回数が1つのレコードとしてアクティベーション管理テーブル23cに登録される。このとき、アクティベーションが完了した複合機1のオプション機能についてのレコードが新規に登録される場合には、アクティベーション回数は1とされ、ディアクティベートされた複合機1のオプション機能が再度アクティベートされる場合には、アクティベーション回数は、登録されているアクティベーション回数の値を1だけ増加させた値とされる。なお、複合機IDとともに、アクティベーション時に複合機1にログインしているユーザのユーザIDが、複合機1からキー管理サーバ装置2へ送信されている場合には、ユーザID、複合機ID、オプション機能コード、アクティベーション状態情報(値:アクティベーション済)およびアクティベーション回数が1つのレコードとしてアクティベーション管理テーブル23cに登録される。なお、値がアクティベーション済であるアクティベーション状態情報は、アクティベーション発行情報の一例である。
このようにして、複合機1のオプション機能に対するアクティベーションが実行される。
(2)オプション機能のディアクティベーション
図8は、図1に示すシステムにおける複合機1のオプション機能のディアクティベーション処理を説明する図である。
ディアクティベーション開始のユーザ操作が複合機1の入力装置12bに対して行われると、制御部16aは、その操作を検出し、ウェブブラウザ1aに、ディアクティベーションすべきオプション機能の選択を実行させる(ステップS21)。
このとき、複合機1のウェブブラウザ1aは、まず、オプション機能テーブル17cを参照し、オプション機能のリストのウェブページデータを生成し、そのウェブページデータに基づいてオプション機能のリストを表示装置12aに表示させる。オプション機能のリストには、オプション機能ごとに、オプション機能のコード、名称およびアクティベーション状態情報が含まれる。なお、このとき、アクティベーション済みのオプション機能のみを含むリストを表示させるようにしてもよい。リストの表示開始後、リストにおけるオプション機能を選択する操作が入力装置12bに対して行われると、ウェブブラウザ1aは、その操作を検出し、その操作で選択されたオプション機能を特定する。
次に、ウェブブラウザ1aは、ディアクティベーションキー発行要求の送信先となるキー管理サーバ装置2のウェブサーバ2aのURLを特定する(ステップS22)。
このとき、ウェブブラウザ1aは、所定のウェブページデータに基づき、URLの入力フィールドを有しその入力を促す画面を表示装置12aに表示させる。その画面の表示開始後、URLの入力操作が入力装置12bに対して行われると、ウェブブラウザ1aは、その操作を検出し、入力されたURLを特定する。ウェブブラウザ1aは、そのURLをディアクティベーションキー発行要求の送信先とする。
あるいは、ウェブブラウザ1aは、データ格納装置17に予め記憶されている所定のURLをディアクティベーションキー発行要求の送信先とする。
また、ウェブブラウザ1aは、選択されたオプション機能に対して予め指定されているURLをディアクティベーションキー発行要求の送信先とするようにしてもよい。その場合、オプション機能テーブル17cにおいて、オプション機能コードに関連付けてそのURLを格納しておき、ウェブブラウザ1aは、オプション機能テーブル17cを参照して、選択されたオプション機能についてのURLを特定するようにしてもよい。あるいは、その場合、ウェブブラウザ1aは、選択されたオプション機能のオプション機能コードに基づいてそのURLを生成するようにしてもよい。たとえば、ウェブブラウザ1aは、所定の文字列とオプション機能コードの文字列とを組み合わせてそのURLを生成することができる。
ディアクティベーションキー発行要求の宛先URLは、オプション機能ごとに異なるドメイン名またはIPアドレスを含むようにしてもよいし、オプション機能ごとに異なるパスを含むようにしてもよいし、オプション機能ごとに異なるURLパラメータを含むようにしてもよい。
なお、あるオプション機能のディアクティベーションキー発行要求の宛先URLは、そのオプション機能のアクティベーションキー発行要求の宛先URLと同一としてもよい。
ウェブブラウザ1aは、宛先URLへディアクティベーションキー発行要求を送信する(ステップS23)。例えば、ウェブブラウザ1aは、HTTPのPOSTコマンドを使用して、ディアクティベーションキー発行要求を示すファイルをそのURLへ送信する。そのファイルには、複合機1の識別情報(複合機ID)および選択されたオプション機能のオプション機能コードが含まれる。なお、オプション機能コードは、そのファイルに含めずに、URLパラメータに含めるようにしてもよい。あるいは、ウェブブラウザ1aは、オプション機能に予め割り当てられているURLを宛先とする場合には、URLのパラメータに、複合機IDおよびオプション機能コードを含めて、HTTPコマンドを送信するようにしてもよい。
キー管理サーバ装置2のウェブサーバ2aは、そのURL宛てのディアクティベーションキー発行要求を受信する。ウェブサーバ2aは、起動後、ウェブサーバ2aに割り当てられているURL宛のHTTPコマンドを待ち続けており、HTTPコマンドが送信されてくると、それを受信する。このとき、宛先URLをCGIのURLとして、ディアクティベーションキー発行要求を受信すると、CGIを起動して、そのCGIでそのファイルを受信するようにしてもよいし、宛先URLのパスを所定のフォルダとして、そのフォルダにそのファイルを保存するようにしてもよい。
そして、ウェブサーバ2aがディアクティベーションキー発行要求を受信すると、ディアクティベーション処理部22bが、そのファイルあるいはURLパラメータを参照して、ディアクティベーションキー発行要求とともに受信された複合機IDおよびオプション機能コードを特定する。ディアクティベーション処理部22bは、その複合機IDおよびオプション機能コードに基づいて、その複合機IDおよびオプション機能コードに対するディアクティベーションキーを発行するか否かを判定する(ステップS24)。
例えば、このとき、ディアクティベーション処理部22bは、複合機IDの値およびオプション機能コードの値が有効なものであるか否かを判定する。つまり、その複合機IDの値に対応する複合機1が存在するか否か、およびそのオプション機能コードの値に対応するオプション機能が存在するか否かが判定される。
ディアクティベーション処理部22bは、ディアクティベーションキーを発行しないと判定した場合には、ディアクティベーションキーを発行せずにそのディアクティベーションキー発行要求に対する処理を終了する。
ディアクティベーション処理部22bがディアクティベーションキーを発行すると判定した場合には、ウェブサーバ2aは、ディアクティベーション実行確認画面のウェブページデータを複合機1のウェブブラウザ1aへ送信する(ステップS25)。
複合機1のウェブブラウザ1aは、そのウェブページデータを受信すると、そのウェブページデータに基づき、表示装置12aにディアクティベーション実行確認画面を表示させる。ディアクティベーション実行確認画面では、オプション機能の名称またはオプション機能コード、複合機IDおよびユーザによる確認操作を受け付けるOKボタンが表示される。
その後、OKボタンを押下する確認操作が入力装置12bに対して行われ、ウェブブラウザ1aは、その操作を検出すると、操作情報をキー管理サーバ装置2のウェブサーバ2aへ送信する(ステップS27)。
キー管理サーバ装置2では、ウェブサーバ2aがその操作情報を受信すると、ディアクティベーション処理部22bは、ディアクティベーションキーを生成する(ステップS28)。この場合、ディアクティベーションキーは、複合機1から受信された複合機IDおよびオプション機能コードに基づいて生成される。例えば、複合機IDおよびオプション機能コードを引数に含む関数の値がディアクティベーションキーとして計算される。なお、オプション機能ごとにURLが指定されている場合には、ディアクティベーションキー発行要求を受け付けたURLからオプション機能コードが特定される。
ディアクティベーション処理部22aによりアクティベーションキーが生成されると、ウェブサーバ2aは、アクティベーションキーを複合機1のウェブブラウザ1aに送信する(ステップS29)。
複合機1では、ウェブブラウザ1aによりそのアクティベーションキーが受信されると、ディアクティベーション処理部16cは、そのディアクティベーションキーが正当なものであるか否かを判定する(ステップS30)。このとき、ディアクティベーション処理部16cは、キー管理サーバ装置2のアクティベーション処理部22bと同一の方法で、データ格納装置17に記憶されている情報からディアクティベーションキーを計算し、計算したディアクティベーションキーと受信したディアクティベーションキーとが一致するか否かによりそのディアクティベーションキーが正当なものであるか否かを判定する。
ディアクティベーション処理部16cがそのディアクティベーションキーが正当なものではないと判定した場合は、ウェブブラウザ1aは、ディアクティベーションに失敗した旨のメッセージを含む画面を表示装置12aに表示させる。
一方、ディアクティベーション処理部16cは、そのディアクティベーションキーが正当なものであると判定した場合は、ディアクティベーションを実行する(ステップS31)。このとき、ディアクティベーション処理部16cは、オプション機能テーブル17cにおける、ディアクティベーションすべきオプション機能のアクティベーション状態情報の値をディアクティベーション済に変更する。これにより、そのオプション機能が再び使用禁止になり、制御部16aは、そのオプション機能の動作を禁止する。ディアクティベーション処理部16cは、ディアクティベーション後にそのオプション機能の返品コードを生成する。
ディアクティベーション処理部16cによりディアクティベーションが完了すると、ウェブブラウザ1aは、返品コードをキー管理サーバ装置2のウェブサーバ2aへ送信する(ステップS32)。
キー管理サーバ装置2のウェブサーバ2aでは、ウェブサーバ2aが返品コードを受信すると、ディアクティベーション処理部22bは、データ処理部22cへコマンドを供給して、アクティベーション管理テーブル23cを更新する(ステップS33)。このとき、ディアクティベーションが完了した複合機1のオプション機能のレコードにおけるアクティベーション状態情報の値をアクティベーション済からディアクティベーション済へ変更する。なお、値がディアクティベーション済であるアクティベーション状態情報は、ディアクティベーション完了情報の一例である。
このようにして、複合機1のオプション機能に対するディアクティベーションが実行される。
なお、上記ディアクティベーション処理では、ディアクティベーションキー発行要求とともに複合機IDおよびオプション機能コードを複合機1からキー管理サーバ装置2へ送信しているが、その代りに、ディアクティベーションキー発行要求とともにアクティベーションキーを送信するようにしてもよい。その場合、複合機1のオプション機能テーブル17cに、オプション機能コードに関連付けてアクティベーションキーを登録しておき、ディアクティベーションキー発行要求とともにそのアクティベーションキーが送信される。また、キー管理サーバ装置2におけるアクティベーション管理テーブル23cに、複合機IDおよびオプション機能コードに関連付けてアクティベーションキーを登録しておき、受信したアクティベーションキーと同一のアクティベーションキーが登録されているオプション機能のディアクティベーションキーが発行される。また、この場合、ディアクティベーションキーは、複合機IDおよびオプション機能コードに基づいて生成せずに、アクティベーションキーに基づいて生成するようにしてもよい。アクティベーションキーに基づいてディアクティベーションキーを生成する場合、アクティベーションキーを引数に含む関数でディアクティベーションキーを計算するようにしてもよい。
実施の形態1におけるキー管理サーバ装置2は、ウェブサーバ2aによるウェブサーバ機能と、アクティベーションキーの発行およびディアクティベーションキーの発行を行うアプリケーションサーバ機能と、アクティベーション状態情報を保持するデータベースサーバ機能とを兼ねている。
以上のように、上記実施の形態1によるアクティベーションシステムは、複合機1とキー管理サーバ装置2とを備える。
そして、キー管理サーバ装置2は、複合機1のオプション機能に対するアクティベーションキーを生成するアクティベーション処理部22aと、アクティベーションキーと対になるディアクティベーションキーを生成するディアクティベーション処理部22bと、あるオプション機能のアクティベーション時に複合機1へアクティベーションキーを発行するとともに、そのオプション機能のディアクティベーション時にそのアクティベーションキーと対になるディアクティベーションキーをその複合機1へ発行するウェブサーバ2aと、ある複合機1におけるあるオプション機能がアクティベートされた場合、その複合機1におけるそのオプション機能についてアクティベーションキーが発行されたことを示すアクティベーションキー発行情報を記憶し、そのオプション機能がディアクティベートされた場合、そのオプション機能がディアクティベートされたことを示すディアクティベーション完了情報を記憶するデータ格納装置23とを備える。
これにより、複合機1がウェブブラウザ1aによりウェブサーバ2aから直接的にディアクティベーションキーを取得するため、USBメモリなどの物理的なメディアを必要とせず、低コストでディアクティベーションを実施することができるとともに、ディアクティベーション後の不正使用を困難にすることができる。
実施の形態2.
図9は、本発明の実施の形態2に係るアクティベーション/ディアクティベーションシステムの構成を示すブロック図である。
実施の形態2では、実施の形態1におけるアクティベーション処理部22aおよびディアクティベーション処理部22bをアプリケーションサーバ2bとし、実施の形態1におけるデータベース処理部22cをデータベースサーバ2cとしたものである。なお、複合機1は、実施の形態1の場合と同様のものである。
図10は、図9におけるキー管理サーバ装置2の構成を示すブロック図である。実施の形態2では、APサーバプログラム23dがコンピュータ22で実行されることによりアプリケーションサーバ2bが実現され、DBサーバプログラム23eがコンピュータ22で実行されることによりデータベースサーバ2cが実現される。なお、図10におけるその他の構成要素については、図4に示すものと同様である。
実施の形態2では、ウェブサーバ2a、アプリケーションサーバ2bおよびデータベースサーバ2cがサーバ間通信を行うことで、実施の形態1のキー管理サーバ装置2と同様の処理を実行する。したがって、実施の形態2のシステムでは、実施の形態1のシステムと同様のアクティベーション処理およびディアクティベーション処理が実行される。
実施の形態3.
図11は、本発明の実施の形態3に係るアクティベーション/ディアクティベーションシステムの構成を示すブロック図である。実施の形態3では、複合機1はローカルネットワーク101に接続され、実施の形態2と同様のキー管理サーバ装置2がインターネット103に接続されている。ローカルネットワーク101は、ゲートウェイ102を介してインターネット103に接続されている。ゲートウェイ102は、ファイヤウォール機能を有する。また、ゲートウェイ102は、ルータであってもよい。
なお、実施の形態3における複合機1は、実施の形態1のものと同様のものである。また、実施の形態3のシステムでは、実施の形態1,2のシステムと同様にアクティベーション処理およびディアクティベーション処理が実行される。
以上のように、上記実施の形態3によれば、ウェブサーバ2a、アプリケーションサーバ2bおよびデータベースサーバ2cがインターネット103上に存在するため、安価でシステムを構築することができる。
実施の形態4.
図12は、本発明の実施の形態4に係るアクティベーション/ディアクティベーションシステムの構成を示すブロック図である。実施の形態4では、複合機1はローカルネットワーク101に接続され、実施の形態2と同様のキー管理サーバ装置2が他のローカルネットワーク104に接続されている。このローカルネットワーク104は、複合機1のメーカあるいは販売会社の管理するネットワーク領域である。一方、ローカルネットワーク101は、複合機1を使用する顧客の管理するネットワークである。ローカルネットワーク101は、ゲートウェイ102を介してローカルネットワーク104に接続されている。したがって、ローカルネットワーク101とローカルネットワーク104とは異なるIPネットワークとなる。また、ローカルネットワーク104は、インターネット103とは異なるIPネットワークである。
なお、実施の形態4における複合機1は、実施の形態1のものと同様のものである。また、実施の形態4のシステムでは、実施の形態1〜3のシステムと同様にアクティベーション処理およびディアクティベーション処理が実行される。
以上のように、上記実施の形態4によれば、ウェブサーバ2a、アプリケーションサーバ2bおよびデータベースサーバ2cを、サービス提供者が管理するネットワーク104に設置することができるため、インターネット103を使用せずに済み、提供するサービスを比較的自由に規定することができる。
実施の形態5.
図13は、本発明の実施の形態5に係るアクティベーション/ディアクティベーションシステムの構成を示すブロック図である。実施の形態5では、複合機1はローカルネットワーク101に接続され、また、実施の形態2と同様のアプリケーションサーバ2bおよびデータベースサーバ2cを有するキー管理サーバ装置2がローカルネットワーク101に接続されている。また、実施の形態2と同様のウェブサーバ2aを有する別のサーバ装置201が他のローカルネットワーク104に接続されている。このローカルネットワーク104は、複合機1のメーカあるいは販売会社の管理するネットワーク領域である。一方、ローカルネットワーク101は、複合機1を使用する顧客の管理するネットワークである。ローカルネットワーク101は、ゲートウェイ102を介してローカルネットワーク104に接続されている。したがって、ローカルネットワーク101とローカルネットワーク104とは異なるIPネットワークとなる。また、ローカルネットワーク104は、インターネット103とは異なるIPネットワークである。
なお、実施の形態5における複合機1は、実施の形態1のものと同様のものである。また、実施の形態5のシステムでは、実施の形態1〜4のシステムと同様にアクティベーション処理およびディアクティベーション処理が実行される。
以上のように、上記実施の形態5によれば、アプリケーションサーバ2bおよびデータベースサーバ2cを、顧客のネットワーク101に設置し、アプリケーションサーバ2bおよびデータベースサーバ2cを、サービス提供者が管理するネットワーク104に設置することができるため、インターネット103を使用せずに済み、提供するウェブサービスを比較的自由に規定することができる。また、アプリケーションサーバ2bおよびデータベースサーバ2cを顧客のネットワーク101に設置することで、ユーザIDなどのユーザ情報が保存される場合で、顧客のネットワーク101に保存されるため、セキュリティが向上する。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記各実施の形態において、キー管理サーバ装置2のアクティベーション管理テーブル23cにおけるアクティベーション状態情報の値がディアクティベーション済みである、ある複合機1のオプション機能について再度アクティベーションを行う場合、アクティベーション処理部22aまたはアプリケーションサーバ2bは、その複合機1に対して以前に発行したアクティベーションキーとは異なるアクティベーションキーを生成し、その複合機1へ発行する。この場合、以前に発行したアクティベーションキーを生成する際に使用した関数とは別の関数で、複合機IDおよびオプション機能コードからアクティベーションキーが生成される。したがって、再アクティベーション時には、その複合機1においては、その別の関数で、アクティベーションキーの正当性が検証される。
また、各実施の形態において、アクティベートするオプション機能を実現するためのプログラムがインストールされていない場合には、アクティベーション処理部16aは、例えばウェブブラウザ1aを制御して、そのプログラムを、キー管理サーバ装置2または他のサーバ装置からダウンロードしてインストールするようにしてもよい。
また、上記各実施の形態においては、画像形成装置の一例として複合機1を使用されているが、その代わりに、オプション機能のアクティベーションおよび/またはディアクティベーションが可能な他の画像形成装置(プリンタ、ファクシミリ通信機など)を使用してもよい。また、上記各実施の形態においては、複合機1は1台のみ図示されているが、複数台の複合機1がネットワーク3,101に接続されていてもよいし、複合機1とその他の画像形成装置とが混在していてもよい。
また、上記各実施の形態においては、アクティベーションおよびディアクティベーションの両方が実行されるが、アクティベーションのみでディアクティベーションを行わないシステムとしてもよい。
また、上記各実施の形態においては、ウェブブラウザ1aとウェブサーバ2aとの間の通信は、暗号通信により行うようにしてもよい。
また、上記各実施の形態においては、ウェブブラウザ1aは、操作パネル12のプロセッサ12cにおいて動作しているが、その代わりに、ブラウザプログラム17bをメインコントローラ17内のコンピュータで実行し、メインコントローラ17bにおいて、ウェブブラウザ1aが動作するようにしてもよい。
また、上記各実施の形態においては、キー管理サーバ装置2のアクティベーション管理テーブル23cにはアクティベーション回数が登録されているが、その代わりにディアクティベーション回数を登録するようにしてもよい。その場合、ディアクティベーション回数が所定の値未満の場合のみアクティベーションキーが発行される。
なお、上記実施の形態1〜5において、複合機1は画像形成装置の一例である。また、キー管理サーバ装置2において、アクティベーション処理部22aは、アクティベーションキー生成手段の一例であり、ディアクティベーション処理部22bは、ディアクティベーションキー生成手段の一例であり、データ格納装置23は、記憶手段の一例である。また、上述の返品コードは、ディアクティベーション完了通知の一例である。