JP2020047139A - 組み込みシステムのファームウエアバージョン変更方法及びプログラム - Google Patents
組み込みシステムのファームウエアバージョン変更方法及びプログラム Download PDFInfo
- Publication number
- JP2020047139A JP2020047139A JP2018176722A JP2018176722A JP2020047139A JP 2020047139 A JP2020047139 A JP 2020047139A JP 2018176722 A JP2018176722 A JP 2018176722A JP 2018176722 A JP2018176722 A JP 2018176722A JP 2020047139 A JP2020047139 A JP 2020047139A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- initial setting
- initialization
- version
- mfp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
【課題】MFPの自動初期設定で設定内容にファームウエアバージョンダウンが含まれる場合、自動で処理継続可能にする。【解決手段】MFPの自動初期設定を行う初期設定アプリケーションを、ファームウエアバージョンに依存しない拡張後入れアプリケーションとして実装する。ファームウエアバージョンダウン時、バージョン更新に依存する最低限の領域のみ削除する初期設定初期化モードをMFPファームウエアに搭載する。初期設定の設定内容にファームウエアバージョンダウンが含まれる場合、バージョンダウン前に初期設定初期化を予約し、バージョンダウン実行後に初期設定初期化を実行する。初期設定アプリケーションとその専用領域は、初期設定初期化の削除対象外のため、バージョンダウン後も処理継続が可能となる。また、バージョンダウン後に初期設定初期化を実行するため、バージョンダウンに失敗した場合に、エラーリカバリ等の処理が不要となる。【選択図】図8
Description
この発明は、組み込みシステムデバイスのファームウエアバージョンダウンの動作に関する。
一般に、画像形成装置に代表されるデバイスは新規に導入される際に、顧客環境に応じた初期設定作業が必要となる。デバイスの初期設定作業には多くの時間と手間がかかる。そのため、複数台のデバイスに対し、同様の初期設定作業を行う場合には、予め指定されたファームウエアバージョン、必要なソフトウエアや設定情報、検証用のデータなどの共通データを用意しておく。そして、それらを設定指示情報に従って処理していくことで、複合機の設定に詳しくない作業者(例えば、顧客先へ複合機を配送する配送担当者)であっても、自動的にかつ効率良く初期設定作業を行えるシステムが提案されている。その中で、ファームウエアを指定されたバージョンに変更する際、通常はバージョンアップとなる。
しかし、画像形成装置等のオフィス等で使用されるデバイスには、ファームウエアの種類が、通常ファームに加え、商談ファーム、個別ファーム等が存在する。通常ファームとは一般のユーザが画像形成装置で使用するファームであり、商談ファームとは特定の商談用にカスタマイズされたファームであり、個別ファームとは特定の障害等を直して個別にリリースされるファームである。その中で、商談ファームは商談先でしか使用されないファームであり、バージョンが長期に渡って変更されずに固定である場合が多い。工場出荷のファームウエアバージョンは、定期的に上がっていくため、設定する商談ファームのバージョンが、工場出荷されたファームウエアバージョンより下回ることが発生する。そのため、初期設定作業において、ファームウエアバージョンダウンという工程を行う必要がでてくる。
ファームウエアのバージョンアップでは、機能拡張や不具合修正のため、データファイルの形式等がしばしば変更される。バージョンアップという工程では、バージョンアップ先のファームウエアが、データファイル形式の変更を知っているため、バージョンアップと同時にデータファイルの形式変更も行うことができる。しかし、バージョンダウンという工程では、バージョンダウン先のファームウエアはデータファイルの形式変更を知らないため、ファイル形式が認識できずに正しくファイルを読み込めず、正常に起動できない可能性がある。
このような問題に対応するため、特許文献1によると、バージョンダウンを行う場合に、バージョンダウン先のファームウエアが使用可能なデータ形式に変換してから、バージョンダウンを行うと記述されている。また、特許文献2によると、バージョンダウンを行う場合に、追加されている機能が使用するデータを削除してから、バージョンダウンを行うと記述されている。
しかしながら、特許文献1も特許文献2も、バージョンダウン前に、データファイルの形式変更や、機能追加分のデータ領域の削除を行う。そのため、例えば、バージョンダウンに失敗した場合に、データファイルの形式や削除したデータ領域のロールバックが必要となる。さらに、バージョンダウン前とバージョンダウン先でのデータファイル形式の差分や機能追加の差分が、それぞれのパターンがあるため、全てのパターンを網羅する必要がある。
本発明は、初期設定作業におけるファームウエアのバージョンダウン時の、上記の課題を解決するためになされたものであり、ファームウエアのバージョンダウンを行った後に、必要な処理を実行しながら、デバイスを正常に起動できることを目的とする。
上記の目的を達成するために、本発明は、
ファームウエアが搭載されている情報処理装置において、前記ファームウエアのシステム構成はミドルウェアを有する構成で、バージョン管理されており、第1ファームウエアから第2ファームウエアにファームウエアバージョンを更新するファームウエア更新手段と、前記ファームウエアに依存しないデータ領域を削除する初期化手段とを備え、さらに、初期設定指示が記載されたスクリプトに従って初期設定作業を自動で行う初期設定モジュールがあり、前記初期設定モジュールは前記ミドルウェア上で動作するアプリケーションであるとき、前記初期設定モジュールがファームウエア更新を依頼するファームウエア更新依頼手段と、前記ファームウエア更新が、ファームウエアバージョンダウンか否かを判断するバージョンダウン判断手段とを備え、さらに、前記初期設定モジュールは、前記ファームウエア単位に依存しない形式で管理されていることを特徴とする。
ファームウエアが搭載されている情報処理装置において、前記ファームウエアのシステム構成はミドルウェアを有する構成で、バージョン管理されており、第1ファームウエアから第2ファームウエアにファームウエアバージョンを更新するファームウエア更新手段と、前記ファームウエアに依存しないデータ領域を削除する初期化手段とを備え、さらに、初期設定指示が記載されたスクリプトに従って初期設定作業を自動で行う初期設定モジュールがあり、前記初期設定モジュールは前記ミドルウェア上で動作するアプリケーションであるとき、前記初期設定モジュールがファームウエア更新を依頼するファームウエア更新依頼手段と、前記ファームウエア更新が、ファームウエアバージョンダウンか否かを判断するバージョンダウン判断手段とを備え、さらに、前記初期設定モジュールは、前記ファームウエア単位に依存しない形式で管理されていることを特徴とする。
本発明に係る情報処理装置によれば、ファームウエアバージョンに依存部分する領域のみを削除する初期設定用初期化を設ける。ファームウエアバージョンダウンを行うと判断した場合に、ファームウエアバージョンダウン前に初期設定用初期化を予約し、バージョンダウン直後に初期設定用初期化を実行する。さらに、初期設定プログラムをファームウエアバージョンに依存しない拡張後入れアプリケーションとすることで、初期設定用初期化の削除対象とならず、ファームウエアバージョンダウン後でも処理が継続する。従って、初期設定作業において、ファームウエアのバージョンダウンが発生した場合にも、安全なファームウエア更新が行える手段を提供することが可能となり、さらにその後の処理も、自動で継続することが可能となる。
以下、本発明を実施するための形態について、図面を参照しながら説明する。
〔実施形態〕
図1は、本発明の情報処理システム構成の例を示す図である。情報処理システムは、LAN(100)があり、初期設定対象の画像形成装置(以下、MFPと記載)(101)が接続されている。MFPは、案件管理サーバ(120)にアクセス可能であればLAN経由での接続でなくても構わない。また、初期設定の指示書(以下、スクリプトと記載)や必要なデータをネットワーク経由で取得する場合は、案件管理サーバのような情報処理システムが必要である。しかし、初期設定に必要な指示書およびデータを、PC等(不図示)から、一旦、外部記憶装置(例えばUSBメモリ等)に保存し、外部記憶装置をMFPに接続することで初期設定を行う場合には、このような情報処理システムは必要ない。本実施例では、ネットワーク経由で、MFP(101)の初期設定を行うシステムについて詳述する。
図1は、本発明の情報処理システム構成の例を示す図である。情報処理システムは、LAN(100)があり、初期設定対象の画像形成装置(以下、MFPと記載)(101)が接続されている。MFPは、案件管理サーバ(120)にアクセス可能であればLAN経由での接続でなくても構わない。また、初期設定の指示書(以下、スクリプトと記載)や必要なデータをネットワーク経由で取得する場合は、案件管理サーバのような情報処理システムが必要である。しかし、初期設定に必要な指示書およびデータを、PC等(不図示)から、一旦、外部記憶装置(例えばUSBメモリ等)に保存し、外部記憶装置をMFPに接続することで初期設定を行う場合には、このような情報処理システムは必要ない。本実施例では、ネットワーク経由で、MFP(101)の初期設定を行うシステムについて詳述する。
MFPは、スキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した画像形成装置である。MFPには、後述する初期設定プログラム(400)がインストールされている。初期設定プログラムは、MFPをスクリプト(図6)に記載された通りに設定する処理を実施する。案件管理サーバは、データ管理プログラム(450)がインストールされている。データ管理プログラムは、MFPからの要求に応じスクリプトを送信する。
<MFP>
図2は、図1に示した情報処理システムの各ハードウエア構成を説明するブロック図である。図2の(A)は、MFP(101)のハードウエア構成の例である。図2の(A)において、MFPはコントローラユニット(200)を含み、コントローラユニットには、画像入力デバイスであるスキャナ(217)や画像出力デバイスであるプリンタ(216)が接続されるとともに、操作部(208)が接続される。コントローラユニットは、スキャナで読み取られた画像データをプリンタにより印刷出力するコピー機能を実現するための制御を行う。コントローラユニットは、プロセッサであるCPU(201)を有し、CPUは、ROM(206)に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。
図2は、図1に示した情報処理システムの各ハードウエア構成を説明するブロック図である。図2の(A)は、MFP(101)のハードウエア構成の例である。図2の(A)において、MFPはコントローラユニット(200)を含み、コントローラユニットには、画像入力デバイスであるスキャナ(217)や画像出力デバイスであるプリンタ(216)が接続されるとともに、操作部(208)が接続される。コントローラユニットは、スキャナで読み取られた画像データをプリンタにより印刷出力するコピー機能を実現するための制御を行う。コントローラユニットは、プロセッサであるCPU(201)を有し、CPUは、ROM(206)に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。
CPUは、このOS上で、HDD(ハードディスクドライブ)(207)に格納されているプログラムを実行し、これによって各種処理を実行する。このCPUの作業領域としてはRAM(202)が用いられる。HDDは、上記プログラムや画像データを格納する。CPUには、システムバス(210)を介して、ROMおよびRAM、操作部I/F(操作部インタフェース)(203)が接続される。さらにCPUには、ネットワークI/F(ネットワークインタフェース)(204)、USBホストI/F(205)、画像バスI/F(画像バスインタフェース)(212)が接続される。
操作部I/Fは、タッチパネルを有する操作部とのインタフェースであり、操作部に表示すべき画像データを操作部に対して出力する。また、操作部I/Fは、操作部においてユーザにより入力された情報をCPUに送出する。ネットワークI/F(204)は、MFPをLAN(100)に接続するためのインタフェースである。USBホストI/Fは、USBストレージ(218)と通信するインタフェース部である。USBホストI/Fは、HDDに格納されているデータをUSBストレージに出力する。また、USBホストI/Fは、USBストレージに格納されているデータを入力し、CPUにそれを伝える。USBストレージは、データを格納する外部記憶装置であり、USBホストI/Fに対して着脱可能である。
画像バスI/Fは、システムバスと、画像データを高速で転送する画像バス(211)とを接続し、データ形式を変換するためのバスブリッジである。画像バスは、PCIバスまたはIEEE1394等によって構成される。画像バス上には、デバイスI/F(215)、スキャナ画像処理部(214)、プリンタ画像処理部(213)が設けられる。デバイスI/Fには、スキャナ(217)およびプリンタ(216)が接続され、デバイスI/Fは、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対してプリンタに応じた補正、解像度変換などを行う。
<サーバ>
図2の(B)は、図1に示した案件管理サーバのハードウエア構成図である。図2の(B)において、CPU(281)を含む制御部(280)は、クライアントPC全体の動作を制御する。CPUは、ROM(282)に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM(283)は、CPUの主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD(284)は、各種プログラム、或いは後述する動作構成スキーマ(図4)を記憶する。ネットワークI/F(285)は、制御部をLANまたはネットワークに接続する。ネットワークI/Fは、ネットワークを介して他の装置との間で各種情報を送受信する。
図2の(B)は、図1に示した案件管理サーバのハードウエア構成図である。図2の(B)において、CPU(281)を含む制御部(280)は、クライアントPC全体の動作を制御する。CPUは、ROM(282)に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM(283)は、CPUの主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD(284)は、各種プログラム、或いは後述する動作構成スキーマ(図4)を記憶する。ネットワークI/F(285)は、制御部をLANまたはネットワークに接続する。ネットワークI/Fは、ネットワークを介して他の装置との間で各種情報を送受信する。
<MFPシステム構成図>
図3は、図1に示したMFP(101)を制御するためのシステム構成図である。これらシステムは、ROM(207)やHDD(209)に格納されている。コントーローラ(301)とは、MFPの各ハードウエアの制御を行うためのソフトウエア層であり、オペレーティングシステムやデバイスドライバ等が含まれる。組み込みアプリケーション(302)は、MFPの各機能を制御するためのソフトウエア層である。これらは、MFP独自にプログラムされた組み込みソフトウエア層である。ミドルウェア(303)は、MFP独自であるコントローラ層と、各アプリケーション(304〜312)をつなげるソフトウエア層である。MFPの機種毎に異なるハードウエア構成や制御方法、オペレーティングシステムなどをこの層で隠蔽することで、各アプリケーションを全機種および全ファームウエアバージョン上で動作できる仕組みを提供している。
図3は、図1に示したMFP(101)を制御するためのシステム構成図である。これらシステムは、ROM(207)やHDD(209)に格納されている。コントーローラ(301)とは、MFPの各ハードウエアの制御を行うためのソフトウエア層であり、オペレーティングシステムやデバイスドライバ等が含まれる。組み込みアプリケーション(302)は、MFPの各機能を制御するためのソフトウエア層である。これらは、MFP独自にプログラムされた組み込みソフトウエア層である。ミドルウェア(303)は、MFP独自であるコントローラ層と、各アプリケーション(304〜312)をつなげるソフトウエア層である。MFPの機種毎に異なるハードウエア構成や制御方法、オペレーティングシステムなどをこの層で隠蔽することで、各アプリケーションを全機種および全ファームウエアバージョン上で動作できる仕組みを提供している。
拡張プレインストールアプリケーション(304、305)および、拡張後入れアプリケーション(311、312)は、ミドルウェア層上で動作するアプリケーションである。また、本実施例のファームウエアとは、コントローラ、組み込みアプリケーション、ミドルウェア、拡張プレインアプリケーションをあわせたものを示す。ファームウエアバージョン変更とは、コントローラ、組み込みアプリケーション、ミドルウェア、拡張プレインアプリケーションが変更されることを意味する。また、本実施例の初期設定プログラム(311)は、拡張後入れアプリケーションである。
<各プログラムのソフトウエア構成>
図4は、MFP(101)、案件管理サーバ(120)で動作する各プログラムのソフトウエア構成の例を示すブロック図である。
図4は、MFP(101)、案件管理サーバ(120)で動作する各プログラムのソフトウエア構成の例を示すブロック図である。
400は、MFPで初期設定プログラムの機能構成の例である。なお、CPU(201)が初期設定プログラムを実行することにより各機能が実現される。初期設置プログラムは、MFPの拡張後入れアプリケーション(311、312)の一つとして実装されるものとする。初期設定プログラムは、UI制御部(401)、処理実行部(402)、スクリプト解析部(403)、通信部(404)、ファームウエアバージョン比較部(405)、ファームウエアバージョンダウン実行部(406)を有する。
各機能の詳細を説明する。UI制御部は、初期設定プログラムを操作するためのUIを操作部(208)通じてユーザに提供し、ユーザの操作を受け付ける処理を行う。処理実行部は、UI制御部の指示やスクリプト解析部の解析結果に従い、各種処理を行う。スクリプト解析部は、初期設定指示情報である初期設定スクリプトを解析し、処理実行部が実行すべき処理を決定する。ファームウエアバージョン比較部は、処理実行部が決定したファームウエア更新バージョンと、初期設定中のMFPのファームウエアバージョンを比較する処理を行う。
ファームウエアバージョンダウン実行部は、ファームウエアバージョンダウンに必要な前処理および後処理を行う。通信部は、処理実行部の指示に従い、ネットワークI/F(204)を介して、案件管理サーバ(120)にデータの送信受信を行う。本実施例では、ネットワーク経由で初期設定を行うシステムについて詳述している。しかし、前述したように、初期設定に必要なデータを外部記憶装置(例えばUSBメモリ等)に保存し、外部記憶装置をMFPに接続することで初期設定を行う場合には、USBホストI/F(205)を介し、外部記憶装置とデータ送受信を行う事となる。
450は、案件管理サーバで動作するデータ管理プログラムの機能構成の例である。なお、CPU(281)がデータ管理プログラムを実行することにより各機能が実現される。データ管理プログラムは、制御部(451)、案件データ管理部(452)、通信部(453)、データ格納部(460)を有するWebアプリケーションである。各機能の詳細を説明する。制御部は、通信部が受信するリクエスト内容にしたがって、案件データ管理部に対して各データの取得等の処理を指示する。案件データ管理部は、制御部の指示に従い、後述するデータ格納部に対して案件データの取得などを行う。通信部は、ネットワークI/F(285)を介して、MFP(101)などからのリクエストを受信して、制御部にリクエスト内容を送信する。更に、制御部からリクエストに対する処理結果を受け取り、レスポンスデータを作成し、MFPなどにレスポンスを送信する。データ格納部は、案件管理サーバで動作するデータベースである。尚、本例では案件管理サーバにデータ格納部が構成されているが、データ管理プログラムと連携できるようになっていれば別のサーバに配置されるような構成でも良い。データ格納部で管理するデータの詳細についての説明は、本実施例では省略するが、各MFPの初期設定スクリプトが格納されているものとする。
<HDD構成図>
図5は、HDD(209)内で管理格納されているデータ領域を示すHDD構成図である。MFPシステム領域(501)は、ファームウエアの一部が展開されている領域である。ファームウエアとは、前述したように、コントローラ(301)、組み込みアプリケーション(302)、ミドルウェア(303)、拡張プレインアプリケーション(304、305)を合わせたものである。ファームウエアのバージョンを変更すると、MFPシステム領域は、変更後のファームウエアで上書きすることになる。
図5は、HDD(209)内で管理格納されているデータ領域を示すHDD構成図である。MFPシステム領域(501)は、ファームウエアの一部が展開されている領域である。ファームウエアとは、前述したように、コントローラ(301)、組み込みアプリケーション(302)、ミドルウェア(303)、拡張プレインアプリケーション(304、305)を合わせたものである。ファームウエアのバージョンを変更すると、MFPシステム領域は、変更後のファームウエアで上書きすることになる。
MFPシステムデータ領域(502)は、MFPの動作を変更するための設定値の定義、ファームウエアから展開される言語やフォント等が格納されている領域である。この領域は、ファームウエアのバージョンによってデータファイル形式が異なる可能性があるため、ファームウエアバージョンに依存する領域である。そのため、ファームウエアバージョンのバージョンアップをすると、バージョンアップ時に古いデータファイル形式から新しいデータファイル形式に自動変換される。ファームウエアのバージョンアップ時のデータ変換に関しては、既に一般的な記述のため、ここでは省略する。また、逆にファームウエアのバージョンダウンをした場合は、古いファームウエアは新しいデータファイル形式を知らないため、自動で変換できない。そのため、初期設置の場合は、この領域を削除し、ファームウエアバージョンダウン後にデータファイルを再構築する必要がある。ファームウエアのバージョンダウン時の処理に関しては、フロー図8を用いて後述する。
拡張アプリケーション領域(503)は、ミドルウェア層(303)上で動作するアプリケーション(304〜312)が使用する領域である。ファームウエアバージョンや機種に依存せずに動作するアプリケーションのため、別の領域で管理されている。ただし、プレインアプリケーション(304、305)は、ファームウエアの一部として管理されている。そのため、各アプリケーションが格納されている領域(504、506)および各アプリケーションが使用する専用データ領域(505、507)は、ファームウエアバージョンのバージョンアップをすると、プレインアプリケーション領域は上書きさせる。そして、専用データ領域は、MFPシステムデータ領域と同様に、古いデータファイル形式から新しいデータファイル形式に自動変換される。よって、初期設置の場合は、MFPのシステムデータ領域と同様に、この領域を削除し、ファームウエアバージョンダウン後にデータファイルを再構築する必要がある。
拡張後入れアプリケーション(311、312)は、ファームウエアとは別に管理されているアプリケーションであり、ファームウエアのバージョン変更をしても影響を受けない領域である。そのため、バージョンアップ時およびバージョンダウン時において、拡張後入れアプリケーション領域(508、510)および専用データ領域(509、511)は、データファイル形式の変換や削除を行う必要はない。本発明の初期設置プログラム(400)は、拡張後入れアプリケーションとして実装されている。また、データ領域(512)は、スキャンデータやFAX送受信データなど、一般的(パソコン等でも閲覧可能)な形式のデータを格納する領域である。データ領域も、ファームウエアバージョンに依存しない領域である。
従って、MFPシステムデータ領域(502)およびプレインアプリケーションの専用データ領域(505、507)は、初期設置におけるファームウエアバージョンダウン時に、削除および再構築が必要となる。
<初期設定スクリプト例>
図6は、図1に示したMFP(101)の初期設定を自動で実施するための初期設定スクリプト(600)を示す図である。初期設定スクリプトは、案件管理サーバのデータ格納部(460)に格納されており、MFPの初期設定プログラムの処理実行部(402)を介し、スクリプト解析部(403)によって解析される。スクリプト解析部によって解析された初期設定スクリプトは、処理実行部によって記載された処理が実行される。初期設定スクリプトは、XML(Extensible Markup Language)で記載されており、ヘッダー(601)、コマンド部(610)で構成されている。尚、本図ではXMLによりスクリプトを表現しているが、XMLに限定されず、シェルスクリプトなどで書かれていても良い。
図6は、図1に示したMFP(101)の初期設定を自動で実施するための初期設定スクリプト(600)を示す図である。初期設定スクリプトは、案件管理サーバのデータ格納部(460)に格納されており、MFPの初期設定プログラムの処理実行部(402)を介し、スクリプト解析部(403)によって解析される。スクリプト解析部によって解析された初期設定スクリプトは、処理実行部によって記載された処理が実行される。初期設定スクリプトは、XML(Extensible Markup Language)で記載されており、ヘッダー(601)、コマンド部(610)で構成されている。尚、本図ではXMLによりスクリプトを表現しているが、XMLに限定されず、シェルスクリプトなどで書かれていても良い。
ヘッダー部(601)は、案件を識別するための情報や、作成者等が記述される。コマンド部(610)は、初期設定するために必要なコマンド群が記載される。ファームウエアダウンロードコマンド部(611)、ファームウエア更新コマンド部(612)、アプリケーションダウンロードやアプリケーションインストールや設定値設定コマンド部などのその他コマンド部(613)等で構成される。ファームウエアダウンロードコマンド部(611)は、案件管理サーバ(120)から指定されたファームウエアをダウンロードし、HDD(209)に保存するコマンドである。
ファームウエアダウンロードコマンド部は、<downloadFirmwareCommand>で定義され、<version>で必要なファームウエアを特定する。本例では、<version>にバージョンを指定することでファームウエアを特定できるようにしたが、例えばネットワークパスや、DB上の場所を指定するidなどで場所を特定しても良い。また、ファームウエアのダウンロード元は、案件管理サーバではなく、別管理されているファームウエア専用の管理サーバでも構わない。また、前述したように、初期設定に必要なデータを格納した外部記憶装置(例えばUSBメモリ等)をMFPに接続することで初期設定を行う場合には、外部記憶装置でも良い。ファームウエア更新コマンド部(612)は、ファームウエアを更新するコマンドであり、<updateFirmwareCommand>で定義される。ここでは、コマンド(611)でダウンロードしたファームウエアを使用して、ファームウエアを更新する。ファームウエアの更新時の詳細な処理については、後述する。
その他コマンド部(613)は、指定されたアプリケーションをダウンロードおよびインストールしたり、指定された設定値を設定する処理を行ったりする。本実施例での詳細な説明は省略する。また、コマンド部は、記載されたコマンド順に処理が実行される。
<初期設定プログラムのUI>
図7は、MFPの操作部(208)に表示するUI画面を示す図である。本UIは、ユーザがMFPの初期設定を行う際に操作する。
図7は、MFPの操作部(208)に表示するUI画面を示す図である。本UIは、ユーザがMFPの初期設定を行う際に操作する。
図7の(A)は、MFPの組み込みアプリケーション(302)のUIの一例である。UI(700)はボタン(701)を有し、701は初期設定プログラム(400)を起動するためのボタンである。組み込みアプリケーションは、701が押下されたことを検知すると、初期設定プログラムを起動する。尚、本実施形態では分かり易く説明するため、ボタン701のみを表示しているがその限りではない。
図7の(B)および図(C)は、初期設定プログラムのUIの一例である。UI(710)は、ボタン701を押下された際に表示するUIであり、ボタン(711)と(712)を有し、初期設定プログラムが表示するUIである。711は初期設定を実行するためのボタンであり、初期設定プログラムは、ボタン711が押下されたことを検知すると、初期設定を開始する。初期設定の処理については図7用いて後述する。712は、初期設置プログラムを終了するためのボタンである。
UI(720)は、ボタン711を押下された際に表示するUIであり、初期設定プログラムが初期設定の処理中に表示するUIである。各コマンド(610)実行時に、処理内容が表示される。
<バージョンダウンを伴う初期設定処理>
図8は、MFPと案件管理サーバの初期設定時のファームウエアのバージョンダウン処理を説明するフローチャートである。本例は、MFPの初期設定プログラム(400)、および、案件管理サーバのデータ管理プログラム(450)の処理例である。なお、S800からS810は、CPU(201)が初期設定プログラムを実行すること、およびMFPのコントローラ(301)の処理で実現され、S850からS851は、CPU(281)がデータ管理プログラムを実行することで実現される。
図8は、MFPと案件管理サーバの初期設定時のファームウエアのバージョンダウン処理を説明するフローチャートである。本例は、MFPの初期設定プログラム(400)、および、案件管理サーバのデータ管理プログラム(450)の処理例である。なお、S800からS810は、CPU(201)が初期設定プログラムを実行すること、およびMFPのコントローラ(301)の処理で実現され、S850からS851は、CPU(281)がデータ管理プログラムを実行することで実現される。
S800からS810は、ユーザがボタン(701)を押下した際の初期設定プログラムの初期設定の処理である。S800で、通信部(404)は、案件管理サーバへ初期設定スクリプトを要求して、S800に遷移する。具体的には通信部が、データ管理プログラムの通信部(453)に対してHTTPのGETコマンドによる要求を行う。要求には初期設置スクリプトを特定するための識別子を含む。例えば、初期設定中のMFPのデバイスIDや機種、ユーザが入力した情報等を含む。
S801で、通信部は、初期設定スクリプト(図6)を案件管理サーバから受信し、専用データ領域(509)に保存する。そして、処理実行部(402)は、スクリプト解析部(403)にスクリプトの解析を依頼する。スクリプト解析部は、スクリプトを解析し、解析結果を処理実行部に戻し、S802に遷移する。
S802で、処理実行部はスクリプト解析結果に基づいて処理を実行する。処理内容がファームウエアの更新だった場合に、ファームウエアバージョン比較部(405)は、初期設定中のMFPのファームウエアバージョンを取得(不図示)し、スクリプトで指定されたバージョンと比較する。MFPのファームウエアバージョンとスクリプトで指定されたファームウエアバージョン(611)が同じと判断した場合は、S810に遷移する。例えば、初期設定中のMFPのファームウエアバージョンがV02.00だった場合は、スクリプトで指定されたファームウエアバージョン(02.00)と同じと判断できる。また、MFPのファームウエアバージョンとスクリプトで指定されたファームウエアバージョンが異なると判断した場合はS803に遷移する。
S803で、ファームウエアバージョン比較部は、ファームウエア更新処理が、ファームウエアバージョンダウンか否かを判断する。初期設定中のMFPのファームウエアバージョンが、スクリプトで指定されたファームウエアバージョン(02.00)より大きい場合はバージョンダウンと判断し、逆に、小さい場合はバージョンアップと判断できる。バージョンアップと判断した場合、S805に遷移する。バージョンダウンと判断した場合、ファームウエア更新処理中のUI(720)に、バージョンダウンであることを表示し、S804に遷移する。
S804で、ファームウエアバージョンダウン実行部(406)は、コントローラに対し、初期設定用初期化の予約フラグを立て、S805に遷移する。初期設定用初期化の予約とは、HDD構成図で前述したMFPシステムデータ領域(502)およびプレインアプリケーションの専用データ領域(505、507)の削除処理を、ファームウエア更新後に行う予約である。ファームウエア更新が成功した場合に、コントローラが削除処理を追加で実行する予約を行う。
S805で、処理実行部は、ファームウエア更新のための再起動を行い、S806に遷移する。一般的な組み込みデバイスでは、ファームウエア更新起動モード(不図示)を持っており、この再起動後は、ファームウエア更新起動モードで起動することとなる。
S806で、コントローラは、ファームウエア更新専用の起動モードで、ファームウエアの更新を行い、S807に遷移する。この処理が終わった後、必要があれば再起動を実行し、通常起動モードに遷移する。
S807で、コントローラは、S804で予約した初期設定用初期化の予約のフラグが立っているか否かを判断する。初期設定用初期化の予約のフラグが立っていた場合は、S808に遷移する。初期設定用初期化の予約のフラグが立っていなかった場合は、S809に遷移する。S806の処理終了後、再起動を行い、通常起動モードで起動した場合は、この処理は更新したファームウエアバージョンで起動することになる。その場合は、起動初期の段階の処理となる。理由は、前述の通りで、ファームウエアのバージョンダウンの場合、ファームウエアバージョンに依存する領域のファイルデータ形式を変換できないため、正常に起動できる保証がない。よって、起動の初期段階で判断処理を行う必要がある。
S808で、コントローラは、初期設定用初期化の予約のフラグを落とし、初期設定用初期化を実行し、S809に遷移する。初期設定用初期化とは、HDD構成図で前述したMFPシステムデータ領域(502)およびプレインストールアプリの専用データ領域(505、507)の削除処理である。初期設定プログラム(400)は、拡張後入れアプリケーションのため、アプリケーション領域(508)および専用データ領域(509)は削除されることはない。よって、続くS810で処理を続行することが可能となる。S806の処理終了後、再起動を行い、通常起動モードで起動した場合は、この処理は更新したファームウエアバージョンで起動することになる。その場合は、S807同様、起動初期の段階の処理となる。
S809で、コントローラは、再起動を行い、S806で更新したファームウエアバージョンで起動する。初期起動時に、MFPシステムデータ領域(502)およびプレインストールアプリの専用データ領域(505、507)のデータ変換またはデータ構築を行い、S810に遷移する。
S810で、処理実行部(402)は、残りのコマンド部(613)の処理を継続する。
S850からS852は、S800の処理で初期設定プログラムから送信されたスクリプト取得要求を受信してから応答を返すまでの案件管理サーバのデータ管理プログラムの処理である。
S850で、通信部(453)は、MFPからスクリプトの取得要求を受信し、S851に遷移する。
S851で、制御部は(451)は、案件データ管理部(452)に、S850で取得した初期設定スクリプト識別子と共に、初期設定スクリプト(図6)を要求する。案件データ管理部(452)は、該当する初期設定スクリプト(図6)をデータ格納部(460)から取得し、S852に遷移する。
S852で、通信部は、S851で取得した初期設定スクリプトを、MFPに送信する。
以上、本実施形態によれば、ファームウエアバージョンに依存する領域のみを削除する初期設定用初期化を設ける。そして、ファームウエアバージョンダウンを行うと判断した場合に、ファームウエアバージョンダウン前に初期設定用初期化を予約し、バージョンダウン直後に初期設定用初期化を実行する。さらに、初期設定プログラムをファームウエアバージョンに依存しない拡張後入れアプリケーションとすることで、初期設定用初期化の削除対象とならず、ファームウエアバージョンダウン後でも処理が継続する。従って、初期設定作業において、ファームウエアのバージョンダウンが発生した場合にも、安全なファームウエア更新が行える手段を提供することが可能となり、さらにその後の処理も、自動で継続することが可能となる。
100 LAN、101 画像形成装置(MFP)、120 案件管理サーバ
Claims (3)
- ファームウエアが搭載されている情報処理装置において、
前記ファームウエアのシステム構成はミドルウェアを有する構成で、バージョン管理されており、
第1ファームウエアから第2ファームウエアにファームウエアバージョンを更新するファームウエア更新手段と、
前記ファームウエアに依存しないデータ領域を削除する初期化手段とを備え、
さらに、
初期設定指示が記載されたスクリプトに従って初期設定作業を自動で行う初期設定モジュールがあり、前記初期設定モジュールは前記ミドルウェア上で動作するアプリケーションであるとき、
前記初期設定モジュールがファームウエア更新を依頼するファームウエア更新依頼手段と、
前記ファームウエア更新が、ファームウエアバージョンダウンか否かを判断するバージョンダウン判断手段
とを備え、
さらに、前記初期設定モジュールは、前記ファームウエア単位に依存しない形式で管理されていることを特徴とする情報処理装置。 - 前記初期設定モジュールは、
ファームウエアの更新を行う前に前記初期化手段の実行を予約する初期設定初期化予約手段とを備え、
前記バージョンダウン判断手段において、バージョンダウンと判断した場合に、前記初期設定初期化予約手段にて予約を行った後に、
前記ファームウエア更新依頼手段にてファームウエア更新依頼を行うことを特徴とし、
前記情報処理装置は、
前記初期設定初期化予約が行われているか否かを判断する初期化予約判断手段とを備え、
ファームウエア更新依頼受信後に、ファームウエア更新手段にて前記第2ファームウエアを更新し、
前記初期化予約判断手段において、予約がされていると判断した場合に、前記初期化手段を実行することを特徴とする請求項1に記載の情報処理装置。 - 前記初期化手段にて削除する領域は、ファームウエアバージョンによって、ファイルデータ形式が異なる可能性がある領域であることを特徴とする請求項1に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176722A JP2020047139A (ja) | 2018-09-21 | 2018-09-21 | 組み込みシステムのファームウエアバージョン変更方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018176722A JP2020047139A (ja) | 2018-09-21 | 2018-09-21 | 組み込みシステムのファームウエアバージョン変更方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020047139A true JP2020047139A (ja) | 2020-03-26 |
Family
ID=69901460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018176722A Pending JP2020047139A (ja) | 2018-09-21 | 2018-09-21 | 組み込みシステムのファームウエアバージョン変更方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020047139A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080119A1 (ja) * | 2022-10-14 | 2024-04-18 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法 |
-
2018
- 2018-09-21 JP JP2018176722A patent/JP2020047139A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024080119A1 (ja) * | 2022-10-14 | 2024-04-18 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7791745B2 (en) | Information processing apparatus on which printer driver can be installed, information processing apparatus, control method, program, and storage medium | |
JP7069826B2 (ja) | 情報処理装置、ファームウェア更新方法、プログラム | |
US8863112B2 (en) | Information processing apparatus and controlling method thereof | |
JP2003084984A (ja) | 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体 | |
JP4612912B1 (ja) | 情報処理装置、情報処理システムの制御方法およびプログラム | |
JP2008123518A (ja) | 実行コードを配備する遠隔配信/インストール・ユーティリティ及び関連する方法 | |
JP2015046075A (ja) | 情報処理装置、その制御方法、及びコンピュータプログラム | |
US9965299B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
CN108984192B (zh) | 信息处理设备、计算机可读介质和程序管理方法 | |
JP6265732B2 (ja) | 管理装置、管理装置の制御方法及びプログラム | |
JP5955104B2 (ja) | 情報処理装置、プログラムおよび制御方法 | |
JP2020047139A (ja) | 組み込みシステムのファームウエアバージョン変更方法及びプログラム | |
KR20120074321A (ko) | 관리장치, 및 그 방법 | |
JP2007206819A (ja) | 情報処理装置、情報処理装置の制御方法および制御プログラム | |
JP2020188384A (ja) | 画像形成装置及び情報処理装置とそれらの制御方法、並びにプログラム | |
JP4792744B2 (ja) | 画像処理装置 | |
JP2017158014A (ja) | 自動設置システム、管理装置、情報処理装置、管理装置の制御方法、情報処理装置の制御方法、及びプログラム | |
JP7286325B2 (ja) | 画像形成装置および制御方法 | |
JP2018081607A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2017111531A (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP6057740B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
JP2005107708A (ja) | アプリケーション配布システム | |
JP2008071288A (ja) | ソフトウェア管理方法及び管理システム | |
JP2018116361A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、及びプログラム、情報処理システム | |
JP7033929B2 (ja) | 情報処理装置と、情報処理装置におけるファームウェアの更新方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20191125 |