JP6740785B2 - Information processing device and program - Google Patents
Information processing device and program Download PDFInfo
- Publication number
- JP6740785B2 JP6740785B2 JP2016149504A JP2016149504A JP6740785B2 JP 6740785 B2 JP6740785 B2 JP 6740785B2 JP 2016149504 A JP2016149504 A JP 2016149504A JP 2016149504 A JP2016149504 A JP 2016149504A JP 6740785 B2 JP6740785 B2 JP 6740785B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- name
- setting information
- data structure
- 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.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理装置及びプログラムに関する。 The present invention relates to an information processing device and a program.
従来、自装置に関する設定情報を記憶する情報処理装置が知られている。例えば、複合機などの画像処理装置には、プリント機能を選択したときのプリント設定(初期設定)などを示す設定情報が、画像処理装置内に設けられる記憶部に記憶される。これらの設定情報は、例えば情報処理装置の利用者あるいは管理者などにより設定される。 BACKGROUND ART Conventionally, an information processing device that stores setting information about its own device is known. For example, in an image processing apparatus such as a multifunction peripheral, setting information indicating print settings (initial settings) when the print function is selected is stored in a storage unit provided in the image processing apparatus. The setting information is set by, for example, a user or an administrator of the information processing device.
情報処理装置上で動作するソフトウェア(例えばファームウェア)のバージョンが変更された場合、変更前と変更後との間において、設定情報の互換性が問題となる場合がある。そこで、従来、情報処理装置上で動作するソフトウェアのバージョンが変更された場合であっても、バージョン変更前の設定情報をバージョン変更後においても利用できるようにする技術が提案されている。 When the version of software (for example, firmware) operating on the information processing apparatus is changed, compatibility of setting information before and after the change may become a problem. Therefore, conventionally, a technique has been proposed in which the setting information before the version change can be used even after the version change even when the version of the software operating on the information processing device is changed.
例えば、特許文献1には、設定情報に含まれる各データのバージョン変更前と変更後における対応関係を示す変換ルール情報に基づいて設定情報を変換する技術が開示されている。また、特許文献2には、予め用意された設定移行プログラムによって、情報処理装置上で動作するソフトウェアのバージョン変更に伴って、設定情報の移行(変換)処理を実行するシステムが開示されている。
For example, Patent Document 1 discloses a technique of converting setting information based on conversion rule information indicating a correspondence relationship between before and after version change of each data included in setting information. Further,
情報処理装置において、記憶部(例えばメモリなど)の容量削減、あるいは設定情報の高速な読み書きを実現するために、データ容量の小さいバイナリ形式で設定情報を記憶部に記憶することが考えられる。一般的に、記憶部からのバイナリデータの読み出しは、読み出し部(例えば制御部など)が、当該バイナリデータのデータ構造を示す情報に基づいて、記憶部のメモリアドレスあるいはデータサイズなどを指定することで実行される。 In an information processing apparatus, in order to reduce the capacity of a storage unit (for example, a memory) or to read and write setting information at high speed, it is possible to store the setting information in the storage unit in a binary format with a small data capacity. Generally, when reading binary data from a storage unit, a reading unit (for example, a control unit) specifies a memory address or a data size of the storage unit based on information indicating the data structure of the binary data. Run on.
情報処理装置上で動作するソフトウェアのバージョンが変更され、設定情報のデータ構造が変更されると、設定情報に含まれる各データが格納されるべきメモリアドレスあるいはサイズなどが変更される。バイナリ形式で設定情報が記憶されている場合、ソフトウェアのバージョン変更により設定情報のデータ構造が変更されると、読み出し部が参照するデータ構造と、記憶部に実際に記憶されている設定情報のデータ構造とが互いに異なることになる。その結果、設定情報を読み出せなくなってしまう。これにより、情報処理装置の利用者あるいは管理者などは、ソフトウェアのバージョン変更後に、再度、設定情報の設定を行わなければならないという問題があった。なお、ソフトウェアのバージョン変更前後における設定情報に含まれる各データの対応関係を示す情報や、設定情報の変換処理を行うための専用プログラムは、それ自体の容量が膨大となるのが一般的であり、バイナリ形式で設定情報を記憶する情報処理装置においてそれらを適用するのは好ましくない。 When the version of software operating on the information processing device is changed and the data structure of the setting information is changed, the memory address or size in which each data included in the setting information is stored is changed. When the setting information is stored in binary format, if the data structure of the setting information is changed by changing the software version, the data structure referenced by the reading unit and the data of the setting information actually stored in the storage unit The structure will be different from each other. As a result, the setting information cannot be read. As a result, the user or administrator of the information processing apparatus has to set the setting information again after changing the software version. Note that the information indicating the correspondence relationship between each data included in the setting information before and after the software version change and the dedicated program for performing the conversion processing of the setting information generally have an enormous capacity. It is not preferable to apply them in an information processing device that stores setting information in binary format.
本発明の目的は、設定情報がバイナリデータ形式で記憶された情報処理装置上で動作するソフトウェアのバージョンが変更された場合に、バージョン変更前において設定済みの設定情報の内容をバージョン変更後においても維持することにある。 An object of the present invention is to, even when the version of the software operating on the information processing device in which the setting information is stored in the binary data format is changed, the contents of the setting information set before the version change are changed even after the version change. To maintain.
請求項1に係る発明は、自装置に関する、データ構造が構造体で定義される設定情報をバイナリ形式で記憶する設定情報記憶部と、自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名を記憶する第1データ構造情報記憶部と、前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2構造体の構造体名、前記第2構造体のメンバのデータ型、及び、前記第2構造体のメンバのメンバ名と、前記第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記第1構造体から前記第2構造体に転換する転換処理を実行する設定情報転換部と、を備えることを特徴とする情報処理装置である。 The invention according to claim 1 is a setting information storage unit for storing, in a binary format, setting information whose data structure is defined by a structure, and the setting information before version change of software operating on the own apparatus. A structure name of a first structure which is a data structure of the first structure, a data type of a member of the first structure, and a member name of a member of the first structure, and a first data structure information storage unit, The structure name of the second structure, which is the data structure of the setting information after changing the software version, the data type of the member of the second structure, the member name of the member of the second structure, and the Maintain at least a portion of the contents of the configuration information based on a structure name of one structure, a data type of a member of the first structure, and a member name of a member of the first structure. The information processing apparatus further includes a setting information conversion unit that executes a conversion process of converting the data structure of the setting information from the first structure to the second structure .
請求項2に係る発明は、前記設定情報転換部は、前記第1構造体のメンバに設定された設定値を、当該第1構造体と同一の構造体名を持つ前記第2構造体の、当該メンバと同一のデータ型及びメンバ名を持つメンバの設定値として割り当てる、ことを特徴とする請求項1に記載の情報処理装置である。
The invention according to
請求項3に係る発明は、前記設定情報転換部は、前記第1構造体と前記第2構造体とが互いに異なる場合に、前記転換処理を実行する、ことを特徴とする請求項1又は2に記載の情報処理装置である。 The invention according to claim 3 is characterized in that the setting information conversion unit executes the conversion processing when the first structure and the second structure are different from each other. The information processing apparatus described in 1.
請求項4に係る発明は、前記設定情報及び前記第1構造体を示す情報をテキスト形式で出力するテキストデータ出力部、をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置である。
The invention according to
請求項5に係る発明は、コンピュータを、自装置に関する、データ構造が構造体で定義される設定情報をバイナリ形式で記憶する設定情報記憶部と、自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名を記憶する第1データ構造情報記憶部と、前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2構造体の構造体名、前記第2構造体のメンバのデータ型、及び、前記第2構造体のメンバのメンバ名と、前記第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記第1構造体から前記第2構造体に転換する転換処理を実行する設定情報転換部と、として機能させることを特徴とするプログラムである。
According to a fifth aspect of the present invention, there is provided a computer in which a setting information storage unit, which stores setting information in which a data structure is defined by a structure in a binary format, and a computer before the version change of software operating on the own device. A first data structure information storage unit that stores a structure name of a first structure that is a data structure of the setting information, a data type of a member of the first structure, and a member name of a member of the first structure. And a structure name of a second structure which is a data structure of the setting information after the version change of the software, a data type of a member of the second structure, and a member name of a member of the second structure. , The structure name of the first structure, the data type of the member of the first structure, and at least a part of the content of the setting information based on the comparison with the member name of the member of the first structure. And a setting information conversion unit that executes a conversion process for converting the data structure of the setting information from the first structure to the second structure while maintaining the above.
請求項1、2、又は5に記載の発明によれば、設定情報がバイナリデータ形式で記憶された情報処理装置上で動作するソフトウェアのバージョンが変更された場合に、バージョン変更前において設定済みの設定情報の内容をバージョン変更後においても維持することができる。
According to the invention described in
請求項3に記載の発明によれば、ソフトウェアのバージョン変更により設定情報のデータ構造が変更された場合のみ転換処理を行うことができる。 According to the third aspect of the invention, the conversion process can be performed only when the data structure of the setting information is changed due to the change of the software version.
請求項4に記載の発明によれば、設定情報及び第1データ構造情報を管理者あるいは利用者が編集することができる。
According to the invention described in
以下、本発明の実施形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1には、本実施形態に係る情報処理装置としての画像処理装置10の構成概略図が示されている。画像処理装置10は、いわゆる複合機であり、プリント機能、コピー機能、スキャン機能、あるいはファックス機能などを有する装置である。
FIG. 1 shows a schematic configuration diagram of an
不揮発性メモリ12は、例えばハードディスクあるいはフラッシュメモリ(SDメモリカードあるいはUSB(Universal Serial Bus)メモリ)などから構成される。不揮発性メモリ12は、画像処理装置10に対して着脱可能となっていてもよい。不揮発性メモリ12は、電源の供給を遮断しても記憶済みの情報を保持するものである。不揮発性メモリ12には、設定情報としてのユーザデータ14、及び第1データ構造情報としてのNV側スキーマ情報16が記憶される。つまり、不揮発性メモリ12は、設定情報記憶部及び第1データ構造情報記憶部として機能する。
The
ユーザデータ14は、画像処理装置10の動作に関する情報である。例えば、ユーザデータ14には、画像処理装置10において各機能が選択された場合の当該機能の設定(初期設定)などの情報が含まれる。ユーザデータ14は、画像処理装置10の利用者(ユーザ)あるいは管理者によって適宜設定されてよい。ユーザが画像処理装置10を利用する場合にユーザを識別するための認証処理が行われる場合は、ユーザデータ14はユーザ毎に記憶されてもよい。
The
ユーザデータ14は、バイナリ形式で記憶される。これにより、不揮発性メモリ12の低容量化が実現され、あるいは、不揮発性メモリ12からのユーザデータ14の高速な読み書き処理が実現される。
The
ユーザデータ14のデータ構造は、後述のROM(Read Only Memory)18に記憶される、画像処理装置10上で動作するソフトウェアとしてのファームウェアによって定義される。本実施形態においては、ユーザデータ14のデータ構造は、1又は複数の変数としてのメンバを含む構造体で定義され、C言語によって以下のように定義されるものとする。
struct AAA{
int aaa;
double bbb;
long ccc;
}
The data structure of the
struct AAA{
int aaa;
double bbb;
long ccc;
}
ここで、「AAA」は構造体名である。「int aaa」、「double bbb」、及び「long ccc」がそれぞれメンバを示す。「int aaa」を例に取ると、「int」がメンバのデータ型を示し、「aaa」がメンバのメンバ名を示す。1つの構造体においては、同じデータ型とメンバ名の組を使用することはできない。したがって、構造体名、データ型、及びメンバ名によって、ユーザデータ14内のメンバを一意に特定することができる。なお、上記例では、ユーザデータ14は1つの構造体から定義されているが、ユーザデータ14のデータ構造は複数の構造体から定義されてもよい。
Here, “AAA” is a structure name. “Int aaa”, “double bbb”, and “long ccc” respectively indicate members. Taking "int aaa" as an example, "int" indicates the data type of the member, and "aaa" indicates the member name of the member. The same data type and member name pair cannot be used in one structure. Therefore, the member in the
ユーザデータ14としては、上記のような構造体の各メンバに設定される設定値を含む。例えば、メンバ「int aaa」に対する設定値、メンバ「double bbb」に対する設定値、及び「long ccc」に対する設定値を含む。
The
NV側スキーマ情報16は、不揮発性メモリ12に記憶されているユーザデータ14のデータ構造を示すものである。上述の通り、ユーザデータ14は、構造体により定義されるため、本実施形態におけるNV側スキーマ情報16は、ユーザデータ14の構造体に関する情報を含む。なお、NV側スキーマ情報16もバイナリ形式で不揮発性メモリ12に記憶される。
The NV-
ROM18に記憶されるファームウェアのバージョン変更(バージョンアップ及びバージョンダウンの双方を含む)が行われることによって、新バージョンのファームウェア(以下「新ファームウェア」と記載する)におけるユーザデータ14のデータ構造(以下「新データ構造」と記載する)が変更された場合であっても、不揮発性メモリ12は、旧バージョンのファームウェア(以下「旧ファームウェア」と記載する)におけるユーザデータ14のデータ構造(以下「旧データ構造」と記載する)をNV側スキーマ情報16として保持し続ける。つまり、ファームウェアのバージョンが変更された場合、NV側スキーマ情報16は第1データ構造としての旧データ構造を示すものとなる。
By changing the version of the firmware stored in the ROM 18 (including both version upgrade and version down), the data structure of the
図2に、NV側スキーマ情報16の内容が示されている。NV側スキーマ情報16は、ユーザデータ14を定義する構造体の構造体名、当該構造体のデータ容量である構造体サイズ、及び第1変数としてのメンバに関する情報を含んでいる。メンバに関する情報は、メンバのデータ型、メンバ名、メンバのデータ容量であるメンバサイズ、当該構造体の先頭アドレスからメンバに対応するデータ領域の先頭アドレスまでのバイトオフセットであるオフセット、を示す各情報を含んでいる。上述の通り、構造体名、メンバのデータ型、及びメンバのメンバ名により、ユーザデータ14に含まれるメンバを一意に特定できる。したがって、構造体名、メンバのデータ型、及びメンバのメンバ名を示す各情報は、第1変数識別情報として機能する。また、図2には示されていないが、NV側スキーマ情報16は、ユーザデータ14が格納されている不揮発性メモリ12内のデータ領域の先頭アドレスを示す情報も含んでいる。
FIG. 2 shows the content of the NV-
ROM18には、画像処理装置10を動作させるためのプログラムが記憶される。また、ROM18には、画像処理装置10上で動作する種々のソフトウェアが記憶される。当該ソフトウェアには、画像処理装置10の各機能に対応するファームウェア、あるいは画像処理装置10の機能全体に対応するファームウェアなどが含まれてよい。本実施形態では、ROM18には画像処理装置10の機能全体に対応するファームウェアがインストールされ、当該ファームウェアのバージョンによりユーザデータ14のデータ構造が変更され得るとする。当該ファームウェアは画像処理装置10のユーザあるいは管理者などによってインストールされる。
A program for operating the
ROM18には、ROM18にインストールされたファームウェアにおけるユーザデータ14のデータ構造を示す第2データ構造情報としてのROM側スキーマ情報20が記憶される。NV側スキーマ情報16同様、ROM側スキーマ情報20は、ユーザデータ14の構造体に関する情報を含む。
The
ここで、ファームウェアのバージョン変更が行われ、ROM18に新ファームウェアがインストールされた場合、上述のように、NV側スキーマ情報16としては、旧データ構造が保持される一方、ROM側スキーマ情報20には新データ構造が保持される。つまり、ファームウェアのバージョンが変更された場合、ROM側スキーマ情報20は、第2データ構造としての新データ構造を示すものとなる。
Here, when the firmware version is changed and new firmware is installed in the
新データ構造も、旧データ構造同様に、1又は複数のメンバを含む構造体で構成される。また、本実施形態においては、旧データ構造と新データ構造とが互いに異なるものとし、新データ構造は以下のような構造体で定義されるとする。
struct AAA{
int aaa;
double bbb;
int zzz;
long ccc;
}
Like the old data structure, the new data structure is also composed of a structure including one or more members. In the present embodiment, the old data structure and the new data structure are different from each other, and the new data structure is defined by the following structure.
struct AAA{
int aaa;
double bbb;
int zzz;
long ccc;
}
本実施形態においては、新データ構造は、第2変数としてのメンバを4つ含む。詳しくは、旧データ構造に比して「int zzz」が追加されている。このような場合、従来においては、メンバ「long ccc」のオフセットが変更されるため、当該メンバの値を適切に読み込むことができなくなる。その結果、後述の制御部26は、ユーザデータ14が構造体「AAA」のデータであることを認識できず、旧ファームウェア時に設定されたユーザデータ14全体を読み込むことができなくなってしまう。
In the present embodiment, the new data structure includes four members as the second variable. For details, "int zzz" is added compared to the old data structure. In such a case, conventionally, the offset of the member "long ccc" is changed, so that the value of the member cannot be read properly. As a result, the
図3に、ROM側スキーマ情報20の内容が示されている。NV側スキーマ情報16同様、ROM側スキーマ情報20は、ユーザデータ14を定義する構造体の構造体名、構造体サイズ、及びメンバに関する情報を含んでいる。メンバに関する情報は、メンバのデータ型、メンバ名、メンバサイズ、及びオフセットを示す各情報を含んでいる。つまり、ROM側スキーマ情報20は、第2変数識別情報としての、構造体名、メンバのデータ型、及びメンバのメンバ名を示す各情報を含んでいる。また、図3には示されていないが、ROM側スキーマ情報20は、ユーザデータ14が格納されている不揮発性メモリ12内のデータ領域の先頭アドレスを示す情報を含んでいる。
FIG. 3 shows the contents of the ROM
RAM(Random Access Memory)22には、各種データが一時的に書き込まれる。画像処理装置10において処理が行われる際に、必要なデータがRAM22上に展開され、展開されたデータに基づいて制御部26が処理を行う。なお、RAM22は揮発性メモリであり、画像処理装置10がパワーオフされるなどしてRAM22への電源の供給が遮断されると、RAM22に記憶された内容は消去される。
Various data are temporarily written in a RAM (Random Access Memory) 22. When processing is performed in the
入力部24は、タッチパネルあるいはボタンなどを含んで構成される。入力部24は、画像処理装置10のユーザあるいは管理者などの指示を画像処理装置10に入力するために用いられる。例えば、ユーザがユーザデータ14を入力する際に入力部24が用いられる。
The
制御部26は、例えばCPU(Central Processing Unit)、あるいはマイクロコンピュータなどを含んで構成され、ROM18に記憶されたプログラムに従って画像処理装置10の各部を動作させるものである。制御部26は、当該プログラムにより、設定情報転換部としてのコンバート処理部28、及びテキストデータ出力部としてのXMLデータ生成部30としても機能する。
The
コンバート処理部28は、NV側スキーマ情報16が示す旧データ構造、及びROM側スキーマ情報20が示す新データ構造に基づいて、ユーザデータ14の内容の少なくとも一部を維持しつつ、ユーザデータ14のデータ構造を旧データ構造から新データ構造に転換する転換処理としてのコンバート処理を行う。
The
具体的には、NV側スキーマ情報16が有する第1変数識別情報(旧データ構造における構造体名、メンバのデータ型、及びメンバ名)、及び、ROM側スキーマ情報20が有する第2変数識別情報(新データ構造における構造体名、メンバのデータ型、及びメンバ名)に基づいて、旧データ構造の各メンバに設定された設定値を、新データ構造の対応する各メンバの設定値として割り当てる(設定する)。当該コンバート処理により、たとえファームウェアのバージョン変更により旧データ構造と新データ構造とが互いに異なるものとなったとしても、ユーザデータ14の内容を引き継ぐことができる。
Specifically, the first variable identification information (structure name in the old data structure, member data type, and member name) included in the NV
本実施形態では、コンバート処理部28は、ファームウェアのバージョンが変更された後に、画像処理装置10が起動されたタイミングでコンバート処理を行う。また、ファームウェアのバージョンが変更されても、旧データ構造と新データ構造が同じである場合には、コンバート処理部28はコンバート処理を行わないようにしてもよい。つまり、ファームウェアのバージョン変更によって旧データ構造と新データ構造とが異なるものとなった場合にのみコンバート処理を行うようにしてもよい。コンバート処理部28が行う処理の詳細については後述する。
In the present embodiment, the
XMLデータ生成部30は、バイナリ形式で記憶されたユーザデータ14及びNV側スキーマ情報16をテキスト形式のデータに変換して出力する。本実施形態では、当該テキスト形式としてXML形式が採用される。XML形式のデータは、不揮発性メモリ12、特にSDカードあるいはUSBメモリのように外部へ持ち出す(エクスポートする)ことができる不揮発性メモリ12に記憶させる。テキスト形式のデータは他の装置(パーソナルコンピュータなど)においてユーザが判読できる形式であるため、テキスト形式でユーザデータ14及びNV側スキーマ情報16をエクスポートすることで、ユーザは他の装置においてこれらの情報を編集することができる。エクスポートされたユーザデータ14及びNV側スキーマ情報16は、再度画像処理装置10に戻され(インポートされ)、その後コンバート処理部28によるコンバート処理に用いられてよい。
The XML
画像処理装置10の構成概略は以上の通りである。以下、図4及び図5に示すフローチャートに従って、画像処理装置10の処理の流れについて説明する。図5に示すフローチャートは、図4に示すフローチャートに含まれる、設定情報のコンバート処理(ステップS16)の詳細を示すものである。なお、ここでは、図4に示すフローチャートの開始時において、不揮発性メモリ12には、図2に示す内容のNV側スキーマ情報16が記憶され、ユーザデータ14として、メンバ「int aaa」に対する設定値「5」、メンバ「double bbb」に対する設定値「10」、及び、メンバ「long ccc」に対する設定値「15」が記憶されているものとする。
The outline of the configuration of the
ステップS10において、画像処理装置10のユーザあるいは管理者によって、画像処理装置10に新ファームウェアがインストールされ、ROM18に新ファームウェアが記憶される。それと共に、ROM18には、ユーザデータ14の新データ構造を示すROM側スキーマ情報20が記憶される。ここでは、図3に示すROM側スキーマ情報20が記憶されたとする。
In step S10, the new firmware is installed in the
ステップS12において、コンバート処理部28は、不揮発性メモリ12にNV側スキーマ情報16が記憶されているか否かを判定する。ここでは、不揮発性メモリ12にNV側スキーマ情報16が記憶されているため(ここで、NV側スキーマ情報16が示すのは旧データ構造となる)ステップS14に進む。仮に、画像処理装置10の初回起動時など、不揮発性メモリ12にNV側スキーマ情報16が記憶されていない場合はステップS18に進む。
In step S12, the
ステップS14において、コンバート処理部28は、NV側スキーマ情報16とROM側スキーマ情報20とを比較して、新データ構造と旧データ構造との間に差異があるか否かを判定する。差異がある場合はステップS16のユーザデータ14のコンバート処理に進み、差異がない場合はユーザデータ14のコンバート処理を行わずにステップS18に進む。
In step S14, the
ステップS16において、コンバート処理部28は、ユーザデータ14の内容を維持しつつ、ユーザデータ14のデータ構造を旧データ構造から新データ構造にコンバートするコンバート処理を行う。当該コンバート処理の詳細については図5のフローチャートを参照して後述する。
In step S16, the
ステップS18において、コンバート処理部28は、ROM側スキーマ情報20の内容をNV側スキーマ情報16として不揮発性メモリ12に記憶させる。これにより、NV側スキーマ情報16は、新データ構造を示すものとなる。つまり、NV側スキーマ情報16は、新データ構造にコンバートされたユーザデータ14のデータ構造を示すものとなる。
In step S18, the
以下、図5に示すフローチャートに従って、ユーザデータ14のコンバート処理の詳細について説明する。
The details of the conversion process of the
ステップ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」に対応するデータ領域として定義する。
In step S30, the
ステップS32において、コンバート処理部28は、RAM22上に展開された旧データ構造にユーザデータ14を設定する処理を行う。具体的には、まず、コンバート処理部28は、NV側スキーマ情報16を用いて、ユーザデータ14を不揮発性メモリ12から読み出す。例えば、NV側スキーマ情報16が示す構造体「AAA」の先頭アドレスから4バイト分のデータであるメンバ「int aaa」の設定値を不揮発性メモリ12から読み出す。そして、RAM22上の確保領域の先頭から4バイト分の領域に当該読み出したデータを書き込む。これにより、旧データ構造のメンバ「int aaa」に対応するデータ領域に設定値が設定されたことになる。以下同様にして、コンバート処理部28は、旧データ構造の各メンバの設定値を設定する。
In step S32, the
ステップS30及びS32の処理により、図6に示されるように、旧データ構造に対応するデータ領域にユーザデータ14が設定された旧キャッシュデータ40がRAM22上に形成される。
By the processing of steps S30 and S32, as shown in FIG. 6, the
ステップS34において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に基づいて、RAM22上において新データ構造を展開する。新データ構造の展開処理の詳細は旧データ構造の展開処理と同様であるため詳細な説明は省略する。
In step S34, the
ステップS34の処理により、図6に示されるように、新データ構造に対応するデータ領域である新キャッシュデータ42がRAM22上に形成される。ステップS34の時点では、新キャッシュデータ42の各メンバには設定値「0」が設定されている。
By the processing of step S34, as shown in FIG. 6,
ステップS36において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に含まれる1つのメンバ(注目メンバ)の構造体名、データ型、及びメンバ名の組が、旧データ構造を示すNV側スキーマ情報16に含まれるか否かを判定する。ここでは、構造体名「AAA」、データ型「int」、及びメンバ名「aaa」の組がNV側スキーマ情報16に含まれるか否かを判定する。図2を参照して、当該組はNV側スキーマ情報16に含まれるため、ステップS38に進む。
In step S36, the
ステップS38において、コンバート処理部28は、RAM22上において、ステップS36で判定された新キャッシュデータ42のメンバに、旧キャッシュデータ40の対応するメンバの設定値をコピーする。ここでは、新キャッシュデータ42の構造体「AAA」のメンバ「int aaa」に対応するデータ領域に、旧キャッシュデータ40の構造体「AAA」のメンバ「int aaa」に対応するデータ領域に設定されたデータをコピーする。これにより、新キャッシュデータ42の「int aaa」に対応するデータ領域に設定値「5」が設定される。
In step S38, the
ステップS40において、コンバート処理部28は、新データ構造に含まれる全てのメンバについて、ステップS36以下の処理を終えたか否かを判定する。ここでは、未処理のメンバが残っているとしてステップS36に戻る。
In step S40, the
再度のステップS36において、コンバート処理部28は、新データ構造を示すROM側スキーマ情報20に含まれる他のメンバの構造体名、データ型、及びメンバ名の組が、旧データ構造を示すNV側スキーマ情報16に含まれるか否かを判定する。ここでは、構造体名「AAA」、データ型「int」、及びメンバ名「zzz」の組がNV側スキーマ情報16に含まれるか否かを判定する。図2を参照して、当該組はNV側スキーマ情報16に含まれないため、ステップS42に進む。
In step S36 again, the
ステップS42において、コンバート処理部28は、RAM22上において、ステップS36で判定された新キャッシュデータ42のメンバに、予め定められた所定値を設定する。当該所定値は、画像処理装置10のユーザあるいは管理者によって設定されてもよく、あるいは固定値(例えば「0」)であってもよい。ここでは、新キャッシュデータ42のメンバ「int zzz」に対応するデータ領域に設定値「0」を設定する。
In step S42, the
ステップS36からステップS42までの処理を繰り返すことで、新キャッシュデータ42の全てのメンバの設定値が設定される。新キャッシュデータ42の全てのメンバの設定値が設定された状態が図7に示されている。図7に示される通り、新キャッシュデータ42には、旧キャッシュデータ40の設定値、つまりファームウェアのバージョン変更前に設定されたユーザデータ14が引き継がれている。なお、旧データ構造に存在したメンバが新データ構造において無くなった場合は、旧データ構造において当該メンバに設定されていた設定値は新キャッシュデータ42には引き継がれない。
By repeating the processing from step S36 to step S42, the setting values of all the members of the
再度のステップS40で、新データ構造に含まれる全てのメンバについて、ステップS36以下の処理を終えたとコンバート処理部28が判定した場合は、ステップS44に進む。
In step S40 again, if the
ステップ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」の設定値を書き込む。
In step S44, the
以上説明した本実施形態によれば、画像処理装置10のファームウェアのバージョンが変更され、ユーザデータ14のデータ構造が変更されたとしても、旧データ構造のユーザデータ14の内容が新データ構造のユーザデータ14において維持される。これにより、画像処理装置10のユーザあるいは管理者は、ファームウェアのバージョンが変更され、ユーザデータ14のデータ構造が変更された場合であっても、ユーザデータ14を再設定する必要がなくなる。
According to the present embodiment described above, even if the firmware version of the
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。 Although the embodiment according to the present invention has been described above, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the spirit of the present invention.
例えば、本実施形態においては、情報処理装置として画像処理装置10を例に説明したが、本発明が適用される情報処理装置としてはこれに限られず、自装置に関する設定情報を記憶し、自装置上で動作するソフトウェアのバージョンが変更された場合に当該設定情報のデータ構造が変更され得るものである限りどのような装置(コンピュータ)であってもよい。
For example, in the present embodiment, the
また、本実施形態においては、NV側スキーマ情報16は、不揮発性メモリ12に記憶されていたが、NV側スキーマ情報16は、他の記憶部に記憶されるようにしてもよい。例えば、ROM18に記憶されてもよい。
Further, in the present embodiment, the NV-
10 画像処理装置、12 不揮発性メモリ、14 ユーザデータ、16 NV側スキーマ情報、18 ROM、20 ROM側スキーマ情報、22 RAM、24 入力部、26 制御部、28 コンバート処理部、30 XMLデータ生成部、40 旧キャッシュデータ、42 新キャッシュデータ。 10 image processing device, 12 non-volatile memory, 14 user data, 16 NV side schema information, 18 ROM, 20 ROM side schema information, 22 RAM, 24 input section, 26 control section, 28 conversion processing section, 30 XML data generation section , 40 Old cache data, 42 New cache data.
Claims (5)
自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名を記憶する第1データ構造情報記憶部と、
前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2構造体の構造体名、前記第2構造体のメンバのデータ型、及び、前記第2構造体のメンバのメンバ名と、前記第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記第1構造体から前記第2構造体に転換する転換処理を実行する設定情報転換部と、
を備えることを特徴とする情報処理装置。 A setting information storage unit that stores setting information, which has a data structure defined by a structure, in a binary format regarding its own device,
The structure name of the first structure, which is the data structure of the setting information before the version change of the software operating on the own device, the data type of the member of the first structure, and the member of the first structure A first data structure information storage unit that stores a member name ;
Structure name of the second structure is a data structure of the setting information after the version change of the software, the data type of a member of the second structure, and a member name of a member of the second structure, wherein Maintaining at least a portion of the content of the configuration information based on a structure name of the first structure, a data type of a member of the first structure, and a comparison with a member name of a member of the first structure. At the same time, a setting information conversion unit that executes a conversion process for converting the data structure of the setting information from the first structure to the second structure ,
An information processing apparatus comprising:
ことを特徴とする請求項1に記載の情報処理装置。 Before Symbol setting information conversion unit, a setting value set in the members of the first structure, the said second structure having a first structure and the same structure name, the same data type and the member And assign it as a setting value of a member that has a member name ,
The information processing apparatus according to claim 1, wherein:
ことを特徴とする請求項1又は2に記載の情報処理装置。 The setting information conversion unit performs the conversion process when the first structure and the second structure are different from each other,
The information processing apparatus according to claim 1 or 2, characterized in that.
をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。 A text data output unit for outputting the setting information and the information indicating the first structure in a text format,
The information processing apparatus according to any one of claims 1 to 3, further comprising:
自装置に関する、データ構造が構造体で定義される設定情報をバイナリ形式で記憶する設定情報記憶部と、
自装置上で動作するソフトウェアのバージョン変更前における前記設定情報のデータ構造である第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名を記憶する第1データ構造情報記憶部と、
前記ソフトウェアのバージョン変更後における前記設定情報のデータ構造である第2構造体の構造体名、前記第2構造体のメンバのデータ型、及び、前記第2構造体のメンバのメンバ名と、前記第1構造体の構造体名、前記第1構造体のメンバのデータ型、及び、前記第1構造体のメンバのメンバ名との比較に基づいて、前記設定情報の内容の少なくとも一部を維持しつつ、前記設定情報のデータ構造を前記第1構造体から前記第2構造体に転換する転換処理を実行する設定情報転換部と、
として機能させることを特徴とするプログラム。 Computer,
A setting information storage unit that stores setting information, which has a data structure defined by a structure, in a binary format regarding its own device,
The structure name of the first structure, which is the data structure of the setting information before the version change of the software operating on the own device, the data type of the member of the first structure, and the member of the first structure A first data structure information storage unit that stores a member name ;
Structure name of the second structure is a data structure of the setting information after the version change of the software, the data type of a member of the second structure, and a member name of a member of the second structure, wherein Maintaining at least a portion of the content of the configuration information based on a structure name of the first structure, a data type of a member of the first structure, and a comparison with a member name of a member of the first structure. At the same time, a setting information conversion unit that executes a conversion process for converting the data structure of the setting information from the first structure to the second structure ,
A program characterized by making it function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016149504A JP6740785B2 (en) | 2016-07-29 | 2016-07-29 | Information processing device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016149504A JP6740785B2 (en) | 2016-07-29 | 2016-07-29 | Information processing device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018018369A JP2018018369A (en) | 2018-02-01 |
JP6740785B2 true JP6740785B2 (en) | 2020-08-19 |
Family
ID=61076180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016149504A Active JP6740785B2 (en) | 2016-07-29 | 2016-07-29 | Information processing device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6740785B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7456348B2 (en) | 2019-11-29 | 2024-03-27 | 株式会社リコー | Information processing system, information processing device, information processing method, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3808240B2 (en) * | 1999-07-08 | 2006-08-09 | Necエンジニアリング株式会社 | Data structure conversion system, conversion method, conversion program recording medium |
JP2009254513A (en) * | 2008-04-15 | 2009-11-05 | Fujinon Corp | Method of updating electronic endoscope firmware |
JP2012118869A (en) * | 2010-12-02 | 2012-06-21 | Fuji Xerox Co Ltd | Update program and image formation apparatus |
-
2016
- 2016-07-29 JP JP2016149504A patent/JP6740785B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018018369A (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4843222B2 (en) | Semiconductor memory device control method, memory card, and host device | |
JP6875808B2 (en) | Information processing device | |
JP4876051B2 (en) | Image processing apparatus and control method thereof | |
JP2006268377A (en) | Program start-up controller and program start-up control method | |
US20150256687A1 (en) | Image processing apparatus and method for controlling the same, and storage medium | |
JP6740785B2 (en) | Information processing device and program | |
JP5929809B2 (en) | Firmware update method and firmware program | |
JP6518159B2 (en) | Method and apparatus for transferring a binary image to a memory device | |
JP5060241B2 (en) | Information processing apparatus and control method thereof | |
JP4826610B2 (en) | Image processing apparatus and image erasing program | |
JP5417820B2 (en) | System file sharing apparatus, system file sharing method and program | |
JP2018018370A (en) | Information processor and program | |
JP2001060196A (en) | Image processor | |
JP2013045285A (en) | Information processor, image forming device, and program | |
JP4918276B2 (en) | Information processing apparatus and information processing method | |
JP2020170477A (en) | Storage device, control method thereof, and program | |
JP4976759B2 (en) | Image processing device | |
JP2006344022A (en) | Equipment and program starting method | |
JP7107188B2 (en) | Information processing device, image forming device and program | |
JP5842437B2 (en) | Information processing apparatus and information processing program | |
US10768846B2 (en) | Information processing apparatus and control method of information processing apparatus | |
JP2006126987A (en) | Image processor | |
JP2007076043A (en) | Printer | |
JP5326547B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2004295177A (en) | Controller of electronic equipment and printer controller |
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 | Written amendment |
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 |