(57)【特許請求の範囲】
【請求項１】
ホスト装置とネットワークを介して接続され、前記ホスト装置から遠隔操作される画像機器において、
プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、
指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、
機器固有の機器識別情報を保持し、前記プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、
前記ホスト装置にネットワークを介して出力した、前記画像機器制御部に記憶された機器固有の機器識別情報と前記プログラム記憶部に記憶されたプログラム識別情報を用いて前記ホスト装置で作成した実行制御情報及び前記ホスト装置からのプログラム実行要求を入力する情報入出力部と、
実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有し、
前記ホスト装置から前記情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、前記実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいて前記プログラム実行部はプログラムの実行を制御することを特徴とする画像機器。
【請求項２】
ホスト装置とネットワークを介して接続され、前記ホスト装置から遠隔操作される画像機器において、
プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、
指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、
機器固有の機器識別情報を保持し、前記プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、
前記ホスト装置にネットワークを介して出力した、前記画像機器制御部に記憶された機器固有の機器識別情報と前記プログラム記憶部に記憶されたプログラム識別情報を用いて前記ホスト装置で作成した実行制御情報及び前記ホスト装置からのプログラム実行要求を入力する情報入出力部と、
実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部と、
所定の演算処理により機器固有の機器識別情報とプログラムモジュール固有のプログラム識別情報を用いて生成された実行制御情報を記憶する実行制御情報記憶部と、
前記ホスト装置から前記情報入出力部を介して送られた、又は前記実行制御情報記憶部に記憶されている実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有し、
前記ホスト装置から前記情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、前記実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいて前記プログラム実行部はプログラムの実行を制御することを特徴とする画像機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像機器に関し、特に機器シリアル番号とオプションプログラム番号を用いて生成された実行制御情報に基づいて、ネットワークを介して接続されたホスト装置によって遠隔操作され、本体内にインストールされたプログラムモジュールを実行する画像機器に関する。
【０００２】
【従来の技術】
複写機、プリンタ、スキャナなどの画像機器は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力チップなどを搭載したコントローラを内蔵し、所定のプログラムモジュールを実行することで多くの機能を実現している。これらの画像機器にソフト的な機能拡張を行う方法として、第１の方法にＲＯＭなどの記憶装置にオプションプログラムを保持したオプションボードを装着する方法がある。第１の方法はオプションボードを装着するだけで機能拡張が可能であるため作業が簡便である。また、第２の方法として、機器内部のプログラム記憶装置に対してパソコンなどの外部機器からプログラムをダウンロードするなどの方法がある。この第２の方法は特開平９−６５５３号公報や特開平５−７３３２９号公報のようにホストコンピュータからネットワーク・インタフェースを介してプログラムを受信するとそのプログラムを記憶し、以後そのプログラムに従って処理を行うものや、特開平８−２０７４００号公報のように印刷動作プログラムをプリンタＲＡＭ上にダウンロードして実行するものなどがある。
【０００３】
【発明が解決しようとする課題】
しかし、上記第１の方法によれば、オプションボード用のソケット等を本体コントローラに実装しておく必要があり、また拡張可能なプログラムの種類が多くなるとオプションボードの品種が増えるため、コスト面でデメリットがある。また、第２の方法は、ダウンロード時間が掛かることやダウンロードに失敗した場合の回復処理が必要であるなどのデメリットがある。
【０００４】
本発明はこれらの問題点を解決するためのものであり、ＲＯＭなどのプログラム記憶装置に格納された複数のプログラムモジュールもしくは圧縮されたプログラムモジュールごとの実行制限を機器固有に設定できるため、上記第１の方法のようなオプション用ソケットやオプションボードなどのコストアップが発生しない。また第２の方法のようなダウンロードを必要としないため構成変更が短時間に行うことができる。
【０００５】
【課題を解決するための手段】
前記問題点を解決するために、ホスト装置とネットワークを介して接続され、ホスト装置から遠隔操作される、本発明に係る画像機器は、プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、機器固有の機器識別情報を保持し、プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、ホスト装置にネットワークを介して出力した、画像機器制御部に記憶された機器固有の機器識別情報とプログラム記憶部に記憶されたプログラム識別情報を用いてホスト装置で作成した実行制御情報及びホスト装置からのプログラム実行要求を入力する情報入出力部と、実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有する。そして、ホスト装置から情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいてプログラム実行部はプログラムの実行を制御する。よって、ホスト装置による遠隔操作により動的にかつ確実にオプションソフトウェアの実行制御が行うことができる。
【０００６】
また、ホスト装置とネットワークを介して接続され、ホスト装置から遠隔操作される、本発明に係る画像機器は、プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、機器固有の機器識別情報を保持し、プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、ホスト装置にネットワークを介して出力した、画像機器制御部に記憶された機器固有の機器識別情報とプログラム記憶部に記憶されたプログラム識別情報を用いてホスト装置で作成した実行制御情報及びホスト装置からのプログラム実行要求を入力する情報入出力部と、実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部と、所定の演算処理により機器固有の機器識別情報とプログラムモジュール固有のプログラム識別情報を用いて生成された実行制御情報を記憶する実行制御情報記憶部と、ホスト装置から情報入出力部を介して送られた、又は実行制御情報記憶部に記憶されている実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有する。そして、ホスト装置から情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいてプログラム実行部はプログラムの実行を制御する。よって、ホスト装置による遠隔操作により動的にかつ確実にオプションソフトウェアの実行制御が行うことができると共に、ホスト装置から送られた実行制御情報を格納した後は当該実行制御情報によりプログラムの実行を制御できる。
【０００９】
【発明の実施の形態】
本発明の画像機器によれば、ホスト装置から情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいてプログラム実行部はプログラムの実行を制御する。
【００１０】
【実施例】
図１は本発明の第１の実施例に係るプログラム実行制御装置の構成を示すブロック図である。なお、本実施例を含む下記実施例では画像機器を例として説明するものとする。図１において、本実施例のプログラム実行制御装置は、プログラム記憶部１１と、プログラム実行部１２と、画像機器制御部１３と、実行制御情報記憶部１４と、実行判定部１５とを含んで構成されている。
【００１１】
また、プログラム記憶部１１にはプログラム実行部１２において実行可能な複数のプログラムモジュールもしくは圧縮されたプログラムモジュールが保持されている。例えばプリンタの場合、プリンタ言語処理を行う複数のエミュレーションプログラムやネットワークを用いた通信制御を行う各種プロトコルスタックなどのように同一ハードウエア構成でありながら異なる機能を実現できるソフトウェアモジュールが保持され得る。また、コピー機能とネットワークプリンタ機能とファックス機能とを有するデジタル複合機の場合、外部ＰＣなどを用いてスキャナデータをネットワーク経由で取得できるネットワークスキャナ機能やファックス受信データをＥ−Ｍａｉｌとしてネットワーク経由でサーバーＰＣなどへ転送する機能などのように複合機のハードウェアを変更せずにソフトウェアのみで機能を実現できるソフトウェアモジュールが保持され得る。プログラム記憶部１１に保持されるプログラムモジュール毎に固有の識別情報が予め付与されており、必要に応じてプログラム実行部１２から取得できる。識別情報は採番管理されたＩＤ番号やモジュール名称文字列などを使用できる。プログラム記憶部１１はＲＯＭなどの記憶装置で実現できる。また、圧縮されたプログラムモジュールを伸張しＲＡＭに保持する方法でも実現できる。
【００１２】
更に、プログラム実行部１２はプログラムモジュールの内容に従って画像機器制御部１３に機器制御コマンドや信号を送ることで印刷動作やコピー動作などを実行する。プログラム実行部１２はＣＰＵなどの演算処理を行う装置で実現できる。
【００１３】
また、画像機器制御部１３はプログラム実行部１２からの機器制御コマンドや信号を受け取って、紙搬送系メカニズムや作像プロセスなどの制御を行う。画像機器制御部１３は予め設定された機器固有の識別情報を保持しており、必要に応じて実行判定部１５から取得できる。また、実行制御情報記憶部１４は、機器固有の例えば製造番号などの識別情報とプログラム記憶部１１に保持されるプログラムモジュール毎に付与された、例えばＩＤ番号やモジュール名称文字列などの識別情報を用いて、機器ＩＤもしくはプログラムＩＤのいずれかもしくは両方を鍵として暗号化する処理である所定の演算処理に基づいて生成した実行制御情報を保持する。ここで、機器固有の識別情報を機器ＩＤ、プログラムモジュール固有の識別情報をプログラムＩＤと呼ぶものとする。上記所定の演算処理の具体例としては、ＤＥＳ（Data Encryption Standard）方式などの共通キー方式やＲＳＡ（Rivest, Shamir, Adleman）のような公開鍵方式が考えられる。また、ＵＮＩＸパスワードで用いられているような一方向性の関数を使って暗号化を行う方式なども考えられる。一方向の関数の例として、Diffie-Hellman（離散対数問題を利用）、RSA（素因数分解を利用）、Rabin（素因数分解を利用）、Merkle-Hellman（ナップザック問題を利用）、ElGamal（離散対数問題を利用）、楕円曲線（楕円曲線関数を利用）などが挙げられる。
【００１４】
更に、実行判定部１５は、画像機器制御部１３から取得した機器ＩＤを鍵情報として実行制御情報を復号化するか、プログラムＩＤを鍵情報として復号化することができる。また、一方向性の関数を用いた暗号化が採用されている場合は、機器ＩＤとプログラムＩＤを用いて同一の暗号化演算を行った結果と実行制御情報が同一かどうかを判定する。
【００１５】
次に、図１に示す第１の実施例のプログラム実行制御装置の動作について図２に示す動作フローに従って説明する。先ず、プログラム記憶部１１には上述のように予め１つ以上のプログラムモジュールが記憶されている。プログラム実行部１２に対してプログラム実行要求が与えられると（ステップＳ１０１）、プログラム記憶部１１から該当するプログラムモジュールのプログラムＩＤを取得し(ステップＳ１０２)、実行判定部１５に対して判定要求を発行する（ステップＳ１０３）。一方、実行制御情報記憶部１４には予め各プログラムＩＤと機器ＩＤを用いて実行制御情報を生成して記憶しておく。なお、この実行制御情報はプログラムモジュール毎に生成してもよいし、プログラム記憶部に記憶されているいくつかのプログラムモジュールごとに生成してもよい。ここで実行制御情報として上述の暗号化方式を用いて生成することができる。そして、実行判定部１５は判定要求を受け取ると判定要求されたプログラムＩＤで示されるプログラムモジュールの実行可否を判定する（ステップＳ１０４）。ここでは実行制御情報記憶部１４から読み出される全ての実行制御情報と、画像機器制御部１３から読み出した機器ＩＤとを用いてプログラムＩＤを復号化し、判定要求されているプログラムＩＤと一致した場合に実行可とし、一致したプログラムＩＤが見つからない場合には実行不可とする。次に、実行判定部１５において実行可と判断された場合、プログラム実行部１２において先に実行要求されたプログラムモジュールが実行され、一方実行否と判断された場合、実行は行われない（ステップＳ１０５）。
【００１６】
以上第１の実施例によれば、ハードウエアの追加を必要としないオプションプログラムモジュールを製品出荷時にコントローラ上のＲＯＭに記憶しておき、製品機器毎に付与された機器ＩＤと標準構成で実行許可されるべきプログラムモジュールのプログラムＩＤを組合わせて生成した実行制御情報を実行制御情報記憶部１４に書き込んでおくことで、異なる機能を搭載した機器モデルを作成できる。また、ユーザが機器購入時もしくは後にオプションプログラムを必要とする場合には、すでに出荷時ＲＯＭに必要なオプションプログラムが含まれているため、機器ベンダなど供給元はユーザの利用している機器ＩＤをもとに新しい実行制御情報を生成し、操作パネルや通信装置経由でコントローラ上の実行制御情報記憶部に転送することで新しいオプションプログラムが利用可能になる。また、実行制御情報は機器固有の識別情報を用いて暗号化されているため、ある機器に対して付与された実行制御情報を他の機器にコピーしても動作しない。従って、不正なオプションプログラム使用を防止できる。
【００１７】
次に、本発明の第２の実施例に係るプログラム実行制御装置について説明する。
図３は本発明の第２の実施例に係るプログラム実行制御装置の構成を示すブロック図である。同図において、図１と同じ参照符号は同じ構成要素を示す。本実施例のプログラム実行制御装置は、図１の実行制御情報記憶部１４を有せず、ホストコンピュータ１７との通信を行う情報入出力部１６を有している。この情報入出力部１６は、機器ＩＤやプログラムＩＤを、それぞれ画像機器制御部１３とプログラム記憶部１１から取得できる。また、これらの情報をもとにホストコンピュータ１７上で所定の演算処理を施すことにより生成された実行制御情報を受け取ることができる。情報入出力部１６はネットワークＩ／Ｆ、シリアルＩ／Ｆ、パラレルＩ／Ｆ、光Ｉ／Ｆなどの通信手段を用いて実現できる。
【００１８】
次に、図３に示す第２の実施例におけるプログラム実行制御装置の動作について図４に示す動作フローに従って説明する。先ず、プログラム記憶部１１には上述のように予め１つ以上のプログラムモジュールが記憶されている。ホストコンピュータ１７から情報入出力部１６を介してプログラム実行部１２に対して、あるプログラムモジュールの実行要求及び実行制御情報が与えられると（ステップＳ２０１，Ｓ２０２）、プログラム記憶部１１から該当するプログラムモジュールのプログラムＩＤを取得し(ステップＳ２０３)、実行判定部１５に対して判定要求を発行する（ステップＳ２０４）。なお、この実行制御情報も第１の実施例と同様にプログラムモジュール毎に生成してもよいし、プログラム記憶部に記憶されているいくつかのプログラムモジュールごとに生成してもよい。ここで実行制御情報として上述の暗号化方式を用いて生成することができる。そして、実行判定部１５は判定要求を受け取ると判定要求されたプログラムＩＤで示されるプログラムモジュールの実行可否を判定する（ステップＳ２０５）。ここではホストコンピュータ１７からプログラム実行要求によって指示されたプログラムＩＤと実行制御情報とを用いて機器ＩＤを復号化し、本装置の画像機器制御１３から取得された機器ＩＤと一致した場合に実行可とし、一致しない場合には実行不可とする。実行判定部１５において実行可と判断された場合、プログラム実行部１２において先に実行要求されたプログラムモジュールが実行され、一方実行否と判断された場合、実行は行われない（ステップＳ２０６）。ステップＳ２０２であるプログラムモジュールの実行要求及び実行制御情報が与えられていないときは、プログラムＩＤ、機器ＩＤの取得要求があればプログラムＩＤはプログラム記憶部１１から、又は機器ＩＤは画像機器制御部１３からそれぞれＩＤ情報を返しておく（ステップＳ２０７，Ｓ２０８）。
【００１９】
以上第２の実施例によれば、ハードウエアの追加を必要としないオプションプログラムモジュールを製品出荷時にコントローラ上のＲＯＭに記憶しておき、製品機器ごとに付与された機器ＩＤと標準構成で実行許可されるべきプログラムモジュールのプログラムＩＤを組合わせて生成した実行制御情報をホストコンピュータで生成し実行要求とともに与えることで、異なる機能を搭載した機器モデルを作成できる。
【００２０】
次に、本発明の第３の実施例に係るプログラム実行制御装置について説明する。図５は本発明の第３の実施例に係るプログラム実行制御装置の構成を示すブロック図である。同図において、図１及び図３と同じ参照符号は同じ構成要素を示す。
【００２１】
また、図５に示す第３の実施例におけるプログラム実行制御装置の動作について図６に示す動作フローに従って説明する。先ず、プログラム記憶部１１には上述のように予め１つ以上のプログラムモジュールが記憶されている。ホストコンピュータ１７から情報入出力部１６を介してプログラム実行部１２に対して、あるプログラムモジュールの実行要求及び実行制御情報が与えられると（ステップＳ３０１，Ｓ３０２）、プログラム記憶部１１から該当するプログラムモジュールのプログラムＩＤを取得し(ステップＳ３０３)、実行判定部１５に対して判定要求を発行する（ステップＳ３０４）。なお、この実行制御情報も第１、第２の実施例と同様にプログラムモジュール毎に生成してもよいし、プログラム記憶部に記憶されているいくつかのプログラムモジュールごとに生成してもよい。ここで実行制御情報として上述の暗号化方式を用いて生成することができる。そして、実行判定部１５は判定要求を受け取ると判定要求されたプログラムＩＤで示されるプログラムモジュールの実行可否を判定する（ステップＳ３０５）。ここではホストコンピュータ１７からプログラム実行要求によって指示されたプログラムＩＤと実行制御情報とを用いて機器ＩＤを復号化し、本装置の画像機器制御１３から取得された機器ＩＤと一致した場合に実行可とし、一致しない場合には実行不可とする。次に、実行判定部１５において実行可と判断された場合、プログラム実行部１２において先に実行要求されたプログラムモジュールが実行され、一方実行否と判断された場合、実行は行われない（ステップＳ３０６）。ステップＳ３０２であるプログラムモジュールの実行要求及び実行制御情報が与えられていないときは、プログラムＩＤ，機器ＩＤの取得要求があればプログラムＩＤはプログラム記憶部１１から、又は機器ＩＤは画像機器制御部１３からそれぞれＩＤ情報を返しておく（ステップＳ３０７，Ｓ３０８）。また、ステップ３０７であるプログラムＩＤ，機器ＩＤの取得要求しない場合は、実行制御情報の設定要求があるか否かを判定して、設定要求があれば実行制御情報記憶部１４に格納する（ステップＳ３０９，Ｓ３１０）。
【００２２】
以上第３の実施例によれば、ユーザが機器購入時もしくは後にオプションプログラムを必要とする場合には既に製品出荷時にコントローラ上のＲＯＭに必要なオプションプログラムが含まれているため、ユーザは自分が利用している機器ＩＤをもとに新しい実行制御情報を生成し、通信装置を経由してコントローラ上の実行制御情報記憶部に転送することで新しいオプションプログラムを利用できる。
【００２３】
なお、本発明は上記各実施例に限定されるものではなく、特許請求の範囲内の記載であれば多種の変形や置換可能であることは言うまでもない。
【００２４】
【発明の効果】
以上説明したように、ホスト装置とネットワークを介して接続され、ホスト装置から遠隔操作される、本発明に係る画像機器は、プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、機器固有の機器識別情報を保持し、プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、ホスト装置にネットワークを介して出力した、画像機器制御部に記憶された機器固有の機器識別情報とプログラム記憶部に記憶されたプログラム識別情報を用いてホスト装置で作成した実行制御情報及びホスト装置からのプログラム実行要求を入力する情報入出力部と、実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有する。そして、ホスト装置から情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいてプログラム実行部はプログラムの実行を制御する。よって、ホスト装置による遠隔操作により動的にかつ確実にオプションソフトウェアの実行制御が行うことができる。
【００２５】
また、ホスト装置とネットワークを介して接続され、ホスト装置から遠隔操作される、本発明に係る画像機器は、プログラムモジュール及びプログラムモジュール毎に予め付与された固有のプログラム識別情報を記憶するプログラム記憶部と、指定されたプログラムモジュールを読み出してプログラムを実行するための機器制御信号を出力するプログラム実行部と、機器固有の機器識別情報を保持し、プログラム実行部からの機器制御信号に基づいて画像機器を制御する画像機器制御部と、ホスト装置にネットワークを介して出力した、画像機器制御部に記憶された機器固有の機器識別情報とプログラム記憶部に記憶されたプログラム識別情報を用いてホスト装置で作成した実行制御情報及びホスト装置からのプログラム実行要求を入力する情報入出力部と、実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部と、所定の演算処理により機器固有の機器識別情報とプログラムモジュール固有のプログラム識別情報を用いて生成された実行制御情報を記憶する実行制御情報記憶部と、ホスト装置から情報入出力部を介して送られた、又は実行制御情報記憶部に記憶されている実行制御情報をもとにプログラムモジュールの実行が可能か否かを判定する実行判定部とを有する。そして、ホスト装置から情報入出力部を介して実行制御情報及びプログラム実行要求が入力された際、実行判定部により当該プログラムモジュールの実行可能か否かを判定し、当該判定結果に基づいてプログラム実行部はプログラムの実行を制御する。よって、ホスト装置による遠隔操作により動的にかつ確実にオプションソフトウェアの実行制御が行うことができると共に、ホスト装置から送られた実行制御情報を格納した後は当該実行制御情報によりプログラムの実行を制御できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係るプログラム実行制御装置の構成を示すブロック図である。
【図２】第１の実施例のプログラム実行制御装置の動作を示すフローチャートである。
【図３】本発明の第２の実施例に係るプログラム実行制御装置の構成を示すブロック図である。
【図４】第２の実施例のプログラム実行制御装置の動作を示すフローチャートである。
【図５】本発明の第３の実施例に係るプログラム実行制御装置の構成を示すブロック図である。
【図６】第３の実施例のプログラム実行制御装置の動作を示すフローチャートである。
【符号の説明】
１１：プログラム記憶部、１２：プログラム実行部、
１３：画像機器制御部、１４：実行制御情報記憶部、
１５：実行判定部、１６：情報入出力部、１７：ホストコンピュータ。
【図１】
0004045333.tif 000002
【図２】
0004045333.tif 000003
【図３】
0004045333.tif 000004
【図４】
0004045333.tif 000005
【図５】
0004045333.tif 000006
【図６】
0004045333.tif 000007