(57)【要約】      （修正有）【課題】利用者やサービスマンの知識や、ノウハウに依存することなく安全に且つ、自動的にシステムのプログラムをバージョンアップさせる。【解決手段】ネットワーク接続するネットワークインタフェースを有するシステムにおいて、同一ネットワーク上に接続された同一種類のシステムと通信する手段と、前記システムとデータをやり取りする手段と、ＲＯＭ格納のプログラムのバージョンを取得する手段と、ＨＤＤ格納のプログラムのバージョンを取得する手段と、プログラムをＲＯＭに対して書き換える手段と、ネットワーク上に存在する同機種デジタル複合機からファームウエアバージョン情報を取得する手段と、そのファームウエアバージョン情報より動作保証をするバージョン情報を取得する手段と、そのバージョンのファームウエアデータを取得する手段と、そのバージョンのファームウエアの更新することを自動ですることを特徴としたデジタル複合機。【選択図】        図１
2006129362.tif 000002
【特許請求の範囲】
【請求項１】
システム起動させるに際し、複数のプログラムを動作させることにより起動されるシステムにおいて、電源投入後の初期動作を実行するためのプログラムを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（以下、ＲＯＭ）を有し、プログラムを動作させるための揮発性メインメモリ（以下、メモリ）を有し、さらにシステム起動後に動作するプログラムを格納するハードディスク（以下、ＨＤＤ）等の外部記憶装置を有し、ネットワーク接続するネットワークインタフェースを有するシステムにおいて、同一ネットワーク上に接続された同一種類のシステムと通信する手段と、前記システムとデータをやり取りする手段と、ＲＯＭ格納のプログラムのバージョンを取得する手段と、ＨＤＤ格納のプログラムのバージョンを取得する手段と、プログラムをＲＯＭに対して書き換える手段と、ネットワーク上に存在する同機種デジタル複合機からファームウエアバージョン情報を取得する手段と、そのファームウエアバージョン情報より動作保証をするバージョン情報を取得する手段と、そのバージョンのファームウエアデータを取得する手段と、そのバージョンのファームウエアの更新することを自動ですることを特徴としたデジタル複合機。
【請求項２】
システム起動させるに際し、複数のプログラムを動作させることにより起動されるシステムにおいて、電源投入後の初期動作を実行するためのプログラムを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（以下、ＲＯＭ）を有し、プログラムを動作させるための揮発性メインメモリ（以下、メモリ）を有し、さらにシステム起動後に動作するプログラムを格納するハードディスク（以下、ＨＤＤ）等の外部記憶装置を有し、ネットワーク接続するネットワークインタフェースを有するシステムにおいて、同一ネットワーク上に接続されたＰＣなどのサーバと通信する手段と、前記サーバとデータをやり取りする手段と、ＲＯＭ格納のプログラムのバージョンを取得する手段と、ＨＤＤ格納のプログラムのバージョンを取得する手段と、プログラムをＲＯＭに対して書き換える手段と、ネットワーク上に存在するサーバからファームウエアバージョン情報を取得する手段と、そのファームウエアバージョン情報より動作保証をするバージョンを取得する手段と、そのバージョンのファームウエアデータを取得する手段と、そのバージョンのファームウエアの更新することを自動ですることを特徴としたデジタル複合機。
【請求項３】
前記ＲＯＭは、通常時の動作時の場合で、プログラムにより消去及び書き込みが可能な機能を持つフラッシュＲＯＭであることを特徴とした請求項１又は２記載のデジタル複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
１つデジタル複合機の内部で、複数のコントローラが存在し、また１つのコントローラ装置内部に複数のプログラムが存在し、そのプログラムが連携して動作することを前提とするデジタル複合機に関するもの。
【背景技術】
【０００２】
従来のネットワーク接続可能なデジタル複合機において、ファームウエアのバージョンアップ等は、ＲＯＭの交換、ＨＤＤの交換を行っていた。
【０００３】
または、外部Ｉ／Ｆ（セントロニクス、シリアル、ＵＳＢ、ネットワーク）を介して、人為的なアクションによりファームウエアのバージョンアップを行っていた（例えば、特許文献１参照。）。
【特許文献１】特開平０６−２１４９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の技術では、利用者自身または、サービスマンが、意図的にバージョンアップの行為を行う必要が必要あるという人為的な手間を介在する必要があった。
【０００５】
また、システム内部複数のプログラムが相互に連携して動作するシステムのプログラムのバージョン間に発生する整合性の情報を利用者または、サービスマンが熟知している必要があり、不整合を起こす組み合わせのプログラムにバージョンアップした際、動作しなくなる可能性が発生するという問題があった。
【０００６】
プログラムのバージョンアップに関してのオペレーションに関してノウハウ等の必要な知識を利用者およびサービスマンが持つ必要があるという問題があった。
【０００７】
またファームウエアのバージョンアップ作業にサービスマンがユーザ先に出向かなければいけないという手間があった。
【０００８】
本発明は、以上の点に着目して成されたもので、利用者やサービスマンの知識や、ノウハウに依存することなく安全に且つ、自動的にシステムのプログラムをバージョンアップさせるデジタル複合機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
課題を解決する手段として、同一ネットワーク上に同一タイプのデジタル複合機が２つ以上存在するか、バージョンアップ用のファームウエアを格納しているサーバが存在することを前提としている。
【００１０】
ネットワークを介して、同一ネットワーク上に存在する同一タイプのデジタル複合機や、前記サーバと通信する手段と、ファームウエアを受信する手段と、ファームウエア間とバージョン間に依存する整合性の関係を示す情報ファイルを受信する手段と、その情報からファームウエアプログラムをバージョンアップさせるかどうかを判断する手段をもつことにより解決する。
【００１１】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００１２】
（１）システム起動させるに際し、複数のプログラムを動作させることにより起動されるシステムにおいて、電源投入後の初期動作を実行するためのプログラムを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（以下、ＲＯＭ）を有し、プログラムを動作させるための揮発性メインメモリ（以下、メモリ）を有し、さらにシステム起動後に動作するプログラムを格納するハードディスク（以下、ＨＤＤ）等の外部記憶装置を有し、ネットワーク接続するネットワークインタフェースを有するシステムにおいて、同一ネットワーク上に接続された同一種類のシステムと通信する手段と、前記システムとデータをやり取りする手段と、ＲＯＭ格納のプログラムのバージョンを取得する手段と、ＨＤＤ格納のプログラムのバージョンを取得する手段と、プログラムをＲＯＭに対して書き換える手段と、ネットワーク上に存在する同機種デジタル複合機からファームウエアバージョン情報を取得する手段と、そのファームウエアバージョン情報より動作保証をするバージョン情報を取得する手段と、そのバージョンのファームウエアデータを取得する手段と、そのバージョンのファームウエアの更新することを自動ですることを特徴としたデジタル複合機。
【発明の効果】
【００１３】
本発明によれば、同一ネットワーク内の１つのデジタル複合機またはサーバのファームウエアを更新すると、ネットワーク内に接続されるデジタル複合機のすべてが、ユーザの手を介さず自動的にバージョンアップが行われ、且つファームウエア間の動作保証のないバージョンにアップされることによる不具合を防ぐことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施例について図面を参照して説明する。
【実施例１】
【００１５】
図１は、本発明にかかる基本的なシステム構成を示す図である。ただし、図１において、第一の実施例の説明には不要であるが、第二実施例での説明に必要な構成も記述する。
【００１６】
１−１は、デジタル複合機のファームウエアプログラム等を格納しているＰＣやワークステーションなどのサーバである。１−２は、複数のファームウエアの構成により動作するデジタル複合機である。１−３は、１−２と同じ構成を持つデジタル複合機である。１−４は、１−１から１−３のそれぞれの機器を接続されているローカルエリアネットワーク（以下ＬＡＮ）を示す。
【００１７】
図２は、本システムにおける基本的な構成を示すシステムブロック図である。２−１はＣＰＵ、即ち中央処理装置であり、この装置全体の制御及び演算処理等を行うものである。２−２はＲＯＭ即ち読み出し専用メモリであり、システム起動プログラムやプリンタエンジンの制御を行うプログラム及び文字データ、文字コード情報等の記憶領域である。但し、本実施例を実現するために、通常時は、ＲＯＭとして動作するが、プログラムにより消去およぶ書き込みが可能であるフラッシュＲＯＭであることが必要である。
【００１８】
２−３はＲＡＭ即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域で、ダウンロードにより追加登録されたフォントデータが記憶されたり、様々な処理毎にプログラムやデータがロードされ実行される。
【００１９】
２−４は、例えばハードディスク等の外部記憶装置であり、印刷装置か受け付けた印刷ジョブをスプールしたり、プログラムや印刷データ等が格納されたり、作業用の領域として利用されたりする。
【００２０】
２−５は液晶などの表示部であり、印刷装置の設定状態や、現在の印刷装置内部の処理、エラー状態などの表示に使用される。
【００２１】
２−６は操作部であり、印刷装置の設定を変更したり、リセットするために使用される。
【００２２】
２−７はエンジンインターフェイスであり実際にエンジンを制御するコマンド等のやり取りする口である。ここでのエンジンとはスキャナおよびプリンタを指す。
【００２３】
２−８はネットワークインタフェースであり、このインターフェイスを介して機器がネットワークに接続される。
【００２４】
２−９は外部インターフェイスであり、パラレル（またはシリアル）などのインターフェイスを介してホストコンピュータと接続される。
【００２５】
２−１０はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。例えば、スキャナから画像データを読み取り、プリンタから出力するコピー動作は次のようになる。
【００２６】
操作部２−６の入力をきっかけにして、ＲＡＭ２−３に格納されたプログラムが動作を始め、まずエンジンＩ／Ｆ２−７を介してスキャナ２−１１に起動が掛かり原稿の読み取りが始まる。読み取られたイメージデータは一旦ＲＡＭ２−３に格納される。
【００２７】
次にエンジンＩ／Ｆ２−８を介してプリンタに起動が掛かり、プリンタと同期して先ほどＲＡＭ２−３に格納された画像データが出力される。ここでは、一度画像をＲＡＭ２−３に格納し終わってから、プリンタに出力する場合を説明したが、スキャナ２−１１の画像読み取りに同期して、ＲＡＭ２−３への格納とプリンタ２−１２への出力を同時に行うことも考えられる。
【００２８】
また、動作中には操作者に処理中であることを知らせたり、読み取り原稿枚数を通知する情報が表示部２−５には表示される。さらに、格納した画像データをネットワークＩ／Ｆを介して他のプリンタや複写機に転送したり、外部記憶装置２−４に印刷データを不揮発データとして保存することも可能である。
【００２９】
図３は、本実施例におけるデジタル複合機の初期組み立て時に行われるファームウエアのダウンロードの順序を示すフローチャートである。
【００３０】
互いの持つファームウエア間のバージョン情報等の交換し、お互いの持つファームウエア間のバージョン情報を更新する仕組みを説明するフローチャートである。
【００３１】
デジタル複写機では、大きく分けて３つのコントローラが存在し、プリンタエンジン（２−１２）を制御するプリンタコントローラ、スキャナエンジン（２−１１）を制御するスキャナコントローラ、前記２つのコントローラを制御するメインコントローラが存在する。
【００３２】
それぞれのコントローラには、通常１つ、または複数のファームウエアが存在する。例えば、高機能な処理を行うメインコントローラは、ＨＤＤなどからメインプログラムをＬｏａｄするために必要な起動プログラムを格納するファームウエア（以下、ブートロムとする）と前述メインプログラムと２つのファームウエアが存在する。プリンタコントローラのファームウエア（以下、プリンタファームとする）とスキャナコントローラのファームウエア（以下、スキャナファームとする）がある。
【００３３】
デジタル複写機の初期組み立て時は、メインコントローラの初期動作を行うブートロムを装着する（Ｓ３０１）必要がある。最初の処理だけはダウンロードで行うことは出来ない。Ｓ３０１でのブートロム装着後、電源起動し、ブートロムのファームプログラムが、ＨＤＤ（２−４）や、ＬａｎＩ／Ｆ（２−８）をアクセスすることが可能になった状態で、Ｎｅｔｗｏｒｋや、外部Ｉ／Ｆ（２−９）を介して、メインコントローラのファームウエアをダウンロードする（Ｓ３０３）。その後、ＨＤＤ内にメインコントローラのファームをセーブしておく（Ｓ３０４）。
【００３４】
同様にプリンタファームをＬａｎＩ／Ｆ（２−８）や外部Ｉ／Ｆ（２−９）介して、プリンタファームをダウンロードし（Ｓ３０５）、メインコントローラ上のＨＤＤ（２−４）にセーブする（Ｓ３０６）。その後、エンジンＩ／Ｆ（２−７）を介して、プリンタファームの更新を行う（Ｓ３０７）。
【００３５】
同様にスキャナファームをＬａｎＩ／Ｆ（２−８）や外部Ｉ／Ｆ（２−９）介して、スキャナファームをダウンロードし（Ｓ３０８）、メインコントローラ上のＨＤＤ（２−４）にセーブする（Ｓ３０９）。その後、エンジンＩ／Ｆ（２−７）を介して、スキャナファームの更新を行う（Ｓ３１０）。
【００３６】
すべてのファームの更新が終わった時点で、ＨＤＤ（２−４）に格納された各ファームの名前とバージョンの組合せの情報がファイルとしてＨＤＤ（２−４）内にセーブする（Ｓ３１２）。
【００３７】
上記バージョンの組合せ情報とは、図４に示すような、ファームウエア毎のバージョン情報と、図５に示すようなファームウエア間のバージョン依存情報を記述する情報を抱えている。
【００３８】
ここで図５に示す内容の詳細を記載する。
例えば、ブートロムの場合、
Ｂｏｏｔｒｏｍ＝｛
“ＭａｉｎＦｉｒｍ”，０ｘ００１０，０ｘ０１１５，
“ＰｒｉｎｔｅｒＦｉｒｍ”，０ｘ００００，０ｘｆｆｆｆ，
“ＳｃａｎｎｅｒＦｉｒｍ”，０ｘ０００１，０ｘ０１５０，
｝
となるが、現在動作中のＢｏｏｔｒｏｍは、ＭａｉｎＦｉｒｍがバージョン０ｘ００１０から０ｘ１１５までの間の動作を保証する。ＰｒｉｎｔｅｒＦｉｒｍに関しては、０ｘ００００から０ｘｆｆｆｆまでの間の動作を保証する。すなわちＢｏｏｔｒｏｍとＰｒｉｔｅｒＦｉｒｍのバージョン依存性がないことを意味する。ＳｃａｎｎｅｒＦｉｒｍのバージョンに関しては、０ｘ０００１から０ｘ０１５０の間の動作を保証することを意味する。
【００３９】
この情報により動作中のＢｏｏｔｒｏｍと他のファームウエアとの動作保証のバージョン情報を取得することができる。
【００４０】
このバージョン情報は、各ファームウエア内部にデータとして格納されておりＳ３１１の処理で、各ファームウエアのデータから情報を引き出し、情報ファイルを作成する。
【００４１】
図６は、デジタル複合機１−２と１−３の間でお互いのファームウエアのバージョン情報を交換するフローチャートを説明する。
【００４２】
お互いのデジタル複合機の存在は、ブロードキャストパケットを利用して、同機種タイプの存在を取得することが可能である。
【００４３】
ＭＩＢ情報内部に機種Ｃｏｄｅなどの情報を載せたブロードキャストパケットをデジタル複合機１−３から送信し（Ｓ６０１）、ネットワーク内に接続された同機種タイプのデジタル複合機１−２からの返事を待つ（Ｓ６０２）。Ｓ６０１のブロードキャストパケットを受け取った同機種のデジタル複合機１−２は、自身のネットワーク情報を送り返してくるので、その情報をデジタル複合機１−３が取得する（Ｓ６０３）。
【００４４】
Ｓ６０３で受け取ったネットワーク情報を元に、自機１−３のファームウエアバージョン情報（図４，図５）を相手機１−２に送信する（Ｓ６０４）。この処理により相手機１−２は自機のファームウエアバージョン情報を受け取る。
【００４５】
つづいて相手機１−２のファームウエアバージョン情報を取得するため、デジタル複合機１−３はバージョン情報要求を送信する（Ｓ６０５）。送信後は、相手機１−２からのファームウエアバージョン情報の受信を待ち（Ｓ６０６）、取得後相手機のファームウエアバージョン情報を自機１−３のＨＤＤ内に格納する（Ｓ６０７）。
【００４６】
図７は、図６のフローチャートで取得した相手機１−２のファームウエアバージョン情報と、自機１−３のファームウエア情報とを比較判断し、必要なファームウエアデータを取得するフローチャートである。
【００４７】
Ｓ６０６で取得した相手機１−２ファームウエアバージョンと自機１−３ファームウエアバージョン情報とを比較する（Ｓ７０１）。比較のロジックは、相手機１−２の各ファームウエアのバージョンが自機１−３のファームウエアのバージョンより新しいこと。そのファームウエアを更新することで他のファームウエアとの動作保証バージョン内であることを確認する（Ｓ７０２）。
【００４８】
Ｓ７０１の比較でバージョンアップ必要と判断されたファームウエアのデータを相手機１−２に対して要求を送信する（Ｓ７０３）。相手機１−２から、相手機１−２内部のＨＤＤに格納されたファームウエアデータを相手機１−２が送信し、そのデータを自機１−３は受け取る（Ｓ７０４）。データを受け取るとＳ３０２、Ｓ３０４、Ｓ３０６、Ｓ３０９の操作で、ＨＤＤ内部に保存していたファームウエアデータを更新し（Ｓ７０５）、さらに図４、図５で示したファームウエアバージョン情報Ｆｉｌｅを更新（Ｓ７０６）。その後各ファームウエア自身への更新を行う（Ｓ７０７）。
【実施例２】
【００４９】
以下、本発明の第二の実施例について図面を参照して説明する。
【００５０】
第二の実施例は、第一の実施例で相手機１−２と自機１−３との間でファームウエア上情報を交換し、ファームウエアのバージョンアップを行うものであったが、第二の実施例は相手機１−２の役割が、サーバ１−１に置き換わる点が異なる。
【００５１】
サーバには、あらかじめ最新のＢｏｏｔｒｏｍ、ＭａｉｎＦｉｒｍ、ＰｒｉｎｔｅｒＦｉｒｍ、ＳｃａｎｎｅｒＦｉｒｍ、および図４で示したファームウエア毎のバージョン情報と、図５で示した、ファームウ間のバージョン依存情報がすでにＦｉｌｅとしてサーバ内ＨＤＤ内に保持されている。
【００５２】
一方自機１−３は、図３のフローチャートで示した手順でファームウエアデータおよびファームウエア情報を自機１−３内のＨＤＤ内部に所有している。
【００５３】
図８は、本実施例における自機１−３がサーバの所在を知る手法とサーバから必要なファームウエアのダウンロードを行う手法を示すフローチャートである。
【００５４】
自機１−３は、ブロードキャストパケットを利用して、サーバの存在を取得することが可能である。
【００５５】
ＭＩＢ情報内部に機種Ｃｏｄｅなどの情報を載せたブロードキャストパケットをデジタル複合機１−３から送信し（Ｓ８０１）、ネットワーク内に接続されたのサーバ１−１からの返事を待つ（Ｓ８０２）。Ｓ８０１のブロードキャストパケットを受け取ったサーバ１−１は、自身のネットワーク情報を送り返してくるので、その情報をデジタル複合機１−３が取得する（Ｓ８０３）。
【００５６】
Ｓ８０３で受け取ったネットワーク情報を元に、自機１−３は、サーバの持つファームウエアバージョン情報（図４，図５）をサーバ１−１に要求する（Ｓ８０４）。
【００５７】
送信後は、サーバ１−１からのファームウエアバージョン情報の受信を待ち（Ｓ８０５）、取得後サーバ１−１のファームウエアバージョン情報を自機１−３のＨＤＤ内に格納する（Ｓ８０６）。
【００５８】
図９は、図８のフローチャートで取得したサーバ１−１のファームウエアバージョン情報と、自機１−３のファームウエア情報とを比較判断し、必要なファームウエアデータを取得するフローチャートである。
【００５９】
Ｓ８０６で取得したサーバ１−１の持つファームウエアバージョンと自機１−３ファームウエアバージョン情報とを比較する（Ｓ９０１）。比較のロジックは、サーバ１−１の持つ各ファームウエアのバージョンが自機１−３のファームウエアのバージョンより新しいこと。そのファームウエアを更新することで他のファームウエアとの動作保証バージョン内であることを確認する（Ｓ９０２）。
【００６０】
Ｓ９０２の比較でバージョンアップ必要と判断されたファームウエアのデータをサーバ１−１に対して要求を送信する（Ｓ９０３）。サーバ１−１から、サーバ１−１のＨＤＤに格納されたファームウエアデータをサーバ１−１が送信し、そのデータを自機１−３は受け取る（Ｓ９０４）。データを受け取るとＳ３０２、Ｓ３０４、Ｓ３０６、Ｓ３０９の操作で、ＨＤＤ内部に保存していたファームウエアデータを更新する（Ｓ９０５）および、ファームウエア情報を更新する（Ｓ９０６）。その後各ファームウエア自身への更新を行う（Ｓ９０７）。
【図面の簡単な説明】
【００６１】
【図１】ネットワークシステムの構成を示すブロック図
【図２】基本的な構成を示すブロック図
【図３】第一の実施例におけるフローチャートその１
【図４】デジタル複合機内のファームウエアの各バージョン情報を示す図
【図５】デジタル複合機内のファームウエアのバージョン間による動作保証バージョン情報を示す図
【図６】第一の実施例におけるフローチャートその２
【図７】第一の実施例におけるフローチャートその３
【図８】第二の実施例におけるフローチャートその１
【図９】第二の実施例におけるフローチャートその２
【符号の説明】
【００６２】
１−１    サーバ
１−２    デジタル複合機（相手機）
１−３    デジタル複合機（自機）
１−４    ＬＡＮ（ローカルエリアネットワーク）
２‐１    ＣＰＵ
２‐２    ＲＯＭ
２‐３    ＲＡＭ
２‐４    外部記憶装置
２‐５    表示部
２‐６    操作部
２‐７    エンジンインターフェイス
２‐８    ネットワークインタフェース
２‐９    外部インターフェイス
２‐１０    システムバス
２‐１１    スキャナ
２‐１２    プリンタ
【図１】
2006129362.tif 000003
【図２】
2006129362.tif 000004
【図３】
2006129362.tif 000005
【図４】
2006129362.tif 000006
【図５】
2006129362.tif 000007
【図６】
2006129362.tif 000008
【図７】
2006129362.tif 000009
【図８】
2006129362.tif 000010
【図９】
2006129362.tif 000011