(57)【要約】      （修正有）【課題】ドングル等の特殊な専用ハードウェアを用意しなくとも、特定ハードウェアにインストールされるソフトウェアのライセンス管理を可能とし、不正コピーを防いでインストールされたハードウェア数に応じたライセンス料の徴収を可能とする。【解決手段】外部コントローラ１０３は、検知した初期化要求に基づいて、ハードウェア固有情報を特定キーとし、初期化情報の一部の情報を復号化し、得られた復号化データと、少なくとも一つの内部に記憶してある初期化パスコード情報が一致するかどうかを調べ、一致した初期化パスコードに基づく動作モードへと移行する制御を行なうと共に、初期化パスコード情報と一致しない場合には、申請フォーマットデータにハードウェア固有情報をマージし、得られた申請データを画像処理装置１０４へ出力する制御を行なう。【選択図】図１
2006171947.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と所定の通信ハードウェアおよび通信プロトコルを用いて通信を行なうソフトウェアモジュールのライセンス管理・認証方式であって、
初期化要求を検知する初期化要求検知手段と、
初期化要求に付随する初期化情報を読み取る初期化情報読み取り手段と、
少なくとも一つの初期化パスコード情報を記憶しておく初期化パスコード記憶手段と、
前記ソフトウェアモジュールがインストールされたハードウェアに固有の情報を読み取るハードウェア固有情報読み取り手段と、
特定キーによって暗号化された暗号化データを前述の特定キーを用いて暗号化される前の状態に復号化する復号化手段と、
前述の初期化情報の少なくとも一部の情報を得るための申請フォーマットデータを記憶する申請フォーマットデータ記憶手段と、
前述の申請フォーマットデータ記憶手段より前述の申請フォーマットデータを読み出し、所定のデータとマージする申請データマージ手段とを備え、
前述の初期化要求検知手段によって検知した初期化要求に基づき、前述のハードウェア固有情報読み取り手段によって得られたハードウェア固有情報を前述の特定キーとし、前述の初期化情報読み取り手段によって読み取られた初期化情報の一部の情報を、前述の復号化手段によって復号化し、得られた復号化データと前述の少なくとも一つの初期化パスコード情報が一致するかどうかを調べ、一致した初期化パスコードに基づく動作モードへと移行する制御を行なうと共に、
前述の復号化データが前述の初期化パスコード情報と一致しない場合には、前述の申請データマージ手段によって、前述の申請フォーマットデータに前述のハードウェア固有情報をマージし、得られた申請データを画像処理装置へ出力する制御を行なうことを特徴とするライセンス管理・認証方式。
【請求項２】
前述のソフトウェアモジュールにおける前述の初期化要求受信手段とは、他のソフトウェアまたは装置より、所定の通信インターフェースおよびプロトコルを持って送信される初期化要求コマンドを受信する初期化コマンド受信手段であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項３】
前述の初期化情報読み取り手段とは、前述の初期化要求コマンドに付随するパラメータを読み取る初期化要求コマンドパラメータ読み取り手段であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項４】
前述の初期化要求検知手段によって検知した初期化要求とは、前述のソフトウェアモジュール自体が起動されることであることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項５】
前述の初期化情報読み取り手段とは、前述のソフトウェアモジュールの管理するメモリ装置内部に保持される初期化情報データを読み出すメモリ読み出し手段であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項６】
前述のハードウェア固有情報読み取り手段とは、前述のソフトウェアモジュールが使用する通信Ｉ／Ｆハードウェアの固有情報であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項７】
前述の申請フォーマットデータ記憶手段に記憶される前述の申請フォーマットデータとは、ビットマップ画像形式の画像データであって、
前述の申請データマージ手段とは、前述のハードウェア固有情報を所定のビットマップ画像に変換し、前記申請フォーマットデータのビットマップ画像とマージして一つのビットマップ画像とする手段であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項８】
前述の申請フォーマットデータ記憶手段に記憶される前述の申請フォーマットデータとは、ビットマップ画像形式に展開可能なＰＤＬ言語で記述されたＰＤＬデータであって、
前述の申請データマージ手段とは、前述のハードウェア固有情報を所定のＰＤＬ言語の記述方式に則って記述し、前記申請フォーマットデータのＰＤＬデータとマージして一つのＰＤＬデータとする手段であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項９】
前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、プリントジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項１０】
前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、特定の送信宛先を含むＦＡＸジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項１１】
前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、特定の送信宛先を含むＥ−ｍａｉｌ送信ジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項１２】
前述の画像処理装置とは、ＭＦＰタイプの複写機装置であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【請求項１３】
前述の画像処理装置とは、ネットワーク上に存在する前述の申請データを解釈する機能を持ったサーバ装置であることを特徴とする請求項１に記載のライセンス管理・認証方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのライセンス認証および管理方式に関し、一例として、画像処理装置と所定の通信プロトコルに従い通信し、画像データおよびプリント、スキャン等のジョブの送受信を行なうことの可能であって、画像処理装置ではない外部の装置にインストールされ実行される、通信ソフトウェアモジュールにおけるライセンス管理・認証方式に関する。
【背景技術】
【０００２】
従来より、複写機などの画像処理装置に接続される、外部コントローラ装置が提供されている。この外部コントローラ装置は、例えば、ホストコンピュータのプリント・ドライバで生成されたＰＤＬプリントジョブをネットワーク経由で受信し、ＰＤＬ言語を解釈してプリントジョブをページ画像に展開し、ジョブコントロールコマンドと共に画像処理装置に送って、用紙媒体上に画像を形成するという目的で使用されている。
【０００３】
近年、複写機はＭＦＰ化してきており、実行することのできるジョブも、リモートコピーやＢｏｘ画像の送信など、多種多様になってきている。これに伴い、外部装置との通信Ｉ／Ｆプロトコルも複雑化してきており、特定目的の外部装置を作成する場合、複雑なプロトコルの中から目的とする動作をさせるコマンドを選択するだけでも、プロトコルに精通している必要があって、困難となってきている。
【０００４】
そのため、特定目的に特化したより簡単なプロトコルを、外部コントローラ装置ベンダーに提供する目的で、外部コントローラＯＳ上で動作するプロトコル変換モジュールが開発された。これにより、外部コントローラ装置ベンダーは、複雑な直ＭＦＰプロトコルを理解すること無しに、目的とする機能を提供する外部コントローラ装置を速やかに開発できるようになり、また複写機メーカーとしては、対自社製機器・ソフトの通信のみで使用する、特定目的以外の外部ベンダーに触らせたくないコマンドを使えないようにするなど機密保持することを可能とするとともに、このプロトコル変換機能を外部装置側で実行させることにより、複写機ＣＰＵに余分な負荷を与えず処理を最適化することが可能となった。
【０００５】
パソコンなどの高機能化および普及に伴って、汎用ハードウェアの機能は年々進化してきており、コストは下がってきている。このため、上記の外部コントローラ装置としては、そのハードウェアに汎用ハードウェアまたはその部分的カスタマイズ品を使用し、汎用ＯＳで動作するシステムが採用されるようになってきている。従って、上記プロトコル変換モジュールは、汎用ＯＳ上で動作するバイナリ・ソフトモジュールとして、ベンダーに提供されることが多い。
【０００６】
しかしながら、汎用ハードウェア汎用ＯＳの外部コントローラ装置は、一方で、第三者に解析されやすいという面も持っている。そのため、例えばＨＤＤ装置等に格納された上記のプロトコル変換モジュールが、提供メーカーの望まない第三者によって取り出され、流用されるという危険性がある。
【０００７】
また、メーカーが提供したベンダーであっても、上記モジュールを搭載した装置の実数をメーカー側が把握し辛く、これによって正確なライセンス料の徴収を妨げるという問題点があった。
【０００８】
このような問題を解決しライセンス管理をするための方法としては、例えばメーカーがインターネット上に認証サーバを立て、上記モジュールが外部ネットワークを介して認証サーバに接続し、ライセンス認証するという手段がある。
【０００９】
しかしながら、上記のような外部コントローラ装置は、複写機などの画像処理装置に対する特定機能を提供するという特性上、インターネットに接続可能なネットワーク環境で使用されるとは限らず、装置を使用するユーザの社内ＬＡＮなどのローカルネットワーク環境で使用されることも多い。
【００１０】
また、一般的なソフトウェアのライセンス管理の方法として、インストール後に特定のＫｅｙコードを入力させる手段も一般的にだが、Ｋｅｙコードごとコピーされた場合にはなんら有効性を発揮しない。
【００１１】
また、特許文献１に提案される方式においては、外部コントローラ装置の持つ、例えばセントロニクス仕様パラレルＩ／Ｆなどの、画像処理装置との通信には使用しない特定Ｉ／Ｆにドングルという特殊な装置を接続し、ドングルが接続されているときにしか、特定機能が動作しないようにすると共に、メーカーからのドングルの提供によってライセンス数を管理するという方法も提案されている。
【特許文献１】特開２０００−１３７５９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、この方式においては、外部コントローラ装置は、空いているＩ／Ｆを提供するためハードウェアコストアップにもなり、提供できるドングルが、外部コントローラ装置ベンダーとして使用したいＩ／Ｆとバッティングする可能性もある。さらに提供メーカーとしては、ドングル用のデバイスドライバソフトウェアも合わせて開発し、提供する必要があって、ハードウェアに近い部分の制御を行なうドライバ・ソフトウェアが、外部ベンダーのハードウェア制御ソフトと不整合を起こす可能性も高くなる、といった問題点があった。
【課題を解決するための手段】
【００１３】
本発明は、上記の問題点を解消するための、
画像処理装置と所定の通信ハードウェアおよび通信プロトコルを用いて通信を行なうソフトウェアモジュールのライセンス管理・認証方式であって、
初期化要求を検知する初期化要求検知手段と、
初期化要求に付随する初期化情報を読み取る初期化情報読み取り手段と、
少なくとも一つの初期化パスコード情報を記憶しておく初期化パスコード記憶手段と、
前記ソフトウェアモジュールがインストールされたハードウェアに固有の情報を読み取るハードウェア固有情報読み取り手段と、
特定キーによって暗号化された暗号化データを前述の特定キーを用いて暗号化される前の状態に復号化する復号化手段と、
前述の初期化情報の少なくとも一部の情報を得るための申請フォーマットデータを記憶する申請フォーマットデータ記憶手段と、
前述の申請フォーマットデータ記憶手段より前述の申請フォーマットデータを読み出し、所定のデータとマージする申請データマージ手段とを備え、
前述の初期化要求検知手段によって検知した初期化要求に基づき、前述のハードウェア固有情報読み取り手段によって得られたハードウェア固有情報を前述の特定キーとし、前述の初期化情報読み取り手段によって読み取られた初期化情報の一部の情報を、前述の復号化手段によって復号化し、得られた復号化データと前述の少なくとも一つの初期化パスコード情報が一致するかどうかを調べ、一致した初期化パスコードに基づく動作モードへと移行する制御を行なうと共に、
前述の復号化データが前述の初期化パスコード情報と一致しない場合には、前述の申請データマージ手段によって、前述の申請フォーマットデータに前述のハードウェア固有情報をマージし、得られた申請データを画像処理装置へ出力する制御を行なうことを特徴とする。
【００１４】
また、これに加え、前述のソフトウェアモジュールにおける前述の初期化要求受信手段とは、他のソフトウェアまたは装置より、所定の通信インターフェースおよびプロトコルを持って送信される初期化要求コマンドを受信する初期化コマンド受信手段であることを特徴とする。
【００１５】
また、これに加え、前述の初期化情報読み取り手段とは、前述の初期化要求コマンドに付随するパラメータを読み取る初期化要求コマンドパラメータ読み取り手段であることを特徴とする。
【００１６】
あるいは、これに加え、前述の初期化要求検知手段によって検知した初期化要求とは、前述のソフトウェアモジュール自体が起動されることであることを特徴とする。
【００１７】
あるいは、これに加え、前述の初期化情報読み取り手段とは、前述のソフトウェアモジュールの管理するメモリ装置内部に保持される初期化情報データを読み出すメモリ読み出し手段であることを特徴とする。
【００１８】
また、これらに加え、前述のハードウェア固有情報読み取り手段とは、前述のソフトウェアモジュールが使用する通信Ｉ／Ｆハードウェアの固有情報であることを特徴とする。
【００１９】
また、これらに加え、前述の申請フォーマットデータ記憶手段に記憶される前述の申請フォーマットデータとは、ビットマップ画像形式の画像データであって、前述の申請データマージ手段とは、前述のハードウェア固有情報を所定のビットマップ画像に変換し、前記申請フォーマットデータのビットマップ画像とマージして一つのビットマップ画像とする手段であることを特徴とする。
【００２０】
あるいは、これらに加え、前述の申請フォーマットデータ記憶手段に記憶される前述の申請フォーマットデータとは、ビットマップ画像形式に展開可能なＰＤＬ言語で記述されたＰＤＬデータであって、
前述の申請データマージ手段とは、前述のハードウェア固有情報を所定のＰＤＬ言語の記述方式に則って記述し、前記申請フォーマットデータのＰＤＬデータとマージして一つのＰＤＬデータとする手段であることを特徴とする。
【００２１】
また、これらに加え、前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、プリントジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする。
【００２２】
あるいは、これらに加え、前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、特定の送信宛先を含むＦＡＸジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする。
【００２３】
あるいは、これらに加え、前述の申請データを画像処理装置へ出力する制御とは、前述の申請データマージ手段によって得られた申請データを、特定の送信宛先を含むＥ−ｍａｉｌ送信ジョブとして所定のコマンドシーケンスと共に画像処理装置へと出力する制御であることを特徴とする。
【００２４】
また、これらに加え、前述の画像処理装置とは、ＭＦＰタイプあるいはＳＦＰタイプの複写機装置またはプリンタ装置であることを特徴とする。
【００２５】
あるいは、これらに加え、前述の画像処理装置とは、ネットワーク上に存在する前述の申請データを解釈する機能を持ったサーバ装置であることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、特別なライセンス管理用ハードウェアを用意すること無しに、外部コントローラ装置のハードウェア１台につき、プロトコル変換モジュールの１ライセンスを管理することが可能となり、ライセンス料を徴収したりユーザ管理することによるバージョンアップ等のサポートを行なうことが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例１】
【００２８】
以下に図面を参照して本発明の好適な実施例を示す。
【００２９】
図１は、本発明の第１の実施例を示す画像処理システムのハードウェア構成を説明する概略ブロック図である。この画像処理システムは、ネットワーク（１０１）を介して１台以上のホストコンピュータ（１０２）と、ＰＤＬプリントジョブなどのジョブを解釈し画像展開するなどの画像処理を行う外部コントローラ装置（１０３）と、外部コントローラ装置が接続する画像処理装置（１０４）から構成されている。
【００３０】
外部コントローラ装置（１０３）は、ＨＤＤ（１１４）またはＲＯＭメモリ（１１５）等に格納されたプログラムを、ＣＰＵ（１１３）が実行することにより動作しており、プログラムに応じて、受け取ったＰＤＬジョブをビットマップ画像データに画像展開（ＲＩＰ）したり、画像処理装置にジョブを表すコマンドスクリプトや画像データを送受信したり、あるいは内部バスに接続されている各機器部の制御を行うことができる。内部バスにはネットワークＩ／Ｆ１（１１２）およびネットワークＩ／Ｆ２（１１７）も接続されている。外部コントローラ装置（１０３）は、ネットワークＩ／Ｆ１（１１２）を介して外部ネットワーク（１０１）に接続され、ネットワークＩ／Ｆ２（１１７）を介して画像処理装置と接続されている。また、ユーザ・インタフェースあるいは他のインタフェース、その他の装置（１１６）も備えている。
【００３１】
本実施例における画像処理装置（１０４）は、ＭＦＰタイプの複写機であって、外部と通信を行なうための不図示のネットワークＩ／Ｆを備え、ここに外部コントローラ装置（１０３）が接続されている。そして、外部からのジョブコマンドスクリプトを受信したり、画像データを送受信して、用紙媒体上に画像形成するプリントジョブや、原稿画像を読み取るスキャンジョブを実行することが可能である。
【００３２】
なお、本実施例の場合、外部コントローラ装置（１０３）の外部接続用Ｉ／Ｆと画像処理装置接続用Ｉ／Ｆを共にネットワークＩ／Ｆ（イーサネット（登録商標））で構成しているが、外部ネットワークあるいは画像処理装置（１０４）の外部Ｉ／Ｆに合わせて、どちらか一方あるいは両方を、他のＩ／Ｆハードウェアにしてももちろん良い。
【００３３】
次に、外部コントローラ装置（１０３）で処理するジョブの一例として、ＰＤＬプリントジョブを記述するＰＤＬデータについて説明する。
【００３４】
アドビ（ＡＤＯＢＥ）社のＰｏｓｔＳｃｒｉｐｔ（登録商標）言語に代表されるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）は、１ページの画像を、（ｉ）文字コードによる画像記述、（ｉｉ）図形コードによる図形記述、（ｉｉｉ）ラスタ画像データによる画像記述などの要素を組み合わせて記述するための言語であり、それで記述されたデータがＰＤＬデータである。
【００３５】
該ＰＤＬデータは、このように文字コードや図形コード、言い換えると図形描画コマンドを中心として構成されているので、ラスタ画像データのみの場合に比べて、一般にプリントジョブのデータ量が少なくて済む。このため、多数の機器が接続されるネットワークを介してジョブを送る場合、トラフィックを減らして高速にジョブを転送することが可能である。
【００３６】
このようなＰＤＬデータよりなるＰＤＬプリントジョブを、１ページずつラスター画像データの形式に展開することをＲＩＰ処理という。すなわちＰＤＬプリントジョブを印刷するためには、ＲＩＰ処理を行なってラスター画像データ（ビットマップ）に変換する必要がある。
【００３７】
画像処理装置（１０４）が特定ＰＤＬに対するＲＩＰ機能を持っていない場合は、本実施例のように外部コントローラ装置（１０３）を接続し、外部コントローラ装置（１０３）に特定ＰＤＬのＲＩＰ機能を持たせることによって、画像処理装置（１０４）を機能拡張して特定ＰＤＬプリントシステムとして提供できるようになる。
【００３８】
外部コントローラ装置（１０３）は、図１においてＨＤＤ（１１４）上に格納されたプログラムにより、ＣＰＵ（１１３）が動作することにより、ＲＩＰ機能を実現している。展開されたラスター画像は、ＲＡＭ（１１５）上に圧縮された状態で一時保持され、ネットワークＩ／Ｆ２（１１７）を介してプリントジョブコマンドスクリプトと共に画像処理装置（１０４）へと送られてプリント処理される。
【００３９】
以上はＰＤＬプリント処理機能を持たせた外部コントローラ装置（１０３）についての説明であるが、同様の仕組みで、これ以外にも例えば、画像処理装置（１０４）に原稿画像をスキャンさせ、読み取った画像に対してＯＣＲ等の何らかの処理を行なう機能や、あるいは画像処理装置（１０４）の不図示のＵＩ等を制御して所望のユーザに対するメッセージ等を表示する機能を実現する外部コントローラ装置（１０３）を提供することももちろん可能である。
【００４０】
次に図２を用いて、外部コントローラ装置（１０３）内部で動作するソフトウェア構成について説明する。
【００４１】
図２におけるハードウェア２０１とは、図１で説明したネットワークＩ／Ｆ１および２（１１２，  １１７）を含む、外部コントローラ装置１０３のハードウェア全般を模式的に示している。これの上に、ハードウェア制御のためのデバイスドライバを含むＯＳ（２０２）プログラムが動作する。
【００４２】
そして、ＯＳ上で動作するプログラムモジュールとして、コントローラ制御ソフトウェア（２０３）、前述のプロトコル変換モジュール（２０４）、および転送モジュール（２０５）が動作する。
【００４３】
コントローラ制御ソフトウェア（２０３）とは、例えば前述のＰＤＬジョブのＲＩＰ処理機能を備えたプリントジョブ制御機能であって、外部コントローラ装置（１０３）の目的とする特定機能を提供するための制御ソフトウェアである。もちろん、装置全般の必要なハードウェア制御も含めて動作する。
【００４４】
プロトコル変換モジュール（２０４）は、前述の通り、画像処理装置を制御する複雑なプロトコル（Ｂ）を、より簡単な特定機能に特化したプロトコル（Ａ）に変換するソフトウェアモジュールであって、プロトコル（Ａ）を持ってコントローラ制御ソフトウェア（２０３）からジョブ送信指令等のコマンドを受けると、変換プログラム部（２１１）において画像処理装置が直接解釈することのできるプロトコル（Ｂ）に変換し、送信する。同様に、画像処理装置からプロトコル（Ｂ）で来たコントローラ制御ソフト（２０３）に対するコマンドを、プロトコル（Ａ）に変換して伝える。実際には両プロトコルのコマンドやパラメータは１対１とは限らず、複数のコマンドやパラメータを一つのコマンドにまとめたり、その逆を行なったり、あるいはプロトコル変換モジュール（２０４）としての内部状態を持ち、内部状態に応じた特定コマンドシーケンスやパラメータに変換したり、複数の種類の異なったプロトコル（Ｂ）を組み合わせて送受信するなど、複雑な変換アルゴリズムを実現している。
【００４５】
また、特に本特許に関わる構成として、変換モジュール（２０４）は内部データとして恒久Ｐａｓｓｃｏｄｅ申請フォームというデータを持っている。これについては後述する。
【００４６】
さらに、転送モジュール（２０２）というモジュールも内蔵される。これは、コントローラ制御ソフトウェア（２０３）が使用しないコマンドプロトコル（Ｂ）について、画像処理コントローラがネットワーク上のホストコンピュータ等他の機器と、直接やりとりをするためのものであって、ＯＳを通じてネットワークＩ／Ｆ２（１１７）での通信とネットワークＩ／Ｆ１（１１２）での通信をアドレス変換して直接結びつけるスルー転送動作を行なう。これによって、画像処理装置は、外部コントローラ装置（１０３）を増設する前の対ネットワーク機能を損なうことなく外部コントローラ装置（１０３）による機能拡張が可能になる。例えば、ＳＮＭＰやＨＴＴＰなどの汎用プロトコルを使用するサービスを、画像処理装置が外部ネットワーク上の機器に対して公開する場合、スルーモジュールによって、この機能はそのまま外部機器から利用可能となる。さらに、外部機器からは、アドレス的に一つの装置として、外部装置を含んだ画像処理装置システムとして認識することができ、ＩＰアドレスを１つのみ割り当てれば良いようにできる。
【００４７】
次に、本発明のライセンス認証処理について、図３の処理フロー図と、プロトコル変換モジュール（２０４）における動作フローチャート図４を用いて説明する。尚、図３において、転送モジュール（２０５）は直接本発明の動作には関わらないため省略している。
【００４８】
図３は、本発明におけるライセンス認証の全体的な流れを示している。また、図４は本発明に関わるプロトコル変換モジュールの動作フローを示している。
【００４９】
プロトコル変換モジュール（２０４）は、外部コントローラ装置１０３に組み込まれ、コントローラ制御ソフトウェア・システムから起動されると、必要な内部初期化処理を行なった後、図４のＳ４０１に示すコマンド待受け状態となる。このコマンド受信待ち状態のコマンドとは、コントローラ制御ソフトからのプロトコル（Ａ）のコマンドだけでなく、接続されている画像処理装置からネットワークＩ／Ｆ２を介して送られてくるプロトコル（Ｂ）のコマンドも含めることができるが、説明を簡略化するため本フローチャートでは、コントローラ制御ソフトからのコマンド待受けとする。
【００５０】
外部コントローラ装置ベンダーには、変換モジュール（２０４）提供と合わせて「仮パスコード」文字列を通知してあり、コントローラ制御ソフトは、初期状態で内部データとしてこの仮パスコードを組み込んでいる。初回の外部コントローラ装置立ち上げ時において、コントローラ制御ソフトは、この仮パスコードをパラメータとして組み込んだ初期化コマンドを、プロトコル変換モジュールに発行する。
【００５１】
変換モジュール（２０４）は、コマンドを受信するとまずそれが初期化コマンドかどうかを判定し（Ｓ４０２）、初期化コマンドである場合には、付随するパラメータが仮パスコードであるかどうかを判定する（Ｓ４０３）。（すなわち、制御モジュールも内部データとして仮パスコードの文字列を持っている。）
仮パスコードであると判定された場合には、情報処理装置と所定の初期化通信を行い（Ｓ４０４）、ネットワークＩ／Ｆ２のハードウェア固有の情報であるＭＡＣアドレスを取得する。これは、図３においては＜２＞に相当する。このＭＡＣアドレスの取得には、例えばＵＮＩＸ（登録商標）系ＯＳの場合には、ｉｏｃｔｌというシステムコールが使用可能であり、ＯＳの機能を利用して取得できる。
【００５２】
もちろん、本発明の本質としては、シリアル番号等、外部コントローラ装置のハードウェア固有の情報であれば、ＭＡＣアドレスに限らず利用可能であるが、ベンダーの不正行為により不正情報を割り当てられないものを使用する必要がある。また、どのハードウェア情報を使用しているかは、ベンダーに知られないようにした方がよい。
【００５３】
ＭＡＣアドレスを取得したら、次に、外部ネットワークへと繋がるネットワークＩ／Ｆ１を介して、インターネット上に接続されている画像処理装置メーカのライセンス認証サーバとの接続が可能かどうかを調べる（Ｓ４０６）。これは、図３における＜３＞に相当する。
【００５４】
認証サーバと通信可能であれば、通信して所定の認証処理を行なう（Ｓ４０７）。この認証処理を行なう上では、認証するための登録情報が必要となる。登録情報を入手するための方法の一例としては、例えばプロトコル（Ａ）における初期化コマンドに、ユーザ登録情報のパラメータを持たせて、かつコントローラ制御ソフトにおいては、初期化コマンド発行前にＵＩを介してユーザに登録情報を入力させた後に初期化コマンドを送る、という手段がある。
【００５５】
また、別の例としては、仮パスコードによる初期化コマンド受信後に、変換モジュール（２０４）が情報処理装置と所定の通信を行い、情報処理装置のＵＩを利用して、ユーザに対し必要となる登録情報を入力させることによって入手するという手段もある。
【００５６】
あるいは、ベンダーごとに予め定めたベンダーコードを登録情報として用いることにし、ベンダーごとのライセンスの数のみを管理するという手法も取れる。
【００５７】
いずれにせよ、Ｓ４０７においては、認証サーバに、先に読み取ったハードウェア固有情報と共に、入手した登録情報を送ってユーザ登録を行い、認証サーバでは受け取った登録情報が不正でないことを確認して、予め定めてある恒久パスコード文字列を、ハードウェア固有情報をＫｅｙとする暗号化変換を行い、変換モジュールに通知する。
【００５８】
この暗号化恒久パスコードを受け取ったら認証成功となり、Ｓ４０８において自己のモードを制限解除モードに移行し、初期化コマンドに対するＯＫの返信（Ａｃｋ返信）をコントローラ制御ソフトへと返す。尚、このＡｃｋ返信の際には、パラメータとして暗号化恒久パスコードが含まれており、コントローラ制御ソフトはこれを不揮発性メモリ領域に保存して、次回の起動からは初期化コマンドに暗号化恒久パスコードを付けて送信する。
【００５９】
また、特に図示はしていないが、もし認証処理が不正情報等の理由により失敗した場合には、初期化コマンドＮＧの返信（Ｎａｃｋ返信）を返し、変換モジュールは未初期化状態のままとなる。
【００６０】
Ｓ４０６において、認証サーバと通信不可能と判断された場合、すなわち図３における＜３＞のステップで接続不可と判断された場合の処理が、本発明の本質に関わる。
【００６１】
このとき、変換モジュールは、Ｓ４１０において、内部データである恒久パスコード申請フォームデータを読み出し、先にＳ４０３において読み取ったＭＡＣアドレス情報をマージする。尚、申請フォームデータは、ビットマップ形式の画像データとしてもよいし、情報処理装置の解釈可能なデータ形式であれば都合の良いフォーマット選択を選択できる。簡単に偽造できないように電子透かし等を含んだデータであれば尚良い。
【００６２】
また、ＭＡＣアドレス情報を文字列そのままでマージしてしまうと、ＭＡＣアドレスを使用していることが分かりやすくなってしまうので、文字列変換あるはバーコード変換等を行なって、簡単には読み取られないものにする。
【００６３】
そして、Ｓ４１１においては作成した画像データを情報処理装置に出力する。本実施例ではこれを１ページの印刷ジョブとして、情報処理装置に印刷指令をしている。これが図３における＜４＞の手順である。
【００６４】
プロトコル変換モジュール自体は、印刷処理が終わると、初期化済み状態となると共に、仮パスコードによる機能制限モードへと移行し（Ｓ４１２）、初期化コマンドＡｃｋ返信を行なって、コマンド待受けＳ４０１と戻る。
【００６５】
以後の動作については、コントローラ制御ソフトから初期化以外のプロトコル（Ａ）のコマンドを受信すると、「初期化済み」かつ「機能制限モード」であるので、Ｓ４３０およびＳ４３１の張って居処理を経て、Ｓ４３２〜Ｓ４３５の機能制限モード動作を行なう。
【００６６】
機能制限モード動作においては、まずＳ４３２において、受信したコマンドが制限されるべきコマンドか否かを判定し、制限されるコマンドであればＳ４３５として、そのコマンドに対してＮａｃｋ返信を行い、情報処理装置とは一切通信しない。制限無しコマンドと判定された場合にのみ、通常の動作である、所定のプロトコル変換処理を行ない（Ｓ４３３）、画像処理装置と通信を行なってその結果をコマンド返信として返す（Ｓ４３４）。
【００６７】
図３に戻り、＜５＞において、申請書が印刷されたら、ユーザは所定の登録情報を書き込み、ＦＡＸやスキャンして画像をＥ−ｍａｉｌ添付などして、メーカーの認証サーバへと送る。登録情報は、先に述べたとおりコントローラ制御ソフトから初期化コマンドのパラメータとして送られてくる実装とした場合には、自動的に申請フォームにマージされ印刷されるようにすることももちろん可能である。
【００６８】
また、情報処理装置がインターネット以外の通信手段例えばＦＡＸ回線をもつような場合、変換モジュールからの指令は印刷ジョブとするのではなく、ＦＡＸジョブとして、ユーザの指示無しに自動的に認証サーバに送るような構成とすることも可能である。
【００６９】
先のＭＡＣアドレスを文字列変換とするならば、電話等でオペレータが受け付けるようにしてもよく、また、これらの認証サーバへの通知作業をユーザが行なうのではなく、情報処理装置および外部コントロール装置を設置するサービスマンが行なうものとする運用ももちろん可能である。
【００７０】
＜６＞の手順として、認証サーバにおいては、届けられた登録情報およびＭＡＣアドレスなどのハードウェア固有情報を用い、Ｓ４０７における登録処理で説明した認証サーバの動作と全く同等の処理を行なって、暗号化恒久パスコードを生成し、発行する。
【００７１】
＜７＞の手順として、認証サーバで発行された暗号化恒久パスコードは、Ｅ−ＭａｉｌやＦａｘ、あるいは郵便などの手段を用いて、ユーザまたはサービスマンへと届けられ、ユーザまたはサービスマンは、外部コントローラ装置のＵＩ等を用いて、コントローラ制御ソフトに暗号化恒久パスコードを入力する。
【００７２】
暗号化恒久パスコードを入力されたコントローラ制御ソフトは、＜８＞の手順として、この恒久パスコードを用いて初期化要求を行なうとともに、このパスコードを記憶し、以後の立ち上げでは毎回これを使用するようになる。
【００７３】
図４に戻り、暗号化恒久パスコードが付随した初期化コマンドを受信した際のプロトコル変換モジュールの動作について説明する。
【００７４】
Ｓ４０２において初期化コマンドと判定され、Ｓ４０３において付随するパスコードパラメータが仮パスコードでないと判定されると、Ｓ４２０の処理へと進む。
【００７５】
Ｓ４２０においては、Ｓ４０５と同様にＭＡＣアドレスのようなハードウェア固有情報を取得する。そしてＳ４２１において、取得したＭＡＣアドレス等の情報をＫｅｙとして、初期化コマンドに付随するパスコードパラメータの復号化を行なう。これは認証サーバで行なわれた暗号化の逆の処理であり、予め所定の暗号化および復号化アルゴリズムを定めておき、変換モジュールは復号化アルゴリズムを内蔵しておくことによって行なっている。
【００７６】
また、プロトコル変換モジュールは、内部データとして復号化された後の恒久パスコードを持っている。Ｓ４２２の処理においては、Ｓ４２１で復号化されたパスコードの文字列が、内部データの恒久パスコードと一致するかどうかの判定を行なう。
【００７７】
判定の結果、正式な恒久パスコードである場合には、情報処理装置と所定の初期化通信処理を行ない（Ｓ４２３）初期化済状態になると共に、自己を動作制限のない制限解除モードへと移行する（Ｓ４２４）。そして、初期化コマンドにＡｃｋ返信を行い（Ｓ４２５）、Ｓ４０１のコマンド待受けへと戻る。
【００７８】
判定の結果が正式な恒久パスコードでないと判断された場合には、Ｓ４２６における初期化コマンドのＮａｃｋ返信をおこなって、自己の状態やモードの変更は行なわずにコマンド待受け状態Ｓ４０１に戻る。
【００７９】
次に、制限解除モードに移行した後のコマンド処理動作について説明する。初期化コマンドでない通常のコマンドを受信すると、Ｓ４０２を経てＳ４３０において、初期化すみか否かを調べる。初期化済みでなければ、Ｓ４５０としてコマンドに対しＮａｃｋ返信を行なってコマンド待受け状態Ｓ４０１へと戻るが、制限解除モードへ移行している場合は、初期化済み状態であるので、Ｓ４３１の判定を行なう。
【００８０】
Ｓ４３１のモード判定においては、制限解除モードと判定されるため、Ｓ４４０においてＳ４３３と同様の所定のプロトコル変換処理をコマンドに寄らず行い、Ｓ４４１にて、その結果をコマンド返信として返した後に、Ｓ４０１の次のコマンドの待ちうけ処理へと移行する。
【００８１】
尚、本実施例においては、説明を簡単にするため、機能制限モードと制限解除モードの２つのモードのみを持たせたが、複数の恒久パスコード文字列を持ってそれぞれに対応する、複数の機能モードを持たせる実装とすることももちろん可能である。例えば、プリントのみ可能なモード、プリントとスキャンは可能だかＵＩの一部機能を制限するモードなどである。この場合、使用可能とする機能に応じたライセンス料の設定を行なったり、機能をオプション化し、設置後に増やすという運用も可能となる。
【実施例２】
【００８２】
本発明を、図５に示す接続形態の外部拡張装置に適用することも可能である。
【００８３】
図５において、５０１〜５１６の各部／各装置については、それぞれ図１の１０１〜１１６と全く同等であるので、詳細な説明は省略する。
【００８４】
図５においては、図１におけるネットワークＩ／Ｆ２（１１７）を取り外したハードウェア構成となっている。そして、画像処理装置５０４は、図１の実施形態のように、直接外部コントローラ装置５０３と接続するのではなく、ネットワーク５０１と接続され、ネットワーク５０１を介して外部コントローラ装置５０３と通信する。
【００８５】
すなわち、外部コントローラ装置５０３においては、同一のＩ／Ｆハードウェアを用いて、ホストコンピュータ５０２とも、画像処理装置５０４とも通信することになる。また、このような形態であるため、外部コントローラ装置５０３を、特定の画像処理装置（５０４）１台のための機能拡張装置とするのではなく、複数の画像処理装置に対して機能拡張を行なう、機能拡張サーバとして構築し、本特許を適用することももちろん可能である。
【００８６】
図５における外部コントローラ装置のソフトウェア構成図は、図６のようになる。図２と比較し、６０１〜６１２の構成部分は、それぞれ２０１〜２１２における構成部分と全く同等であるので、詳細な説明は省略する。
【００８７】
６０３のコントローラ制御ソフトは、実施例１における図２の２０３のコントローラ制御ソフトと少なくとも通信手段に関しては全く同等で、プロトコル（Ａ）を用いて、プロトコル変換モジュールと装置内部で通信し、画像処理装置に対する通信手段としており、その他のホストコンピュータ等の装置とは、ネットワークＩ／Ｆ１を介して直接通信を行なう。
【００８８】
もちろん実現する機能としては、実施例１と同等でも良いし、複数台の画像処理装置と通信可能であることを利用した新しい機能を実現することも可能である。
【００８９】
また、ホストコンピュータ等の外部装置と画像処理装置との通信は、ネットワークを介して直接行なわれるため、図２における転送モジュール（２０５）は必要ない。
【００９０】
プロトコル変換モジュール６０４に関しては、実施例１における変換モジュール２０４と全く同じものが使用可能である。変換モジュール６０４はＯＳの機能を利用して外部との通信を行なっているので、単に通信の宛先アドレスを、内側のネットワークのものから外側のネットワークのものに変更するのみでよい。もちろんＴＣＰ／ＩＰプロトコルを用いるならば、プロトコル（Ｂ）のポート番号は、他のホストコンピュータ等との通信で用いるプロトコルとバッティングしないようにする必要はある。
【００９１】
プロトコル変換モジュール６０４の動作についても図４の動作フローと全く同等でよく、全体のライセンス管理手順についても図３の手順フローがそのまま適用可能である。但し、取得するハードウェア固有情報としては、ネットワークＩ／Ｆ１（５１２）のＭＡＣアドレスを取得するようにする。
【実施例３】
【００９２】
また、本発明の本質によれば、実施例１および実施例２で説明したプロトコル変換モジュールに限らず、ソフトのみをユーザに提供する際のライセンス管理にも適用可能であるのは自明である。
【００９３】
インストール後の起動より、ＭＡＣアドレスまたはその他のインストールされたハードウェアに固有の情報を取得し、取得した固有情報を含めた申請データを何らかの外部装置に出力可能であれば、適用できることは明らかである。
【００９４】
さらに、ここでいう外部装置を、ネットワーク上に存在する何らかのサーバ型装置、例えば実施例１および実施例２で説明した認証サーバそのものとして、ハードウェア固有情報の送り先として適用する運用ももちろん可能である。
【図面の簡単な説明】
【００９５】
【図１】本発明の１実施形態である外部コントローラ装置を含む画像処理システムの構成を示すブロック図である。
【図２】図１に示した外部コントローラ装置上で動作するプログラムのソフトウェア構成を示すソフトウェア構成概念図である。
【図３】本発明の１実施形態におけるライセンス認証・管理の手順を示す手順フロー図である。
【図４】本発明の１実施形態における外部コントローラ装置上で動作するプロトコル変換モジュールの、本発明のライセンス認証・管理に関わる動作を示す動作フローチャートである。
【図５】本発明の第二の実施形態である外部コントローラ装置を含む画像処理システムの構成を示すブロック図である。
【図６】図５に示した外部コントローラ装置上で動作するプログラムのソフトウェア構成を示すソフトウェア構成概念図である。
【符号の説明】
【００９６】
１０１  ネットワーク
１０２  情報処理装置
１０３  外部コントローラ装置
１０４  画像処理装置
１１１  内部バス
１１２  ネットワークインターフェース１
１１３  ＣＰＵ
１１４  ＨＤＤ
１１５  ＲＡＭ／ＲＯＭ
１１６  ＵＩ／他のインターフェース装置等
１１７  ネットワークインターフェース２
【図２】
2006171947.tif 000003
【図３】
2006171947.tif 000004
【図４】
2006171947.tif 000005
【図５】
2006171947.tif 000006
【図６】
2006171947.tif 000007
【図１】
2006171947.tif 000008