(57)【要約】【課題】  セキュリティレベルの低い制御プログラムを検証すること。【解決手段】  ＭＦＰは、ＰＣから出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証する検証部（Ｓ０７）と、制御プログラムの検証が成功することを条件に（Ｓ０８でＹＥＳ）、制御コマンドに従って処理を実行する処理実行部（Ｓ０９）と、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データが検証サーバに記憶されていることを条件に（Ｓ０５でＹＥＳ）、受信された制御コマンドをライセンスキーを含む制御コマンドに変換する変換部（Ｓ０６）を備える。【選択図】        図１１
2010117750.tif 000002
【特許請求の範囲】
【請求項１】
処理を実行する処理実行装置と、前記処理実行装置を制御するための制御プログラムを実行する制御装置および前記制御プログラムを検証する検証サーバとを含む検証システムであって、
前記処理実行装置は、前記制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて前記制御プログラムを検証する検証手段と、
前記制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行する処理実行手段と、を備え、
前記検証サーバは、前記制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶する検証データ記憶手段を備えており、
前記検証サーバ、前記処理実行装置および前記制御装置のいずれかは、
前記制御コマンドが前記ライセンスキーを含まない場合、前記制御コマンドに含まれるプログラム識別情報を含む前記検証データが前記データ記憶手段に記憶されていることを条件に、前記受信された制御コマンドを前記ライセンスキーを含む制御コマンドに変換する変換手段をさらに備えた、検証システム。
【請求項２】
前記変換手段は、前記検証手段による検証が失敗した場合に、前記制御コマンドを変換する、請求項１に記載の検証システム。
【請求項３】
前記処理実行装置または前記制御装置は、前記制御コマンドに含まれるプログラム識別情報を前記検証サーバに送信する検証依頼手段をさらに備え、
前記検証サーバは、前記プログラム識別情報を受信すると、前記受信されたプログラム識別情報を含む検証データを抽出する抽出手段をさらに備える、請求項１に記載の検証システム。
【請求項４】
前記検証サーバは、前記検証データを受け付ける検証データ受付手段をさらに備えた、請求項１に記載の検証システム。
【請求項５】
前記検証サーバ、前記処理実行装置および前記制御装置のうち前記変換手段を備える変換装置は、前記処理実行手段による処理実行結果を、前記制御装置が受信可能なフォーマットに変換する逆変換手段をさらに備えた、請求項１に記載の検証システム。
【請求項６】
制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置であって、
前記制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて前記制御プログラムを検証する検証手段と、
前記制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行する処理実行手段と、
前記制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶する検証データ記憶手段と、
前記制御コマンドが前記ライセンスキーを含まない場合、前記制御コマンドに含まれるプログラム識別情報を含む前記検証データが前記データ記憶手段に記憶されていることを条件に、前記受信された制御コマンドを前記ライセンスキーを含む制御コマンドに変換する変換手段と、を備えた処理実行装置。
【請求項７】
制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置で実行される制御コマンド変換方法であって、
前記制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて前記制御プログラムを検証するステップと、
前記制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行するステップと、
前記制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶するステップと、
前記制御コマンドが前記ライセンスキーを含まない場合、前記制御コマンドに含まれるプログラム識別情報を含む前記検証データが記憶されていることを条件に、前記受信された制御コマンドを前記ライセンスキーを含む制御コマンドに変換するステップと、を含む制御コマンド変換方法。
【請求項８】
制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置を制御するコンピュータで実行される制御コマンド変換プログラムであって、
前記制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて前記制御プログラムを検証するステップと、
前記制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行するステップと、
前記制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶するステップと、
前記制御コマンドが前記ライセンスキーを含まない場合、前記制御コマンドに含まれるプログラム識別情報を含む前記検証データが記憶されていることを条件に、前記受信された制御コマンドを前記ライセンスキーを含む制御コマンドに変換するステップと、を前記にコンピュータに実行させる制御コマンド変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検証システム、処理実行装置、制御コマンド変換方法および制御コマンド変換プログラムに関し、特に制御プログラムを検証するための検証システム、処理実行装置、制御コマンド変換方法および制御コマンド変換プログラムに関する。
【背景技術】
【０００２】
近年、スキャナ装置、プリンタ装置、コピー装置およびファクシミリ装置の機能を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる複合機をネットワークに接続されたパーソナルコンピュータ（以下「ＰＣ」という）によって遠隔操作することが可能となっている。この場合、ＰＣには、ＭＦＰを制御するための制御プログラムがインストールされ、その制御プログラムを実行する。
【０００３】
一方、ＰＣにインストールするプログラムの使用を制限するライセンス管理機能が知られている（例えば、特許文献１）。ＭＦＰで実行されるプログラムがバージョンアップするなどして、ＭＦＰにライセンス管理機能が追加されると、それまでＰＣにインストールされていた制御プログラムをバージョンアップしたものをＰＣにインストールしなければ、ＭＦＰを制御することができなくなってしまうといった問題がある。
【特許文献１】特開２００６−１１５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、セキュリティレベルの低い制御プログラムを検証することが可能な検証システム、処理実行装置、制御コマンド変換方法および制御コマンド変換プログラムを提供することである。
この発明の他の目的は、制御プログラムのセキュリティレベルを向上させることなくセキュリティレベルを向上させることが可能な検証システム、処理実行装置、制御コマンド変換方法および制御コマンド変換プログラムを提供することである。
【課題を解決するための手段】
【０００５】
上述した目的を達成するために、この発明のある局面によれば、検証システムは、処理を実行する処理実行装置と、処理実行装置を制御するための制御プログラムを実行する制御装置および制御プログラムを検証する検証サーバとを含む検証システムであって、処理実行装置は、制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証する検証手段と、制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行する処理実行手段と、を備え、検証サーバは、制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶する検証データ記憶手段を備えており、検証サーバ、処理実行装置および制御装置のいずれかは、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データがデータ記憶手段に記憶されていることを条件に、受信された制御コマンドをライセンスキーを含む制御コマンドに変換する変換手段をさらに備える。
【０００６】
この局面に従えば、制御装置で実行される制御プログラムのバージョンが古く、制御装置から送信される制御コマンドがライセンスキーを含まない場合であっても、検証サーバにライセンスキーが記憶されていれば、制御コマンドがライセンスキーを含む制御コマンドに変換されるので、処理実行装置において制御プログラムを検証することができる。その結果、セキュリティレベルの低い制御プログラムを検証することが可能な検証システムを提供することができる。また、制御装置で実行される制御プログラムのセキュリティレベルを向上させる必要がないので、制御プログラムのセキュリティレベルを向上させることなくセキュリティレベルを向上させることが可能な検証システムを提供することができる。
【０００７】
好ましくは、変換手段は、検証手段による検証が失敗した場合に、制御コマンドを変換する。
【０００８】
この局面に従えば、検証に成功した場合は、検証サーバにライセンスキーが記憶されているかを判断する必要がないので、実行する処理の回数を減らすことができる。
【０００９】
好ましくは、処理実行装置または制御装置は、制御コマンドに含まれるプログラム識別情報を検証サーバに送信する検証依頼手段をさらに備え、検証サーバは、プログラム識別情報を受信すると、受信されたプログラム識別情報を含む検証データを抽出する抽出手段をさらに備える。
【００１０】
好ましくは、検証サーバは、検証データを受け付ける検証データ受付手段をさらに備える。
【００１１】
好ましくは、検証サーバ、処理実行装置および制御装置のうち変換手段を備える変換装置は、処理実行手段による処理実行結果を、制御装置が受信可能なフォーマットに変換する逆変換手段をさらに備える。
【００１２】
この発明の他の局面によれば、処理実行装置は、制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置であって、制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証する検証手段と、制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行する処理実行手段と、制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶する検証データ記憶手段と、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データがデータ記憶手段に記憶されていることを条件に、受信された制御コマンドをライセンスキーを含む制御コマンドに変換する変換手段と、を備える。
【００１３】
この局面に従えば、セキュリティレベルの低い制御プログラムを検証することが可能な処理実行装置を提供することができる。また、制御プログラムのセキュリティレベルを向上させることなくセキュリティレベルを向上させることが可能な処理実行装置を提供することができる。
【００１４】
この発明のさらに他の局面によれば、制御コマンド変換方法は、制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置で実行される制御コマンド変換方法であって、制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証するステップと、制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行するステップと、制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶するステップと、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データが記憶されていることを条件に、受信された制御コマンドをライセンスキーを含む制御コマンドに変換するステップと、を含む。
【００１５】
この局面に従えば、セキュリティレベルの低い制御プログラムを検証することが可能な制御コマンド変換方法を提供することができる。また、制御プログラムのセキュリティレベルを向上させることなくセキュリティレベルを向上させることが可能な制御コマンド変換方法を提供することができる。
【００１６】
この発明のさらに他の局面によれば、制御コマンド変換プログラムは、制御プログラムを実行する制御装置により制御されることにより、処理を実行する処理実行装置を制御するコンピュータで実行される制御コマンド変換プログラムであって、制御装置から出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証するステップと、制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行するステップと、制御プログラムを識別するためのプログラム識別情報と、該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データを記憶するステップと、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データが記憶されていることを条件に、受信された制御コマンドをライセンスキーを含む制御コマンドに変換するステップと、をコンピュータに実行させる。
【００１７】
この局面に従えば、セキュリティレベルの低い制御プログラムを検証することが可能な制御コマンド変換プログラムを提供することができる。また、制御プログラムのセキュリティレベルを向上させることなくセキュリティレベルを向上させることが可能な制御コマンド変換プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１９】
図１は、本発明の実施の形態における検証システムの全体概要を示す図である。図１を参照して、検証システム１は、ネットワーク３にそれぞれ接続された複合機（以下、「ＭＦＰ」という）１００、検証サーバ２００およびＰＣ５，６を含む。ＭＦＰ１００は、処理実行装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。
【００２０】
ＰＣ５，６は、制御装置の一例であり、一般的なコンピュータである。その機能およびハードウェア構成は周知なのでここでは説明を繰り返さない。ＰＣ５，６は、ＭＦＰ１００を遠隔制御するための制御プログラムがインストールされている。ここでは、ＭＦＰ１００にライセンス管理機能を有しないプログラムがインストールされており、そのＭＦＰ１００を制御するための制御プログラムがＰＣ５，６にインストールされている状態において、ＭＦＰ１００にライセンス管理機能を追加した新たなプログラムがインストールされる場合を例に説明する。ライセンス管理機能は、ＰＣ５，６にインストールされたプログラムが正当なプログラムであることを検証する機能である。ＭＦＰ１００は、その正当性が検証されたプログラムを実行するＰＣ５，６から送信される制御コマンドのみに従って処理を実行する。
【００２１】
ＰＣ５，６にインストールされている制御プログラムはライセンス管理機能に対応していないため、そのままでＭＦＰ１００を制御することができない。そこで、本実施の形態における検証システム１は、検証サーバ２００にＰＣ５，６にインストールされている制御プログラムに対して与えられるライセンスキーを記憶してくようにし、ＭＦＰ１００において検証サーバ２００に記憶されたライセンスキーを用いて制御プログラムを検証する。以下、これについて詳細に説明する。
【００２２】
ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）である。なお、ネットワーク３として、ワイドエリアネットワーク（ＷＡＮ）、インターネット、公衆交換電話網（ＰＳＴＮ）等を用いてもよく、接続形態は、有線または無線を問わない。ＭＦＰ１００は、ネットワーク３を介して検証サーバ２００、ＰＣ５，６と通信可能である。
【００２３】
なお、本実施の形態においては処理実行装置の一例としてＭＦＰ１００を例に説明するが、ＭＦＰ１００に代えて、たとえば、ライセンス管理機能を備えた装置であれば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等であってもよい。
【００２４】
図２は、ＭＦＰの外観を示す斜視図である。図２を参照して、ＭＦＰ１００は、自動原稿搬送装置（ＡＤＦ）１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、を含む。
【００２５】
ＡＤＦ１０は、原稿給紙トレイ１１上にセットされた複数枚の原稿を１枚ずつ自動的に画像読取部２０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、画像読取部２０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。画像読取部２０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部３０に出力する。給紙部４０は、給紙トレイに収納された用紙を画像形成部３０に搬送する。
【００２６】
画像形成部３０は、周知の電子写真方式により画像を形成するものであって、画像読取部２０から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部４０により搬送される用紙に画像を形成する。
【００２７】
図３は、ＭＦＰの回路構成の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１０１と、ファクシミリ部１２２と、通信制御部１２３と、を含む。メイン回路１０１は、ＣＰＵ１１１と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１が実行するプログラム等を記憶するためのフラッシュメモリ１１３と、表示部１１４と、操作部１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、データ通信制御部１１７と、を含む。
【００２８】
ＣＰＵ１１１は、フラッシュメモリ１１３に記憶されたプログラムを実行して、各種の処理を実行する。フラッシュメモリ１１３は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。
【００２９】
ＣＰＵ１１１は、表示部１１４、操作部１１５、ＨＤＤ１１６およびデータ通信制御部１１７と、それぞれ接続され、メイン回路１０１の全体を制御する。また、ＣＰＵ１１１は、ファクシミリ部１２２、通信制御部１２３、ＡＤＦ１０、画像読取部２０、画像形成部３０、給紙部４０と接続され、ＭＦＰ１００の全体を制御する。
【００３０】
表示部１１４は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１５は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部１１５が備える複数のキーは、スイッチを備えたハードキーである。操作部１１５は、表示部１１４上に設けられたタッチパネルを含む。タッチパネルの方式は、特に限定するものではないが、例えば、抵抗膜方式または表面弾性波方式などであればよい。タッチパネルは、指またはスタイラスペンで指示された位置を検出し、検出した位置の座標をＣＰＵ１１１に出力する。表示部１１４と、操作部１１５とで、ＭＦＰ１００の上面に設けられる操作パネル９が構成される。
【００３１】
データ通信制御部１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであるＬＡＮ端子１１８と、シリアル通信のためのシリアル通信インターフェース端子１１９とを有する。データ通信制御部１１７は、ＣＰＵ１１１からの指示に従って、ＬＡＮ端子１１８またはシリアル通信インターフェース端子１１９に接続された外部の機器との間でデータを送受信する。
【００３２】
ＬＡＮ端子１１８に、ネットワーク３に接続するためのケーブルが接続される場合、データ通信制御部１１７は、ＬＡＮ端子１１８を介して接続された検証サーバ２００、ＰＣ５，６と通信する。
【００３３】
ＣＰＵ１１１は、データ通信制御部１１７を制御して、ネットワーク３に接続されたコンピュータからプログラムをダウンロードし、フラッシュメモリ１１３に記憶することにより、プログラムを更新することが可能である。プログラムは、後述する処理実行プログラムを含む。処理実行プログラムは、制御コマンド変換プログラムの一部である。
【００３４】
シリアル通信インターフェース端子１１９には、フラッシュメモリを内蔵したメモリカード１１９Ａが接続可能である。ＣＰＵ１１１は、データ通信制御部１１７を制御して、メモリカード１１９ＡからＣＰＵ１１１が実行するためのプログラムを読出し、フラッシュメモリ１１３に記憶することにより、プログラムを更新することが可能である。
【００３５】
なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、メモリカード１１９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭなどの半導体メモリ等の媒体でもよい。
【００３６】
さらに、ＣＰＵ１１１がネットワーク３に接続されたコンピュータからプログラムをダウンロードしてフラッシュメモリ１１３に記憶する、または、ネットワーク３に接続されたコンピュータがプログラムをフラッシュメモリ１１３に書込みするようにして、フラッシュメモリ１１３に記憶されたプログラムをＲＡＭ１１２にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３７】
通信制御部１２３は、ＣＰＵ１１１を公衆交換電話網（ＰＳＴＮ）７に接続するためのモデムである。ＭＦＰ１００には、ＰＳＴＮ７における電話番号が予め割り当てられており、ＰＳＴＮ７に接続されたファクシミリ装置からＭＦＰ１００に割り当てられた電話番号に発呼があると、通信制御部１２３がその発呼を検出する。通信制御部１２３は、発呼を検出すると通話を確立し、ファクシミリ部１２２に通信させる。
【００３８】
ファクシミリ部１２２は、通信制御部１２３を介してＰＳＴＮ７に接続され、ＰＳＴＮ７にファクシミリデータを送信する、またはＰＳＴＮ７からファクシミリデータを受信する。
【００３９】
図４は、検証サーバのハードウェア構成の一例を示すブロック図である。図４を参照して、検証サーバ２００は、それぞれがバス２０８に接続され、検証サーバ２００の全体を制御するためのＣＰＵ２０１と、ＣＰＵ２０１が実行するプログラム等を記憶するためのＲＯＭ２０２と、ＣＰＵ２０１の作業領域として用いられるＲＡＭ２０３と、検証サーバ２００をネットワーク３に接続するためのネットワークＩ／Ｆ２０４と、大容量記憶装置としてのＨＤＤ２０５と、表示部２０６と、ユーザの操作の入力を受付ける操作部２０７と、外部記憶装置２０９と、を含む。
【００４０】
外部記憶装置２０９は、代理検証プログラムを記憶したＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−ＲＯＭ）２０９Ａが装着される。代理検証プログラムは、制御コマンド変換プログラムの一部である。ＣＰＵ２０１は、外部記憶装置２０９を介してＣＤ−ＲＯＭ２０９Ａに記憶された代理検証プログラムをＲＡＭ２０３にロードし、実行する。なお、代理検証プログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ２０９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（、ＥＥＰＲＯＭなどの半導体メモリ等でもよい。また、ＨＤＤ２０５に記憶された代理検証プログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、検証サーバ２００が、ネットワーク３に接続された他のコンピュータから代理検証プログラムをダウンロードして、その代理検証プログラムをＨＤＤ２０５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４１】
図５は、ＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。図５を参照して、ＣＰＵ１１１は、変換プログラムが実行されることにより形成される変換プログラム部５０と、処理実行プログラムが実行されることにより形成される処理実行プログラム部６０と、を含む。処理実行プログラムは、制御プログラムを検証するライセンス管理機能を有するプログラムである。変換プログラムは、ライセンス管理機能に対応していない制御プログラムがＰＣ５，６により実行されて送信される制御コマンドを、処理実行プログラムが実行可能な制御コマンドに変換するプログラムである。
【００４２】
変換プログラム部５０は、制御コマンドを受信する制御コマンド受信部５１と、検証サーバ２００に検証を依頼する検証依頼部５３と、制御コマンドを変換する変換部５５と、処理実行プログラム部６０により実行された処理結果を逆変換する逆変換部５７と、処理結果を送信する処理結果送信部５９と、を含む。処理実行プログラム部６０は、制御プログラムを検証する検証部６１と、制御コマンドに従って処理を実行する処理実行部６３と、を含む。
【００４３】
制御コマンド受信部５１は、ＰＣ５，６のいずれかが送信する制御コマンドを受信する。データ通信制御部１１７がＰＣ５，６のいずれかが送信する制御コマンドを受信すると、制御コマンドをデータ通信制御部１１７から受け付ける。制御コマンドは、ＰＣ５，６にインストールされている制御プログラムが実行されることにより、ＰＣ５，６から送信され、その制御プログラムを識別するためのプログラム識別情報を含む。制御コマンド受信部５１は、データ通信制御部１１７から受け付けた制御コマンドを検証依頼部５３および変換部５５に出力する。
【００４４】
なお、ライセンス管理機能を有する制御プログラムが実行されて出力される制御コマンドは、プログラム識別情報に加えて、その制御プログラムに与えられたライセンスキーを含む。制御コマンド受信部５１は、データ通信制御部１１７から受け付けた制御コマンドがライセンスキーを含んでいれば、その制御コマンドをそのまま処理実行プログラム部６０に出力する。
【００４５】
図６は、制御コマンドの一例を示す図である。図６に示す制御コマンドは、ＰＣ５，６から受信される制御コマンド３０１を示す。制御コマンド３０１は、ＰＣ５，６にインストールされている制御プログラムを識別するためのプログラム識別情報を記載する部分３０３と、ＭＦＰ１００に対する認証情報を定義する部分３０５と、ＭＦＰ１００に実行させる処理を定義する部分３０７と、を含む。
【００４６】
プログラム識別情報を記載する部分３０３は、プログラム識別情報として、「ＡｐｐｌｉｃａｔｉｏｎＩＤ」のタグで示されるアプリケーションＩＤと、「ＡｐｐｌｉｃａｔｉｏｎＮａｍｅ」のタグで示されるプログラム名と、「ＡｐｐｌｉｃａｔｉｏｎＣｏｄｅ」のタグで示されるアプリケーションコードとを含む。
【００４７】
図５に戻って、検証依頼部５３は、制御コマンドに含まれるプログラム識別情報を抽出し、プログラム識別情報を含む検証依頼データを検証サーバ２００に送信する。検証依頼部５３は、検証サーバ２００のネットワーク上の位置情報、ここではＩＰ（Ｉｎｔｅｒｎｅｔ  Ａｄｄｒｅｓ）を予め記憶しており、データ通信制御部１１７に検証サーバ２００のＩＰアドレス宛に検証依頼データを送信させる。後述するように、検証サーバ２００においては、検証依頼データを受信することに応じて、検証結果データを返信するので、検証依頼部５３は検証結果データを受信する。検証サーバ２００は、検証依頼データに含まれるプログラム識別情報にライセンスキーが割り当てられているか否かを判断し、ライセンスキーが割り当てられていればそのライセンスキーを含む検証結果データを返信するが、ライセンスキーが割り当てられていなければエラーコードを含む検証結果データを返信する。なお、ＭＦＰ１００と検証サーバ２００との間で送受信されるデータは、公開鍵方式または共通鍵方式で暗号化される。
【００４８】
検証依頼部５３は、検証結果がライセンスキーを含んでいればそのライセンスキーを変換部５５に出力するが、検証結果がエラーコードを含んでいれば、エラー処理を実行する。エラー処理は、例えば、ＰＣ５，６のうち制御コマンドを送信してきたものにエラーメッセージをデータ通信制御部１１７を介して送信する処理である。
【００４９】
変換部５５は、制御コマンド受信部５１から入力される制御コマンドを、検証依頼部５３から入力されるライセンスキーを含む制御コマンドに変換し、変換後の制御コマンドを検証部６１に出力する。
【００５０】
図７は、検証依頼データの一例を示す図である。図７を参照して、検証依頼データは、「ＡｐｐｌｉｃａｔｉｏｎＩＤ」のタグで示されるアプリケーションＩＤと、「ＡｐｐｌｉｃａｔｉｏｎＮａｍｅ」のタグで示されるプログラム名と、「ＡｐｐｌｉｃａｔｉｏｎＣｏｄｅ」のタグで示されるアプリケーションコードとを含み、図６に示した制御コマンドに含まれるプログラム識別情報と同じプログラム識別情報を含む。
【００５１】
図８は、検証結果データの一例を示す図である。ここでは、ライセンスキーを含む検証結果データを示している。図８を参照して、検証結果データは、「ＬｉｃｅｎｓｅＣｏｄｅ」のタグで示されるライセンスキーを含む。エラーコードを含む検証結果データは、「ＬｉｃｅｎｓｅＣｏｄｅ」のタグの代わりに「ＥｒｒｏｒＣｏｄｅ」のタグで示されるエラーコードを含む。
【００５２】
図９は、変換後の制御コマンドの一例を示す図である。図９を参照して、制御コマンド３１０は、ＰＣ５，６にインストールされている制御プログラムを識別するためのプログラム識別情報を記載する部分３０３Ａと、ＭＦＰ１００に対する認証情報を定義する部分３０５と、ライセンスキーを定義する部分３１１と、ＭＦＰ１００に実行させる処理を定義する部分３０７と、を含む。プログラム識別情報を記載する部分３０３Ａは、プログラム識別情報の一部がライセンスキーで代用されるため、図６に示した部分３０３と異なりライセンスキーに代用される不要な部分が削除される。具体的には、「ＡｐｐｌｉｃａｔｉｏｎＮａｍｅ」のタグで示されるプログラム名を含む。ライセンスキーを定義する部分３１１は、「ＬｉｃｅｎｓｅＣｏｄｅ」のタグで示されるライセンスキーを含み、このライセンスキーは、図８に示した検証結果データに含まれるライセンスキーと同じである。
【００５３】
図５に戻って、検証部６１は、制御コマンドが入力されると、その制御コマンドに含まれるプログラム識別情報で特定される制御プログラムを検証する。具体的には、制御プログラムに対してライセンスキーが与えられているか否かを判断する。制御コマンドに含まれるプログラム識別情報とライセンスキーとを、データ通信制御部１１７を介して、ネットワーク３に接続された認証サーバに送信し、検証を依頼する。
【００５４】
認証サーバは、一般的に周知であるが、ここでは第三者機関が所有するサーバである。認証サーバは、プログラムの実行を許可する場合にライセンスキーを発行し、ライセンスキーを管理する。具体的には、プログラムのプログラム識別情報と、そのプログラムに対して与えられたライセンスキーとを関連付けて記憶しており、検証の依頼を受信すると、プログラム識別情報とライセンスキーとが関連付けられて記憶されていることを確認する。認証サーバは、それらが関連付けられていれば、正当なプログラムであることを示す信号を返信する。
【００５５】
検証部６１は、認証サーバから正当なプログラムであることを示す信号を受信すると、処理実行部６３に制御コマンドを出力するが、そうでなければエラー処理を実行する。エラー処理は、例えば、ＰＣ５，６のうち制御コマンドを送信してきたものにエラーメッセージをデータ通信制御部１１７を介して送信する処理である。処理実行部６３は、制御コマンドに従って処理を実行し、処理結果を逆変換部５７に出力する。
【００５６】
逆変換部５７は、処理実行部６３から入力される実行結果を、ＰＣ５，６のうち制御コマンドを送信してきたものに合わせたフォーマットに変換し、フォーマット変換された実行結果を、ＰＣ５，６のうち制御コマンドを送信してきたものにデータ通信制御部１１７を介して送信する。
【００５７】
図１０は、検証サーバが備えるＣＰＵの機能の概要の一例をＨＤＤに記憶するデータとともに示す機能ブロック図である。図１０を参照して、検証サーバ２００が備えるＣＰＵ２０１は、検証データを受け付け、記憶する検証データ受付部２１１と、ＭＦＰ１００から検証依頼を受信する検証依頼受信部２１３と、抽出部２１５と、検証データ送信部２１７と、を含む。
【００５８】
検証データ受付部２１１は、検証サーバ２００のユーザが、プログラム識別情報とライセンスキーとの組を操作部２０７に入力すると、入力されたプログラム識別情報とライセンスキーとの組を受け付ける。検証サーバ２００のユーザが入力するプログラム識別情報とライセンスキーとの組は、ＰＣ５，６にインストールされている制御プログラムそれぞれのプログラム識別情報と、その制御プログラムに対して上述した認証サーバにより与えられたライセンスキーとの組である。検証データ受付部２１１は、プログラム識別情報とライセンスキーとの組からなる検証データをＨＤＤ２０５に記憶する。これにより、ＨＤＤ２０５に検証データ８１が記憶される。
【００５９】
検証依頼受信部２１３は、ネットワークＩ／Ｆ２０４がＭＦＰ１００から検証依頼データを受信すると、受信された検証依頼データを受け付ける。検証依頼受信部２１３は、受信された検証依頼データに含まれるプログラム識別情報を抽出部２１５に出力する。
【００６０】
抽出部２１５は、ＨＤＤ２０５に記憶されている検証データ８１のうちから、検証依頼受信部２１３から入力されるプログラム識別情報を含むものを抽出する。抽出部２１５は、検証依頼受信部２１３から入力されるプログラム識別情報を含む検証データ８１が抽出されたならば、検証データ送信部２１７に抽出された検証データ８１に含まれるライセンスキーを出力するが、検証データ８１が抽出されなければエラー信号を検証データ送信部２１７に出力する。
【００６１】
検証データ送信部２１７は、抽出部２１５からライセンスキーが入力されると、そのライセンスキーを含む検証結果データを、ネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信する。一方、検証データ送信部２１７は、抽出部２１５からエラー信号が入力されると、エラーコードを含む検証結果データを、ネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信する。
【００６２】
ＰＣ５，６にインストールされた制御プログラムに対して、認証サーバでライセンスキーが与えられ、そのライセンスキーを検証サーバ２００に登録すれば、ＰＣ５，６にインストールされた制御プログラムをバージョンアップすることなく、ライセンス管理機能を有する処理実行プログラムがインストールされたＭＦＰ１００を遠隔制御することができる。また、ＭＦＰ１００にインストールされる処理実行プログラムは、ライセンス管理機能を有しない古いバージョンの制御プログラムに対する互換性を有する必要がないので、ライセンス管理機能を有効に活用することができる。
【００６３】
図１１は、処理実行処理の流れの一例を示すフローチャートである。処理実行処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、制御コマンド変換プログラムの一部である変換プログラムおよび処理実行プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１１を参照して、ＣＰＵ１１１は、ＰＣ５，６のいずれかから制御コマンドを受信したか否かを判断する（ステップＳ０１）。ここでは、ＰＣ５が制御コマンドを送信する場合を例に説明する。データ通信制御部１１７がＰＣ５から制御コマンドを受信するまで待機状態となり（ステップＳ０１でＮＯ）、制御コマンドを受信すると（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進める。
【００６４】
ステップＳ０２においては、受信された制御コマンドからプログラム識別情報を抽出する。そして、抽出されたプログラム識別情報を含む検証依頼データを、検証サーバ２００に送信する（ステップＳ０３）。そして、データ通信制御部１１７が検証サーバ２００から検証結果データを受信するまで待機状態となり（ステップＳ０４でＮＯ）、データ通信制御部１１７が検証結果データを受信すると（ステップＳ０４でＹＥＳ）、処理をステップＳ０５に進める。
【００６５】
ステップＳ０５においては、検証が成功したか否かを判断する。ステップＳ０４において受信された検証結果データがライセンスキーを含んでいるか否かを判断する。検証結果データがライセンスキーを含んでいれば処理をステップＳ０６に進め、ライセンスキーを含んでいなければ処理をステップＳ１２に進める。ステップＳ１２においては、エラー処理を実行し、処理を終了する。制御コマンドを送信してきたＰＣ５にエラーメッセージをデータ通信制御部１１７を介して送信する。
【００６６】
ステップＳ０６においては、ステップＳ０１において受信された制御コマンドを、ステップＳ０４において受信された検証結果データに含まれるライセンスキーを含む制御コマンドに変換する。
【００６７】
次のステップＳ０７においては、変換された制御コマンドに含まれるプログラム識別情報で特定される制御プログラムを検証する。具体的には、変換された制御コマンドに含まれるプログラム識別情報とライセンスキーとを、データ通信制御部１１７を介して、ネットワーク３に接続された認証サーバに送信し、検証を依頼する。そして、検証に成功したか否かを判断する（ステップＳ０８）。認証サーバから正当なプログラムであることを示す信号を受信すると、検証に成功したと判断し（ステップＳ０８でＹＥＳ）、処理をステップＳ０９に進めるが、認証サーバから正当なプログラムであることを示す信号を受信しなければ処理をステップＳ１２に進める。
【００６８】
ステップＳ０９においては、ステップＳ０６において変換された制御コマンドに従って処理を実行する。そして、処理を実行した実行結果を、制御コマンドを送信してきたＰＣ５に合わせたフォーマットに変換する（ステップＳ１０）。そして、フォーマット変換された実行結果を、ＰＣ５にデータ通信制御部１１７を介して送信する（ステップＳ１１）。
【００６９】
処理実行処理において、ステップＳ０１〜ステップＳ０５、ステップＳ１０〜ステップＳ１２は、ＣＰＵ１１１が制御コマンド変換プログラムの一部である変換プログラムを実行することにより実行され、ステップＳ０７〜ステップＳ０８およびステップＳ１２は、ＣＰＵ１１１が制御コマンド変換プログラムの一部である処理実行プログラムを実行することにより実行される。
【００７０】
図１２は、検証データ格納処理の流れの一例を示すフローチャートである。検証データ格納処理は、検証サーバ２００が備えるＣＰＵ２０１が制御コマンド変換プログラムの一部である検証データ格納プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図１２を参照して、ＣＰＵ２０１は、プログラム識別情報を受け付けたか否かを判断する。検証サーバ２００のユーザが、操作部２０７にプログラム識別情報を入力すれば、プログラム識別情報を受け付ける。プログラム識別情報を受け付けるまで待機状態となり（ステップＳ２１でＮＯ）、プログラム識別情報を受け付けると（ステップＳ２１でＹＥＳ）、処理をステップＳ２２に進める。
【００７１】
ステップＳ２２においては、ライセンスキーを受け付けたか否かを判断する。検証サーバ２００のユーザが、操作部２０７にライセンスキーを入力すれば、ライセンスキーを受け付ける。ライセンスキーを受け付けるまで待機状態となり（ステップＳ２２でＮＯ）、ライセンスキーを受け付けると（ステップＳ２２でＹＥＳ）、処理をステップＳ２３に進める。
【００７２】
ステップＳ２３においては、ステップＳ２１およびステップＳ２２においてそれぞれ受け付けられたプログラム識別情報とライセンスキーとの組からなる検証データを、ＨＤＤ２０７に記憶する。
【００７３】
図１３は、代理検証処理の流れの一例を示すフローチャートである。代理検証処理は、検証サーバ２００が備えるＣＰＵ２０１が制御コマンド変換プログラムの一部である代理検証プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図１３を参照して、ＣＰＵ２０１は、検証依頼データを受信した否かを判断する（ステップＳ３１）。ネットワークＩ／Ｆ２０４がＭＦＰ１００から検証依頼データを受信するまで待機状態となり（ステップＳ３１でＮＯ）、検証依頼データを受信すると（ステップＳ３１でＹＥＳ）、処理をステップＳ３２に進める。
【００７４】
ステップＳ３２においては、受信された検証依頼データに含まれるプログラム識別情報を含む検証データ８１がＨＤＤ２０５に記憶されているか否かを判断する。そのような検証データ８１が記憶されていれば処理をステップＳ３３に進めるが、そうでなければ処理をステップＳ３６に進める。ステップＳ３６においては、エラーコードをＭＦＰ１００に送信する。具体的には、エラーコードを含む検証結果データを、ネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信する
ステップＳ３３においては、ＨＤＤ２０５に記憶されている検証データ８１のうちからステップＳ３１において受信された検証依頼データに含まれるプログラム識別情報を含むものを抽出する。そして、抽出された検証データ８１に含まれるライセンスキーを抽出する（ステップＳ３４）。
【００７５】
次のステップＳ３５においては、ライセンスキーをＭＦＰ１００に送信する。具体的には、ライセンスキーを含む検証結果データを、ネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信する。
【００７６】
以上説明したように本実施の形態における検証システム１は、処理を実行するＭＦＰ１００と、ＭＦＰを制御するための制御プログラムを実行するＰＣ５，６および制御プログラムを検証する検証サーバ２００とを含み、ＭＦＰ１００は、ＰＣ５から出力される制御コマンドに含まれるライセンスキーに基づいて制御プログラムを検証する検証部６１と、制御プログラムの検証が成功することを条件に、該制御コマンドに従って処理を実行する処理実行部６３と、を備え、検証サーバ２００は、制御プログラムを識別するためのプログラム識別情報と該制御プログラムに対して付与されたライセンスキーとを関連付けた検証データ８１をＨＤＤ２０５に記憶しており、ＭＦＰ１００は、制御コマンドがライセンスキーを含まない場合、制御コマンドに含まれるプログラム識別情報を含む検証データが検証サーバ２００のＨＤＤ２０５に記憶されていることを条件に、制御コマンドをライセンスキーを含む制御コマンドに変換する変換部５５を備える。
【００７７】
このため、ＰＣ５で実行される制御プログラムのバージョンが古く、ＰＣ５から送信される制御コマンドがライセンスキーを含まない場合であっても、検証サーバ２００にライセンスキーが記憶されていれば、ＭＦＰ１００により制御コマンドがライセンスキーを含む制御コマンドに変換されるので、ＭＦＰ１００においてＰＣ５で実行される古いバージョンの制御プログラムを検証することができる。したがって、ＭＦＰ１００のセキュリティレベルが向上した場合であっても、ＰＣ５で実行されるセキュリティレベルの低い制御プログラムを検証することができる。また、ＰＣ５で実行される制御プログラムのセキュリティレベルを向上させる必要がないので、制御プログラムをインストールする作業をする必要がない。
【００７８】
＜第１の変形例＞
上述した実施の形態における検証システム１において、ＭＦＰ１００が備えるＣＰＵ１１１で変換プログラムが実行されることにより生成されるタスクプロセスが、ＰＣ５，６のいずれかから受信される制御コマンドを変換した制御コマンドを、ＭＦＰ１００が備えるＣＰＵ１１１で処理実行プログラムが実行されることにより生成されるタスクプロセスに入力するようにした。第１の変形例におけるＭＦＰ１００においては、ＭＦＰ１００で実行される処理実行プログラムが実行されることにより生成されるタスクプロセスが、ＰＣ５，６のいずれかから受信される制御コマンドに従って処理を実行する際に、エラーが発生すると、そのエラー処理ルーチンの中で処理変換プログラムが実行され、それにより生成されるタスクプロセスにより制御コマンドを変換するようにしたものである。以下、上述したＭＦＰ１００と異なる点を主に説明する。
【００７９】
図１４は、第１の変形例におけるＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。図１４を参照して、図５に示した機能ブロック図と異なる点は、変換プログラム部５０Ａが、制御コマンド受信部６５を含まない代わりに処理実行プログラム部６０Ａが制御コマンド受信部６５を備える点、検証部６１Ａが変更された点である。その他の機能は図５に示した機能と同じなのでここでは説明を繰り返さない。
【００８０】
制御コマンド受信部６５は、ＰＣ５，６のいずれかが送信する制御コマンドを受信する。データ通信制御部１１７がＰＣ５，６のいずれかが送信する制御コマンドを受信すると、制御コマンドをデータ通信制御部１１７から受け付ける。制御コマンド受信部６５は、データ通信制御部１１７から受け付けた制御コマンドを検証部６１Ａに出力する。
【００８１】
検証部６１Ａは、制御コマンドが入力されると、制御コマンドが互換性のエラーを含むか否かを判断する。制御コマンドがライセンスキーを含んでいない場合に、制御コマンドが互換性のエラーを含むと判断する。検証部６１Ａは、制御コマンドが互換性のエラーを含むならば、制御コマンドを検証依頼部５３および変換部５５に出力する。
【００８２】
検証依頼部５３による検証が成功し、ライセンスキーが取得されると、変換部５５が取得されたライセンスキーで制御コマンドを変換し、変換された制御コマンドを検証部６１Ａに出力するので、検証部６１Ａは、変換部５５から入力される制御コマンドに含まれるプログラム識別情報に基づいて、そのプログラム識別情報で特定される制御プログラムを検証する。一方、検証部６１Ａは、制御コマンドが互換性のエラーを含まなければ、その制御コマンドに含まれるプログラム識別情報に基づいて、そのプログラム識別情報で特定される制御プログラムを検証する。具体的には、制御プログラムに対してライセンスキーが与えられているか否かを判断するために、制御コマンドに含まれるプログラム識別情報とライセンスキーとを、データ通信制御部１１７を介して、ネットワーク３に接続された認証サーバに送信し、検証を依頼する。
【００８３】
そして、検証部６１Ａは、認証サーバから正当なプログラムであることを示す信号を受信すると、処理実行部６３に制御コマンドを出力するが、そうでなければエラー処理を実行する。エラー処理は、例えば、ＰＣ５，６のうち制御コマンドを送信してきたものにエラーメッセージをデータ通信制御部１１７を介して送信する処理である。処理実行部６３は、制御コマンドに従って処理を実行し、処理結果を逆変換部５７に出力する。
【００８４】
図１５は、第１の変形例における処理実行処理の流れの一例を示すフローチャートである。第１の変形例における処理実行処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、制御コマンド変換プログラムの一部である変換プログラムおよび処理実行プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１５を参照して、図１１に示した処理実行処理と異なる点は、ステップＳ５１が追加された点、および処理の実行順番が変更された点である。
【００８５】
ステップＳ０１において、制御コマンドが受信されると（ステップＳ０１でＹＥＳ）、制御コマンドが互換性のエラーを含むか否かを判断する。制御コマンドがライセンスキーを含んでいない場合に、制御コマンドが互換性のエラーを含むと判断する。制御コマンドが互換性のエラーを含むならば（ステップＳ５１でＹＥＳ）、処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０７に進める。
【００８６】
第１の変形例におけるＭＦＰ１００は、処理実行プログラムが実行されることにより生成されるタスクプロセスが、ＰＣ５，６のいずれかから受信される制御コマンドに従って処理を実行する際にエラーが発生すると、そのエラー処理ルーチンの中で処理変換プログラムが実行され、それにより生成されるタスクプロセスにより制御コマンドを変換するので、検証に成功した場合は、エラー処理ルーチンの中で処理変換プログラムが実行されることがない。そのため、検証サーバ２００における検証データを抽出する処理を実行する必要がなく、処理の実行効率が向上することができる。
【００８７】
＜第２の変形例＞
上述した実施の形態においては、検証データ８１を検証サーバ２００に記憶するようにしたが、ＭＦＰ１００に検証データ８１を記憶するようにしてもよい。この場合には、検証サーバ２００は不要である。
【００８８】
図１６は、第２の変形例におけるＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。図１６を参照して、図５に示した機能ブロック図と異なる点は、変換プログラム部５０Ｂが、検証依頼部５３に代えて、検証データ受付部７１および抽出部７３を有する点である。その他の機能は図５に示したのと同じなので、ここでは説明を繰り返さない。
【００８９】
検証データ受付部７１は、ＭＦＰ１００のユーザが、プログラム識別情報とライセンスキーとの組を操作部１１５に入力すると、入力されたプログラム識別情報とライセンスキーとの組を受け付ける。ＭＦＰ１００のユーザが入力するプログラム識別情報とライセンスキーとの組は、ＰＣ５，６にインストールされている制御プログラムそれぞれのプログラム識別情報と、その制御プログラムに対して上述した認証サーバにより与えられたライセンスキーとの組である。検証データ受付部７１は、プログラム識別情報とライセンスキーとの組からなる検証データをＨＤＤ１１６に記憶する。これにより、ＨＤＤ１１６に検証データ８１が記憶される。
【００９０】
抽出部７３は、制御コマンド受信部５１から制御コマンドが入力される。抽出部７３は、ＨＤＤ１１６に記憶されている検証データ８１のうちから、制御コマンドに含まれるプログラム識別情報を含むものを抽出する。抽出部７３は、制御コマンドに含まれるプログラム識別情報を含む検証データ８１が抽出されたならば、抽出された検証データ８１に含まれるライセンスキーを変換部５５に出力する。
【００９１】
変換部５５は、制御コマンド受信部５１から入力される制御コマンドを、抽出部７３から入力されるライセンスキーを含む制御コマンドに変換し、変換後の制御コマンドを検証部６１に出力する。
【００９２】
第２の変形例におけるＭＦＰ１００は、検証データ８１を記憶するので、検証サーバ２００が不要となる。このため、システム構成を簡略化することができる。なお、変換プログラムをＰＣ５，６それぞれで実行させるようにし、変換プログラム部５０Ｂの機能をＰＣ５，６それぞれが備えるＣＰＵが有するようにしてもよい。この場合、検証サーバ２００が不要となるので、システム構成を簡略化することができる。
【００９３】
なお、上述した実施の形態においては、検証システム１における処理実行装置としてのＭＦＰ１００、検証サーバ２００、および制御装置としてのＰＣ５，６について説明したが、図１１〜図１３または図１５に示した処理を実行するための制御コマンド変換方法、その制御コマンド変換方法をコンピュータに実行させるための制御コマンド変換プログラムとして発明を捉えることができるのは言うまでもない。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施の形態における検証システムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰの回路構成の一例を示すブロック図である。
【図４】検証サーバのハードウェア構成の一例を示すブロック図である。
【図５】ＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。
【図６】制御コマンドの一例を示す図である。
【図７】検証依頼データの一例を示す図である。
【図８】検証結果データの一例を示す図である。
【図９】変換後の制御コマンドの一例を示す図である。
【図１０】検証サーバが備えるＣＰＵの機能の概要の一例をＨＤＤに記憶するデータとともに示す機能ブロック図である。
【図１１】処理実行処理の流れの一例を示すフローチャートである。
【図１２】検証データ格納処理の流れの一例を示すフローチャートである。
【図１３】代理検証処理の流れの一例を示すフローチャートである。
【図１４】第１の変形例におけるＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。
【図１５】第１の変形例における処理実行処理の流れの一例を示すフローチャートである。
【図１６】第２の変形例におけるＭＦＰが備えるＣＰＵの機能の概要の一例を示す機能ブロック図である。
【符号の説明】
【００９６】
１  検証システム、３  ネットワーク、９  操作パネル、５０，５９Ａ，５０Ｂ  変換プログラム部、５１  制御コマンド受信部、５３  検証依頼部、５５  変換部、５７  逆変換部、５９  処理結果送信部、６０，６０Ａ  処理実行プログラム部、６１，６１Ａ  検証部、６３  処理実行部、６５  制御コマンド受信部、７１  検証データ受付部、７３  抽出部、８１  検証データ、１０１  メイン回路、１１１  ＣＰＵ、１１２  ＲＡＭ、１１３  フラッシュメモリ、１１４  表示部、１１５  操作部、１１６  ＨＤＤ、１１７  データ通信制御部、１１９Ａ  メモリカード、１２２  ファクシミリ部、１２３  通信制御部、２００  検証サーバ、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ネットワークＩ／Ｆ、２０５  ＨＤＤ、２０６  表示部、２０７  操作部、２０９  外部記憶装置、２１１  検証データ受付部、２１３  検証依頼受信部、２１５  抽出部、２１７  検証データ送信部。
【図１】
2010117750.tif 000003
【図２】
2010117750.tif 000004
【図３】
2010117750.tif 000005
【図４】
2010117750.tif 000006
【図５】
2010117750.tif 000007
【図６】
2010117750.tif 000008
【図７】
2010117750.tif 000009
【図８】
2010117750.tif 000010
【図９】
2010117750.tif 000011
【図１０】
2010117750.tif 000012
【図１１】
2010117750.tif 000013
【図１２】
2010117750.tif 000014
【図１３】
2010117750.tif 000015
【図１４】
2010117750.tif 000016
【図１５】
2010117750.tif 000017
【図１６】
2010117750.tif 000018