JP2013142914A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2013142914A
JP2013142914A JP2012001417A JP2012001417A JP2013142914A JP 2013142914 A JP2013142914 A JP 2013142914A JP 2012001417 A JP2012001417 A JP 2012001417A JP 2012001417 A JP2012001417 A JP 2012001417A JP 2013142914 A JP2013142914 A JP 2013142914A
Authority
JP
Japan
Prior art keywords
update
unit
data set
processing apparatus
information processing
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.)
Granted
Application number
JP2012001417A
Other languages
English (en)
Other versions
JP5821640B2 (ja
Inventor
Soshi Nagao
壮史 長尾
Eijiro Inoue
栄治郎 井上
Yasukiyo Nakamura
泰清 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012001417A priority Critical patent/JP5821640B2/ja
Priority to EP12196191.6A priority patent/EP2613255A3/en
Priority to US13/709,289 priority patent/US8893107B2/en
Priority to CN201210592797.XA priority patent/CN103294566B/zh
Publication of JP2013142914A publication Critical patent/JP2013142914A/ja
Application granted granted Critical
Publication of JP5821640B2 publication Critical patent/JP5821640B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】データセットの更新処理が中断された場合でも、自動的にその状態を認識して、それを踏まえた適切な更新処理を行えるようにする。
【解決手段】 バージョン情報を含むデータセットを記憶部103に記憶する情報処理装置において、バージョン通知部106がそのデータセットのバージョン情報を更新制御部110に通知し(B8)、更新制御部110が、その通知されたバージョン情報と更新用データセットのバージョン情報とに基づきデータセットの更新が必要であると判断した場合に、記憶部103に記憶するデータセットを更新するようにした。この場合において、バージョン通知部106は、記憶部103に記憶しているデータセットの更新が完了していない状態である場合には、上記データセットのバージョン情報に代えて、更新が完了していないことを示すバージョン情報を更新制御部110に通知するようにした。
【選択図】 図5

Description

この発明は、記憶手段に記憶しているデータセットを更新する情報処理装置に関する。
従来から、情報処理装置が記憶するファームウェア等のデータセットを随時更新(アップデート)することが行われている。
また、ひとつの情報処理装置が複数のCPUを持つ複数のシステムから構成されている場合には、装置内に複数のファームウェアが存在する。このような装置については、ファームウェアを個別にアップデートした結果不適正な組み合わせで装置に記憶されてしまい、装置の動作に不具合を生じることを防止するため、また、ファームウェアの更新を効率的に行うため、装置内の複数のファームウェアを一括して更新する技術が知られている。
さらに、特許文献1には、このように複数のファームウェアを一括して更新する場合において、ファームウェアの更新にかかる時間を短縮するため、更新用のファームウェアのバージョンと、情報処理装置に記憶されているファームウェアのバージョンとをファームウェア毎に比較し、更新用の方が新しいバージョンであるファームウェアのみについて更新を実行することが記載されている。
ところで、ファームウェアのバージョンの情報を、ファームウェア自体の一部としてファームウェアに持たせることが行われている。この場合、ファームウェアの更新中の電源切断等により突然更新が中断してしまうと、ファームウェアの更新は終了していないにも関わらず、バージョン情報の部分は更新用のファームウェア(すなわち新しいバージョン情報)が既にメモリに書き込まれてしまっている場合がある。
このような事態が発生した場合、再度の電源投入時にファームウェアのバージョンをチェックしても、新しいバージョン情報が記録されてしまっているため、バージョン情報の比較時に更新不要と判断してしまい、正常に更新を完了できなくなってしまうという問題があった。
引用文献1に記載の技術を適用しても、このような問題を解決することはできない。また、このような問題は、ファームウェア以外のデータセットを更新する場合であっても、さらには、更新すべきデータセットが1つのみの場合であっても、同様に発生するものである。
この発明は、このような問題を解決するためになされたものであり、自身のバージョン情報を含むデータセットの更新要否を、そのバージョン情報を確認することにより判断して更新する情報処理装置において、更新処理が中断された場合でも、自動的にその状態を認識して、それを踏まえた適切な更新処理を行えるようにすることを目的とする。
上記目的を達成するため、この発明の情報処理装置は、データセットであってそのデータセットのバージョン情報を含むものを記憶する記憶手段と、更新用データセットであってその更新用データセットのバージョン情報を含むものを取得する取得手段と、上記記憶手段が記憶しているデータセットのバージョン情報を提供する提供手段と、上記取得手段が取得した更新用データセットのバージョン情報と上記提供手段が提供するバージョン情報とに基づき更新が必要であると判断した場合に上記記憶手段に記憶しているデータセットを上記更新用データセットに更新する更新手段と、上記更新手段によるデータセットの更新が完了している状態であるか否か判断する判断手段とを備え、上記提供手段は、上記判断手段が、上記データセットの更新が完了していない状態であると判断した場合には、上記記憶手段が記憶しているデータセットのバージョン情報に代えて、更新が完了していないことを示すバージョン情報を提供する手段としたものである。
以上のような構成によれば、自身のバージョン情報を含むデータセットの更新要否を、そのバージョン情報を確認することにより判断して更新する情報処理装置において、更新処理が中断された場合でも、自動的にその状態を認識して、それを踏まえた適切な更新処理を行えるようにすることができる。
この発明の一実施形態である情報処理装置のハードウェア構成を示す図である。 図1に示した情報処理装置に記憶させるファームウェアのデータ形式及び更新方式を示す図である。 図1に示した情報処理装置の機能構成を示す図である。 ファームウェアの更新に用いる更新用データの構成例を示す図である。 図1に示した情報処理装置が第1動作例において更新用データの取得に応じて各サブシステムのファームウェアを更新する動作の手順を示す図である。 その続きを示す図である。 第1動作例においてデータ書き込み部が実行する更新用ファームウェアの書き込み処理のフローチャートである。 同じくバージョン通知部が更新開始通知の受信に応じて実行する処理のフローチャートである。 同じくサブシステム更新完了判断部が更新状態問い合わせの受信に応じて実行する処理のフローチャートである。 同じく更新制御部がバージョン情報通知の受信に応じて実行する処理のフローチャートである。 第2動作例におけるファームウェア更新処理のシーケンスを示す図である。 図1に示した情報処理装置が第2動作例において起動時に実行する動作の手順を示す図である。 第2動作例において情報処理装置の起動時に更新制御部が実行する処理のフローチャートである。 図1に示した情報処理装置が第3動作例において起動時に実行する動作の手順を示す図である。 図1に示した情報処理装置が第4動作例において実行する動作の手順を示す図である。 第4動作例における機能利用可否判断部による機能利用要求の実行可否制御処理のフローチャートである。 機能利用可否判断部が図16の処理で参照するデータの例を示す図である。 その別のデータの例を示す図である。 第5動作例において更新制御部が実行する処理のフローチャートである。 図1に示した情報処理装置が第6動作例において実行する動作の手順を示す図である。 更新の失敗したサブシステムと対応するLEDの点灯制御例を示す図である。 図1に示した情報処理装置が第7動作例において実行する動作の手順を示す図である。 更新結果通知のメッセージの例を示す図である。 ファームウェア更新の進捗状況を示すデータの例を示す図である。 ファームウェア更新の再開位置について説明するための図である。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の一実施形態である情報処理装置のハードウェア構成を示す。
図1に示す情報処理装置1は、第1サブシステム10と第2サブシステム20の2つのサブシステムを備え、これらが連携して動作する。第1サブシステム10は、ユーザからの操作受付や、表示装置による画面の表示を主に担当する。第2サブシステム20は、ネットワークを介した外部装置との通信を主に担当する。また、これらのサブシステム及び図1に示す各ハードウェアは、システムバス30により接続されている。
そして、第1サブシステム10は、CPU11、ROM12、RAM13、記憶媒体I/F14、表示装置15、入力装置16を備える。
これらのうちCPU11は、第1サブシステム10を制御する制御手段であり、ROM12に記憶された種々のプログラムを実行することにより、図3等に示すものを始めとする種々の機能を実現する。このプログラムには、更新可能なファームウェアが含まれるが、そのファームウェアによらなくても、入力装置16からの操作検出や、第2サブシステム20との通信など、ごく基本的な動作は実行可能である。また、後述するファームウェアの更新に関する動作も実行可能である。また、情報処理装置1においては第1サブシステム10が装置全体の制御も担い、CPU11はその制御のための機能も備える。
ROM12は、CPU11が実行するプログラムや固定的なパラメータ等を記憶する書き換え可能な不揮発性記憶手段である。
RAM13は、一時的に使用するデータを記憶したり、CPU11のワークメモリとして使用したりする記憶手段である。
記憶媒体I/F14は、着脱可能な外部記憶媒体に対するデータの入出力を行うためのインタフェースである。例えばUSB(Universal Serial Bus)メモリや、メモリカード等に対応したインタフェースを設けることが考えられる。
表示装置15は、ユーザにメッセージやGUI(Graphical User Interface)等を表示したり、装置の動作状況を知らせたりするためのディスプレイやランプ等の表示手段である。
入力装置16は、ユーザからの操作を受け付けるためのスイッチ、ボタン、タッチパネル等の操作子である。
また、第2サブシステム20は、CPU21、ROM22、RAM23、記憶媒体I/F24、ネットワークI/F25を備える。
これらのうちCPU21は、第2サブシステム20を制御する制御手段であり、ROM22に記憶された種々のプログラムを実行することにより、図3等に示すものを始めとする種々の機能を実現する。このプログラムには、更新可能なファームウェアが含まれるが、そのファームウェアによらなくても、ネットワークI/F25を介した単純なプロトコルでの通信や、第1サブシステム10との通信など、ごく基本的な動作は実行可能である。また、後述するファームウェアの更新に関する動作も実行可能である。
ROM22は、CPU21が実行するプログラムや固定的なパラメータ等を記憶する書き換え可能な不揮発性記憶手段である。
RAM23は、一時的に使用するデータを記憶したり、CPU21のワークメモリとして使用したりする記憶手段である。
記憶媒体I/F24は、記憶媒体I/F14と同様なインタフェースであるが、対応する規格が同じである必要はない。
ネットワークI/F25は、LAN(ローカルエリアネットワーク)等のネットワークを介して外部の装置と通信を行うためのインタフェースであり、通信手段である。通信に用いるプロトコルや対応する通信規格は、有線、無線を問わず、任意のものでよい。また、ピアツーピア型の通信を行う手段であってもよい。
以上の情報処理装置は、入力装置16により受け付けたユーザの操作に従ってあるいは自動的に外部装置と通信し、あるいは記憶媒体I/F14,24に接続される記憶媒体に対してデータを読み書きし、その結果を表示装置15に表示することができる。
また、これ以外にも外部に対して物理的な入出力を行う手段を設けてもよい。例えば、画像データに基づいて用紙に画像を形成するプリントエンジンや、画像データを読み取るスキャナエンジンや、画像データに基づいてスクリーンに画像を投影する投影装置等である。これらの入出力手段の制御も、いずれかのサブシステムのCPUが行う。
以上のような情報処理装置1において特徴的な点の一つは、ROM12及びROM22に記憶させるファームウェアの更新に関する機能である。以下、この点について説明する。
ここで、図2に、ROM12及びROM22に記憶させるファームウェアのデータ形式及び更新方式を示す。
情報処理装置1においては、上述したように、ROM12に第1のサブシステム10で使用するファームウェアを、ROM22に第2のサブシステム20で使用するフェームウェアを記憶させる。このファームウェアは、ROM上に確保した所定の記憶領域に記憶させる。また、(a)に示すように、ファームウェアのデータは、そのファームウェア自身のバージョンを示すバージョン情報を含むひとかたまりのデータとして構成される。
そして、ファームウェアを新しいものに更新する場合、(b)に示すように、新しいファームウェアのデータを、それまでのファームウェアのデータに上書き保存する。ただし、サイズが一致している必要はなく、一方が他方からはみ出してもよい。
ところで、ファームウェアのバージョン情報は、既に記憶されたファームウェアと、更新用のファームウェアとでバージョンを比較し、更新の要否を判断するために用いる。更新用のものの方が新しいバージョンである場合に更新する等である。古いバージョンにバージョンダウンできるようにすることも考えられる。
そして、この用途に用いるためには、ファームウェアデータ中からバージョン情報を容易に探索して読み出せるようにすることが好ましい。そこで、バージョン情報のデータは、ファームウェアのデータ中の初めの方に配置している。従って、ファームウェアの更新途中で不意の電源遮断等により更新が中断された場合、(b)に示すように、更新が完了していないにも関わらず、バージョン情報の部分は新しいデータが上書きされ、最新の値になってしまうことが考えられる。
そして、この状態でファームウェアのバージョンを参照すると、最新のバージョンであると認識してしまうこととなり、それに基づいて更新不要と判断してしまうことになる。
しかし、この実施形態においては、更新要否を判断するモジュールにファームウェアのバージョン情報を提供する際に、ファームウェアの更新が正常に完了しているか(中断された状態でないか)否かを判断し、更新が完了していない状態である場合には、そのことを示すため、通常では使われることのないバージョン情報を提供するようにしている。
従って、更新要否を判断する際に、実際に記憶手段に記憶されているバージョン情報に関わらず、更新の中断されたファームウェアについて、再度更新を行う必要がある状態であることが認識できる。
次に、図3に、この機能を実現するための情報処理装置1の機能構成を示す。ただし、図4以降で説明する各動作を実現するために、図3に示す全ての機能が必須であるわけではない。
情報処理装置1は、図3に示すように、第1サブシステム10が、サブシステム通信部101、データ書き込み部102、記憶部103、本体通知部104、起動部105、バージョン通知部106、サブシステム更新完了判断部107、更新入力部108、全システム更新完了判断部109、更新制御部110、自動更新部111、機能利用可否判断部112を備え、第2サブシステム20が、サブシステム通信部201、データ書き込み部202、記憶部203、ネットワーク通知部204、起動部205、バージョン通知部206、サブシステム更新完了判断部207を備える。
なお、図3に示す各部の機能は、CPU11又はCPU21が所要のプログラムを実行して情報処理装置1の各部を制御することにより実現されるものである。ただし、これらの各部の機能を実現するためのプログラムは、これらの各部の機能による更新の対象とはしていない。従って、これらの各部により更新するファームウェアが使えなくても、これらの各部の動作に特段の影響はない。
上記の各部のうち、第1サブシステム10のサブシステム通信部101は、サブシステム間のデータ転送を行う機能を有する通信手段であり、他のサブシステムのサブシステム通信部との間で、各種の要求、応答及び更新用ファームウェア等のデータを送受信することができる。
データ書き込み部102は、記憶部103に対する更新用ファームウェアの書き込みを行う機能を有する書込手段である。
記憶部103は、第1サブシステム10のCPU11が実行するファームウェア及び、ファームウェアの更新制御に用いる各種データを記憶する機能を有する記憶手段である。記憶部103が記憶するデータは、情報処理装置1の電源がOFFの状態でも保存される。
本体通知部104は、表示装置15を制御して、ファームウェアの更新結果をユーザに通知する機能を有する通知手段である。
起動部105は、記憶部103に記憶しているファームウェアの起動を行う機能を有する起動手段である。また、ファームウェアの起動を禁止する機能も有する。
バージョン通知部106は、記憶部103に記憶しているファームウェアのバージョン情報を、更新制御部110をはじめとする各部に提供する提供手段である。ただし、必ずしも記憶部103から読み出したバージョン情報を提供するわけではないことは、上述の通りである。
サブシステム更新完了判断部107は、第1サブシステム10におけるファームウェアの更新が完了している状態であるか否かを判断する機能を有する判断手段である。その判断手法については後述する。
更新入力部108は、更新用ファームウェアのデータや、ファームウェア更新指示等、ファームウェアの更新に関係するデータの入力を受け付ける機能を有する入力手段である。
全システム更新完了判断部109は、情報処理装置1の全てのサブシステムにおけるファームウェアの更新が完了している状態であるか否かを判断する機能を有する判断手段である。その判断手法については後述する。
更新制御部110は、情報処理装置1全体におけるファームウェアの更新処理の管理を行う機能を有する更新手段である。更新制御部110は、各部から、更新処理の進行や更新要否の判断に必要な情報を収集し、収集した情報に基づいて、各部に更新に必要な動作を要求する機能を有する。
自動更新部111は、ファームウェアの自動更新に関する制御を行う機能を有する。
機能利用可否判断部112は、ファームウェアの更新の状態に基づき、情報処理装置1に対する動作要求(ユーザの指示に基づくものも、外部装置からの要求に基づくものも、情報処理装置1が内部で自動的に生成するものもある)に応じた動作の実行可否を判断し、実行不能なものは実行させずにその旨を要求元に通知する機能を有する。例えば、あるサブシステムでファームウェアの更新が中断された状態である場合、そのサブシステムの機能を利用する動作は実行不能と判断することができる。
以上の各部のうち、全システム更新完了判断部109、更新制御部110、及び自動更新部111は、情報処理装置1が備える複数のサブシステムのうち1つのみに設け、全サブシステムにおけるファームウェアの更新に関与させる。ここでは、全体の制御を担う第1サブシステム10に設けたものである。
サブシステム通信部101、データ書き込み部102、記憶部103、起動部105、バージョン通知部106、サブシステム更新完了判断部107は、サブシステム毎に設ける。第2サブシステム20に設けたこれらと同名の各部は、第1サブシステム10における各部と同様な機能を有する。
本体通知部104、更新入力部108及び機能利用可否判断部112については、表示装置15を制御する機能、ファームウェアの更新用データの入力を受け付ける機能、および動作要求を受け付ける機能を第1サブシステム10に設けたことに伴いここに設けたものである。しかし、これらの機能を他のサブシステムに設けたり、複数のサブシステムに分散させて設けたりするのであれば、それに応じてこれら各部をそのサブシステムに設ければよい。
また、第2サブシステム20のネットワーク通知部204は、ファームウェアの更新結果をネットワークを介してユーザに通知する機能を有する通知手段である。ネットワークI/F25を制御する機能を第2サブシステム20に設けているため、ネットワーク通知部204もここに設けた。
以下、いくつかの動作例を用いて、これらの各部が行う動作及び処理について説明する。これらの動作及び処理は、実際にはCPU等のハードウェアが行うものであるが、説明の便宜のため、図3に示した各部が行うものとして説明する。
〔第1動作例:図4乃至図10〕
まず、情報処理装置1の第1の動作例として、更新用データを取得して各サブシステムのファームウェアを更新する動作について説明する。
図4に、ファームウェアの更新に用いる更新用データの構成例を示す。
図4に示す更新用データは、ヘッダ部とデータ部とからなり、データ部に、各サブシステムの記憶部に記憶させるファームウェアのデータを含む。また、ファームウェア毎に、そのファームウェアのバージョンを示すバージョン情報を含む。このファームウェア1つ1つが、更新に用いる1セットのデータ、すなわち更新用データセットである。
また、ヘッダ部には、更新用データ全体のバージョン情報と、各ファームウェアのサイズ、及び、各ファームウェアのデータ部中の位置を示すオフセットの情報を含む。図3に示した更新制御部110は、これらの情報をもとに、図4に示す更新用データから各サブシステムと対応する更新用ファームウェアを取り出すことができる。
次に、図5及び図6に、情報処理装置1が更新用データの取得に応じて各サブシステムのファームウェアを更新する動作の手順を示す。
なお、これらの図及び以降の対応する図において、特に断らない限り、初めの1文字が「A」及び「X」であるステップは、全体的な更新動作の管理に関する処理を示す。初めの1文字が「B」であるステップは、第1サブシステム10のファームウェアを更新する動作の手順を示す。同じく「C」であるステップは、第2サブシステム20のファームウェアを更新する動作の手順を示す。
また、これらの図及び以降の対応する図に示す手順は、第1及び第2サブシステム双方のファームウェアの更新を最後まで行う場合について示したものである。途中の処理において第1及び第2サブシステムの一方又は双方について更新不要と判断した場合には、それに応じて、初めの1文字が「B」及び「C」であるステップの一部又は全部が実行されないことになる。
図5の説明に移る。
図5に示すように、情報処理装置1に更新用データが入力されると、更新入力部108がこれを受け付ける(A1)。この入力は、情報処理装置1が記憶媒体I/F14に接続されたUSBメモリから読み出すといった能動的な取得でもよいし、ネットワークI/F25を介して外部装置から受信するといった受動的な取得でもよい(ただし、後者の経路の場合、第2サブシステムに更新入力部108を設けることになる)。
そして、更新用データを受け付けた更新入力部108は、RAM13にその更新用データを一時記憶させつつ、更新用データを受け付けた旨を示す更新データ受付通知及び、そのデータを用いたファームウェアの更新を指示する更新要求を、更新制御部110に渡す(A2)。
これらの通知及び要求を受けた更新制御部110は、第1及び第2サブシステム10,20におけるファームウェア更新に係る制御を開始する。
まず、このうち第1サブシステム10におけるファームウェア更新に係る動作について説明する。
更新制御部110はまず、起動部105に、ファームウェアの更新を開始することを示す更新開始通知を送信する(B1)。起動部105は、これを受け取ると、これから更新するファームウェアを動作させないようにロックする(B2)。すなわち、そのファームウェアの起動を禁止すると共に、既に起動中であれば終了させる。
また、更新制御部110は、バージョン通知部106にも更新開始通知を送信する(B3)。この更新開始通知は、ファームウェアの更新開始を通知すると共に、第1サブシステムにおける更新要否を判断するために、第1サブシステム10において記憶部103に現在記憶されているファームウェアのバージョン情報を要求するものである。
バージョン通知部106は、この更新開始通知を受信すると、サブシステム更新完了判断部107に対し、第1サブシステム10におけるファームウェアの現在の更新状態を問い合わせる(B4)。これは、以前のファームウェアの更新が中断された状態であるか、正常に完了した状態であるかを問い合わせるものである。
サブシステム更新完了判断部107は、この問い合わせを受けると、記憶部103から、更新状態を示す更新中フラグの値を読み出し(B5)、その値に基づいて、更新が中断された状態であるか、完了した状態であるかをバージョン通知部106に応答する(B6)。この更新中フラグについては後述する。
バージョン通知部106は、サブシステム更新完了判断部107からの応答を受け取ると、それに応じて更新制御部110に通知するファームウェアのバージョン情報を決定する。
まず、更新が完了した状態であれば、現在は記憶部103に何らかのバージョンのファームウェアが正常に記憶されていると考えられる。そこで、記憶部103からそのファームウェアのバージョン情報を読み出して(B7)、そのバージョン情報を更新制御部110に通知する(B8)。
一方、更新が中断された状態であれば、現在は記憶部103にはファームウェアが正常に記憶されていないと考えられる。しかし、この状態でも、図2(b)に示すように、記憶部103にアクセスすればバージョン情報は正常に読み出せてしまうことが考えられる。そこで、記憶部103から読み出したバージョン情報ではなく、更新が完了していないことを示すバージョン情報として、通常では取り得ない値のバージョン情報を、更新制御部110に通知する(B8)。
更新制御部110は、バージョン通知部106から何らかのバージョン情報を受け取ると、図6に示すように、そのバージョン情報と、第1サブシステム10用の更新用ファームウェアのバージョン情報とに基づき、第1サブシステム10(通知元のバージョン通知部と対応するサブシステム)におけるファームウェアの更新要否を判断する(A21)。
具体的には、受信したバージョン情報よりも、更新用ファームウェアのバージョン情報が新しいバージョンを示していれば、更新要と判断する。逆に、両者が同じか受信したバージョン情報が新しいバージョンを示していれば、更新不要と判断する。
また、受信したバージョン情報が、通常では取り得ない値であった場合は、更新要と判断する。この場合、以前の更新が中断されたままであり、これを放置しては第1サブシステム10を有効に動作させられないと考えられるためである。この場合において、記憶部103に実際に記憶されているバージョン情報を参照する必要はない。少なくとも、更新が中断したままよりは何らかの(例え古いものであっても)バージョンのファームウェアを記憶させる方が好ましいと考えられるためである。また、同様に、この場合には更新用ファームウェアのバージョン情報も参照する必要はないと言える。
なお、これらの更新要否の判断は、サブシステム毎に行う。
図5の説明に戻ると、更新制御部110は、データ受付通知及び更新要求を受信した後、第2サブシステム20に対しても、ファームウェアのロックと記憶部203に記憶しているファームウェアのバージョン情報の取得を行うため、更新開始通知を送信する。この更新開始通知の宛先は、第1サブシステム10の場合と同様、起動部205とバージョン通知部206であるが(C3,C5)、その転送は、第1サブシステム10側及び第2サブシステム20側のサブシステム通信部101,201を介して行う(C1,C2)。
また、更新開始通知を受信した起動部205がこれから更新するファームウェアをロックする点(C4)及び、同じくバージョン通知部206がバージョン情報を更新制御部110に送信する点(C10〜C12)は、第1サブシステム10側の場合と同様である。バージョン通知部206がサブシステム更新完了判断部207にファームウェアの更新状態を問い合わせ(C6)、その応答(C7,C8)に応じて、記憶部203から読み出したバージョン情報(C9)と更新が完了していないことを示すバージョン情報のいずれを送信するか決定する点も、第1サブシステム10の場合と同様である。
図6の説明に移る。
更新制御部110は、上述したように、バージョン通知部106,206から受け取ったバージョン情報と、更新用ファームウェアに含まれるバージョン情報とに基づき、各サブシステムにおけるファームウェアの更新要否をサブシステム毎に判断する(A21)。そして、更新要と判断したサブシステムについて、以下のファームウェア更新に係る処理を行う。
第1サブシステム10側については、データ書き込み部102に対し、記憶部103に記憶されているファームウェアを、受付済みの更新用データに含まれる更新用ファームウェアに更新することを要求する更新要求を送信する(B21)。そして、これを受け取ったデータ書き込み部102は、RAM13に一時記憶されている更新用データのうち、第1サブシステム10用のファームウェア(更新用ファームウェア)のデータを読み出し、記憶部103の、ファームウェアを記憶させる所定の領域に書き込む(B22)。この書き込みは、それまで記憶されているファームウェアに上書きして行うことになる。そして、書き込みが完了(又は失敗)すると、更新制御部110にその旨を更新結果として通知する(B23)。以上で第1サブシステム10側の更新に係る処理は終了である(書き込み失敗の場合には更新完了とはならない)。
第2サブシステム20側についても基本的な流れは同様である。更新制御部110は、サブシステム通信部101,201を介し、データ書き込み部202に更新要求を送信する(C21〜C23)。そして、これを受け取ったデータ書き込み部202は、RAM13に一時記憶されている更新用データのうち、第2サブシステム20用のファームウェアのデータを、第1サブシステム10と不図示のステップによる通信を行って取得し、記憶部203の、ファームウェアを記憶させる所定の領域に書き込む(C24)。そして、更新結果を更新制御部110に通知する(C25〜C27)
なお、図6では、第1サブシステム10側と第2サブシステム20側との双方の更新処理を示したが、これらの一方又は両方が不要である場合もある。
そして、更新制御部110では、更新を行う各サブシステムのデータ書き込み部からの更新結果に基づき全サブシステムでの更新処理終了を確認すると(A22)、ファームウェアの更新に係る動作を終了する。この後、必要に応じてシステムの再起動を行う。また、書き込み失敗の結果が通知された場合には、そのサブシステムについて再度の更新を試みてもよい。
以上の動作により、情報処理装置1は、記憶部に既に記憶されているファームウェアに含まれるバージョン情報を読み出して更新用ファームウェアのバージョンと比較することにより更新要否を判断できるようにしつつ、更新処理が中断されたような場合でも、更新制御部110における同じ更新要否の判断ルーチンによりこれを識別し、更新要と判断することができる。従って、更新処理も行うことができる。
以下、図5及び図6を用いて説明した動作において各部が実行する処理のいくつかを、より具体的に説明する。なお、以下、フローチャートの説明においては、第1,第2サブシステム10,20の双方に対応する構成要素がある場合、第1サブシステム側の構成要素を代表して採り上げることにする。
まず、図7に、データ書き込み部102が実行する更新用ファームウェアの書き込み処理(B22)のフローチャートを示す。
データ書き込み部102は、図4のステップB21で送信される更新要求を検出すると、図7のフローチャートに示す処理を開始する。そしてまず、記憶部103が記憶している更新中フラグをオンにする(S11)。なお、更新中フラグは、ファームウェアの記憶領域外に記憶されているとする。
その後、記憶部103の所定の記憶領域に更新用ファームウェアのデータを書き込み(S12)、これが完了すると、記憶部103が記憶している更新中フラグをオフにして(S13)、処理を終了する。
以上の処理により、ファームウェアの更新(書き込み)が正常に完了している限りは、更新中フラグの値をオフに保つことができる。しかし、書き込み中(ステップS12の実行中)に突然情報処理装置1の電源が切断されたり、エラーが発生したりして処理が中断した場合、更新中フラグの値はオンとなったままである。この状態は、次に情報処理装置1が起動した場合でも保たれる。
従って、サブシステム更新完了判断部107は、更新中フラグの値を参照することにより、直前のファームウェアの更新が正常に完了した状態であるか、中断した状態であるかを把握することができる。
次に、図8に、バージョン通知部106が更新開始通知の受信に応じて実行する処理のフローチャートを示す。
バージョン通知部106は、図4のステップB3で送信される更新開始通知を受信すると、図8のフローチャートに示す処理を開始する。そしてまず、サブシステム更新完了判断部107に、更新状態問い合わせを送信して応答を取得する(S21:図5のB4及びB6と対応)。その後、取得した応答が更新完了であるか否か判断し、完了であれば(S22のYes)、記憶部103が記憶しているファームウェアのバージョン情報を読み出して更新制御部110に通知する(S23:図5のB7,B8と対応)。完了でなければ(S22のNo)、更新が完了していないことを示すバージョン情報を更新制御部110に通知する(S24:図5のB8と対応)。そして、いずれの場合も処理を終了する。
次に、図9に、サブシステム更新完了判断部107が更新状態問い合わせの受信に応じて実行する処理のフローチャートを示す。
サブシステム更新完了判断部107は、図5のステップB4で送信される更新状態問い合わせを受信すると、図9のフローチャートに示す処理を開始する。そしてまず、記憶部103から更新中フラグの値を読み出す(S31:図5のB5と対応)。その後、読み出した更新中フラグの値がオンであれば、記憶部103のファームウェアは更新完了状態と判断し、オフであれば、更新未完了(中断)状態と判断する(S32〜34)。いずれの場合も、判断結果を問い合わせ元であるバージョン通知部106に応答し(S35:図5のB6と対応)、処理を終了する。
バージョン通知部106及びサブシステム更新完了判断部107が以上の処理を行うことにより、更新制御部110に対し、バージョンの新旧により更新要否の判断を行うためのバージョン情報を提供しつつ、更新中断状態の場合には、同じ形式で、そのことを示す情報を提供することができる。
次に、図10に、更新制御部110がバージョン情報通知の受信に応じて実行する処理のフローチャートを示す。
更新制御部110は、図4のステップB8及びC12で、全てのサブシステムのバージョン通知部からバージョン情報通知を受けると、図10のフローチャートに示す処理を開始する。そしてまず、各サブシステムを順次処理対象として、ステップS41乃至S44の処理を繰り返す。
すなわち、まず、処理対象のサブシステムについて、バージョン通知部から通知されたバージョン情報と、更新入力部108が受け付けた更新用データに含まれる更新用ファームウェアのバージョン情報とを比較する(S41)。そして、更新用ファームウェアのバージョンの方が新しい場合には(S42のYes)、処理対象のサブシステムはファームウェアの更新要と判断する(S43)。そうでない場合、すなわち通知されたバージョン情報の方が新しいか両者が同じ場合には(S42のNo)、処理対象のサブシステムはファームウェアの更新不要と判断する(S44)。
ここで、通知されたバージョン情報が更新が完了していないことを示すバージョン情報であった場合には、更新用ファームウェアのバージョン情報によらず、処理対象のサブシステムはファームウェアの更新要と判断するようにする。しかし、更新が完了していないことを示すバージョン情報として、通常は使われないVer. 0.0のように、更新用ファームウェアのバージョンが何であってもステップS42の判断がYesとなるような値を用いれば、更新が完了していないことを示すバージョン情報を見分けるための専用のステップを設ける必要はない。しかし、更新が完了していないことを示すバージョン情報として他の値を用い、これを見分けるための専用のステップを設けるようにしてもよい。
また、更新制御部110は、全てのサブシステムについてステップS41〜S44の処理を完了すると、そこまでの処理において更新が必要と判断したサブシステムのデータ書き込み部に、更新要求を送信してファームウェアの更新を行わせ(S45:図6のB21及びC21〜C23と対応)、処理を終了する。
更新制御部110が以上の処理を行うことにより、バージョンの新旧と、更新が中断した状態か否かとの双方を考慮した、サブシステム毎のファームウェアの更新要否の判断を、バージョン情報を参照するのみで適切に行うことができる。従って、ファームウェアの更新が中断された後に再起動されたような場合でも、さらに、記憶部103においてはファームウェアのバージョン情報が更新されてしまっている場合でも、更新が中断されたことを適切に検出して再度ファームウェアの更新処理を行うことができる。
また、バージョンの新旧のみを考慮した更新要否判断を行う更新制御部110を何ら改変することなく、あるいはわずかに改変するのみで、更新が中断した状態か否かも考慮した判断を行えるようにすることができる。
〔第2動作例:図11乃至図13〕
次に、情報処理装置1の第2の動作例として、情報処理装置1の起動時(電源投入時だけでなく、リセット後の再起動時等も含む、以下特に断らない限り同じ)に、ファームウェアの更新が適切に行われていないことを検出した場合にリカバリモードで起動する動作について説明する。
この第2の動作例の場合も、ファームウェアの更新については、第1の動作例の場合と同様に行う。ただし、更新の開始前及び終了後に、記憶部103へ更新状況を示すフラグの書き込みを行う。
図11に、第2の動作例におけるファームウェア更新処理のシーケンスを示す。
更新制御部110が更新要求の受信(S51)に応じて図5及び図6等を用いて説明したファームウェア更新処理(S54)を行う場合、これに先立ち、更新開始を通知する更新状況通知を全システム更新完了判断部109に送信する(S52)。そして、これを受け取った全システム更新完了判断部109は、記憶部103にアクセスし、全体更新状況フラグをオンに設定する(S53)。このことにより、情報処理装置1においてファームウェアの更新処理を実行中であることを記録することができる。
また、更新制御部110は、ファームウェア更新処理が終了すると、更新終了を通知する更新状況通知を全システム更新完了判断部109に送信する(S55)。そして、これを受け取った全システム更新完了判断部109は、記憶部103にアクセスし、全体更新状況フラグをオフに設定する(S56)。このことにより、情報処理装置1はファームウェアの更新処理が正常に完了した状態であることを記録することができる。
第2動作例においては、これらの各部が図11に示した処理を行うことにより、更新処理の実行中に突然情報処理装置1の電源が切断されたりエラーが発生したりして処理が中断した場合、次に情報処理装置1が起動した際に値がオンとなっていることをもって、更新が正常に完了していない状態であることを示すことができる。第1の動作例における更新中フラグの場合と同様である。なお、全体更新状況フラグも、更新中フラグと同様、ファームウェアの記憶領域外に記憶させる。
次に、図12に、第2の動作例において情報処理装置1が起動時に実行する動作の手順を示す。
図12に示す動作においては、更新制御部110が、全システム更新完了判断部109に対し、装置全体におけるファームウェアの更新状況を問い合わせる(X1)。全システム更新完了判断部109は、この問い合わせを受けると、記憶部103から図11の処理で設定した全体更新状況フラグの値を読み出し、その値に基づき、情報処理装置1が、ファームウェア更新処理が正常に完了した状態か、更新処理が完了していない状態かを判断する(X2)。そして、その結果を更新制御部110に返す(X3)。
更新制御部110は、ステップX3で受信した応答が、更新処理が正常に完了した状態であれば、それ以上特別な処理は行わない。この場合、通常の起動手順に従い、各サブシステムの起動部105,205が記憶部103,203に記憶しているファームウェアを起動し、情報処理装置1を、通常の機能を発揮できる状態に移行させる。
しかし、ステップX3で受信した応答が、更新処理が中断した状態であれば、そのまま起動を続行すると、いずれかのサブシステムでファームウェアが更新途中の異常な状態であることがわかる。
そこで、更新制御部110は、各サブシステムの起動部105,205に更新開始通知を送信し、ファームウェアをロックさせる(B1,B2,C1〜C4)。この処理は、図5に示した同名のステップの処理と、意味合いは異なるが同じ処理である。ファームウェアを実行できないようにしたいという点で目的は同じであるので、ソフトウェアの規模低減のため、同じコマンドでロックを指示するようにしている。
以上の処理を行うことにより、更新制御部110が、情報処理装置1の起動時にファームウェア更新の成否を自動的に確認し、更新が完了していないと判断した場合には、更新対象となり得る全てのファームウェアの動作を禁止することができる。従って、更新が中断したままの異常なファームウェアを実行してサブシステムが不測の動作を行うといった不具合を防止することができる。
なお、このような起動を行った状態をリカバリモードと呼ぶ。この状態でも、更新対象のファームウェアによらない図3に示した各部の機能は維持されるが、それ以外の機能は基本的に使えない状態となる。
また、どのサブシステムにおいて更新が中断したかを把握したい場合には、図5のステップB3〜B8等と同じ処理により、ファームウェアのバージョン情報を取得すればよい。更新が中断しているサブシステムのバージョン通知部からは、そのことを示すバージョン情報が通知される。
また、リカバリモードの状態でも、更新入力部108が更新用データの入力を受け付けると、図5及び図6の場合と同様にファームウェアの更新に係る動作を行うことができる。
ここで、図13に、第2の動作例において情報処理装置1の起動時に更新制御部110が実行する処理のフローチャートを示す。
更新制御部110は、情報処理装置1の起動処理中で所定のトリガを検出すると、図13に示す処理を開始する。
そしてまず、全システム更新完了判断部に装置全体におけるファームウェアの更新情報を問い合わせ、その応答を取得する(S61:図12のX1〜X3と対応)。その後、応答に基づき情報処理装置1は全体としてファームウェアの更新が完了している状態であるか否か判断する(S62)。ここで更新されている場合は、更新入力部108からの更新要求があるか否か判断する(S63)。この更新要求は、例えば図5のステップA2で更新入力部108が送信するものである。更新入力部108を、更新用データが格納されたUSBメモリが記憶媒体I/F14に接続されていた場合に自動的にその更新用データを読み出すように構成した場合、情報処理装置1の起動中にステップA2の送信が行われる場合がある。
そして、ステップS63でYesであれば、全システム更新完了判断部109にファームウェアの更新を開始する旨を通知し(S64:図11のS52と対応)、第1動作例の場合と同様に各サブシステムのファームウェアを更新する(S65,S66:図11のS54と対応)。そして、全ての更新が完了したら(S67のYes)、全システム更新完了判断部109に、ファームウェアの更新を完了した旨を通知し(S68:図11のS55と対応)、情報処理装置1を再起動して(S69)、処理を終了する。
更新が何らかの理由で正常に完了しなかった場合は、ステップS68での通知を行わずに再起動(S69)を行う。なお、再起動に代えてエラー通知を行ってもよい。いずれの場合も、全体更新状況フラグの値は、更新が正常に完了しなかったことを反映してオンのままとなる。
一方、ステップS63で更新要求がなければ、ファームウェアの更新は不要であるので、情報処理装置1の通常の起動を続ける(S70)。この処理においては、必要に応じて各サブシステムのファームウェアを起動し、各サブシステムのファームウェア更新以外の機能を有効にする。なお、通常起動がされた後でもファームウェア更新の指示に応じて第1の動作例のようなファームウェアの更新を行うことはもちろん可能である。
また、ステップS62で更新が完了していない状態であれば、全サブシステムの起動部105,205に更新開始通知を送信してファームウェアをロックさせる(S71:図12のB1〜B2,C1〜C4と対応)。この処理により、情報処理装置1は、ファームウェアを実行しないリカバリモードで起動されたことになる。また、図示は省略したが、ここで各サブシステムからファームウェアのバージョン情報を収集してもよいことは、図12の説明で述べた通りである。
ステップS71の後は、更新制御部110は、更新入力部108からの更新要求があるか否か判断する(S72)。この更新要求も、例えば図5のステップA2で更新入力部108が送信するものである。更新入力部108は、ユーザの手動による更新操作に応じて更新要求を送信することも、自動的に更新用データを読み出して更新要求を送信することもある。
そして、更新要求があると、更新制御部110は、全システム更新完了判断部109に対する更新状況の通知(S73,S75,S76)と、更新処理(S74)と、再起動(S77)とを行う。これらの処理は、ファームウェアのロックは既に行われているので行わない点以外は、ステップS64乃至S69で行う処理と同じものである。
ステップS72で更新要求がない場合、そのまま処理を終了する。
以上の処理を行うことにより、起動時に情報処理装置1全体としてファームウェアの更新が完了していない状態であった場合には、全サブシステムのファームウェアの使用を禁止することができるので、異常なファームウェアを実行して情報処理装置1が不測の動作をすることを防止できる。
また、この状態であってもファームウェアの更新をリトライして情報処理装置1を正常な状態へ復帰させることができる。
〔第3動作例:図14〕
次に、情報処理装置1の第3の動作例として、情報処理装置1の起動時に、ファームウェアの更新が適切に行われていないことを検出した場合に自動的にファームウェアの更新をリトライする動作について説明する。
図14に、第3の動作例において情報処理装置1が起動時に実行する動作の手順を示す。
この動作例においても、第2の動作例の場合と同様に全体更新状況更新フラグの値を管理しているとする。そして、図14に示す動作においても、更新制御部110が全システム更新完了判断部109に装置全体におけるファームウェアの更新情報を問い合わせ、その応答を取得する点は、第2動作例の場合と同様である(X1〜X3)。
そして、この応答に基づきファームウェアの更新要否を判断する(X4)。ここでは、ファームウェアの更新が正常に完了していない状態であれば、更新が必要であると判断する。この場合、自動更新部111に自動更新通知を送信し(X5)、自動更新の実行を指示する。
自動更新部111は、この通知を受けると、更新入力部108に対し、更新用データの受け付け開始を指示するデータ受付要求を送信する(X6)。更新入力部108は、この要求を受けると、更新用データが格納されたUSBメモリが記憶媒体I/F14に接続されていれば、そこから更新用データを読み出してRAM13に一時記憶させる(X7)。これが完了すると、更新制御部110に対しデータ受付通知を送信する(X8)。
また、自動更新部111は、データ受付要求の送信とは別に、更新制御部110に対し更新要求を送信する(X9)。
更新制御部110は、ステップX8のデータ受付通知とステップX9の更新要求が揃うと、第2動作例の場合と同様なファームウェアの更新を行う。
なお、図示は省略したが、ステップX4で更新要と判断した時点でファームウェアのロックを行うようにするとよい。この場合の更新制御部110の処理フローは、図13とほぼ同じものである。ステップS72の前に自動更新部111に対して自動更新通知を行う点と、ステップS72の判断が、ステップX8のデータ受付通知とステップX9の更新要求とが揃った場合にYesになるようにする点が異なるのみである。
以上の動作を行うことにより、情報処理装置1の起動時に、装置全体としてファームウェアの更新が正常に完了していないと判断した場合に自動的に更新をリトライすることができる。従って、ファームウェアの更新が失敗した場合でも、ユーザの手を煩わせることなく、情報処理装置1を正常な状態へ復帰させることができる。
なお、何度もリトライしても更新の失敗が続く場合に無制限にリトライを続けると、却って別の対応策の実施を妨げることになる。そこで、自動更新部111にリトライ回数をカウントする機能を設け、一定の期間内に所定回数以上リトライがあった場合、リトライを中止するようにするとよい。この場合、更新入力部108へのデータ受付要求を行わず、更新制御部110には更新リトライ中止を通知するとよい。また、この場合、更新制御部110は、情報処理装置1をリカバリモードで起動させて待機するようにするとよい。
また、リトライの中止を、ユーザの指示に応じて行うようにしてもよい。この場合、例えば、ユーザの指示があった場合に、自動更新部111が次回リトライを行わない旨のフラグを記憶部103に書き込み、起動時にそのフラグの値を確認してリトライを行うか否か決定するようにすることが考えられる。
また、更新入力部108がデータ受付要求に応じた更新用データの読み込みをできない場合、自動更新部111にその旨を通知するようにするとよい。この場合も、自動更新部111が更新制御部110に更新リトライ中止を通知し、情報処理装置1をリカバリモードで起動させて待機させるようにするとよい。
また、更新入力部108が複数ある場合(例えば第2サブシステム20がネットワークI/F25を介して更新用データを取得する不図示の更新入力部を備える場合)には、1つの更新入力部で更新用データを取得できない場合に、自動更新部111が他の更新入力部にデータ受付要求を送信して更新用データの取得を試みさせるようにするとよい。
このように、自動更新部111が更新用データを取得を管理するようにすれば、複数の更新入力部108が独自に更新用データを取得して更新用データが重複してしまうことがない。
〔第4動作例:図15乃至図18〕
次に、情報処理装置1の第4の動作例として、情報処理装置1の起動時に、ファームウェアの更新が適切に行われていないことを検出した場合に、適切に更新されていないサブシステムについてのみファームウェアの実行を禁止する動作について説明する。
図15に、第4の動作例において情報処理装置1が実行する動作の手順を示す。
図15に示す動作は、図12を用いて説明した動作のうちファームウェアのロック(B1〜B2,C1〜C4)以外の動作を実行した後に行う動作である。すなわち、情報処理装置1の起動時にファームウェアの更新が正常に完了していない状態であることを検出し、その後、各サブシステムにおけるファームウェアのバージョン情報を取得した後に行う動作である。なお、第1及び第2の動作例で説明した通り、ここで取得されるバージョン情報は、ファームウェアの更新が正常に完了していない状態であるサブシステムについては、そのことを示すバージョン情報となる。
図15に示す動作において、更新制御部110は、既に取得したバージョン情報に基づき、各サブシステムにおいてファームウェアの更新が正常に完了している状態であるか否か判断し(A61)、その結果を更新状況として機能利用可否判断部112に通知する(A62)。
機能利用可否判断部112は、これを受けて、更新が完了しているサブシステムについてのみ、起動部へファームウェアの起動を要求する。図15には、第1サブシステム10の起動部105に起動を要求する動作(B61)と、第2サブシステム20の起動部205に起動を要求する動作(C61〜C63)とを示しているが、これらの一方又は両方は実行されない場合がある。また、起動部105,205は、ファームウェア起動要求に応じて対応する記憶部103,203に記憶されているファームウェアを起動し、その結果を応答として機能利用可否判断部112に返す(B62,C64〜C66)。この応答は、通常は起動成功の応答となる。
機能利用可否判断部112は、各起動部から応答を受信すると、それに基づき、以後、起動したサブシステムに応じて動作要求の実行可否を制御する(A63)。
図16に、機能利用可否判断部112によるこの動作要求の実行可否制御処理のフローチャートを示す。
なお、動作要求とは、ユーザの操作、内部的なイベント検出、外部装置から要求等に応じて、情報処理装置1の図3等に示していない各部が生成する、情報処理装置1のいずれかのサブシステムの機能を利用した動作の実行を求める要求である。例えば、情報処理装置1がプロジェクタであれば映像投影開始/停止や、投影に関する設定の変更等を求める要求が挙げられる。プリンタであれば、印刷開始や印刷に関する設定の変更等である。
機能利用可否判断部112は、情報処理装置1において動作要求が発生したことを検出すると、図16の処理を開始する。
そしてまず、起動済みのサブシステムのみで検出した要求に係る動作を実行できるか否か判断する(S71)。そして、できる場合、検出した要求を、その実行を担当する機能部に転送する(S72)。できない場合、検出した要求に係る機能が利用できない旨をユーザに通知する(S73)。後者の場合、検出した要求に係る動作を実行できない旨の応答を、要求元に返してもよい。いずれの場合も、以上で処理を終了する。
次に、図17及び図18に、ステップS71の判断に用いるデータの例を示す。なお、内容をわかりやすくするため、これらの図では、サブシステムが3つある場合のデータ例を示している。
図17に示すのは、動作要求により利用を要求される機能毎に、該機能がどのサブシステムを利用するかを示すテーブルである。図18に示すのは、各サブシステムが現在起動中であるか否かを示すテーブルである。
図17に示すテーブルは、情報処理装置1のメーカーが予め定めて記憶部103に記憶させておくものである。図18のテーブルは、機能利用可否判断部112が、各起動部からのファームウェア起動要求に対する応答に基づき生成する。
そして、機能利用可否判断部112は、図16のステップS71の処理においては、まず、検出した機能利用要求の実行に必要な機能を特定する。そして、この機能をキーに図17のテーブルを参照し、その機能が利用するサブシステムを特定する。
次に、そのサブシステムをキーに図18のテーブルを参照し、利用するサブシステムが全て起動中であるか否か判断する。そして、全て起動中であればステップS71の判断結果はYesとし、そうでなければNoとする。
情報処理装置1の各部が以上の処理を行うことにより、情報処理装置1の起動時に、更新が完了しているファームウェアのみを起動して、対応するサブシステムの機能のみ有効にすることができる。このようにすれば、情報処理装置1全体としてはファームウェアの更新が正常に完了していない状態であっても、不測の動作をさせない範囲で情報処理装置1の機能を利用可能とすることができる。
〔第5動作例:図19〕
次に、情報処理装置1の第5の動作例として、情報処理装置1の起動時にファームウェアの更新が適切に行われていないことを検出した場合に行う動作をユーザが設定可能とした場合の動作について説明する。
この動作例においては、更新制御部110は、適当なタイミングでユーザの指示を受け付け、その指示に応じて、ファームウェア更新失敗の場合の起動時の動作を記憶部103に記憶させておく。その選択肢としては、リカバリモードでの起動(第2動作例)、自動更新の実行(第3動作例)、特定機能利用可能モードでの起動(第4動作例)等が考えられる。
ここで、図19に、この動作例において更新制御部110が実行する処理のフローチャートを示す。
更新制御部110は、情報処理装置1の起動時に、図12のステップX1〜X3の処理で全システム更新完了判断部109からファームウェアの更新が正常に完了していない旨の応答を受け取ると、図19のフローチャートに示す処理を開始する。
そして、記憶部103からファームウェア更新失敗の場合の起動時の動作の設定情報を読み出し(S81)、その設定内容に応じて、第2乃至第4の動作例で説明した動作のいずれかを行う(S82〜S85)。もちろん、図12のステップX1〜X3に当たる処理の続きからでよい。
以上の処理により、情報処理装置1は、ファームウェアの更新が正常に完了していないことを検出した場合に、ユーザのニーズに合った動作を行うことができる。
〔第6動作例:図20,図21〕
次に、情報処理装置1の第6の動作例として、ファームウェアの更新が正常に完了していない場合にその旨をユーザに通知する動作について説明する。
図20に、第6の動作例において情報処理装置1が実行する動作の手順を示す。
情報処理装置1は、ファームウェアの更新が正常に終了していないことを検出すると、更新制御部110が各サブシステムのバージョン通知部からファームウェアのバージョン情報を収集した後で、図20に示す動作を開始する。具体的な開始タイミングとしては、例えば第2動作例で図12を用いて説明した動作の完了後が考えられる。しかし、図20の動作を行うのは、情報処理装置1の起動時には限らず、ファームウェア更新処理の実行中に何らかの不具合を検出して更新を中断した後にバージョン情報を収集して行うことも考えられる。
図20の動作においてはまず、更新制御部110が、収集したバージョン情報に基づき、ファームウェアの更新が正常に完了していない(更新失敗の)サブシステムを特定する(A81)。その後、本体通知部に更新失敗通知を送信してその特定したサブシステムにおける更新の失敗を通知する(A82)。そして、その通知を受けた本体通知部104は、表示装置15を制御して、ユーザに対して更新失敗の旨を表示する(A83)。
この表示は、例えば、図21に示すような更新の失敗したサブシステムと対応するタイミングでLEDの点灯を制御することにより行うことができる。もちろん、LCD等にメッセージを表示してもよい。
なお、サブシステム毎の表示とせず、情報処理装置1全体としてファームウェアの更新が失敗していることを表示してもよい。この場合、バージョン情報の収集は必要ない。
〔第7動作例:図22,図23〕
次に、情報処理装置1の第7の動作例として、ファームウェアの更新結果をユーザに通知する別の動作について説明する。
図22に、第7の動作例において情報処理装置1が実行する動作の手順を示す。
なお、この動作例においては、各サブシステムのデータ書き込み部102,202は、図7のステップS11,S13で更新中フラグの値を更新する際に、更新の履歴を対応する記憶部103,203に書き込むようにする。例えば、ステップS11で更新処理の開始時刻を、ステップS13で終了時刻を書き込む。すると、開始時刻と終了時刻が揃っている更新については正常に更新が完了したことが、開始時刻のみの更新については正常に更新が完了していないことがそれぞれわかる。
サブシステム更新完了判断部107は、更新中フラグの値に代えて、または加えてこの履歴を参照することにより、更新が正常に完了したか否かを把握することができる。
第7の動作例においては、情報処理装置1は、ファームウェアの更新に係る処理が終了したことを確認した場合(図6のA22:更新を中断した場合も含む)、あるいは、起動時にファームウェアの更新が正常に完了していない状態であることを検出した場合、図22に示す動作を開始する。
いずれの場合も、図22の動作において、更新制御部110がネットワーク通知部204に結果通知要求を送信する(A101〜A103)。ネットワーク通知部204は、この要求を受信すると、各サブシステムのサブシステム更新完了判断部107,207に対し、更新履歴読み出し要求を送信する(B101〜B103,C101)。
この要求を受信したサブシステム更新完了判断部107,207は、それぞれ対応する記憶部103,203からファームウェア更新の履歴を読み出し(B104,C102)、ネットワーク通知部204に応答する(B105〜B107,C103)。
ネットワーク通知部204は、この応答を受け取ると、各サブシステムにおける更新履歴に基づき、図23に示すような更新結果通知のメッセージを生成して、予め設定されているアドレスに送信する。図23には、第1サブシステムでの更新は成功したが、第2サブシステムでの更新は2回続けて失敗し、ここでリトライを打ち切って装置全体として更新失敗とした場合の例を示している。このメッセージの記載形式及び送信に用いるプロトコルは任意である。図23の例では電子メールとしているが、これに限られない。
なお、図22の動作において、サブシステム更新完了判断部からネットワーク通知部204への履歴の通知は、更新結果通知メッセージに含める部分のみ、例えば最新の一連の更新リトライに係る部分のみでよい。
情報処理装置1が以上のような動作を行うことにより、ファームウェアの更新成否をユーザに通知することができる。なお、サブシステム毎の通知とせず、情報処理装置1全体としてのファームウェアの更新成否を通知してよいことは第6動作例の場合と同様である。
〔変形例:図24,図25〕
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び動作例において、装置の構成や具体的な処理内容、動作手順、データの形式等が上述したものに限られないことはもちろんである。
例えば、ファームウェアの更新をリトライする際に、データ書き込み部102による更新用ファームウェアの書き込みを、前回実行時(中断発生時)の続きから行うようにすることが考えられる。
この場合、例えば、図24に示すように、書き込む更新用ファームウェアのバージョン、更新済みバイト数及び全体バイト数を更新の進捗状況として管理する。これらの情報は記憶部103に記憶させておき、更新済みバイト数は、1バイト書き込む毎(所定バイト数毎でもよい)に更新する。また、バージョンの情報は、更新開始時に更新する。
そして、更新をリトライする際には図24に示すデータを参照し、次もここに記録されているバージョンの更新用ファームウェアを書き込むのであれば、更新済みバイト数が示す位置の続きから書き込みを始める。すなわち、図25に示すように、既に更新済みの領域については再度更新用ファームウェアの書き込みを行うことなく、その次の位置から、更新用ファームウェアのうちその位置と対応する部分を書き込む。
このようにすれば、一度行った書き込みを再度行う必要がないため、リトライ時の更新時間を短縮することができる。
また、上述した実施形態では、ファームウェアを更新する例について説明したが、更新する対象はファームウェアあるいは何らかのプログラムのデータに限られず、当該データセットのバージョン情報を含むものであれば、任意のデータセット(ひとかたまりのデータ)でよい。
また、情報処理装置1のサブシステム毎に1つのデータセットのみである必要もない。データセットの種類毎にバージョンの管理がなされていれば、1つのサブシステムにおいて複数種類のデータセットを更新してもよい。
逆に、サブシステムの区切りがない情報処理装置であったり、情報処理装置全体で1つのデータセットのみを更新するものであったりしてもよい。また、更新すべきデータセットのないサブシステムがあってもよい。サブシステムの数が2に限られないことも、もちろんである。
また、更新入力部108が取得する更新用データには、必ずしも全てのデータセットについての更新用データが含まれている必要はない。一部のデータセットについてのみ更新用データが含まれている場合、それらのデータセットについてのみ更新処理を行えばよい。
また、この発明の情報処理装置は、情報処理機能を有する任意の電子装置に上述の実施形態で説明したデータセットの更新機能を設けた装置として構成可能である。例えば、ネットワーク家電、自動販売機、医療機器、電源装置、空調システム、ガス・水道・電気等の計量システム、自動車、航空機あるいは汎用コンピュータ等にも適用可能である。
また、以上説明してきた各実施形態、動作例及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
1:情報処理装置、10:第1サブシステム、11,21:CPU、12,22:ROM、13,23:RAM、14,24:記憶媒体I/F、15:表示装置、16:入力装置、20:第2サブシステム、25:ネットワークI/F、30:システムバス、101,201:サブシステム通信部、102,202:データ書き込み部、103,203:記憶部、104:本体通知部、105,205:起動部、106,206:バージョン通知部、107,207:サブシステム更新完了判断部、109:全システム更新完了判断部、110:更新制御部、111:自動更新部、112:機能利用可否判断部、204:ネットワーク通知部
特開2011−44106号公報

Claims (8)

  1. データセットであって該データセットのバージョン情報を含むものを記憶する記憶手段と、
    更新用データセットであって該更新用データセットのバージョン情報を含むものを取得する取得手段と、
    前記記憶手段が記憶しているデータセットのバージョン情報を提供する提供手段と、
    前記取得手段が取得した更新用データセットのバージョン情報と前記提供手段が提供するバージョン情報とに基づき更新が必要であると判断した場合に前記記憶手段に記憶しているデータセットを前記更新用データセットに更新する更新手段と、
    前記更新手段によるデータセットの更新が完了している状態であるか否か判断する判断手段とを備え、
    前記提供手段は、前記判断手段が、前記データセットの更新が完了していない状態であると判断した場合には、前記記憶手段が記憶しているデータセットのバージョン情報に代えて、更新が完了していないことを示すバージョン情報を提供する手段であることを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記更新手段は、当該情報処理装置の起動時に前記判断手段が前記更新手段によるデータセットの更新が完了していない状態であると判断した場合には、前記取得手段に更新用データセットを取得させ、該取得させた更新用データセットのバージョン情報と前記提供手段が提供するバージョン情報とに基づき更新が必要であると判断した場合に前記記憶手段に記憶しているデータセットを該取得させた前記更新用データセットに更新する手段を備えることを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    それぞれデータセットであって該データセットのバージョン情報を含むものを記憶する記憶手段を複数備え、
    前記取得手段は、前記複数の記憶手段の少なくとも1つについて、該記憶手段が記憶するデータセットを更新するための更新用データセットを取得する手段であり、
    前記提供手段は、前記複数の記憶手段の各々について、該記憶手段が記憶しているデータセットのバージョン情報を提供する手段であり、
    前記更新手段は、前記取得手段が取得した各更新用データセットのバージョン情報と前記提供手段が提供する対応するデータセットのバージョン情報とに基づき記憶手段毎にデータセットの更新の要否判断及び更新を行う手段であり、
    前記判断手段は、記憶手段毎にその記憶手段に記憶しているデータセットの更新が完了している状態であるか否か判断する手段であることを特徴とする情報処理装置。
  4. 請求項1乃至3のいずれか一項に記載の情報処理装置であって、
    当該情報処理装置の起動時に前記判断手段が少なくとも一つの前記記憶手段において前記更新手段によるデータセットの更新が完了していない状態であると判断した場合に、その記憶手段に記憶されているデータセットの使用を禁止する禁止手段を備えることを特徴とする情報処理装置。
  5. 請求項4に記載の情報処理装置であって、
    当該情報処理装置の機能と、その機能を利用するために必要なデータセットとの関係を示す機能情報を記憶しておき、
    当該情報処理装置の機能の利用を要求された場合に、前記機能情報を参照して前記禁止手段が使用を禁止しているデータセットなしでその要求に係る機能を利用可能か否か判断し、利用可能の場合に該要求に係る機能の利用を許可し、利用不能の場合には該要求に関する機能の利用を許可しない利用可否判断手段を備えたことを特徴とする情報処理装置。
  6. 請求項1乃至3のいずれか一項に記載の情報処理装置であって、
    当該情報処理装置の起動時に前記判断手段が少なくとも一つの前記記憶手段において前記更新手段によるデータセットの更新が完了していない状態であると判断した場合に、全ての前記記憶手段に記憶されているデータセットの使用を禁止する禁止手段を備えることを特徴とする情報処理装置。
  7. 請求項1乃至6のいずれか一項に記載の情報処理装置であって、
    前記更新手段による前記データセットの更新の進捗状況を記憶する進捗状況記憶手段を備え、
    前記更新手段は、当該情報処理装置の起動時に前記判断手段が前記更新手段によるデータセットの更新が完了していない状態であると判断した場合には、前記記憶手段に記憶しているデータセットの更新を、前記進捗状況記憶手段が記憶する進捗状況に基づき、前回実行時の続きから行うことを特徴とする情報処理装置。
  8. 請求項3に記載の情報処理装置であって、
    複数のサブシステムを備え、前記記憶手段は、該各サブシステムと対応して設けられ、
    前記データセットは、前記記憶手段と対応するサブシステムに実行させるファームウェアであることを特徴とする情報処理装置。
JP2012001417A 2012-01-06 2012-01-06 情報処理装置 Expired - Fee Related JP5821640B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012001417A JP5821640B2 (ja) 2012-01-06 2012-01-06 情報処理装置
EP12196191.6A EP2613255A3 (en) 2012-01-06 2012-12-07 Method to update firmware
US13/709,289 US8893107B2 (en) 2012-01-06 2012-12-10 Information processing apparatus, information processing method, and information processing program for updating a data set
CN201210592797.XA CN103294566B (zh) 2012-01-06 2012-12-31 信息处理装置、信息处理方法和信息处理程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012001417A JP5821640B2 (ja) 2012-01-06 2012-01-06 情報処理装置

Publications (2)

Publication Number Publication Date
JP2013142914A true JP2013142914A (ja) 2013-07-22
JP5821640B2 JP5821640B2 (ja) 2015-11-24

Family

ID=47563011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012001417A Expired - Fee Related JP5821640B2 (ja) 2012-01-06 2012-01-06 情報処理装置

Country Status (4)

Country Link
US (1) US8893107B2 (ja)
EP (1) EP2613255A3 (ja)
JP (1) JP5821640B2 (ja)
CN (1) CN103294566B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015695B2 (en) 2012-12-27 2015-04-21 Ricoh Company, Limited Information processing apparatus and information processing method
JP2017146800A (ja) * 2016-02-17 2017-08-24 株式会社デンソー 車載制御装置、及び車載制御装置を含む車載ネットワーク
JP2018018200A (ja) * 2016-07-26 2018-02-01 Necプラットフォームズ株式会社 電源装置および電源制御方法
JP2019095905A (ja) * 2017-11-20 2019-06-20 キヤノン株式会社 ファームウェア組み込み装置、制御方法、プログラム
WO2021186987A1 (ja) * 2020-03-16 2021-09-23 Fdk株式会社 制御装置及び制御プログラムの書き換え方法
JP2022172270A (ja) * 2018-12-13 2022-11-15 マイクロン テクノロジー,インク. ファームウェアの状態に基づく自動パワーダウン
JP7342442B2 (ja) 2018-11-14 2023-09-12 株式会社リコー 情報処理装置、情報処理方法、プログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011075139A1 (en) * 2009-12-18 2011-06-23 Hewlett-Packard Development Company, L.P. Methods and devices for updating firmware of a component using a firmware update application
JP5843637B2 (ja) * 2012-02-01 2016-01-13 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
KR101427755B1 (ko) * 2013-04-26 2014-08-07 주식회사 코아로직 Usb를 이용한 펌웨어 업그레이드 장치 및 방법
CN103309709B (zh) * 2013-06-08 2018-10-09 华为终端有限公司 一种固件升级方法、装置及通信设备
JP2016110436A (ja) 2014-12-08 2016-06-20 株式会社リコー 画像投影装置、及び対話型入出力システム。
CN107533490B (zh) * 2015-04-13 2021-03-26 三菱电机株式会社 控制系统及可编程逻辑控制器
CN105045770B (zh) * 2015-07-22 2018-03-23 福建福昕软件开发股份有限公司 一种文档新版本自动提醒方法
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US10437680B2 (en) * 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
JP2017111589A (ja) 2015-12-16 2017-06-22 株式会社リコー 座標検出装置、表示システム、投影システム及び座標検出方法
US10157009B2 (en) * 2016-07-06 2018-12-18 Arris Enterprises Llc Custom command file for efficient memory update
CN107229532A (zh) * 2017-05-05 2017-10-03 惠州Tcl移动通信有限公司 固件下载控制方法、系统,移动终端及可读存储介质
EP3841593A4 (en) * 2018-08-26 2022-05-25 Haemonetics Corporation APHERESIS DEVICE FLEET MANAGEMENT SYSTEM AND METHOD
US10983780B2 (en) * 2018-11-14 2021-04-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium
JP7206106B2 (ja) * 2018-12-25 2023-01-17 東芝テック株式会社 情報処理装置及びプログラム
GB201914047D0 (en) * 2019-09-30 2019-11-13 Nordic Semiconductor Asa Bootloader updating
JP7551474B2 (ja) * 2020-11-27 2024-09-17 キヤノン株式会社 情報処理装置、制御方法およびプログラム
EP4293501A4 (en) * 2021-04-14 2024-07-24 Samsung Electronics Co Ltd ELECTRONIC DEVICE AND ITS OPERATING METHOD

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754785A (en) * 1995-04-27 1998-05-19 General Datacomm Communications network equipment
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US20010049263A1 (en) * 1998-03-26 2001-12-06 Xiang Zhang Automatic station/system configuration monitoring and error tracking system and software upgrade tool kit
US6317880B1 (en) * 1999-03-03 2001-11-13 Microsoft Corporation Patch source list management
US7594107B1 (en) * 1999-12-20 2009-09-22 Entrust, Inc. Method and apparatus for updating web certificates
JP3726726B2 (ja) * 2001-08-20 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および管理ユニット
US7047448B2 (en) * 2002-11-21 2006-05-16 Bitfone Corporation Software self-repair toolkit for electronic devices
US7356727B1 (en) * 2003-03-10 2008-04-08 Hewlett-Packard Development Company, L.P. Electronic device employing efficient fault tolerance
US7555657B2 (en) 2003-03-28 2009-06-30 Ricoh Company, Ltd. Communication device, software update device, software update system, software update method, and program
JP4597551B2 (ja) 2003-03-28 2010-12-15 株式会社リコー ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
US20050085222A1 (en) * 2003-10-17 2005-04-21 Nokia Corporation Software updating process for mobile devices
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
KR20070034239A (ko) * 2005-09-23 2007-03-28 삼성전자주식회사 소프트웨어 업데이트 방법 및 시스템과 그 방법을 기록한컴퓨터 판독 가능한 기록매체
US8122447B2 (en) * 2007-07-31 2012-02-21 Hewlett-Packard Development Company, L.P. Firmware installation
JP5268830B2 (ja) 2009-08-24 2013-08-21 京セラドキュメントソリューションズ株式会社 ファームウェア更新プログラム及び画像形成装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015695B2 (en) 2012-12-27 2015-04-21 Ricoh Company, Limited Information processing apparatus and information processing method
JP2017146800A (ja) * 2016-02-17 2017-08-24 株式会社デンソー 車載制御装置、及び車載制御装置を含む車載ネットワーク
JP2018018200A (ja) * 2016-07-26 2018-02-01 Necプラットフォームズ株式会社 電源装置および電源制御方法
JP2019095905A (ja) * 2017-11-20 2019-06-20 キヤノン株式会社 ファームウェア組み込み装置、制御方法、プログラム
JP7058984B2 (ja) 2017-11-20 2022-04-25 キヤノン株式会社 ファームウェア組み込み装置、制御方法、プログラム
JP7342442B2 (ja) 2018-11-14 2023-09-12 株式会社リコー 情報処理装置、情報処理方法、プログラム
JP2022172270A (ja) * 2018-12-13 2022-11-15 マイクロン テクノロジー,インク. ファームウェアの状態に基づく自動パワーダウン
US11847014B2 (en) 2018-12-13 2023-12-19 Micron Technology, Inc. Automated power down based on state of firmware
WO2021186987A1 (ja) * 2020-03-16 2021-09-23 Fdk株式会社 制御装置及び制御プログラムの書き換え方法
JP2021149173A (ja) * 2020-03-16 2021-09-27 Fdk株式会社 制御装置及び制御プログラムの書き換え方法
JP7477328B2 (ja) 2020-03-16 2024-05-01 Fdk株式会社 制御装置及び制御プログラムの書き換え方法

Also Published As

Publication number Publication date
CN103294566A (zh) 2013-09-11
US8893107B2 (en) 2014-11-18
JP5821640B2 (ja) 2015-11-24
CN103294566B (zh) 2016-03-30
EP2613255A3 (en) 2014-12-10
US20130179871A1 (en) 2013-07-11
EP2613255A2 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
JP5821640B2 (ja) 情報処理装置
JP6324251B2 (ja) 情報処理装置、プログラム及び制御方法
JP4851719B2 (ja) 周辺装置管理システム及び方法
JP5810826B2 (ja) 画像処理システム、画像形成装置、制御方法、および制御プログラム
JP7345921B2 (ja) マスタースレーブアーキテクチャのota差分更新方法とシステム
EP2799952A2 (en) Information processing system, information processing apparatus and start up control method
JP2010219725A (ja) ネットワーク装置および外部記憶装置をネットワーク上に公開する方法
JP5895385B2 (ja) 画像出力装置及びそのプログラム
JP5696470B2 (ja) 機器管理装置、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体
US20040024878A1 (en) Network device and automatic program update technique
JP2014099061A (ja) コントローラおよびプログラム
JP2006235992A (ja) プリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタ
JP2014021504A (ja) 端末装置及びプログラム
JP2006260215A (ja) 制御システム、制御装置、制御システムの制御方法
CN115509812A (zh) 一种基于Keepalive双机热备的数据备份方法及服务器
JP6439987B2 (ja) 電子機器システムおよびファームウェア更新管理プログラム
JP4825120B2 (ja) サービス管理システム、サービス管理装置およびサービス管理方法
JP7043737B2 (ja) 情報処理システム及び情報処理方法
JP4792361B2 (ja) 応答装置、応答方法及び応答プログラム
JP6433870B2 (ja) 通信装置、通信方法およびプログラム
CN113900890B (zh) 服务器组件信息收集方法、装置、设备及介质
JP6737334B2 (ja) 消去装置
JP2005346403A (ja) 情報処理装置及び情報処理システム
JP2009159383A (ja) 通信端末装置
JP2016126439A (ja) デバイス制御装置、クライアント、デバイス制御方法、及びデバイス制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150921

R151 Written notification of patent or utility model registration

Ref document number: 5821640

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees