複数のパッケージからならファームウェアと、前記パッケージ単位で前記ファームウェアを更新する通常アップデート手段と、前記パッケージに含まれるファイルの差分を抽出する手段と、前記抽出したファイルの差分のみを転送する事で更新する差分アップデート手段とを有し、差分アップデートに対応していないファイルに関しては通常アップデートを行い、差分アップデートに対応しているファイルに関しては適切な差分抽出方法を選択する事で、アップデートを実施する事を特徴とする画像形成装置。予め定義された設定に基づいて、差分アップデートに対応しているか否かを実行時に切り替える事を特徴とする請求項1に記載の画像形成装置。予め定義された設定に基づいて、差分の抽出方法を実行時に切り替える事を特徴とする請求項1に記載の画像形成装置。組み込みファームへファイル内の差分を転送する差分アップデートでは課題がある。汎用ファイルシステムを採用する組み込みシステムであっても、全てのファームウェアをフィルシステム上に配置するわけではない。複合機においてはBIOS、ブートローダ、ファックスボード、エンジン制御ボードなどがメインコントローラファームとは別の不揮発メモリに格納されている場合が想定できる。この場合はファイルの形式で現状のファームを保持していないため、差分のみ取得しても更新対象のファームを構築する事ができない。これらの外部メモリに保持されているファームを差分更新するためには、外部メモリを更新する外部システムが差分のみを受け取り更新する構成も考えられる。しかし、複合機の例ではそれらのシステムはとても小さい事が想定されえるため、差分更新機能を実施するメリットがない。汎用ファイルシステム上にファイルの形式で配置される場合であっても、一律にディスアセンブルするわけにはいかない。例えばテキストファイルなどであれば単純に差分を取ればよく、ファイル形式毎に適切な差分抽出方法が存在する。上記課題を解決するために以下の構成によるシステムを提供する。複数のパッケージからならファームウェアと、前記パッケージ単位で前記ファームウェアを更新する通常アップデート手段と、前記パッケージに含まれるファイルの差分を抽出する手段と、前記抽出したファイルの差分のみを転送する事で更新する差分アップデート手段とを有し、差分アップデートに対応していないファイルに関しては通常アップデートを行い、差分アップデートに対応しているファイルに関しては適切な差分抽出方法を選択する事で、アップデートを実施する事を特徴とする画像形成装置。さらに予め定義された設定に基づいて、差分アップデートに対応しているか否かを実行時に切り替える事を特徴とする画像形成装置。さらに予め定義された設定に基づいて、差分の抽出方法を実行時に切り替える事を特徴とする画像形成装置。上記制御を行う事で、ユーザは最適化された速度でファームウェアの更新処理を実施する画像形成装置を提供する事ができる。[実施例1]以下、本発明の実施の形態を図面に基づいて詳説する。ここでは画像形成装置を例に実施例を説明するが、本発明は計算機システム全般に適用可能な技術である。図1は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置データ処理装置の一実施の形態を示すブロック構成図である。該画像入出力装置1は、イーサネット登録商標等のLANLocalAreaNetwork400にてのホストコンピュータ本実施の形態では第一、第二のホストコンピュータ34に接続されている。即ち、上記画像入出力システム装置1は、画像データの読取処理を行うリーダ部2と、画像データの出力処理を行うプリンタ部6を有する。また、及び画像データや各種機能の表示などを行う液晶パネルを備えた操作部7と、制御プログラムや画像データ等が予め書き込まれたハードディスクドライブ8及び9を装着する。これら各構成要素に接続されて該構成要素に接続されて該構成要素を制御する単一の電子部品からなるコントローラ部110とから構成されている。さらにリーダ部2は原稿用紙を搬送する原稿給紙ユニット部10と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナ部11とを有する。プリンタ部6は記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット部12と画像データを記録用紙に転写、定着するマーキングユニット13を有する。さらに、印字された記録用紙にソート処理やステイプル処理を施して、外部に排出する排紙ユニット部14とを有している。図2はリーダ部2及びプリンタ部6の詳細を示す内部構造であって、リーダ部5はプリンタ部6に載置されている。そして、リーダ部2では、原稿給送ユニット210に積層された原稿用紙がその積層順にしたがって、先頭から順次1枚ずつプラテンガラス215上に給送される。スキャナユニット11で所定の読取動作が終了した後、該読み取られた原稿用紙はプラテンガラス215上から原稿給送ユニット210に排出される。また、上記スキャナユニット11では、原稿用紙がプラテンガラス215上に搬送されてくるとランプ216が点灯し、次いで光学ユニット217の移動を開始させ、読み取り位置で固定する。光学ユニット217は搬送される原稿用紙を下方から照射し、走査する。そして、原稿用紙からの反射光は、複数のミラー218~220、及びレンズ221を介してCCDイメージセンサー以下、単にCCDと記す222へと導かれ、走査された原稿画像はCCD222によって読み取られる。そして、CCD222で読み取られた画像データは、所定の処理が施された後、コントローラユニット110図2では図示省略に転送される。あるいは、原稿プラテン上に載置された原稿を同様にランプ216を点灯し、次いで光学ユニット217の移動を開始させ、原稿用紙を下方から照射し、走査することで、走査された原稿画像をCCD222によって読み取ることが可能である。以上の手順で送出されたリーダからの画像データは、コネクタ56を介してコントローラ部110に送出される。次いで、プリント部6では、コントローラ部110から出力された画像データに対応するレーザ光が、不図示のレーザドライバ23により駆動されるレーザ発行部224から発行される。該レーザ光はマーキング部13の感光ドラム225にはレーザ光に応じた静電潜像が形成され、現像器226により前記静電潜像の部分に現像剤が付着する。一方、レーザ光の照射開始と同期したタイミングで、給紙部12給紙カセット212a212bから記録用紙が給紙されて転写部227に搬送され、感光ドラム225に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は定着部228に搬送され、定着部228における加熱加圧処理により画像データが記録紙に定着される。そして、画像データを記録用紙に片面記録する場合は、定着部228を通過した記録用紙が排出ローラ229によってそのまま排紙ユニット14に排出される。排紙ユニット14は排出された記録用紙を束ねて記録用紙の仕分けを行い、また、仕分けされた記録用紙のステイプル処理を行う。また、画像データを記録用紙に両面記録する場合は、排出ローラ229まで記録用紙を搬送した後、該は移出ローラ229の回転方向を逆転させる。その後、フラッパ230によって再給紙搬送路231へと導かれ、該再給紙搬送路231に導かれた記録用紙は上述と同様にして転写部227に搬送される。コントローラ部110は、上述したように単一の電子部品で構成される。リーダ部2読み取った画像データをコードに変換し、LAN400を介して第一及び第二のホストコンピュータ3、4に送信するスキャナ機能を有する。さらに、ホストコンピュータ3、4から不図示のLAN2を介して受信したコードデータを画像データに変換し、プリンタ部6に出力するプリンタ機能、その他の機能ブロックを有している。図3はコントローラ部110の詳細を示すブロック図である。メインコントローラ32は、CPU33とバスコントローラ34と後述する各種コントローラ回路を含む機能ブロックとを内蔵する。さらに、DRAMI/F37を介してDRAM38と接続される。さらに、コーデックI/F39を介してコーデック40と接続され、また、ネットワークI/F41を介してネットワークコントローラ42と接続されている。DRAM38は、CPU33が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック40はDRAM38に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック40にはSRAM43が接続されており、該SRAM43は前記コーデック40の一時的な作業領域として使用される。ネットワークコントローラ42は、ネットワークコネクタ44を介してLAN400との間で所定の制御動作を行う。また、前記メインコントローラ32はスキャナバス45を介してスキャナI/F46に接続され、プリンタバス47を介してプリンタI/F48に接続される。さらにPCIバス等の汎用高速バス49を介して拡張ボードを接続するための拡張コネクタ50及び入出力制御部I/O制御部51に接続されている。I/O制御部51はリーダ部2やプリンタ部6との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ52が2チャンネル装備されている。該シリアル通信コントローラ52はI/Oバス53を介してスキャナI/F46及びプリンタI/F48に接続されている。スキャナI/F48は、第一の調歩同期シリアルI/F54及び第一のビデオI/F55を介してスキャナコネクタ56に接続され、さらに該スキャナコネクタ56はリーダ部2のスキャナユニット11に接続されている。そして、スキャナI/F46はスキャナ部11から受信した画像データに対し所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行う。またスキャナ部11から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス45を介してメインコントローラ32に転送する。また、プリンタI/F48は、第2の調歩同期シリアルI/F57及び第2のビデオI/F58を介してプリンタコネクタ59に接続され、さらに該プリンタコネクタ59はプリンタ部6のマーキングユニット13に接続されている。そして、プリンタIF48はメインコントローラ32から出力された画像データにスムージング処理を施して該画像データをマーキングユニット13に出力する。さらにマーキングユニット13から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス47に出力する。例えば、第1及び第2のホストコンピュータ3、4から受信したPDLページ記述言語データを解釈し、ラスターイメージデータに展開処理を行う。また、バスコントローラ34は、スキャナI/F46プリンタI/F48、その他拡張コネクタ50等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション調停やDMAデータ転送の制御を行う。即ち、例えば、上述したDRAM38とコーデック40との間のデータ転送や、スキャナ部5からDRAM38へのデータ転送、DRAM38からマーキングユニット13へのデータ転送等は、バスコントローラ34によって制御され、DMA転送される。また、I/O制御部51は、LCDコントローラ60及びキー入力I/F61を介してパネルI/F62は操作部7に接続されている。またE-IDEコネクタ63を介してハードディスクドライブ8及び9に接続され、さらに、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール64に接続されている。尚、リアルタイムクロックモジュール64はバックアップ用電池65に接続されて該バックアップ用電池65によりバックアップされている。さらに、E-IDEコネクタ63を介してFlashメモリ99に接続され、Flashメモリはメインコントローラ制御用の各種制御プログラム及び、各種データ記憶領域を記憶する。次に図4を用いて異常検知に関わる構成について説明する。MFP10001はアップデート対象の機器である。ファームウェア配置領域10002はMFPを制御するファームウェアファイル10003を配置する場所であり、ファームウェアファイル10003を起動する事でMFPは動作する。ファームウェア一時保存領域10004はアップデート時にファーム配信サーバ10002から取得したファームウェアを一時的に保持する領域である。抽出処理テーブル10007はファイル種別毎に適切な差分抽出方法を定義したテーブルであり、差分の反映時に反映前処理を決定するために用いる。アップデートモジュール10008はMFP10001のアップデート機能を制御するモジュールである。FAXボード10014はMFPのファックスデバイスを制御するためのボードであり、独立したCPUとファーム格納領域を内部に持つ。パッケージ情報配置領域10013はファームウェア配置領域10002へ配置したファームウェア、およびFAXボード10014に配置したファームウェアに対応するパッケージのバージョン情報を保持する領域である。ファーム配信サーバ10002はMFP10001へアップデート用のファームウェアを配信するサーバである。ファームウェア記憶領域10009は配信するためのファームウェアを配置する場所であり、アップデート前に予め配信対象のファイルを保持しておくための領域である。DIFFファイル10010は差分の形式で適用するべきパッケージの差分情報ファイルであり、MFP10001に転送された後はDIFFファイル10005として保持される。パッケージファイル10012はパッケージの形式で適用するべきパッケージのパッケージファイルであり、MFP10001に転送された後はパッケージファイル10006として保持される。BIOS、ブートローダ、ファックスボード制御ソフト、エンジン制御ボード制御ソフトなどの差分アップデート適用範囲外のファームに関してはパッケージ形式で適用する必要がある旨の情報をパッケージ情報記憶領域10011に保持する。パッケージ情報記憶領域10011はMFP10001に対して適用するべきパッケージがどれであるのかを定義した情報である。次に図5を用いて抽出処理テーブルの内部構造を説明する。抽出処理テーブル21000はファイル種別毎に差分抽出方法を定義したテーブルである。例えば、Executable、Dynamiclinklibrary形式であれば、ディスアセンブルしてアセンブリ記述に変換した後に比較する事で差分を抽出する形式である事が記述されている。同様に、JAVA登録商標archive形式であればunzipして比較する事で差分を抽出する形式である事が記述されている。同様に、Shellscript、Configfile形式であれば単純比較する事で差分を抽出する形式である事が記述されている。MFP内で差分を適用するためには、この記述に従う形で差分を適用する必要がある。ファーム配信サーバに配置するDIFFファイルも同様のルールで作成された差分により構成する。次に図6を用いてDIFFファイルの内部構造を説明する。DIFFファイル22000は属性として更新前のパッケージバージョン、更新後のパッケージバージョン、パッケージに含まれるファイルのタイプ、差分の内容、パッケージ名をそれぞれ持つ。次に図7を用いてアップデート処理に関わるフローを説明する。ステップ20001でアップデートモジュール10008はアップデート処理を開始する。ステップ20002でアップデートモジュール10009はファーム配信サーバ10002に対して、パッケージ情報配置領域10013に配置されたバージョン情報を送信する。ステップ20003でファーム配信サーバ10002からファームウェアをDIFFファイル10005、およびパッケージファイル10006として受信する。この時、アップデート対象とならなかったパッケージに対応するファームウェアは転送しないことで、パッケージ単位でのバージョンアップを実現する。ステップ20004で受信したファームウェアのファイル形式を確認する。ステップ20005でDIFFファイル10005と判断しなかった場合には、パッケージの内容で上書きする必要があるのでパッケージを展開し、ファイルを抽出しFAXボードへ転送する。ステップ20006でDIFFファイル10005と判断した場合はDIFFファイル10005に記述されたファイル種別と抽出テーブル10007と比較する事で、抽出方法を特定する。ステップ20007で差分抽出方法がunzipと判断した場合は、ステップ20011へ遷移しファームウェア配置領域10002に格納された対応するファイルをunzipする。その後、DIFFファイル10005のDiffcontentsの内容を適用し、再びzip処理する事で更新の適用を実施する。ステップ20008で差分抽出方法がdisassembleと判断した場合は、ステップ20012へ遷移しファームウェア配置領域10002に格納された対応するファイルをディスアセンブルする。その後、DIFFファイル10005のDiffcontentsの内容を適用し、再びサセンブル処理する事で更新の適用を実施する。ステップ20008で差分抽出方法がdisassembleと判断されなかった場合は、ファームウェア配置領域10002に格納された対応するファイルに差分を適用する事で更新を実施する。ステップ20013でファイルの更新が完了するとパッケージ情報配置領域10013のパッケージバージョン情報を更新し、更新処理を完了する。[実施例2]次に差分抽出方法の特定をDIFFファイルから行わない場合の実施例を説明する。この場合は図6記載のDIFFファイル構成のFiletype属性は持たない。これにより配信対象のファイルの容量をさらに減らすことができる。アップデート処理は概ね実施例1と同一であるが、図7記載のステップ20004においてファームウェアファイルの形式を確認する手段が異なる。具体的には、パッケージ名から現状のファームウェアファイルを特定し、POSIXのfileコマンドなどでファイルタイプを特定する事で、抽出処理テーブルとの照合を行い、差分抽出を実施する。これにより、MFP10001にfileコマンドの配置とその実行コストがかかってしまうが、転送量を実施例1よりも減らすことが可能である。以上制御を行う事で、ユーザは高速なアップデートを実現する事ができる。