JP2014130388A - 情報処理装置、及び情報処理方法 - Google Patents

情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP2014130388A
JP2014130388A JP2012286292A JP2012286292A JP2014130388A JP 2014130388 A JP2014130388 A JP 2014130388A JP 2012286292 A JP2012286292 A JP 2012286292A JP 2012286292 A JP2012286292 A JP 2012286292A JP 2014130388 A JP2014130388 A JP 2014130388A
Authority
JP
Japan
Prior art keywords
data
firmware
update
subsystem
information
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
JP2012286292A
Other languages
English (en)
Other versions
JP6020159B2 (ja
Inventor
Masafumi Nagao
壮史 長尾
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 JP2012286292A priority Critical patent/JP6020159B2/ja
Priority to US14/132,675 priority patent/US9015695B2/en
Priority to EP13199283.6A priority patent/EP2750036A3/en
Priority to CN201310738976.4A priority patent/CN103902331B/zh
Publication of JP2014130388A publication Critical patent/JP2014130388A/ja
Application granted granted Critical
Publication of JP6020159B2 publication Critical patent/JP6020159B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

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

【課題】複数のサブシステムを有する情報処理装置にあって、ファームウェアの更新を迅速に行う。
【解決手段】情報処理装置は、第1のサブシステムに設けられ、前記ファームウェアの更新要求、及び更新用のファームウェアの入力を受け付ける更新受付部と、それぞれの前記サブシステム毎に設けられた前記ファームウェアを記憶する記憶部と、前記第1のサブシステム以外の第2のサブシステムに設けられ、前記記憶部に記憶された前記ファームウェアの第2バージョン情報と、前記更新用ファームウェアデータに含まれる第3バージョン情報とを比較し、機能ごとにバージョン情報が一致するか否かにより、前記データ領域のいずれに更新が必要か否かを判定し、更新が必要とされた前記データ領域に該当する前記更新用のファームウェアのデータ部分の転送を前記第1のサブシステムに要求し、前記データ部分を取得して前記記憶部に記憶させる部分更新実行部と、を備える。
【選択図】図1

Description

本発明は、情報処理装置、及び情報処理方法に関する。
情報処理装置が、複数のプロセッサを含み、それぞれのプロセッサごとに異なる処理を担当して実行するマルチプロセッサ式の構成が知られている。この場合、各プロセッサを操作するためのファームウェアが、プロセッサごとに設けられている。ファームウェアは、変更が加えられると、その都度更新作業が実施される。この際ファームウェアの不正な組み合わせを防ぐことや効率的に更新することを目的として、装置内の複数のファームウェアを一括して更新することが行われている。具体的には、更新用のデータを取り込むためのインタフェースを有する、プロセッサを含んだシステムが全てのプロセッサの更新データを取得し、他のシステムに対して対応する更新用のデータを転送することにより、更新作業が実行される。
特許文献1には、ファームウェアの更新時間を短縮するために、一方のシステムが他方のシステムへと更新用のファームウェアのデータを送る際に新旧バージョンの差分を抽出して、そのデータのみを転送して更新するという部分更新の方法が開示されている。
しかしながら、上述のようにデータの差分のみを送るためには、更新用のデータを取得する側のシステムが、転送先のシステムの現在のファームウェアのデータを把握している必要がある。そのために、事前に転送先のシステムのファームウェアデータを、更新データを転送する側のシステムが保持するようにした場合は、必要な記憶領域の容量が大きくなってしまう。また、更新の際に転送先のシステムのファームウェアのデータを取得するようにした場合は、その取得のために時間がかかってしまい、時間短縮の効果が限定的なものとなってしまう可能性がある。
本発明は、上記に鑑みてなされたものであって、ファームウェアの更新を迅速に行うことのできる情報処理装置を提供することにある。
上述した課題を解決し、目的を達成するために、本発明は、それぞれプロセッサを有する複数のサブシステムを含んだ情報処理装置であって、前記サブシステムのファームウェアは、機能ごとに分類され、それぞれのバージョンを示す第1バージョン情報を有するデータ領域を有しており、前記データ領域の前記第1バージョン情報から、前記ファームウェア全体のバージョンを示す第2バージョン情報が一意に決定されており、第1のサブシステムに設けられ、前記ファームウェアの更新要求、及び更新用ファームウェアデータの入力を受け付ける更新受付部と、それぞれの前記サブシステム毎に設けられた前記ファームウェアを記憶する記憶部と、前記第1のサブシステム以外の第2のサブシステムに設けられ、前記記憶部に記憶された前記ファームウェアの第2バージョン情報と、前記第2バージョン情報と同じ形式で記述され、前記更新用ファームウェアデータに含まれる第3バージョン情報とを比較し、バージョン情報の一致しない部分から、前記データ領域のいずれの領域に更新が必要か否かを判定し、更新が必要とされた前記データ領域に該当する前記更新用ファームウェアデータの部分の転送を前記第1のサブシステムに要求して取得し、前記記憶部に記憶させる部分更新実行部と、を備えることを特徴とする。
本発明によれば、ファームウェアの更新を迅速に行うことができるという効果を奏する。
図1は、第1の実施形態の情報処理装置の機能構成を示すブロック図である。 図2は、第1の実施形態の情報処理装置のハードウェア構成を示すブロック図である。 図3は、第1の実施形態の更新用ファームウェアデータのデータ構造を示す図である。 図4は、第1の実施形態のデータ領域のデータ構造を示す図である。 図5は、第1の実施形態のデータ領域のデータ構造を示す図である。 図6は、第1の実施形態のファームウェア更新処理の流れを示すシーケンス図である。 図7は、第1の実施形態の部分更新を行うか否かを判定する処理の流れを示すフロー図である。 図8は、第1の実施形態の部分更新を行う際のデータ取得に係る処理の流れを示すフロー図である。 図9は、第2の実施形態のファームウェアのデータ構造の一例を示す図である。 図10は、第2の実施形態のファームウェア更新処理の流れを示すシーケンス図である。 図11は、第2の実施形態の部分更新を行う際のデータ取得に係る処理の流れを示すフロー図である。 図12は、第1の実施形態の変形例のデータ転送に係る処理の流れを示すフロー図である。 図13−1は、各実施形態の情報処理装置が具体化された画像投射装置の正面からの斜視図である。 図13−2は、各実施形態の情報処理装置が具体化された画像投射装置の背面からの斜視図である。 図13−3は、各実施形態の情報処理装置が具体化された画像投射装置の背面図である。 図13−4は、各実施形態の情報処理装置が具体化された画像投射装置の上面図である。 図13−5は、各実施形態の情報処理装置が具体化された画像投射装置の前面図である。 図13−6は、各実施形態の情報処理装置が具体化された画像投射装置の下面図である。 図13−7は、各実施形態の情報処理装置が具体化された画像投射装置の側面図である。 図13−8は、各実施形態の情報処理装置が具体化された画像投射装置の側面図である。
(第1の実施形態)
以下に添付図面を参照して、情報処理装置の実施形態を詳細に説明する。図1は本発明の情報処理装置1の機能構成を示すブロック図である。情報処理装置1は、2つのサブシステム100、200を有している。サブシステム100、200はそれぞれプロセッサを備えており、本装置はマルチプロセッサ式の装置である。
サブシステム100は、サブシステム通信部101、書き込み部102、記憶部103、及び部分更新実行部104を備えている。また、サブシステム200は、サブシステム通信部201、更新制御部202、更新受付部203、書き込み部204、及び記憶部205を備えている。本実施形態では、サブシステム200がファームウェアの更新データを受け付けて、サブシステム100に対して、更新用ファームウェアデータを転送する構成である。また、部分更新実行部104は判定部も兼ねている。
更新受付部203は、外部からの更新要求、及びファームウェアデータを含む更新対象データの入力を受け付ける。更新制御部202は、各サブシステム100、200へファームウェアデータを転送する等のシステム全体の更新処理の制御を管理する。記憶部103、205は、ファームウェアデータ等のデータを記憶する。なお、記憶されたデータは電源が消えても消去されることはない。書き込み部102、204は、記憶部103、又は205内の古いファームウェアデータを消去して、更新対象となる新しいファームウェアデータを書き込む。サブシステム通信部101、201は、サブシステム100、200間のデータ通信をおこなう。部分更新実行部104は、サブシステム100の現在のファームウェアと新しいファームウェアの差分にあたるデータのみを用いて部分更新を実行する。詳細な部分更新の内容については後述する。なお、サブシステムは2つ以上であればその数は限定されない。その場合、更新用ファームウェアデータを取得したサブシステムが、他のサブシステムに対して、更新用ファームウェアデータを転送し、更新制御部はシステム全体でひとつだけ存在する。
図2は、情報処理装置1のハードウェア構成を示す図である。サブシステム100は、CPU111、RAM112、ROM113、シリアルI/F114がBUS115によって互いに接続された構成である。また、サブシステム200は、CPU211、RAM212、表示装置213、ROM214、シリアルI/F215、入力装置216、及びUSB I/F217がそれぞれBUS218によって接続された構成である。
CPU111、211はサブシステムごとに設けられており、サブシステム100、200内部を制御する。ROM214、113、及びRAM212、112はメモリであり、ファームウェアのデータが記憶され、記憶部103、205を構成するハードウェアである。USB I/F217は外部メディアとの接続を実現するものであり、本実施形態では更新用のファームウェアは、USBメモリを通じて情報処理装置1の更新受付部203へと入力される。なお、ネットワークI/Fなどを通じて、ネットワークを通じて更新用データが取得されるようにしてもよい。シリアルI/F114、215は、サブシステム100、200間の通信を行う。入力装置216はユーザからの操作を受け付けるデバイスであり、例えばキーボードなどである。表示装置213はユーザへの各種通知を行うデバイスである。
図3はファームウェアの更新用ファームウェアデータ300のデータ構成例を示す図である。図3に示されるように、更新用ファームウェアデータ300は主に、ヘッダ部310とデータ部320の2つの部分に分かれる。ヘッダ部310には、各サブシステム100、200のファームウェアのバージョン情報311(第3バージョン情報)、データサイズ312、及び更新用ファームウェアデータ300内におけるデータオフセット313が含まれる。バージョン情報311は、データ部320に含まれているそれぞれのデータ領域ごとのバージョン情報を含んでいる。データオフセット313とは、それぞれのサブシステム100、200用のデータが、データ部320において、どのアドレスからどのアドレスまでの間に記憶されているかを示す値である。データ部320には、サブシステム100用のファームウェアデータ321、及びサブシステム200用のファームウェアデータ322そのものが含まれている。
図4はサブシステム100、200のファームウェアデータ400、500の構成例を示す図である。実際に、各サブシステム100、200に記憶されるファームウェアデータ400、500は、この形式で記憶部103、205に記憶されている。ファームウェアデータ400、500は、主にヘッダ部330とデータ部340の2つの部分に分かれる。ヘッダ部330には、データテーブル331、及びファームウェアのバージョン情報332を含む。データテーブル331とは、更新用のデータが各機能に分類されてグループ化されている場合に、それぞれのグループのデータ領域のアドレスの位置が記憶されている。本実施形態にあっては、データ部340は、プログラム領域341と、画像データ領域342とにグループ化されているが、例えばプログラム領域341はより詳細な機能別に複数のグループへと分類されていてもよい。
データ部340には、ファームウェアの更新用ファームウェアデータそのものが含まれており、種別によって領域に分かれている。プログラム領域341、及び画像データ領域342それぞれごとにバージョン情報(第1バージョン情報)がある。また、ファームウェア全体のバージョン情報332(第2バージョン情報)は各データ領域のバージョン情報を合算したものであり、第1バージョン情報によって一意に決定されている。つまり、プログラム領域341のバージョン情報が「0001」で、画像データ領域342のバージョン情報が「03」の場合、ファームウェアのバージョン情報332は、「000103」となる。これにより、ファームウェアのバージョン情報332を、更新用ファームウェアデータ300のバージョン情報311と比較すれば、どのデータ領域が変更されているのかどうか分かるようになる。また、図5に示されるように、各データ領域のオフセット位置は、実際のデータサイズより大きめにしておき、常に固定とする。領域間のオフセット位置を固定にすることで、データサイズが変わったとしても領域ごとに分割しての更新が可能となる。
続いて、ファームウェアの更新にかかる処理を図6を用いて説明する。まず、更新受付部203は、更新要求及び更新用ファームウェアデータ300の入力を受け付け、更新制御部202に更新要求があることを通知する(ステップS101)。更新制御部202は、更新用ファームウェアデータ300から各サブシステムのバージョン情報311を取得する(ステップS102)。そして、更新制御部202はサブシステム100の部分更新実行部104へバージョン情報311を通知する(ステップS103〜S105)。
部分更新実行部104は、記憶部103から現在のファームウェア400のバージョン情報332を読み出し、通知された更新対象のバージョン情報311と現在のバージョン情報332とを比較して部分更新を行うかどうか判断する(ステップS106〜107)。そして、部分更新実行部104は、その結果を更新制御部202へ通知する(ステップS108〜S110)。更新制御部202は、サブシステム100の部分更新実行部104にファームウェア更新を要求する(ステップS111〜S113)。
部分更新を行う場合、部分更新実行部104は、現在のファームウェアと更新用ファームウェアデータ300の差分データを特定できる情報を更新制御部202へ通知する(ステップS114〜S116)。差分データを特定できる情報とは、例えばプログラム領域341が差分データであった場合は、データテーブル331に含まれるプログラム領域341のオフセット位置などである。更新制御部202は、送られた差分データを特定できる情報に基づいて、サブシステム100の部分更新実行部104にファームウェアデータ321を送り、書き込みを要求する(ステップS117〜S119)。部分更新実行部104は、書き込み部102へとファームウェアデータ321の書き込みを要求し、記憶部103にファームウェアデータを書き込む(ステップS120、S121)。部分更新実行部104は、書き込み完了後に更新制御部202へ完了したことを通知する(ステップS122〜S124)。そして、更新制御部202は、必要なすべてのサブシステムの書き込みが完了した後に、システムとして更新完了とする(ステップS125)。
次いで、図7を参照して、部分更新を行うか否かを判定する処理の流れを詳細に説明する。図7に示されるように、まず更新制御部202は、更新用ファームウェアデータ300に含まれる更新対象のサブシステム100のファームウェアのバージョン情報311
を、部分更新実行部104へと通知する(ステップS201)。次いで、部分更新実行部104は、通知された更新用ファームウェアデータ300のバージョン情報311と、現在のファームウェアデータ321、322のバージョン情報332とを比較する(ステップS202)。比較した結果、バージョンがプログラム領域341、及び画像データ領域342の全ての領域で異なっていた場合(ステップS203:Yes)、部分更新実行部104は、全てのデータ領域、すなわちプログラム領域341、及び画像データ領域342の双方でファームウェアの更新が必要であると判断する(ステップS204)。
一方、バージョンがプログラム領域341、及び画像データ領域342の全ての領域で異なっていない場合(ステップS203:No)、部分更新実行部104は、全てのデータ領域のバージョンが更新用ファームウェアデータ300のバージョン情報311と一致しているか否かを判定する(ステップS205)。全てのデータ領域でバージョン情報が一致していると判定された場合(ステップS205:Yes)、部分更新実行部104は、サブシステム100のファームウェアの更新は不要であると判定する(ステップS208)。また、全てのデータ領域でバージョン情報が一致していないと判定された場合(ステップS205:No)、一致していないバージョンのデータ領域の部分更新が必要であると判定する(ステップS206)。そして、部分更新実行部104は、ステップS204、ステップS206、ステップS208の判定結果に基づいて、部分更新を行うか、全更新を行うか、更新は不要かのいずれかの通知を更新制御部202へと行う(ステップS207)。なお、バージョンが全てのデータ領域で一致していない場合は、ステップS205の判定を行うことなく、部分更新を実施するようにしてもよい。その場合、更新不要の通知はなされない。
次いで、図8を参照して部分更新を実施する際の処理の流れを説明する。図8に示されるように、更新制御部202は、まずサブシステム100の部分更新実行部104へと更新要求を通知する(ステップS301)。部分更新実行部104は、更新が部分更新であるか否かを判定する(ステップS302)。
更新が全更新であると判定された場合(ステップS302:No)、更新制御部202はサブシステム100の更新用ファームウェアデータの全てを部分更新実行部104へ転送し、部分更新実行部104は転送されたデータの書き込み要求を行う(ステップS303)。一方、更新が部分更新であると判定された場合(ステップS302:Yes)、部分更新実行部104は、必要な差分データを特定できる情報を、更新制御部202へと通知する(ステップS304)。更新制御部202は通知された差分データを特定できる情報に従い、更新用ファームウェアデータ300のサブシステム100に対応したフォームウェアデータ321から該当するデータ領域を抽出して部分更新実行部104へ転送し、部分更新実行部104が書き込みを要求する(ステップS305)。なお、必要な差分データを特定できる情報とは、例えばオフセット位置である。部分更新実行部104は、あるデータ領域が記憶されたアドレスである「0x0000〜0x10000」というようなオフセット位置を更新制御部202へ差分データを特定できる情報として通知する。更新制御部202はオフセット位置に従いデータを抽出するだけでよいため、サブシステム100のファームウェアデータ321の詳細なデータ構造を知る必要はない。
以上で示した本実施形態の画像処理装置にあっては、全てのファームウェアのデータを上書きして更新するのではなく、更新用ファームウェアデータと、現在のファームウェアデータのそれぞれのバージョンの比較から、差分があるデータのみを更新することとした。そのため、更新用ファームウェアデータを受け付けたサブシステム200から、更新対象のサブシステム100へと送るデータの容量が少なくなり、ファームウェアの更新を迅速に行うことができるようになる。
また、更新対象のサブシステム100のファームウェアのいずれのデータ領域を部分更新するかを判定するために、更新用ファームウェアデータ300を全て送るのではなく、バージョン情報のみをおくり、バージョン情報の比較で、差分となるデータを特定できるようにした。そのため、比較のために全てのファームウェアデータを送る必要がなくなり、ファームウェアの更新を迅速に行うことができるようになる。
また、部分更新実行部104から更新制御部202へと、部分更新対象のデータを指定する際に、オフセット位置を送信することとした。本実施形態では、更新用ファームウェアデータ300と、現在のファームウェアデータ321との間で、データ領域が記憶されているアドレスが固定されている。そのため、オフセット情報を送れば、更新用ファームウェアデータ300のいずれの位置のデータ領域が要求されているかが把握可能となる。
また、全てのファームウェアのバージョンが一致している場合は、部分更新実行部104が更新不要の通知を送ることとしたため、更新制御部202から更新用ファームウェアデータ300がサブシステム100へと送信されることがなくなる。そのため、データの送信にかかる時間を抑制することとなり、更新作業の時間の短縮が可能となる。
(第2の実施の形態)
続いて本発明の情報処理装置の第2の実施形態について説明する。第2の実施形態にあっては、更新用ファームウェアのデータと、各サブシステムのファームウェアのデータとでは、それぞれのデータ領域のオフセット位置が異なっている場合について説明する。図9は、サブシステム100のファームウェアデータ321と、更新用ファームウェアデータ300との間で、プログラム領域341のオフセット位置が異なっている場合を示している。更新用ファームウェアデータ300にあっては、プログラム領域341のオフセット位置は、「0x120000」のアドレスまでである。一方、現在のサブシステム100のファームウェアデータ321のプログラム領域341のオフセット情報は、「0x100000」のアドレスまでである。この場合、サブシステム100の部分更新実行部104から、差分情報として「0x100000」が通知されたとしても、第1の実施形態の方法では、ファームウェアが正常に更新されないこととなる。
以下、上記問題を回避するための処理の流れについて図10を用いて説明する。図10は、図6で示したシーケンス図に対して、ステップS401〜S408の処理があらたに追加されている。他の処理については同様の符号を付与しており、説明を省略する。
図10に示されるように、ファームウェアの更新要求がされると、部分更新実行部104は、ヘッダ部330のデータテーブル331の情報を更新制御部202に対して通知する(ステップS401〜S403)。更新制御部202は、送られてきたデータテーブル331から、更新用ファームウェアデータ300のデータテーブル331と比較することで、データ領域の位置を把握する。そして、更新制御部202は、更新用ファームウェアデータ300のデータテーブル331と対応するように、サブシステム100のファームウェアデータ321のデータテーブル331を書き換えるように部分更新実行部104へと通知する(ステップS404〜S406)。部分更新実行部104は、送られたデータテーブル331の情報を解析し、更新対象のデータ領域以外のデータ領域のオフセット位置を変更する必要があるかどうかを解析する(ステップS407)。そして、部分更新実行部104は、解析結果に基づいて、データテーブル331の変更や、データ領域の位置の変更などを書き込み部102へと指示する(ステップS408)。
以上の処理の詳細について図11を参照して説明する。図11の処理は、図10におけるステップS407、S408の詳細な処理の内容を示すものである。図11に示されるように、まず部分更新実行部104は、現在のファームウェアと、更新対象のファームウェアそれぞれのデータテーブル331を比較する(ステップS501)。比較の結果、データテーブルに含まれるそれぞれのデータ領域のオフセット位置が異なっていると判定された場合(ステップS502:Yes)、部分更新実行部104は、更新対象の記憶部103に記憶されたファームウェアデータ321のデータテーブル331から、更新対象となったデータ領域以外のデータ領域の書き込みの変更位置を求める(ステップS503)。そして、部分更新実行部104は、書き込み部102に対して、他のデータ領域を算出された変更位置に基づいて記憶部103に書き込ませる要求をする(ステップS504)。以上の処理は例えば、プログラム領域341のオフセット位置が、更新前の状態より画像データ領域342側へとずれた場合に、画像データ領域342の位置をずれた分、変更する処理である。
一方、比較の結果、データテーブルに含まれるそれぞれのデータ領域のオフセット位置が異なっていないと判定された場合(ステップS502:No)、及びデータ領域の変更が完了した場合は、部分更新実行部104は、更新対象のサブシステム100の記憶部103に記憶されたデータテーブル331から、差分データのオフセット位置を取得する(ステップS505)。そして、部分更新実行部104は、更新制御部202に対して、差分データのオフセット位置情報を通知する(ステップS506)。
以上のような処理を行うことで、図9に示されるように、データ更新の際には画像データ領域342のオフセット位置が「0x10000」から「0x12000」へと変更された後に、プログラム領域341のデータが記憶部103に書き込まれるようになる。したがって、データ領域のデータ長が可変の場合であっても、更新作業を行うことができるようになる。
(変形例)
以上に示した第1の実施形態にあっては、図5に示されるように、各データ領域間のオフセット位置は固定されているため、それぞれのデータ領域に全てに有意なデータが書かれているわけではなく、例えば「0xFF」のような無効なデータの箇所が存在する。この際に、更新制御部202から、更新用ファームウェアデータ300の該当データを部分更新実行部104へと転送する際に、無効データも含めて転送すると転送時間がその分増加してしまう。したがって、以下の図12で示す処理を、データの送信時に行うことで、無効データの不要な転送を回避することができるようになる。なお、更新制御部202は、全てのデータを一括して送るのではなく、更新対象のデータ領域のデータを1アドレスずつ読み出して送信する。
図12に示されるように、まず更新制御部202は、読み出したアドレスにおけるデータが無効データであるか否かを判定する(ステップS601)。無効データであると判定された場合(ステップS602:Yes)、そのデータは転送せずにステップS604へと移行する。無効データでないと判定された場合(ステップS602:No)、更新制御部202は、データを更新対象のサブシステム100の部分更新実行部104へと転送する(ステップS603)。そして、全てのデータの転送が完了したか否かの判定が行われる(ステップS604)。全データの転送が完了していないと判定された場合は(ステップS604:No)、ステップS601へと戻り次のアドレスが読み出される。
一方、全データの転送が完了したと判定された場合は(ステップS604:Yes)、更新制御部202は、サブシステム100へと全てのデータが転送されたことを通知して、処理を終了する(ステップS605)。
なお、以上の各実施形態の情報処理装置は、例えば画像投射装置として実現することができる。図13−1は、画像投射装置の正面からの斜視図である。図13−2は、画像投射装置の背面からの斜視図である。図13−3は、画像投射装置の背面図である。図13−4は、画像投射装置の上面図である。図13−5は、画像投射装置の前面図である。図13−6は、画像投射装置の下面図である。図13−7は、画像投射装置の側面図である。図13−8は、画像投射装置の側面図である。
以上の実施形態の情報処理装置で実行される各プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、以上の実施形態の情報処理装置で実行される各プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、以上の実施形態の情報処理装置で実行される各プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
以上の実施形態の情報処理装置で実行される各プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
1 情報処理装置
100 サブシステム
101 サブシステム通信部
102 書き込み部
103 記憶部
104 部分更新実行部
111 CPU
112 RAM
113 ROM
114 シリアルI/F
200 サブシステム
201 サブシステム通信部
202 更新制御部
203 更新受付部
204 書き込み部
205 記憶部
211 CPU
212 RAM
213 表示装置
214 ROM
215 シリアルI/F
216 入力装置
217 USB I/F
300 更新用ファームウェアデータ
310 ヘッダ部
311 バージョン情報
312 データサイズ
313 データオフセット
320 データ部
321 ファームウェアデータ
322 ファームウェアデータ
330 ヘッダ部
331 データテーブル
332 バージョン情報
340 データ部
341 プログラム領域
342 画像データ領域
特開2012−190199号公報

Claims (6)

  1. それぞれプロセッサを有する複数のサブシステムを含んだ情報処理装置であって、
    前記サブシステムのファームウェアは、機能ごとに分類され、それぞれのバージョンを示す第1バージョン情報を有するデータ領域を有しており、前記データ領域の前記第1バージョン情報から、前記ファームウェア全体のバージョンを示す第2バージョン情報が一意に決定されており、
    第1のサブシステムに設けられ、前記ファームウェアの更新要求、及び更新用のファームウェアの入力を受け付ける更新受付部と、
    それぞれの前記サブシステム毎に設けられた前記ファームウェアを記憶する記憶部と、
    前記第1のサブシステム以外の第2のサブシステムに設けられ、前記記憶部に記憶された前記ファームウェアの前記第2バージョン情報と、前記更新用ファームウェアデータに含まれる第3バージョン情報とを比較し、前記機能のバージョン情報が一致するか否かにより、前記データ領域のいずれに更新が必要かを判定する判定部と、
    更新が必要とされた前記データ領域に該当する前記更新用ファームウェアデータのデータ部分の転送を前記第1のサブシステムに要求し、前記データ部分を取得して前記記憶部に記憶させる部分更新実行部と、
    を備えることを特徴とする情報処理装置。
  2. 前記部分更新実行部は、
    前記記憶部に記憶された前記第2バージョン情報と、前記第3バージョン情報とを比較し、バージョン情報が一致する部分は、前記第1のサブシステムに対して、前記更新用のファームウェアの転送が不要である旨を通知する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記サブシステムのファームウェアと、前記更新用のファームウェアは、それぞれデータ内における前記データ領域のオフセット位置が共通であり、
    前記部分更新実行部は、前記第1のサブシステムに対して、更新が必要とされた前記データ領域の前記オフセット位置を通知する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記部分更新実行部が、前記第1のサブシステムから取得する更新が必要とされた前記データ領域に該当する前記更新用のファームウェアのデータ部分には、無効データは含まれない
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記サブシステムのファームウェア、及び前記更新用ファームウェアデータは、前記データ領域のオフセット位置を示すデータ情報を有しており、
    前記部分更新実行部は、前記更新用ファームウェアデータの前記データ情報を取得し、自らのサブシステムの前記ファームウェアの前記データ情報と比較することで、更新対象以外の前記データ領域のオフセット位置を変更する必要があるか否かを判定し、変更する必要があると判定された場合は、当該データ領域の前記記憶部における書き込み位置を変更する
    ことを特徴とする請求項1に記載の情報処理装置。
  6. それぞれプロセッサと、ファームウェアを記憶する記憶部と、を有する複数のサブシステムを含んだ情報処理装置における情報処理方法であって、
    前記ファームウェアは、機能ごとに分類され、それぞれのバージョンを示す第1バージョン情報を有するデータ領域を有しており、前記データ領域の前記第1バージョン情報から、前記ファームウェア全体のバージョンを示す第2バージョン情報が一意に決定されており、
    第1のサブシステムにおいて、前記ファームウェアの更新要求、及び更新用のファームウェアの入力を受け付ける更新受付ステップと、
    前記第1のサブシステム以外の第2のサブシステムにおいて、前記記憶部に記憶された前記ファームウェアの前記第2バージョン情報と、前記更新用ファームウェアデータに含まれる第3バージョン情報とを比較し、機能ごとのバージョン情報が一致するか否かにより、前記データ領域のいずれに更新が必要か否かを判定する判定ステップと、
    更新が必要とされた前記データ領域に該当する前記更新用のファームウェアのデータ部分の転送を前記第1のサブシステムに要求し、前記データ部分を取得して前記記憶部に記憶させる部分更新実行ステップと、
    を含むことを特徴とする情報処理方法。
JP2012286292A 2012-12-27 2012-12-27 情報処理装置、及び情報処理方法 Active JP6020159B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012286292A JP6020159B2 (ja) 2012-12-27 2012-12-27 情報処理装置、及び情報処理方法
US14/132,675 US9015695B2 (en) 2012-12-27 2013-12-18 Information processing apparatus and information processing method
EP13199283.6A EP2750036A3 (en) 2012-12-27 2013-12-23 Information processing apparatus and method to update firmware
CN201310738976.4A CN103902331B (zh) 2012-12-27 2013-12-26 信息处理装置和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012286292A JP6020159B2 (ja) 2012-12-27 2012-12-27 情報処理装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2014130388A true JP2014130388A (ja) 2014-07-10
JP6020159B2 JP6020159B2 (ja) 2016-11-02

Family

ID=49958192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012286292A Active JP6020159B2 (ja) 2012-12-27 2012-12-27 情報処理装置、及び情報処理方法

Country Status (4)

Country Link
US (1) US9015695B2 (ja)
EP (1) EP2750036A3 (ja)
JP (1) JP6020159B2 (ja)
CN (1) CN103902331B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055465A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
CN110119104A (zh) * 2018-02-06 2019-08-13 丰田自动车株式会社 车载通信系统
US10983780B2 (en) 2018-11-14 2021-04-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium
WO2024127497A1 (ja) * 2022-12-13 2024-06-20 日立Astemo株式会社 更新システムの情報処理装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304766B2 (en) * 2014-02-21 2016-04-05 Red Hat Israel, Ltd. Determining character sequence digest
EP3164796B1 (en) * 2014-07-02 2022-02-09 Hewlett-Packard Development Company, L.P. Firmware update
JP6442893B2 (ja) 2014-07-15 2018-12-26 株式会社リコー プロジェクタ装置、インタラクティブシステム、およびインタラクティブ制御方法
CN105376732A (zh) * 2014-08-27 2016-03-02 中兴通讯股份有限公司 一种实现固件升级的方法和移动终端
CN106796519B (zh) 2014-10-10 2021-04-13 维萨国际服务协会 用于在移动应用更新期间部分个性化的方法和系统
JP2016110436A (ja) 2014-12-08 2016-06-20 株式会社リコー 画像投影装置、及び対話型入出力システム。
JP2017156937A (ja) * 2016-03-01 2017-09-07 ヤンマー株式会社 端末装置およびソフトウェア書き換えプログラム
WO2017175337A1 (ja) * 2016-04-06 2017-10-12 三菱電機株式会社 情報処理方法及び情報処理装置
US10664262B2 (en) * 2017-08-29 2020-05-26 Crowdstrike, Inc. Binary suppression and modification for software upgrades
US10936301B2 (en) * 2019-04-12 2021-03-02 Dell Products, L.P. System and method for modular patch based firmware update
US11216269B2 (en) * 2020-01-09 2022-01-04 Dell Products L.P. Systems and methods for update of storage resource firmware
WO2021179254A1 (zh) * 2020-03-12 2021-09-16 华为技术有限公司 数据更新方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194298A (ja) * 2002-11-18 2004-07-08 Ricoh Co Ltd 画像形成装置、プログラム更新方法
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置
JP2008168649A (ja) * 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3950589B2 (ja) * 1998-08-28 2007-08-01 キヤノン株式会社 情報処理装置、プログラム更新方法および記憶媒体
JP3669619B2 (ja) * 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
KR100584448B1 (ko) * 2004-01-19 2006-05-26 삼성전자주식회사 바이너리 위치정보를 이용한 임베디드 소프트웨어 원격다운로드방법 및 시스템
JP2007264697A (ja) * 2006-03-27 2007-10-11 Seiko Epson Corp 処理システム、プロジェクタ、プログラムおよび情報記憶媒体
WO2009080034A2 (en) * 2007-12-20 2009-07-02 3Djam Aps System and method for conversion and distribution of graphical objects
JP5111129B2 (ja) * 2008-01-22 2012-12-26 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US8661428B2 (en) * 2008-04-25 2014-02-25 Vmware, Inc. Updating a file using differences and file format therefor
JP2012190199A (ja) 2011-03-10 2012-10-04 Canon Inc 画像形成装置
JP5821640B2 (ja) 2012-01-06 2015-11-24 株式会社リコー 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194298A (ja) * 2002-11-18 2004-07-08 Ricoh Co Ltd 画像形成装置、プログラム更新方法
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置
JP2008168649A (ja) * 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055465A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
CN110119104A (zh) * 2018-02-06 2019-08-13 丰田自动车株式会社 车载通信系统
US10983780B2 (en) 2018-11-14 2021-04-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium
WO2024127497A1 (ja) * 2022-12-13 2024-06-20 日立Astemo株式会社 更新システムの情報処理装置

Also Published As

Publication number Publication date
US20140189674A1 (en) 2014-07-03
CN103902331A (zh) 2014-07-02
JP6020159B2 (ja) 2016-11-02
US9015695B2 (en) 2015-04-21
CN103902331B (zh) 2017-04-12
EP2750036A2 (en) 2014-07-02
EP2750036A3 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
JP6020159B2 (ja) 情報処理装置、及び情報処理方法
US9940122B2 (en) Dynamic data difference generation and distribution
US9317275B2 (en) Computer system and program restoring method thereof
WO2016050112A1 (zh) 一种数据存储方法、存储装置及存储系统
CN111078147A (zh) 一种缓存数据的处理方法、装置、设备及存储介质
CN104040516A (zh) 用于数据去重的方法、设备和系统
US20190087130A1 (en) Key-value storage device supporting snapshot function and operating method thereof
JP2013084153A (ja) 情報処理装置、情報処理方法およびプログラム
WO2018090249A1 (en) Log-structured storage method and server
CN108804342B (zh) 对永久性存储装置写入和读取数据的方法和系统
WO2014038016A1 (ja) 制御プログラム、制御方法及び制御装置
CN106406745A (zh) 根据目录信息维护Cache数据一致性的方法及装置
JP2020035184A (ja) アプリケーションプログラムおよびデータ転送システム
CN112783548B (zh) 网络系统的访问方法及装置
CN109088913B (zh) 请求数据的方法和负载均衡服务器
US20160253094A1 (en) Information processing device, data cache device, information processing method, and data caching method
US20180150336A1 (en) Management system and control method
US20190065419A1 (en) Message routing in a main memory arrangement
US20240256672A1 (en) System and method for managing compatibility of modules of data processing systems
JP6369069B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
KR102224327B1 (ko) Rdma 기반의 노드 간 데이터 전송 방법 및 노드 장치
US20230376210A1 (en) Persistent memory based caching for intelligent network interface cards
US11029850B2 (en) System of controlling data rebalance and its method
JP5927134B2 (ja) サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム
JP2014219939A (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160830

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: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160919

R151 Written notification of patent or utility model registration

Ref document number: 6020159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151