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