(57)【要約】【課題】ファームウェアの数が多くなっても、目視での確認ミスを容易に抑制する。【解決手段】ファームウェア管理部１１７により、ＥＥＰＲＯＭ１１６から複数のファームウェアのバージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数（たとえばｍｄ５）を用いてハッシュ値を求め、システム制御部１２１により、ファームウェア管理部１１７が読み出した機能毎のファームウェアのバージョン情報とハッシュ値とをパネル部１０５に表示させる。【選択図】図１
2018032311.tif 000002
【特許請求の範囲】
【請求項１】
バージョン情報を有し、機能毎に分割された複数のファームウェアを記憶する記憶デバイスと、
前記ファームウェアのバージョンチェックの指示に基づき、それぞれの前記ファームウェアの前記バージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いてハッシュ値を求めるファームウェア管理部と、
前記ファームウェア管理部に前記バージョンチェックを指示し、前記ファームウェア管理部が読み出した機能毎のファームウェアの前記バージョン情報と前記ハッシュ値とを出力させるシステム制御部とを備える
ことを特徴とする電子機器。
【請求項２】
パネル部を備え、
前記システム制御部は、機能種別及びバージョン番号を含む前記バージョン情報と前記ハッシュ値とを前記パネル部に表示させる
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記ファームウェア管理部は、前記パネル部を介して指示された前記バージョン情報の並び順に従う文字列の全てを入力値とすることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記ファームウェア管理部は、前記バージョン情報の特定の並び順に従う文字列の全てを入力値とすることを特徴とする請求項２に記載の電子機器。
【請求項５】
前記ファームウェア管理部は、前記パネル部を介して指示されたハッシュ関数を用いてハッシュ値を求めることを特徴とする請求項２〜４のいずれかに記載の電子機器。
【請求項６】
記憶デバイスにより、バージョン情報を有し、機能毎に分割された複数のファームウェアを記憶する工程と、
ファームウェア管理部により、前記ファームウェアのバージョンチェックの指示に基づき、それぞれの前記ファームウェアの前記バージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いてハッシュ値を求める工程と、
システム制御部により、前記ファームウェア管理部に前記バージョンチェックを指示し、前記ファームウェア管理部が読み出した機能毎のファームウェアの前記バージョン情報と前記ハッシュ値とを出力させる工程とを、電子機器を制御するコンピューターに実行させる
ことを特徴とするバージョンチェックプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアのバージョン管理に適した電子機器及びバージョンチェックプログラムに関する。
【背景技術】
【０００２】
たとえば、多機能プリンター、複合機などのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である画像形成装置においては、印刷機能、コピー機能、ＦＡＸ機能、ネットワーク経由でのデータ送受信機能などを搭載している機種がある。これらの機能は、それぞれ専用のソフトウェアを元に実行されるが、今後ますます機能の増加が予測される。
【０００３】
また、それぞれの機能に応じたハードウェアを動作させるためのファームウェアは、必要に応じて更新されるが、更新の処理速度を上げるために、機能毎に分割されている場合がある。また、機能毎に分割されたそれぞれのファームウェアは、固有のバージョン番号を有しているため、最新のファームウェアかどうかはそれぞれのバージョン番号などを含むバージョン情報を確認することで判断できる。
【０００４】
ファームウェアの更新に関するものとして、特許文献１では、ファームウェアの一括配信を適切に行う配信システムを提案している。この配信システムは、画像形成装置における一括更新を許可する複数のファームウェアと複数のファームウェアの構成情報とを、ファームウェアグループとして管理し、画像形成装置から複数のファームウェアの情報を収集し複数のファームウェアの情報がファームウェアグループと一致するか否かを判断する。判断の結果、一致しない場合、収集した複数のファームウェアの情報の中から特定のファームウェアの情報と一致する情報を含む、管理されたファームウェアグループを特定する。そして、一致しないと判断した複数のファームウェアの情報を、新たな一括更新を許可する組み合わせのファームウェアグループとして管理する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０９７６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１での配信システムでは、画像形成装置に複数のファームウェアを一括で配信する際、複数のファームウェアの構成が認識不明であっても、インターネット上のサーバー側で複数のファームウェアの情報がファームウェアグループと一致するか否かを判断するため、適切な配信の制御が可能となる。
【０００７】
ところで、画像形成装置は、インターネットに接続されずにオフラインで利用されることがある。この場合、ファームウェアの更新は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリーなどの記憶デバイスから最新バージョンのファームウェアを取り込んで行うことになる。なお、画像形成装置にインストールされたファームウェアは、動作を保証するために、最新バージョンとなっていることが好ましい。
【０００８】
この場合、画像形成装置にインストールされている複数のファームウェアのそれぞれのバージョン番号などを含むバージョン情報と、最新バージョンのリストに記載されたバージョン番号などを含むバージョン情報とを目視で確認する必要がある。
【０００９】
この確認作業は、画像形成装置にインストールされているファームウェアの数が少なければ、確認ミスを防げる可能性はあるが、ファームウェアの数が多くなるに従い、確認ミスを生じてしまうおそれがあるという問題があった。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができる電子機器及びバージョンチェックプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の電子機器は、バージョン情報を有し、機能毎に分割された複数のファームウェアを記憶する記憶デバイスと、前記ファームウェアのバージョンチェックの指示に基づき、それぞれの前記ファームウェアの前記バージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いてハッシュ値を求めるファームウェア管理部と、前記ファームウェア管理部に前記バージョンチェックを指示し、前記ファームウェア管理部が読み出した機能毎のファームウェアの前記バージョン情報と前記ハッシュ値とを出力させるシステム制御部とを備えることを特徴とする。
また、パネル部を備え、前記システム制御部は、機能種別及びバージョン番号を含む前記バージョン情報と前記ハッシュ値とを前記パネル部に表示させることを特徴とする。
また、前記ファームウェア管理部は、前記パネル部を介して指示された前記バージョン情報の並び順に従う文字列の全てを入力値とすることを特徴とする。
また、前記ファームウェア管理部は、前記バージョン情報の特定の並び順に従う文字列の全てを入力値とすることを特徴とする。
また、前記ファームウェア管理部は、前記パネル部を介して指示されたハッシュ関数を用いてハッシュ値を求めることを特徴とする。
本発明のバージョンチェックプログラムは、記憶デバイスにより、バージョン情報を有し、機能毎に分割された複数のファームウェアを記憶する工程と、ファームウェア管理部により、前記ファームウェアのバージョンチェックの指示に基づき、それぞれの前記ファームウェアの前記バージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いてハッシュ値を求める工程と、システム制御部により、前記ファームウェア管理部に前記バージョンチェックを指示し、前記ファームウェア管理部が読み出した機能毎のファームウェアの前記バージョン情報と前記ハッシュ値とを出力させる工程とを、電子機器を制御するコンピューターに実行させることを特徴とする。
本発明の電子機器及びバージョンチェックプログラムでは、記憶デバイスにより、バージョン情報を有し、機能毎に分割された複数のファームウェアを記憶し、ファームウェア管理部により、ファームウェアのバージョンチェックの指示に基づき、それぞれのファームウェアのバージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いてハッシュ値を求め、システム制御部により、ファームウェア管理部にバージョンチェックを指示し、ファームウェア管理部が読み出した機能毎のファームウェアのバージョン情報とハッシュ値とを出力させる。
ここで、ハッシュ値は、入力値となるバージョン情報の数及び文字列の数などに依存せず、特定のハッシュ関数に基づいた一定の数の文字列となる。また、ハッシュ値は、入力値となるバージョン情報の文字列が似ていても、異なる文字列を表す。
よって、ファームウェア管理部が求めたハッシュ値と、たとえばファームウェアの最新バージョンのリストに示されるハッシュ値とを目視で確認した場合であっても、記憶デバイスが記憶しているファームウェアが最新バージョンかどうかを容易に確認できる。
【発明の効果】
【００１２】
本発明の電子機器及びバージョンチェックプログラムによれば、記憶デバイスが記憶しているファームウェアが最新バージョンかどうかを容易に確認できるようにしたので、ファームウェアの数が多くなっても、目視での確認ミスを容易に抑制できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の電子機器をＭＦＰに適用した場合の一実施形態を示す図である。
【図２】図１のＭＦＰでのファームウェアについて説明するものであって、図２（ａ）は図１のＥＥＰＲＯＭに記憶されているファームウェアのバージョン情報を示す図であり、図２（ｂ）は図１のファームウェア管理部がファームウェアのバージョン情報の文字列に基づいて求めたハッシュ値を示す図であり、図２（ｃ）はファームウェアの最新バージョンのリストを示す図である。
【図３】図１のＭＦＰでのファームウェアのバージョンチェックの処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の電子機器の一実施形態を、図１〜図３を参照しながら説明する。なお、以下の説明においての電子機器の一例としては、たとえば印刷機能、コピー機能、ＦＡＸ機能、ネットワーク経由でのデータ送受信機能などを搭載した複合的な周辺機器であるＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であるものとする。
【００１５】
まず、図１に示すように、ＭＦＰ１００は、スキャナー部１０１、プリンター部１０２、ＦＡＸ部１０３、Ｉ／Ｆ（インターフェース）１０４、パネル部１０５及びＨＤＤ１０６の動作を制御する制御部１１０を備えている。
【００１６】
スキャナー部１０１は、イメージセンサ（図示省略）によって読み取られる図示しない原稿の画像をデジタルの画像データに変換し、制御部１１０に入力するデバイスである。プリンター部１０２は、制御部１１０から出力される印刷データに基づき、図示しない用紙上に画像を印刷するデバイスである。ＦＡＸ部１０３は、制御部１１０から出力されるデータを、電話回線を通じ相手方となるファクシミリへと送信し、また、相手方ファクシミリからのデータを受信して制御部１１０に入力するデバイスである。
【００１７】
Ｉ／Ｆ１０４は、ネットワークを介し、他のＭＦＰやユーザー端末などとの通信を受け持つ。なお、Ｉ／Ｆ１０４は、図示しないコンテンツサーバーやウェブサーバーなどとの通信を受け持ってもよい。パネル部１０５は、ＭＦＰ１００の印刷機能、コピー機能、ＦＡＸ機能、ネットワーク経由でのデータ送受信機能や、各種設定のための表示を行うタッチパネルなどのデバイスである。ＨＤＤ１０６は、ＭＦＰ１００の種々の機能を提供するためのアプリケーションプログラムなどを記憶している記憶デバイスである。また、ＨＤＤ１０６は、たとえばユーザー端末側から登録された印刷ジョブ及びページ記述言語による印刷対応データなどを記憶するユーザーボックスを有している。
【００１８】
制御部１１０は、認証プログラムなどのアプリケーションプログラム、画像形成プログラム、及び制御プログラムなどを実行してＭＦＰ１００全体の動作を制御するプロセッサーである。制御部１１０は、スキャナー制御部１１１、プリンター制御部１１２、ＦＡＸ（Ｆａｃｓｉｍｉｌｅ）制御部１１３、通信制御部１１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１５、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１６、ファームウェア管理部１１７、画像処理部１１８、パネル操作制御部１１９、ＨＤＤ制御部１２０、システム制御部１２１を備えている。また、これらは、データバス１２２に接続されている。
【００１９】
スキャナー制御部１１１は、スキャナー部１０１の読み取り動作を制御する。プリンター制御部１１２は、プリンター部１０２の印刷動作を制御する。ＦＡＸ制御部１１３は、ＦＡＸ部１０３によるデータの送受信動作を制御する。通信制御部１１４は、Ｉ／Ｆ１０４を介し、ネットワーク経由でのデータなどの送受信の制御を行う。
【００２０】
ＲＡＭ１１５は、プログラムを実行するためのワークメモリーである。また、ＲＡＭ１１５は、画像処理部１１８によって画像処理された印刷データを記憶する。ＥＥＰＲＯＭ１１６には、各部の動作チェックなどを行う制御プログラムが記憶されている。また、ＥＥＰＲＯＭには、スキャナー部１０１、プリンター部１０２、ＦＡＸ部１０３、Ｉ／Ｆ（インターフェース）１０４、パネル部１０５及びＨＤＤ１０６などを動作させるためのファームウェアが記憶されている。なお、ファームウェアは、更新の処理速度を上げるために、機能毎に分割されている。また、機能毎に分割されたそれぞれのファームウェアは、固有の機能種別及びバージョン番号を含むバージョン情報を有しているが、その詳細については後述する。
【００２１】
ファームウェア管理部１１７は、システム制御部１２１の指示に基づき、ＥＥＰＲＯＭ１１６に記憶されている機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数を用いて後述のハッシュ値１１６ｅを求める。なお、ハッシュ関数としては、ｍｄ５、ｓｈａ１、ｒｉｐｅｍｄ１２８、ｗｈｉｒｌｐｏｏｌなどの既存のものを用いることができる。
【００２２】
画像処理部１１８は、スキャナー部１０１によって読み取られた画像データに対する画像処理（ラスタライズ）を行う。また、画像処理部１１８は、ＨＤＤ１０６のユーザーボックスに登録された印刷対象データに対する画像処理（ラスタライズ）を行う。なお、システム制御部１２１は、画像処理部１１８が画像処理した印刷データを、一旦、ＲＡＭ１１５に記憶させる。
【００２３】
パネル操作制御部１１９は、パネル部１０５の表示動作を制御する。また、パネル操作制御部１１９は、パネル部１０５を介し、印刷、コピー、ＦＡＸ、ネットワーク経由でのデータ送受信などの開始を受け付ける。また、パネル操作制御部１１９は、パネル部１０５に対し、ファームウェア管理部１１７がＥＥＰＲＯＭ１１６から読み出した機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報と、それぞれのバージョン情報の文字列の全てを入力値として求めた後述のハッシュ値１１６ｅとを表示させる。
【００２４】
システム制御部１２１は、各部の連携動作などを制御する。また、システム制御部１２１は、パネル部１０５を介してコピーや印刷などが選択されると、スキャナー制御部１１１やプリンター制御部１１２を介し、スキャナー部１０１による原稿の読み取りやプリンター部１０２による用紙への印刷を制御する。また、システム制御部１２１は、パネル部１０５を介してファームウェアのバージョンチェックが指示されると、ファームウェア管理部１１７に対し、ＥＥＰＲＯＭ１１６に記憶されている機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報を読み出と、それぞれのバージョン情報の文字列の全てを入力値としたハッシュ値１１６ｅの取得とを指示する。また、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得すると、パネル操作制御部１１９を介し、パネル部１０５にファームウェア管理部１１７がＥＥＰＲＯＭ１１６から読み出した機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報と、それぞれのバージョン情報の文字列の全てを入力値として求めたハッシュ値１１６ｅとを表示させる。なお、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得した場合、ファームウェア管理部１１７がＥＥＰＲＯＭ１１６から読み出した機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報と、それぞれのバージョン情報の文字列の全てを入力値として求めたハッシュ値１１６ｅとを用紙に印刷させるように、プリンター制御部１１２に指示してもよい。
【００２５】
次に、図２を参照し、ＭＦＰ１００でのファームウェアについて説明する。まず、図２（ａ）はＥＥＰＲＯＭ１１６に記憶されているファームウェアのバージョン情報を示す。バージョン情報は、ＭＦＰ１００の機能毎のファームウェアのバージョン番号を含む。すなわち、ＥＥＰＲＯＭ１１６には、たとえば「Ｂａｓｅ  Ｓｙｓｔｅｍ  Ｖｅｒｓｉｏｎ  １２３．４５６」とした機能種別及びバージョン番号を含むバージョン情報１１６ａと、「Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２４」とした機能種別及びバージョン番号を含むバージョン情報１１６ｂと、「Ｐｒｉｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．８１  ｒｅｖ．Ｂ」とした機能種別及びバージョン番号を含むバージョン情報１１６ｃと、「Ｆａｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．２５」とした機能種別及びバージョン番号を含むバージョン情報１１６ｄとが記憶されている。
【００２６】
ファームウェア管理部１１７は、システム制御部１２１の指示に基づき、機能毎のバージョン情報１１６ａ〜１１６ｄを読み出すと、それぞれのバージョン情報１１６ａ〜１１６ｄの文字列の全てを入力値とし、特定のハッシュ関数（たとえばｍｄ５）を用いて図２（ｂ）に示すハッシュ値１１６ｅを求める。この場合の入力値は、バージョン情報１１６ａ〜１１６ｄの並び順に従い、「Ｂａｓｅ  Ｓｙｓｔｅｍ  Ｖｅｒｓｉｏｎ  １２３．４５６  Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２４  Ｐｒｉｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．８１  ｒｅｖ．Ｂ  Ｆａｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．２５」となる。また、この場合のハッシュ値１１６ｅは、「３６ｆｄ０ａｅ２ｃａ１２７５ｃｄｅ８６ａｄ６ｄｄｃ５９９ｅｄ８７」となる。
【００２７】
図２（ｃ）は、ファームウェアの最新バージョンのリスト２００を示す。リスト２００には、「Ｂａｓｅ  Ｓｙｓｔｅｍ  Ｖｅｒｓｉｏｎ  １２３．４５６」とした機能種別及びバージョン番号を含むバージョン情報２００ａと、「Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２５」とした機能種別及びバージョン番号を含むバージョン情報２００ｂと、「Ｐｒｉｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．８１  ｒｅｖ．Ｂ」とした機能種別及びバージョン番号を含むバージョン情報２００ｃと、「Ｆａｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．２５」とした機能種別及びバージョン番号を含むバージョン情報２００ｄと、特定のハッシュ関数（たとえばｍｄ５）を用いたハッシュ値２００ｅとが印刷されている。この場合のハッシュ値２００ｅは、バージョン情報２００ａ〜２００ｄの並び順に従い、「Ｂａｓｅ  Ｓｙｓｔｅｍ  Ｖｅｒｓｉｏｎ  １２３．４５６  Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２５  Ｐｒｉｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．８１  ｒｅｖ．Ｂ  Ｆａｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ２．２５」に基づいて求められたものであって、「ｂｆｆ４５４ａ５ｄ５０ｃｂｃｃｅｄ４０６９ｆ３３ｃ７１ｄ７９ｃ２」である。
【００２８】
ここで、ハッシュ値１１６ｅとハッシュ値２００ｅとを比較すると、それぞれの文字列が異なっていることが分かる。この文字列の相違は、ＥＥＰＲＯＭ１１６に記憶されている「Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２４」としたバージョン情報１１６ｂのバージョン番号（点線で囲っている箇所）と、リスト２００の「Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．２５」としたバージョン情報２００ｂのバージョン番号（点線で囲っている箇所）とが一致していないことによるものである。よって、たとえばハッシュ値１１６ｅの文字列の一部（たとえば先頭から３文字程度）と、ハッシュ値２００ｅの文字列の一部（たとえば先頭から３文字程度）とを目視で比較することで、ＥＥＰＲＯＭ１１６に記憶されているファームウェアが最新バージョンであるかどうかを容易に確認できる。
【００２９】
ここで、ハッシュ値１１６ｅとハッシュ値２００ｅとが一致しなかった場合、それぞれのバージョン情報１１６ａ〜１１６ｄの文字列のバージョン番号と、リスト２００のそれぞれのバージョン情報２００ａ〜２００ｄの文字列のバージョン番号とを比較することで、バージョン情報１１６ａ〜１１６ｄのいずれかが最新バージョンではないことを容易に確認できる。
【００３０】
なお、バージョン情報１１６ａ〜１１６ｄの並び順と、リスト２００のバージョン情報２００ａ〜２００ｄの並び順とが異なる場合、バージョン情報１１６ａ〜１１６ｄの全てが最新バージョンであっても、ハッシュ値１１６ｅとハッシュ値２００ｅとが同じ文字列とならない。この場合、パネル部１０５に表示されたバージョン情報１１６ａ〜１１６ｄの並び順を、リスト２００のバージョン情報２００ａ〜２００ｄの並び順に合わせるように、パネル部１０５を介したユーザーによる指示に基づいて変更可能としてもよい。
【００３１】
また、バージョン情報１１６ａ〜１１６ｄの並び順を特定の並び順としてもよい。この場合、リスト２００のハッシュ関数２００ｅがバージョン情報２００ａ〜２００ｄの特定の並び順に従って求められたものであることが前提となる。特定の並び順は、例えば、ファームウェアの発行元が任意に定めた順番、文字列順（例えば、アルファベット順、五十音順、アルファベット順と五十音順の組み合わせ）、時間順（発行日時順、更新日時順、発行日時順と更新日時順の組み合わせ）、又は文字列順と時間順の組み合わせとすることができる。ファームウェア管理部１１７は、バージョン情報１１６ａ〜１１６ｄをソートして特定の並び順に並べ替えた後、ハッシュ値１１６ｅを求める。
【００３２】
また、ファームウェア管理部１１７が用いたハッシュ関数と、リスト２００のハッシュ値２００ｅを求めるためのハッシュ関数とが異なると、バージョン情報１１６ａ〜１１６ｄの全てが最新バージョンであっても、ハッシュ値１１６ｅとハッシュ値２００ｅとが同じ文字列とならない。この場合、パネル部１０５を介してファームウェア管理部１１７が用いるハッシュ関数を、リスト２００のハッシュ値２００ｅを求めた際のハッシュ関数に合わせるように、変更可能としてもよい。
【００３３】
次に、図３を参照し、ファームウェアのバージョンチェックの処理について説明する。なお、以下に説明するファームウェアは、たとえば「Ｂａｓｅ  Ｓｙｓｔｅｍ」、「Ｃｏｐｙ  Ａｐｐｌｉｃａｔｉｏｎ」「Ｐｒｉｎｔ  Ａｐｐｌｉｃａｔｉｏｎ」「Ｆａｘ  Ａｐｐｌｉｃａｔｉｏｎ」に関わるものとする。
【００３４】
（ステップＳ１０１）
システム制御部１２１は、バージョンチェックの指示有りかどうかを判断する。
この場合、システム制御部１２１は、パネル操作制御部１１９からのパネル部１０５を介してバージョンチェックの指示を受け付けたことを示す通知が無ければバージョンチェックの指示が無いと判断する（ステップＳ１０１：Ｎｏ）。
これに対し、システム制御部１２１は、パネル操作制御部１１９からのパネル部１０５を介してバージョンチェックの指示を受け付けたことを示す通知が有ればバージョンチェックの指示が有ると判断し（ステップＳ１０１：Ｙｅｓ）、ステップＳ１０２に移行する。
【００３５】
（ステップＳ１０２）
システム制御部１２１は、バージョンチェックを指示する。
この場合、システム制御部１２１は、ファームウェア管理部１１７に対し、ＥＥＰＲＯＭ１１６に記憶されている機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報を読み出と、それぞれのバージョン情報の文字列の全てを入力値としたハッシュ値１１６ｅの取得とを指示する。
このとき、ＥＥＰＲＯＭ１１６に記憶されている機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報を読み出し、それぞれのバージョン情報の文字列の全てを入力値とし、特定のハッシュ関数（たとえばｍｄ５）を用いてハッシュ値１１６ｅを求める。
【００３６】
（ステップＳ１０３）
システム制御部１２１は、バージョンチェックが完了したかどうかを判断する。
この場合、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得していなければバージョンチェックが完了していないと判断する（ステップＳ１０３：Ｎｏ）。
これに対し、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得していればバージョンチェックが完了したと判断（ステップＳ１０３：Ｙｅｓ）、ステップＳ１０４に移行する。
【００３７】
（ステップＳ１０４）
システム制御部１２１は、バージョンチェックの結果を表示させる。
この場合、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得すると、パネル操作制御部１１９を介し、パネル部１０５にファームウェア管理部１１７がＥＥＰＲＯＭ１１６から読み出した機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報１１６ａ〜１１６ｄと、それぞれのバージョン情報１１６ａ〜１１６ｄの文字列の全てを入力値として求めたハッシュ値１１６ｅとを表示させる。
【００３８】
なお、システム制御部１２１は、ファームウェア管理部１１７がハッシュ値１１６ｅを取得した場合、上述したように、ファームウェア管理部１１７がＥＥＰＲＯＭ１１６から読み出した機能毎のファームウェアの機能種別及びバージョン番号を含むバージョン情報１１６ａ〜１１６ｄと、それぞれのバージョン情報の文字列の全てを入力値として求めたハッシュ値１１６ｅとを、プリンター制御部１１２を介し、プリンター部１０２によって用紙に印刷させてもよい。
【００３９】
そして、ＭＦＰ１００のファームウェアが最新バージョンであるかどうかを目視により確認する場合、たとえばパネル部１０５に表示されたハッシュ値１１６ｅと、最新バージョンのリスト２００に印刷されているハッシュ値２００ｅとを比較し、それぞれのハッシュ値１１６ｅ、２００ｅの文字列が異なっている場合、ＥＥＰＲＯＭ１１６に記憶されているファームウェアが最新バージョンではないことを確認できる。この場合、たとえばハッシュ値１１６ｅの文字列の一部（たとえば先頭から３文字程度）と、ハッシュ値２００ｅの文字列の一部（たとえば先頭から３文字程度）とを目視で比較することで、ＥＥＰＲＯＭ１１６に記憶されているファームウェアが最新バージョンであるかどうかを容易に確認できる。
【００４０】
また、ハッシュ値１１６ｅとハッシュ値２００ｅとが一致しなかった場合、それぞれのバージョン情報１１６ａ〜１１６ｄの文字列のバージョン番号と、リスト２００のそれぞれのバージョン情報２００ａ〜２００ｄの文字列のバージョン番号とを比較することで、バージョン情報１１６ａ〜１１６ｄのいずれかが最新バージョンではないことを容易に確認できる。
【００４１】
このように、本実施形態では、ＥＥＰＲＯＭ１１６（記憶デバイス）により、バージョン情報１１６ａ〜１１６を有し、機能毎に分割された複数のファームウェアを記憶し、ファームウェア管理部１１７により、ファームウェアのバージョンチェックの指示に基づき、それぞれのファームウェアのバージョン情報１１６ａ〜１１６を読み出し、それぞれのバージョン情報１１６ａ〜１１６ｄの文字列の全てを入力値とし、特定のハッシュ関数（たとえばｍｄ５）を用いてハッシュ値１１６ｅを求め、システム制御部１２１により、ファームウェア管理部１１７にバージョンチェックを指示し、ファームウェア管理部１１７が読み出した機能毎のファームウェアのバージョン情報１１６ａ〜１１６ｄとハッシュ値１１６ｅとを出力させる。
【００４２】
ここで、ハッシュ値１１６ｅは、入力値となるバージョン情報１１６ａ〜１１６ｄの数及び文字列の数などに依存せず、特定のハッシュ関数（たとえばｍｄ５）に基づいた一定の数の文字列となる。また、ハッシュ値１１６ｅは、入力値となるバージョン情報１１６ａ〜１１６ｄの文字列が似ていても、異なる文字列を表す。よって、ファームウェア管理部１１７が求めたハッシュ値１１６ｅと、たとえばファームウェアの最新バージョンのリスト２００に示されるハッシュ値２００ｅとを目視で確認した場合であっても、ＥＥＰＲＯＭ１１６（記憶デバイス）が記憶しているファームウェアが最新バージョンかどうかを容易に確認できることから、ファームウェアの数が多くなっても、目視での確認ミスを容易に抑制できる。
【００４３】
なお、本実施形態では、電子機器をＭＦＰ１００に適用した場合として説明したが、この例に限らず、複数の機能を搭載したＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、携帯端末、タブレット端末などの他の電子機器に適用してもよい。
【符号の説明】
【００４４】
１００  ＭＦＰ
１０１  スキャナー部
１０２  プリンター部
１０３  ＦＡＸ部
１０４  Ｉ／Ｆ
１０５  パネル部
１０６  ＨＤＤ
１１０  制御部
１１１  スキャナー制御部
１１２  プリンター制御部
１１３  ＦＡＸ制御部
１１４  通信制御部
１１５  ＲＡＭ
１１６  ＥＥＰＲＯＭ
１１６ａ〜１１６ｄ、２００ａ〜２００ｄ  バージョン情報
１１６ｅ、２００ｅ  ハッシュ値
１１７  ファームウェア管理部
１１８  画像処理部
１１９  パネル操作制御部
１２０  ＨＤＤ制御部
１２１  システム制御部
１２２  データバス
２００  リスト
【図１】
2018032311.tif 000003
【図２】
2018032311.tif 000004
【図３】
2018032311.tif 000005