(57)【特許請求の範囲】
【請求項１】
電子機器にソフトウェアの更新を指示する更新指示手段、および、
前記電子機器が更新用ソフトウェアを受信して更新前ソフトウェアを前記更新用ソフトウェアに更新する通常更新方式、および、前記電子機器が前記更新前ソフトウェアに対する前記更新用ソフトウェアの差分データを受信して前記差分データを前記更新前ソフトウェアに適用した前記更新用ソフトウェアに前記更新前ソフトウェアを更新する差分更新方式のうち、所要時間が短い方式を選択する方式選択手段としてコンピューターを機能させ、
前記更新指示手段は、前記方式選択手段によって前記通常更新方式が選択された場合に前記通常更新方式による更新を指示し、前記方式選択手段によって前記差分更新方式が選択された場合に前記差分更新方式による更新を指示し、
前記通常更新方式における前記所要時間は、前記電子機器による前記更新用ソフトウェアの受信に必要な更新用ソフトウェア受信時間を含み、
前記差分更新方式における前記所要時間は、前記電子機器による前記差分データの受信に必要な差分データ受信時間、前記電子機器が前記更新前ソフトウェアを複製するのに必要な複製時間、および前記電子機器が前記差分データを前記更新前ソフトウェアに適用して前記更新用ソフトウェアを生成するのに必要な生成時間の合計時間を含み、
前記方式選択手段は、前記更新用ソフトウェア受信時間と前記合計時間とを比較し、前記更新用ソフトウェア受信時間の方が短ければ前記通常更新方式の前記所要時間の方が短いと判断し、前記合計時間の方が短ければ前記差分更新方式の前記所要時間の方が短いと判断することを特徴とするソフトウェア更新プログラム。
【請求項２】
前記電子機器の通信速度を取得する通信速度取得手段、
前記通信速度取得手段によって取得された通信速度と、前記更新用ソフトウェアのサイズとに基づいて前記更新用ソフトウェア受信時間を算出する更新用ソフトウェア受信時間算出手段、および、
前記通信速度取得手段によって取得された通信速度と、前記差分データのサイズとに基づいて前記差分データ受信時間を算出する差分データ受信時間算出手段として前記コンピューターを機能させることを特徴とする請求項１に記載のソフトウェア更新プログラム。
【請求項３】
前記通信速度取得手段は、通信速度を実際に計測することによって取得することを特徴とする請求項２に記載のソフトウェア更新プログラム。
【請求項４】
前記電子機器の処理能力を取得する処理能力取得手段、および、
前記処理能力取得手段によって取得された処理能力と、前記差分データのサイズとに基づいて、前記生成時間を算出する生成時間算出手段として前記コンピューターを機能させることを特徴とする請求項１から請求項３までの何れかに記載のソフトウェア更新プログラム。
【請求項５】
前記電子機器の処理能力を取得する処理能力取得手段、および、
前記処理能力取得手段によって取得された処理能力と、前記更新前ソフトウェアのサイズとに基づいて、前記複製時間を算出する複製時間算出手段として前記コンピューターを機能させることを特徴とする請求項１から請求項３までの何れかに記載のソフトウェア更新プログラム。
【請求項６】
前記処理能力取得手段によって取得された処理能力と、前記更新前ソフトウェアのサイズとに基づいて、前記複製時間を算出する複製時間算出手段として前記コンピューターを機能させることを特徴とする請求項４に記載のソフトウェア更新プログラム。
【請求項７】
電子機器にソフトウェアの更新を指示する更新指示手段と、
前記電子機器が更新用ソフトウェアを受信して更新前ソフトウェアを前記更新用ソフトウェアに更新する通常更新方式、および、前記電子機器が前記更新前ソフトウェアに対する前記更新用ソフトウェアの差分データを受信して前記差分データを前記更新前ソフトウェアに適用した前記更新用ソフトウェアに前記更新前ソフトウェアを更新する差分更新方式のうち所要時間が短い方式を選択する方式選択手段とを備え、
前記更新指示手段は、前記方式選択手段によって前記通常更新方式が選択された場合に前記通常更新方式による更新を指示し、前記方式選択手段によって前記差分更新方式が選択された場合に前記差分更新方式による更新を指示し、
前記通常更新方式における前記所要時間は、前記電子機器による前記更新用ソフトウェアの受信に必要な更新用ソフトウェア受信時間を含み、
前記差分更新方式における前記所要時間は、前記電子機器による前記差分データの受信に必要な差分データ受信時間、前記電子機器が前記更新前ソフトウェアを複製するのに必要な複製時間、および前記電子機器が前記差分データを前記更新前ソフトウェアに適用して前記更新用ソフトウェアを生成するのに必要な生成時間の合計時間を含み、
前記方式選択手段は、前記更新用ソフトウェア受信時間と前記合計時間とを比較し、前記更新用ソフトウェア受信時間の方が短ければ前記通常更新方式の前記所要時間の方が短いと判断し、前記合計時間の方が短ければ前記差分更新方式の前記所要時間の方が短いと判断することを特徴とするソフトウェア更新装置。
【請求項８】
前記電子機器の処理能力を取得する処理能力取得手段と、
前記処理能力取得手段によって取得された処理能力、および、前記更新前ソフトウェアのサイズに基づいて、前記複製時間を算出する複製時間算出手段とを備えることを特徴とする請求項７に記載のソフトウェア更新装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器にソフトウェアの更新を指示するためのソフトウェア更新プログラムおよびソフトウェア更新装置に関する。
【背景技術】
【０００２】
従来、電子機器が更新前ソフトウェアに対する更新用ソフトウェアの差分データを受信してこの差分データを更新前ソフトウェアに適用した更新用ソフトウェアに更新前ソフトウェアを更新する差分更新方式が知られている（特許文献１、２参照。）。差分更新方式は、電子機器が更新用ソフトウェア自体を受信して更新前ソフトウェアを更新用ソフトウェアに更新する通常更新方式と比較して、通常、所要時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３７８６１号公報
【特許文献２】特開２０１２−１９０１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、差分更新方式においては、差分データのサイズが大きいなど、特定の状況下では、通常更新方式と比較して、所要時間がかえって増加する場合があるという問題がある。
【０００５】
そこで、本発明は、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を低減することができるソフトウェア更新プログラムおよびソフトウェア更新装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のソフトウェア更新プログラムは、電子機器にソフトウェアの更新を指示する更新指示手段、および、前記電子機器が更新用ソフトウェアを受信して更新前ソフトウェアを前記更新用ソフトウェアに更新する通常更新方式、および、前記電子機器が前記更新前ソフトウェアに対する前記更新用ソフトウェアの差分データを受信して前記差分データを前記更新前ソフトウェアに適用した前記更新用ソフトウェアに前記更新前ソフトウェアを更新する差分更新方式のうち所要時間が短い方式を選択する方式選択手段としてコンピューターを機能させ、前記更新指示手段は、前記方式選択手段によって前記通常更新方式が選択された場合に前記通常更新方式による更新を指示し、前記方式選択手段によって前記差分更新方式が選択された場合に前記差分更新方式による更新を指示することを特徴とする。
【０００７】
この構成により、本発明のソフトウェア更新プログラムは、通常更新方式および差分更新方式のうち所要時間が短い方式によるソフトウェアの更新を電子機器に指示するので、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を低減することができる。
【０００８】
ここで、前記通常更新方式における前記所要時間は、前記電子機器による前記更新用ソフトウェアの受信に必要な更新用ソフトウェア受信時間を含み、前記差分更新方式における前記所要時間は、前記電子機器による前記差分データの受信に必要な差分データ受信時間および前記電子機器が前記差分データを前記更新前ソフトウェアに適用して前記更新用ソフトウェアを生成するのに必要な生成時間の合計時間を含んでもよい。この場合、前記方式選択手段は、前記更新用ソフトウェア受信時間と前記合計時間とを比較し、前記更新用ソフトウェア受信時間の方が短ければ前記通常更新方式の前記所要時間の方が短いと判断し、前記合計時間の方が短ければ前記差分更新方式の前記所要時間の方が短いと判断してもよい。
また、前記通常更新方式における前記所要時間は、前記電子機器による前記更新用ソフトウェアの受信に必要な更新用ソフトウェア受信時間を含み、前記差分更新方式における前記所要時間は、前記電子機器による前記差分データの受信に必要な差分データ受信時間、前記電子機器が前記更新前ソフトウェアを複製するのに必要な複製時間、および前記電子機器が前記差分データを前記更新前ソフトウェアに適用して前記更新用ソフトウェアを生成するのに必要な生成時間の合計時間を含んでもよい。この場合、前記方式選択手段は、前記更新用ソフトウェア受信時間と前記合計時間とを比較し、前記更新用ソフトウェア受信時間の方が短ければ前記通常更新方式の前記所要時間の方が短いと判断し、前記合計時間の方が短ければ前記差分更新方式の前記所要時間の方が短いと判断してもよい。
この構成により、本発明のソフトウェア更新プログラムは、実質的な所要時間に基づいて通常更新方式と差分更新方式の何れかを選択して、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を適切に低減することができる。
【０００９】
また、本発明のソフトウェア更新プログラムは、前記電子機器の通信速度を取得する通信速度取得手段、前記通信速度取得手段によって取得された通信速度と、前記更新用ソフトウェアのサイズとに基づいて前記更新用ソフトウェア受信時間を算出する更新用ソフトウェア受信時間算出手段、および、前記通信速度取得手段によって取得された通信速度と、前記差分データのサイズとに基づいて前記差分データ受信時間を算出する差分データ受信時間算出手段として前記コンピューターを機能させても良い。
【００１０】
この構成により、本発明のソフトウェア更新プログラムは、更新用ソフトウェアの受信に必要な通信時間と、差分データの受信に必要な通信時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する。このため、通信時間を考慮しない構成と比較して、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００１１】
また、本発明のソフトウェア更新プログラムにおいて、前記通信速度取得手段は、通信速度を実際に計測することによって取得しても良い。
【００１２】
この構成により、本発明のソフトウェア更新プログラムは、実際に計測した通信速度に基づいて通信時間を算出するので、既定の通信速度に基づいて通信時間を算出する構成と比較して、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００１３】
また、本発明のソフトウェア更新プログラムは、前記電子機器の処理能力を取得する処理能力取得手段、および、前記処理能力取得手段によって取得された処理能力と、前記差分データのサイズとに基づいて、前記生成時間を算出する生成時間算出手段として前記コンピューターを機能させても良い。
【００１４】
この構成により、本発明のソフトウェア更新プログラムは、電子機器が差分データを更新前ソフトウェアに適用して更新用ソフトウェアを生成するのに必要な生成時間を算出し、この生成時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する。このため、生成時間を考慮しない構成と比較して、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００１５】
また、本発明のソフトウェア更新プログラムは、前記電子機器の処理能力を取得する処理能力取得手段、および、前記処理能力取得手段によって取得された処理能力と、前記更新前ソフトウェアのサイズとに基づいて、前記複製時間を算出する複製時間算出手段として前記コンピューターを機能させても良い。
【００１６】
この構成により、本発明のソフトウェア更新プログラムは、電子機器が更新前ソフトウェアを複製するのに必要な複製時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する。このため、複製時間を考慮しない構成と比較して、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００１７】
本発明のソフトウェア更新装置は、電子機器にソフトウェアの更新を指示する更新指示手段と、前記電子機器が更新用ソフトウェアを受信して更新前ソフトウェアを前記更新用ソフトウェアに更新する通常更新方式、および、前記電子機器が前記更新前ソフトウェアに対する前記更新用ソフトウェアの差分データを受信して前記差分データを前記更新前ソフトウェアに適用した前記更新用ソフトウェアに前記更新前ソフトウェアを更新する差分更新方式のうち所要時間が短い方式を選択する方式選択手段とを備え、前記更新指示手段は、前記方式選択手段によって前記通常更新方式が選択された場合に前記通常更新方式による更新を指示し、前記方式選択手段によって前記差分更新方式が選択された場合に前記差分更新方式による更新を指示することを特徴とする。
【００１８】
この構成により、本発明のソフトウェア更新装置は、通常更新方式および差分更新方式のうち所要時間が短い方式によるソフトウェアの更新を電子機器に指示するので、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を低減することができる。
【発明の効果】
【００１９】
本発明のソフトウェア更新プログラムおよびソフトウェア更新装置は、電子機器がソフトウェアの更新に必要なデータを受信してソフトウェアを更新する一連の動作の所要時間を低減することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態に係るファームウェアアップデートシステムのブロック図である。
【図２】図１に示すＭＦＰのブロック図である。
【図３】図１に示す管理サーバーのブロック図である。
【図４】図１に示すファームウェア更新装置のブロック図である。
【図５】ＭＦＰ用の最新バージョンのファームウェアがアップロードされた場合の図３に示す管理サーバーの動作のフローチャートである。
【図６】ＭＦＰにファームウェアの更新を指示する場合の図４に示すファームウェア更新装置の動作のフローチャートである。
【図７】図２に示すＭＦＰにおける通常更新方式と差分更新方式との所要時間の差異を示す図である。
【図８】通常更新方式によってファームウェアを更新する場合の図２に示すＭＦＰの動作のフローチャートである。
【図９】差分更新方式によってファームウェアを更新する場合の図２に示すＭＦＰの動作のフローチャートである。
【図１０】差分更新方式によってファームウェアを更新する場合の図２に示すＭＦＰの動作のフローチャートであって、図９に示す例とは異なる例を示すフローチャートである。
【図１１】図２に示すＭＦＰにおける通常更新方式と差分更新方式との所要時間の差異を示す図であって、図１０に示すフローチャートに対応した図である。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００２２】
まず、本実施の形態に係るファームウェアアップデートシステムの構成について説明する。
【００２３】
図１は、本実施の形態に係るファームウェアアップデートシステム１０のブロック図である。
【００２４】
図１に示すように、ファームウェアアップデートシステム１０は、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）２０を含む複数のＭＦＰと、複数のＭＦＰを管理する管理サーバー３０と、各ＭＦＰにソフトウェア、例えば、ファームウェアの更新を指示するソフトウェア更新装置としてのファームウェア更新装置４０とを備えている。ファームウェアアップデートシステム１０の複数のＭＦＰと、管理サーバー３０と、ファームウェア更新装置４０とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク１１を介して互いに通信可能に接続されている。
【００２５】
ファームウェアアップデートシステム１０の複数のＭＦＰのそれぞれの構成は、ＭＦＰ２０の構成と同様である。したがって、以下においては、ファームウェアアップデートシステム１０の複数のＭＦＰを代表してＭＦＰ２０について説明する。
【００２６】
図２は、ＭＦＰ２０のブロック図である。
【００２７】
図２に示すように、ＭＦＰ２０は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部２１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部２２と、原稿から画像を読み取る読取デバイスであるスキャナー２３と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター２４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部２５と、ネットワーク１１（図１参照。）経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部２６と、各種のデータを記憶しているＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性の記憶装置である記憶部２７と、ＭＦＰ２０全体を制御する制御部２８とを備えている。ＭＦＰ２０は、本発明の電子機器を構成している。
【００２８】
操作部２１は、表示部２２とともにタッチパネルを形成する入力デバイスを含んでいても良い。
【００２９】
記憶部２７は、ファームウェア２７ｂを記憶するファームウェア記憶領域２７ａを備えている。
【００３０】
制御部２８は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムおよび各種のデータを記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えている。ＣＰＵは、ＲＯＭまたは記憶部２７に記憶されているプログラムを実行する。
【００３１】
制御部２８は、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂを実行する。
【００３２】
制御部２８は、ファームウェア２７ｂの更新の方式として、更新用ソフトウェア、例えば、更新用ファームウェアを、ネットワーク通信部２６を介して受信した後、この更新用ファームウェアに更新前ソフトウェア、例えば、更新前ファームウェアを書き換えることで更新する通常更新方式に対応している。また、制御部２８は、ファームウェア２７ｂの更新の方式として、更新前ファームウェアに対する更新用ファームウェアの差分データとしてのパッチを、ネットワーク通信部２６を介して受信した後、このパッチを更新前ファームウェアに適用した更新用ファームウェアに更新前ファームウェアを書き換えることで更新する差分更新方式にも対応している。
【００３３】
図３は、管理サーバー３０のブロック図である。
【００３４】
図３に示すように、管理サーバー３０は、種々の操作が入力されるマウスやキーボードなどの入力デバイスである操作部３１と、種々の情報を表示するＬＣＤなどの表示デバイスである表示部３２と、ネットワーク１１（図１参照。）経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部３３と、プログラムおよび各種のデータを記憶しているＨＤＤなどの不揮発性の記憶装置である記憶部３４と、管理サーバー３０全体を制御する制御部３５とを備えている。管理サーバー３０は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などのコンピューターによって構成されている。
【００３５】
記憶部３４は、ＭＦＰ用のファームウェア３４ａをバージョン毎に記憶することができる。
【００３６】
また、記憶部３４は、互いに異なる２つのバージョンのファームウェア３４ａ同士のパッチ３４ｂを、この２つのバージョンの組み合わせ毎に記憶することができる。
【００３７】
制御部３５は、例えば、ＣＰＵと、プログラムおよび各種のデータを記憶しているＲＯＭと、ＣＰＵの作業領域として用いられるＲＡＭとを備えている。ＣＰＵは、ＲＯＭまたは記憶部３４に記憶されているプログラムを実行する。
【００３８】
図４は、ファームウェア更新装置４０のブロック図である。
【００３９】
図４に示すように、ファームウェア更新装置４０は、種々の操作が入力されるマウスやキーボードなどの入力デバイスである操作部４１と、種々の情報を表示するＬＣＤなどの表示デバイスである表示部４２と、ネットワーク１１（図１参照。）経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部４３と、プログラムおよび各種のデータを記憶しているＨＤＤなどの不揮発性の記憶装置である記憶部４４と、ファームウェア更新装置４０全体を制御する制御部４５とを備えている。ファームウェア更新装置４０は、例えばＰＣなどのコンピューターによって構成されている。
【００４０】
記憶部４４は、ＭＦＰ２０にファームウェアの更新を指示するためのソフトウェア更新プログラムとしてのファームウェア更新プログラム４４ａを記憶している。ファームウェア更新プログラム４４ａは、ファームウェア更新装置４０の製造段階でファームウェア更新装置４０にインストールされていても良いし、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などの記憶媒体からファームウェア更新装置４０に追加でインストールされても良いし、ネットワーク１１上からファームウェア更新装置４０に追加でインストールされても良い。
【００４１】
記憶部４４は、ＭＦＰ用のファームウェア４４ｂをバージョン毎に記憶することができる。
【００４２】
制御部４５は、例えば、ＣＰＵと、プログラムおよび各種のデータを記憶しているＲＯＭと、ＣＰＵの作業領域として用いられるＲＡＭとを備えている。ＣＰＵは、ＲＯＭまたは記憶部４４に記憶されているプログラムを実行する。
【００４３】
制御部４５は、記憶部４５に記憶されているファームウェア更新プログラム４４ａを実行することによって、ＭＦＰ２０の通信速度（具体的にはＭＦＰ２０と管理サーバー３０との間の通信速度）を取得する通信速度取得手段４５ａ、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間を算出する更新用ソフトウェア受信時間算出手段としての更新用ファームウェア受信時間算出手段４５ｂ、ＭＦＰ２０によるパッチの受信に必要な通信時間を算出する差分データ受信時間算出手段４５ｃ、ＭＦＰ２０の処理能力を取得する処理能力取得手段４５ｄ、ＭＦＰ２０がパッチを更新前ファームウェアに適用して更新用ファームウェアを生成するのに必要な生成時間を算出する生成時間算出手段４５ｅ、通常更新方式と差分更新方式とのうち所要時間が短い方式を選択する方式選択手段４５ｆ、ＭＦＰ２０にファームウェアの更新を指示する更新指示手段４５ｇ、および、ＭＦＰ２０が更新前ファームウェアを複製するのに必要な複製時間を算出する複製時間算出手段４５ｈとして機能する。
【００４４】
次に、ファームウェアアップデートシステム１０の動作について説明する。
【００４５】
まず、ファームウェア更新装置４０から管理サーバー３０にＭＦＰ用の最新バージョンのファームウェアがアップロードされる場合のファームウェアアップデートシステム１０の動作について説明する。
【００４６】
ファームウェア更新装置４０の制御部４５は、記憶部４４に最新バージョンのファームウェア４４ｂが記憶された場合に、そのファームウェアを、ネットワーク通信部４３を介して管理サーバー３０に送信する。
【００４７】
管理サーバー３０の制御部３５は、ファームウェア更新装置４０から送信されてきたファームウェアを、ネットワーク通信部３３を介して受信すると、図５に示す動作を実行する。
【００４８】
図５は、ＭＦＰ用の最新バージョンのファームウェアがアップロードされた場合の管理サーバー３０の動作のフローチャートである。
【００４９】
図５に示すように、管理サーバー３０の制御部３５は、ネットワーク通信部３３を介して受信したファームウェアを対象にする（Ｓ１０１）。
【００５０】
次いで、制御部３５は、Ｓ１０１において対象としたファームウェアのバージョンと同一のバージョンのファームウェア３４ａが記憶部３４に記憶されているか否かを判断する（Ｓ１０２）。ここで、制御部３５は、記憶部３４に記憶されているファームウェア３４ａのバージョンを確認し、Ｓ１０１において対象としたファームウェアのバージョンが、記憶部３４に記憶されている何れのファームウェア３４ａのバージョンとも異なる場合に、Ｓ１０１において対象としたファームウェアのバージョンと同一のバージョンのファームウェア３４ａが記憶部３４に記憶されていないと判断する。
【００５１】
制御部３５は、同一のバージョンのファームウェア３４ａが記憶部３４に記憶されていないとＳ１０２において判断すると、記憶部３４に記憶されている全てのファームウェア３４ａのそれぞれに対して、そのファームウェア３４ａと、Ｓ１０１において対象としたファームウェアとのうちバージョンが古いファームウェアに対するバージョンが新しいファームウェアの差分データをパッチとして生成する（Ｓ１０３）。
【００５２】
次いで、制御部３５は、Ｓ１０３において生成したパッチをパッチ３４ｂとして記憶部３４に記憶させる（Ｓ１０４）。したがって、記憶部３４に記憶されている全てのファームウェア３４ａのそれぞれのバージョンと、Ｓ１０１において対象としたファームウェアのバージョンとの組み合わせ毎に、パッチ３４ｂが記憶部３４に記憶される。
【００５３】
制御部３５は、Ｓ１０４の処理を終了すると、Ｓ１０１において対象としたファームウェアをファームウェア３４ａとして記憶部３４に記憶させる（Ｓ１０５）。
【００５４】
制御部３５は、同一のバージョンのファームウェア３４ａが記憶部３４に記憶されているとＳ１０２において判断するか、Ｓ１０５の処理を終了すると、図５に示す動作を終了する。
【００５５】
次に、ＭＦＰ２０にファームウェアの更新を指示する場合のファームウェア更新装置４０の動作について説明する。
【００５６】
ファームウェア更新装置４０の制御部４５は、最新バージョンのファームウェアへの更新のＭＦＰ２０に対する指示が操作部４１を介して入力されると、図６に示す動作を実行する。
【００５７】
図６は、ＭＦＰ２０にファームウェアの更新を指示する場合のファームウェア更新装置４０の動作のフローチャートである。
【００５８】
図６に示すように、制御部４５の更新指示手段４５ｇは、ＭＦＰ２０の現在のファームウェア、すなわち、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂのバージョンと、ＭＦＰ２０がパッチに対応可能であるか否かの情報（以下「パッチ対応情報」と言う。）とをネットワーク通信部４３を介してＭＦＰ２０から取得する（Ｓ１３１）。
【００５９】
次いで、更新指示手段４５ｇは、ＭＦＰ２０がパッチに対応可能であるか否かをＳ１３１において取得したパッチ対応情報に基づいて判断する（Ｓ１３２）。
【００６０】
通信速度取得手段４５ａは、ＭＦＰ２０がパッチに対応可能であるとＳ１３２において判断されると、ＭＦＰ２０の通信速度を取得する（Ｓ１３３）。ここで、通信速度取得手段４５ａは、ＭＦＰ２０の通信速度として記憶部４４に記憶されている既定の通信速度を取得しても良いし、例えばＭＦＰ２０に管理サーバー３０からダミーのデータを実際に受信させてＭＦＰ２０の通信速度を計測することによって、ＭＦＰ２０の通信速度を取得しても良い。
【００６１】
更新用ファームウェア受信時間算出手段４５ｂは、Ｓ１３３の処理の後、Ｓ１３３において取得された通信速度と、更新用ファームウェア、すなわち、最新バージョンのファームウェアのサイズとに基づいて、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間を算出する（Ｓ１３４）。ここで、更新用ファームウェア受信時間算出手段４５ｂは、最新バージョンのファームウェアのサイズを記憶部４４上のファームウェア４４ｂに基づいて取得することができる。
【００６２】
差分データ受信時間算出手段４５ｃは、Ｓ１３４の処理の後、更新前ファームウェア、すなわち、Ｓ１３１において取得されたバージョンのファームウェアに対する更新用ファームウェア、すなわち、最新バージョンのファームウェアの差分データとしてのパッチのサイズを、ネットワーク通信部４３を介して管理サーバー３０から取得する（Ｓ１３５）。なお、管理サーバー３０が記憶している全てのパッチのサイズを制御部４５が事前にネットワーク通信部４３を介して管理サーバー３０から取得して記憶部４４に記憶する場合、差分データ受信時間算出手段４５ｃは、更新前ファームウェアに対する更新用ファームウェアの差分データとしてのパッチのサイズを記憶部４４から取得しても良い。
【００６３】
差分データ受信時間算出手段４５ｃは、Ｓ１３５の処理の後、Ｓ１３３において取得された通信速度と、Ｓ１３５において取得したパッチのサイズとに基づいて、ＭＦＰ２０によるパッチの受信に必要な通信時間を算出する（Ｓ１３６）。
【００６４】
次いで、処理能力取得手段４５ｄは、ＭＦＰ２０の処理能力を取得する（Ｓ１３７）。例えば、処理能力取得手段４５ｄは、ＭＦＰ２０の処理能力が記憶部４４に記憶されている場合には、記憶部４４に記憶されているＭＦＰ２０の処理能力を取得する。
【００６５】
次いで、生成時間算出手段４５ｅは、Ｓ１３７において取得された処理能力と、Ｓ１３５において取得されたパッチのサイズとに基づいて、ＭＦＰ２０がパッチを更新前ファームウェア、すなわち、Ｓ１３１において取得されたバージョンのファームウェアに適用して更新用ファームウェア、すなわち、最新バージョンのファームウェアを生成するのに必要な生成時間を算出する（Ｓ１３８）。
【００６６】
次いで、方式選択手段４５ｆは、Ｓ１３４において算出された通信時間と、Ｓ１３６において算出された通信時間と、Ｓ１３８において算出された生成時間とに基づいて、通常更新方式と差分更新方式とのうち所要時間が短い方式を選択する（Ｓ１３９）。
【００６７】
図７は、ＭＦＰ２０における通常更新方式と差分更新方式との所要時間の差異を示す図である。
【００６８】
図７に示すように、通常更新方式においては、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間５１が存在する。一方、差分更新方式においては、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間５１が存在しない代わりに、ＭＦＰ２０によるパッチの受信に必要な通信時間６１と、ＭＦＰ２０がパッチを更新前ファームウェアに適用して更新用ファームウェアを生成するのに必要な生成時間６２とが存在する。通常更新方式の所要時間には、通信時間５１、および更新前ファームウェアを更新用ファームウェアに更新するのに必要な更新時間が含まれる。また、差分更新方式の所要時間には、通信時間６１、生成時間６２、および更新前ファームウェアを更新用ファームウェアに更新するのに必要な更新時間が含まれる。
【００６９】
ここで、更新用ファームウェアのサイズは、パッチのサイズよりも大きいので、通信時間５１は通信時間６１よりも大きくなる。図７に示す例では、通信時間５１と通信時間６１との差は、生成時間６２よりも長い。通信速度が大きくなるとともに、通信時間５１と通信時間６１との差は短くなっていき、生成時間６２よりも短くなることが考えられる。また、パッチのサイズが大きくなるとともに、またはＭＦＰ２０の処理能力が小さくなるとともに、生成時間６２が長くなっていき、通信時間５１と通信時間６１との差が生成時間６２よりも短くなることが考えられる。更新時間は通常更新方式と差分更新方式とで差はないので、上記のような場合、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間は、通常更新方式の方が短くなると判断することができる。従って、高速の通信環境が整っている場合や、更新用ファームウェアとパッチのサイズ差が小さい場合、ＭＦＰ２０の処理能力が小さい場合は、そうでない場合と比較して通常更新方式が選択される可能性が高くなる。
【００７０】
方式選択手段４５ｆは、Ｓ１３４において算出された通信時間５１が、Ｓ１３６において算出された通信時間６１と、Ｓ１３８において算出された生成時間６２との合計時間より短い場合には、通常更新方式の所要時間の方が短いと判断し、通常更新方式を選択する。また、方式選択手段４５ｆは、Ｓ１３４において算出された通信時間５１が、Ｓ１３６において算出された通信時間６１と、Ｓ１３８において算出された生成時間６２との合計時間より長い場合には、差分更新方式の所要時間の方が短いと判断し、差分更新方式を選択する。なお、方式選択手段４５ｆは、Ｓ１３４において算出された通信時間５１が、Ｓ１３６において算出された通信時間６１と、Ｓ１３８において算出された生成時間６２との合計時間と同一の場合には、通常更新方式および差分更新方式の何れを選択しても良いので、事前に設定されている方を選択する。
【００７１】
図６に示すように、更新指示手段４５ｇは、Ｓ１３９の処理の後、Ｓ１３９において通常更新方式が選択されたか否かを判断する（Ｓ１４０）。
【００７２】
更新指示手段４５ｇは、ＭＦＰ２０がパッチに対応可能ではないとＳ１３２において判断するか、通常更新方式が選択されたとＳ１４０において判断すると、通常更新方式によるファームウェアの更新を、ネットワーク通信部４３を介してＭＦＰ２０に指示する（Ｓ１４１）。なお、更新指示手段４５ｇは、Ｓ１４１の指示に最新バージョンのファームウェアのバージョンの情報を含める。
【００７３】
更新指示手段４５ｇは、通常更新方式が選択されなかったとＳ１４０において判断すると、差分更新方式によるファームウェアの更新を、ネットワーク通信部４３を介してＭＦＰ２０に指示する（Ｓ１４２）。なお、更新指示手段４５ｇは、Ｓ１４２の指示に最新バージョンのファームウェアのバージョンの情報を含める。
【００７４】
更新指示手段４５ｇは、Ｓ１４１またはＳ１４２の処理の後、図６に示す動作を終了する。
【００７５】
次に、通常更新方式によってファームウェアを更新する場合のＭＦＰ２０の動作について説明する。
【００７６】
ＭＦＰ２０の制御部２８は、通常更新方式によるファームウェアの更新の指示を、ネットワーク通信部２６を介してファームウェア更新装置４０から受信すると、図８に示す動作を実行する。
【００７７】
図８は、通常更新方式によってファームウェアを更新する場合のＭＦＰ２０の動作のフローチャートである。
【００７８】
図８に示すように、制御部２８は、ファームウェア更新装置４０から受信した指示に含まれているバージョンのファームウェアを、更新用ファームウェアとして、ネットワーク通信部２６を介して管理サーバー３０からダウンロードする（Ｓ１６１）。
【００７９】
次いで、制御部２８は、更新前ファームウェア、すなわち、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂを、Ｓ１６１においてダウンロードした更新用ファームウェアに更新して（Ｓ１６２）、図８に示す動作を終了する。
【００８０】
次に、差分更新方式によってファームウェアを更新する場合のＭＦＰ２０の動作について説明する。
【００８１】
ＭＦＰ２０の制御部２８は、差分更新方式によるファームウェアの更新の指示を、ネットワーク通信部２６を介してファームウェア更新装置４０から受信すると、図９に示す動作を実行する。
【００８２】
図９は、差分更新方式によってファームウェアを更新する場合のＭＦＰ２０の動作のフローチャートである。
【００８３】
図９に示すように、制御部２８は、ファームウェア更新装置４０から受信した指示に含まれているバージョンと、更新前ファームウェア、すなわち、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂのバージョンとの組み合わせに応じたパッチを、ネットワーク通信部２６を介して管理サーバー３０からダウンロードする（Ｓ１９１）。
【００８４】
また、制御部２８は、Ｓ１９１の処理と並列に、更新前ファームウェア、すなわち、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂを複製して、ファームウェア記憶領域２７ａ外に記憶させる（Ｓ１９２）。
【００８５】
制御部２８は、Ｓ１９１の処理およびＳ１９２の処理の後、Ｓ１９２においてファームウェア記憶領域２７ａ外に記憶させた更新前ファームウェアに、Ｓ１９１においてダウンロードしたパッチを適用して、ファームウェア記憶領域２７ａ外に更新用ファームウェアを生成する（Ｓ１９３）。
【００８６】
次いで、制御部２８は、更新前ファームウェア、すなわち、ファームウェア記憶領域２７ａに記憶されているファームウェア２７ｂを、Ｓ１９３において生成した更新用ファームウェアに更新して（Ｓ１９４）、図９に示す動作を終了する。
【００８７】
以上に説明したように、ファームウェア更新装置４０は、通常更新方式および差分更新方式のうち所要時間が短い方式によるファームウェアの更新をＭＦＰ２０に指示する（Ｓ１３９〜Ｓ１４２）ので、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を低減することができる。
【００８８】
また、ファームウェア更新装置４０は、更新用ファームウェアの受信に必要な通信時間と、パッチの受信に必要な通信時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する（Ｓ１３４、Ｓ１３６およびＳ１３９）ので、通信時間を考慮しない構成と比較して、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００８９】
なお、通信速度は、ＭＦＰ２０と管理サーバー３０との間の回線の状況によって異なる。このため、通信速度が地域によって異なることがある。しかしながら、ファームウェア更新装置４０は、ＭＦＰ２０の通信速度に基づいて通信時間を算出するので、ＭＦＰ２０が設置されている地域によらず、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００９０】
ここで、ファームウェア更新装置４０は、実際に計測した通信速度に基づいて通信時間を算出する場合、既定の通信速度に基づいて通信時間を算出する構成と比較して、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００９１】
また、ファームウェア更新装置４０は、ＭＦＰ２０がパッチを更新前ファームウェアに適用して更新用ファームウェアを生成するのに必要な生成時間を算出し（Ｓ１３８）、この生成時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する（Ｓ１３９）。このため、生成時間を考慮しない構成と比較して、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００９２】
なお、ファームウェア更新装置４０は、本実施の形態において、上述したように、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間５１と、ＭＦＰ２０によるパッチの受信に必要な通信時間６１と、ＭＦＰ２０がパッチを更新前ファームウェアに適用して更新用ファームウェアを生成するのに必要な生成時間６２とに基づいて、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する。このため、実質的な所要時間に基づいて通常更新方式と差分更新方式の何れかを選択して、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００９３】
さらに、ファームウェア更新装置４０は、これらの時間以外にも、ＭＦＰ２０における通常更新方式と差分更新方式との所要時間の差異に影響する時間が存在する場合には、その時間にも基づいて、通常更新方式および差分更新方式のうち所要時間が短い方式を選択しても良い。
【００９４】
例えば、ＭＦＰ２０おける通常更新方式と差分更新方式との所要時間の差異は、ＭＦＰ２０が差分更新方式によってファームウェアを更新する場合に図９に示すようにパッチのダウンロード（Ｓ１９１）および更新前ファームウェアの複製（Ｓ１９２）を並列処理するときには、図７に示すようになる。一方、ＭＦＰ２０が差分更新方式によってファームウェアを更新する場合に図１０に示すようにパッチのダウンロード（Ｓ１９１）および更新前ファームウェアの複製（Ｓ１９２）を並列処理しないときには、図１１に示すようになる。図１１に示すように、通常更新方式においては、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間５１が存在する。一方、差分更新方式においては、ＭＦＰ２０による更新用ファームウェアの受信に必要な通信時間５１が存在しない代わりに、ＭＦＰ２０によるパッチの受信に必要な通信時間６１と、ＭＦＰ２０がパッチを更新前ファームウェアに適用して更新用ファームウェアを生成するのに必要な生成時間６２と、ＭＦＰ２０が更新前ファームウェアをファームウェア記憶領域外に複製するのに必要な複製時間６３とが存在する。通常更新方式の所要時間には、通信時間５１、および更新前ファームウェアを更新用ファームウェアに更新するのに必要な更新時間が含まれる。また、差分更新方式の所要時間には、通信時間６１、生成時間６２、複製時間６３、および更新前ファームウェアを更新用ファームウェアに更新するのに必要な更新時間が含まれる。
【００９５】
ここで、更新用ファームウェアのサイズは、パッチのサイズよりも大きいので、通信時間５１は通信時間６１よりも大きくなる。図１１に示す例では、通信時間５１と通信時間６１との差は、複製時間６３と生成時間６２の合計時間よりも長い。通信速度が大きくなるとともに、通信時間５１と通信時間６１との差は短くなっていき、複製時間６３と生成時間６２の合計時間よりも短くなることが考えられる。また、パッチのサイズが大きくなるとともに、またはＭＦＰ２０の処理能力が小さくなるとともに、生成時間６２や複製時間６３が長くなっていき、通信時間５１と通信時間６１との差が生成時間６２と複製時間６３の合計時間よりも短くなることが考えられる。更新時間は通常更新方式と差分更新方式とで差はないので、上記のような場合、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間は、通常更新方式の方が短くなると判断することができる。従って、高速の通信環境が整っている場合、更新用ファームウェアとパッチのサイズ差が小さい場合、ＭＦＰ２０の処理能力が小さい場合は、そうでない場合と比較して通常更新方式が選択される可能性が高くなる。
【００９６】
パッチのダウンロードと更新前ファームウェアの複製を並列処理しないときには、ファームウェア更新装置４０は、通信時間５１と、通信時間６１と、生成時間６２と、複製時間６３とに基づいて、通常更新方式および差分更新方式のうち所要時間が短い方式を選択すると良い。具体的には、方式選択手段４５ｆは、通信時間５１が、通信時間６１と生成時間６２と複製時間６３の合計時間より短い場合には、通常更新方式の所要時間の方が短いと判断し、通常更新方式を選択する。また、方式選択手段４５ｆは、通信時間５１が、通信時間６１と生成時間６２と複製時間６３の合計時間より長い場合には、差分更新方式の処理時間の方が短いと判断し、差分更新方式を選択する。
【００９７】
なお、複製時間算出手段４５ｈは、図６に示す動作の中で、Ｓ１３７において取得された処理能力と、更新前ファームウェアのサイズとに基づいて、Ｓ１３８においてＭＦＰ２０が更新前ファームウェアを複製するのに必要な複製時間６３を算出することができる。  ファームウェア更新装置４０は、ＭＦＰ２０が更新前ファームウェアを複製するのに必要な複製時間を考慮して、通常更新方式および差分更新方式のうち所要時間が短い方式を選択する。このため、複製時間を考慮しない構成と比較して、ＭＦＰ２０がファームウェアの更新に必要なデータを受信してファームウェアを更新する一連の動作の所要時間を適切に低減することができる。
【００９８】
なお、ファームウェアアップデートシステム１０は、本実施の形態において、管理サーバー３０がパッチを生成するが、ファームウェア更新装置４０がパッチを生成して管理サーバー３０に送信しても良い。
【００９９】
また、ファームウェアアップデートシステム１０は、本実施の形態において、ＭＦＰ２０から要求される前にパッチを生成しておくが、ＭＦＰから要求された時点で、ＭＦＰ２０から要求されたパッチを生成しても良い。
【０１００】
また、ファームウェアアップデートシステム１０は、本実施の形態において、全てのバージョンの組み合わせに応じてパッチを生成するが、ＭＦＰ２０のファームウェア記憶領域に記憶されているファームウェアのバージョンが常に最新バージョンに維持されているのであれば、バージョンが更新用ファームウェアのバージョンの１つ前のバージョンであるファームウェアに対する更新用ファームウェアの差分データとしてのパッチのみを生成しても良い。
【０１０１】
なお、ファームウェアアップデートシステム１０は、本実施の形態において、管理サーバー３０をファームウェア更新装置４０とは別に備えているが、ファームウェア更新装置４０に管理サーバー３０の機能を持たせても良い。
【０１０２】
また、ファームウェアアップデートシステム１０は、本実施の形態において、通信時間５１と、通信時間６１と生成時間６２との合計時間、または通信時間５１と、通信時間６１と生成時間６２と複製時間６３との合計時間を比較して、通常更新方式および差分更新方式のうち所要時間が短い方式を判断しているが、上記に更新時間その他のファームウェアの更新に関連する時間を加算して判断しても良い。
【０１０３】
また、本発明の電子機器は、本実施の形態においてＭＦＰであるが、プリンター専用機、コピー専用機、ＦＡＸ専用機など、ＭＦＰ以外の画像形成装置であっても良いし、画像形成装置以外の電子機器であっても良い。
【符号の説明】
【０１０４】
２０  ＭＦＰ（電子機器）
２７ｂ  ファームウェア（ソフトウェア）
３４ａ  ファームウェア（ソフトウェア）
３４ｂ  パッチ（差分データ）
４０  ファームウェア更新装置（コンピューター、ソフトウェア更新装置）
４４ａ  ファームウェア更新プログラム（ソフトウェア更新プログラム）
４４ｂ  ファームウェア（ソフトウェア）
４５ａ  通信速度取得手段
４５ｂ  更新用ファームウェア受信時間算出手段（更新用ソフトウェア受信時間算出手段）
４５ｃ  差分データ受信時間算出手段
４５ｄ  処理能力取得手段
４５ｅ  生成時間算出手段
４５ｆ  方式選択手段
４５ｇ  更新指示手段
４５ｈ  複製時間算出手段
５１  通信時間（電子機器による更新用ソフトウェアの受信に必要な通信時間）
６１  通信時間（電子機器による差分データの受信に必要な通信時間）
６２  生成時間（電子機器が差分データを更新前ソフトウェアに適用して更新用ソフトウェアを生成するのに必要な生成時間）
６３  複製時間
【図１】
0005860436.tif 000002
【図２】
0005860436.tif 000003
【図３】
0005860436.tif 000004
【図４】
0005860436.tif 000005
【図５】
0005860436.tif 000006
【図６】
0005860436.tif 000007
【図７】
0005860436.tif 000008
【図８】
0005860436.tif 000009
【図９】
0005860436.tif 000010
【図１０】
0005860436.tif 000011
【図１１】
0005860436.tif 000012