JP2018018369A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2018018369A
JP2018018369A JP2016149504A JP2016149504A JP2018018369A JP 2018018369 A JP2018018369 A JP 2018018369A JP 2016149504 A JP2016149504 A JP 2016149504A JP 2016149504 A JP2016149504 A JP 2016149504A JP 2018018369 A JP2018018369 A JP 2018018369A
Authority
JP
Japan
Prior art keywords
data structure
information
data
setting information
setting
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
JP2016149504A
Other languages
English (en)
Other versions
JP6740785B2 (ja
Inventor
孝能 小澤
Takayoshi Ozawa
孝能 小澤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016149504A priority Critical patent/JP6740785B2/ja
Publication of JP2018018369A publication Critical patent/JP2018018369A/ja
Application granted granted Critical
Publication of JP6740785B2 publication Critical patent/JP6740785B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】設定情報がバイナリデータ形式で記憶された情報処理装置上で動作するソフトウェアのバージョンが変更された場合に、バージョン変更前において設定済みの設定情報の内容をバージョン変更後においても維持する。
【解決手段】不揮発性メモリ12には、設定情報としてのユーザデータ14と、バージョン変更前のユーザデータ14の旧データ構造の内容を示すNV側スキーマ情報16が記憶される。ROM18には、バージョン変更後のユーザデータ14の新データ構造の内容を示すROM側スキーマ情報20が記憶される。NV側スキーマ情報16及びROM側スキーマ情報20には、構造体名、各メンバのデータ型、及びメンバ名を示す情報が含まれる。コンバート処理部28は、旧データ構造の各メンバに設定された設定値を新データ構造の対応するメンバの設定値として設定する。
【選択図】図1

Description

本発明は、情報処理装置及びプログラムに関する。
従来、自装置に関する設定情報を記憶する情報処理装置が知られている。例えば、複合機などの画像処理装置には、プリント機能を選択したときのプリント設定(初期設定)などを示す設定情報が、画像処理装置内に設けられる記憶部に記憶される。これらの設定情報は、例えば情報処理装置の利用者あるいは管理者などにより設定される。
情報処理装置上で動作するソフトウェア(例えばファームウェア)のバージョンが変更された場合、変更前と変更後との間において、設定情報の互換性が問題となる場合がある。そこで、従来、情報処理装置上で動作するソフトウェアのバージョンが変更された場合であっても、バージョン変更前の設定情報をバージョン変更後においても利用できるようにする技術が提案されている。
例えば、特許文献1には、設定情報に含まれる各データのバージョン変更前と変更後における対応関係を示す変換ルール情報に基づいて設定情報を変換する技術が開示されている。また、特許文献2には、予め用意された設定移行プログラムによって、情報処理装置上で動作するソフトウェアのバージョン変更に伴って、設定情報の移行(変換)処理を実行するシステムが開示されている。
特開2010−287055号公報 特開2009−164902号公報
情報処理装置において、記憶部(例えばメモリなど)の容量削減、あるいは設定情報の高速な読み書きを実現するために、データ容量の小さいバイナリ形式で設定情報を記憶部に記憶することが考えられる。一般的に、記憶部からのバイナリデータの読み出しは、読み出し部(例えば制御部など)が、当該バイナリデータのデータ構造を示す情報に基づいて、記憶部のメモリアドレスあるいはデータサイズなどを指定することで実行される。
情報処理装置上で動作するソフトウェアのバージョンが変更され、設定情報のデータ構造が変更されると、設定情報に含まれる各データが格納されるべきメモリアドレスあるいはサイズなどが変更される。バイナリ形式で設定情報が記憶されている場合、ソフトウェアのバージョン変更により設定情報のデータ構造が変更されると、読み出し部が参照するデータ構造と、記憶部に実際に記憶されている設定情報のデータ構造とが互いに異なることになる。その結果、設定情報を読み出せなくなってしまう。これにより、情報処理装置の利用者あるいは管理者などは、ソフトウェアのバージョン変更後に、再度、設定情報の設定を行わなければならないという問題があった。なお、ソフトウェアのバージョン変更前後における設定情報に含まれる各データの対応関係を示す情報や、設定情報の変換処理を行うための専用プログラムは、それ自体の容量が膨大となるのが一般的であり、バイナリ形式で設定情報を記憶する情報処理装置においてそれらを適用するのは好ましくない。
本発明の目的は、設定情報がバイナリデータ形式で記憶された情報処理装置上で動作するソフトウェアのバージョンが変更された場合に、バージョン変更前において設定済みの設定情報の内容をバージョン変更後においても維持することにある。
請求項1に係る発明は、自装置に関する設定情報をバイナリ形式で記憶する設定情報記憶部と、自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1データ構造を示す第1データ構造情報を記憶する第1データ構造情報記憶部と、前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2データ構造を示す第2データ構造情報と、前記第1データ構造情報との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記データ構造から前記第2データ構造に転換する転換処理を実行する設定情報転換部と、を備えることを特徴とする情報処理装置である。
請求項2に係る発明は、前記第1データ構造は、1又は複数の第1変数を含み、前記第2データ構造は、1又は複数の第2変数を含み、前記第1データ構造情報は、前記第1変数を識別する第1変数識別情報を含み、前記第2データ構造情報は、前記第2変数を識別する第2変数識別情報を含み、前記設定情報転換部は、前記第1及び第2変数識別情報に基づいて、前記第1変数に設定された設定値を、当該第1変数に対応する前記第2変数の設定値として割り当てる、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記設定情報転換部は、前記第1データ構造と第2データ構造とが互いに異なる場合に、前記転換処理を実行する、ことを特徴とする請求項1又は2に記載の情報処理装置である。
請求項4に係る発明は、前記設定情報及び第1データ構造情報をテキスト形式で出力するテキストデータ出力部、をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置である。
請求項5に係る発明は、コンピュータを、自装置に関する設定情報をバイナリ形式で記憶する設定情報記憶部と、自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1データ構造を示す第1データ構造情報を記憶する第1データ構造情報記憶部と、前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2データ構造を示す第2データ構造情報と、前記第1データ構造情報との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記データ構造から前記第2データ構造に転換する転換処理を実行する設定情報転換部と、として機能させることを特徴とするプログラムである。
請求項1、2、又は5に記載の発明によれば、設定情報がバイナリデータ形式で記憶された情報処理装置上で動作するソフトウェアのバージョンが変更された場合に、バージョン変更前において設定済みの設定情報の内容をバージョン変更後においても維持することができる。
請求項3に記載の発明によれば、ソフトウェアのバージョン変更により設定情報のデータ構造が変更された場合のみ転換処理を行うことができる。
請求項4に記載の発明によれば、設定情報及び第1データ構造情報を管理者あるいは利用者が編集することができる。
本実施形態に係る画像処理装置の構成概略図である。 NV側スキーマ情報の内容の例を示す概念図である。 ROM側スキーマ情報の内容の例を示す概念図である。 本実施形態の処理の流れを示すフローチャートである。 設定情報のコンバート処理の流れを示すフローチャートである。 RAM上に展開された旧キャッシュデータ及び新キャッシュデータを示す概念図である。 新キャッシュデータに設定値が割り当てられた状態を示す概念図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1には、本実施形態に係る情報処理装置としての画像処理装置10の構成概略図が示されている。画像処理装置10は、いわゆる複合機であり、プリント機能、コピー機能、スキャン機能、あるいはファックス機能などを有する装置である。
不揮発性メモリ12は、例えばハードディスクあるいはフラッシュメモリ(SDメモリカードあるいはUSB(Universal Serial Bus)メモリ)などから構成される。不揮発性メモリ12は、画像処理装置10に対して着脱可能となっていてもよい。不揮発性メモリ12は、電源の供給を遮断しても記憶済みの情報を保持するものである。不揮発性メモリ12には、設定情報としてのユーザデータ14、及び第1データ構造情報としてのNV側スキーマ情報16が記憶される。つまり、不揮発性メモリ12は、設定情報記憶部及び第1データ構造情報記憶部として機能する。
ユーザデータ14は、画像処理装置10の動作に関する情報である。例えば、ユーザデータ14には、画像処理装置10において各機能が選択された場合の当該機能の設定(初期設定)などの情報が含まれる。ユーザデータ14は、画像処理装置10の利用者(ユーザ)あるいは管理者によって適宜設定されてよい。ユーザが画像処理装置10を利用する場合にユーザを識別するための認証処理が行われる場合は、ユーザデータ14はユーザ毎に記憶されてもよい。
ユーザデータ14は、バイナリ形式で記憶される。これにより、不揮発性メモリ12の低容量化が実現され、あるいは、不揮発性メモリ12からのユーザデータ14の高速な読み書き処理が実現される。
ユーザデータ14のデータ構造は、後述のROM(Read Only Memory)18に記憶される、画像処理装置10上で動作するソフトウェアとしてのファームウェアによって定義される。本実施形態においては、ユーザデータ14のデータ構造は、1又は複数の変数としてのメンバを含む構造体で定義され、C言語によって以下のように定義されるものとする。
struct AAA{
int aaa;
double bbb;
long ccc;
}
ここで、「AAA」は構造体名である。「int aaa」、「double bbb」、及び「long ccc」がそれぞれメンバを示す。「int aaa」を例に取ると、「int」がメンバのデータ型を示し、「aaa」がメンバのメンバ名を示す。1つの構造体においては、同じデータ型とメンバ名の組を使用することはできない。したがって、構造体名、データ型、及びメンバ名によって、ユーザデータ14内のメンバを一意に特定することができる。なお、上記例では、ユーザデータ14は1つの構造体から定義されているが、ユーザデータ14のデータ構造は複数の構造体から定義されてもよい。
ユーザデータ14としては、上記のような構造体の各メンバに設定される設定値を含む。例えば、メンバ「int aaa」に対する設定値、メンバ「double bbb」に対する設定値、及び「long ccc」に対する設定値を含む。
NV側スキーマ情報16は、不揮発性メモリ12に記憶されているユーザデータ14のデータ構造を示すものである。上述の通り、ユーザデータ14は、構造体により定義されるため、本実施形態におけるNV側スキーマ情報16は、ユーザデータ14の構造体に関する情報を含む。なお、NV側スキーマ情報16もバイナリ形式で不揮発性メモリ12に記憶される。
ROM18に記憶されるファームウェアのバージョン変更(バージョンアップ及びバージョンダウンの双方を含む)が行われることによって、新バージョンのファームウェア(以下「新ファームウェア」と記載する)におけるユーザデータ14のデータ構造(以下「新データ構造」と記載する)が変更された場合であっても、不揮発性メモリ12は、旧バージョンのファームウェア(以下「旧ファームウェア」と記載する)におけるユーザデータ14のデータ構造(以下「旧データ構造」と記載する)をNV側スキーマ情報16として保持し続ける。つまり、ファームウェアのバージョンが変更された場合、NV側スキーマ情報16は第1データ構造としての旧データ構造を示すものとなる。
図2に、NV側スキーマ情報16の内容が示されている。NV側スキーマ情報16は、ユーザデータ14を定義する構造体の構造体名、当該構造体のデータ容量である構造体サイズ、及び第1変数としてのメンバに関する情報を含んでいる。メンバに関する情報は、メンバのデータ型、メンバ名、メンバのデータ容量であるメンバサイズ、当該構造体の先頭アドレスからメンバに対応するデータ領域の先頭アドレスまでのバイトオフセットであるオフセット、を示す各情報を含んでいる。上述の通り、構造体名、メンバのデータ型、及びメンバのメンバ名により、ユーザデータ14に含まれるメンバを一意に特定できる。したがって、構造体名、メンバのデータ型、及びメンバのメンバ名を示す各情報は、第1変数識別情報として機能する。また、図2には示されていないが、NV側スキーマ情報16は、ユーザデータ14が格納されている不揮発性メモリ12内のデータ領域の先頭アドレスを示す情報も含んでいる。
ROM18には、画像処理装置10を動作させるためのプログラムが記憶される。また、ROM18には、画像処理装置10上で動作する種々のソフトウェアが記憶される。当該ソフトウェアには、画像処理装置10の各機能に対応するファームウェア、あるいは画像処理装置10の機能全体に対応するファームウェアなどが含まれてよい。本実施形態では、ROM18には画像処理装置10の機能全体に対応するファームウェアがインストールされ、当該ファームウェアのバージョンによりユーザデータ14のデータ構造が変更され得るとする。当該ファームウェアは画像処理装置10のユーザあるいは管理者などによってインストールされる。
ROM18には、ROM18にインストールされたファームウェアにおけるユーザデータ14のデータ構造を示す第2データ構造情報としてのROM側スキーマ情報20が記憶される。NV側スキーマ情報16同様、ROM側スキーマ情報20は、ユーザデータ14の構造体に関する情報を含む。
ここで、ファームウェアのバージョン変更が行われ、ROM18に新ファームウェアがインストールされた場合、上述のように、NV側スキーマ情報16としては、旧データ構造が保持される一方、ROM側スキーマ情報20には新データ構造が保持される。つまり、ファームウェアのバージョンが変更された場合、ROM側スキーマ情報20は、第2データ構造としての新データ構造を示すものとなる。
新データ構造も、旧データ構造同様に、1又は複数のメンバを含む構造体で構成される。また、本実施形態においては、旧データ構造と新データ構造とが互いに異なるものとし、新データ構造は以下のような構造体で定義されるとする。
struct AAA{
int aaa;
double bbb;
int zzz;
long ccc;
}
本実施形態においては、新データ構造は、第2変数としてのメンバを4つ含む。詳しくは、旧データ構造に比して「int zzz」が追加されている。このような場合、従来においては、メンバ「long ccc」のオフセットが変更されるため、当該メンバの値を適切に読み込むことができなくなる。その結果、後述の制御部26は、ユーザデータ14が構造体「AAA」のデータであることを認識できず、旧ファームウェア時に設定されたユーザデータ14全体を読み込むことができなくなってしまう。
図3に、ROM側スキーマ情報20の内容が示されている。NV側スキーマ情報16同様、ROM側スキーマ情報20は、ユーザデータ14を定義する構造体の構造体名、構造体サイズ、及びメンバに関する情報を含んでいる。メンバに関する情報は、メンバのデータ型、メンバ名、メンバサイズ、及びオフセットを示す各情報を含んでいる。つまり、ROM側スキーマ情報20は、第2変数識別情報としての、構造体名、メンバのデータ型、及びメンバのメンバ名を示す各情報を含んでいる。また、図3には示されていないが、ROM側スキーマ情報20は、ユーザデータ14が格納されている不揮発性メモリ12内のデータ領域の先頭アドレスを示す情報を含んでいる。
RAM(Random Access Memory)22には、各種データが一時的に書き込まれる。画像処理装置10において処理が行われる際に、必要なデータがRAM22上に展開され、展開されたデータに基づいて制御部26が処理を行う。なお、RAM22は揮発性メモリであり、画像処理装置10がパワーオフされるなどしてRAM22への電源の供給が遮断されると、RAM22に記憶された内容は消去される。
入力部24は、タッチパネルあるいはボタンなどを含んで構成される。入力部24は、画像処理装置10のユーザあるいは管理者などの指示を画像処理装置10に入力するために用いられる。例えば、ユーザがユーザデータ14を入力する際に入力部24が用いられる。
制御部26は、例えばCPU(Central Processing Unit)、あるいはマイクロコンピュータなどを含んで構成され、ROM18に記憶されたプログラムに従って画像処理装置10の各部を動作させるものである。制御部26は、当該プログラムにより、設定情報転換部としてのコンバート処理部28、及びテキストデータ出力部としてのXMLデータ生成部30としても機能する。
コンバート処理部28は、NV側スキーマ情報16が示す旧データ構造、及びROM側スキーマ情報20が示す新データ構造に基づいて、ユーザデータ14の内容の少なくとも一部を維持しつつ、ユーザデータ14のデータ構造を旧データ構造から新データ構造に転換する転換処理としてのコンバート処理を行う。
具体的には、NV側スキーマ情報16が有する第1変数識別情報(旧データ構造における構造体名、メンバのデータ型、及びメンバ名)、及び、ROM側スキーマ情報20が有する第2変数識別情報(新データ構造における構造体名、メンバのデータ型、及びメンバ名)に基づいて、旧データ構造の各メンバに設定された設定値を、新データ構造の対応する各メンバの設定値として割り当てる(設定する)。当該コンバート処理により、たとえファームウェアのバージョン変更により旧データ構造と新データ構造とが互いに異なるものとなったとしても、ユーザデータ14の内容を引き継ぐことができる。
本実施形態では、コンバート処理部28は、ファームウェアのバージョンが変更された後に、画像処理装置10が起動されたタイミングでコンバート処理を行う。また、ファームウェアのバージョンが変更されても、旧データ構造と新データ構造が同じである場合には、コンバート処理部28はコンバート処理を行わないようにしてもよい。つまり、ファームウェアのバージョン変更によって旧データ構造と新データ構造とが異なるものとなった場合にのみコンバート処理を行うようにしてもよい。コンバート処理部28が行う処理の詳細については後述する。
XMLデータ生成部30は、バイナリ形式で記憶されたユーザデータ14及びNV側スキーマ情報16をテキスト形式のデータに変換して出力する。本実施形態では、当該テキスト形式としてXML形式が採用される。XML形式のデータは、不揮発性メモリ12、特にSDカードあるいはUSBメモリのように外部へ持ち出す(エクスポートする)ことができる不揮発性メモリ12に記憶させる。テキスト形式のデータは他の装置(パーソナルコンピュータなど)においてユーザが判読できる形式であるため、テキスト形式でユーザデータ14及びNV側スキーマ情報16をエクスポートすることで、ユーザは他の装置においてこれらの情報を編集することができる。エクスポートされたユーザデータ14及びNV側スキーマ情報16は、再度画像処理装置10に戻され(インポートされ)、その後コンバート処理部28によるコンバート処理に用いられてよい。
画像処理装置10の構成概略は以上の通りである。以下、図4及び図5に示すフローチャートに従って、画像処理装置10の処理の流れについて説明する。図5に示すフローチャートは、図4に示すフローチャートに含まれる、設定情報のコンバート処理(ステップS16)の詳細を示すものである。なお、ここでは、図4に示すフローチャートの開始時において、不揮発性メモリ12には、図2に示す内容のNV側スキーマ情報16が記憶され、ユーザデータ14として、メンバ「int aaa」に対する設定値「5」、メンバ「double bbb」に対する設定値「10」、及び、メンバ「long ccc」に対する設定値「15」が記憶されているものとする。
ステップS10において、画像処理装置10のユーザあるいは管理者によって、画像処理装置10に新ファームウェアがインストールされ、ROM18に新ファームウェアが記憶される。それと共に、ROM18には、ユーザデータ14の新データ構造を示すROM側スキーマ情報20が記憶される。ここでは、図3に示すROM側スキーマ情報20が記憶されたとする。
ステップS12において、コンバート処理部28は、不揮発性メモリ12にNV側スキーマ情報16が記憶されているか否かを判定する。ここでは、不揮発性メモリ12にNV側スキーマ情報16が記憶されているため(ここで、NV側スキーマ情報16が示すのは旧データ構造となる)ステップS14に進む。仮に、画像処理装置10の初回起動時など、不揮発性メモリ12にNV側スキーマ情報16が記憶されていない場合はステップS18に進む。
ステップS14において、コンバート処理部28は、NV側スキーマ情報16とROM側スキーマ情報20とを比較して、新データ構造と旧データ構造との間に差異があるか否かを判定する。差異がある場合はステップS16のユーザデータ14のコンバート処理に進み、差異がない場合はユーザデータ14のコンバート処理を行わずにステップS18に進む。
ステップS16において、コンバート処理部28は、ユーザデータ14の内容を維持しつつ、ユーザデータ14のデータ構造を旧データ構造から新データ構造にコンバートするコンバート処理を行う。当該コンバート処理の詳細については図5のフローチャートを参照して後述する。
ステップS18において、コンバート処理部28は、ROM側スキーマ情報20の内容をNV側スキーマ情報16として不揮発性メモリ12に記憶させる。これにより、NV側スキーマ情報16は、新データ構造を示すものとなる。つまり、NV側スキーマ情報16は、新データ構造にコンバートされたユーザデータ14のデータ構造を示すものとなる。
以下、図5に示すフローチャートに従って、ユーザデータ14のコンバート処理の詳細について説明する。
ステップS30において、コンバート処理部28は、旧データ構造を示すNV側スキーマ情報16に基づいて、RAM22上において旧データ構造を展開する。旧データ構造の展開処理は、以下の通りに実行される。まず、コンバート処理部28は、RAM22の空きデータ領域において、NV側スキーマ情報16が示す構造体「AAA」の構造体サイズ分のデータ領域を確保する。ここでは、16バイト分のデータ領域を確保する(図2参照)。次いで、NV側スキーマ情報16が示す各メンバのサイズ及びオフセットに基づいて、各メンバに対応するデータ領域を定義する。具体的には、確保領域の先頭から4バイト分の領域をメンバ「int aaa」に対応するデータ領域として定義する。同様に、確保領域のオフセット4バイトから8バイト分の領域をメンバ「double bbb」に対応するデータ領域として定義し、確保領域のオフセット12バイトから4バイト分の領域をメンバ「long ccc」に対応するデータ領域として定義する。
ステップS32において、コンバート処理部28は、RAM22上に展開された旧データ構造にユーザデータ14を設定する処理を行う。具体的には、まず、コンバート処理部28は、NV側スキーマ情報16を用いて、ユーザデータ14を不揮発性メモリ12から読み出す。例えば、NV側スキーマ情報16が示す構造体「AAA」の先頭アドレスから4バイト分のデータであるメンバ「int aaa」の設定値を不揮発性メモリ12から読み出す。そして、RAM22上の確保領域の先頭から4バイト分の領域に当該読み出したデータを書き込む。これにより、旧データ構造のメンバ「int aaa」に対応するデータ領域に設定値が設定されたことになる。以下同様にして、コンバート処理部28は、旧データ構造の各メンバの設定値を設定する。
ステップS30及びS32の処理により、図6に示されるように、旧データ構造に対応するデータ領域にユーザデータ14が設定された旧キャッシュデータ40がRAM22上に形成される。
ステップS34において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に基づいて、RAM22上において新データ構造を展開する。新データ構造の展開処理の詳細は旧データ構造の展開処理と同様であるため詳細な説明は省略する。
ステップS34の処理により、図6に示されるように、新データ構造に対応するデータ領域である新キャッシュデータ42がRAM22上に形成される。ステップS34の時点では、新キャッシュデータ42の各メンバには設定値「0」が設定されている。
ステップS36において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に含まれる1つのメンバ(注目メンバ)の構造体名、データ型、及びメンバ名の組が、旧データ構造を示すNV側スキーマ情報16に含まれるか否かを判定する。ここでは、構造体名「AAA」、データ型「int」、及びメンバ名「aaa」の組がNV側スキーマ情報16に含まれるか否かを判定する。図2を参照して、当該組はNV側スキーマ情報16に含まれるため、ステップS38に進む。
ステップS38において、コンバート処理部28は、RAM22上において、ステップS36で判定された新キャッシュデータ42のメンバに、旧キャッシュデータ40の対応するメンバの設定値をコピーする。ここでは、新キャッシュデータ42の構造体「AAA」のメンバ「int aaa」に対応するデータ領域に、旧キャッシュデータ40の構造体「AAA」のメンバ「int aaa」に対応するデータ領域に設定されたデータをコピーする。これにより、新キャッシュデータ42の「int aaa」に対応するデータ領域に設定値「5」が設定される。
ステップS40において、コンバート処理部28は、新データ構造に含まれる全てのメンバについて、ステップS36以下の処理を終えたか否かを判定する。ここでは、未処理のメンバが残っているとしてステップS36に戻る。
再度のステップS36において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に含まれる他のメンバの構造体名、データ型、及びメンバ名の組が、旧データ構造を示すNV側スキーマ情報16に含まれるか否かを判定する。ここでは、構造体名「AAA」、データ型「int」、及びメンバ名「zzz」の組がNV側スキーマ情報16に含まれるか否かを判定する。図2を参照して、当該組はNV側スキーマ情報16に含まれないため、ステップS42に進む。
ステップS42において、コンバート処理部28は、RAM22上において、ステップS36で判定された新キャッシュデータ42のメンバに、予め定められた所定値を設定する。当該所定値は、画像処理装置10のユーザあるいは管理者によって設定されてもよく、あるいは固定値(例えば「0」)であってもよい。ここでは、新キャッシュデータ42のメンバ「int zzz」に対応するデータ領域に設定値「0」を設定する。
ステップS36からステップS42までの処理を繰り返すことで、新キャッシュデータ42の全てのメンバの設定値が設定される。新キャッシュデータ42の全てのメンバの設定値が設定された状態が図7に示されている。図7に示される通り、新キャッシュデータ42には、旧キャッシュデータ40の設定値、つまりファームウェアのバージョン変更前に設定されたユーザデータ14が引き継がれている。なお、旧データ構造に存在したメンバが新データ構造において無くなった場合は、旧データ構造において当該メンバに設定されていた設定値は新キャッシュデータ42には引き継がれない。
再度のステップS40で、新データ構造に含まれる全てのメンバについて、ステップS36以下の処理を終えたとコンバート処理部28が判定した場合は、ステップS44に進む。
ステップS44において、コンバート処理部28は、新キャッシュデータ42に含まれる、各メンバの設定値をユーザデータ14として不揮発性メモリ12に記憶させる。このとき、既に不揮発性メモリ12に記憶されているユーザデータ14を上書きする形で新キャッシュデータ42を不揮発性メモリ12に記憶させてよい。具体的には、不揮発性メモリ12において、ROM側スキーマ情報20が示す構造体「AAA」の先頭アドレスから4バイト分のデータ領域に新キャッシュデータ42のメンバ「int aaa」の設定値を書き込む。同様に、構造体「AAA」のオフセット4バイトから8バイト分のデータ領域に新キャッシュデータ42のメンバ「double bbb」の設定値を書き込み、構造体「AAA」のオフセット12バイトから4バイト分のデータ領域に新キャッシュデータ42のメンバ「int zzz」の設定値を書き込み、構造体「AAA」のオフセット16バイトから4バイト分のデータ領域に新キャッシュデータ42のメンバ「long ccc」の設定値を書き込む。
以上説明した本実施形態によれば、画像処理装置10のファームウェアのバージョンが変更され、ユーザデータ14のデータ構造が変更されたとしても、旧データ構造のユーザデータ14の内容が新データ構造のユーザデータ14において維持される。これにより、画像処理装置10のユーザあるいは管理者は、ファームウェアのバージョンが変更され、ユーザデータ14のデータ構造が変更された場合であっても、ユーザデータ14を再設定する必要がなくなる。
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
例えば、本実施形態においては、情報処理装置として画像処理装置10を例に説明したが、本発明が適用される情報処理装置としてはこれに限られず、自装置に関する設定情報を記憶し、自装置上で動作するソフトウェアのバージョンが変更された場合に当該設定情報のデータ構造が変更され得るものである限りどのような装置(コンピュータ)であってもよい。
また、本実施形態においては、NV側スキーマ情報16は、不揮発性メモリ12に記憶されていたが、NV側スキーマ情報16は、他の記憶部に記憶されるようにしてもよい。例えば、ROM18に記憶されてもよい。
10 画像処理装置、12 不揮発性メモリ、14 ユーザデータ、16 NV側スキーマ情報、18 ROM、20 ROM側スキーマ情報、22 RAM、24 入力部、26 制御部、28 コンバート処理部、30 XMLデータ生成部、40 旧キャッシュデータ、42 新キャッシュデータ。

Claims (5)

  1. 自装置に関する設定情報をバイナリ形式で記憶する設定情報記憶部と、
    自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1データ構造を示す第1データ構造情報を記憶する第1データ構造情報記憶部と、
    前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2データ構造を示す第2データ構造情報と、前記第1データ構造情報との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記データ構造から前記第2データ構造に転換する転換処理を実行する設定情報転換部と、
    を備えることを特徴とする情報処理装置。
  2. 前記第1データ構造は、1又は複数の第1変数を含み、
    前記第2データ構造は、1又は複数の第2変数を含み、
    前記第1データ構造情報は、前記第1変数を識別する第1変数識別情報を含み、
    前記第2データ構造情報は、前記第2変数を識別する第2変数識別情報を含み、
    前記設定情報転換部は、前記第1及び第2変数識別情報に基づいて、前記第1変数に設定された設定値を、当該第1変数に対応する前記第2変数の設定値として割り当てる、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記設定情報転換部は、前記第1データ構造と第2データ構造とが互いに異なる場合に、前記転換処理を実行する、
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記設定情報及び第1データ構造情報をテキスト形式で出力するテキストデータ出力部、
    をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. コンピュータを、
    自装置に関する設定情報をバイナリ形式で記憶する設定情報記憶部と、
    自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1データ構造を示す第1データ構造情報を記憶する第1データ構造情報記憶部と、
    前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2データ構造を示す第2データ構造情報と、前記第1データ構造情報との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記データ構造から前記第2データ構造に転換する転換処理を実行する設定情報転換部と、
    として機能させることを特徴とするプログラム。
JP2016149504A 2016-07-29 2016-07-29 情報処理装置及びプログラム Active JP6740785B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016149504A JP6740785B2 (ja) 2016-07-29 2016-07-29 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016149504A JP6740785B2 (ja) 2016-07-29 2016-07-29 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018018369A true JP2018018369A (ja) 2018-02-01
JP6740785B2 JP6740785B2 (ja) 2020-08-19

Family

ID=61076180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016149504A Active JP6740785B2 (ja) 2016-07-29 2016-07-29 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6740785B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7456348B2 (ja) 2019-11-29 2024-03-27 株式会社リコー 情報処理システム及び情報処理装置及び情報処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022564A (ja) * 1999-07-08 2001-01-26 Nec Eng Ltd データ構造変換システム、変換方法、変換プログラム記録媒体
JP2009254513A (ja) * 2008-04-15 2009-11-05 Fujinon Corp 電子内視鏡ファームウェアの更新方法
JP2012118869A (ja) * 2010-12-02 2012-06-21 Fuji Xerox Co Ltd 更新プログラム及び画像形成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022564A (ja) * 1999-07-08 2001-01-26 Nec Eng Ltd データ構造変換システム、変換方法、変換プログラム記録媒体
JP2009254513A (ja) * 2008-04-15 2009-11-05 Fujinon Corp 電子内視鏡ファームウェアの更新方法
JP2012118869A (ja) * 2010-12-02 2012-06-21 Fuji Xerox Co Ltd 更新プログラム及び画像形成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
水穂 和明, プリンタ詳細ダイアログで設定した情報をセーブ/ロードしたい, JPN6020021308, 28 December 2007 (2007-12-28), ISSN: 0004291436 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7456348B2 (ja) 2019-11-29 2024-03-27 株式会社リコー 情報処理システム及び情報処理装置及び情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP6740785B2 (ja) 2020-08-19

Similar Documents

Publication Publication Date Title
JP4876051B2 (ja) 画像処理装置及びその制御方法
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP2018041417A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP5754264B2 (ja) プログラム実行装置、画像処理装置およびプログラム
JP2016062319A (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
JP6740785B2 (ja) 情報処理装置及びプログラム
JP6518159B2 (ja) バイナリイメージをメモリデバイスに転写する方法および装置
JP2018018370A (ja) 情報処理装置及びプログラム
JP4826610B2 (ja) 画像処理装置および画像消去プログラム
CN113031854B (zh) 一次性可编程存储器装置及其容错方法
JP5417820B2 (ja) システムファイル共有装置、システムファイル共有方法及びプログラム
JP2013045285A (ja) 情報処理装置、画像形成装置およびプログラム
JP2010257245A (ja) プログラマブルコントローラおよびラダープログラム作成装置
JP5697476B2 (ja) ワークフロー処理装置、情報処理方法及びプログラム
JP2008299423A (ja) 情報処理装置および情報処理プログラム
JP5842437B2 (ja) 情報処理装置及び情報処理プログラム
JP2006344022A (ja) 機器及びプログラム起動方法
CN104238967A (zh) 信息处理装置及控制方法
CN109165023A (zh) 修改iso镜像文件的方法、装置和设备
JP2009217588A (ja) ファイルシステム、電子カメラ、ファイルアクセス方法及びプログラム
JP2006126987A (ja) 画像処理装置
JP2007076043A (ja) 印刷装置
JP5326547B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2006331221A (ja) データ転送装置及びデータ転送方法
JP6171505B2 (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6740785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350