JP2005251045A - Information processor, housing position management method, and program - Google Patents

Information processor, housing position management method, and program Download PDF

Info

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
Application number
JP2004063364A
Other languages
Japanese (ja)
Other versions
JP3792232B2 (en
Inventor
Akira Kotani
亮 小谷
Ryozo Kiyohara
良三 清原
Daizo Kikko
大造 橘高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004063364A priority Critical patent/JP3792232B2/en
Publication of JP2005251045A publication Critical patent/JP2005251045A/en
Application granted granted Critical
Publication of JP3792232B2 publication Critical patent/JP3792232B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a software update technology capable of contracting a time until completion of software update by suppressing occurrence of overhead in updating software on a nonvolatile memory of a terminal. <P>SOLUTION: A server device 1 includes an information input part for data size analysis 101 for inputting information for the data size analysis for analyzing a data size of stored data stored in the nonvolatile memory of the terminal, a temporary storage location information input part 102 for inputting temporary storage location information indicating a temporary storage location of each stored data, a storage location specifying information generating part 103 for generating storage location specifying information for specifying a storage location of each stored data by arranging a spare area between each of the stored data on the basis of information from the information input part for the data size analysis 101 and the temporary storage location information input part 102, and when the stored data is revised, the storage location specifying information generating part 103 generates the storage location specifying information for instructing to store a revised stored data by using the spare area. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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が行なわれる際に、ファイルシステム中に格納されている対応するファイルのファイルサイズの情報の書き換えが行なわれる。
特開2001−273147号公報
A patch command in UNIX (registered trademark) is well known as a conventional example of a system software update method on a file system. The patch command has a function of updating a new version directory structure by inputting a difference file obtained by comparing the old and new directory structures on the file system and applying the contents of the difference file to the old version directory structure. At this time, updating of individual files is performed by using the function of the file system. Specifically, among a plurality of files existing in the directory structure of the old version, only the file in which the difference information is described in the difference file is opened (open), the contents of the file are read (read), and the difference After collating with the information, writing is performed so as to match the new version of the file, and the file is closed. The functions such as open / read / write / close are provided by the file system. By performing this series of operations, the physical device (hard disk drive, flash memory, etc.) on which the file system is mounted is used. The contents are rewritten indirectly. For example, when the file size is changed in the above series of operations, the file size information of the corresponding file stored in the file system is rewritten when the close is performed.
JP 2001-273147 A

一般にファイルシステムは、物理的なデバイス上では、ファイルシステム全体の管理情報を格納する領域・ディレクトリ構造を管理する領域・ファイルデータを格納する領域等に分かれている。上記のようなファイル更新の操作が行なわれた場合には、ファイルデータ領域が書き換えられると同時に、ファイルシステムの管理領域やディレクトリ構造の管理領域にも書き換えが発生する。また、ファイルのサイズが変更になった場合に、デバイス上の空き領域が不足する場合には、ファイルデータの再配置をおこなうことにより空き領域を確保する操作(ガーベジコレクション)が発生することがある。   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等の組み込み端末(以下、端末または端末装置という)の不揮発性メモリにおけるプログラムやファイルデータ等の格納位置を指定することを主な役割とする。
Embodiment 1 FIG.
FIG. 1 is a diagram illustrating a configuration example of a server apparatus (information processing apparatus) 1 according to the present embodiment. The server device 1 according to the present embodiment has a main role of designating a storage location of a program, file data, etc. in a non-volatile memory of an embedded terminal (hereinafter referred to as a terminal or a terminal device) such as a mobile phone or a PDA. To do.

また、図23は、本実施の形態に係るサーバ装置1と端末装置2との関係を示す図であり、サーバ装置1と端末装置2とがネットワーク3で接続され、サーバ装置1より各種情報を端末装置2に送信することが可能である。   FIG. 23 is a diagram illustrating the relationship between the server device 1 and the terminal device 2 according to the present embodiment. The server device 1 and the terminal device 2 are connected via the network 3, and various information is received from the server device 1. It is possible to transmit to the terminal device 2.

図1において、データサイズ分析用情報入力部101は、端末が格納する格納データ(プログラムやファイルデータ等)のデータサイズを分析するためのデータサイズ分析用情報を入力する。データサイズ分析用情報の内容については、後述する。なお、データサイズ分析用情報入力部101はデータサイズ分析用情報取得部の例である。仮格納位置情報入力部102は、端末の不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を入力する。仮格納位置情報の内容については、後述する。なお、仮格納位置情報入力部102は、仮格納位置情報取得部の例である。格納位置指定情報生成部103は、データサイズ分析用情報入力部101から入力されたデータサイズ分析用情報と仮格納位置情報入力部102から入力された仮格納位置情報に基づいて、各格納データの間に所定の余裕領域(空き領域)を配置して各格納データの格納位置を指定する格納位置指定情報を生成する。格納位置指定情報書込/読出部104は、格納位置指定情報生成部103により生成された格納位置指定情報を格納位置指定情報記憶部106に書き込み、また、所定の場合に、格納位置指定情報記憶部106から格納位置指定情報を読み出す。出力部105は、格納位置指定情報生成部103により生成された格納位置指定情報を出力する。格納位置指定情報記憶部106は、格納位置指定情報書込/読出部104の制御に従い、格納位置指定情報を記憶する。   In FIG. 1, a data size analysis information input unit 101 inputs data size analysis information for analyzing the data size of stored data (program, file data, etc.) stored in the terminal. The contents of the data size analysis information will be described later. The data size analysis information input unit 101 is an example of a data size analysis information acquisition unit. The temporary storage position information input unit 102 inputs temporary storage position information indicating the temporary storage position of each storage data in the nonvolatile memory of the terminal. The contents of the temporary storage position information will be described later. The temporary storage position information input unit 102 is an example of a temporary storage position information acquisition unit. Based on the data size analysis information input from the data size analysis information input unit 101 and the temporary storage position information input from the temporary storage position information input unit 102, the storage position designation information generation unit 103 Storage position designation information for designating the storage position of each storage data by generating a predetermined margin area (free area) between them is generated. The storage location designation information writing / reading unit 104 writes the storage location designation information generated by the storage location designation information generation unit 103 to the storage location designation information storage unit 106, and stores the storage location designation information in a predetermined case. The storage location designation information is read from the unit 106. The output unit 105 outputs the storage location designation information generated by the storage location designation information generation unit 103. The storage location designation information storage unit 106 stores the storage location designation information in accordance with the control of the storage location designation information writing / reading unit 104.

なお、サーバ装置1は、図示していないが、例えばマイクロプロセッサ等のCPU、半導体メモリ等や磁気ディスク等の記録手段を有する計算機により実現することができる。記録手段に、サーバ装置1に含まれる各構成要素の機能を実現するプログラムを記録し、CPUがこれらのプログラムを読み込むことによりサーバ装置1の動作を制御し、各構成要素の機能を実現することも可能である。   Although not shown, the server device 1 can be realized by a computer having a CPU such as a microprocessor, a semiconductor memory, or a recording unit such as a magnetic disk. A program for realizing the function of each component included in the server device 1 is recorded in the recording means, and the operation of the server device 1 is controlled by the CPU reading these programs, thereby realizing the function of each component. Is also possible.

図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 server device 1 will be described with reference to FIG. In the following description, a case will be described in which the storage location of each stored data is specified when storing the first version stored data in the nonvolatile memory of the terminal.

先ず、ステップS2201において、データサイズ分析用情報入力部101がデータサイズ分析用情報を入力する(データサイズ分析用情報取得ステップ)。データサイズ分析用情報とは、端末が格納する格納データのデータサイズを分析するための情報であり、例えば、ディレクトリツリー及び端末の不揮発性メモリに格納される他の格納データ(ブートヘッダ・カーネル・書き換えプログラム)である。図4は、ステップS2201において、入力されるディレクトリツリーの例を示す図である。本ディレクトリツリーの内容が不揮発性メモリ上のファイルシステム上に置かれる。図において、ルート(根元)のディレクトリの名前は”/”であり、その下にdir1とdir2というディレクトリが配置されている。ディレクトリdir1の下にはファイルfile1が、ディレクトリdir2の下にはfile2およびfile3が、それぞれ配置されている。   First, in step S2201, the data size analysis information input unit 101 inputs data size analysis information (data size analysis information acquisition step). The data size analysis information is information for analyzing the data size of the stored data stored in the terminal. For example, other storage data (boot header, kernel, Rewriting program). FIG. 4 is a diagram illustrating an example of a directory tree input in step S2201. The contents of this directory tree are placed on the file system on the nonvolatile memory. In the figure, the name of the root directory is “/”, and directories dir1 and dir2 are arranged below it. A file file1 is arranged under the directory dir1, and a file 2 and a file 3 are arranged under the directory dir2.

次に、ステップ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 information generation unit 103 uses the information input in steps S2201 and S2202 as input, and arranges each information at the specified start address. Thus, non-volatile memory image information and non-volatile memory arrangement information, which are storage location designation information, are created. As for the file system, a directory tree is created from the directory tree, and a file system header, directory information, and file data are created. For example, in the case of a CramFS file system that is frequently used as a file system that is mounted on a ROM when a UNIX (registered trademark) operation system is used in an embedded system, it is possible to use a program called mkcramfs. In the case of CramFS, the file system header is called a super block, and the directory information is called an i-node area.

ステップ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 output unit 105 in step S2204, and the storage location designation is performed in step S2205. The information writing / reading unit 104 stores the storage location designation information in the storage location designation information storage unit 106.
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 information generation unit 103. In the figure, the shaded area is a margin area (empty area), and no data is arranged, which is the initial state of the nonvolatile memory. For example, if the kernel start address is 0x00100000 and the file system header start address is 0x00200000, which is specified in the non-volatile memory configuration information, the kernel size is smaller than 0x00200000-0x00100000 = 0x100,000 bytes. A margin area is generated on the nonvolatile memory. The file system header and directory information created by the directory tree are also arranged at designated positions.

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 information generation unit 103 automatically inserts such a margin area. As a method for determining the size of the marginal area to be automatically inserted, the simplest method is to set the start address of each data at a constant interval.

図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 information generation unit 103. The non-volatile memory arrangement information indicates a result when the storage position designation information generation unit 103 arranges each data on the non-volatile memory based on the non-volatile memory configuration information (temporary storage position information). Basically, it includes non-volatile memory configuration information. For example, since the size of the boot header on the nonvolatile memory is 0x00080042 bytes, the margin area starts from the address. Note that the file system header / directory information / and the margin areas behind file1, file2, and file3 are automatically inserted by the storage location designation information generation unit 103. In the present embodiment, The data interval is increased in increments of 0x00100000 bytes (start addresses are 0x00200000, 0x00300000, 0x00400000, 0x00500000, and 0x00600000, respectively). Therefore, the start address is arranged as described above, and a margin area is automatically arranged.

ここで、図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 step 1. Next, in step S2302, the calculated data size is added to the start address of the stored data. Next, an address corresponding to the added value obtained in step S2302 is designated as the start address of the margin area (step S2303), and the designated start address of the margin area is written in the nonvolatile memory configuration information (temporary storage position information) ( Step S2304). Next, it is confirmed whether or not the start address of the margin area has been written for all the stored data (step S2305), and the writing of the start address of the margin area has been completed for all the storage data (Yes in step S2305). ) Terminates the process. Note that the nonvolatile memory configuration information (temporary storage location information) in which the start address of the margin area is written for all stored data becomes the nonvolatile memory location information, and this nonvolatile memory location information is converted into image information. It becomes nonvolatile memory image information. On the other hand, if there is storage data for which the start address of the margin area has not been written (No in step S2305), the next storage data is analyzed in the order of the nonvolatile memory configuration information (temporary storage position information). (Step S2306), the process returns to Step S2301.

さて、作成された不揮発性メモリイメージ情報は、初版においては端末上の不揮発性メモリ上に書き込まれて、端末が出荷される。端末の出荷後に不具合が発生した場合には、不揮発性メモリ上の端末ソフトウェアを修正しなければならない。本実施の形態においては、不具合修正対象をファイルシステム上のディレクトリツリー内に存在するファイルと仮定する。ディレクトリツリー内のファイルに不具合が発生した場合には、まずディレクトリツリー上のファイルを改修した修正版を人手により作成し、その後新版のディレクトリツリーに対して、不揮発性メモリイメージ情報及び不揮発性メモリ配置情報の作成をおこなう。   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 information input unit 101 as data size analysis information, and the temporary storage location information input unit 102 is different from the first version. Instead of the non-volatile memory configuration information, the non-volatile memory arrangement information created in the first edition is input as temporary storage position information. Since the nonvolatile memory arrangement information created at the time of the first edition is stored in the storage location designation information storage unit 106, the nonvolatile memory created at the time of the first edition of the storage location designation information writing / reading unit 104 is stored. The memory location information may be read from the storage location designation information storage unit 106 and provided to the storage location designation information generation unit 103. In this case, the storage location designation information writing / reading unit 104 functions as a temporary storage location information acquisition unit. The non-volatile memory arrangement information includes file system header / directory information, which is a component of the file system, and start addresses of file data, file1, file2, and file3. When creating a new version of the non-volatile memory image, place it so that these start addresses do not change.

つまり、格納位置指定情報生成部103は、データサイズ分析用情報入力部101及び仮格納位置情報入力部102(または格納位置指定情報書込/読出部104)からの情報に基づき、新版の各格納データの間に空き領域を配置して新版の各格納データの格納位置を指定する格納位置指定情報を生成するが、その際に、格納データの改訂により新版においてデータサイズが変化する格納データが存在する場合に、旧版の格納データの格納位置指定情報において当該格納データの格納位置として指定されている領域と当該格納データについて設けられている空き領域とを合わせた領域(格納候補領域)にデータサイズが変化した新版の格納データを格納するよう指定する格納位置指定情報を生成する。また、データサイズの変更がない格納データについては、当該格納データの格納位置及び空き領域は旧版のままとする。   That is, the storage location designation information generation unit 103 stores each of the new versions based on information from the data size analysis information input unit 101 and the temporary storage location information input unit 102 (or the storage location designation information writing / reading unit 104). Generate storage location specification information that specifies the storage location of each new version of storage data by placing an empty area between the data, but at that time, there is storage data whose data size changes in the new edition due to revision of the storage data The data size in the area (storage candidate area) that combines the area specified as the storage position of the storage data in the storage location specification information of the old version storage data and the free area provided for the storage data. The storage location designation information for designating the storage of the new version of the storage data having changed is generated. For storage data whose data size has not been changed, the storage position and free space of the storage data remain the old version.

なお、従来は、余裕領域の挿入をおこなわず、しかも第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 file 1 is corrected, the effect of the correction of the file 1 is absorbed in the margin area and does not affect the file 2 and the file 3. However, when the margin area is not provided, the start address of file 2 and file 3 is shifted backward as the size of file 1 increases. As a result, it is necessary to rewrite the memory areas representing file 2 and file 3 in order to cope with the address shift on the terminal, even though file 2 and file 3 are not corrected. On the other hand, in the present embodiment, the insertion of the margin area and the use of the non-volatile memory arrangement information ensure that each data is arranged from the same start address as the old version. Thus, the amount of nonvolatile memory written at the time of software update can be reduced. In the present embodiment, file 2 and file 3 need not be overwritten on the terminal.

図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 information generation unit 103 when the second version is created. FIG. 7 shows an example of non-volatile memory arrangement information when only the file 1 is changed and the size of the file 1 is changed. In this case, since the size of file1 has increased, the size of the margin area behind file1 has decreased. On the other hand, for the other stored data, the start address of each stored data and the start address of the margin area have not changed.

このように、本実施の形態では、不揮発性メモリに格納される複数の格納データのデータサイズの分析のために用いられるデータサイズ分析用情報を取得するデータサイズ分析用情報取得部と、不揮発性メモリにおける各格納データの仮の格納位置を示す仮格納位置情報を取得する仮格納位置情報取得部と、データサイズ分析用情報取得部により取得されたデータサイズ分析用情報に基づき各格納データのデータサイズを分析し、分析した各格納データのデータサイズと仮格納位置情報取得部により取得された仮格納位置情報とに基づき、複数の格納データの間に空き領域を配置して各格納データの格納位置を指定する格納位置指定情報を生成する格納位置指定情報生成部とを有する情報処理装置について説明した。   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を上書きする必要がない)。
Embodiment 2. FIG.
FIG. 8 is a diagram illustrating an example of the non-volatile memory arrangement information generated by the storage location designation information generation unit 103 when the file size greatly increases in the new version. In this case, the size of file1 has increased to 0x00133332. In this case, the amount of increase does not fit in the margin area behind file1 in the first version, so file1 is moved. That is, file1 is newly arranged at address 0x00700000 within the margin area behind file3. As a result, even if the size of the marginal area is exceeded, the writing position of file2 and file3 is not affected, so that it is possible to reduce the writing amount of the nonvolatile memory in the software update on the terminal. (There is no need to overwrite file2 and file3).

なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。   The configuration of the server device 1 is the same as that shown in FIG.

このように、本実施の形態では、格納データの改訂により新版においてデータサイズが増加する格納データが存在する場合に、旧版の格納データの格納位置指定情報において当該格納データの格納位置として指定されている領域と当該格納データについて設けられている空き領域とを合わせた格納候補領域にデータサイズが増加した新版の格納データが格納可能か否かを判断し、格納候補領域に格納可能な場合には、実施の形態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.
新版において、ファイルが新たに追加されるケースも考えられる。
Embodiment 3 FIG.
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 information generation unit 103 when the number of files increases. In the figure, if file 21 is a lexicographic arrangement, it should be placed between file 2 and file 3, but this is placed on a margin area behind file 3. In this manner, the storage location designation information generation unit 103 generates storage location designation information that designates placement in a margin area when a file is newly added.

なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。   The configuration of the server device 1 is the same as that shown in FIG.

このように、本実施の形態では、格納データの改訂により新たな格納データが生成された場合に、旧版の格納データの格納位置指定情報において空き領域として指定されている領域に新たに生成された格納データを格納するよう指定する格納位置指定情報を生成する。   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 server device 1 via the network 3. At that time, an image of a unit to be temporarily written in the nonvolatile memory is created on the RAM of the terminal.

図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 information generation unit 103 according to the present embodiment takes into account the amount of RAM (work memory) of the terminal in advance, and collects the RAM as a unit for inserting a margin area. It is characterized by not exceeding the upper limit.

図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 information generation unit 103 according to this embodiment. In this case, the size of file1 is 0x0080000, the size of file2 is 0x0060000, and the size of file3 is 0x000f0000. When the upper limit of usable RAM of the terminal is 0x00100000 bytes, the size of file1 and file2 is 0x000d0000, which is within the upper limit of usable RAM. However, when file1, file2, and file3 are combined, the size becomes 0x001c0000, which exceeds the upper limit of the RAM. Therefore, the storage location designation information generation unit 103 puts file1 and file2 together and inserts a margin area behind them. Also, a margin area is inserted after file3.

なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。   The configuration of the server device 1 is the same as that shown in FIG.

このように、本実施の形態では、複数の格納データをグループとして分類する場合に、各グループのデータサイズが、不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以下となるように新版の複数の格納データを複数のグループに分類し、各グループの間に空き領域を配置するよう指定する格納位置指定情報を生成する。   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 information generation unit 103 inserts a margin area in the divided portion. As a splittable file, a compiled and linked file may be separated into several sections. When a program written in C language or the like is compiler-linked, the compiled file includes an instruction section (sometimes called TEXT), a data section with an initial value, a data section without an initial value (sometimes called BSS), etc. It is often divided into two. In such a case, the storage location designation information generation unit 103 generates storage location designation information that instructs to insert a margin area between these sections.

図16は本実施の形態に係る格納位置指定情報生成部103が生成する不揮発性メモリ配置情報の例である。これによれば、file3は命令セクション、初期値つきデータセクション、初期値なしデータセクションがすべて0x000f0000である。この場合、RAMの使用可能なサイズを0x00100000バイトとすると、file3単体ではこれを超えるため、それぞれのセクションごとに余裕領域を挿入している。   FIG. 16 is an example of non-volatile memory arrangement information generated by the storage location designation information generation unit 103 according to the present embodiment. According to this, in file3, the instruction section, the data section with initial value, and the data section without initial value are all 0x000f0000. In this case, assuming that the usable size of the RAM is 0x00100000 bytes, the file 3 alone exceeds this size, so a margin area is inserted for each section.

なお、サーバ装置1の構成は、図1に示したものと同様であり、説明は省略する。   The configuration of the server device 1 is the same as that shown in FIG.

このように、本実施の形態では、新版のいずれかの格納データのデータサイズが、不揮発性メモリに新版の格納データを格納する際に用いられるワークメモリのメモリサイズ以上となる場合に、それぞれのセクション(パーツ)のデータサイズがワークメモリのメモリサイズ以下となるように当該新版の格納データを複数のセクション(パーツ)に分割し、各セクション(パーツ)の間に空き領域を配置するよう指定する格納位置指定情報を生成する。   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 server apparatus 1 extracts the difference between the new version and the old version of the program and notifies the terminal apparatus 2 of the extracted difference.

図24は、本実施の形態に係るサーバ装置1の構成例を示す図であり、101〜106の要素は図1と同じため説明を省略する。差分情報生成部107は、格納位置指定情報記憶部106に格納されている新版及び旧版の格納位置指定情報を比較して差分を抽出し、抽出結果を差分情報として生成する。通信部108は差分情報生成部107で生成された差分情報を端末装置2に送信する。   FIG. 24 is a diagram illustrating a configuration example of the server apparatus 1 according to the present embodiment, and elements 101 to 106 are the same as those in FIG. The difference information generation unit 107 compares the new version and the old version of the storage position designation information stored in the storage position designation information storage unit 106 to extract a difference, and generates the extraction result as difference information. The communication unit 108 transmits the difference information generated by the difference information generation unit 107 to the terminal device 2.

図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 information generation unit 107. The inputs are old and new nonvolatile memory image information and old and new nonvolatile memory arrangement information. Assume that a set of data areas described in the nonvolatile memory arrangement information is S1 and S2, respectively. As shown in the figure, the data area is extracted from S2 in ascending order of address, and is designated as F2. When F2 is not file data (when F2 is either a file system header / directory structure), since the data area corresponding to F2 exists in S1, it is set as F1, and a difference command that is the difference between F2 and F1 is set. Output. When F2 is file data, it may be a new file or an existing file. If file data having the same path as F2 exists in S1, it is set as F1, and a differential command that is the difference between F2 and F1 is output. If the file data having the same path as F2 does not exist in S1, it is a new file, so a differential command for adding F2 is output.

なお、ファイルごとの差分抽出は、最も単純な方法は、単純に新版の内容による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 information generation unit 107 of the above-described embodiment, the unit of difference extraction is a file. However, if the file is a compiled file and includes a plurality of sections having different functions, difference extraction is performed for each section. A method of outputting a differential command is also conceivable. In general, section information can be obtained from the link map file that is output when compiling and linking, and this information can be used to divide the nonvolatile memory image into sections and extract differences. It is. Here, ELF header, Program header table, and Section header table in the ELF (Executable and Linking Format) format developed by UNIX (registered trademark) System Laboratories are also broadly included.

なお、サーバ装置1の構成は、図24に示したものと同様であり、説明は省略する。   The configuration of the server device 1 is the same as that shown in FIG.

このように、本実施の形態では、セクションごとに分割可能なコンパイル済みファイルを格納データとし、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報が生成されている場合に、セクション単位に、旧版のコンパイル済みファイルの格納位置指定情報と新版のコンパイル済みファイルの格納位置指定情報とを比較し、両者の差分を抽出する。ここで、セクションごとに分割可能なコンパイル済みファイルとは、例えば、セクションごとに分割可能な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 server device 1 is the same as that shown in FIG.

このように本実施の形態では、コンパイル前の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に係るサーバ装置の構成例を示す図。FIG. 3 shows a configuration example of a server apparatus according to the first embodiment. 実施の形態1に係る端末装置のハードウェア構成例を示す図。FIG. 3 is a diagram illustrating a hardware configuration example of a terminal device according to the first embodiment. 実施の形態1に係る不揮発性メモリ構成情報の例を示す図。FIG. 4 is a diagram showing an example of nonvolatile memory configuration information according to the first embodiment. 実施の形態1に係るディレクトリツリーの例を示す図。FIG. 3 is a diagram showing an example of a directory tree according to the first embodiment. 実施の形態1に係る不揮発性メモリイメージ情報の例を示す図。FIG. 4 is a diagram showing an example of nonvolatile memory image information according to the first embodiment. 実施の形態1に係る不揮発性メモリ配置情報の例を示す図。FIG. 6 is a diagram showing an example of nonvolatile memory arrangement information according to the first embodiment. 実施の形態1に係る新版作成時の不揮発性メモリ配置情報の例を示す図。FIG. 6 is a diagram showing an example of nonvolatile memory arrangement information when creating a new version according to the first embodiment. 実施の形態2に係る新版作成時の不揮発性メモリ配置情報の例を示す図。The figure which shows the example of the non-volatile memory arrangement | positioning information at the time of the new version preparation concerning Embodiment 2. FIG. 実施の形態3に係る新版のディレクトリツリーの例を示す図。FIG. 10 is a diagram showing an example of a new version directory tree according to the third embodiment. 実施の形態3に係る新版作成時の不揮発性メモリ配置情報の例を示す図。FIG. 10 is a diagram illustrating an example of nonvolatile memory arrangement information when a new version is created according to the third embodiment. 実施の形態4に係る端末装置におけるソフトウェア書き換えの全体的な手順例を示す図。The figure which shows the example of a whole procedure of the software rewriting in the terminal device which concerns on Embodiment 4. FIG. 実施の形態4に係る差分コマンドの例を示す図。FIG. 10 is a diagram illustrating an example of a difference command according to the fourth embodiment. 実施の形態4に係る差分コマンドによる端末上の不揮発性メモリの変化の様子を示す図。The figure which shows the mode of the change of the non-volatile memory on the terminal by the difference command which concerns on Embodiment 4. FIG. 実施の形態4に係る差分コマンドによる端末上の不揮発性メモリの変化の様子を示す図。The figure which shows the mode of the change of the non-volatile memory on the terminal by the difference command which concerns on Embodiment 4. FIG. 実施の形態4に係る新版作成時の不揮発性メモリ配置情報の例を示す図。The figure which shows the example of the non-volatile memory arrangement | positioning information at the time of the new version preparation concerning Embodiment 4. FIG. 実施の形態5に係る新版作成時の不揮発性メモリ配置情報の例を示す図。FIG. 20 is a diagram showing an example of nonvolatile memory arrangement information when creating a new version according to the fifth embodiment. 実施の形態6に係る差分抽出処理の手順例を示す図。FIG. 18 is a diagram illustrating a procedure example of difference extraction processing according to the sixth embodiment. 実施の形態8に係るファイルシステムヘッダの例を示す図。FIG. 20 shows an example of a file system header according to the eighth embodiment. 実施の形態8に係るディレクトリ構造の例を示す図。FIG. 20 shows an example of a directory structure according to the eighth embodiment. 従来のソフトウェア更新の手順例を示す図。The figure which shows the example of a procedure of the conventional software update. 実施の形態1に係るサーバ装置の動作例を示す図。FIG. 6 is a diagram illustrating an operation example of the server apparatus according to the first embodiment. 実施の形態1に係るサーバ装置の動作例を示す図。FIG. 6 is a diagram illustrating an operation example of the server apparatus according to the first embodiment. サーバ装置と端末装置との関係を示す図。The figure which shows the relationship between a server apparatus and a terminal device. 実施の形態6に係るサーバ装置の構成例を示す図。FIG. 10 shows a configuration example of a server apparatus according to a sixth embodiment.

符号の説明Explanation of symbols

1 サーバ装置、2 端末装置、3 ネットワーク、101 データサイズ分析用情報入力部、102 仮格納位置情報入力部、103 格納位置指定情報生成部、104 格納位置指定情報書込/読出部、105 出力部、106 格納位置指定情報記憶部、107 差分情報生成部、108 通信部。   DESCRIPTION OF SYMBOLS 1 Server apparatus, 2 Terminal apparatus, 3 Network, 101 Data size analysis information input part, 102 Temporary storage position information input part, 103 Storage position designation information generation part, 104 Storage position designation information writing / reading part, 105 Output part , 106 Storage position designation information storage unit, 107 Difference information generation unit, 108 Communication unit.

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.
JP2004063364A 2004-03-08 2004-03-08 Information processing apparatus, storage location management method, and program Expired - Lifetime JP3792232B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (9)

* Cited by examiner, † Cited by third party
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&#39;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