(57)【要約】【課題】画像形成プログラムや画像形成ドライバの更新を、専用の管理サーバなどを設けずに管理し、適正な組み合わせの更新を実現する。【解決手段】外部サーバと通信可能に構成された画像形成装置であり、画像形成装置のシステム情報および画像形成プログラムのバージョン情報を外部サーバに対して送信する送信制御手段と、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備える。【選択図】      図１
2004355596.tif 000002
【特許請求の範囲】
【請求項１】
画像形成プログラムおよび画像形成ドライバを管理する外部サーバと通信可能に構成され、画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置であって、
画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、
前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、
前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、
前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項１記載の画像形成装置。
【請求項３】
複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、
前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、
指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項１または請求項２のいずれかに記載の画像形成装置。
【請求項４】
操作入力がなされる操作手段を備え、
前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、
ことを特徴とする請求項３記載の画像形成装置。
【請求項５】
操作入力がなされる操作手段を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、
ことを特徴とする請求項３または請求項４のいずれかに記載の画像形成装置。
【請求項６】
前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、
ことを特徴とする請求項１乃至請求項５のいずれかに記載の画像形成装置。
【請求項７】
前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、
ことを特徴とする請求項１乃至請求項６のいずれかに記載の画像形成装置。
【請求項８】
前記受信制御手段は、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置。
【請求項９】
操作入力がなされる操作手段を備え、
前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置。
【請求項１０】
前記受信制御手段は、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置。
【請求項１１】
前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置。
【請求項１２】
画像形成プログラムおよび画像形成ドライバを管理する外部サーバと、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置と、からなる画像形成プログラム・ドライバ管理システムであって、
前記外部サーバは、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを格納する格納手段と、前記画像形成装置からの求めに応じて、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記画像形成装置に対して送信する通信手段と、を備え、
前記画像形成装置は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備えた、
ことを特徴とする画像形成プログラム・ドライバ管理システム。
【請求項１３】
前記画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、
前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項１２記載の画像形成プログラム・ドライバ管理システム。
【請求項１４】
前記画像形成装置は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備えて構成され、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項１２または請求項１３のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項１５】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、
ことを特徴とする請求項１４記載の画像形成プログラム・ドライバ管理システム。
【請求項１６】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、
ことを特徴とする請求項１４または請求項１５のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項１７】
前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、
ことを特徴とする請求項１２乃至請求項１６のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項１８】
前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、
ことを特徴とする請求項１２乃至請求項１７のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項１９】
前記画像形成装置の前記受信制御手段は、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項２０】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項２１】
前記画像形成装置の前記受信制御手段は、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項２２】
前記画像形成装置の前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、
ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項２３】
画像形成プログラムおよび画像形成ドライバを管理する複数の外部サーバと通信可能に構成され、画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置であって、
該画像形成装置が通信すべきダウンロードサーバを前記複数の外部サーバの中から決定するダウンロードサーバ決定手段と、
画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、
前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報を前記外部サーバから受信すると共に、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する受信制御手段と、
前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、
前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、
を備え、
前記ダウンロードサーバ決定手段は、外部サーバからの更新通知あるいは予め定められた順位テーブルに含まれるアクセス順位を参照して、通信すべきダウンロードサーバを前記複数の外部サーバの中から決定する、
ことを特徴とする画像形成装置。
【請求項２４】
前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項２３記載の画像形成装置。
【請求項２５】
複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、
前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、
指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項２３または請求項２４のいずれかに記載の画像形成装置。
【請求項２６】
操作入力がなされる操作手段を備え、
前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、
ことを特徴とする請求項２５記載の画像形成装置。
【請求項２７】
操作入力がなされる操作手段を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、
ことを特徴とする請求項２５または請求項２６のいずれかに記載の画像形成装置。
【請求項２８】
前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、
ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置。
【請求項２９】
前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、
ことを特徴とする請求項２３乃至請求項２８のいずれかに記載の画像形成装置。
【請求項３０】
前記受信制御手段は、前記外部サーバからの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項２３乃至請求項２９のいずれかに記載の画像形成装置。
【請求項３１】
操作入力がなされる操作手段を備え、
前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項２３乃至請求項２９のいずれかに記載の画像形成装置。
【請求項３２】
前記受信制御手段は、操作者によるダウンロードサーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置。
【請求項３３】
前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置。
【請求項３４】
前記ダウンロードサーバが正しい配布元であるかについての認証を行う認証手段を備え、
前記認証手段は、画像形成プログラム、ならびに、画像形成ドライバを受信したダウンロードサーバが正しい配布元であるかについての認証を行う、
ことを特徴とする請求項２３乃至請求項３３のいずれかに記載の画像形成装置。
【請求項３５】
画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての検出を行う改ざん検出手段を備え、
前記改ざん検出手段は、受信された画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての認証を行う、
ことを特徴とする請求項２３乃至請求項３３のいずれかに記載の画像形成装置。
【請求項３６】
画像形成プログラムおよび画像形成ドライバを管理する複数の外部サーバと、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置と、からなる画像形成プログラム・ドライバ管理システムであって、
前記外部サーバは、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを格納する格納手段と、前記画像形成装置からの求めに応じて、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記画像形成装置に対して送信する通信手段と、を備え、
前記画像形成装置は、該画像形成装置が通信すべきダウンロードサーバを前記複数の外部サーバの中から決定するダウンロードサーバ決定手段と、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、適正組み合わせ情報を前記外部サーバから受信すると共に、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備えて、前記ダウンロードサーバ決定手段は、外部サーバからの更新通知あるいは予め定められた順位テーブルに含まれるアクセス順位を参照して、通信すべきダウンロードサーバを前記複数の外部サーバの中から決定する、
ことを特徴とする画像形成プログラム・ドライバ管理システム。
【請求項３７】
前記画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、
前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項３６記載の画像形成プログラム・ドライバ管理システム。
【請求項３８】
前記画像形成装置は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備えて構成され、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、
ことを特徴とする請求項３６または請求項３７のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項３９】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、
ことを特徴とする請求項３８記載の画像形成プログラム・ドライバ管理システム。
【請求項４０】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、
ことを特徴とする請求項３８または請求項３９のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４１】
前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、
ことを特徴とする請求項３６乃至請求項４０のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４２】
前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、
ことを特徴とする請求項３６乃至請求項４１のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４３】
前記画像形成装置の前記受信制御手段は、前記外部サーバからの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４４】
前記画像形成装置は、操作入力がなされる操作手段を備え、
前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４５】
前記画像形成装置の前記受信制御手段は、操作者によるダウンロードサーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４６】
前記画像形成装置の前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、
ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４７】
前記画像形成装置側に、前記ダウンロードサーバが正しい配布元であるかについての認証を行う認証手段を備え、
前記認証手段は、画像形成プログラム、ならびに、画像形成ドライバを受信したダウンロードサーバが正しい配布元であるかについての認証を行う、
ことを特徴とする請求項３６乃至請求項４６のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【請求項４８】
前記画像形成装置側に、画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての検出を行う改ざん検出手段を備え、
前記改ざん検出手段は、受信された画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての認証を行う、
ことを特徴とする請求項３６乃至請求項４６のいずれかに記載の画像形成プログラム・ドライバ管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像形成装置及びその画像形成プログラム・ドライバ管理システムに関し、画像形成装置内部で用いられる画像形成プログラムと画像形成装置をで使用するクライアントＰＣで用いられる画像形成ドライバ（プリンタドライバ、スキャナドライバ）とを管理するための画像形成装置および画像形成プログラム・ドライバ管理システムに関する。
【０００２】
また、本発明は、画像形成装置及びその画像形成プログラム・ドライバ管理システムに関し、画像形成装置内部で用いられる画像形成プログラムと画像形成装置をで使用するクライアントＰＣで用いられる画像形成ドライバ（プリンタドライバ、スキャナドライバ）とを管理するための画像形成装置および画像形成プログラム・ドライバ管理システムであって、複数のサーバに対応したものに関する。
【０００３】
【従来の技術】
従来、画像形成装置のシステムの動作制御に用いられるプログラムは、固定のプログラムはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に、バージョンアップが行われるプログラムは、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）等の電気的に書き換え可能な不揮発性の半導体メモリ、あるいは、ハードディスク装置などの大容量記憶装置に記憶されている。
【０００４】
なお、ここでは、不揮発性の半導体メモリも、ハードディスク装置などの大容量記憶装置も、併せて不揮発性メモリと呼ぶことにする。また、不揮発性の半導体メモリに格納された状態のプログラム（ファームウェア）も、本願明細書では単にプログラムと呼ぶことにする。
【０００５】
また、ここで、「プログラム」とは、バイオス（ＢＩＯＳ：Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のような、起動時に基本的な入出力を行うプログラムのほか、画像形成動作の基本アプリケーションプログラム、画像形成動作の応用アプリケーションプログラム、などが含まれる。
【０００６】
そして、プログラムを不揮発性メモリに記憶しておくことにより、バージョンアップ等のプログラム変更時にいちいちＲＯＭや大容量記憶装置を交換をする必要がなくなり、プログラムを外部あるいは通信ネットワークを利用して遠隔地からダウンロードして書き換えることが可能になる。
【０００７】
なお、画像形成装置の起動時などに、画像形成装置が通信回線を介して定期的にホスト装置にアクセスし、自己のプログラムを最新バージョンに更新するシステムが、以下の特許文献１に記載されている。
【０００８】
また、画像形成装置にて、クライアントＰＣが使用するプリンタドライバを管理する手法が以下の特許文献２に記載されている。ここで、「ドライバ」とは、クライアントＰＣのＯＳやアプリケーションに新たな機能を追加したり、機能を拡張する際に、その橋渡しをするソフトウェアであり、ハードウェアを追加したときに使う「デバイスドライバ」を指している。ここで、クライアントＰＣが使用するＯＳが異なる場合、ドライバもそのＯＳ専用のものを使用しなければならない場合がある。
【０００９】
また、画像形成装置のプログラム（ファームウェア）のバージョンと、クライアントＰＣが使用するプリンタドライバのバージョンとには適正な組み合わせが存在しており、組み合わせが適正でないと正常な動作が期待できない。このような場合に、画像形成装置のプログラム（ファームウェア）のバージョンと、クライアントＰＣが使用するプリンタドライバのバージョンとを管理する手法が以下の特許文献３に記載されている。
【００１０】
また、プログラムやドライバをダウンロードすることに関し、同様な技術が以下に記載する特許文献４、特許文献５、および、特許文献６にも記載されており、各種の提案がなされている。
【００１１】
【特許文献１】
特開平１０−２１０６０号公報（第１頁、図１）
【特許文献２】
特開２００１−５１８１０号公報（第１頁、図１）
【特許文献３】
特開２００１−２４９７７７号公報（第１頁、図１）
【特許文献４】
特開２００１−２４９８１５号公報（第１頁、図１）
【特許文献５】
特開２００１−２６５５９９号公報（第１頁、図１）
【特許文献６】
特開平８−１２５７９４号公報（第１頁、図１）
【００１２】
【発明が解決しようとする課題】
上述した特許文献１には、いずれも書き換え失敗時のリカバリについては記述されていない。しかし、ネットワークを介してプログラムの書き換えを行う場合には、通信中などにダウンロードの失敗が起こりやすい。また、更新したプログラム自体に問題がある場合もある。
【００１３】
なお、上記特許文献１の問題を解決するものとして、特開２００１−１１７７８０には、バージョンアップ時に、プログラム動作用メモリを直接書き換えず、別メモリに更新用のプログラムをダウンロードして、動作用メモリを別メモリに切り換える技術が開示されている。この技術によれば、書き換え前のプログラムを残しているので、ダウンロードに失敗した場合や、ダウンロードしたプログラム自体に問題が起こった場合に、更新前のプログラムに切り換えることにより、アクシデントに短時間に対処することができる。
【００１４】
しかしながら、実際には、画像形成装置の動作制御のためのプログラムには、例えば、本体、ＡＤＦ（自動書類送り出し装置）、ＦＮＳ（フィニッシャ）に関するプログラム等、複数のプログラムがあり、各プログラムの書き換え後の組み合わせが悪い場合、動作エラーとなることがある。従って、各単体プログラムの更新前後の管理をするだけでは、このような動作エラーには対応することはできない。
【００１５】
また、以上の特許文献２の手法では、クライアントＰＣが使用するプリンタドライバを管理することができるが、画像形成装置のプログラム（ファームウェア）のバージョンと、クライアントＰＣが使用するプリンタドライバのバージョンとには適正な組み合わせについては全く配慮されておらず、適正な動作を確保することが困難であるという問題がある。
【００１６】
また、画像形成装置のプログラム（ファームウェア）のバージョンと、クライアントＰＣが使用するプリンタドライバのバージョンとには適正な組み合わせについて上記特許文献３の手法で対処することができるようになるが、画像形成装置やクライアントＰＣの近傍に専用の管理サーバを設ける必要がある。そして、管理者などが、プログラムやプリンタドライバをメーカーのサポートセンターなどからダウンロードして、上述した管理サーバに蓄積しておく必要があった。
【００１７】
さらに、以上の特許文献２記載の手法では、更新通知メールでサーバのアドレスが指定されている。このため、悪意による更新通知メールによって偽のサーバに接続を促され、改ざんされたドライバやプログラムをダウンロードしてしまう事態が発生しうるという問題を有している。
【００１８】
また、以上の特許文献４記載の手法では、クライアントＰＣ側にサーバのアドレスが登録されているため、既に登録されているサーバに問題が発生した場合には、プログラムをダウンロードすることができなくなる問題を有している。
【００１９】
また、以上の特許文献５記載の手法では、プログラム異常時（ダウンロード転送エラーや、停電によるメモリ消失など）は際ダウンロードする構成になっており、同じサーバにアクセスが繰り返されることになり、サーバおよびネットワークが混雑する問題を有している。
【００２０】
また、以上の特許文献６記載の手法では、管理装置側でユーザＩＤの認証を行うようことで登録済みＩＤのみ使用できるようにしているが、ユーザ側でダウンロードしたプログラムやドライバが正しいもの（正しい内容、正しい配布元からのもの）かを認証する仕組みは提案されていなかった。
【００２１】
本発明の課題は、上述した各種の問題点に鑑みてなされたものであって、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、画像形成プログラムとドライバとの適正な組み合わせの更新をすることが可能な画像形成装置及びその画像形成プログラム・ドライバ管理システムを実現することである。
【００２２】
また、本発明の課題は、上述した各種の問題点に鑑みてなされたものであって、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能な画像形成装置及びその画像形成プログラム・ドライバ管理システムを実現することである。
【００２３】
また、本発明の課題は、上述した各種の問題点に鑑みてなされたものであって、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、サーバの混雑を招かずに実行することが可能な画像形成装置及びその画像形成プログラム・ドライバ管理システムを実現することである。
【００２４】
また、本発明の課題は、上述した各種の問題点に鑑みてなされたものであって、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）をダウンロードした場合に、ダウンロードした画像形成装置側で正しいものかを検証することが可能な画像形成装置及びその画像形成プログラム・ドライバ管理システムを実現することである。
【００２５】
【課題を解決するための手段】
上述した課題は、以下に述べるそれぞれの解決手段によって解決される。
【００２６】
（１）請求項１記載の発明は、画像形成プログラムおよび画像形成ドライバを管理する外部サーバと通信可能に構成され、画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置であって、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備えたことを特徴とする画像形成装置である。
【００２７】
また、請求項１２記載の発明は、画像形成プログラムおよび画像形成ドライバを管理する外部サーバと、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置と、からなる画像形成プログラム・ドライバ管理システムであって、前記外部サーバは、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを格納する格納手段と、前記画像形成装置からの求めに応じて、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記画像形成装置に対して送信する通信手段と、を備え、前記画像形成装置は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備えた、ことを特徴とする画像形成プログラム・ドライバ管理システムである。
【００２８】
これらの発明では、画像形成装置は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信し、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【００２９】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００３０】
（２）請求項２記載の発明は、前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項１記載の画像形成装置である。
【００３１】
また、請求項１３記載の発明は、前記画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項１２記載の画像形成プログラム・ドライバ管理システムである。
【００３２】
これらの発明では、上記（１）において、画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、クライアントＰＣから印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【００３３】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００３４】
（３）請求項３記載の発明は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項１または請求項２のいずれかに記載の画像形成装置である。
【００３５】
また、請求項１４記載の発明は、前記画像形成装置は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備えて構成され、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項１２または請求項１３のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００３６】
これらの発明では、上記（１）、（２）において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣに配信する。
【００３７】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【００３８】
（４）請求項４記載の発明は、操作入力がなされる操作手段を備え、前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、ことを特徴とする請求項３記載の画像形成装置である。
【００３９】
また、請求項１５記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、ことを特徴とする請求項１４記載の画像形成プログラム・ドライバ管理システムである。
【００４０】
これらの発明では、上記（３）において、画像形成装置は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。
【００４１】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【００４２】
（５）請求項５記載の発明は、操作入力がなされる操作手段を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、ことを特徴とする請求項３または請求項４のいずれかに記載の画像形成装置である。
【００４３】
また、請求項１６記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、ことを特徴とする請求項１４または請求項１５のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００４４】
これらの発明では、上記（３）または（４）において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣに配信するようにしている。
【００４５】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【００４６】
（６）請求項６記載の発明は、前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、ことを特徴とする請求項１乃至請求項５のいずれかに記載の画像形成装置である。
【００４７】
また、請求項１７記載の発明は、前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、ことを特徴とする請求項１２乃至請求項１６のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００４８】
これらの発明では、上記（１）〜（５）において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。また、更新後のプログラムを前回との差分プログラムで記憶しているので、記憶容量の最小化、コスト削減、登録時間の短縮を図ることができる。
【００４９】
（７）請求項７記載の発明は、前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、ことを特徴とする請求項１乃至請求項６のいずれかに記載の画像形成装置である。
【００５０】
また、請求項１８記載の発明は、前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、ことを特徴とする請求項１２乃至請求項１７のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００５１】
これらの発明では、上記（１）〜（６）において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【００５２】
（８）請求項８記載の発明は、前記受信制御手段は、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置である。
【００５３】
また、請求項１９記載の発明は、前記画像形成装置の前記受信制御手段は、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００５４】
これらの発明では、上記（１）〜（７）において、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。
【００５５】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００５６】
（９）請求項９記載の発明は、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置である。
【００５７】
また、請求項２０記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００５８】
これらの発明では、上記（１）〜（７）において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。
【００５９】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００６０】
（１０）請求項１０記載の発明は、前記受信制御手段は、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置である。
【００６１】
また、請求項２１記載の発明は、前記画像形成装置の前記受信制御手段は、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００６２】
これらの発明では、上記（１）〜（７）において、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。
【００６３】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００６４】
（１１）請求項１１記載の発明は、前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１乃至請求項７のいずれかに記載の画像形成装置である。
【００６５】
また、請求項２２記載の発明は、前記画像形成装置の前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する、ことを特徴とする請求項１２乃至請求項１８のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００６６】
これらの発明では、上記（１）〜（７）において、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。
【００６７】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００６８】
（１２）請求項２３記載の発明は、画像形成プログラムおよび画像形成ドライバを管理する複数の外部サーバと通信可能に構成され、画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置であって、該画像形成装置が通信すべきダウンロードサーバを前記複数の外部サーバの中から決定するダウンロードサーバ決定手段と、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、
前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報を前記外部サーバから受信すると共に、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する受信制御手段と、
前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備え、前記ダウンロードサーバ決定手段は、外部サーバからの更新通知あるいは予め定められた順位テーブルに含まれるアクセス順位を参照して、通信すべきダウンロードサーバを前記複数の外部サーバの中から決定する、ことを特徴とする画像形成装置である。
【００６９】
また、請求項３６記載の発明は、画像形成プログラムおよび画像形成ドライバを管理する複数の外部サーバと、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置と、からなる画像形成プログラム・ドライバ管理システムであって、前記外部サーバは、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを格納する格納手段と、前記画像形成装置からの求めに応じて、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記画像形成装置に対して送信する通信手段と、を備え、前記画像形成装置は、該画像形成装置が通信すべきダウンロードサーバを前記複数の外部サーバの中から決定するダウンロードサーバ決定手段と、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、適正組み合わせ情報を前記外部サーバから受信すると共に、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、を備えて、前記ダウンロードサーバ決定手段は、外部サーバからの更新通知あるいは予め定められた順位テーブルに含まれるアクセス順位を参照して、通信すべきダウンロードサーバを前記複数の外部サーバの中から決定する、ことを特徴とする画像形成プログラム・ドライバ管理システムである。
【００７０】
これらの発明では、画像形成装置は、複数の外部サーバの中から通信すべきダウンロードサーバを決定し、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部に対して送信し、適正組み合わせ情報を外部サーバより受信し、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【００７１】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００７２】
また、複数の外部サーバの中から通信すべきダウンロードサーバを決定する際には、予め定められた順位に従って決定するが、外部サーバに問題が生じている場合には下位の外部サーバをダウンロードサーバとして決定する。このようにすることで、混雑あるいはサーバダウンまたはアドレス指定エラーなどが生じていても、確実に通信できるダウンロードサーバを決定して通信を行うことが可能になる。
【００７３】
（１３）請求項２４記載の発明は、前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項２３記載の画像形成装置である。
【００７４】
また、請求項３７記載の発明は、前記画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、前記配信制御手段は、クライアントＰＣから印刷要求を受信した際に、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項３６記載の画像形成プログラム・ドライバ管理システムである。
【００７５】
これらの発明では、上記（１２）において、画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、クライアントＰＣから印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【００７６】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００７７】
（１４）請求項２５記載の発明は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項２３または請求項２４のいずれかに記載の画像形成装置である。
【００７８】
また、請求項３８記載の発明は、前記画像形成装置は、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶する記憶手段と、前記画像形成プログラムと前記画像形成ドライバの更新履歴を記憶する更新履歴記憶手段と、指定された任意のバージョンの画像形成プログラムに復元可能な復元制御手段と、を備えて構成され、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバをクライアントＰＣに配信する、ことを特徴とする請求項３６または請求項３７のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００７９】
これらの発明では、上記（１２）、（１３）において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣに配信する。
【００８０】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【００８１】
（１５）請求項２６記載の発明は、操作入力がなされる操作手段を備え、前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、ことを特徴とする請求項２５記載の画像形成装置である。
【００８２】
また、請求項３９記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記復元制御手段は、前記操作手段を介して指定されたバージョンの画像形成プログラムに復元する、ことを特徴とする請求項３８記載の画像形成プログラム・ドライバ管理システムである。
【００８３】
これらの発明では、上記（１４）において、画像形成装置は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。
【００８４】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【００８５】
（１６）請求項２７記載の発明は、操作入力がなされる操作手段を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、ことを特徴とする請求項２５または請求項２６のいずれかに記載の画像形成装置である。
【００８６】
また、請求項４０記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記配信制御手段は、前記適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、前記操作手段を介して指定されたバージョンのものをクライアントＰＣに配信する、ことを特徴とする請求項３８または請求項３９のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００８７】
これらの発明では、上記（１４）または（１５）において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣに配信するようにしている。
【００８８】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【００８９】
（１７）請求項２８記載の発明は、前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置である。
【００９０】
また、請求項４１記載の発明は、前記画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いる、ことを特徴とする請求項３６乃至請求項４０のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００９１】
これらの発明では、上記（１２）〜（１６）において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。また、更新後のプログラムを前回との差分プログラムで記憶しているので、記憶容量の最小化、コスト削減、登録時間の短縮を図ることができる。
【００９２】
（１８）請求項２９記載の発明は、前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、ことを特徴とする請求項２３乃至請求項２８のいずれかに記載の画像形成装置である。
【００９３】
また、請求項４２記載の発明は、前記画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いる、ことを特徴とする請求項３６乃至請求項４１のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００９４】
これらの発明では、上記（１２）〜（１７）において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【００９５】
（１９）請求項３０記載の発明は、前記受信制御手段は、前記外部サーバからの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項２３乃至請求項２９のいずれかに記載の画像形成装置である。
【００９６】
また、請求項４３記載の発明は、前記画像形成装置の前記受信制御手段は、前記外部サーバからの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【００９７】
これらの発明では、上記（１２）〜（１８）において、外部サーバからの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【００９８】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【００９９】
（２０）請求項３１記載の発明は、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項２３乃至請求項２９のいずれかに記載の画像形成装置である。
【０１００】
また、請求項４４記載の発明は、前記画像形成装置は、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【０１０１】
これらの発明では、上記（１２）〜（１８）において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０１０２】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０１０３】
（２１）請求項３２記載の発明は、前記受信制御手段は、操作者によるダウンロードサーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置である。
【０１０４】
また、請求項４５記載の発明は、前記画像形成装置の前記受信制御手段は、操作者によるダウンロードサーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【０１０５】
これらの発明では、上記（１２）〜（１８）において、操作者によるダウンロードサーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０１０６】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０１０７】
（２２）請求項３３記載の発明は、前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項２３乃至請求項２７のいずれかに記載の画像形成装置である。
【０１０８】
また、請求項４６記載の発明は、前記画像形成装置の前記受信制御手段は、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信する、ことを特徴とする請求項３６乃至請求項４２のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【０１０９】
これらの発明では、上記（１２）〜（１８）において、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０１１０】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０１１１】
（２３）請求項３４記載の発明は、前記ダウンロードサーバが正しい配布元であるかについての認証を行う認証手段を備え、前記認証手段は、画像形成プログラム、ならびに、画像形成ドライバを受信したダウンロードサーバが正しい配布元であるかについての認証を行う、ことを特徴とする請求項２３乃至請求項３３のいずれかに記載の画像形成装置である。
【０１１２】
また、請求項４７記載の発明は、前記画像形成装置側に、前記ダウンロードサーバが正しい配布元であるかについての認証を行う認証手段を備え、前記認証手段は、画像形成プログラム、ならびに、画像形成ドライバを受信したダウンロードサーバが正しい配布元であるかについての認証を行う、ことを特徴とする請求項３６乃至請求項４６のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【０１１３】
これらの発明では、（１２）〜（２２）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが正しい配布元からのものかを認証することが可能になる。
【０１１４】
（２４）請求項３５記載の発明は、画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての検出を行う改ざん検出手段を備え、前記改ざん検出手段は、受信された画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての認証を行う、ことを特徴とする請求項２３乃至請求項３３のいずれかに記載の画像形成装置である。
【０１１５】
また、請求項４８記載の発明は、前記画像形成装置側に、画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての検出を行う改ざん検出手段を備え、前記改ざん検出手段は、受信された画像形成プログラム、ならびに、画像形成ドライバが改ざんされていないかについての認証を行う、ことを特徴とする請求項３６乃至請求項４６のいずれかに記載の画像形成プログラム・ドライバ管理システムである。
【０１１６】
これらの発明では、（１２）〜（２２）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが改ざんされていない正しい内容かを認証することが可能になる。
【０１１７】
（２５）以上の（１）〜（１１）のそれぞれの発明によれば、さらに、画像形成装置の機種、システム構成等の装置の構成に応じて、適正な組み合わせとなるバージョンで各プログラムを更新することができるので、各プログラムのバージョンが適合しないことによる更新後の動作エラーを未然に防ぐことができ、ユーザや経験の浅いサービスマンであってもプログラム更新を容易、迅速、安全に行うことが可能になる。
【０１１８】
（２６）以上の（１２）〜（２４）のそれぞれの発明によれば、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、さらに、画像形成装置の機種、システム構成等の装置の構成に応じて、適正な組み合わせとなるバージョンで各プログラムを更新することができるので、各プログラムのバージョンが適合しないことによる更新後の動作エラーを未然に防ぐことができ、ユーザや経験の浅いサービスマンであってもプログラム更新を容易、迅速、安全に行うことが可能になる。
【０１１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例の画像形成装置および画像形成プログラム・ドライバ管理システムについて詳細に説明する。
【０１２０】
〈第一の実施の形態例〉
図１は、画像形成プログラムおよび画像形成ドライバを管理する外部サーバ５００と、該外部サーバ５００とネットワーク４００を介して通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置１００と、からなる画像形成プログラム・ドライバ管理システムを示す構成図である。
【０１２１】
ここで、ユーザエリア１０内に、本発明の実施の形態例の画像形成装置１００と、クライアントＰＣ３００（ここでは、ＰＣ３００ａ〜ＰＣ３００ｄ）とが、ＬＡＮ２００を介して通信可能に接続されている。この画像形成装置１００は、例えば、複写機、プリンタ、スキャナ、ファクシミリ装置等であり、さらに、これらの機能を兼ね備えた複合機であってもよい。
【０１２２】
ここで、クライアントＰＣ３００は、画像形成装置１００に対して印刷要求を送出することが可能であり、このように画像形成装置１００の機能を利用する側のコンピュータや端末をクライアントＰＣと呼ぶ。そして、このような印刷要求を受けた画像形成装置１００は、クライアントＰＣ３００からの画像データに応じた画像を記録紙に形成して出力する。
【０１２３】
また、ＬＡＮ２００は、図示されないファイアウォール等を介して、ネットワーク４００と接続されている。
【０１２４】
ここで、ネットワーク４００は、インターネット、イントラネット、公衆電話回線網、ＩＳＤＮ回線網、専用線、移動体通信網、通信衛星回線、ＣＡＴＶ回線、光通信回線等の各種通信回線を用いたネットワークである。
【０１２５】
また、画像形成装置１００において、１１１は各部を制御する制御手段としてのＣＰＵである。このＣＰＵ１１１は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、の機能を兼ね備えた制御手段である。
【０１２６】
１１２は不揮発性メモリとしてのフラッシュメモリ、１１３はＨＤＤや各種光ディスク装置などの大容量の記憶が可能な記憶手段、１１４はワークメモリとしてのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、１１５はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。
【０１２７】
ここで、画像形成プログラム（画像形成装置のバイオス（ＢＩＯＳ：Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のような、起動時に基本的な入出力を行うプログラムのほか、画像形成動作の基本アプリケーションプログラム、画像形成動作の応用アプリケーションプログラム、など）のうち、更新が必要なプログラムに関しては、フラッシュメモリ１１２や記憶手段１１３に記憶されている。また、更新が必要ないプログラムや各種データはＲＯＭ１１５に記憶されている。
【０１２８】
１１６は画像形成装置１００と外部との通信を行うＩ／Ｆとしての通信部である。この通信部１１６は、モデム、ＴＡやルータ等によって構成され、ネットワーク４００に接続された外部サーバ５００や外部機器との通信の制御を行う。
【０１２９】
１２０は各種操作入力がなされ、また、装置の状態表示を行う操作表示部である。この操作表示部１２０は、操作部と表示部とが一体的に構成された操作パネルである。操作表示部１２０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等により構成され、ＣＰＵ１１１から入力される表示信号の指示に従って画面上に各種操作釦や画像の状態表示、各機能の動作状況等の表示を行う。また、操作表示部１２０は、透明電極が格子状に配置された感圧式（抵抗膜圧式）のタッチパネル等により構成されているが、視認性の観点から光の透過率が高いものが望ましい。操作表示部１２０は、手指やタッチペン等で押下された力点のＸＹ座標を電圧値で検出し、検出された位置信号を操作信号としてＣＰＵ１１１に出力する。また、操作表示部１２０は、数字釦や各種設定を切り替える機能釦等の各種操作釦を備えている。
【０１３０】
１３０は原稿の画像を読み取るスキャナ部である。スキャナ部１３０は、原稿を載置するプラテンガラスの下部に読取手段を備えて構成され、原稿の画像を読み取る。このスキャナ部１１７は、光源、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等により構成され、光源から原稿へ照明走査した光の反射光を結像して光電変換することにより原稿の画像を読み取り、読み取った画像をプリントエンジン１５０に出力する。ここで、画像は、図形や写真等のイメージデータに限らず、文字や記号等のテキストデータ等も含む。
【０１３１】
１４０は原稿の自動給送を行うＡＤＦ（自動原稿給送装置）である。このＡＤＦ１４０は、自動書類送り出し装置であり、給送ローラ、給送ベルト、排送ローラ等により構成され、画像面を上にしてセットされた原稿束の一番上の原稿から、プラテンガラス上の所定の位置に給送する。また、読取りが終了した原稿を排出する。
【０１３２】
１５０は画像データに応じた画像を記録紙上に形成するプリントエンジンである。このプリントエンジン１５０は、スキャナ部１４０から入力された画像データ、及び通信部１１６により受信された画像データに対して、操作表示部１２０からの入力指示、あるいは通信部１１６から受信した画像データに含まれる指示データに従って拡大縮小、回転、及び位置変更等の画像処理を施して、画像（トナー像）を記録紙上に形成する。
【０１３３】
１６０は画像形成された記録紙の仕分けあるいはステープル処理等の後処理を行うフィニッシャ（ＦＮＳ）である。このＦＮＳ１６０は、本体部１００ａの排出部から排出された印刷用紙の仕分けやステープルを行う。
【０１３４】
なお、ＣＰＵ１１１は、フラッシュメモリ１１２やＲＯＭ１１５に記憶されている画像形成装置１００を制御するための制御プログラムをＲＡＭ１１４に読み出して、読み出した制御プログラムに従って、画像形成装置１００全体の制御を行う。またＣＰＵ１１１は、フラッシュメモリ１１２やＲＯＭ１１５に記憶されている各種処理プログラムをＲＡＭ１１４に読み出して、後述するプログラム更新処理、リカバリ処理を始めとする各種処理を実行し、処理結果をＲＡＭ１１４に格納すると共に操作表示部１２０に表示させたりする。
【０１３５】
フラッシュメモリ１１２は、書き換え可能な不揮発性の半導体メモリであり、画像形成装置１００全体を制御するための、画像形成装置本体部、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各モジュールに対応するプログラム、各種処理プログラム及び各種処理プログラムで処理されたデータ等を記憶する。プログラムは、コンピュータが読取可能なプログラムコードの形態で格納され、ＣＰＵ１１１は、当該プログラムコードに従った動作を逐次実行する。
【０１３６】
記憶手段１１３は、大容量の記憶装置であり、外部サーバ５００からダウンロードした、画像形成装置本体部、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各モジュールに対応する各画像形成プログラム、クライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）を格納する。また、記憶手段１１３は、各画像形成プログラムや各画像形成ドライバの更新履歴管理情報を格納する。
【０１３７】
また、外部サーバ５００から送信される、各プログラムのバージョンの適正な組み合わせに関する適正組み合わせ情報を受信して、受信した情報に基づいて、サーバ５００から更新用の画像形成プログラムや画像形成ドライバをダウンロードする。
【０１３８】
外部サーバ５００は、例えば、メーカのセンタ等に設けられたサーバであり、画像形成装置１００を始めとする画像形成装置の本体や、ＡＤＦ（自動書類送り出し装置）、ＦＮＳ（フィニッシャ）等のオプション機器の各プログラムのバージョンアップのための更新用の画像形成プログラムおよび画像形成ドライバ、機種及びシステム構成に応じた適正組み合わせ情報を記憶・管理するものである。
【０１３９】
外部サーバ５００は、ネットワーク４００を介して、画像形成装置１００から機種、システム構成及び各プログラムのバージョン情報を受信すると、画像形成装置１００の機種及びシステム構成に応じた適正組み合わせ情報を送信する。また、画像形成装置１００から更新用の画像形成プログラムおよび画像形成ドライバの送信要求があると、画像形成装置１００に要求された更新用の画像形成プログラムおよび画像形成ドライバを送信する。
【０１４０】
なお、この第一の実施の形態においては、外部サーバ５００から送信される各更新用の画像形成プログラムは、画像形成装置１００の更新前バージョンのプログラムと更新後のバージョンのプログラムとの差分プログラムとするが、更新後バージョンのプログラム全体を画像形成装置１００に送信し、画像形成装置１００側で、プログラム全体を書き換えるようにしてもよい。
【０１４１】
また、本実施の形態においては、外部サーバ５００から送信される各更新用の画像形成ドライバは、画像形成装置１００の更新前バージョンのドライバと更新後のバージョンのドライバとの差分ドライバとするが、更新後バージョンのドライバ全体を画像形成装置１００に送信し、画像形成装置１００側で、ドライバ全体を管理するようにしてもよい。
【０１４２】
また、本発明の実施の形態例において、画像形成プログラムおよび画像形成ドライバを管理する外部サーバ５００と、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置１００とにより、画像形成プログラム・ドライバ管理システムを構成している。
【０１４３】
なお、この実施の形態例においては、画像形成プログラムとは、画像形成装置のバイオス等のファームウェア、画像形成の基本プログラム、画像形成の応用プログラムを意味する。
【０１４４】
図２はＨＤＤなどの記憶手段１１３に格納されている更新用の画像形成プログラムおよび画像形成ドライバの差分プログラム・差分ドライバとしての格納状況を模式的に示す図である。
【０１４５】
この図２に示すように、ＨＤＤなどの記憶手段１１３は、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０のモジュール別に画像形成プログラムを格納するフォルダを有しており、各フォルダの中に、バージョンアップ時の差分プログラム形式の画像形成プログラムが、新しいバージョン番号と同一のファイル名が付されて格納されている。
【０１４６】
また、同様に、この図２に示すように、ＨＤＤなどの記憶手段１１３は、スキャナドライバ、プリンタドライバというようにモジュール別に画像形成ドライバを格納するフォルダを有しており、各フォルダの中に、バージョンアップ時の差分ドライバ形式の画像形成ドライバが、新しいバージョン番号と同一のファイル名が付されて格納されている。
【０１４７】
図３は、ＨＤＤなどの記憶手段１１３に格納されている更新履歴管理情報の一例を示す説明図である。この図３の例では、ファイル名末尾に「＿Ｐ」のようにあるものが画像形成プログラムであり、ファイル名末尾に「＿ｄ」のようになっているものが画像形成ドライバである。
【０１４８】
この図３に示すように、更新履歴管理情報には、外部サーバ５００からの更新用の画像形成プログラムおよび画像形成ドライバのダウンロードあるいはリカバリが行われて更新された日付、及びその日付で更新された各プログラムやドライバのバージョンからなる更新履歴が格納されている。
【０１４９】
また、同時に動作することが必須な他のプログラムが存在するプログラムやドライバのバージョンには、バージョンの後に、記号＊とともに同時ダウンロードが必須なプログラム名及びバージョン情報を併せて格納する。
【０１５０】
この更新履歴管理情報は、更新日付がインデックスデータとなっており、この更新日付における更新後の各プログラムのバージョンの組み合わせを容易に検索でき、各プログラム単体の更新履歴が管理できると共に、更新日付毎の各プログラムのバージョンの組み合わせが管理できる。
【０１５１】
以下、外部サーバ５００の内部構成について詳細に説明する。
【０１５２】
図１に示すように、外部サーバ５００は、ＣＰＵ５０１、メモリ５０２、通信部５０３、操作表示部５１０、格納手段５２０、等により構成され、各部はアドレスバスやデータバスにより接続されている。
【０１５３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１は、格納手段５２０に記憶されているシステムプログラムを読み出し、該システムプログラムに従って各部の動作を集中制御する。また、ＣＰＵ５０１は、読み出したシステムプログラム５２０＿０（図４参照）に従って、各種処理を実行し、その結果をメモリ５０２に格納すると共に操作表示部５１０に表示させる。そして、メモリ５０２に格納した処理結果を、格納手段５２０の所定の保存先に保存させる。
【０１５４】
本実施の形態において、ＣＰＵ５０１は、通信部５０３を介して画像形成装置１００から機種、システム構成、各モジュールに対応する現行プログラムのバージョン情報を受信すると、格納手段５２０に格納された適正組み合わせファイル５２０＿２（図４参照）を参照して、画像形成装置１００の機種、システム構成、各プログラムの現行バージョンにおける、各プログラムのバージョンの適正な組み合わせを判定し、この各プログラムのバージョンの適正な組み合わせである適正組み合わせ情報を画像形成装置１００に送信する。
【０１５５】
また、画像形成装置１００から送信要求された更新用の画像形成プログラムおよび画像形成ドライバをプログラム・ドライバＤＢ５２０＿１（図４参照）から読み出して画像形成装置１００へ送信する。
【０１５６】
また、メモリ５０２は、ＣＰＵ５０１により実行制御される各種処理において、格納手段５２０から読み出された外部サーバ５００で実行可能なシステムプログラム、制御プログラム、入力若しくは出力データ、及びパラメータ等の一時的な格納領域となる。
【０１５７】
通信部５０３は、モデム、ＴＡやルータ等によって構成され、ネットワーク４００に接続された画像形成装置１００や外部機器との通信の制御を行う。
【０１５８】
操作表示部５１０は、文字／英数字入力キー、カーソルキー、及び各種機能キー等を備えたキーボードと、ポインティングデバイスであるマウスと、を備えて構成され、キーボードで押下操作されたキーの押下信号とマウスによる操作信号とを、入力信号としてＣＰＵ５０１へ出力する。また、操作表示部５１０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等により構成され、ＣＰＵ５０１から入力される表示信号の指示に従って、表示画面上に、各種データの表示を行う。
【０１５９】
格納手段５２０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）や不揮発性の半導体メモリ等により構成され、外部サーバ５００に対応するシステムプログラム、及び該システムプログラム上で実行可能な各種処理プログラム、及びこれらのプログラムで処理されたデータ等を記憶する。プログラムは、コンピュータが読み取り可能なプログラムコードの形態で格納され、ＣＰＵ５０１は、当該プログラムコードに従った動作を逐次実行する。
【０１６０】
なお、格納手段５２０には、画像形成プログラムのバージョンと画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバが格納されている。
【０１６１】
すなわち、第一の実施の形態例において、格納手段５２０は、図４に示すように、内部に、外部サーバ５００自体の動作のためのシステムプログラム５２０＿０の他に、画像形成装置１００を始めとする画像形成装置の本体やＡＤＦ（自動書類送り出し装置）、ＦＮＳ（フィニッシャ）等のオプション機器のバージョンアップのための更新用の画像形成プログラムおよび画像形成ドライバを格納するプログラム・ドライバＤＢ５２０＿１、及び機種及びシステム構成に応じた適正組み合わせ情報を記憶した適正組み合わせファイル５２０＿２を格納している。
【０１６２】
図５は、適正組み合わせファイル５２０＿２内のデータ格納例を示す説明図である。
【０１６３】
この図５に示すように、適正組み合わせファイル５２０＿２は、画像形成装置の機種名を示すデータ（例えば、ＳＩＴＩＯＳ７１４５ＪＰＮ，ＳＩＴＩＯＳ７１３５ＪＰＮ，ＳＩＴＩＯＳ７１３０ＪＰＮ，ＳＩＴＩＯＳ７１２０ＪＰＮ，・・・）を「機種名」として格納する機種名領域５２０＿２ａと、各画像形成プログラムのバージョンが適正な組み合わせとなる各プログラムのバージョンのうち、本体部（メイン）のプログラムのバージョンを示すデータ（例えば、Ｖｅｒ５．１、Ｖｅｒ５．０、Ｖｅｒ５．０、・・・）を「メイン」として格納する本体領域５２０＿２ｂと、ＡＤＦの画像形成プログラムのバージョンを示すデータ（例えば、Ｖｅｒ２．１、Ｖｅｒ１．９、Ｖｅｒ１．９、・・・）を「ＡＤＦ」として格納するＡＤＦ領域５２０＿２ｃと、ＦＮＳの画像形成プログラムのバージョンを示すデータ（例えば、Ｖｅｒ３．０、Ｖｅｒ２．０、Ｖｅｒ２．０、・・・）を「ＦＮＳ」として格納するＦＮＳ領域５２０＿２ｄと、プリントエンジンの画像形成プログラムのバージョンを示すデータ（例えば、Ｖｅｒ２．０、Ｖｅｒ１．９、Ｖｅｒ１．９、・・・）を「プリンタ」として格納するプァ
螢鵐仁琉茖毅横０  ・濂ｅと、スキャナ部の画像形成ドライバ（スキャナドライバ）のバージョンを示すデータ（例えば、Ｖｅｒ２．１、Ｖｅｒ２．０、Ｖｅｒ２．０、・・・）を「スキャナ」として格納するスキャナ領域５２０＿２ｆと、プリントエンジンの画像形成ドライバ（プリンタドライバ）のバージョンを示すデータ（例えば、Ｖｅｒ３．１、Ｖｅｒ３．０、Ｖｅｒ３．０、・・・）を「プリンタ」として格納するプリンタ領域５２０＿２ｇと、を有している。
【０１６４】
すなわち、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムについての情報、および、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバについての情報、が機種名毎に格納されている。
【０１６５】
ここで、図６以降のフローチャートを参照して、第一の実施の形態例の画像形成装置１００、及び、画像形成装置の画像形成プログラム・ドライバ管理システムの動作について説明する。
【０１６６】
図６は画像形成装置１００のＣＰＵ１１１により実行される各種処理の内容を決定するための処理内容判断ルーチンである。
【０１６７】
ＣＰＵ１１１は画像形成装置１００の各部を監視しており、通信部１１６が外部から電子メールを受信した場合（図６Ｓ１）、その電子メールが外部サーバ５００からのものであるか、また、その電子メールの内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知であるか、を調べる（図６Ｓ２）。
【０１６８】
受信した電子メールが外部サーバ５００からのものでない場合、または、その電子メールの内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知でない場合（図６Ｓ２でＮ）、ＣＰＵ１１１は処理内容判断ルーチンを終了して、通常のシステムプログラムの動作に戻る（図６エンド）。
【０１６９】
なお、外部サーバ５００において新たなバージョンの画像形成プログラムあるいは画像形成ドライバが格納手段５２０のプログラム・ドライバＤＢ５２０＿１に格納されると、ＣＰＵ５０１は、更新の通知に関する電子メールをネットワーク４００を介して画像形成装置１００に送信する。
【０１７０】
また、このような外部サーバ５００のＣＰＵ５０１による自発的な送信のほか、画像形成装置１００の操作者による操作表示部１２０の操作に基づいた通信部１１６からの電子メールの問い合わせに対応して、更新についての通知の電子メールを画像形成装置１００に対して送信する。
【０１７１】
さらに、このような外部サーバ５００のＣＰＵ５０１による自発的な送信のほか、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末からの電子メールの問い合わせに対応して、更新についての通知の電子メールを画像形成装置１００に対して送信する。
【０１７２】
一方、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末からの更新指示の電子メールを画像形成装置へ送信して、画像形成装置のプログラム更新ルーチンを起動する方法もある。
【０１７３】
または、操作者あるいはカスタマエンジニアなどが操作表示部１２０からの更新指示の入力にて、画像形成装置１００のプログラム更新ルーチンを起動する方法もある。
【０１７４】
さらに、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末を画像形成装置１００に対してケーブルや赤外線や無線などによって接続し、この携帯端末からの更新指示を画像形成装置へ送信して、画像形成装置のプログラム更新ルーチンを起動する方法もある。
【０１７５】
このように、外部サーバ５００からの電子メール、あるいは、操作者やカスタマエンジニアの操作を、画像形成プログラムならびに画像形成ドライバの更新に際しての「更新トリガ」として用いることができ、これにより適切なタイミングの更新が可能になる。また、ユーザ側のＬＡＮに管理サーバなどを設ける必要もなくなる。
【０１７６】
受信した電子メールが外部サーバ５００からのものであり、かつ、その電子メールの内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知である場合（図６Ｓ２でＹ）、手動設定であれば画像形成プログラムあるいは画像形成ドライバの更新をするか否かを、操作表示部１２０の表示パネルに表示して、操作者の了承を求める（図６Ｓ３）。
【０１７７】
手動設定であって画像形成プログラムあるいは画像形成ドライバの更新をすることに操作者が了承しない場合（図６Ｓ３でＮ）、ＣＰＵ１１１は処理内容判断ルーチンを終了して、通常のシステムプログラムの動作に戻る（図６エンド）。
【０１７８】
手動設定でない場合（自動設定の場合）、あるいは、手動設定であって画像形成プログラムあるいは画像形成ドライバの更新をすることに操作者が了承した場合（図６Ｓ３でＹ）、ＣＰＵ１１１はプログラム更新処理ルーチン（図７参照）を起動する（図６Ｓ４）。
【０１７９】
図７は、画像形成装置１００のＣＰＵ１１１により実行されるプログラム更新処理ルーチンを示すフローチャートである。以下、図７を参照して、プログラム更新処理について説明する。
【０１８０】
このプログラム更新処理ルーチンが起動されると、ＣＰＵ１１１は、通信部１１６によりネットワーク４００を介して、画像形成装置１００の機種、システム構成、各モジュールに対応するプログラムのバージョンを、外部サーバ５００へ送信する（図７Ｓ１）。そして、外部サーバ５００からの応答を待機する（ステップ２）。
【０１８１】
画像形成装置１００がステップＳ２の応答待機状態であるとき、外部サーバ５００のＣＰＵ５０１は、通信部５０３を介して、画像形成装置１００から機種、システム構成、各モジュールに対応するプログラムのバージョン情報を受信し、格納手段５２０に格納された適正組み合わせファイル５２０＿２を参照して、画像形成装置１００の機種、システム構成における、各プログラムのバージョンの最新の適正な組みあわせを判定し、この各プログラムのバージョンの適正な組み合わせである適正組み合わせ情報を、通信部５０３を介して画像形成装置１００に送信する。
【０１８２】
ＣＰＵ１１１は、外部サーバ５００から送信された適正組み合わせ情報を受信すると（図７Ｓ３）、これを操作表示部１２０の操作パネルの適正バージョン管理画面１２０１（図８参照）上に表示する（図７Ｓ４）。
【０１８３】
適正バージョン管理画面から、あるプログラムが選択され、更新の開始が指示されると（図７Ｓ５でＹ）、ＣＰＵ１１１は、外部サーバ５００に、更新指示されたプログラムの更新用の画像形成プログラムおよび画像形成ドライバの送信要求を行い、外部サーバ５００から、更新用の画像形成プログラムおよび画像形成ドライバをダウンロードする（図７Ｓ６）。そして、ＣＰＵ１１１は、フラッシュメモリ１１２あるいは記憶手段１１３の画像形成プログラムを書き換える（図７Ｓ７）。
【０１８４】
なお、画像形成ドライバについては、後述するようにクライアントＰＣに転送するため、画像形成装置１００にダウンロードしておく。
【０１８５】
そして、ＣＰＵ１１１は、バージョンアップする全ての画像形成プログラムについて、上記ステップＳ５〜Ｓ７を実行し、操作表示部１２０から終了が指示されると（図７Ｓ８でＹ）、操作表示部１２０に更新履歴情報画面１２０２（図９参照）を表示させる（図７Ｓ９）。
【０１８６】
更新履歴情報画面上から、今回のプログラムの更新履歴を登録する指示が入力されると（図７Ｓ１０でＹ）、ＣＰＵ１１１は、ＨＤＤなどの記憶手段１１３の更新履歴管理情報に、更新日付、及び各プログラムの更新後バージョンと外部サーバ５００から同時動作が必須と指摘されたプログラムの情報を登録するとともに、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各フォルダに、外部サーバ５００からダウンロードした更新前プログラムと更新後プログラムとの差分プログラムを、バージョン番号と同一のファイル名を付して登録する（図７Ｓ１１）。
【０１８７】
また、上記プログラム更新処理において、プログラムは、モジュール毎に更新開始の指示が可能であるので、画像形成装置１００が動作中であっても、動作していないモジュールのプログラムを書き換えることができる。また、万一、プログラム書き換えに失敗しても、基本機能のみで動作させることができる。
【０１８８】
図８は、図７のステップＳ４で操作表示部１２０に表示される、適正バージョン管理画面１２０１の一例を示す説明図である。
【０１８９】
この図８に示すように、適正バージョン管理画面１２０１は、画像形成装置１００の機種名と、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各モジュールのプログラムにおける現行バージョン及び各プログラムのバージョンの最新の適正組み合わせが表示されている。
【０１９０】
ここで、「＊」印が付されているプログラムのバージョンは、そのプログラムのバージョンを単体でダウンロードして更新すると、他のモジュールのバージョンとの組み合わせが悪く、動作エラーとなる可能性があることを警告するものであり、「＊」が付された各プログラムは、同時にダウンロードすることが必須である。この画面下部には、それぞれのモジュールのプログラムに対応した「開始」ボタンが表示されており、この「開始」ボタンが押下されると、対応するプログラムの表示されたバージョンのダウンロードが開始され、図７のステップＳ６、Ｓ７が実行されて当該プログラムが更新される。また、「終了」ボタンが押下されると、更新履歴情報画面１２０２に移行する。
【０１９１】
なお、＊印が付されたプログラムが単体でダウンロードされ、「終了」ボタンが押下された場合は、警告メッセージが表示される。
【０１９２】
図９は、図７のステップＳ１０で操作表示部１２０に表示される更新履歴情報画面１２０２の一例を示す説明図である。この図９に示す更新履歴情報画面１２０２には、更新日付と、その更新日に更新された各モジュールのプログラムバージョンとが対応付けされて、最新更新日から順に表示されている。すなわち、更新直後の履歴は、最上位に表示される。
【０１９３】
この最上位の履歴の左側に表示されている「履歴登録」が押下されると、図７のステップＳ１１に移行し、ＨＤＤなどの記憶手段１１３の更新履歴管理情報に更新日付と今回更新した各プログラム毎のバージョンの更新履歴が登録されるとともに、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０に対応する各フォルダに、外部サーバ５００からダウンロードしたそれぞれのプログラムの差分プログラムが、バージョン番号と同一のファイル名を付して登録される。
【０１９４】
登録後は、更新履歴情報画面１２０２は、図１０に示すように、「履歴登録」ボタンが「戻す」ボタンに変化して表示される。また、最上位の更新結果欄にＯＫが表示される。
【０１９５】
図１１は、画像形成装置１００のＣＰＵ１１１により実行される実行されるドライバ更新処理ルーチンを示すフローチャートである。以下、図１１を参照して、クライアントＰＣ３００に対するドライバ更新処理について説明する。
【０１９６】
このドライバ更新処理ルーチンでは、画像形成装置１００のＣＰＵ１１１は、通信部１１６によりＬＡＮ２００を介して、クライアントＰＣからの印刷要求を受信する（図１１Ｓ１）。
【０１９７】
さらに、ＣＰＵ１１１は、クライアントＰＣから受信した印刷要求の中から、プリンタドライバのバージョン情報を取得する（図１１Ｓ２）。
【０１９８】
そして、ＣＰＵ１１１は、取得したクライアントＰＣに現時点でインストールされている画像形成ドライバのバージョン情報と、適正組合せ情報に含まれる画像形成ドライバのバージョン管理情報とを比較し、最新・適正であるかを確認する（図１１Ｓ３）。
【０１９９】
比較の結果、クライアントＰＣのプリンタドライバが最新・適正であれば（図１１Ｓ４でＹ）、ＣＰＵ１１１はクライアントＰＣ３００からの印刷要求を受け付け（図１１Ｓ８）、通常の手順で画像形成を実行する（図１１Ｓ９）。
【０２００】
比較の結果、クライアントＰＣのプリンタドライバが最新・適正でなければ（図１１Ｓ４でＮ）、ＣＰＵ１１１はクライアントＰＣ３００に対して、プリンタドライバが最新・適正でないことを通知する（図１１Ｓ５）。
【０２０１】
また、この際に画像形成装置１００のＣＰＵ１１１は、クライアントＰＣ３００に対して、最新・適正なプリンタドライバに更新するか否かを尋ねる質問メッセージを送信しておく。
【０２０２】
このような質問メッセージを受信したクライアントＰＣ３００側では、操作部（図示せず）にプリンタドライバ更新に同意するか否かの表示がなされ、操作者が「更新する」あるいは「更新しない」のいずれかを選択する。
【０２０３】
この際に、クライアントＰＣ３００が、最新・適正なプリンタドライバへの更新を拒否した場合（図１１Ｓ６でＮ）、画像形成ドライバ更新処理をおこなわず、ＣＰＵ１１１はクライアントＰＣ３００からの印刷要求を受け付け（図１１Ｓ８）、通常の手順で画像形成を実行する（図１１Ｓ９）。
【０２０４】
また、この際に、クライアントＰＣ３００が、最新・適正なプリンタドライバへの更新に同意した場合（図１１Ｓ６でＹ）、ＣＰＵ１１１は最新・適正のプリンタドライバをクライアントＰＣ３００に配信し、所定の手続きでプリンタドライバの更新を促す（図１１Ｓ７）。
【０２０５】
このようにして画像形成装置１００から最新・適正のプリンタドライバの配信を受けたクライアントＰＣ３００側では、画像形成装置１００から指示された所定の手続きによりプリンタドライバを更新する。
【０２０６】
そして、画像形成装置１００のＣＰＵ１１１側でクライアントＰＣ３００でのプリンタドライバの更新を検知した後に、ＣＰＵ１１１はクライアントＰＣ３００からの印刷要求を受け付け（図１１Ｓ８）、通常の手順で画像形成を実行する（図１１Ｓ９）。
【０２０７】
この第一の実施の形態例では、画像形成装置１００に対して印刷要求を送出可能なクライアントＰＣ３００がＬＡＮなど接続されており、画像形成装置１００がクライアントＰＣ３００から印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバ（プリンタドライバ）をクライアントＰＣ３００に配信するようにしている。
【０２０８】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用するプリンタドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、画像形成プログラムと画像形成ドライバ（プリンタドライバ）との適正な組み合わせの更新が行われるようになる。
【０２０９】
なお、以上の第一の実施の形態例の説明は、クライアントＰＣ３００が画像形成装置１００に対して印刷要求を出した際のプリンタドライバの更新であったが、クライアントＰＣ３００から画像形成装置１００にスキャン要求を出したさいのスキャナドライバの更新についても、同様に行うことが可能である。
【０２１０】
すなわち、この第一の実施の形態例では、画像形成装置１００に対してスキャン要求を送出可能なクライアントＰＣ３００がＬＡＮなど接続されており、画像形成装置１００がクライアントＰＣ３００からスキャン要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバ（スキャナドライバ）をクライアントＰＣ３００に配信するようにしている。
【０２１１】
この結果、画像形成装置のプログラム（画像形成プログラム）やスキャンする際にクライアントＰＣが使用するスキャナドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、画像形成プログラムと画像形成ドライバ（スキャナドライバ）との適正な組み合わせの更新が行われるようになる。
【０２１２】
次に、図１２のフローチャートを参照して、画像形成装置１００のＣＰＵ１１１により実行される画像形成プログラムのリカバリ処理の動作について詳細に説明する。
【０２１３】
ＣＰＵ１１１は、操作表示部１２０に表示された更新履歴情報画面（更新履歴情報画面１２０２：図９，図１０参照）から、リカバリする画像形成プログラムが選択されると（図１２Ｓ１）、ＨＤＤなどの記憶手段１１３に格納された差分プログラムからリカバリ用プログラムを作成し（図１２Ｓ２）、該プログラムでフラッシュメモリ１１２や記憶手段１１３内の該当プログラムを書き換える（図１２Ｓ３）。
【０２１４】
該当プログラムの書き換え（リカバリ）が終了すると、ＣＰＵ１１１は、更新履歴情報画面に、今回のプログラムの書き換え履歴を追加表示し、この履歴の追加登録が指示されると（図１２Ｓ４でＹ）、ＨＤＤなどの記憶手段１１３の更新履歴管理情報に日付とリカバリ後のプログラムのバージョンを登録するとともに、前回バージョンのプログラムとリカバリ後のプログラムの差分プログラムを登録する（図１２Ｓ５）。
【０２１５】
なお、リカバリするプログラムは、単体で選択することもできるし、組み合わされた各モジュールのプログラム全体を選択することもできる。
【０２１６】
上述したリカバリ処理において、例えば、図１０に示す更新履歴情報画面１２０２上から、リカバリするプログラムとして、画像形成プログラムのメインのＶｅｒ５．０が選択され、対応する「戻す」ボタンが押下されると、現行の、本体のＶｅｒ５．１のプログラムと、戻すプログラムであるＶｅｒ５．０との差分プログラムがＨＤＤなどの記憶手段１１３から読み出され、リカバリプログラムが作成される。そして、作成されたリカバリプログラムにより、フラッシュメモリ１１２や記憶手段１１３内の本体のプログラムが書き換えられ、Ｖｅｒ５．０が復元される。このようにして、任意の過去のバージョンに戻すことが可能になる。
【０２１７】
また、該当プログラムの書き換え（リカバリ）の後、更新履歴情報画面１２０２に、今回のリカバリに関する履歴が最上位に表示されるが、Ｖｅｒ５．０に戻したままであると、ＡＤＦのプログラムとの関係で動作エラーとなる可能性があるので、ＣＰＵ１１１は、画像形成プログラムのメインＶｅｒ５．１を直ちにダウンロードするように警告を表示する。
【０２１８】
なお、更新履歴は、ユーザの指示により登録するものとしているが、フラッシュメモリ１１２や記憶手段１１３の書き換え後、ＣＰＵ１１１の制御により、自動的に履歴及び差分プログラムが登録されるようにしてもよい。
【０２１９】
なお、以上の説明は画像形成装置１００内の画像形成プログラムのリカバリであったが、クライアントＰＣ３００が使用する画像形成ドライバについても、同様の手順でリカバリすることが可能である。
【０２２０】
この際に、画像形成装置１００のＣＰＵ１１１はリカバリ対象となる画像形成ドライバ（スキャナドライバ、プリンタドライバ）を作成したうえで、クライアントＰＣ３００に配信し、所定の手続きで画像形成ドライバの更新を促す。そして、このようにして画像形成装置１００からリカバリ対象となるの画像形成ドライバの配信を受けたクライアントＰＣ３００側では、画像形成装置１００から指示された所定の手続きにより画像形成ドライバを更新する。このようにして、任意の過去のバージョンのドライバに戻すことが可能になる。
【０２２１】
〈第一の実施の形態例により得られる効果〉
なお、以上詳細に説明した第一の実施の形態例によれば、以下の（１）〜（１１）に示すような効果を得ることが可能になる。
【０２２２】
（１）以上の第一の実施の形態例では、画像形成装置１００は、画像形成装置１００のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバ５００に対して送信し、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバ５００より受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２２３】
（２）以上の第一の実施の形態例では、上記（１）において、画像形成装置１００に対して印刷要求を送出可能なクライアントＰＣ３００が接続されており、クライアントＰＣ３００から印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２２４】
（３）以上の第一の実施の形態例では、上記（１）、（２）において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０２２５】
（４）以上の第一の実施の形態例では、上記（３）において、画像形成装置１００は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０２２６】
（５）以上の第一の実施の形態例では、上記（３）または（４）において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣ３００に配信するようにしている。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【０２２７】
（６）以上の第一の実施の形態例では、上記（１）〜（５）において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。
また、更新後のプログラムを前回との差分プログラムで記憶しているので、記憶容量の最小化、コスト削減、登録時間の短縮を図ることができる。
【０２２８】
（７）以上の第一の実施の形態例では、上記（１）〜（６）において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【０２２９】
（８）以上の第一の実施の形態例では、上記（１）〜（７）において、外部サーバ５００からの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバ５００より受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２３０】
（９）以上の第一の実施の形態例では、上記（１）〜（７）において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバ５００より受信するようにしている。
【０２３１】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２３２】
（１０）以上の第一の実施の形態例では、上記（１）〜（７）において、操作者による外部サーバ５００へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバ５００より受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２３３】
（１１）以上の第一の実施の形態例では、上記（１）〜（７）において、操作者による画像形成装置１００へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバ５００より受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０２３４】
〈第一の実施の形態例の変形例〉
なお、上記実施の形態における記述内容は、画像形成プログラム・ドライバ管理システム、及び、画像形成装置１００の好適な一例であり、これに限定されるものではない。
【０２３５】
例えば、上記実施の形態においては、画像形成装置１００から外部サーバ５００へ通信を行って、更新用の画像形成プログラムおよび画像形成ドライバ及び適正組み合わせ情報をダウンロードする構成としているが、外部サーバ５００が、プログラムが新しいバージョンに更新される毎に、画像形成装置１００に、適正組み合わせ情報及び更新用の画像形成プログラムおよび画像形成ドライバを送信してダウンロードさせるようにしてもよい。
【０２３６】
また、画像形成装置１００側が通信部を有していない場合は、サービスマン等が通信装置を一時的に設置して、外部サーバ５００に接続可能な構成にすることにより、プログラムのダウンロードを行うようにしてもよい。
【０２３７】
その他、画像形成プログラム・ドライバ管理システム及び該システムを構成する各装置の細部構成及び細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【０２３８】
〈第二の実施の形態例〉
図１３は、画像形成プログラムおよび画像形成ドライバを管理する複数の外部サーバ５００（第１外部サーバ５００ａ〜第ｎ外部サーバ５００ｎ）と、該複数の外部サーバ５００とネットワーク４００を介して通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置１００と、からなる画像形成プログラム・ドライバ管理システムを示す構成図である。
【０２３９】
ここで、ユーザエリア１０内に、第二の実施の形態例の画像形成装置１００と、クライアントＰＣ３００（ここでは、ＰＣ３００ａ〜ＰＣ３００ｄ）とが、ＬＡＮ２００を介して通信可能に接続されている。この画像形成装置１００は、例えば、複写機、プリンタ、スキャナ、ファクシミリ装置等であり、さらに、これらの機能を兼ね備えた複合機であってもよい。
【０２４０】
ここで、クライアントＰＣ３００は、画像形成装置１００に対して印刷要求を送出することが可能である。そして、このような印刷要求を受けた画像形成装置１００は、クライアントＰＣ３００からの画像データに応じた画像を記録紙に形成して出力する。
【０２４１】
また、ＬＡＮ２００は、図示されないファイアウォール等を介して、ネットワーク４００と接続されている。
【０２４２】
ここで、ネットワーク４００は、インターネット、イントラネット、公衆電話回線網、ＩＳＤＮ回線網、専用線、移動体通信網、通信衛星回線、ＣＡＴＶ回線、光通信回線等の各種通信回線を用いたネットワークである。
【０２４３】
また、画像形成装置１００において、１１１は各部を制御する制御手段としてのＣＰＵである。このＣＰＵ１１１は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信する送信制御手段と、前記画像形成プログラムのバージョンと前記画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する受信制御手段と、前記適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより動作プログラムの更新を行う更新制御手段と、前記適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する配信制御手段と、の機能を兼ね備えた制御手段である。
【０２４４】
また、この制御手段としてのＣＰＵ１１１は、外部サーバからの更新通知あるいは予め定められた順位テーブルに含まれるアクセス順位を参照して、通信すべきダウンロードサーバを前記複数の外部サーバの中から決定するダウンロードサーバ決定手段をも構成している。すなわち、複数の外部サーバの中で、プログラムおよびドライバをダウンロードするサーバが、ダウンロードサーバである。
【０２４５】
１１２は不揮発性メモリとしてのフラッシュメモリ、１１３はＨＤＤや各種光ディスク装置などの大容量の記憶が可能な記憶手段、１１４はワークメモリとしてのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、１１５はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。
【０２４６】
ここで、画像形成プログラム（画像形成装置のバイオス（ＢＩＯＳ：Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のような、起動時に基本的な入出力を行うプログラムのほか、画像形成動作の基本アプリケーションプログラム、画像形成動作の応用アプリケーションプログラム、など）のうち、更新が必要なプログラムに関しては、フラッシュメモリ１１２や記憶手段１１３に記憶されている。また、更新が必要ないプログラムや各種データはＲＯＭ１１５に記憶されている。
【０２４７】
１１６は画像形成装置１００と外部との通信を行うＩ／Ｆとしての通信部である。この通信部１１６は、モデム、ＴＡやルータ等によって構成され、ネットワーク４００に接続された外部サーバ５００や外部機器との通信の制御を行う。
【０２４８】
１１７は複数の外部サーバ５００のそれぞれが有する電子署名を検証することで、ダウンロードを行った場合にそのダウンロードサーバがプログラムやドライバの正しい配布元であるかを検証する電子署名検証部である。
【０２４９】
１１８はダウンロードサーバから暗号化されて送られてくるプログラムやドライバを復号化することで、プログラムやドライバに改ざんが加えられていないかについて認証を行う復号化手段である。
【０２５０】
１２０は各種操作入力がなされ、また、装置の状態表示を行う操作表示部である。この操作表示部１２０は、操作部と表示部とが一体的に構成された操作パネルである。操作表示部１２０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等により構成され、ＣＰＵ１１１から入力される表示信号の指示に従って画面上に各種操作釦や画像の状態表示、各機能の動作状況等の表示を行う。また、操作表示部１２０は、透明電極が格子状に配置された感圧式（抵抗膜圧式）のタッチパネル等により構成されているが、視認性の観点から光の透過率が高いものが望ましい。操作表示部１２０は、手指やタッチペン等で押下された力点のＸＹ座標を電圧値で検出し、検出された位置信号を操作信号としてＣＰＵ１１１に出力する。また、操作表示部１２０は、数字釦や各種設定を切り替える機能釦等の各種操作釦を備えている。
【０２５１】
１３０は原稿の画像を読み取るスキャナ部である。スキャナ部１３０は、原稿を載置するプラテンガラスの下部に読取手段を備えて構成され、原稿の画像を読み取る。このスキャナ部１１７は、光源、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等により構成され、光源から原稿へ照明走査した光の反射光を結像して光電変換することにより原稿の画像を読み取り、読み取った画像をプリントエンジン１５０に出力する。ここで、画像は、図形や写真等のイメージデータに限らず、文字や記号等のテキストデータ等も含む。
【０２５２】
１４０は原稿の自動給送を行うＡＤＦ（自動原稿給送装置）である。このＡＤＦ１４０は、自動書類送り出し装置であり、給送ローラ、給送ベルト、排送ローラ等により構成され、画像面を上にしてセットされた原稿束の一番上の原稿から、プラテンガラス上の所定の位置に給送する。また、読取りが終了した原稿を排出する。
【０２５３】
１５０は画像データに応じた画像を記録紙上に形成するプリントエンジンである。このプリントエンジン１５０は、スキャナ部１４０から入力された画像データ、及び通信部１１６により受信された画像データに対して、操作表示部１２０からの入力指示、あるいは通信部１１６から受信した画像データに含まれる指示データに従って拡大縮小、回転、及び位置変更等の画像処理を施して、画像（トナー像）を記録紙上に形成する。
【０２５４】
１６０は画像形成された記録紙の仕分けあるいはステープル処理等の後処理を行うフィニッシャ（ＦＮＳ）である。このＦＮＳ１６０は、本体部１００ａの排出部から排出された印刷用紙の仕分けやステープルを行う。
【０２５５】
なお、ＣＰＵ１１１は、フラッシュメモリ１１２やＲＯＭ１１５に記憶されている画像形成装置１００を制御するための制御プログラムをＲＡＭ１１４に読み出して、読み出した制御プログラムに従って、画像形成装置１００全体の制御を行う。またＣＰＵ１１１は、フラッシュメモリ１１２やＲＯＭ１１５に記憶されている各種処理プログラムをＲＡＭ１１４に読み出して、後述するプログラム更新処理、リカバリ処理を始めとする各種処理を実行し、処理結果をＲＡＭ１１４に格納すると共に操作表示部１２０に表示させたりする。
【０２５６】
フラッシュメモリ１１２は、書き換え可能な不揮発性の半導体メモリであり、画像形成装置１００全体を制御するための、画像形成装置本体部、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各モジュールに対応するプログラム、各種処理プログラム及び各種処理プログラムで処理されたデータ等を記憶する。プログラムは、コンピュータが読取可能なプログラムコードの形態で格納され、ＣＰＵ１１１は、当該プログラムコードに従った動作を逐次実行する。
【０２５７】
記憶手段１１３は、大容量の記憶装置であり、外部サーバ５００からダウンロードした、画像形成装置本体部、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各モジュールに対応する各画像形成プログラム、クライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）を格納する。また、記憶手段１１３は、各画像形成プログラムや各画像形成ドライバの更新履歴管理情報を格納する。
【０２５８】
また、外部サーバ５００から送信される、各プログラムのバージョンの適正な組み合わせに関する適正組み合わせ情報を受信して、受信した情報に基づいて、サーバ５００から更新用の画像形成プログラムや画像形成ドライバをダウンロードする。
【０２５９】
外部サーバ５００は、例えば、メーカのセンタ等に設けられたサーバであり、画像形成装置１００を始めとする画像形成装置の本体や、ＡＤＦ（自動書類送り出し装置）、ＦＮＳ（フィニッシャ）等のオプション機器の各プログラムのバージョンアップのための更新用の画像形成プログラムおよび画像形成ドライバ、機種及びシステム構成に応じた適正組み合わせ情報を記憶・管理するものである。
【０２６０】
なお、この第二の実施の形態例において、外部サーバ５００は複数のサーバで構成されており、それぞれは、同一の内容のプログラムおよびドライバが格納された状態のミラーサーバとして動作している。
【０２６１】
外部サーバ５００は、ネットワーク４００を介して、画像形成装置１００から機種、システム構成及び各プログラムのバージョン情報を受信すると、画像形成装置１００の機種及びシステム構成に応じた適正組み合わせ情報を送信する。また、画像形成装置１００から更新用の画像形成プログラムおよび画像形成ドライバの送信要求があると、画像形成装置１００に要求された更新用の画像形成プログラムおよび画像形成ドライバを送信する。
【０２６２】
なお、この第二の実施の形態においては、外部サーバ５００から送信される各更新用の画像形成プログラムは、画像形成装置１００の更新前バージョンのプログラムと更新後のバージョンのプログラムとの差分プログラムとするが、更新後バージョンのプログラム全体を画像形成装置１００に送信し、画像形成装置１００側で、プログラム全体を書き換えるようにしてもよい。
【０２６３】
また、この第二の実施の形態においては、外部サーバ５００から送信される各更新用の画像形成ドライバは、画像形成装置１００の更新前バージョンのドライバと更新後のバージョンのドライバとの差分ドライバとするが、更新後バージョンのドライバ全体を画像形成装置１００に送信し、画像形成装置１００側で、ドライバ全体を管理するようにしてもよい。
【０２６４】
また、第二の実施の形態例において、画像形成プログラムおよび画像形成ドライバを管理する外部サーバ５００と、該外部サーバと通信可能に構成されていて画像形成プログラムと画像形成ドライバとを記憶するための記憶手段を備えた画像形成装置１００とにより、画像形成プログラム・ドライバ管理システムを構成している。
【０２６５】
なお、第二の実施の形態例においては、画像形成プログラムとは、画像形成装置のバイオス等のファームウェア、画像形成の基本プログラム、画像形成の応用プログラムを意味する。
【０２６６】
図１４はＨＤＤなどの記憶手段１１３に格納されている格納状況を示す説明図であり、図１４（ａ）はＨＤＤなどの記憶手段１１３に格納されている更新用の画像形成プログラムおよび画像形成ドライバの差分プログラム・差分ドライバとしての格納状況を模式的に示す説明図、図１４（ｂ）はＨＤＤなどの記憶手段１１３を順位テーブルとして格納されている複数の外部サーバのアクセス順位の格納状況を模式的に示す説明図、である。
【０２６７】
この図１４（ａ）に示すように、ＨＤＤなどの記憶手段１１３は、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０のモジュール別に画像形成プログラムを格納するフォルダを有しており、各フォルダの中に、バージョンアップ時の差分プログラム形式の画像形成プログラムが、新しいバージョン番号と同一のファイル名が付されて格納されている。
【０２６８】
また、同様に、この図１４（ａ）に示すように、ＨＤＤなどの記憶手段１１３は、スキャナドライバ、プリンタドライバというようにモジュール別に画像形成ドライバを格納するフォルダを有しており、各フォルダの中に、バージョンアップ時の差分ドライバ形式の画像形成ドライバが、新しいバージョン番号と同一のファイル名が付されて格納されている。
【０２６９】
また、図１４（ｂ）に示すように、ＨＤＤなどの記憶手段１１３は、複数の外部サーバ５００に対して画像形成装置１００がアクセスするアクセス順位が優先順位に従って格納されている。
【０２７０】
図１５は、ＨＤＤなどの記憶手段１１３に格納されている更新履歴管理情報の一例を示す説明図である。この図１５の例では、ファイル名末尾に「＿Ｐ」のようにあるものが画像形成プログラムであり、ファイル名末尾に「＿ｄ」のようになっているものが画像形成ドライバである。
【０２７１】
この図１５に示すように、更新履歴管理情報には、外部サーバ５００からの更新用の画像形成プログラムおよび画像形成ドライバのダウンロードあるいはリカバリが行われて更新された日付、及びその日付で更新された各プログラムやドライバのバージョンからなる更新履歴が格納されている。
【０２７２】
また、同時に動作することが必須な他のプログラムが存在するプログラムやドライバのバージョンには、バージョンの後に、記号＊とともに同時ダウンロードが必須なプログラム名及びバージョン情報を併せて格納する。
【０２７３】
この更新履歴管理情報は、更新日付がインデックスデータとなっており、この更新日付における更新後の各プログラムのバージョンの組み合わせを容易に検索でき、各プログラム単体の更新履歴が管理できると共に、更新日付毎の各プログラムのバージョンの組み合わせが管理できる。
【０２７４】
また、この更新履歴管理情報には、どの外部サーバをダウンロードサーバとしてダウンロードを行ったかについて、更新日付のあとに、ダウンロードサーバ名が記録されている。また、更新が正常に実行されたか（／ＯＫ）、更新が正常に実行されなかったか（／ＮＧ）が、各プログラムやドライバ毎に記録されている。
【０２７５】
ここでは、第１外部サーバ５００ａをダウンロードサーバとした場合に、ＳＥＲＶＥＲ＃１と記録され、第２外部サーバ５００ｂをダウンロードサーバとした場合に、ＳＥＲＶＥＲ＃２と記録されている例を示している。
【０２７６】
以下、外部サーバ５００の内部構成について詳細に説明する。
【０２７７】
図１３に示すように、外部サーバ５００は、ＣＰＵ５０１、メモリ５０２、通信部５０３、操作表示部５１０、格納手段５２０、電子署名生成部５３０、暗号化手段５４０、等により構成され、各部はアドレスバスやデータバスにより接続されている。
【０２７８】
ここで、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１は、格納手段５２０に記憶されているシステムプログラムを読み出し、該システムプログラムに従って各部の動作を集中制御する。また、ＣＰＵ５０１は、読み出したシステムプログラム５２０＿０（図１６参照）に従って、各種処理を実行し、その結果をメモリ５０２に格納すると共に操作表示部５１０に表示させる。そして、メモリ５０２に格納した処理結果を、格納手段５２０の所定の保存先に保存させる。
【０２７９】
また、この第二の実施の形態において、ＣＰＵ５０１は、通信部５０３を介して画像形成装置１００から機種、システム構成、各モジュールに対応する現行プログラムのバージョン情報を受信すると、格納手段５２０に格納された適正組み合わせファイル５２０＿２（図１６参照）を参照して、画像形成装置１００の機種、システム構成、各プログラムの現行バージョンにおける、各プログラムのバージョンの適正な組み合わせを判定し、この各プログラムのバージョンの適正な組み合わせである適正組み合わせ情報を画像形成装置１００に送信する。
【０２８０】
また、画像形成装置１００から送信要求された更新用の画像形成プログラムおよび画像形成ドライバをプログラム・ドライバＤＢ５２０＿１（図１６参照）から読み出して画像形成装置１００へ送信する。
【０２８１】
また、メモリ５０２は、ＣＰＵ５０１により実行制御される各種処理において、格納手段５２０から読み出された外部サーバ５００で実行可能なシステムプログラム、制御プログラム、入力若しくは出力データ、及びパラメータ等の一時的な格納領域となる。
【０２８２】
通信部５０３は、モデム、ＴＡやルータ等によって構成され、ネットワーク４００に接続された画像形成装置１００や外部機器との通信の制御を行う。
【０２８３】
操作表示部５１０は、文字／英数字入力キー、カーソルキー、及び各種機能キー等を備えたキーボードと、ポインティングデバイスであるマウスと、を備えて構成され、キーボードで押下操作されたキーの押下信号とマウスによる操作信号とを、入力信号としてＣＰＵ５０１へ出力する。また、操作表示部５１０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等により構成され、ＣＰＵ５０１から入力される表示信号の指示に従って、表示画面上に、各種データの表示を行う。
【０２８４】
格納手段５２０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）や不揮発性の半導体メモリ等により構成され、外部サーバ５００に対応するシステムプログラム、及び該システムプログラム上で実行可能な各種処理プログラム、及びこれらのプログラムで処理されたデータ等を記憶する。プログラムは、コンピュータが読み取り可能なプログラムコードの形態で格納され、ＣＰＵ５０１は、当該プログラムコードに従った動作を逐次実行する。
【０２８５】
なお、格納手段５２０には、画像形成プログラムのバージョンと画像形成ドライバのバージョンとの適正な組み合わせに関する適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバが格納されている。
【０２８６】
すなわち、第二の実施の形態例において、格納手段５２０は、図１６に示すように、内部に、外部サーバ５００自体の動作のためのシステムプログラム５２０＿０の他に、画像形成装置１００を始めとする画像形成装置の本体やＡＤＦ（自動書類送り出し装置）、ＦＮＳ（フィニッシャ）等のオプション機器のバージョンアップのための更新用の画像形成プログラムおよび画像形成ドライバを格納するプログラム・ドライバＤＢ５２０＿１、及び機種及びシステム構成に応じた適正組み合わせ情報を記憶した適正組み合わせファイル５２０＿２を格納している。
【０２８７】
また、この第二の実施の形態例において、格納手段５２０は、図１６に示すように、内部に、複数の外部サーバ５００の中からダウンロードサーバとして選択された場合に、画像形成装置１００に対して送出するサーバＩＤ５２０＿３を有している。そして、画像形成装置１００側では、サーバＩＤ５２０＿３を参照して、ＣＰＵ１１１が更新履歴管理情報にサーバＩＤの記録を行う（図１５参照）。
【０２８８】
また、この第二の実施の形態例において、電子署名生成部５３０は、複数の外部サーバ５００のそれぞれが、プログラムやドライバの正しい配布元となる資格を有するダウンロードサーバとなりうることを証明するための電子署名を生成する。なお、この電子署名は、プログラムやドライバと共に、画像形成装置１００側に送られ、画像形成装置１００側の電子署名検証部１１７にて電子署名の検証がなされる。
【０２８９】
また、この第二の実施の形態例において、暗号化手段５４０は、画像形成装置１００側に送るプログラムやドライバを予め暗号化することで、画像形成装置１００側でプログラムやドライバに改ざんが加えられていないかについて認証を行うことを可能にするものである。
【０２９０】
ここで、図１７以降のフローチャートを参照して、第二の実施の形態例の画像形成装置１００、及び、画像形成装置の画像形成プログラム・ドライバ管理システムの動作について説明する。
【０２９１】
図１７は、第二の実施の形態例において、画像形成装置１００のＣＰＵ１１１により実行される各種処理の内容を決定するための処理内容判断ルーチンの流れを示している。
【０２９２】
なお、ＣＰＵ１１１は、ＨＤＤ１１３内のアドレス情報（図１４（ｂ））に基づいて、外部サーバ５００の中からプログラムやドライバをダウンロードするサーバについてダウンロードサーバ５００ｘとして決定を行っているものとする。なお、ダウンロードサーバ５００の中の第１外部サーバ５００ａ〜第ｎ外部サーバ５００ｎのいずれかが、優先順位に基づいて、ダウンロードサーバ５００ｘとして決定されているとして説明を行う。
【０２９３】
なお、このようにダウンロードサーバ５００ｘの優先順位を決定する際、ネットワークでのトラフィックを避けるため、各画像形成装置１００毎に、ダウンロードサーバ５００ｘを異なる外部サーバ５００の中から選択して決定することが望ましい。
【０２９４】
ＣＰＵ１１１は画像形成装置１００の各部を監視しており、通信部１１６が外部から更新通知を受信した場合（図１７Ｓ１）、その更新通知が、外部サーバ５００からの通知であるか、また、その更新通知の内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知であるか、を調べる（図１７Ｓ２）。なお、この時点では、決定されたダウンロードサーバ５００ｘ以外の外部サーバ５００であっても構わない。
【０２９５】
受信した更新通知が決定した外部サーバ５００からのものでない場合、または、その更新通知の内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知でない場合（図１７Ｓ２でＮ）、ＣＰＵ１１１は処理内容判断ルーチンを終了して、通常のシステムプログラムの動作に戻る（図１７エンド）。
【０２９６】
なお、外部サーバ５００において新たなバージョンの画像形成プログラムあるいは画像形成ドライバが格納手段５２０のプログラム・ドライバＤＢ５２０＿１に格納されると、ＣＰＵ５０１は、更新の通知に関する更新通知をネットワーク４００を介して画像形成装置１００に送信する。
【０２９７】
また、このような外部サーバ５００のＣＰＵ５０１による自発的な送信のほか、画像形成装置１００の操作者による操作表示部１２０の操作に基づいた通信部１１６からの更新通知の問い合わせに対応して、更新についての更新通知を画像形成装置１００に対して送信する。
【０２９８】
さらに、このような外部サーバ５００のＣＰＵ５０１による自発的な送信のほか、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末からの更新通知の問い合わせに対応して、更新通知を画像形成装置１００に対して送信する。
【０２９９】
一方、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末からの更新指示に関する更新通知を画像形成装置へ送信して、画像形成装置のプログラム更新ルーチンを起動する方法もある。
【０３００】
または、操作者あるいはカスタマエンジニアなどが操作表示部１２０からの更新指示の入力にて、画像形成装置１００のプログラム更新ルーチンを起動する方法もある。
【０３０１】
さらに、画像形成装置１００の操作者あるいはカスタマエンジニアなどが操作する各種携帯端末を画像形成装置１００に対してケーブルや赤外線や無線などによって接続し、この携帯端末からの更新指示を画像形成装置へ送信して、画像形成装置のプログラム更新ルーチンを起動する方法もある。
【０３０２】
このように、外部サーバ５００からの更新通知、あるいは、操作者やカスタマエンジニアの操作を、画像形成プログラムならびに画像形成ドライバの更新に際しての「更新トリガ」として用いることができ、これにより適切なタイミングの更新が可能になる。また、ユーザ側のＬＡＮに管理サーバなどを設ける必要もなくなる。
【０３０３】
受信した更新通知が外部サーバ５００からのものであり、かつ、その更新通知の内容が画像形成プログラムあるいは画像形成ドライバの更新についての通知である場合（図１７Ｓ２でＹ）、手動設定であれば画像形成プログラムあるいは画像形成ドライバの更新をするか否かを、操作表示部１２０の表示パネルに表示して、操作者の了承を求める（図１７Ｓ３）。
【０３０４】
手動設定であって画像形成プログラムあるいは画像形成ドライバの更新をすることに操作者が了承しない場合（図１７Ｓ３でＮ）、ＣＰＵ１１１は処理内容判断ルーチンを終了して、通常のシステムプログラムの動作に戻る（図１７エンド）。
【０３０５】
手動設定でない場合（自動設定の場合）、あるいは、手動設定であって画像形成プログラムあるいは画像形成ドライバの更新をすることに操作者が了承した場合（図１７Ｓ３でＹ）、ＣＰＵ１１１はプログラム更新処理ルーチン（図１８参照）を起動する（図１７Ｓ４）。
【０３０６】
図１８は、画像形成装置１００のＣＰＵ１１１により実行されるプログラム更新処理ルーチンを示すフローチャートである。以下、図１８を参照して、プログラム更新処理について説明する。
【０３０７】
このプログラム更新処理ルーチンが起動されると、ＣＰＵ１１１は、最適組み合わせ判定ルーチンを実行する（図１８Ｓ１）。なお、この最適組み合わせ判定ルーチンは図１９に示すサブルーチンである。
【０３０８】
ここで、ＣＰＵ１１１は、通信部１１６によりネットワーク４００を介して、画像形成装置１００の機種、システム構成、各モジュールに対応するプログラムのバージョンを、外部サーバ５００へ送信する（図１９Ｓ１）。そして、外部サーバ５００からの応答を待機する（図１９Ｓ２）。
【０３０９】
画像形成装置１００が図１９Ｓ２の応答待機状態であるとき、外部サーバ５００のＣＰＵ５０１は、通信部５０３を介して、画像形成装置１００から機種、システム構成、各モジュールに対応するプログラムのバージョン情報を受信し、格納手段５２０に格納された適正組み合わせファイル５２０＿２を参照して、画像形成装置１００の機種、システム構成における、各プログラムのバージョンの最新の適正な組みあわせを判定し、この各プログラムのバージョンの適正な組み合わせである適正組み合わせ情報を、通信部５０３を介して画像形成装置１００に送信する。
【０３１０】
ＣＰＵ１１１は、外部サーバ５００から送信された適正組み合わせ情報を受信すると（図１９Ｓ３）、これを操作表示部１２０の操作パネルの適正バージョン管理画面１２０１（図８参照）上に表示する（図１９Ｓ４）。あるいは、更新通知の送信先へ、適正組み合わせ情報を送信する。
【０３１１】
また、適正バージョン管理画面（図１９Ｓ４）から、あるプログラムが選択され、更新の開始が指示されると（図１８Ｓ２でＹ）、ＣＰＵ１１１は、図２０に示すプログラムダウンロードルーチンを実行する（図１８Ｓ３）。
【０３１２】
なお、以上の動作では、更新通知を送信してきた外部サーバ５００に対しての通信であったが、この第二の実施の形態例においては、以下のダウンロードルーチンでは、優先順位が決定されているダウンロードサーバとの通信となる。
【０３１３】
ここで、画像形成装置１００のＣＰＵ１１１は、ｍ＝１とセットして（図２０Ｓ１）、外部サーバ５００の中でｍ番目の優先順位のダウンロードサーバ５００ｘにアクセスを試みる。すなわち、最初には、優先順位第１位のダウンロードサーバ５００ｘにアクセスを試みる。この際には、図１４（ｂ）に示すように、ＨＤＤなどの記憶手段１１３に格納されたアクセス順位を参照する。
【０３１４】
ここで、一定時間アクセスを試みてもアクセスできない場合（図２０Ｓ３でＮ）、ＣＰＵ１１１はｍを１増加させて（図２０Ｓ４）、優先順位第２位以降のダウンロードサーバ５００ｘにアクセスを試みる（図２０Ｓ２）。
【０３１５】
いずれかの優先順位のダウンロードサーバ５００ｘにアクセスが成功した場合、そのダウンロードサーバ５００ｘからプログラムおよびドライバをダウンロードする（図２０Ｓ５）。すなわち、更新指示されたプログラムの更新用の画像形成プログラムおよび画像形成ドライバの送信要求を行い、ダウンロードサーバ５００ｘから、更新用の画像形成プログラムおよび画像形成ドライバをダウンロードする（図２０Ｓ５）。
【０３１６】
このように、優先順位に従ってダウンロードサーバ５００ｘを決定することで、予め定められた優先順位が画像形成装置毎に異なっていれば、アクセスが集中することを防止できる。
【０３１７】
また、アクセスを一定時間試みても成功しない場合には、優先順位がつぎのダウンロードサーバ５００ｘにアクセスをするようにしているので、同一のダウンロードサーバ５００ｘにアクセスが集中することやネットワークのトラフィックを回避できる。
【０３１８】
ここで、ＣＰＵ１１１と電子署名検証部１１７とは、ダウンロードを実行したプログラムおよびドライバに付されている電子署名を抽出し、この電子署名から、該ダウンロードサーバ５００ｘが正しい配布元であるかについての認証を行う（図１８Ｓ５）。この場合、各種の認証方式を用いることが可能である。
【０３１９】
また、ここで、ＣＰＵ１１１と復号化手段１１８とは、ダウンロードを実行したプログラムおよびドライバを復号化する過程で、内容が改ざんされていないかの検証を行う。なお、この改ざんの検証については、各種の方式を用いることがかのうであり、一例として、デジタル署名を用いたコードサイニングを用いることも可能である。
【０３２０】
認証の結果、正しい配布元でないと判明した場合、または、検証の結果、改ざんが発見された場合（図１８Ｓ５でＮ）、ＣＰＵ１１１は、さきほどダウンロードしたプログラムおよびドライバについて、更新を行わず、そのまま破棄する。
【０３２１】
認証の結果、正しい配布元であると判明し、改ざんされていないと検証された場合（図１８Ｓ５でＹ）、さきほどダウンロードしたプログラムおよびドライバについて、ＣＰＵ１１１は、フラッシュメモリ１１２あるいは記憶手段１１３の画像形成プログラムを書き換える（図１８Ｓ６）。
【０３２２】
なお、画像形成ドライバについては、後述するようにクライアントＰＣ３００に転送するため、画像形成装置１００内の記憶手段１１３などの所定の領域にダウンロードしておく。
【０３２３】
なお、以上のダウンロードと認証および検証について、必要とされるプログラムおよびドライバの全てについて実行しておく（図１８Ｓ７でＮ→図１８Ｓ２〜図１８Ｓ６）。
【０３２４】
そして、ＣＰＵ１１１は、バージョンアップする全ての画像形成プログラムについて、上記ステップＳ３〜Ｓ６を実行し、操作表示部１２０から終了が指示されると（図１８Ｓ８でＹ）、操作表示部１２０に更新履歴情報画面１２０２（図２１参照）を表示させる（図１８Ｓ８）。
【０３２５】
また、認証の結果、正しい配布元でないと判明した場合、または、検証の結果、改ざんが発見された場合（図１８Ｓ５でＮ）も、ＣＰＵ１１１は、バージョンアップする予定であった全ての画像形成プログラムについて、操作表示部１２０に更新履歴情報画面１２０２（図２１参照）を表示させる（図１８Ｓ８）。
【０３２６】
なお、この更新履歴情報画面１２０２では、各プログラムおよびドライバ毎に、認証により正しい配布元でないと判明した場合、または、検証により改ざんが発見された場合、あるいは、ダウンロードが正常に終了しなかった場合は、／ＮＧと表示されている。また、認証により正しい配布元であると判明し、検証により改ざんが発見されなく、ダウンロードが正常に終了した場合には、／ＯＫと表示されている。
【０３２７】
そして、更新履歴情報画面上から、今回のプログラムの更新履歴を登録する指示が入力されると（図１８Ｓ９でＹ）、ＣＰＵ１１１は、ＨＤＤなどの記憶手段１１３の更新履歴管理情報に、更新日付、及び各プログラムの更新後バージョンとダウンロードサーバ５００ｘから同時動作が必須と指摘されたプログラムの情報を登録するとともに、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０の各フォルダに、ダウンロードサーバ５００ｘからダウンロードした更新前プログラムと更新後プログラムとの差分プログラムを、バージョン番号と同一のファイル名を付して登録する（図１８Ｓ１０）。
【０３２８】
また、上記プログラム更新処理において、プログラムは、モジュール毎に更新開始の指示が可能であるので、画像形成装置１００が動作中であっても、動作していないモジュールのプログラムを書き換えることができる。また、万一、プログラム書き換えに失敗しても、基本機能のみで動作させることができる。
【０３２９】
図２１は、図１８のステップＳ８で操作表示部１２０に表示される更新履歴情報画面１２０２の一例を示す説明図である。この図２１に示す更新履歴情報画面１２０２には、更新日付と、その更新日に更新された各モジュールのプログラムバージョンとが対応付けされて、最新更新日から順に表示されている。すなわち、更新直後の履歴は、最上位に表示される。
【０３３０】
この最上位の履歴の左側に表示されている「履歴登録」が押下されると、図１８のステップＳ１０に移行し、ＨＤＤなどの記憶手段１１３の更新履歴管理情報に更新日付と今回更新した各プログラム毎のバージョンの更新履歴が登録されるとともに、本体部１００ａ、ＡＤＦ１４０、プリントエンジン１５０、ＦＮＳ１６０に対応する各フォルダに、ダウンロードサーバ５００ｘからダウンロードしたそれぞれのプログラムの差分プログラムが、バージョン番号と同一のファイル名を付して登録される。
【０３３１】
登録後は、更新履歴情報画面１２０２は、図２２に示すように、「履歴登録」ボタンが「戻す」ボタンに変化して表示される。また、最上位の更新結果欄にＯＫが表示される。
【０３３２】
なお、この更新履歴情報画面１２０２でも、各プログラムおよびドライバ毎に、認証により正しい配布元でないと判明した場合、または、検証により改ざんが発見された場合、あるいは、ダウンロードが正常に終了しなかった場合は、／ＮＧと表示されている。また、認証により正しい配布元であると判明し、検証により改ざんが発見されなく、ダウンロードが正常に終了した場合には、／ＯＫと表示されている。
【０３３３】
〈第二の実施の形態例により得られる効果〉
なお、以上詳細に説明した第二の実施の形態例によれば、以下の（１）〜（１１）に示すような効果を得ることが可能になる。
【０３３４】
（１）以上の第二の実施の形態例では、画像形成装置１００は、画像形成装置１００のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を外部サーバ５００に対して送信し、適正組み合わせ情報を前記外部サーバ５００より受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムを、予め定められた優先順位に従って、複数の外部サーバ中のダウンロードサーバ５００ｘより受信し、更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３３５】
（２）以上の第二の実施の形態例では、上記（１）において、画像形成装置１００に対して印刷要求を送出可能なクライアントＰＣ３００が接続されており、クライアントＰＣ３００から印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣ３００が使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３３６】
（３）以上の第二の実施の形態例では、上記（１）、（２）において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣ３００に配信する。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３３７】
（４）以上の第二の実施の形態例では、上記（３）において、画像形成装置１００は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３３８】
（５）以上の第二の実施の形態例では、上記（３）または（４）において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣ３００に配信するようにしている。この結果、画像形成装置１００のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【０３３９】
（６）以上の第二の実施の形態例では、上記（１）〜（５）において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。
また、更新後のプログラムを前回との差分プログラムで記憶しているので、記憶容量の最小化、コスト削減、登録時間の短縮を図ることができる。
【０３４０】
（７）以上の第二の実施の形態例では、上記（１）〜（６）において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【０３４１】
（８）以上の第二の実施の形態例では、上記（１）〜（７）において、外部サーバ５００からの更新通知を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバ５００ｘより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３４２】
（９）以上の第二の実施の形態例では、上記（１）〜（７）において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバ５００ｘより受信するようにしている。
【０３４３】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３４４】
（１０）以上の第二の実施の形態例では、上記（１）〜（７）において、操作者による外部サーバ５００へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバ５００ｘより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３４５】
（１１）以上の第二の実施の形態例では、上記（１）〜（７）において、操作者による画像形成装置１００へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバ５００ｘより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置１００で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３４６】
（１２）以上の第二の実施の形態例では、上記（１）〜（１１）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが正しい配布元からのものかを認証することが可能になる。
【０３４７】
（１３）以上の第二の実施の形態例では、上記（１）〜（１１）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが改ざんされていない正しい内容かを認証することが可能になる。
【０３４８】
（１４）以上の第二の実施の形態例では、上記（１）〜（１３）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、さらに、画像形成装置の機種、システム構成等の装置の構成に応じて、適正な組み合わせとなるバージョンで各プログラムを更新することができるので、各プログラムのバージョンが適合しないことによる更新後の動作エラーを未然に防ぐことができ、ユーザや経験の浅いサービスマンであってもプログラム更新を容易、迅速、安全に行うことが可能になる。
【０３４９】
〈第二の実施の形態例の変形例〉
なお、上記実施の形態における記述内容は、画像形成プログラム・ドライバ管理システム、及び、画像形成装置１００の好適な一例であり、これに限定されるものではない。
【０３５０】
例えば、上記実施の形態においては、画像形成装置１００からダウンロードサーバ５００ｘへ通信を行って、更新用の画像形成プログラムおよび画像形成ドライバ及び適正組み合わせ情報をダウンロードする構成としているが、ダウンロードサーバ５００ｘが、プログラムが新しいバージョンに更新される毎に、画像形成装置１００に、適正組み合わせ情報及び更新用の画像形成プログラムおよび画像形成ドライバを送信してダウンロードさせるようにしてもよい。
【０３５１】
また、画像形成装置１００側が通信部を有していない場合は、サービスマン等が通信装置を一時的に設置して、ダウンロードサーバ５００ｘに接続可能な構成にすることにより、プログラムのダウンロードを行うようにしてもよい。
【０３５２】
その他、画像形成プログラム・ドライバ管理システム及び該システムを構成する各装置の細部構成及び細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【０３５３】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果を得ることが可能になる。
【０３５４】
（１）第１の発明では、画像形成装置は、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信し、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３５５】
（２）第２の発明では、上記（１）の発明において、画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、クライアントＰＣから印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３５６】
（３）第３の発明では、上記（１）、（２）の発明において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣに配信する。この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３５７】
（４）第４の発明では、上記（３）の発明において、画像形成装置は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３５８】
（５）第５の発明では、上記（３）または（４）の発明において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣに配信するようにしている。この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【０３５９】
（６）第６の発明では、上記（１）〜（５）の発明において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。
【０３６０】
（７）第７の発明では、上記（１）〜（６）の発明において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【０３６１】
（８）第８の発明では、上記（１）〜（７）の発明において、外部サーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３６２】
（９）第９の発明では、上記（１）〜（７）の発明において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。
【０３６３】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３６４】
（１０）第１０の発明では、上記（１）〜（７）の発明において、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３６５】
（１１）第１１の発明では、上記（１）〜（７）において、操作者による画像形成装置１００へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記外部サーバより受信するようにしている。この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３６６】
（１２）第１２の発明では、画像形成装置は、複数の外部サーバの中から通信すべきダウンロードサーバを決定しておき、画像形成装置のシステム構成を含むシステム情報および画像形成プログラムのバージョンに関するバージョン情報を前記外部サーバに対して送信し、適正組み合わせ情報を前記外部サーバより受信し、画像形成プログラムならびに画像形成ドライバを前記ダウンロードサーバより受信する。そして、適正組み合わせ情報に基づいて適正な組み合わせとなる画像形成プログラムにより更新を行う。さらに、適正組み合わせ情報に基づいて、画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【０３６７】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３６８】
また、複数の外部サーバの中から通信すべきダウンロードサーバを決定する際には、予め定められた順位に従って決定するが、外部サーバに問題が生じている場合には下位の外部サーバをダウンロードサーバとして決定する。このようにすることで、混雑あるいはサーバダウンまたはアドレス指定エラーなどが生じていても、確実に通信できるダウンロードサーバを決定して通信を行うことが可能になる。
【０３６９】
（１３）第１３の発明では、上記（１２）において、画像形成装置に対して印刷要求を送出可能なクライアントＰＣが接続されており、クライアントＰＣから印刷要求を受信した際に、適正組み合わせ情報に基づいて画像形成プログラムに対して適正な組み合わせとなる画像形成ドライバをクライアントＰＣに配信する。
【０３７０】
この結果、画像形成装置のプログラム（画像形成プログラム）や画像形成する際にクライアントＰＣが使用する画像形成ドライバ（プリンタドライバ、スキャナドライバ）の更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３７１】
（１４）第１４の発明では、上記（１２）、（１３）において、複数の異なるバージョンの画像形成プログラムと画像形成ドライバとを記憶しておき、更新履歴に応じた適正組み合わせ情報に基づいて、復元（リカバリ）された画像形成プログラムに対して適正な組み合わせとなるバージョンの画像形成ドライバを、クライアントＰＣに配信する。
【０３７２】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、復元（リカバリ）実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３７３】
（１５）第１５の発明では、上記（１４）において、画像形成装置は、操作入力がなされる操作手段を備えており、操作手段を介して指定されたバージョンの画像形成プログラムに復元するようにしている。
【０３７４】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。
【０３７５】
（１６）第１６の発明では、上記（１４）または（１５）において、適正組み合わせ情報に基づいて、復元された画像形成プログラムに対して適正な組み合わせとなる複数のバージョンの画像形成ドライバの中から、操作手段を介して指定されたバージョンのものをクライアントＰＣに配信するようにしている。
【０３７６】
この結果、画像形成装置のプログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能であって、任意の状態への復元（リカバリ）が可能であり、かつ、復元実行時にも画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようにすることが可能になる。そして、このような適正な組み合わせとなる範囲の中での任意のバージョンの指定が可能になる。
【０３７７】
（１７）第１７の発明では、上記（１２）〜（１６）において、画像形成プログラムとして、以前のバージョンの画像形成プログラムとの差分プログラムを用いるようにしている。このため、更新用の画像形成プログラムのファイルサイズが小さくなり、取り扱いが容易になる。また、更新後のプログラムを前回との差分プログラムで記憶しているので、記憶容量の最小化、コスト削減、登録時間の短縮を図ることができる。
【０３７８】
（１８）第１８の発明では、上記（１２）〜（１７）において、画像形成ドライバとして、以前のバージョンの画像形成ドライバとの差分ドライバを用いるようにしている。このため、更新用の画像形成ドライバのファイルサイズが小さくなり、取り扱いが容易になる。
【０３７９】
（１９）第１９の発明では、上記（１２）〜（１８）において、ダウンロードサーバからの電子メールを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０３８０】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切なタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３８１】
（２０）第２０の発明では、上記（１２）〜（１８）において、操作入力がなされる操作手段を備え、前記受信制御手段は、前記操作手段からの操作を更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０３８２】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３８３】
（２１）第２１の発明では、上記（１２）〜（１８）において、操作者による外部サーバへのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０３８４】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３８５】
（２２）第２２の発明では、上記（１２）〜（１８）において、操作者による画像形成装置へのアクセスを更新トリガとして、適正組み合わせ情報、画像形成プログラム、ならびに、画像形成ドライバを前記ダウンロードサーバより受信するようにしている。
【０３８６】
この結果、画像形成プログラムや画像形成ドライバの更新を、管理サーバなどを設けずに画像形成装置で管理することが可能になり、適切な任意のタイミングで、確実に、画像形成プログラムとドライバとの適正な組み合わせの更新が行われるようになる。
【０３８７】
（２３）第２３の発明では、（１２）〜（２２）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが正しい配布元からのものかを認証することが可能になる。
【０３８８】
（２４）第２４の発明では、（１２）〜（２２）において、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、ダウンロードしたプログラムやドライバが改ざんされていない正しい内容かを認証することが可能になる。
【０３８９】
（２５）以上の（１）〜（１１）のそれぞれの発明によれば、さらに、画像形成装置の機種、システム構成等の装置の構成に応じて、適正な組み合わせとなるバージョンで各プログラムを更新することができるので、各プログラムのバージョンが適合しないことによる更新後の動作エラーを未然に防ぐことができ、ユーザや経験の浅いサービスマンであってもプログラム更新を容易、迅速、安全に行うことが可能になる。
【０３９０】
（２６）以上の（１２）〜（２４）のそれぞれの発明によれば、複数の外部サーバの中からダウンロードサーバを決定してダウンロードした場合に、さらに、画像形成装置の機種、システム構成等の装置の構成に応じて、適正な組み合わせとなるバージョンで各プログラムを更新することができるので、各プログラムのバージョンが適合しないことによる更新後の動作エラーを未然に防ぐことができ、ユーザや経験の浅いサービスマンであってもプログラム更新を容易、迅速、安全に行うことが可能になる。
【図面の簡単な説明】
【図１】本発明に係る画像形成プログラム・ドライバ管理システムの全体構成を概念的に示すブロック図である。
【図２】本発明の実施の形態例における記憶手段に格納されている差分プログラム、差分ドライバの格納状況を模式的に示す説明図である。
【図３】本発明の実施の形態例の記憶手段に格納されている更新履歴管理情報の一例を示す説明図である。
【図４】本発明の実施の形態例における格納手段５２０のデータ格納構成を示す説明図である。
【図５】本発明の実施の形態例におけるの適正組み合わせファイル５２０＿２内部のデータ格納例を示す説明図である。
【図６】本発明の実施の形態例の画像形成装置１００のＣＰＵ１１１により実行される各種処理の内容を決定するための処理内容判断ルーチンを示すフローチャートである。
【図７】本発明の実施の形態例のＣＰＵ１１１により実行されるプログラム更新処理のフローチャートである。
【図８】本発明の実施の形態例の操作表示部１２０に表示される適正バージョン管理画面１２０１を示す説明図である。
【図９】本発明の実施の形態例の操作表示部１２０に表示される更新履歴情報画面１２０２を示す説明図である。
【図１０】本発明の実施の形態例の操作表示部１２０に表示される更新履歴情報画面１２０２を示す説明図である。
【図１１】本発明の実施の形態例のＣＰＵ１１１により実行されるドライバ更新処理のフローチャートである。
【図１２】本発明の実施の形態例のＣＰＵ１１１により実行されるリカバリ処理のフローチャートである。
【図１３】本発明に係る画像形成プログラム・ドライバ管理システムの全体構成を概念的に示すブロック図である。
【図１４】本発明の実施の形態例における記憶手段に格納されている差分プログラム、差分ドライバの格納状況を模式的に示す説明図である。
【図１５】本発明の実施の形態例の記憶手段に格納されている更新履歴管理情報の一例を示す説明図である。
【図１６】本発明の実施の形態例における格納手段５２０のデータ格納構成を示す説明★図である。
【図１７】本発明の実施の形態例の画像形成装置１００のＣＰＵ１１１により実行される各種処理の内容を決定するための処理内容判断ルーチンを示すフローチャートである。
【図１８】本発明の実施の形態例のＣＰＵ１１１により実行されるプログラム更新処理のフローチャートである。
【図１９】本発明の実施の形態例のＣＰＵ１１１により実行される最適組み合わせ判定ルーチンのフローチャートである。
【図２０】本発明の実施の形態例のＣＰＵ１１１により実行されるプログラムダウンロードのフローチャートである。
【図２１】本発明の実施の形態例の操作表示部１２０に表示される更新履歴情報画面１２０２を示す説明図である。
【図２２】本発明の実施の形態例の操作表示部１２０に表示される更新履歴情報画面１２０２を示す説明図である。
【符号の説明】
１  画像形成プログラム・ドライバ管理システム
１００  画像形成装置
１００ａ  本体部
１１１  ＣＰＵ
１１２  フラッシュメモリ
１１３  記憶手段
１１４  ＲＡＭ
１１５  ＲＯＭ
１１６  通信部
１２０  操作表示部
１３０  スキャナ部
１４０  ＡＤＦ
１５０  プリントエンジン
１６０  ＦＮＳ
５００  外部サーバ（５００ａ〜５００ｎ）
５０１  ＣＰＵ
５０２  メモリ
５０３  通信部
５１０  操作表示部
５２０  格納手段
５００ｘ  ダウンロードサーバ
【図１】
2004355596.tif 000003
【図２】
2004355596.tif 000004
【図３】
2004355596.tif 000005
【図４】
2004355596.tif 000006
【図５】
2004355596.tif 000007
【図６】
2004355596.tif 000008
【図７】
2004355596.tif 000009
【図８】
2004355596.tif 000010
【図９】
2004355596.tif 000011
【図１０】
2004355596.tif 000012
【図１１】
2004355596.tif 000013
【図１２】
2004355596.tif 000014
【図１３】
2004355596.tif 000015
【図１４】
2004355596.tif 000016
【図１５】
2004355596.tif 000017
【図１６】
2004355596.tif 000018
【図１７】
2004355596.tif 000019
【図１８】
2004355596.tif 000020
【図１９】
2004355596.tif 000021
【図２０】
2004355596.tif 000022
【図２１】
2004355596.tif 000023
【図２２】
2004355596.tif 000024