(58)【調査した分野】(Int.Cl.,DB名)
  前記比較手段による比較の結果、前記フィニッシャユニットのプログラムのバージョンと前記印刷装置のプログラムのバージョンとの組み合わせが正しい組み合わせでない場合、前記フィニッシャユニットのプログラムの更新を受け付ける画面を表示する表示手段をさらに備えることを特徴とする請求項1に記載の印刷装置。
  前記フィニッシャユニットから取得されたハードウェアの識別情報は、前記印刷装置側の機能との組み合わせにおいて前記フィニッシャユニットが正常に動作できるかを特定するために用いられる情報であることを特徴とする請求項1または2に記載の印刷装置。
  前記比較手段による比較の結果から前記フィニッシャユニットのプログラムのバージョンと前記印刷装置のプログラムのバージョンの組み合わせが正しい組み合わせでない場合、前記フィニッシャユニットのプログラムを更新する必要があることをユーザに通知する第1の通知手段をさらに備えることを特徴とする請求項1に記載の印刷装置。
  前記第1の判定手段により前記フィニッシャユニットのハードウェアが前記印刷装置のプログラムに適合していないと判定された場合、エラーをユーザに通知する第2の通知手段をさらに備えることを特徴とする請求項1乃至5のいずれか1項に記載の印刷装置。
【発明を実施するための形態】
【0016】
  以下、本発明の実施の形態を図面を参照して詳細に説明する。
 
【0017】
  [第1の実施形態]
  
図1は、本発明の第1の実施形態に係る情報処理装置の一例である複合機の概略構成を示すブロック図である。
 
【0018】
  図1において、複合機100は、コントローラユニット110、操作部130、プリンタユニット140、スキャナユニット150、FAXユニット160、およびフィニッシャユニット170を備える。
 
【0019】
  コントローラユニット110は、装置全体を制御するための構成として、以下に示すものを備える。
 
【0020】
  CPU111は、ROM112に記憶されたプログラムをRAM113に読み出して実行する。ROM112には、プログラムのほかに、ライセンスや機器構成情報、プログラムバージョンといった、機器情報も記憶されている。ハードディスクドライブ(HDD)114には、例えば、外部から受信した画像データが記憶される。
 
【0021】
  CPU111により実行されるプログラムには、プリント用アプリケーションプログラムが含まれる。このプリント用アプリケーションプログラムにより、HDD114に記憶された画像データがプリンタユニット140によるプリントが可能な画像データに変換され、再度HDD114に記憶される。また、CPU111により実行されるプログラムには、スキャン用アプリケーションプログラムが含まれる。このスキャン用アプリケーションプログラムにより、スキャナユニット150にて画像データが読み取られると共に、読み取られた画像データがHDD114に記憶される。
 
【0022】
  イメージ解析ボード115は、スキャナユニット150で読み取られた画像データを解析し、当該画像データから複写禁止情報等を読み取り、そして、プリンタユニット140による画像データの印刷出力の可否等の指示をCPU111に伝達する。
 
【0023】
  操作部I/F116は、操作部130を介して複合機100のユーザにより入力される指示をCPU111に伝達するためのI/Fである。また、操作部I/F116は、操作部130に表示される内容を切替えるための処理内容をCPU111から受信して操作部130に伝達する。
 
【0024】
  操作部130は、タッチパネル機能を有する液晶表示部やキーボードなどを備え、ユーザの操作指示を受け付ける。
 
【0025】
  プリンタI/F117は、コントローラユニット110とプリンタユニット140を接続するためのインターフェースである。
 
【0026】
  プリンタユニット140は、プリンタI/F117を介してHDD114から転送される画像データに基づいて用紙上に印刷を行う。
 
【0027】
  フィニッシャユニット170は、プリンタユニット140により印刷された用紙に対して各種のフィニッシング処理を行うものである。フィニッシング処理には、例えば、シートに対するステイプル処理、シートへのパンチ処理(穿孔処理)、中綴じ製本処理等が含まれる。
 
【0028】
  スキャナI/F118は、コントローラユニット110とスキャナユニット150を接続するためのインターフェースである。
 
【0029】
  スキャナユニット150は、原稿上の画像をCCD(ChargeCoupledDevice)等により構成されるラインセンサを用いて画像データとして読み取るものである。スキャナユニット150は、読み取った画像データをスキャナI/F118を介してHDD114に転送して記憶させる。HDD114に記憶された画像データは、プリンタユニット140により印刷することが可能であり、スキャナユニット150により読み取った画像データをプリンタユニット140により印刷することにより、複写(コピー)処理が可能となる。
 
【0030】
  USB−HostI/F119は、コントローラユニット110とFAXユニット160を接続するためのインターフェースである。
 
【0031】
  FAXユニット160は、USB−HostI/F118を介してHDD114から転送される画像データに基づいてFAX回線185を介したFAX送信を行う。また、FAXユニット160は、FAX回線185を介して受信するデータに基づいて画像データを生成し、USB−HostI/F119を介してHDD114に画像データを転送する。HDD114に記憶された画像データは、プリンタユニット140により用紙上に印刷される。なお、USB−HostI/F119は、外部USBデバイス184とも接続可能である。外部USBデバイス184は、例えばUSBメモリやUSBキーボードなどである。
 
【0032】
  ネットワークI/F120は、コントローラユニット110をLAN181に接続し、LAN上のPC182やサーバ183との通信を行う。
 
【0033】
  PC182は、複合機100に対して、画像データの送信、Webブラウザ経由での機器の操作等が可能である。
 
【0034】
  サーバ183には、複合機等に必要な最新のプログラムが常にアップロードされており、複合機100からの要求に応じて、最新のプログラムをダウンロードして更新することができる。本実施形態では、サーバ183から最新のプログラムを取得して、ROMに記憶されたプログラムの更新を行う形態について説明するが、サーバ183に接続することなく、プログラムを更新することも可能である。
 
【0035】
  複合機100は、LAN181を介してサーバ183に接続し、プログラムの更新に必要な更新ファイルをダウンロードすることができる。更新ファイルのダウンロード方法は、HTTP、FTPによる方法が好ましいが、プロトコルは限定されない。
 
【0036】
  プリンタユニット140、スキャナユニット150、FAXユニット160、およびフィニッシャユニット170は、CPU141,151,161,171とROM142,152,162,172を備える。これらは、コントローラユニット110内のCPU111やROM112ほど規模は大きくはないが、それぞれのCPUがROMに記憶されたプログラムを読み込んでデバイスの制御や他のデバイスとの通信を行う。プログラムのバージョンアップ時には、ROM142,152,162,172に記憶されたプログラムも更新対象となり得る。
 
【0037】
  プリンタユニット140、スキャナユニット150、FAXユニット160、およびフィニッシャユニット170は、複合機100本体に着脱可能に構成されている。なお、フィニッシャユニット170については、プリンタユニット140に対してのみ着脱可能に構成される。
 
【0038】
  複合機100本体にオプションユニットが接続された場合、該オプションユニットのROMに記憶されたプログラムが、コントローラユニット110のROM112に記憶されたプログラムに対して、保証された組み合わせにならない可能性がある。
 
【0039】
  そこで、複合機100本体にオプションユニットが接続されたときには、オプションユニットのROMに記憶されたプログラムも更新する必要がある。なお、以下の説明では、プリンタユニット140、スキャナユニット150、FAXユニット160、およびフィニッシャユニット170をオプションユニットと総称する。
 
【0040】
  次に、コントローラユニット110のCPU111により実行されるプログラムについて
図2を用いて説明する。
 
【0041】
  図2は、コントローラユニット110のROM112に記憶されるプログラムの一例を示す図である。
 
【0042】
  図2において、メインシステム210には、複合機100の各種機能を実現するためのプログラムが配置される。
 
【0043】
  操作部制御部211は、操作部I/F116、操作部130の制御を行うためのプログラムである。同様に、プリンタ制御部212は、プリンタI/F117、プリンタユニット140の制御を行うためのプログラムである。スキャナ制御部213は、スキャナI/F118、スキャナユニット150の制御を行うためのプログラムである。USB制御部214は、USB−HostI/F119、USB−HostI/F119に接続されたFAXユニット160や外部USBデバイス184の制御を行うためのプログラムである。
 
【0044】
  アプリケーション制御部215は、直接外部機器の制御を行わないが、複合機100の各種機能を実現するためのプログラム群である。アプリケーション制御部215により実現される機能には、httpd(HyperTextTransferProtocolDeamon)、lpd(LinePrinterDeamon)、Wedブラウザ機能、機器情報配信機能等が含まれる。
 
【0045】
  ハードウェア識別部216は、複合機100に接続されたオプションユニットがメインシステム210のプログラムに適合してきるかを判断する。具体的には、起動時にオプションユニット内のROMに記憶されたハードウェア識別子に基づいて、オプションユニットがメインシステム210のプログラムに適合しているか、すなわち正しく動作可能なハードウェア構成であるかどうかを判断する。ハードウェア識別子(ハードウェアの識別情報)は、オプションユニット内のROMの記憶容量や、対応可能な給排紙速度、排紙トレイの数等の構成により決定され、装置本体側の機能との組み合わせで正常に動作できるかを特定するために用いられる。
 
【0046】
  オプションユニットプログラム識別部217は、オプションユニット内のROMに記憶された機種識別子に基づいて、オプションユニット内のROMに記憶されたプログラムがメインシステム210のプログラムに適合しているかを判断する。上述したハードウェア識別子が、オプションユニットのハードウェア構成がメインシステム210のプログラムに適合するかを識別するための識別情報である。これに対して、機種識別子はオプションユニット内のプログラムがメインシステム210のどのプログラムに対応したものかを識別するためのプログラムの識別情報である。
 
【0047】
  プログラムバージョン比較部218は、オプションユニット内のROMに記憶されたプログラムと、オプションユニット用プログラム記憶部220に記憶されたプログラムとのバージョンの比較処理を行う。
 
【0048】
  プログラム更新処理部219は、プログラムの更新が必要と判断された場合に、コントローラユニット110内のROM112およびオプションユニット内のROMに記憶されたプログラムの更新処理を行う。
 
【0049】
  オプションユニット用プログラム記憶部220には、オプションユニット用プログラムとして、プリンタユニット用プログラム221、フィニッシャユニット用プログラム222、スキャナユニット用プログラム223が配置されている。さらに、FAXユニット用プログラム224が配置されている。
 
【0050】
  オプションユニット用プログラムは、メインシステム210の各種制御部(211〜215)により実現される処理に適合されたものであり、複合機100の出荷時に、その時点で最適なバージョンがオプションユニット用プログラム記憶部220に配置される。
 
【0051】
  ユーザからの指示に応じてプログラムの更新処理が実行された場合、複合機100は、例えばサーバ183からメインシステム210の最新のプログラムと共に、オプションユニット用の最新のプログラムを取得する。そして、取得したメインシステム210のプログラムを最新のプログラムに更新されると共に、オプションユニット用プログラム記憶部220のオプションユニット用プログラムが最新のプログラムに更新される。
 
【0052】
  なお、コントローラユニット110に現在接続されていないが、接続可能なオプションユニットのオプションユニット用プログラムについても更新される。そうすることで、後にオプションユニットが追加で接続された場合に、接続されたオプションユニットのROMに記憶されたプログラムを最新のプログラムに更新することができる。
 
【0053】
  図3は、複合機100におけるオプションユニットのプログラムの更新処理の流れを示すフローチャートである。本処理は、ROM112から読み出されたプログラムをCPU111が実行することにより実現される。
 
【0054】
  まず、複合機100本体の電源がONにされると(ステップS301)、CPU111は、オプションユニットの接続判定を行う(ステップS302)。オプションユニットの接続が確認できた場合は、ステップS303に進み、CPU111は、オプションユニット内のROMに記憶された制御プログラムに含まれるハードウェア識別子を取得する。なお、CPU111は、複数のオプションユニットの接続が確認できた場合には、各オプションユニットからハードウェア識別子を取得する。
 
【0055】
  次に、ステップS304では、CPU111は、ハードウェア識別部216により、ステップS303で取得したオプションユニットのハードウェア識別子がメインシステム210の制御プログラムのハードウェア識別子と同一かどうかを判定する。ハードウェア識別子が同一でないと判定した場合、CPU111は、間違ったオプションユニットが接続されていると判断し、ステップS314に進み、操作部130に
図4(b)に示すエラー画面を表示して本処理を終了する。
 
【0056】
  このように、オプションユニットがメインシステムと連携して動作させることができるハードウェア構成ではないと判断した場合にユーザにエラー通知がなされる。ユーザによる処理の選択ができず、装置本体を正しく動作させるためには、正しいオプションユニットを接続するか、オプションユニットの接続を停止する必要がある。このように、ユーザやサービスマンによるオプションユニットの付け間違いによる誤動作を防止することができる。
 
【0057】
  一方、ステップS304でハードウェア識別子が同一であると判定した場合はステップS305に進み、CPU111は、オプションユニット内のROMに記憶された制御プログラムに含まれる機種識別子を取得する。
 
【0058】
  次に、ステップS306では、CPU111は、オプションユニットプログラム識別部217により、ステップS305で取得したオプションユニットの機種識別子がメインシステム210の制御プログラムの機種識別子と同一かどうかを判定する。例えば、メインシステム210の制御プログラムの機種識別子が「機種A」で、取得した機種識別子が「機種B」だった場合、ステップS306の判定はNOなのでステップS308に進む。一方、機種識別子が同一であると判定した場合はステップS307に進む。
 
【0059】
  メインシステムとオプションユニットの制御プログラムのハードウェア識別子が同一で機種識別子が同一ではなかった場合でも、制御プログラムの書き換えにより動作させることが可能である。この場合、複合機100を正常に動作させるためには、オプションユニット内のROMに記憶された制御プログラムを「機種B用」から「機種A用」に書き換える必要がある。
 
【0060】
  ステップS308では、CPU111は、オプションユニット用プログラム記憶部220にオプションユニット用プログラムが記憶されているかどうかを判定する。何らかの問題により、オプションユニット用プログラムが記憶されていないと判定した場合は、ステップS314に進み、CPU111は、操作部130に
図4(b)に示すエラー画面を表示して本処理を終了する。
 
【0061】
  ステップS308でオプションユニット用プログラム記憶部220にオプションユニット用プログラムが記憶されていると判定した場合はステップS309に進み、CPU111は、操作部130に
図4(a)に示す通知画面を表示する。
 
【0062】
  図4(a)に示す画面は、オプションユニットのプログラムを書き換えることで、メインシステムのプログラムと組み合わせて動作が可能になると判断した場合に表示する画面である。本実施形態では、更新ボタン401が配置する例を記載しており、機種不整合で使用を継続することを防止するため、キャンセルボタンやスキップボタン等は配置していない。
図4(a)に示す画面を表示させることは、プログラム更新の必要性を通知し、バージョンアップ中に複合機100の機能が一定時間使えなくなることを通知する目的がある。このように、プログラムが適合していないと判断されても、ハードウェア識別部216により適合していると判断されたときは、オプションユニット内のROMに記憶されたプログラムを適切に更新することで動作可能となる。
 
【0063】
  図3に戻り、ステップS313では、CPU111は、プログラム更新処理部219により、オプションユニット内のROMに記憶されたプログラムの更新処理を行い、本処理を終了する。
 
【0064】
  ステップS307では、ステップS308と同様に、CPU111は、オプションユニット用プログラム記憶部220にオプションユニット用プログラムが記憶されているかどうかを判定する。オプションユニット用プログラムが記憶されていなかった場合は、ステップS302に戻ってオプションユニットの接続判定が繰り返される。
 
【0065】
  一方、ステップS307でオプションユニット用プログラム記憶部220にオプションユニット用プログラムが記憶されていた場合はステップS310に進む。
 
【0066】
  ステップS310では、CPU111は、プログラムバージョン比較部218により、メインシステム210のオプションユニット用プログラムとオプションユニット内のROMに記憶されたプログラムのバージョンの比較を行う。そして、プログラムのバージョンの組み合わせが正しいかどうかを判定する。プログラムのバージョンの組み合わせが正しいと判定した場合には本処理を終了する一方、正しくないと判定した場合には、ステップS311へ進む。そして、プログラムのバージョンの組み合わせが正しくない旨の通知画面(不図示)を操作部130に表示してユーザに通知する。
 
【0067】
  次に、ステップS312では、CPU111は、操作部130を介してユーザから更新指示があったか否かを判定し、更新指示があった場合にはステップS313へ進む。
 
【0068】
  ステップS313では、CPU111は、プログラム更新処理部219により、オプションユニット用プログラム記憶部220に記憶されたオプションユニット用プログラムと、オプションユニットのROMに記憶されたプログラムの更新処理を行う。
 
【0069】
  ステップS312で更新指示がなかった場合に、メインシステムのプログラムと、オプションユニットのROMに記憶されたプログラムの更新処理を実施せずにそのまま複合機100の動作を継続する。なお、プログラムのバージョンの組み合わせが正しくない旨の通知画面が表示されているので、オプションユニットを接続したユーザがプログラムを更新する手段を有していれば、更新操作を行い、プログラムのバージョンの不整合を是正することができる。プログラムのバージョンの不整合が是正されない場合は、次回本体電源ON時に
図3の処理が行われるため、再度ステップS311のプログラムのバージョンの組み合わせが正しくない旨の通知がなされる。
 
【0070】
  上記実施形態によれば、オプションユニットから取得したハードウェア識別子に基づいて、オプションユニットがメインシステムに適合しているかを判断する。メインシステムに適合していると判断した場合に、オプションユニットからプログラムの機種識別子を取得し、この機種識別子に基づいて、オプションユニットのプログラムの機種とメインシステムのプログラムの機種が同一かを判断する。プログラムの機種が同一であると判断された場合に、オプションユニットのプログラムとメインシステムのプログラムのバージョンを比較する。この比較の結果から、オプションユニットのプログラムとメインシステムのプログラムのバージョンが異なる場合には、ユーザからの指示に応じてオプションユニットのプログラムをメインシステムに適合したものに更新する。これにより、異なるプログラムを記憶させることで機能の異なる機種の動作を実現するオプションユニット用のプログラムの更新を保証すると共に、ユーザやサービスマンによるオプションユニットの付け間違いによる誤動作を防止する。また、本体とオプションユニット接続時に、プログラムの書き換えにより機器としての動作を保証できるので、オプションユニットの管理の効率化が期待できる。
 
【0071】
  上記実施形態では、
図3のステップS312においてユーザから更新指示に応じてプログラムの更新処理がなされていたが、これに限定されるものではない。例えば、
図4(c)に示すような設定画面上でユーザにより予め設定された条件に応じてプログラムの更新判定を行う構成であってもよい。
 
【0072】
  図4(c)は、オプションユニット内のROMに記憶されたプログラムのバージョンアップ/バージョンダウンの設定画面の一例を示す。
 
【0073】
  図4(c)に示す設定画面において、ユーザは、メインシステム210のオプションユニット用プログラムの組み合わせを保証するようにする場合は、設定選択部601を操作して「バージョンアップ/バージョンダウンの両方で行う」を選択する。一方、意図して新しいバージョンのプログラムが記憶されたオプションユニットを接続した場合は、更新処理をしないようにするために設定選択部601を操作して「バージョンアップのみを行う」を選択する。さらに、メインシステムのオプションユニット用プログラムと、オプションユニット内のROMに記憶されたプログラムのバージョンの組み合わせを固定にしたい場合には、設定選択部601を操作して「更新しない」を選択する。また、既にオプションユニットの動作が確認でき、そのまま使用したい場合には、設定選択部601を操作して「更新しない」を選択する。
 
【0074】
  [第2の実施形態]
  本発明の第2の実施形態は、上記第1の実施形態に対して、複合機100がサーバ183から最新のプログラムを取得する工程が追加されている点が異なる。以下、第1の実施の形態と同様の部分については同一の符号を用いてその説明を省略し、上記第1の実施の形態と異なる点のみを説明する。
 
【0075】
  図5は、本発明の第2の実施形態におけるオプションユニットのプログラムの更新処理の流れを示すフローチャートである。本処理は、ROM112から読み出されたプログラムをCPU111が実行することにより実現される。なお、
図5のステップS701〜ステップS706は、
図3のステップS301〜ステップS306と同様であることから、それらの説明を省略する。
 
【0076】
  ステップS707では、CPU111は、複合機100がサーバ183との間で通信可能に接続されているかどうかを判定する。サーバ183に接続されていると確認できた場合は、ステップS711に進む。
 
【0077】
  ステップS711では、CPU111は、メインシステム210のプログラム及びオプションユニットのROMに記憶されたプログラムの最新プログラムを取得し、オプションユニット用プログラム記憶部220に保存して、ステップS712に進む。ステップS712以降は、
図3のステップS310以降と同様であり、ステップS307でメインシステム側にオプションユニット用のプログラムが保持されていた場合と同様の処理を行う。サーバ183には、バージョンアップが必要な最新のプログラムが常にアップロードされていることから、メインシステム210及びオプションユニットのプログラムを最新のものに更新することができる。
 
【0078】
  ステップS708では、ステップS707と同様に、CPU111は、複合機100がサーバ183との間で通信可能に接続されているかどうかを判定する。サーバ183と接続されていると確認できた場合は、ステップS709に進み、CPU111は、サーバ183から最新のプログラムを取得する。その後、ステップS715では、CPU111は、プログラム更新処理部219により、オプションユニットのROMに記憶されたプログラムの更新処理を行う。
 
【0079】
  なお、ステップS707及びステップS708においてサーバ183との接続が確認されなかった場合は、
図3のステップS307及びステップS308と同様に、そのまま終了して動作を継続させるか、エラー画面を表示するかの処理を行う。
 
【0080】
  ステップS710及びステップS716で操作部130に表示する画面は、
図4(a)、
図4(b)の示す画面と同様となり、ユーザに対して、ステップS710ではプログラム更新処理の通知、ステップS716ではエラーの通知を行う。
 
【0081】
  上記実施形態によれば、上記第1の実施形態と同様の効果を得られる。
 
【0082】
  上記第1および第2の実施形態では、最初に装置本体の電源がONされたときに、
図3の処理が実行される場合について説明したが、処理の実施タイミングは新たなオプションユニットが接続されたことを検知した時点でもよい。
 
【0083】
  また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。