JP2005251045A - Information processor, housing position management method, and program - Google Patents
Information processor, housing position management method, and program Download PDFInfo
- Publication number
- JP2005251045A JP2005251045A JP2004063364A JP2004063364A JP2005251045A JP 2005251045 A JP2005251045 A JP 2005251045A JP 2004063364 A JP2004063364 A JP 2004063364A JP 2004063364 A JP2004063364 A JP 2004063364A JP 2005251045 A JP2005251045 A JP 2005251045A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- information
- storage location
- data size
- 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
Links
Images
Abstract
Description
本発明は、情報処理装置、特に携帯電話機・PDA等の組み込み情報機器に関わる。 The present invention relates to an information processing apparatus, and more particularly to an embedded information device such as a mobile phone / PDA.
近年、携帯電話機等の組み込み端末では、高機能化が進み、以前パーソナルコンピュータに使用されていたものと同程度のCPUを備え、搭載されるRAMや不揮発性メモリ(フラッシュROMやバックアップ電源つきSRAM等)の容量も飛躍的に増加している。それに伴い、不揮発性メモリ上に搭載されるソフトウェアは複雑化・大規模化している。このため、組み込み端末の開発においては、このような大規模ソフトウェアの品質の維持が非常に大きな課題となっており、実際に市場に出回った組み込み端末に不具合が発見される例が後を絶たない。製品の納期を遵守しながらソフトウェアを全く不具合のない状態で出荷することが事実上困難となってきているため、出荷後にユーザの手元でソフトウェアを更新する手段が実現されてきている。 In recent years, built-in terminals such as mobile phones have become highly functional and have a CPU equivalent to that used in personal computers before, and are equipped with RAM and nonvolatile memory (flash ROM, SRAM with a backup power source, etc.) ) Capacity has also increased dramatically. Along with this, the software installed on the non-volatile memory has become complicated and large-scale. For this reason, maintaining the quality of such large-scale software has become a very big issue in the development of embedded terminals, and there are many examples where defects are found in embedded terminals that are actually on the market. . Since it has become practically difficult to ship software without any defects while complying with the delivery date of the product, means for updating the software at the user's hand after shipment has been realized.
例えば、特開2001−273147号公報では、バージョンアップされた情報およびその旧情報から差分情報を生成し、端末機器に送信する情報配布処理を提供する技術が開示されている。具体的には、サーバ計算機は、保持している情報のうち、バージョンアップされた情報およびその旧情報を有し、旧情報とバージョンアップされた情報とによって差分情報を生成する差分情報生成手段を有し、端末機器は、端末機器が保持する情報を最新の情報にバージョンアップする手段を有し、サーバ計算機から差分情報が送信されたとき、その差分情報および端末機器が保持する情報をもとにバージョンアップされた情報を生成する。 For example, Japanese Patent Application Laid-Open No. 2001-273147 discloses a technology that provides information distribution processing for generating difference information from upgraded information and its old information and transmitting the difference information to a terminal device. Specifically, the server computer has difference information generation means for generating difference information based on the old information and the upgraded information, having the upgraded information and the old information among the stored information. The terminal device has means for upgrading the information held by the terminal device to the latest information, and when the difference information is transmitted from the server computer, the terminal device is based on the difference information and the information held by the terminal device. Generate information that has been upgraded.
また、複雑化・大規模化にともない、搭載されるソフトウェアのオペレーティングシステムも、以前よりも高機能なものが採用されるようになってきており、ファイルシステムの広範囲な使用が進んできている。従来は、出荷後にユーザの手元で追加・修正されるデータのみファイルシステムで管理する等の方法が用いられることが多かったが、最近では、アプリケーションプログラムや、基本ソフトウェアの一部も、ファイルシステムの下に管理されるようなアーキテクチャが採用される例が増えてきている。 In addition, with the increasing complexity and scale, the operating system of the installed software has come to be adopted with higher functionality than before, and the file system has been widely used. In the past, methods such as managing only data that was added or modified by the user after shipment using the file system were often used. Recently, however, application programs and some of the basic software are also included in the file system. An increasing number of examples have adopted architectures that are managed below.
ファイルシステム上のシステムのソフトウェア更新方法の従来の例としては、UNIX(登録商標)におけるpatchコマンドが有名である。patchコマンドは、新旧のディレクトリ構造をファイルシステム上で比較した差分ファイルを入力として、旧版のディレクトリ構造に差分ファイルの内容を適用することにより新版のディレクトリ構造へ更新する機能を持つ。この際に、個々のファイルの更新はファイルシステムの機能を利用することによりおこなわれる。具体的には、旧版のディレクトリ構造の中に存在する複数のファイルのうち、差分ファイル中に差分情報が記載されているファイルのみをオープン(open)し、ファイルの内容を読み込み(read)、差分情報との照合を行なったのち、新版のファイルと一致するような書き込み(write)をおこない、ファイルをクローズ(close)する。このopen/read/write/closeといった機能はファイルシステムによって提供されるものであり、この一連の作業をおこなうことにより、ファイルシステムが搭載されている物理的なデバイス(ハードディスクドライブやフラッシュメモリ等)の内容を間接的に書き換えていることになる。例えば、上記の一連の操作においてファイルのサイズに変更が生じた場合には、closeが行なわれる際に、ファイルシステム中に格納されている対応するファイルのファイルサイズの情報の書き換えが行なわれる。
一般にファイルシステムは、物理的なデバイス上では、ファイルシステム全体の管理情報を格納する領域・ディレクトリ構造を管理する領域・ファイルデータを格納する領域等に分かれている。上記のようなファイル更新の操作が行なわれた場合には、ファイルデータ領域が書き換えられると同時に、ファイルシステムの管理領域やディレクトリ構造の管理領域にも書き換えが発生する。また、ファイルのサイズが変更になった場合に、デバイス上の空き領域が不足する場合には、ファイルデータの再配置をおこなうことにより空き領域を確保する操作(ガーベジコレクション)が発生することがある。 In general, on a physical device, a file system is divided into an area for storing management information of the entire file system, an area for managing a directory structure, an area for storing file data, and the like. When the file update operation as described above is performed, the file data area is rewritten, and at the same time, rewriting occurs in the management area of the file system and the management area of the directory structure. In addition, when the file size is changed, if there is not enough free space on the device, an operation (garbage collection) to secure the free space may occur by rearranging the file data. .
このため、patchコマンドのように、ファイルシステム上の操作により、複数のファイルに対して更新がおこなわれる場合には、一部のファイルに対する更新のみ完了している各中間段階においてもファイルシステム上の情報が完全であることが保証されるため、管理情報の書き換えが複数回発生したり、ガーベジコレクションが複数回発生する等のオーバーヘッドが発生し、ソフトウェア更新の完了までの時間に影響する。 For this reason, when a plurality of files are updated by an operation on the file system, such as a patch command, even on each intermediate stage in which only updates to some files are completed, Since it is guaranteed that the information is complete, overhead such as rewriting of management information occurs multiple times or garbage collection occurs multiple times, which affects the time until software update is completed.
本発明の目的の1つは、以上のような課題を解決することにあり、ファイルシステムが物理的には不揮発性メモリ上に配置されている場合に、ファイルシステムが適用する(open/read/write/closeなどの)機能を用いずに、オーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮できるソフトウェア更新技術を実現することである。 One of the objects of the present invention is to solve the above-described problems. The file system is applied when the file system is physically arranged on a nonvolatile memory (open / read / It is to realize a software update technique that can suppress the occurrence of overhead and shorten the time until software update is completed without using a function (such as write / close).
本発明に係る情報処理装置は、
所定の不揮発性メモリを対象とし、前記不揮発性メモリにおけるデータの格納位置を管理する情報処理装置であって、
前記不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得部と、
前記不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得部と、
前記データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと前記仮格納位置情報取得部により取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成部とを有することを特徴とする情報処理装置。
An information processing apparatus according to the present invention includes:
An information processing apparatus that targets a predetermined nonvolatile memory and manages a storage position of data in the nonvolatile memory,
A data size analysis information acquisition unit for acquiring data size analysis information used for analyzing a data size of a plurality of stored data stored in the nonvolatile memory;
A temporary storage position information acquisition unit that acquires temporary storage position information indicating a temporary storage position of each storage data in the nonvolatile memory;
Based on the data size analysis information acquired by the data size analysis information acquisition unit, the data size of each storage data is analyzed, and the data size of each storage data analyzed and the temporary storage position information acquisition unit acquired And a storage location designation information generating section for generating storage location designation information for designating a storage location of each storage data by arranging an empty area based on the storage location information. Information processing device.
本発明によれば、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成するため、ソフトウェア更新の際のオーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮することができる。 According to the present invention, since an empty area is arranged between a plurality of storage data and storage location designation information for designating the storage location of each storage data is generated, the occurrence of overhead during software update is suppressed, The time until update completion can be shortened.
実施の形態1.
図1は、本実施の形態に係るサーバ装置(情報処理装置)1の構成例を示す図である。本実施の形態に係るサーバ装置1は、携帯電話機、PDA等の組み込み端末(以下、端末または端末装置という)の不揮発性メモリにおけるプログラムやファイルデータ等の格納位置を指定することを主な役割とする。
FIG. 1 is a diagram illustrating a configuration example of a server apparatus (information processing apparatus) 1 according to the present embodiment. The
また、図23は、本実施の形態に係るサーバ装置1と端末装置2との関係を示す図であり、サーバ装置1と端末装置2とがネットワーク3で接続され、サーバ装置1より各種情報を端末装置2に送信することが可能である。
FIG. 23 is a diagram illustrating the relationship between the
図1において、データサイズ分析用情報入力部101は、端末が格納する格納データ(プログラムやファイルデータ等)のデータサイズを分析するためのデータサイズ分析用情報を入力する。データサイズ分析用情報の内容については、後述する。なお、データサイズ分析用情報入力部101はデータサイズ分析用情報取得部の例である。仮格納位置情報入力部102は、端末の不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を入力する。仮格納位置情報の内容については、後述する。なお、仮格納位置情報入力部102は、仮格納位置情報取得部の例である。格納位置指定情報生成部103は、データサイズ分析用情報入力部101から入力されたデータサイズ分析用情報と仮格納位置情報入力部102から入力された仮格納位置情報に基づいて、各格納データの間に所定の余裕領域(空き領域)を配置して各格納データの格納位置を指定する格納位置指定情報を生成する。格納位置指定情報書込/読出部104は、格納位置指定情報生成部103により生成された格納位置指定情報を格納位置指定情報記憶部106に書き込み、また、所定の場合に、格納位置指定情報記憶部106から格納位置指定情報を読み出す。出力部105は、格納位置指定情報生成部103により生成された格納位置指定情報を出力する。格納位置指定情報記憶部106は、格納位置指定情報書込/読出部104の制御に従い、格納位置指定情報を記憶する。
In FIG. 1, a data size analysis
なお、サーバ装置1は、図示していないが、例えばマイクロプロセッサ等のCPU、半導体メモリ等や磁気ディスク等の記録手段を有する計算機により実現することができる。記録手段に、サーバ装置1に含まれる各構成要素の機能を実現するプログラムを記録し、CPUがこれらのプログラムを読み込むことによりサーバ装置1の動作を制御し、各構成要素の機能を実現することも可能である。
Although not shown, the
図2は端末の代表的なハードウェア構成を示す図である。端末はCPUを備え、バスを経由してネットワークと通信するための通信手段、RAM、不揮発性メモリ(ROM)、キーなどの入力手段、表示手段と接続されている。不揮発性メモリには、ブートローダ、カーネル、ファイルシステム、および書き換え用プログラムが格納されている。ファイルシステム中には、端末の機能に必要な実行プログラムが格納されている。 FIG. 2 is a diagram showing a typical hardware configuration of the terminal. The terminal includes a CPU, and is connected to communication means for communicating with a network via a bus, input means such as a RAM, a nonvolatile memory (ROM), a key, and display means. The nonvolatile memory stores a boot loader, a kernel, a file system, and a rewriting program. The file system stores an execution program necessary for the function of the terminal.
次に、図21を参照して、サーバ装置1の動作を説明する。なお、以下の説明では、端末の不揮発性メモリに初版の格納データを格納する際の各格納データの格納位置を指定する場合について説明する。
Next, the operation of the
先ず、ステップS2201において、データサイズ分析用情報入力部101がデータサイズ分析用情報を入力する(データサイズ分析用情報取得ステップ)。データサイズ分析用情報とは、端末が格納する格納データのデータサイズを分析するための情報であり、例えば、ディレクトリツリー及び端末の不揮発性メモリに格納される他の格納データ(ブートヘッダ・カーネル・書き換えプログラム)である。図4は、ステップS2201において、入力されるディレクトリツリーの例を示す図である。本ディレクトリツリーの内容が不揮発性メモリ上のファイルシステム上に置かれる。図において、ルート(根元)のディレクトリの名前は”/”であり、その下にdir1とdir2というディレクトリが配置されている。ディレクトリdir1の下にはファイルfile1が、ディレクトリdir2の下にはfile2およびfile3が、それぞれ配置されている。
First, in step S2201, the data size analysis
次に、ステップS2202において、仮格納位置情報を入力する(仮格納位置情報取得ステップ)。仮格納位置情報とは、格納位置指定情報の生成に用いる各格納データの仮の格納位置を示す情報であり、例えば、図3に示す不揮発性メモリ構成情報である。不揮発性メモリ構成情報には、不揮発性メモリに搭載するそれぞれのデータ領域の開始番地を記述する。データ領域に重なりが生じないように、十分に余裕をとることが必要である。図において、不揮発性メモリにはブートヘッダ・カーネル・ファイルシステムヘッダ・ディレクトリ情報・ファイルデータ・書き換えプログラムのそれぞれが配置され、たとえばブートヘッダは16進数のアドレスで0x00000000番地、ファイルデータは0x00400000番地から配置されるようになっている。ファイルシステムヘッダ・ディレクトリ情報・ファイルデータはファイルシステムの構成要素であり、ディレクトリツリーの内容から作成されるファイルシステムに対応して配置される。 Next, in step S2202, temporary storage position information is input (temporary storage position information acquisition step). The temporary storage position information is information indicating a temporary storage position of each storage data used for generating the storage position designation information, and is, for example, nonvolatile memory configuration information shown in FIG. In the non-volatile memory configuration information, the start address of each data area mounted in the non-volatile memory is described. It is necessary to provide a sufficient margin so that the data area does not overlap. In the figure, the boot memory, kernel, file system header, directory information, file data, and rewrite program are arranged in the non-volatile memory. For example, the boot header is assigned a hexadecimal address at address 0x00000000, and the file data is assigned at address 0x00400000. It has come to be. The file system header, directory information, and file data are components of the file system and are arranged corresponding to the file system created from the contents of the directory tree.
次に、ステップS2203において、ステップS2201で入力された情報とステップS2202で入力された情報とに基づいて格納位置指定情報を生成する(格納位置指定情報生成ステップ)。この格納位置指定情報の生成については、後述するが、格納位置指定情報生成部103は、ステップS2201及びステップS2202で入力された情報を入力とし、指定された開始アドレスにそれぞれの情報を配置することにより、それぞれ格納位置指定情報である不揮発性メモリイメージ情報及び不揮発性メモリ配置情報を作成する。ファイルシステムについては、ディレクトリツリーからディレクトリツリーを作成し、ファイルシステムヘッダ・ディレクトリ情報・ファイルデータを作成する。これはたとえば、UNIX(登録商標)オペレーションシステムを組み込みシステムに使用する際にROM上に実装するファイルシステムとして多用されているCramFSファイルシステムであれば、mkcramfsというプログラムを使用することにより可能である。CramFSの場合、ファイルシステムヘッダはスーパーブロックと呼ばれており、ディレクトリ情報はi−node領域と呼ばれている。
Next, in step S2203, storage location specification information is generated based on the information input in step S2201 and the information input in step S2202 (storage location specification information generation step). Although the generation of the storage location designation information will be described later, the storage location designation
ステップS2203において格納位置指定情報(不揮発性メモリイメージ情報及び不揮発性メモリ配置情報)が生成された後は、ステップS2204で格納位置指定情報が出力部105から出力され、また、ステップS2205で格納位置指定情報書込/読出部104により格納位置指定情報が格納位置指定情報記憶部106に格納される。
図5は格納位置指定情報生成部103により生成される、格納位置指定情報の一つである不揮発性メモリイメージ情報の例を示す図である。図において、斜線部は余裕領域(空き領域)であり、データが何も配置されず不揮発性メモリの初期状態となっている。たとえば、カーネルの開始アドレスが0x00100000、ファイルシステムヘッダの開始アドレスが0x00200000と不揮発性メモリ構成情報に指定されていたが、カーネルのサイズが0x00200000−0x00100000=0x100000バイトよりも小さい場合には、このような余裕領域が不揮発性メモリ上に発生することになる。ディレクトリツリーにより作成されたファイルシステムヘッダ・ディレクトリ情報もそれぞれ指定された位置に配置される。
After the storage location designation information (nonvolatile memory image information and nonvolatile memory arrangement information) is generated in step S2203, the storage location designation information is output from the
FIG. 5 is a diagram illustrating an example of the non-volatile memory image information that is one of the storage location designation information generated by the storage location designation
file1、file2、file3はファイルデータであり、ディレクトリツリー中に与えられた各ファイルの内容である。図において、ファイルシステムヘッダ・ディレクトリ情報・およびそれぞれのファイルデータの間には、余裕領域が設けられている。格納位置指定情報生成部103は、このような余裕領域を自動的に挿入する。自動的に挿入する余裕領域のサイズを決定するための方法としては、最も単純にはそれぞれのデータの開始アドレスを一定間隔とすることが考えられる。
File1, file2, and file3 are file data, which are the contents of each file given in the directory tree. In the figure, a margin area is provided between the file system header, directory information, and each file data. The storage location designation
図6は格納位置指定情報生成部103により生成される、格納位置指定情報の一つである不揮発性メモリ配置情報の例を示す図である。不揮発性メモリ配置情報は、格納位置指定情報生成部103が、不揮発性メモリ構成情報(仮格納位置情報)に基づき、それぞれのデータを不揮発性メモリ上に配置した際の結果を示したものであり、基本的に不揮発性メモリ構成情報を包含するものである。例えば、ブートヘッダは不揮発性メモリ上でのサイズが0x00080042バイトであったため、余裕領域はそのアドレスからスタートしている。なお、ファイルシステムヘッダ・ディレクトリ情報・およびfile1、file2、file3のそれぞれの後ろの余裕領域は、格納位置指定情報生成部103が自動的に挿入したものであるが、本実施の形態においてはそれぞれのデータの間隔を0x00100000バイト刻みで増加させている(それぞれ開始アドレスが0x00200000、0x00300000、0x00400000、0x00500000、0x00600000となっている)。そのためこのような開始アドレスの配置になっており、余裕領域が自動的に配置される。
FIG. 6 is a diagram illustrating an example of non-volatile memory arrangement information that is one of storage position designation information generated by the storage position designation
ここで、図22を用いて、格納位置指定情報の生成手順(ステップS2203)の内容を説明する。図21のステップS2202で入力された不揮発性メモリ構成情報(仮格納位置情報)に示された順に、各格納データを順に分析対象とし、ステップS2301において、対象となる格納データのデータサイズをステップS2201で入力されたディレクトリツリーやブートヘッダ・カーネル・書き換えプログラム(データサイズ分析用情報)をもとに算出する。次に、ステップS2302において、当該格納データの開始アドレスに算出したデータサイズを加算する。次に、ステップS2302で求めた加算値に対応するアドレスを余裕領域の開始アドレスに指定し(ステップS2303)、指定した余裕領域の開始アドレスを不揮発性メモリ構成情報(仮格納位置情報)に書き込む(ステップS2304)。次に、全ての格納データについて余裕領域の開始アドレスが書き込まれたか否かを確認し(ステップS2305)、全ての格納データについて余裕領域の開始アドレスの書き込みが終了している場合(ステップS2305でYes)は、処理を終了する。なお、全ての格納データについて余裕領域の開始アドレスが書き込みまれた不揮発性メモリ構成情報(仮格納位置情報)が不揮発性メモリ配置情報となり、この不揮発性メモリ配置情報をイメージ情報にデータ変換したものが不揮発性メモリイメージ情報となる。一方、余裕領域の開始アドレスの書き込みが行われていない格納データが存在する場合(ステップS2305でNo)は、不揮発性メモリ構成情報(仮格納位置情報)の順序で次の格納データを分析対象とし(ステップS2306)、ステップS2301に戻る。
Here, the content of the storage location designation information generation procedure (step S2203) will be described with reference to FIG. In the order indicated by the non-volatile memory configuration information (temporary storage location information) input in step S2202 of FIG. 21, each storage data is set as an analysis target in order, and in step S2301, the data size of the target storage data is set in step S2201. It is calculated based on the directory tree, boot header, kernel, and rewrite program (data size analysis information) input in
さて、作成された不揮発性メモリイメージ情報は、初版においては端末上の不揮発性メモリ上に書き込まれて、端末が出荷される。端末の出荷後に不具合が発生した場合には、不揮発性メモリ上の端末ソフトウェアを修正しなければならない。本実施の形態においては、不具合修正対象をファイルシステム上のディレクトリツリー内に存在するファイルと仮定する。ディレクトリツリー内のファイルに不具合が発生した場合には、まずディレクトリツリー上のファイルを改修した修正版を人手により作成し、その後新版のディレクトリツリーに対して、不揮発性メモリイメージ情報及び不揮発性メモリ配置情報の作成をおこなう。 The created nonvolatile memory image information is written in the nonvolatile memory on the terminal in the first version, and the terminal is shipped. If a problem occurs after shipment of the terminal, the terminal software on the nonvolatile memory must be corrected. In the present embodiment, it is assumed that the defect correction target is a file existing in a directory tree on the file system. When a problem occurs in a file in the directory tree, first, a modified version of the file on the directory tree is manually created, and then the non-volatile memory image information and the non-volatile memory allocation for the new version of the directory tree. Create information.
新版のディレクトリツリーが作成された後、データサイズ分析用情報入力部101には、新版のディレクトリツリーがデータサイズ分析用情報として入力され、仮格納位置情報入力部102には、初版の場合と異なり、不揮発性メモリ構成情報の代わりに、初版の際に作成された不揮発性メモリ配置情報が、仮格納位置情報として入力される。なお、初版の際に作成された不揮発性メモリ配置情報は、格納位置指定情報記憶部106に記憶されているので、格納位置指定情報書込/読出部104が初版の際に作成された不揮発性メモリ配置情報を格納位置指定情報記憶部106から読み出して格納位置指定情報生成部103に提供してもよい。この場合は、格納位置指定情報書込/読出部104が仮格納位置情報取得部として機能することになる。不揮発性メモリ配置情報には、ファイルシステムの構成要素であるファイルシステムヘッダ・ディレクトリ情報・およびfile1、file2、file3というそれぞれのファイルデータの開始アドレスが含まれる。新版の不揮発性メモリイメージ作成時には、これらの開始アドレスを変えないような配置をおこなう。
After the new version of the directory tree is created, the new version of the directory tree is input to the data size analysis
つまり、格納位置指定情報生成部103は、データサイズ分析用情報入力部101及び仮格納位置情報入力部102(または格納位置指定情報書込/読出部104)からの情報に基づき、新版の各格納データの間に空き領域を配置して新版の各格納データの格納位置を指定する格納位置指定情報を生成するが、その際に、格納データの改訂により新版においてデータサイズが変化する格納データが存在する場合に、旧版の格納データの格納位置指定情報において当該格納データの格納位置として指定されている領域と当該格納データについて設けられている空き領域とを合わせた領域(格納候補領域)にデータサイズが変化した新版の格納データを格納するよう指定する格納位置指定情報を生成する。また、データサイズの変更がない格納データについては、当該格納データの格納位置及び空き領域は旧版のままとする。
That is, the storage location designation
なお、従来は、余裕領域の挿入をおこなわず、しかも第2版以降も初版でおこなったのと同様に不揮発性メモリ構成情報から不揮発性メモリイメージの作成をおこなっていたため、ファイルのサイズが変化した場合に、初版と第2版以降ではメモリイメージにアドレスのずれが生じていた。このようなアドレスのずれは、端末上でソフトウェア更新のために不揮発性メモリ領域に書き込みをおこなう際に、不揮発性メモリ領域の書き込みが必要な領域が増加することになる。たとえば、本実施の形態では、file1のみを修正する場合には、file1の修正の影響は余裕領域に吸収され、file2やfile3に影響を与えることはない。しかし、余裕領域を設けない場合には、file1のサイズが増加することにより、file2やfile3の開始アドレスも後ろにずれることになる。その結果、file2やfile3には修正がないにもかかわらず、端末上ではアドレスのずれに対応するために、file2、file3を表すメモリ領域を書き直す必要が出てくる。一方、本実施の形態においては、余裕領域の挿入と、不揮発性メモリ配置情報の利用により、それぞれのデータが、旧版と同じ開始アドレスから配置されることが保証されるため、上記のようなずれが生じず、ソフトウェア更新時の不揮発性メモリ書き込み量を減少させることが可能となる。本実施の形態においては、file2、file3に関しては、端末上で上書きをおこなう必要がない。
In the past, no extra area was inserted, and the second and subsequent versions created the non-volatile memory image from the non-volatile memory configuration information in the same way as in the first version, so the file size changed. In this case, the address shift occurred in the memory image between the first version and the second version. Such an address shift increases the area that needs to be written to the nonvolatile memory area when writing to the nonvolatile memory area for software update on the terminal. For example, in the present embodiment, when only the
図7は第2版作成時に格納位置指定情報生成部103が出力する不揮発性メモリ配置情報の例である。図7では、file1のみに変更が生じ、file1のサイズが変わっている場合の不揮発性メモリ配置情報の例を示している。この場合、file1のサイズが増加しているので、file1の後ろの余裕領域のサイズが減少している。一方で、他の格納データについては、それぞれの格納データの開始アドレス及び余裕領域の開始アドレスは変化していない。
FIG. 7 is an example of the non-volatile memory arrangement information output from the storage location designation
このように、本実施の形態では、不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得部と、不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得部と、データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと仮格納位置情報取得部により取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成部とを有する情報処理装置について説明した。 Thus, in the present embodiment, a data size analysis information acquisition unit that acquires data size analysis information used for analyzing the data size of a plurality of stored data stored in the nonvolatile memory, and a nonvolatile Temporary storage position information acquisition unit for acquiring temporary storage position information indicating the temporary storage position of each storage data in the memory, and data of each storage data based on the data size analysis information acquired by the data size analysis information acquisition unit Analyzing the size and storing each storage data by placing a free area between multiple storage data based on the data size of each storage data analyzed and the temporary storage location information acquired by the temporary storage location information acquisition unit An information processing apparatus having a storage position specification information generation unit that generates storage position specification information for specifying a position has been described.
また、本実施の形態では、各格納データの間に空き領域を配置するよう指定する格納位置指定情報を生成する場合について説明した。 Further, in the present embodiment, a case has been described in which storage location designation information that designates an empty area to be placed between each stored data is generated.
また、複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成することも可能である。 It is also possible to classify a plurality of storage data into a plurality of groups and generate storage location designation information for designating that an empty area is arranged between each group.
また、データサイズ分析用情報取得部は、格納データの改訂が行われる場合に、新版の複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得し、仮格納位置情報取得部は、旧版の格納データについて格納位置指定情報生成部により生成された格納位置指定情報を仮格納位置情報として取得し、格納位置指定情報生成部は、データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき新版の各格納データのデータサイズを分析し、分析した新版の各格納データのデータサイズと仮格納位置情報取得部により取得された旧版の格納データの格納位置指定情報とに基づき、新版の複数の格納データの間に空き領域を配置して新版の各格納データの格納位置を指定する格納位置指定情報を生成する。 In addition, the data size analysis information acquisition unit acquires data size analysis information used for analyzing the data size of a plurality of new versions of storage data when the storage data is revised, and provisional storage position information The acquisition unit acquires the storage location specification information generated by the storage location specification information generation unit for the old version of the storage data as temporary storage location information, and the storage location specification information generation unit is acquired by the data size analysis information acquisition unit. Analyzing the data size of each new version of the storage data based on the data size analysis information, and analyzing the data size of each storage data of the new version analyzed and the storage location designation information of the old version of the storage data acquired by the temporary storage location information acquisition unit Based on the above, the storage location specification information is generated to specify the storage location of each new version of storage data by allocating an empty area between the multiple versions of storage data. To.
また、本実施の形態では、新版の各格納データの間に空き領域を配置するよう指定する格納位置指定情報を生成する場合について説明した。 Further, in the present embodiment, a case has been described in which storage location designation information for designating that a free area is arranged between each new version of storage data is generated.
また、新版の複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成することも可能である。 It is also possible to classify a plurality of storage data of the new version into a plurality of groups and generate storage location designation information for designating that an empty area is arranged between each group.
また、本実施の形態では、旧版の格納データの格納位置指定情報において指定された格納位置と同じ格納位置を新版の各格納データに対して指定する格納位置指定情報を生成する。 Further, in the present embodiment, the storage location designation information for designating the same storage location as the storage location designated in the storage location designation information of the old version of the storage data for each new version of the storage data is generated.
以上のように、本実施の形態によれば、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成するため、ソフトウェア更新の際のオーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮することができる。 As described above, according to the present embodiment, the storage location designation information for designating the storage location of each storage data by generating an empty area between a plurality of storage data is generated, so that the overhead at the time of software update Can be suppressed, and the time to complete the software update can be shortened.
実施の形態2.
図8は、新版においてファイルサイズが大きく増加した場合に格納位置指定情報生成部103により生成される不揮発性メモリ配置情報の例を示す図である。この場合、file1のサイズが0x00133332に増加している。この場合には、初版におけるfile1の後ろの余裕領域内に増加量が収まらないため、file1の移動がおこなわれる。すなわち、file3の後ろの余裕領域内に新たに0x00700000番地にfile1を配置する。このことにより、余裕領域のサイズを越えた場合にも、file2、file3の書き込み位置に影響が生じないため、端末上でのソフトウェア更新において、不揮発性メモリの書き込み量を削減することが可能となる(file2、file3を上書きする必要がない)。
FIG. 8 is a diagram illustrating an example of the non-volatile memory arrangement information generated by the storage location designation
なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。
The configuration of the
このように、本実施の形態では、格納データの改訂により新版においてデータサイズが増加する格納データが存在する場合に、旧版の格納データの格納位置指定情報において当該格納データの格納位置として指定されている領域と当該格納データについて設けられている空き領域とを合わせた格納候補領域にデータサイズが増加した新版の格納データが格納可能か否かを判断し、格納候補領域に格納可能な場合には、実施の形態1で示したように、データサイズが増加した新版の格納データを格納候補領域に格納するよう指定する格納位置指定情報を生成し、格納候補領域に格納できない場合に、データサイズが増加した新版の格納データを格納可能な空き領域(図8の例では、file3の後ろの領域)を検索し、検索した空き領域にデータサイズが増加した新版の格納データを格納するよう指定する格納位置指定情報を生成する。 As described above, in the present embodiment, when there is storage data whose data size increases in the new version due to revision of the storage data, it is designated as the storage position of the storage data in the storage position designation information of the old version of the storage data. To determine whether it is possible to store the new version of the storage data whose data size has increased in the storage candidate area that combines the existing area and the free space provided for the storage data. As shown in the first embodiment, when the storage location designation information for designating that the storage data of the new version with the increased data size is stored in the storage candidate area is generated and cannot be stored in the storage candidate area, the data size is An empty area (in the example of FIG. 8, an area after file3) in which the increased new version of storage data can be stored is searched, and data is stored in the searched empty area. Generating a storage position specifying information to specify that stores data stored in the new edition size is increased.
以上より、本実施の形態によれば、いずれかの新版の格納データが余裕領域のサイズを越えた場合にも、他の格納データの書き込み位置に影響が生じないため、端末上でのソフトウェア更新において、他の格納データの上書きをする必要がなく、不揮発性メモリの書き込み量を削減することが可能となる。 As described above, according to the present embodiment, even if any of the new version of the stored data exceeds the size of the margin area, the writing position of the other stored data is not affected, so the software update on the terminal In this case, it is not necessary to overwrite other stored data, and the write amount of the nonvolatile memory can be reduced.
実施の形態3.
新版において、ファイルが新たに追加されるケースも考えられる。
In the new version, there may be cases where new files are added.
図9はファイルが新たに追加された場合の新版のディレクトリツリーの例を示す図である。本例では、ディレクトリdir2の下にfile21が追加されている。 FIG. 9 is a diagram showing an example of a new version of the directory tree when a file is newly added. In this example, file 21 is added under the directory dir2.
本実施の形態においては、基本的にメモリ上でのファイルの配置の順番は、ファイル名の辞書的配列としている。したがって、仮に図のようなディレクトリツリーが初版において与えられた場合には、file1、file2、file21、file3の順にメモリ上に配置されることになる。しかし、第2版以降においては、端末上での不揮発性メモリ書き込み量の削減のためには、初版のファイルの順序を極力変化させることなく配置することが望ましい。そこで、本実施の形態においては、新規ファイルの追加は、既存のファイルがすでに配置されている領域ではなく、余裕領域に対しておこなう。 In the present embodiment, the order of file arrangement on the memory is basically a lexicographic arrangement of file names. Therefore, if a directory tree as shown in the figure is given in the first version, it will be arranged on the memory in the order of file1, file2, file21, and file3. However, in the second and later versions, in order to reduce the amount of nonvolatile memory written on the terminal, it is desirable to arrange the files in the first version without changing the order as much as possible. Therefore, in the present embodiment, the addition of a new file is performed not on the area where the existing file is already arranged but on the margin area.
図10はファイル数が増加した場合の格納位置指定情報生成部103により生成される不揮発性メモリ配置情報の例を示す図である。図において、file21は辞書的配列であればfile2とfile3の間に配置されるべきところであるが、これがfile3の後ろの余裕領域上に配置されている。このように、格納位置指定情報生成部103は、ファイルが新規に追加された場合には余裕領域に配置を行うよう指定する格納位置指定情報を生成する。
FIG. 10 is a diagram illustrating an example of the nonvolatile memory arrangement information generated by the storage location designation
なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。
The configuration of the
このように、本実施の形態では、格納データの改訂により新たな格納データが生成された場合に、旧版の格納データの格納位置指定情報において空き領域として指定されている領域に新たに生成された格納データを格納するよう指定する格納位置指定情報を生成する。 As described above, in the present embodiment, when new storage data is generated by revising the storage data, it is newly generated in the area designated as the empty area in the storage location designation information of the old version of the storage data. Storage location specification information for specifying storage data is generated.
以上より、本実施の形態によれば、第2版以降において、初版のファイルの順序を極力変化させることなく新たなファイルを配置することができ、端末上での不揮発性メモリ書き込み量を削減することが可能になる。 As described above, according to the present embodiment, in the second and subsequent versions, new files can be arranged without changing the order of the files of the first version as much as possible, and the amount of nonvolatile memory written on the terminal is reduced. It becomes possible.
実施の形態4.
ところで、端末側で端末ソフトウェアの更新をおこなう際には、不揮発性メモリ上の内容を書き換えなければならない。端末は、サーバ装置1からネットワーク3を経由して送信される差分コマンドに従って不揮発性メモリの書き換えをおこなう。その際に、端末のRAM上に一旦不揮発性メモリに書き込む単位のイメージが作成される。
Embodiment 4 FIG.
By the way, when updating the terminal software on the terminal side, the contents on the nonvolatile memory must be rewritten. The terminal rewrites the nonvolatile memory in accordance with the differential command transmitted from the
図11は端末上でのソフトウェア書き換えの全体的な手順を示す。まず、差分コマンドをネットワーク経由でダウンロードし(ステップS1101)、次に差分コマンドに従って不揮発性メモリイメージを書き換える(ステップS1102)。 FIG. 11 shows an overall procedure of software rewriting on the terminal. First, the differential command is downloaded via the network (step S1101), and then the nonvolatile memory image is rewritten according to the differential command (step S1102).
なお、従来のソフトウェア更新は、図20にあるような手順でおこなわれる。これは、例えばUNIX(登録商標)で多用されるpatchプログラムを使用した場合にあてはまる。まず、端末は差分情報(パッチ)をダウンロードする(ステップS2001)。差分情報には、どのファイルに対してどのような修正を施すべきかが記述されている。次に、差分情報に含まれるそれぞれのファイルに対して、ファイルシステムの機能を用いて書き換えをおこなう(ステップS2002)。たとえば、あるファイルを修正する場合には、そのファイルをオープン(open)し、書き込み(write)をおこない、クローズ(close)する。このopen/write/closeといった機能は、ファイルシステムの機能として提供されるものであり、内部的には、ファイルデータ領域のほかに、ファイルシステムヘッダやディレクトリ情報の領域への書き換えの処理に変換される。したがって、複数のファイルに対する書き換えをおこなう場合には、それぞれのファイルを修正するごとに、ファイルシステムヘッダやディレクトリ情報への書き換えが発生するため、処理効率が良くない。これに対し、本実施の形態の方法によれば、ファイルシステムの機能を用いずに、不揮発性メモリイメージの新版・旧版の差分情報を用いて、不揮発性メモリを直接書き換えるため、ファイルシステムヘッダやディレクトリ情報への書き換えが一度で済む。 The conventional software update is performed according to the procedure shown in FIG. This is the case, for example, when a patch program frequently used in UNIX (registered trademark) is used. First, the terminal downloads difference information (patch) (step S2001). The difference information describes what correction should be applied to which file. Next, each file included in the difference information is rewritten using the function of the file system (step S2002). For example, when a certain file is to be corrected, the file is opened (open), written (write), and closed (closed). This open / write / close function is provided as a file system function, and is internally converted to a rewrite process to the file system header and directory information area in addition to the file data area. The Therefore, when rewriting a plurality of files, each time each file is modified, rewriting to the file system header and directory information occurs, so the processing efficiency is not good. On the other hand, according to the method of the present embodiment, the file system header or the file system header or the like can be directly rewritten using the difference information between the new version and the old version of the nonvolatile memory image without using the file system function. Rewrite directory information only once.
以下、不揮発性メモリイメージ書き換え処理について説明する。
図12は端末に送信される差分コマンドの例である。この例では、図6のfile1の先頭に4バイト分、0x12345678を追加し、以後すべて旧版のfile1のコピーするコマンドを示している。これにより、file1のサイズは0x00424058から0x0042405aとなる。なお、実際にはfile1のサイズが変化することにより、ファイルシステムヘッダやディレクトリ情報にも影響があるが、本例ではこれを省略する。本例の差分コマンドは以下の内容から成る。
・ SKIP 0x00400000
不揮発性メモリの先頭0x00400000バイト分を読み飛ばす(書き換えをおこなわない)
・ DATA 0x12345678
0x12345678を(現在の0x00400000バイト目から)書き込む
・ COPY 0x00400000、0x00424058
旧版の不揮発性メモリの0x00400000バイト目から0x00424058バイト分コピーをおこなう
・ FLUSH
今までの内容を実際に不揮発性メモリに書き込む
Hereinafter, the nonvolatile memory image rewriting process will be described.
FIG. 12 is an example of a differential command transmitted to the terminal. In this example, 0x12345678 for 4 bytes is added to the head of file1 in FIG. 6, and thereafter, a command for copying the old version of file1 is shown. As a result, the size of file1 is changed from 0x00424058 to 0x0042405a. Note that the file system header and directory information are actually affected by the change in the size of file1, but this is omitted in this example. The difference command in this example has the following contents.
・ SKIP 0x00400000
Skips the first 0x00400000 bytes of non-volatile memory (does not rewrite)
・ DATA 0x12345678
Write 0x12345678 (from the current 0x00400000 byte) • COPY 0x00400000, 0x00424058
Copy 0x0042000058 bytes from 0x00400000 bytes of the old version of non-volatile memory ・ FLUSH
Actually write the contents so far to nonvolatile memory
図13は差分コマンドによる端末上の不揮発性メモリの変化の様子を示す図である。図のように、データの書き込み(0x12345678)および領域のコピーを端末の不揮発性メモリ上でおこなう必要がある。 FIG. 13 is a diagram showing how the nonvolatile memory on the terminal changes due to the differential command. As shown in the figure, it is necessary to write data (0x12345678) and copy the area on the nonvolatile memory of the terminal.
このような場合には、端末での処理には次のような問題が生ずる。もしも、不揮発性メモリ上でDATAコマンドの処理(0x12345678の書き込み)をおこなってからCOPY(領域のコピー)をおこなおうとすると、コピーする領域の先頭の4バイトがすでに0x12345678に書き換えられているため、望ましい結果が得られない。この場合には、COPYをおこなってからDATAを処理することにより、望ましい結果が得られるが、一般には不揮発性メモリ上の処理だけで書き換えをおこなうのは難しい。したがって、まず不揮発性メモリ上の内容を一旦RAM(ワークメモリ)にコピーして、RAM上に所望の新版のメモリイメージを作成してから、不揮発性メモリにコピーする方法をとる。 In such a case, the following problems occur in the processing at the terminal. If the COPY (area copy) is performed after the DATA command processing (write 0x12345678) on the nonvolatile memory, the first 4 bytes of the area to be copied are already rewritten to 0x12345678. The desired result is not obtained. In this case, a desirable result can be obtained by processing DATA after performing COPY. However, it is generally difficult to rewrite only by processing on a nonvolatile memory. Therefore, first, the content in the nonvolatile memory is temporarily copied to a RAM (work memory), a desired new version of the memory image is created on the RAM, and then copied to the nonvolatile memory.
図14は端末上での不揮発性メモリ書き換えの様子を示す図である。図に示すように、差分コマンドの実行の際には、一旦RAM上でメモリイメージが作成され、FLUSHコマンド実行時に不揮発性メモリ上にコピーされる。これにより、コマンド実行順により不揮発性メモリの内容が破壊される問題は解決される。なお、FLUSHコマンドは、余裕領域の最後に挿入される。なお、以上のことはRAM上に一旦コピーすることの必要性を説明しているだけであって、本特許の請求する発明の範囲ではない。 FIG. 14 is a diagram showing how the nonvolatile memory is rewritten on the terminal. As shown in the figure, when executing the differential command, a memory image is once created on the RAM, and copied to the non-volatile memory when the FLUSH command is executed. This solves the problem that the contents of the nonvolatile memory are destroyed by the command execution order. The FLUSH command is inserted at the end of the margin area. Note that the above only explains the necessity of once copying to the RAM, and is not within the scope of the claimed invention.
ところで、今までに述べてきた実施の形態においては、ファイル1つ1つに対して余裕領域を設けてきた。実際には、余裕領域を多くとりすぎると、不揮発性メモリ上で実際に使用可能な領域が減ることになり、好ましくない。したがって、ファイル1つ1つに対してではなく、いくつかの複数のファイルをグループに分類し、各グループの間に余裕領域を挿入することが考えられる。上に説明したように、FLUSHコマンドは、余裕領域の単位ごとに挿入され、それまでに端末のRAM上に作成されてきたメモリイメージを不揮発性メモリに書き込む契機となる。 By the way, in the embodiments described so far, a margin area is provided for each file. Actually, if there is too much marginal area, the area that can actually be used on the non-volatile memory decreases, which is not preferable. Therefore, it is conceivable to classify a plurality of files into groups and insert a margin area between each group instead of one file at a time. As described above, the FLUSH command is inserted for each unit of the margin area, and triggers writing the memory image created on the terminal RAM so far into the nonvolatile memory.
ところが、端末においてはRAMの容量を大きくとることができない場合がある。つまり、端末のコストを削減するためにRAMのサイズを小さくせざるを得ない場合がある。したがって、複数のファイルをグループに分類し、各グループに対して余裕領域を挿入する場合に、多くのファイルをまとめたために、次の余裕領域までのデータの量が大きくなりすぎると、端末において使用可能なRAMの量を超える場合が考えられ、この場合には上記方式により不揮発性メモリの書き換えをおこなうことができなくなる。 However, there are cases where the RAM capacity cannot be increased in the terminal. That is, there is a case where the size of the RAM has to be reduced in order to reduce the cost of the terminal. Therefore, when multiple files are classified into groups and a margin area is inserted for each group, a large number of files are combined, so if the amount of data up to the next margin area becomes too large, the terminal uses it. It is conceivable that the amount of RAM that can be exceeded is exceeded. In this case, the nonvolatile memory cannot be rewritten by the above method.
したがって、本実施の形態の格納位置指定情報生成部103では、あらかじめ端末の持つRAM(ワークメモリ)の量を考慮に入れて、余裕領域を挿入する単位として複数のファイルをまとめる際に、このRAMの上限を超えないようにすることを特徴とする。
Therefore, the storage location designation
図15は本実施の形態による格納位置指定情報生成部103により作成された不揮発性メモリ配置情報の例である。この場合、file1のサイズが0x00080000であり、file2のサイズが0x00060000であり、file3のサイズが0x000f0000である。端末のRAMの使用可能な上限が0x00100000バイトである場合、file1とfile2をあわせて0x000d0000というサイズとなり、RAMの使用可能な上限に収まる。ところが、file1、file2、file3を合わせると、サイズは0x001c0000となり、RAMの上限を超える。したがって、格納位置指定情報生成部103は、file1、file2をまとめて、その後ろに余裕領域を挿入する。また、file3の後ろにも余裕領域を挿入する。
FIG. 15 is an example of the non-volatile memory arrangement information created by the storage location designation
なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。
The configuration of the
このように、本実施の形態では、複数の格納データをグループとして分類する場合に、各グループのデータサイズが、不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以下となるように新版の複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成する。 Thus, in this embodiment, when a plurality of stored data is classified as a group, the data size of each group is equal to or smaller than the memory size of the work memory used when storing the new version of stored data in the nonvolatile memory. Thus, the new version of the plurality of storage data is classified into a plurality of groups, and storage location designation information for designating that an empty area is arranged between each group is generated.
以上より、本実施の形態によれば、ワークメモリであるRAMの容量が少ない端末においても、有効に端末ソフトウェアの更新を行うことができる。 As described above, according to the present embodiment, it is possible to effectively update the terminal software even in a terminal having a small RAM capacity as a work memory.
実施の形態5.
ところで、RAMの使用可能サイズを上回る大きさのファイルが存在する場合が考えられる。この場合には、格納位置指定情報生成部103は、ファイルが分割可能であれば、分割した部分に余裕領域を挿入する。分割可能なファイルとして、コンパイルリンク済みのファイルが、いくつかのセクションに分離されている場合がある。C言語等で記述されたプログラムをコンパイラリンクした場合、コンパイル済みファイルは、命令セクション(TEXTと呼ばれることがある)、初期値付きデータセクション、初期値なしデータセクション(BSSと呼ばれることがある)等に分割されていることが多い。このような場合に、格納位置指定情報生成部103は、これらのセクションの間に余裕領域を挿入するよう指示する格納位置指定情報を生成する。
Embodiment 5 FIG.
By the way, there may be a case where there is a file whose size exceeds the usable size of the RAM. In this case, if the file can be divided, the storage location designation
図16は本実施の形態に係る格納位置指定情報生成部103が生成する不揮発性メモリ配置情報の例である。これによれば、file3は命令セクション、初期値つきデータセクション、初期値なしデータセクションがすべて0x000f0000である。この場合、RAMの使用可能なサイズを0x00100000バイトとすると、file3単体ではこれを超えるため、それぞれのセクションごとに余裕領域を挿入している。
FIG. 16 is an example of non-volatile memory arrangement information generated by the storage location designation
なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。
The configuration of the
このように、本実施の形態では、新版のいずれかの格納データのデータサイズが、不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以上となる場合に、それぞれのセクション(パーツ)のデータサイズがワークメモリのメモリサイズ以下となるように当該新版の格納データを複数のセクション(パーツ)に分割し、各セクション(パーツ)の間に空き領域を配置するよう指定する格納位置指定情報を生成する。 As described above, in the present embodiment, when the data size of any of the storage data of the new edition is equal to or larger than the memory size of the work memory used when storing the storage data of the new edition in the non-volatile memory, Specify that the data stored in the new edition is divided into multiple sections (parts) so that the data size of the section (part) is less than or equal to the memory size of the work memory, and an empty area is placed between each section (part). Generate storage location specification information.
以上より、本実施の形態によれば、ワークメモリであるRAMの容量が少ない端末においても、有効に端末ソフトウェアの更新を行うことができる。 As described above, according to the present embodiment, it is possible to effectively update the terminal software even in a terminal having a small RAM capacity as a work memory.
実施の形態6.
本実施の形態では、端末ソフトウェアの改訂があった場合に、サーバ装置1において新版と旧版のプログラムの差分を抽出し、抽出した差分を端末装置2に通知する場合について説明する。
Embodiment 6 FIG.
In the present embodiment, a case will be described in which when the terminal software is revised, the
図24は、本実施の形態に係るサーバ装置1の構成例を示す図であり、101〜106の要素は図1と同じため説明を省略する。差分情報生成部107は、格納位置指定情報記憶部106に格納されている新版及び旧版の格納位置指定情報を比較して差分を抽出し、抽出結果を差分情報として生成する。通信部108は差分情報生成部107で生成された差分情報を端末装置2に送信する。
FIG. 24 is a diagram illustrating a configuration example of the
図17は差分情報生成部107の動作手順を示す図である。入力は、新旧の不揮発性メモリイメージ情報と、新旧の不揮発性メモリ配置情報である。不揮発性メモリ配置情報に記述されたデータ領域の集合を、旧版・新版それぞれS1、S2とする。図のようにS2からデータ領域を、アドレスの若い順に取り出し、F2とする。F2がファイルデータでない場合(F2がファイルシステムヘッダ・ディレクトリ構造のいずれかの場合)、F2に対応するデータ領域がS1に存在するため、それをF1とし、F2とF1の差分である差分コマンドを出力する。F2がファイルデータである場合には、新規ファイルである場合と既存のファイルである場合がありうる。S1中にF2と同一のパスを持つファイルデータが存在する場合には、それをF1とし、F2とF1の差分である差分コマンドを出力する。S1中にF2と同一のパスを持つファイルデータが存在しない場合には、新規ファイルであるため、F2を追加する差分コマンドを出力する。
FIG. 17 is a diagram illustrating an operation procedure of the difference
なお、ファイルごとの差分抽出は、最も単純な方法は、単純に新版の内容によるDATAコマンドを出力し、そのあとにFLUSHコマンドを出力することである。DATAコマンドはすでに述べたように、不揮発性メモリ上の現在の番地から上書きをおこなう。この場合は実際には差分を抽出しているとはいえないが、端末上の不揮発性メモリを書き換える上では問題ない。また、これを改良した方法としては、新版のメモリイメージの中で、一定のサイズ(たとえば4バイト)ごとに、旧版と比較をおこない、一致した部分をCOPYコマンドにより表現し、それ以外の部分をDATAコマンドを用いて表現する方法も考えられる。そのほかには、新版と旧版の間の一致しているものの最長のものを探し、その部分をCOPYコマンドで表現し、それ以外をDATAコマンドで表現する方法も考えられる。また、一般によく知られているバイナリ差分抽出のアルゴリズムを使用することもできる。例えば、「Andrew Tridgell and Paul Mackerras、 The rsync algorithm、 TR−CS−96−05、 The Australian National University、 June 1996」に記述されているrsyncアルゴリズムが、バイナリ差分抽出のアルゴリズムとして知られている。 Note that the simplest method for extracting the differences for each file is to simply output a DATA command based on the contents of the new version, and then output a FLUSH command. As described above, the DATA command is overwritten from the current address on the nonvolatile memory. In this case, the difference is not actually extracted, but there is no problem in rewriting the nonvolatile memory on the terminal. As an improved method, the memory image of the new version is compared with the old version for each fixed size (for example, 4 bytes), the matched part is expressed by the COPY command, and the other part is expressed. A method of expressing using a DATA command is also conceivable. In addition, it is possible to search for the longest match between the new version and the old version, express that part with the COPY command, and express the rest with the DATA command. A generally well-known algorithm for binary difference extraction can also be used. For example, the rsync algorithm described in “Andrew Tridgel and Paul Mackerras, Thersync algorithm, TR-CS-96-05, The Australian National University, June 1996”, the binary difference algorithm, and the diffsync algorithm described in binary 1996 are known.
また、F2が新規ファイルであった場合の差分コマンドは、単純に新規ファイルの内容によるDATAコマンドを出力し、そのあとにFLUSHコマンドを出力することにより実現することができる。 Further, the difference command when F2 is a new file can be realized by simply outputting a DATA command based on the contents of the new file and then outputting a FLUSH command.
このように、本実施の形態では、格納データの改訂が行われる度に、旧版の格納データの格納位置指定情報と新版の格納データの格納位置指定情報とを比較し、両者の差分を抽出し、抽出した差分を示す差分情報を生成する。また、差分情報の生成は、格納データ単位に、旧版の格納データの格納位置指定情報と新版の格納データの格納位置指定情報とを比較し、両者の差分を抽出することにより行われる。 As described above, in this embodiment, each time storage data is revised, the storage location designation information of the old version storage data is compared with the storage location designation information of the new version storage data, and the difference between the two is extracted. The difference information indicating the extracted difference is generated. The generation of the difference information is performed by comparing the storage location designation information of the old version storage data and the storage location designation information of the new version storage data for each storage data unit, and extracting the difference between the two.
以上より、本実施の形態によれば、ソフトウェア更新の際のオーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮可能な差分情報を端末装置に供給することができる。 As described above, according to the present embodiment, it is possible to supply the terminal device with difference information that can suppress the occurrence of overhead during software update and can shorten the time until software update is completed.
実施の形態7.
上記実施の形態の差分情報生成部107においては、差分抽出の単位をファイルとしたが、ファイルがコンパイル済みファイルであり、機能の異なる複数のセクションからなる場合には、セクションごとに差分抽出をおこない、差分コマンドを出力する方法も考えられる。セクションの情報は、一般にはコンパイルリンク時に出力されるリンクマップファイル等から知ることが可能であり、この情報を用いて不揮発性メモリイメージ上をセクションごとに分割して、差分抽出をおこなうことが可能である。なお、ここでは、UNIX(登録商標) System Laboratoriesにより開発された、ELF(Executable and Linking Format)形式におけるELF header、 Program header table、 Section header tableも広義の意味でセクションに含まれる。
Embodiment 7 FIG.
In the difference
なお、サーバ装置1の構成は、図24に示したものと同様であり、説明は省略する。
The configuration of the
このように、本実施の形態では、セクションごとに分割可能なコンパイル済みファイルを格納データとし、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、セクション単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出する。ここで、セクションごとに分割可能なコンパイル済みファイルとは、例えば、セクションごとに分割可能なELF(Executable and Linking Format)形式のコンパイル済みファイルである。 As described above, in this embodiment, the compiled file that can be divided into sections is used as the storage data, and the storage location designation information of the old version of the compiled file and the storage location designation information of the new version of the compiled file are generated. In this case, for each section, the storage location designation information of the old version of the compiled file is compared with the storage location designation information of the new version of the compiled file, and the difference between the two is extracted. Here, the compiled file that can be divided into sections is, for example, a compiled file in an ELF (Executable and Linking Format) format that can be divided into sections.
以上より、本実施の形態によれば、ソフトウェア更新の際のオーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮可能な差分情報を端末装置に供給することができる。 As described above, according to the present embodiment, it is possible to supply the terminal device with difference information that can suppress the occurrence of overhead during software update and can shorten the time until software update is completed.
実施の形態8.
また、ファイルがコンパイラによって生成されたコンパイル済みファイルであり、ファイルを構成するセクションのうち、命令セクションに対して、コンパイル前のC言語の関数単位に分割可能である場合には、この部分の差分抽出の単位を関数とする方法も考えられる。不揮発性メモリイメージ上でどこまでがそれぞれの関数に相当するかは、セクションの場合と同様、一般にはコンパイルリンク時に出力されるリンクマップファイル等から知ることが可能であり、この情報を用いて不揮発性メモリイメージ上を関数ごとに分割して、差分抽出をおこなうことが可能である。
Embodiment 8 FIG.
Also, if the file is a compiled file generated by a compiler and the instruction section of the sections constituting the file can be divided into C function units before compilation, the difference between these parts A method using the unit of extraction as a function is also conceivable. As in the case of sections, it is generally possible to know how far each function corresponds to in the non-volatile memory image from the link map file output at the time of compile linking. It is possible to extract the difference by dividing the memory image into functions.
図18は本実施の形態に係るファイルシステムヘッダの例を示す図である。本例では、図6の状態におけるファイルシステムヘッダの内容を示している。ファイル総数は3となっており、これはfile1、file2、file3の3つのファイルが存在することに対応する。また、ディレクトリ構造へのポインタは、ファイルシステムヘッダの先頭アドレスからのバイト数で示されている。本実施の形態においては、このようにファイルシステムヘッダは8バイトの非常に単純な構造としているが、ファイルシステムの実装によってはこれよりも複雑な構造でも良いことは言うまでもない。 FIG. 18 is a diagram showing an example of a file system header according to the present embodiment. In this example, the contents of the file system header in the state of FIG. 6 are shown. The total number of files is 3, which corresponds to the presence of three files, file1, file2, and file3. The pointer to the directory structure is indicated by the number of bytes from the head address of the file system header. In this embodiment, the file system header has a very simple structure of 8 bytes as described above, but it goes without saying that a more complicated structure may be used depending on the implementation of the file system.
図19は本実施の形態に係るディレクトリ構造の例を示す図である。本例では、図6の状態におけるディレクトリ構造の内容を示している。図において、ポインタはすべてディレクトリ構造の先頭アドレスからのバイト数により表現されている。本例は、ディレクトリを表す構造とファイルを表す構造が混在している。ディレクトリを表す構造は以下の要素からなる。 FIG. 19 is a diagram showing an example of a directory structure according to the present embodiment. In this example, the contents of the directory structure in the state of FIG. 6 are shown. In the figure, all pointers are represented by the number of bytes from the head address of the directory structure. In this example, a structure representing a directory and a structure representing a file are mixed. The directory structure consists of the following elements.
・ 名前(16バイト固定長の文字列)
・ 下位ディレクトリ数(4バイト)・・・これをNとする。
・ 下位ファイル数(4バイト)・・・これをMとする。
・ 下位ディレクトリへのポインタ(4バイト×N個)
・ 下位ファイルへのポインタ(4バイト×M個)
また、ファイルを表す構造は以下の要素からなる。
・ 名前(16バイト固定長の文字列)
・ ファイルデータへのポインタ(4バイト)
-Name (16-byte fixed-length character string)
-Number of lower directories (4 bytes) ... Let this be N.
・ Number of lower files (4 bytes) ... Let this be M.
・ Pointer to lower directory (4 bytes x N)
・ Pointer to lower file (4 bytes x M)
The structure representing a file consists of the following elements.
-Name (16-byte fixed-length character string)
-Pointer to file data (4 bytes)
例えば、図において、先頭のデータはルートディレクトリである”/”のデータとなっている。名前として”/”が指定されており、下位ディレクトリ数はdir1、dir2の計2、下位ファイル数は直下にファイルが存在しないため0となっている。それに続き、下位ディレクトリであるdir1、dir2に相当するポインタが格納されている。その次に、dir1のデータある。これは、下位ディレクトリ数が0、下位ファイル数はfile1が存在するため1である。それに続き、file1に相当する下位ファイルへのポインタが格納されている。合計で152バイトのデータとなっている。 For example, in the figure, the top data is data of “/” that is the root directory. “/” Is designated as the name, the number of subordinate directories is 2 in total, dir1 and dir2, and the number of subordinate files is 0 because there is no file immediately below. Subsequently, pointers corresponding to the lower directories dir1 and dir2 are stored. Next, there is dir1 data. This is 1 because the number of lower directories is 0 and the number of lower files is file1. Subsequently, a pointer to a lower file corresponding to file1 is stored. The total data is 152 bytes.
なお、サーバ装置1の構成は、図24に示したものと同様であり、説明は省略する。
The configuration of the
このように本実施の形態では、コンパイル前のC言語の関数ごとに分割可能なコンパイル済みファイルを格納データとし、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、コンパイル前のC言語の関数単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出する。 As described above, in this embodiment, the compiled data that can be divided for each C language function before compilation is stored data, and the storage location designation information of the old version of the compiled file and the storage location designation information of the new version of the compiled file are used. Is generated, the storage location specification information of the old version of the compiled file is compared with the storage location specification information of the new version of the compiled file for each C function before compilation, and the difference between the two is extracted. .
以上より、本実施の形態によれば、ソフトウェア更新の際のオーバーヘッドの発生を抑制し、ソフトウェア更新完了までの時間を短縮可能な差分情報を端末装置に供給することができる。 As described above, according to the present embodiment, it is possible to supply the terminal device with difference information that can suppress the occurrence of overhead during software update and can shorten the time until software update is completed.
ここで、実施の形態1〜8に示したサーバ装置の特徴を以下にて示す。 Here, the features of the server apparatus shown in the first to eighth embodiments will be described below.
実施の形態1〜8に示したサーバ装置は、端末に搭載し、端末を動作させるために必要な1つまたは複数のファイルの集合である端末ソフトウェアをファイルシステム上に格納するための不揮発性メモリに、
格納するメモリイメージを作成する際に、メモリイメージ上でファイルのデータの間に、データを含まない余裕領域を挿入することを特徴とする。
The server apparatus shown in the first to eighth embodiments is mounted on a terminal and a nonvolatile memory for storing terminal software, which is a set of one or more files necessary for operating the terminal, on the file system In addition,
When a memory image to be stored is created, a margin area that does not include data is inserted between file data on the memory image.
実施の形態1〜8に示したサーバ装置は、端末ソフトウェアの改版によりファイルシステムに新たなファイルが追加された場合には、新たなファイルを余裕領域に追加することを特徴とする。 The server apparatuses shown in the first to eighth embodiments are characterized in that when a new file is added to the file system due to the revision of the terminal software, the new file is added to the margin area.
実施の形態1〜8に示したサーバ装置は、RAMを備える端末が端末ソフトウェアの改版により不揮発性メモリを書き換える際に、余裕領域の間に挟まれる不揮発性メモリ領域のサイズが、端末が使用可能なRAMのサイズを超えないように、余裕領域の挿入をおこなうことを特徴とする。 In the server devices shown in the first to eighth embodiments, when a terminal having a RAM rewrites the nonvolatile memory by revising the terminal software, the size of the nonvolatile memory area sandwiched between the margin areas can be used by the terminal A marginal area is inserted so as not to exceed the size of a random RAM.
実施の形態1〜8に示したサーバ装置は、端末が使用可能なRAMのサイズを超えるサイズのファイルに対しては、ファイルの途中に余裕領域を挿入することを特徴とする。
実施の形態1〜8に示したサーバ装置は、端末が使用可能なRAMのサイズを超えるサイズのファイルが、機能の異なる複数のセクションからなる場合には、セクションとセクションの間に余裕領域を挿入することを特徴とする。
The server apparatus shown in the first to eighth embodiments is characterized in that a margin area is inserted in the middle of a file having a size exceeding the size of RAM usable by the terminal.
In the server apparatus shown in the first to eighth embodiments, when a file whose size exceeds the RAM size usable by the terminal is composed of a plurality of sections having different functions, a margin area is inserted between the sections. It is characterized by doing.
実施の形態1〜8に示したサーバ装置は、ファイルのフォーマットはELF形式であることを特徴とする。 The server apparatus shown in the first to eighth embodiments is characterized in that the file format is the ELF format.
実施の形態1〜8に示したサーバ装置は、端末の不揮発性メモリに格納されるファイルシステム上のデータの新版と旧版の差分データを生成する際に、ファイルシステムの不揮発性メモリ上でのイメージの新版と旧版のそれぞれの間の差分データを出力とすることを特徴とする。 When the server apparatus shown in the first to eighth embodiments generates the difference data between the new version and the old version of the data on the file system stored in the nonvolatile memory of the terminal, the image on the nonvolatile memory of the file system The difference data between the new version and the old version is output.
実施の形態1〜8に示したサーバ装置は、ファイルシステムの不揮発性メモリ上でのイメージの新版と旧版のそれぞれをある処理ブロック単位で読み込む手順と、新旧の処理ブロックを比較して差分を出力する手順をおこなう際に、処理ブロックの単位をファイルとすることを特徴とする。 The server device shown in the first to eighth embodiments outputs a difference by comparing the new and old processing blocks with a procedure for reading the new version and the old version of the image on the nonvolatile memory of the file system in a certain processing block unit. When performing the procedure, the processing block unit is a file.
実施の形態1〜8に示したサーバ装置は、ファイルがコンパイラによって生成されたコンパイル済みファイルであり、機能の異なる複数のセクションからなる場合には、処理ブロックの単位をセクションとすることを特徴とする。 The server apparatus shown in the first to eighth embodiments is characterized in that when the file is a compiled file generated by a compiler and includes a plurality of sections having different functions, the unit of the processing block is a section. To do.
実施の形態1〜8に示したサーバ装置は、コンパイル済みファイルのファイルフォーマットはELF形式であることを特徴とする。 The server apparatuses shown in the first to eighth embodiments are characterized in that the file format of the compiled file is the ELF format.
実施の形態1〜8に示したサーバ装置は、ファイルがコンパイラによって生成されたコンパイル済みファイルであり、コンパイル前のC言語の関数単位に分割可能である場合には、処理ブロックの単位を関数とすることを特徴とする。 In the server apparatuses shown in the first to eighth embodiments, when a file is a compiled file generated by a compiler and can be divided into C language function units before compilation, the unit of a processing block is a function. It is characterized by doing.
1 サーバ装置、2 端末装置、3 ネットワーク、101 データサイズ分析用情報入力部、102 仮格納位置情報入力部、103 格納位置指定情報生成部、104 格納位置指定情報書込/読出部、105 出力部、106 格納位置指定情報記憶部、107 差分情報生成部、108 通信部。
DESCRIPTION OF
Claims (20)
前記不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得部と、
前記不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得部と、
前記データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと前記仮格納位置情報取得部により取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成部とを有することを特徴とする情報処理装置。 An information processing apparatus that targets a predetermined nonvolatile memory and manages a storage position of data in the nonvolatile memory,
A data size analysis information acquisition unit for acquiring data size analysis information used for analyzing a data size of a plurality of stored data stored in the nonvolatile memory;
A temporary storage position information acquisition unit that acquires temporary storage position information indicating a temporary storage position of each storage data in the nonvolatile memory;
Based on the data size analysis information acquired by the data size analysis information acquisition unit, the data size of each storage data is analyzed, and the data size of each storage data analyzed and the temporary storage position information acquisition unit acquired And a storage location designation information generating section for generating storage location designation information for designating a storage location of each storage data by arranging an empty area based on the storage location information. Information processing device.
各格納データの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項1に記載の情報処理装置。 The storage location designation information generation unit
The information processing apparatus according to claim 1, wherein storage position designation information that designates an empty area to be arranged between each stored data is generated.
複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項1に記載の情報処理装置。 The storage location designation information generation unit
The information processing apparatus according to claim 1, wherein the storage position designation information for classifying the plurality of stored data into a plurality of groups and designating that an empty area is arranged between the groups is generated.
格納データの改訂が行われる場合に、新版の複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得し、
前記仮格納位置情報取得部は、
旧版の格納データについて前記格納位置指定情報生成部により生成された格納位置指定情報を仮格納位置情報として取得し、
前記格納位置指定情報生成部は、
前記データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき新版の各格納データのデータサイズを分析し、分析した新版の各格納データのデータサイズと前記仮格納位置情報取得部により取得された旧版の格納データの格納位置指定情報とに基づき、新版の複数の格納データの間に空き領域を配置して新版の各格納データの格納位置を指定する格納位置指定情報を生成することを特徴とする請求項1に記載の情報処理装置。 The information acquisition unit for data size analysis is
When the stored data is revised, the data size analysis information used for analyzing the data size of multiple new versions of the stored data is acquired.
The temporary storage position information acquisition unit
The storage location designation information generated by the storage location designation information generation unit for the old version storage data is acquired as temporary storage location information,
The storage location designation information generation unit
Based on the data size analysis information acquired by the data size analysis information acquisition unit, the data size of each storage data of the new version is analyzed, and the data size of each storage data of the analyzed new version and the temporary storage position information acquisition unit are analyzed. Based on the acquired storage location specification information of the old version of storage data, generate storage location specification information that specifies the storage location of each new version of storage data by placing an empty area between the multiple versions of storage data The information processing apparatus according to claim 1.
新版の各格納データの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
5. The information processing apparatus according to claim 4, wherein storage position designation information for designating an empty area to be arranged between each new version of storage data is generated.
新版の複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
5. The information processing apparatus according to claim 4, wherein the storage version designation information for classifying the plurality of storage data of the new version into a plurality of groups and designating that an empty area is arranged between each group is generated.
旧版の格納データの格納位置指定情報において指定された格納位置と同じ格納位置を新版の各格納データに対して指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
5. The information processing apparatus according to claim 4, wherein the storage position specifying information for specifying the same storage position as the storage position specified in the storage position specification information of the old version of the storage data for each of the new version of the storage data is generated. apparatus.
格納データの改訂により新版においてデータサイズが変化する格納データが存在する場合に、旧版の格納データの格納位置指定情報において当該格納データの格納位置として指定されている領域と当該格納データについて設けられている空き領域とを合わせた格納候補領域にデータサイズが変化した新版の格納データが格納可能か否かを判断し、
前記格納候補領域に格納可能な場合に、データサイズが変化した新版の格納データを前記格納候補領域に格納するよう指定する格納位置指定情報を生成し、
前記格納候補領域に格納できない場合に、データサイズが変化した新版の格納データを格納可能な空き領域を検索し、検索した空き領域にデータサイズが変化した新版の格納データを格納するよう指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
When there is storage data whose data size changes in the new version due to revision of the storage data, it is provided for the area specified as the storage position of the storage data in the storage position specification information of the storage data of the old version and the storage data Determine whether it is possible to store the new version of the storage data whose data size has changed in the storage candidate area combined with the free area
When the storage candidate area can be stored, the storage location designation information for designating that the storage data of the new version whose data size has changed is stored in the storage candidate area is generated,
A storage that searches for a free area that can store a new version of storage data whose data size has changed and stores the new version of the storage data whose data size has changed in the searched free area when the storage candidate area cannot be stored. The information processing apparatus according to claim 4, wherein position information is generated.
格納データの改訂により新たな格納データが生成された場合に、旧版の格納データの格納位置指定情報において空き領域として指定されている領域に新たに生成された格納データを格納するよう指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
Storage location that specifies to store the newly generated storage data in the area that is specified as an empty area in the storage location specification information of the old version storage data when new storage data is generated by revision of the storage data The information processing apparatus according to claim 4, wherein the designation information is generated.
各グループのデータサイズが、前記不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以下となるように新版の複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項6に記載の情報処理装置。 The storage location designation information generation unit
The plurality of storage data of the new version is classified into a plurality of groups so that the data size of each group is equal to or smaller than the memory size of the work memory used when storing the storage data of the new version in the nonvolatile memory. The information processing apparatus according to claim 6, wherein storage position designation information for designating an empty area to be arranged is generated.
新版のいずれかの格納データのデータサイズが、前記不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以上となる場合に、それぞれのパーツのデータサイズがワークメモリのメモリサイズ以下となるように当該新版の格納データを複数のパーツに分割し、各パーツの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項4に記載の情報処理装置。 The storage location designation information generation unit
When the data size of any of the new version storage data is equal to or larger than the memory size of the work memory used when storing the new version storage data in the non-volatile memory, the data size of each part is the memory of the work memory. 5. The storage location designation information for designating that the storage data of the new edition is divided into a plurality of parts so as to be smaller than the size and an empty area is arranged between the parts. Information processing device.
ワークメモリのメモリサイズ以上のデータサイズを有する新版の格納データがセクションごとに分割可能なコンパイル済みファイルである場合に、各セクションの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項11に記載の情報処理装置。 The storage location designation information generation unit
Generates storage location specification information that specifies that an empty area should be placed between sections when the new version of the stored data with a data size larger than the memory size of the work memory is a compiled file that can be divided into sections. The information processing apparatus according to claim 11.
ワークメモリのメモリサイズ以上のデータサイズを有する新版の格納データがセクションごとに分割可能なELF(Executable and Linking Format)形式のコンパイル済みファイルである場合に、各セクションの間に空き領域を配置するよう指定する格納位置指定情報を生成することを特徴とする請求項11に記載の情報処理装置。 The storage location designation information generation unit
When the new version of the stored data having a data size larger than the memory size of the work memory is a compiled file in ELF (Executable and Linking Format) format that can be divided into sections, an empty area is arranged between the sections. 12. The information processing apparatus according to claim 11, wherein the storage location designation information to be designated is generated.
格納データの改訂が行われる度に、前記格納位置指定情報生成部により生成された旧版の格納データの格納位置指定情報と新版の格納データの格納位置指定情報とを比較し、両者の差分を抽出し、抽出した差分を示す差分情報を生成する差分情報生成部を有することを特徴とする請求項4に記載の情報処理装置。 The information processing apparatus further includes:
Each time the storage data is revised, the storage location specification information of the old version of the storage data generated by the storage location specification information generation unit is compared with the storage location specification information of the new version of the storage data, and the difference between them is extracted. The information processing apparatus according to claim 4, further comprising a difference information generation unit that generates difference information indicating the extracted difference.
格納データ単位に、旧版の格納データの格納位置指定情報と新版の格納データの格納位置指定情報とを比較し、両者の差分を抽出することを特徴とする請求項14に記載の情報処理装置。 The difference information generation unit
The information processing apparatus according to claim 14, wherein the storage location designation information of the old version storage data and the storage location designation information of the new version storage data are compared for each storage data unit, and a difference between the two is extracted.
セクションごとに分割可能なコンパイル済みファイルを格納データとし、前記格納位置指定情報生成部により旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、セクション単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出することを特徴とする請求項14に記載の情報処理装置。 The difference information generation unit
Compiled files that can be divided into sections are stored data, and the storage location specification information generator generates storage location specification information for the old version of the compiled file and storage location specification information for the new version of the compiled file. 15. The information processing according to claim 14, wherein the storage location designation information of the old version of the compiled file is compared with the storage location designation information of the new version of the compiled file for each section, and a difference between the two is extracted. apparatus.
セクションごとに分割可能なELF(Executable and Linking Format)形式のコンパイル済みファイルを格納データとし、前記格納位置指定情報生成部により旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、セクション単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出することを特徴とする請求項14に記載の情報処理装置。 The difference information generation unit
ELF (Executable and Linking Format) files that can be divided into sections are stored data, and the storage location specification information generation unit stores storage location specification information of the old version of the compiled file and storage location of the new version of the compiled file. When the specification information is generated, the storage location specification information of the old version of the compiled file is compared with the storage location specification information of the new version of the compiled file, and the difference between the two is extracted for each section. The information processing apparatus according to claim 14.
コンパイル前のC言語の関数ごとに分割可能なコンパイル済みファイルを格納データとし、前記格納位置指定情報生成部により旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、コンパイル前のC言語の関数単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出することを特徴とする請求項14に記載の情報処理装置。 The difference information generation unit
Compiled files that can be divided into C language functions before compilation are stored data, and the storage location specification information generation unit stores storage location specification information for the old version of the compiled file and storage location specification information for the new version of the compiled file. If generated, the storage location specification information of the old version of the compiled file is compared with the storage location specification information of the new version of the compiled file and the difference between the two is extracted for each C function before compilation. The information processing apparatus according to claim 14.
前記不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得ステップと、
前記不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得ステップと、
前記データサイズ分析用情報取得ステップにより取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと前記仮格納位置情報取得ステップにより取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成ステップとを有することを特徴とする格納位置管理方法。 A storage location management method for managing a storage location of data in the nonvolatile memory for a predetermined nonvolatile memory,
A data size analysis information acquisition step for acquiring data size analysis information used for analyzing a data size of a plurality of stored data stored in the nonvolatile memory;
A temporary storage position information acquisition step of acquiring temporary storage position information indicating a temporary storage position of each storage data in the nonvolatile memory;
Based on the data size analysis information acquired in the data size analysis information acquisition step, the data size of each storage data is analyzed, and the analyzed data size of each storage data and the temporary storage position information acquisition step are acquired. And a storage location designation information generation step for generating storage location designation information for designating a storage location of each storage data by arranging an empty area based on the storage location information. Storage location management method.
前記不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得処理と、
前記不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得処理と、
前記データサイズ分析用情報取得処理により取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと前記仮格納位置情報取得処理により取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成処理をコンピュータに実行させることを特徴とするプログラム。 A program that targets a predetermined nonvolatile memory and causes a computer to manage the storage location of data in the nonvolatile memory,
Data size analysis information acquisition processing for acquiring data size analysis information used for analyzing the data size of a plurality of stored data stored in the nonvolatile memory;
Temporary storage position information acquisition processing for acquiring temporary storage position information indicating a temporary storage position of each storage data in the nonvolatile memory;
Based on the data size analysis information acquired by the data size analysis information acquisition process, the data size of each storage data is analyzed, and the data size of each storage data analyzed and the temporary storage position information acquisition process are acquired. Based on the storage location information, the computer executes a storage location specification information generation process for generating storage location specification information for allocating an empty area between a plurality of storage data and specifying the storage location of each storage data. Program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004063364A JP3792232B2 (en) | 2004-03-08 | 2004-03-08 | Information processing apparatus, storage location management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004063364A JP3792232B2 (en) | 2004-03-08 | 2004-03-08 | Information processing apparatus, storage location management method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005251045A true JP2005251045A (en) | 2005-09-15 |
JP3792232B2 JP3792232B2 (en) | 2006-07-05 |
Family
ID=35031444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004063364A Expired - Lifetime JP3792232B2 (en) | 2004-03-08 | 2004-03-08 | Information processing apparatus, storage location management method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3792232B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218334A (en) * | 2009-03-18 | 2010-09-30 | Hitachi Software Eng Co Ltd | Program dynamic updating system, management server, incorporated equipment, and program |
JP2010534879A (en) * | 2007-07-24 | 2010-11-11 | エヌエックスピー ビー ヴィ | Method, system and trusted service manager for securely transmitting an application to a mobile phone |
JP2011095952A (en) * | 2009-10-29 | 2011-05-12 | Kyocera Mita Corp | Method for updating firmware and electronic equipment |
KR20170108279A (en) * | 2016-03-17 | 2017-09-27 | 한국전자통신연구원 | Apparatus and method for supporting software update of low specification device |
JP2022529031A (en) * | 2019-04-17 | 2022-06-16 | 華為技術有限公司 | Patching methods, related equipment and systems |
-
2004
- 2004-03-08 JP JP2004063364A patent/JP3792232B2/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010534879A (en) * | 2007-07-24 | 2010-11-11 | エヌエックスピー ビー ヴィ | Method, system and trusted service manager for securely transmitting an application to a mobile phone |
US8391837B2 (en) | 2007-07-24 | 2013-03-05 | Nxp B.V. | Method, system and trusted service manager for securely transmitting an application to a mobile phone |
JP2010218334A (en) * | 2009-03-18 | 2010-09-30 | Hitachi Software Eng Co Ltd | Program dynamic updating system, management server, incorporated equipment, and program |
JP2011095952A (en) * | 2009-10-29 | 2011-05-12 | Kyocera Mita Corp | Method for updating firmware and electronic equipment |
KR20170108279A (en) * | 2016-03-17 | 2017-09-27 | 한국전자통신연구원 | Apparatus and method for supporting software update of low specification device |
KR102000162B1 (en) * | 2016-03-17 | 2019-07-16 | 한국전자통신연구원 | Apparatus and method for supporting software update of low specification device |
JP2022529031A (en) * | 2019-04-17 | 2022-06-16 | 華為技術有限公司 | Patching methods, related equipment and systems |
JP7174866B2 (en) | 2019-04-17 | 2022-11-17 | 華為技術有限公司 | Patching method, related device and system |
US11797288B2 (en) | 2019-04-17 | 2023-10-24 | Huawei Technologies Co., Ltd. | Patching method, related apparatus, and system |
Also Published As
Publication number | Publication date |
---|---|
JP3792232B2 (en) | 2006-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9773017B2 (en) | Method of configuring a virtual application | |
US5623661A (en) | System for and method of providing delta-versioning of the contents of PCTE file objects | |
KR101143027B1 (en) | Self-describing software image update components | |
US8418167B2 (en) | Methods and systems for updating content including a compressed version | |
CN100456240C (en) | Applying custom software image updates to non-volatile storage in a failsafe manner | |
CN103593216B (en) | The system file of ubi forms is fabricated to factory's burning image file method | |
US8296535B2 (en) | Generating incremental program updates | |
CN100498703C (en) | Creating file systems within an image file in a storage technology-abstracted manner | |
JP2005129028A (en) | Method for preparing language independent file and language specific resource file for component | |
CN106095620A (en) | A kind of development approach of built-in Linux partition holding | |
CN104239082A (en) | Hot patching implementation method of embedded system | |
JP2005276212A (en) | Computing device with relatively limited storage space and operating/file system thereof | |
CN109684292A (en) | A kind of method that flash memory database quickly carries out data recovery | |
WO2022227409A1 (en) | Embedded terminal remote software updating method | |
US8196093B2 (en) | Apparatus and method for componentizing legacy system | |
WO2007026484A1 (en) | Device, method, and program for generating and executing execution binary image, and computer-readable recording medium containing the execution binary image execution program | |
WO2007099636A1 (en) | File system migration method, program and apparatus | |
JP3792232B2 (en) | Information processing apparatus, storage location management method, and program | |
KR100637787B1 (en) | Method and program for file information write processing | |
US20050283456A1 (en) | Systems and methods for building a disk image | |
US6915512B1 (en) | Software editing with indication of format and processing state of each process of the software | |
US20230006814A1 (en) | Method and apparatus for implementing changes to a file system that is emulated with an object storage system | |
JP2004206353A (en) | Installation method of software | |
CN111290765A (en) | Firmware fast burning method, system and storage medium | |
KR100504797B1 (en) | Rom image creating method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050719 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20050719 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20050729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
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: 20060404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060404 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |