JP2011113123A - Difference management device and computer program and difference management method - Google Patents

Difference management device and computer program and difference management method Download PDF

Info

Publication number
JP2011113123A
JP2011113123A JP2009266352A JP2009266352A JP2011113123A JP 2011113123 A JP2011113123 A JP 2011113123A JP 2009266352 A JP2009266352 A JP 2009266352A JP 2009266352 A JP2009266352 A JP 2009266352A JP 2011113123 A JP2011113123 A JP 2011113123A
Authority
JP
Japan
Prior art keywords
difference
data
version
unit
plate
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
JP2009266352A
Other languages
Japanese (ja)
Other versions
JP5729901B2 (en
Inventor
Ryozo Kiyohara
良三 清原
Satoshi Mitsui
聡 三井
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 JP2009266352A priority Critical patent/JP5729901B2/en
Publication of JP2011113123A publication Critical patent/JP2011113123A/en
Application granted granted Critical
Publication of JP5729901B2 publication Critical patent/JP5729901B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce loads applied to a processor or the capacity of an operation region necessary for a storage device when applying difference data for updating version data by reducing data amounts to be distributed and efficiently managing difference data. <P>SOLUTION: A difference storage part 222 stores first difference data showing a difference between the first edition and second edition of version data s and second difference data showing a difference between the second edition and third edition of the version data s. A difference synthesis part 224 synthesizes the first difference data and the second difference data stored in the difference storage part 222 to generate third difference data showing a difference between the first edition and third edition of the version data s. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、3以上の版を有するデータについての差分データを管理する差分管理装置に関する。   The present invention relates to a difference management device that manages difference data for data having three or more versions.

オンラインあるいはオフラインでプログラムなどのデータを端末装置に配布したのち、不具合の修正や機能追加などのため、データを更新する必要が生じる場合がある。配布するデータ量を抑えるため、更新したデータそのものを配布するのではなく、最初に配布したデータと更新したデータとの差分を表わす差分データを配布する方式がある。   After distributing data such as programs online or offline to a terminal device, it may be necessary to update the data to correct defects or add functions. In order to reduce the amount of data to be distributed, there is a method of distributing difference data representing the difference between the initially distributed data and the updated data, instead of distributing the updated data itself.

特開2006−293512号公報JP 2006-293512 A 特開2001−325140号公報JP 2001-325140 A 特開2003−280918号公報JP 2003-280918 A

一般にデータの更新は、複数回行われ、そのたびに、同じデータの異なる版ができることになる。差分データは、2つの版の間の差分を表わすものであるから、同じデータの異なる版が多数あれば、それに対応して差分データも多数必要になる。
また、利用者によっては、最新版のデータに更新するのではなく、異なる版のデータに更新したいという要望を持つ場合もある。すべての要望に対処するためには、版の数の二乗に近い数の差分データが理論的には必要になる。
また、差分データを適用してデータの版を更新するのは、そのデータを保持している端末装置である。端末装置は、処理能力が低い場合や記憶容量が小さい場合があるので、データの更新による負荷は、なるべく小さいことが望まれる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、差分データを効率的に管理するとともに、差分データ適用時の負荷を小さくすることを目的とする。
In general, data is updated a plurality of times, and each time a different version of the same data is created. Since the difference data represents the difference between the two versions, if there are many different versions of the same data, a large number of difference data is required correspondingly.
Some users may desire to update to a different version of the data instead of updating to the latest version. In order to cope with all the demands, the number of difference data close to the square of the number of plates is theoretically required.
In addition, it is the terminal device that holds the data that applies the difference data to update the data version. Since the terminal device may have a low processing capacity or a small storage capacity, it is desirable that the load due to the data update be as small as possible.
The present invention has been made, for example, in order to solve the above-described problems, and it is an object of the present invention to efficiently manage differential data and reduce the load when applying differential data.

この発明にかかる差分管理装置は、
3以上の版を有する有版データについて、上記有版データの2つの版の間の差分を表わす差分データを管理する差分管理装置において、
データを記憶する記憶装置と、データを処理する処理装置と、差分記憶部と、差分合成部とを有し、
上記差分記憶部は、上記記憶装置を用いて、上記有版データの第一の版と第二の版との間の差分を表わす第一の差分データと、上記有版データの第二の版と第三の版との間の差分を表わす第二の差分データとを記憶し、
上記差分合成部は、上記処理装置を用いて、上記差分記憶部が記憶した第一の差分データと第二の差分データとを合成して、上記有版データの第一の版と第三の版との間の差分を表わす第三の差分データを生成することを特徴とする。
The difference management device according to the present invention is:
For version data having three or more versions, in a difference management device that manages difference data representing a difference between two versions of the version data,
A storage device for storing data, a processing device for processing data, a difference storage unit, and a difference synthesis unit;
The difference storage unit uses the storage device, the first difference data representing the difference between the first version and the second version of the plate data, and the second version of the plate data And second difference data representing the difference between the first and third editions,
The difference synthesizer synthesizes the first difference data and the second difference data stored in the difference storage unit using the processing device, and the first version and the third version of the plate data It is characterized in that third difference data representing a difference between the plates is generated.

この発明にかかる差分管理装置によれば、配布すべきデータ量を削減できるとともに、有版データの版の数が多くても記憶すべき差分データの数が少なく、有版データを更新するため差分データを適用する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   According to the difference management device of the present invention, the amount of data to be distributed can be reduced, and even if the number of versions of the plate data is large, the number of difference data to be stored is small, and the difference is obtained because the version data is updated. When data is applied, the load on the processing device and the capacity of the work area required for the storage device can be reduced.

実施の形態1における配布システム800の全体構成の一例を示すシステム構成図。1 is a system configuration diagram illustrating an example of an overall configuration of a distribution system 800 in Embodiment 1. FIG. 実施の形態1における配布装置100および端末装置200の外観の一例を示す斜視図。FIG. 3 is a perspective view showing an example of the appearance of the distribution device 100 and the terminal device 200 in the first embodiment. 実施の形態1における配布装置100および端末装置200のハードウェア資源の一例を示す図。FIG. 3 is a diagram illustrating an example of hardware resources of the distribution device 100 and the terminal device 200 according to the first embodiment. 実施の形態1における配布装置100の機能ブロックの構成の一例を示すブロック構成図。FIG. 3 is a block configuration diagram illustrating an example of a functional block configuration of the distribution apparatus 100 according to the first embodiment. 実施の形態1における端末装置200の機能ブロックの構成の一例を示すブロック構成図。FIG. 3 is a block configuration diagram illustrating an example of a functional block configuration of the terminal device 200 according to the first embodiment. 実施の形態1における差分版記憶部125が記憶した差分コード511の一例を示す図。FIG. 4 is a diagram illustrating an example of a difference code 511 stored in the difference version storage unit 125 according to the first embodiment. 実施の形態1における差分データ520の一例を示す図。FIG. 5 shows an example of difference data 520 in the first embodiment. 実施の形態1における2つの有版データ530a,530bの関係の一例を示す図。FIG. 4 is a diagram illustrating an example of a relationship between two plate data 530a and 530b according to the first embodiment. 実施の形態1における差分生成処理S610の流れの一例を示すフローチャート図。FIG. 6 is a flowchart showing an example of a flow of difference generation processing S610 in the first embodiment. 実施の形態1におけるデータ更新処理S650の流れの一例を示すフローチャート図。FIG. 6 is a flowchart showing an example of a flow of data update processing S650 in the first embodiment. 実施の形態1における差分合成処理S670の流れの一例を示すフローチャート図。FIG. 6 is a flowchart showing an example of a flow of difference synthesis processing S670 in the first embodiment. 実施の形態1における差分データ520bの一例を示す図。FIG. 6 shows an example of difference data 520b in the first embodiment. 実施の形態1における差分データ520cの一例を示す図。FIG. 5 shows an example of difference data 520c in the first embodiment. 実施の形態1における3つの有版データ530a〜530cの関係の一例を示す図。FIG. 5 is a diagram illustrating an example of a relationship between three plate data 530a to 530c according to the first embodiment. 実施の形態1における2つの有版データ530a,530cの関係の一例を示す図。FIG. 5 is a diagram illustrating an example of a relationship between two plate data 530a and 530c according to the first embodiment. 実施の形態1における配布判定処理S710の流れの一例を示すフローチャート図。FIG. 6 is a flowchart showing an example of a flow of distribution determination processing S710 in the first embodiment. 実施の形態1における適用判定処理S740の流れの一例を示すフローチャート図。FIG. 6 is a flowchart showing an example of a flow of application determination processing S740 in the first embodiment. 実施の形態1における差分データ520d〜520kと有版データ530d〜530iとの関係の一例を示す模式図。The schematic diagram which shows an example of the relationship between the difference data 520d-520k and the plate data 530d-530i in Embodiment 1. FIG. 実施の形態2におけるシステムの構成例を示す図。FIG. 3 illustrates a configuration example of a system in a second embodiment. 実施の形態2におけるソフトウェア配布サーバ10の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a software distribution server 10 according to the second embodiment. 実施の形態2における端末装置30の構成例を示す図。FIG. 6 is a diagram illustrating a configuration example of a terminal device 30 according to the second embodiment. 実施の形態2におけるソフトウェア配布サーバ10の処理フロー図。FIG. 10 is a process flow diagram of the software distribution server 10 according to the second embodiment. 実施の形態2における端末装置30の更新フロー図。FIG. 10 is an update flowchart of the terminal device 30 according to the second embodiment. 実施の形態2における差分情報管理部13が差分情報を管理する管理の例を示す図。The difference information management part 13 in Embodiment 2 shows the example of the management which manages difference information. 実施の形態2におけるソフトウェアイメージと差分との関係の例を示す図。FIG. 10 is a diagram illustrating an example of a relationship between a software image and a difference in the second embodiment. 実施の形態2におけるソフトウェアイメージと差分合成との関係の例を示す図。FIG. 10 is a diagram illustrating an example of a relationship between a software image and difference synthesis in the second embodiment. 実施の形態2における差分合成の処理フロー図。FIG. 11 is a process flow diagram of difference synthesis in the second embodiment. 実施の形態2における差分合成においてコピーする範囲を抽出するための情報の例を示す図。FIG. 10 is a diagram illustrating an example of information for extracting a range to be copied in difference synthesis in the second embodiment.

実施の形態1.
実施の形態1について、図1〜図18を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.

図1は、この実施の形態における配布システム800の全体構成の一例を示すシステム構成図である。
配布システム800は、プログラムなどのソフトウェアを配布するシステムである。配布システム800は、開発装置810、配布装置100、端末装置200などを有する。開発装置810は、開発者がソフトウェアを開発する装置である。配布装置100は、開発装置810で開発されたソフトウェアを端末装置200に配布する装置である。端末装置200は、配布装置100から配布されたソフトウェアを実行する装置である。開発装置810と配布装置100との間は、例えばネットワークなどにより接続していて、開発装置810で開発されたソフトウェアを配布装置100に伝送することができる。しかし、開発装置810で開発したソフトウェアを配布装置100が取得できる構成であれば、開発装置810と配布装置100との間は必ずしも接続されている必要はない。例えば、開発装置810で開発したソフトウェアを記憶媒体に記憶させ、配布装置100が記憶媒体からソフトウェアを読み出す構成であってもよい。配布装置100と端末装置200との間も同様に、配布装置100が配布したソフトウェアを端末装置200が取得できるよう構成する。例えば、ネットワークによる常時接続やダイヤルアップ回線による接続を介してオンラインでソフトウェアを配布する構成でもよいし、記憶媒体を郵送するなどしてオフラインでソフトウェアを配布する構成でもよい。
FIG. 1 is a system configuration diagram showing an example of the overall configuration of a distribution system 800 in this embodiment.
The distribution system 800 is a system for distributing software such as programs. The distribution system 800 includes a development device 810, a distribution device 100, a terminal device 200, and the like. The development device 810 is a device in which a developer develops software. The distribution device 100 is a device that distributes the software developed by the development device 810 to the terminal device 200. The terminal device 200 is a device that executes software distributed from the distribution device 100. The development device 810 and the distribution device 100 are connected by a network, for example, and software developed by the development device 810 can be transmitted to the distribution device 100. However, the development device 810 and the distribution device 100 do not necessarily have to be connected as long as the distribution device 100 can acquire software developed by the development device 810. For example, the software developed by the development device 810 may be stored in a storage medium, and the distribution device 100 may read the software from the storage medium. Similarly, between the distribution device 100 and the terminal device 200, the terminal device 200 can acquire the software distributed by the distribution device 100. For example, a configuration in which software is distributed online via a continuous connection through a network or a connection through a dial-up line may be used, or a configuration in which software is distributed offline by mailing a storage medium may be used.

ソフトウェアは、1つのファイルからなるものであってもよいし、複数のファイルからなるものであってもよい。この例では、ソフトウェア全体を一続きのデータとして取り扱う。例えば、ソフトウェアを構成する1以上のファイルを1つに結合して生成した書庫ファイルを対象とする。なお、ソフトウェア全体を一続きのデータとして取り扱うのではなく、複数のファイルなど複数のデータの集合として取り扱う場合は、個々のファイルなど一続きのデータとして取り扱うことができる部分を対象とすればよい。   The software may consist of one file or may consist of a plurality of files. In this example, the entire software is handled as a series of data. For example, an archive file generated by combining one or more files constituting the software into one is targeted. When the entire software is not handled as a series of data but is handled as a set of a plurality of data such as a plurality of files, a portion that can be handled as a series of data such as individual files may be targeted.

配布装置100は、開発装置810で開発されたソフトウェアを端末装置200に配布する。その後、開発装置810では、例えば不具合の修正や新機能の追加などを目的として、既に配布したソフトウェアを修正した新しい版のソフトウェアを開発する。ソフトウェアの修正は、1回に限らず、何回も繰り返し行われる。このため、ソフトウェアには、多数の版が存在する。
新しい版のソフトウェアを配布するに当たり、古い版のソフトウェアとの差が小さければ、その差を表わす差分データを配布するほうが、配布すべきデータ量が少なくなり効率がよい。このため、配布装置100は、端末装置200に対して差分データを配布する。端末装置200は、既に配布されている古い版のソフトウェアに、配布された差分データを適用することにより、ソフトウェアを更新し、新しい版のソフトウェアを取得する。
The distribution device 100 distributes the software developed by the development device 810 to the terminal device 200. Thereafter, the development device 810 develops a new version of software in which the already distributed software is modified, for example, for the purpose of correcting defects or adding new functions. The correction of the software is not limited to one time but is repeated many times. For this reason, there are many versions of software.
When distributing a new version of software, if the difference from the old version of the software is small, it is more efficient to distribute the difference data representing the difference because the amount of data to be distributed is smaller. For this reason, the distribution device 100 distributes the difference data to the terminal device 200. The terminal device 200 updates the software by acquiring the new version of the software by applying the distributed difference data to the old version of the software that has already been distributed.

配布装置100からソフトウェアの配布を受ける端末装置200は、1以上存在し、通常は非常に多数存在する。端末装置200が配布装置100からソフトウェアの配布を受ける形態には、上述したように様々な形態がある。
端末装置200がネットワークなどを介して配布装置100と常時接続している場合、ソフトウェアの新しい版が開発されるたびに、配布装置100から差分データを端末装置200に配布することができる。
しかし、端末装置200がダイヤルアップ回線などを介して配布装置100と接続している場合、配布装置100と端末装置200とが接続していない間は、差分データを配布できない。
また、郵送などオフラインでの配布の場合、些細な修正のたびに差分データを配布することは、郵送料や利用者が差分データをソフトウェアに適用する手間などの点で現実的ではなく、セキュリティホールの修正など重要な修正があった場合のみ、差分データを配布する。
There are one or more terminal devices 200 that receive software distribution from the distribution device 100, and usually there are a large number. There are various forms in which the terminal device 200 receives software distribution from the distribution apparatus 100 as described above.
When the terminal device 200 is always connected to the distribution device 100 via a network or the like, the difference data can be distributed from the distribution device 100 to the terminal device 200 each time a new version of the software is developed.
However, when the terminal device 200 is connected to the distribution device 100 via a dial-up line or the like, the difference data cannot be distributed while the distribution device 100 and the terminal device 200 are not connected.
Also, in the case of offline distribution such as mailing, it is not practical to distribute differential data for every minor modification in terms of postage and the time and effort required for users to apply differential data to software. Distribute difference data only when there are important corrections such as.

更に問題を複雑にするのは、端末装置200の利用者の好みの問題である。利用者は、必ずしも最新版のソフトウェアを好むとは限らない。データの互換性などの問題から古い版を使う必要がある場合や、既に使い慣れた操作方法が変更されることへの抵抗感がある場合など、様々な理由により、利用者は、古い版のソフトウェアを使い続けている場合がある。場合によっては、一度新しい版を導入したのち、古い版に戻したいという要望が出る場合もある。   Further complicating the problem is the preference of the user of the terminal device 200. Users do not always like the latest version of software. Users may need to use an older version of the software for various reasons, such as when it is necessary to use an older version due to data compatibility issues, or when they feel reluctant to change an already familiar operating method. May continue to be used. In some cases, after a new version has been introduced, there is a desire to return to the old version.

したがって、ソフトウェアの多数の版のうち、どの版を、端末装置200が現在記憶しているかは必ずしも明らかではないし、端末装置200が記憶しているソフトウェアを更新する場合、どの版に更新すればよいかも必ずしも明らかではない。   Accordingly, it is not always clear which version of the software is currently stored in the terminal device 200. When updating the software stored in the terminal device 200, which version should be updated. Moreover, it is not always clear.

配布システム800は、このように、ソフトウェアが多数の版を有し、その差分データを配布することによりソフトウェアを配布する場合において、効率的なソフトウェアの更新を実現する。   In this way, the distribution system 800 realizes efficient software update when the software has a large number of versions and the software is distributed by distributing the difference data.

図2は、この実施の形態における配布装置100および端末装置200の外観の一例を示す斜視図である。
配布装置100および端末装置200は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
FIG. 2 is a perspective view showing an example of the outer appearance of the distribution device 100 and the terminal device 200 in this embodiment.
The distribution device 100 and the terminal device 200 include a system unit 910, a display device 901 having a CRT (Cathode Ray Tube) or LCD (liquid crystal) display screen, a keyboard 902 (Key / Board: K / B), a mouse 903, Hardware resources such as an FDD 904 (Flexible / Disk / Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907 are provided, and these are connected by cables and signal lines.
The system unit 910 is a computer, and is connected to the facsimile machine 932 and the telephone 931 via a cable, and is connected to the Internet 940 via a local area network 942 (LAN) and a gateway 941.

図3は、この実施の形態における配布装置100および端末装置200のハードウェア資源の一例を示す図である。
配布装置100および端末装置200は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置(以下「HDD」と呼ぶ。)920と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 3 is a diagram illustrating an example of hardware resources of the distribution device 100 and the terminal device 200 according to this embodiment.
The distribution apparatus 100 and the terminal apparatus 200 include a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, a processing unit, a microprocessor, a microcomputer, or a processor) that executes a program. The CPU 911 includes a ROM 913, a RAM 914, a communication device 915, a display device 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer device 906, a scanner device 907, and a magnetic disk device (hereinafter referred to as “HDD”) via a bus 912. 920 is connected to control these hardware devices. Instead of the HDD 920, a storage device such as an optical disk device or a memory card read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media such as the ROM 913, the FDD 904, the CDD 905, and the HDD 920 are examples of nonvolatile memories. These are examples of a storage device or a storage unit. A communication device 915, a keyboard 902, a scanner device 907, an FDD 904, and the like are examples of an input unit and an input device.
Further, the communication device 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication device 915 is connected to a facsimile machine 932, a telephone 931, a LAN 942, and the like. The communication device 915 is not limited to the LAN 942, and may be connected to the Internet 940, a WAN (wide area network) such as ISDN, or the like. When connected to a WAN such as the Internet 940 or ISDN, the gateway 941 is unnecessary.
The HDD 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、HDD920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores a program for executing a function described as “˜unit” in the description of the embodiment described below. The program is read and executed by the CPU 911.
The file group 924 includes information, data, signal values, variable values, and parameters that are described as “determination results of”, “calculation results of”, and “processing results of” in the description of the embodiments described below. Are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
In addition, arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals, and the data and signal values are the RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the HDD 920. Recording media such as magnetic disks, other optical disks, mini disks, DVDs (Digital Versatile Disks) and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In the description of the embodiments described below, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described below. Alternatively, the procedure or method of “to part” described below is executed by a computer.

図4は、この実施の形態における配布装置100の機能ブロックの構成の一例を示すブロック構成図である。
配布装置100(差分管理装置)は、旧版データ記憶部111、新版データ取得部112、差分生成部113、旧版データ更新部114、差分記憶部115、旧版コード記憶部121、旧版コード更新部124、差分版記憶部125、要求取得部131、配布判定部132、差分合成部133、差分配布部134を有する。
FIG. 4 is a block configuration diagram showing an example of a functional block configuration of the distribution apparatus 100 according to this embodiment.
The distribution device 100 (difference management device) includes an old version data storage unit 111, a new version data acquisition unit 112, a difference generation unit 113, an old version data update unit 114, a difference storage unit 115, an old version code storage unit 121, an old version code update unit 124, A difference version storage unit 125, a request acquisition unit 131, a distribution determination unit 132, a difference synthesis unit 133, and a difference distribution unit 134 are included.

旧版データ記憶部111は、HDD920を用いて、多数の版を有するソフトウェア(以下「有版データ」と呼ぶ。)のうち、現行の版(以下「旧版データ」と呼ぶ。)を記憶している。有版データには、その版を識別するためのコード(以下「版コード」と呼ぶ。)がある。版コードは、例えばソフトウェアのバージョン番号やリビジョン番号である。
開発装置810が有版データの新たな版を開発すると、新版データ取得部112は、CPU911を用いて、開発装置810から有版データの最新の版(以下「新版データ」と呼ぶ。)と、新版データの版を識別する版コード(以下「新版コード」と呼ぶ。)とを取得する。
差分生成部113は、CPU911を用いて、旧版データ記憶部111が記憶した旧版データと、新版データ取得部112が取得した新版データとの間の差分データを生成する。
差分記憶部115は、HDD920を用いて、差分生成部113が生成した差分データを記憶する。差分記憶部115は、複数の差分データを記憶する。差分生成部113が生成した差分データを記憶することにより、差分記憶部115が記憶した差分データの数が1つ増える。
The old version data storage unit 111 uses the HDD 920 to store the current version (hereinafter referred to as “old version data”) among software having a large number of versions (hereinafter referred to as “version data”). . The version data includes a code (hereinafter referred to as “version code”) for identifying the version. The version code is, for example, a software version number or revision number.
When the development device 810 develops a new version of the edition data, the new edition data acquisition unit 112 uses the CPU 911 to send the latest edition of the edition data (hereinafter referred to as “new edition data”) from the development device 810. A version code for identifying the version of the new version data (hereinafter referred to as “new version code”) is acquired.
The difference generation unit 113 uses the CPU 911 to generate difference data between the old version data stored in the old version data storage unit 111 and the new version data acquired by the new version data acquisition unit 112.
The difference storage unit 115 stores the difference data generated by the difference generation unit 113 using the HDD 920. The difference storage unit 115 stores a plurality of difference data. By storing the difference data generated by the difference generation unit 113, the number of difference data stored by the difference storage unit 115 is increased by one.

旧版データ更新部114は、CPU911を用いて、旧版データ記憶部111が記憶した旧版データを更新して、新版データ取得部112が取得した新版データを旧版データ記憶部111に記憶させる。
旧版データ記憶部111は、有版データの1つの版しか記憶しない。これにより、HDD920の記憶容量を節約することができる。旧版データ更新部114による更新により、旧版データ記憶部111は、HDD920を用いて、新版データを新たな旧版データとして記憶する。すなわち、旧版データ記憶部111が記憶している有版データの現行の版は、差分生成部113が差分データを生成している間を除き、常に、その有版データの最新の版である。
1つの有版データのデータ量が大きい場合はもちろん、配布装置100が多数の種類の有版データを配布する場合、1つ1つの有版データのデータ量は小さくても、全体としてのデータ量は膨大になる場合がある。旧版データ記憶部111が1つの有版データにつき1つの版しか記憶せず、HDD920の記憶容量を節約することにより、配布装置100の設置コストを抑えることができる。
なお、HDD920の記憶容量に余裕があれば、旧版データ記憶部111は、1つの有版データにつき複数の版を記憶する構成としてもよい。更に、空き容量監視部と版数算出部とを設け、HDD920の空き容量を空き容量監視部が監視し、HDD920の空き容量に基づいて、旧版データ記憶部111が記憶する版の数を版数算出部が算出する構成としてもよい。
The old version data update unit 114 uses the CPU 911 to update the old version data stored in the old version data storage unit 111 and store the new version data acquired by the new version data acquisition unit 112 in the old version data storage unit 111.
The old version data storage unit 111 stores only one version of the plate data. Thereby, the storage capacity of the HDD 920 can be saved. Due to the update by the old version data update unit 114, the old version data storage unit 111 stores the new version data as new old version data using the HDD 920. That is, the current version of the plate data stored in the old version data storage unit 111 is always the latest version of the plate data except when the difference generation unit 113 is generating the difference data.
When the data amount of each piece of plate data is large, as well as when the distribution device 100 distributes many types of plate data, the total amount of data even if the amount of piece of plate data is small. Can be enormous. Since the old version data storage unit 111 stores only one version for each piece of plate data and saves the storage capacity of the HDD 920, the installation cost of the distribution apparatus 100 can be suppressed.
If the storage capacity of the HDD 920 is sufficient, the old version data storage unit 111 may be configured to store a plurality of versions for one piece of plate data. Furthermore, a free capacity monitoring unit and a version number calculating unit are provided, the free capacity monitoring unit monitors the free capacity of the HDD 920, and the number of versions stored in the old version data storage unit 111 is determined based on the free capacity of the HDD 920. It is good also as a structure which a calculation part calculates.

旧版コード記憶部121は、HDD920を用いて、旧版データ記憶部111が記憶している旧版データの版を識別する版コード(以下「旧版コード」と呼ぶ。)を記憶している。
差分版記憶部125は、CPU911を用いて、新版データ取得部112が取得した新版コードと、旧版コード記憶部121が記憶した旧版コードとに基づいて、差分生成部113が生成した差分データがどの版とどの版との間のものであるかを表わすデータ(以下「差分コード」と呼ぶ。)を生成する。差分版記憶部125は、HDD920を用いて、生成した差分コードを記憶する。差分版記憶部125は、差分記憶部115が記憶した複数の差分データに対応して同じ数の差分コードを記憶する。例えば、差分記憶部115が差分データを記憶するファイルのファイル名として差分コードを用いるなどして、差分記憶部115が記憶した差分データと、差分版記憶部125が記憶した差分コードとを対応づける。
The old version code storage unit 121 uses the HDD 920 to store a version code (hereinafter referred to as “old version code”) for identifying the version of the old version data stored in the old version data storage unit 111.
The difference version storage unit 125 uses the CPU 911 to determine which difference data generated by the difference generation unit 113 is based on the new version code acquired by the new version data acquisition unit 112 and the old version code stored by the old version code storage unit 121. Data (hereinafter referred to as “difference code”) representing the version and the version between the versions is generated. The difference version storage unit 125 uses the HDD 920 to store the generated difference code. The difference version storage unit 125 stores the same number of difference codes corresponding to the plurality of difference data stored by the difference storage unit 115. For example, the difference data stored in the difference storage unit 115 is associated with the difference code stored in the difference version storage unit 125 by using a difference code as the file name of the file in which the difference storage unit 115 stores the difference data. .

旧版コード更新部124は、CPU911を用いて、旧版コード記憶部121が記憶した旧版コードを更新して、新版データ取得部112が取得した新版コードを旧版コード記憶部121に記憶させる。
旧版データ記憶部111が1つの旧版データを記憶する構成である場合、旧版コード記憶部121も1つの旧版コードを記憶する。
旧版データ記憶部111が複数の旧版データを記憶する構成である場合、旧版コード記憶部121は、それに対応して同じ数の旧版コードを記憶する。旧版データ記憶部111が記憶した旧版データと、旧版コード記憶部121が記憶した旧版コードとの対応がわかるよう、例えば、旧版データ記憶部111が旧版データを記憶するファイルのファイル名として旧版コードを用いるなどして、旧版データ記憶部111が記憶した旧版データと、旧版コード記憶部121が記憶した旧版コードとを対応づける。
The old version code update unit 124 uses the CPU 911 to update the old version code stored in the old version code storage unit 121 and store the new version code acquired by the new version data acquisition unit 112 in the old version code storage unit 121.
When the old version data storage unit 111 is configured to store one old version data, the old version code storage unit 121 also stores one old version code.
When the old version data storage unit 111 is configured to store a plurality of old version data, the old version code storage unit 121 stores the same number of old version codes correspondingly. In order to understand the correspondence between the old version data stored in the old version data storage unit 111 and the old version code stored in the old version code storage unit 121, for example, the old version code is used as the file name of the file in which the old version data storage unit 111 stores the old version data. For example, the old version data stored in the old version data storage unit 111 is associated with the old version code stored in the old version code storage unit 121.

要求取得部131は、CPU911を用いて、端末装置200から差分データを要求する差分要求メッセージを取得する。例えば、要求取得部131は、ネットワークを介して接続した端末装置200が送信した差分要求メッセージを、通信装置915を用いて受信する。あるいは、要求取得部131は、オフラインの端末装置200の利用者からの要求を配布装置100の管理者がキーボード902などを用いて入力することにより、差分要求メッセージを取得する。
差分要求メッセージは、少なくとも、端末装置200が現在所持している有版データ(以下「現版データ」と呼ぶ。)の版を識別する版コード(以下「現版コード」と呼ぶ。)を含む。また、差分要求メッセージは、端末装置200が取得したい有版データ(以下「更新版データ」と呼ぶ。)の版を識別する版コード(以下「更新版コード」と呼ぶ。)を含む。なお、差分要求メッセージが更新版コードを含まない場合は、最新版を取得したいものと解釈する構成であってもよい。
更に、差分要求メッセージは、端末装置200が現在所持している差分データを識別する差分コードを含んでもよい。上述したように、端末装置200は、配布装置100が配布したすべての差分データを取得しているとは限らないし、端末装置200が記憶している有版データの版や、取得したい有版データの版は様々である。したがって、端末装置200が所持している差分データが現版データに適用できるとは限らないし、適用できたとしてもその結果として更新版データが得られるとは限らない。このため、端末装置200が差分データを所持していたとしても、それとは異なる差分データを配布する必要がある場合がある。
The request acquisition unit 131 uses the CPU 911 to acquire a difference request message for requesting difference data from the terminal device 200. For example, the request acquisition unit 131 receives the difference request message transmitted from the terminal device 200 connected via the network using the communication device 915. Alternatively, the request acquisition unit 131 acquires a difference request message when the administrator of the distribution apparatus 100 inputs a request from the user of the offline terminal device 200 using the keyboard 902 or the like.
The difference request message includes at least a version code (hereinafter referred to as “current version code”) for identifying a version of the version data (hereinafter referred to as “current version data”) currently possessed by the terminal device 200. . In addition, the difference request message includes a version code (hereinafter referred to as “update version code”) that identifies the version of the version data (hereinafter referred to as “update version data”) that the terminal device 200 wishes to acquire. In addition, when the difference request message does not include the updated version code, the configuration may be such that it is interpreted that the latest version is to be acquired.
Furthermore, the difference request message may include a difference code that identifies the difference data that the terminal device 200 currently has. As described above, the terminal device 200 does not necessarily acquire all the difference data distributed by the distribution device 100, and the version of the plate data stored in the terminal device 200 or the plate data to be acquired. There are various versions. Therefore, the difference data possessed by the terminal device 200 is not necessarily applicable to the current version data, and even if it is applicable, the updated version data is not necessarily obtained as a result. For this reason, even if the terminal device 200 possesses differential data, it may be necessary to distribute different differential data.

配布判定部132は、CPU911を用いて、要求取得部131が取得した差分要求メッセージと、差分版記憶部125が記憶した差分コードとに基づいて、差分記憶部115が記憶した差分データのなかから、端末装置200に配布すべき差分データを判定する。
現版データに適用することにより更新版データを得ることができる差分データを配布すれば、端末装置200からの要求を満たすことができるのは、もちろんである。また、複数の差分データを順次適用することにより現版データから更新版データを得ることができる差分データであっても、端末装置200からの要求を満たすことができる。例えば、現版データに第一の差分データを適用し、その結果得られた版の有版データに第二の差分データを適用して更新版データを得ることができればよい。順次適用する差分データの数は、2つに限らず、3つ以上であってもよい。また、順次適用する複数の差分データのうちいくつかの差分データを端末装置200が既に所持しているのであれば、その差分データについては、端末装置200に配布する必要はなく、差分記憶部115が記憶している必要もない。
Based on the difference request message acquired by the request acquisition unit 131 and the difference code stored in the difference version storage unit 125 using the CPU 911, the distribution determination unit 132 uses the difference data stored in the difference storage unit 115. The difference data to be distributed to the terminal device 200 is determined.
It is a matter of course that the request from the terminal device 200 can be satisfied by distributing the differential data that can be obtained by applying the current version data to the updated version data. Further, even the difference data that can obtain the updated version data from the current version data by sequentially applying the plurality of difference data can satisfy the request from the terminal device 200. For example, it is only necessary that the first difference data is applied to the current version data and the second difference data is applied to the plate data obtained as a result to obtain the updated version data. The number of differential data to be sequentially applied is not limited to two, and may be three or more. Further, if the terminal device 200 already has some difference data among the plurality of difference data to be sequentially applied, the difference data does not need to be distributed to the terminal device 200, and the difference storage unit 115 There is no need to remember.

差分合成部133は、CPU911を用いて、差分記憶部115が記憶した複数の差分データを合成して、新たな差分データを生成する。差分データの合成とは、順次適用可能な複数の差分データから、1つの差分データを生成することである。例えば、第一の差分データは、有版データの第一の版に適用することにより有版データの第二の版を生成できるものであり、第二の差分データは、有版データの第二の版に適用することにより有版データの第三の版を生成できるものであるとする。この場合、有版データの第一の版に、第一の差分データと第二の差分データとを順次適用することにより、有版データの第三の版を生成することができる。差分合成部133は、第一の差分データと第二の差分データとを合成することにより、1回の適用で、有版データの第一の版から、有版データの第三の版を生成することができる第三の差分データを生成する。
差分記憶部115は、HDD920を用いて、差分合成部133が生成した新たな差分データを記憶する。これにより、差分記憶部115が記憶した差分データの数がまた1つ増える。
差分版記憶部125は、CPU911を用いて、差分合成部133が生成した差分データに対応する差分コードを生成し、HDD920を用いて、生成した差分コードを記憶する。
The difference synthesis unit 133 uses the CPU 911 to synthesize a plurality of difference data stored in the difference storage unit 115 to generate new difference data. The synthesis of the difference data is to generate one difference data from a plurality of difference data that can be sequentially applied. For example, the first difference data can generate a second version of the plate data by applying the first difference data to the first version of the plate data, and the second difference data is the second of the plate data. It is assumed that the third version of the plate data can be generated by applying to the version of. In this case, the third version of the plate data can be generated by sequentially applying the first difference data and the second difference data to the first version of the plate data. The difference synthesizing unit 133 generates the third version of the plate data from the first version of the plate data in one application by synthesizing the first difference data and the second difference data. A third difference data that can be generated is generated.
The difference storage unit 115 stores new difference data generated by the difference synthesis unit 133 using the HDD 920. As a result, the number of difference data stored in the difference storage unit 115 is increased by one.
The difference version storage unit 125 generates a difference code corresponding to the difference data generated by the difference synthesis unit 133 using the CPU 911 and stores the generated difference code using the HDD 920.

例えば、配布判定部132が端末装置200に配布すべきと判定した差分データのなかに、順次適用すべき複数の差分データがある場合、これを合成して1つの差分データにしてから配布するほうが、配布すべきデータ量が減るので効率がよい。差分合成部133は、CPU911を用いて、配布判定部132が判定した差分データに基づいて、合成すべき差分データを判定し、差分データを合成する。
また、配布する時点で合成を始めたのでは配布が遅れる可能性があるので、差分合成部133は、CPU911を用いて、前もって差分データを合成しておく構成であってもよい。例えば、負荷監視部を設け、負荷監視部がCPU911の負荷を監視し、CPU911の負荷が所定の値よりも低く、差分合成部133が差分データを合成する差分合成処理をしても他の処理に影響が出ないと判定した場合に、差分版記憶部125が記憶した差分コードに基づいて、合成により生成することが可能であるがまだ生成されていない差分データを差分合成部133が判定し、判定した差分データを生成する。
For example, if there is a plurality of difference data to be sequentially applied among the difference data determined to be distributed to the terminal device 200 by the distribution determination unit 132, it is better to combine the difference data into one difference data before distribution. This is efficient because the amount of data to be distributed is reduced. Using the CPU 911, the difference combining unit 133 determines difference data to be combined based on the difference data determined by the distribution determining unit 132, and combines the difference data.
In addition, since the distribution may be delayed if the synthesis is started at the time of distribution, the difference synthesis unit 133 may be configured to synthesize the difference data in advance using the CPU 911. For example, a load monitoring unit is provided, the load monitoring unit monitors the load on the CPU 911, the load on the CPU 911 is lower than a predetermined value, and the difference combining unit 133 performs a difference combining process for combining difference data. When it is determined that there is no effect on the difference, the difference synthesizer 133 determines difference data that can be generated by synthesis based on the difference code stored in the difference version storage unit 125 but has not yet been generated. The determined difference data is generated.

差分配布部134(差分通知部)は、CPU911を用いて、差分記憶部115が記憶した差分データを端末装置200に対して配布する。配布の方式には、上述したように様々な方式がある。例えば、差分配布部134が通信装置915を用いて、インターネットなどを介して差分データを端末装置200に対して送信する。あるいは、差分配布部134が記憶媒体に差分データを保存し、差分データを保存した記憶媒体を端末装置200の利用者に対して郵送する。また、配布の時期にも、様々な時期がある。例えば、端末装置200からの差分要求メッセージに対する応答として、配布判定部132が判定した差分データを差分配布部134が配布する。あるいは、開発装置810が有版データの新しい版を開発したことに伴って、有版データを最新版に更新する差分データを差分配布部134が配布する。   The difference distribution unit 134 (difference notification unit) uses the CPU 911 to distribute the difference data stored in the difference storage unit 115 to the terminal device 200. As described above, there are various distribution methods. For example, the difference distribution unit 134 uses the communication device 915 to transmit the difference data to the terminal device 200 via the Internet or the like. Alternatively, the difference distribution unit 134 stores the difference data in a storage medium, and mails the storage medium storing the difference data to the user of the terminal device 200. There are also various times for distribution. For example, as a response to the difference request message from the terminal device 200, the difference distribution unit 134 distributes the difference data determined by the distribution determination unit 132. Alternatively, as the development apparatus 810 has developed a new version of the plate data, the difference distribution unit 134 distributes difference data for updating the plate data to the latest version.

図5は、この実施の形態における端末装置200の機能ブロックの構成の一例を示すブロック構成図である。
端末装置200(差分管理装置)は、有版データ記憶部211、有版データ更新部212、現版コード記憶部213、差分取得部221、差分記憶部222、差分版記憶部223、差分合成部224、更新版取得部231、適用判定部240を有する。
FIG. 5 is a block configuration diagram showing an example of a functional block configuration of the terminal device 200 in this embodiment.
The terminal device 200 (difference management device) includes a plate data storage unit 211, a plate data update unit 212, a current version code storage unit 213, a difference acquisition unit 221, a difference storage unit 222, a difference version storage unit 223, and a difference synthesis unit. 224, an updated version acquisition unit 231, and an application determination unit 240.

有版データ記憶部211は、HDD920を用いて、有版データのいずれかの版を記憶している。
現版コード記憶部213は、HDD920を用いて、有版データ記憶部211が記憶している有版データの版を表わす版データ(以下「現版コード」と呼ぶ。)を記憶している。
The plate data storage unit 211 uses the HDD 920 to store any version of the plate data.
The current version code storage unit 213 uses the HDD 920 to store version data (hereinafter referred to as “current version code”) representing the version of the version data stored in the version data storage unit 211.

有版データ更新部212は、CPU911を用いて、差分記憶部222が記憶した差分データを、有版データ記憶部211が記憶した有版データに適用して、有版データの異なる版を生成する。有版データ更新部212は、CPU911を用いて、有版データ記憶部211が記憶した有版データを更新して、生成した異なる版の有版データを記憶させる。有版データ記憶部211は、HDD920を用いて、更新された異なる版の有版データを記憶する。現版コード記憶部213は、HDD920を用いて、更新された異なる版を表わす現版コードを記憶する。   The plate data update unit 212 uses the CPU 911 to apply the difference data stored in the difference storage unit 222 to the plate data stored in the plate data storage unit 211 to generate different versions of the plate data. . The plate data update unit 212 uses the CPU 911 to update the plate data stored in the plate data storage unit 211 and store the generated plate data of different versions. The plate data storage unit 211 uses the HDD 920 to store updated plate data of different versions. The current version code storage unit 213 uses the HDD 920 to store current version codes representing different updated versions.

差分取得部221は、CPU911を用いて、配布装置100が配布した差分データと、その差分データに対応する差分版データとを取得する。
差分記憶部222は、HDD920を用いて、差分取得部221が取得した差分データを記憶する。差分記憶部222は、複数の差分データを記憶する。差分取得部221が取得した差分データを記憶することにより、差分記憶部222が記憶した差分データの数が1つ増える。
差分版記憶部223は、HDD920を用いて、差分取得部221が取得した差分版データを記憶する。差分版記憶部223は、差分記憶部222が記憶した差分データに対応して、同じ数の差分版データを記憶する。例えば、差分記憶部222が差分データを記憶するファイルのファイル名として差分コードを用いるなどして、差分記憶部222が記憶した差分データと、差分版記憶部223が記憶した差分コードとを対応づける。
差分合成部224は、CPU911を用いて、差分記憶部222が記憶した複数の差分データを合成して、新たな差分データを生成する。差分記憶部222は、HDD920を用いて、差分合成部224が生成した差分データを記憶する。これにより、差分記憶部222が記憶した差分データの数が1つ増える。差分版記憶部223は、差分合成部224が生成した差分データに対応する差分版データを記憶する。
The difference acquisition unit 221 uses the CPU 911 to acquire difference data distributed by the distribution apparatus 100 and difference version data corresponding to the difference data.
The difference storage unit 222 stores the difference data acquired by the difference acquisition unit 221 using the HDD 920. The difference storage unit 222 stores a plurality of difference data. By storing the difference data acquired by the difference acquisition unit 221, the number of difference data stored by the difference storage unit 222 is increased by one.
The difference version storage unit 223 stores the difference version data acquired by the difference acquisition unit 221 using the HDD 920. The difference version storage unit 223 stores the same number of difference version data corresponding to the difference data stored in the difference storage unit 222. For example, the difference data stored in the difference storage unit 222 is associated with the difference code stored in the difference version storage unit 223 by using the difference code as the file name of the file in which the difference storage unit 222 stores the difference data. .
Using the CPU 911, the difference synthesizer 224 synthesizes a plurality of difference data stored in the difference storage unit 222 to generate new difference data. The difference storage unit 222 stores the difference data generated by the difference synthesis unit 224 using the HDD 920. As a result, the number of difference data stored in the difference storage unit 222 is increased by one. The difference version storage unit 223 stores the difference version data corresponding to the difference data generated by the difference synthesis unit 224.

更新版取得部231は、CPU911を用いて、有版データのうち、利用者が取得したい版を表わす版コード(更新版コード)を取得する。例えば、利用者がキーボード902などを操作して、更新版取得部231がその操作内容を入力して解釈することにより、更新版コードを入力する。   The update version acquisition unit 231 uses the CPU 911 to acquire a version code (update version code) representing the version that the user wants to acquire from the version data. For example, the user operates the keyboard 902 or the like, and the updated version acquisition unit 231 inputs and interprets the operation content, thereby inputting the updated version code.

適用判定部240は、CPU911を用いて、有版データ記憶部211が記憶した有版データと、差分記憶部222が記憶した差分データとに基づいて、更新版コードが表わす利用者が取得したい版の有版データを得ることができるか否かを判定する。
単独適用判定部241は、CPU911を用いて、差分記憶部222が記憶した差分データのなかに、有版データ記憶部211が記憶した有版データに適用することにより、更新版取得部231が取得した更新版コードが表わす版の有版データを生成することができる差分データ(以下「単独適用差分データ」と呼ぶ。)があるか否かを判定する。
単独適用差分データがないと単独適用判定部241が判定した場合、合成適用判定部242は、CPU911を用いて、差分記憶部222が記憶した差分データのなかに、有版データ記憶部211が記憶した有版データに順次適用することにより、更新版取得部231が取得した更新版データが表わす版の有版データを生成することができる複数の差分データ(以下「合成適用差分データ」と呼ぶ。)があるかを判定する。
合成適用差分データがないと合成適用判定部242が判定した場合、差分要求部243は、CPU911を用いて、配布装置100に対して差分データの配布を要求する差分要求メッセージを通知する。通知の方式は、配布装置100が有版データや差分データを配布する場合と同様、様々な方式がある。例えば、配布装置100と端末装置200とがインターネットなどを介して接続している場合には、差分要求部243は、通信装置915を用いて、配布装置100に対して差分要求メッセージを送信する。あるいは、差分要求部243は、表示装置901を用いて、端末装置200の利用者に対してメッセージを表示する。それを見た利用者が電話や葉書で配布装置100の管理者に連絡する。配布装置100の管理者が配布装置100にその内容を入力することにより、配布装置100に差分要求メッセージを通知する。
Using the CPU 911, the application determination unit 240 uses the CPU 911 to determine the version that the user represents by the updated version code based on the plate data stored in the plate data storage unit 211 and the difference data stored in the difference storage unit 222. It is determined whether or not plate data can be obtained.
The single application determination unit 241 uses the CPU 911 to apply to the plate data stored in the plate data storage unit 211 in the difference data stored in the difference storage unit 222, thereby acquiring the update version acquisition unit 231. It is determined whether or not there is difference data (hereinafter referred to as “single application difference data”) that can generate version data represented by the updated version code.
When the single application determination unit 241 determines that there is no single application difference data, the composite application determination unit 242 uses the CPU 911 to store the plate data storage unit 211 in the difference data stored in the difference storage unit 222. A plurality of pieces of difference data (hereinafter referred to as “composite application difference data”) that can generate plate data of the version represented by the update version data acquired by the update version acquisition unit 231 by sequentially applying to the version data. ).
When the composite application determination unit 242 determines that there is no composite application difference data, the difference request unit 243 uses the CPU 911 to notify the distribution apparatus 100 of a difference request message for requesting distribution of difference data. There are various notification methods as in the case where the distribution apparatus 100 distributes plate data and difference data. For example, when the distribution device 100 and the terminal device 200 are connected via the Internet or the like, the difference request unit 243 transmits a difference request message to the distribution device 100 using the communication device 915. Alternatively, the difference request unit 243 displays a message to the user of the terminal device 200 using the display device 901. The user who sees it contacts the administrator of the distribution apparatus 100 by telephone or postcard. When the administrator of the distribution apparatus 100 inputs the contents to the distribution apparatus 100, the distribution apparatus 100 is notified of the difference request message.

合成適用差分データがあると合成適用判定部242が判定した場合、差分合成部224は、CPU911を用いて、差分記憶部222が記憶した合成適用差分データを合成して、単独適用差分データを生成する。
有版データ更新部212は、CPU911を用いて、単独適用判定部241が判定した単独適用差分データもしくは差分合成部224が合成した単独適用差分データを、有版データ記憶部211が記憶した有版データに適用して、更新版コードが表わす版の有版データを生成する。
When the synthesis application determination unit 242 determines that there is synthesis application difference data, the difference synthesis unit 224 uses the CPU 911 to synthesize the synthesis application difference data stored in the difference storage unit 222 to generate single application difference data. To do.
The plate data update unit 212 uses the CPU 911 to store the plate application data storage unit 211 storing the single application difference data determined by the single application determination unit 241 or the single application difference data combined by the difference combination unit 224. Applying to the data, the version data represented by the updated version code is generated.

有版データの更新は、CPU911に負荷がかかり、作業用にRAM914やHDD920の記憶領域を使用する。特に、有版データのデータ量が大きい場合、CPU911にかかる負荷が大きくなり、使用する記憶領域も大きくなる。このため、合成適用差分データを順次適用するよりも、合成適用差分データを合成して単独適用差分データを生成し、生成した単独適用差分データを使って有版データを更新するほうが、CPU911にかかる負荷や使用する記憶領域が少なくて済む。   The update of the plate data requires a load on the CPU 911 and uses the storage area of the RAM 914 or the HDD 920 for work. In particular, when the amount of plate data is large, the load on the CPU 911 increases and the storage area to be used also increases. For this reason, it is more on the CPU 911 to generate the single application difference data by synthesizing the synthesis application difference data and update the plate data using the generated single application difference data, rather than sequentially applying the synthesis application difference data. Less load and less storage space to use.

図6は、この実施の形態における差分版記憶部125が記憶した差分コード511の一例を示す図である。
この例において、差分版記憶部125は、10個の差分コード511(複数の差分コード511を区別するため、英小文字を付加する場合がある。他のデータについても同様。)を記憶している。各差分コード511は、適用前コード512と適用後コード513との組である。適用前コード512及び適用後コード513は、いずれも版コードである。適用前コード512は、その差分コード511に対応する差分データを適用できる版の版コードを表わし、適用後コード513は、その差分コード511に対応する差分データを適用した結果として生成される版の版コードを表わす。差分記憶部222が記憶する差分コードも同様である。
例えば、差分コード511aは、対応する差分データ(順方向差分データ)が、版コード「1.0」の有版データと版コード「1.1」の有版データとの差分を表わし、版コード「1.0」の有版データに適用することにより、版コード「1.1」の有版データを生成することができることを表わす。差分コード511bは、対応する差分データ(逆方向差分データ)が、差分コード511aに対応する差分データと同じく、版コード「1.0」の有版データと版コード「1.1」の有版データとの差分を表わすが、差分コード511aに対応する差分データとは逆に、版コード「1.1」の有版データに適用することにより、版コード「1.0」の有版データを生成することができることを表わす。
この例に示したように、差分生成部113(および差分合成部133,224)が生成する差分データは、その差分データを生成する元になった2つの有版データのうち、いずれか一方にのみ適用できるものであってもよいし、この例と異なり、双方向に適用できるものであってもよい。
差分データが双方向に適用できるものである場合、1つの差分データをバージョンアップとバージョンダウンの両方に用いることができるので、差分記憶部115が、比較的少ない数の差分データさえ記憶しておけば、様々なニーズに対応できる。
これに対し、差分データが片方向にしか適用できないものである場合、差分データ1つ当たりのデータ量が少なくて済むので、配布するデータ量を抑えることができる。利用者は、多くの場合、有版データの版を更新したら更新した版を使い続けるので、元に戻したいというニーズは存在してもごくわずかである。また、利用者が更新前の有版データをバックアップしている場合には、元に戻すために差分データを用いる必要はない。したがって、最初は片方向にしか適用できない差分データを配布し、元に戻したいというニーズが発生した時点で、元に戻すための差分データを配布するほうが効率がよい。
FIG. 6 is a diagram illustrating an example of the difference code 511 stored in the difference version storage unit 125 according to this embodiment.
In this example, the difference version storage unit 125 stores ten difference codes 511 (in order to distinguish a plurality of difference codes 511, a lower case letter may be added. The same applies to other data). . Each difference code 511 is a set of a pre-application code 512 and a post-application code 513. The pre-application code 512 and the post-application code 513 are both version codes. The pre-application code 512 represents a version of the version code to which the difference data corresponding to the difference code 511 can be applied, and the post-application code 513 is a version generated as a result of applying the difference data corresponding to the difference code 511. Represents a version code. The same applies to the difference code stored in the difference storage unit 222.
For example, the difference code 511a indicates that the corresponding difference data (forward difference data) represents the difference between the plate data with the version code “1.0” and the plate data with the version code “1.1”. By applying to the plate data of “1.0”, the plate data of the plate code “1.1” can be generated. In the difference code 511b, the corresponding difference data (reverse direction difference data) is the version data of the version code “1.0” and the version code of the version code “1.1”, similarly to the difference data corresponding to the difference code 511a. In contrast to the difference data corresponding to the difference code 511a, the version data of the version code “1.0” is converted to the version data of the version code “1.1”. Indicates that it can be generated.
As shown in this example, the difference data generated by the difference generation unit 113 (and the difference synthesis units 133 and 224) is included in one of the two pieces of plate data from which the difference data is generated. May be applicable only in a different manner, and different from this example, it may be applicable in both directions.
When the difference data can be applied in both directions, one difference data can be used for both version upgrade and version down, so the difference storage unit 115 can store even a relatively small number of difference data. Can meet various needs.
On the other hand, if the difference data can only be applied in one direction, the amount of data per difference data can be reduced, so that the amount of data to be distributed can be suppressed. In many cases, the user continues to use the updated version after updating the version of the plate data, so there is very little need to restore it. Further, when the user backs up the pre-updated version data, it is not necessary to use the difference data to restore it. Accordingly, it is more efficient to distribute differential data that can be applied only in one direction at the beginning and to distribute the differential data to be restored when there is a need to restore it.

図7は、この実施の形態における差分データ520の一例を示す図である。
差分データ520は、1以上のコマンド521を有する。
1つのコマンド521は、命令522とサイズ523とソース524との組である。
命令522は、そのコマンド521が複写コマンドであるか追加コマンドであるかを表わす。この例では、複写コマンドの場合を「copy」、追加コマンドの場合を「data」として記述しているが、これは理解を助けるためである。実際には、複写コマンドと追加コマンドとを区別できればよいので、命令522は、例えば1ビットのデータでよい。
サイズ523は、そのコマンドにより生成するデータのサイズ(データ量)を表わす。
ソース524は、そのコマンドにより生成するデータの源泉を表わす。複写コマンドは、適用前の版の有版データからデータを複写してくることを表わし、ソース524は、例えば、複写するデータの開始位置を表わす。追加コマンドは、新たなデータを追加することを表わし、ソース524は、追加するデータそのものである。
例えば、コマンド521aは、適用前の版の有版データの0バイト目(最初)から3200バイトのデータを複写することを表わす。コマンド521bは、ソース524bが表わす1200バイトのデータを追加することを表わす。コマンド521cは、適用前の版の有版データの3200バイト目から4600バイトのデータを複写することを表わす。
コマンド521には順番があり、コマンド521の順番は、適用後の版の有版データにおいて、生成したデータを配置する順序を表わす。
例えば、コマンド521aにより生成した3200バイトのデータは、適用後の版の有版データの0バイト目(最初)から3199バイト目までの間に配置する。コマンド521bにより生成した1200バイトのデータは、適用後の版の有版データの3200バイト目から4399バイト目までの間に配置する。コマンド521cにより生成した4600バイトのデータは、適用後の版の有版データの4400バイト目から8999バイト目までの間に配置する。
FIG. 7 is a diagram showing an example of the difference data 520 in this embodiment.
The difference data 520 has one or more commands 521.
One command 521 is a set of an instruction 522, a size 523, and a source 524.
The instruction 522 indicates whether the command 521 is a copy command or an add command. In this example, the copy command is described as “copy”, and the additional command is described as “data”. Actually, the instruction 522 may be 1-bit data, for example, as long as the copy command and the additional command can be distinguished.
The size 523 represents the size (data amount) of data generated by the command.
The source 524 represents the source of data generated by the command. The copy command indicates that data is copied from the plate data before the application, and the source 524 indicates, for example, the start position of the data to be copied. The add command represents adding new data, and the source 524 is the data to be added.
For example, the command 521a represents copying 3200 bytes of data from the 0th byte (first) of the plate data of the version before application. Command 521b represents adding 1200 bytes of data represented by source 524b. The command 521c represents copying 4600 bytes of data from the 3200th byte of the plate data before the application.
The command 521 has an order, and the order of the command 521 represents the order in which the generated data is arranged in the plate data of the version after application.
For example, 3200 bytes of data generated by the command 521a are arranged between the 0th byte (first) and the 3199th byte of the plate data after the application. The 1200-byte data generated by the command 521b is arranged between the 3200th byte to the 4399th byte of the plate data after the application. The data of 4600 bytes generated by the command 521c is arranged between the 4400th byte and the 8999th byte of the plate data of the applied version.

図8は、この実施の形態における2つの有版データ530a,530bの関係の一例を示す図である。
この例は、図7に示した差分データ520を適用する適用前の版の有版データ530aと、差分データ520を適用した適用後の版の有版データ530bとの関係を表わしている。
有版データ530aは、全部で12800バイトのデータである。有版データ530bは、全部で13400バイトのデータである。このように、有版データ530のサイズは、版により異なっていてもよい。
有版データ530aの0バイト目(最初)から3199バイト目までの3200バイトの部分531a(複写部分)のデータは、有版データ530bの0バイト目(最初)から3199バイト目までの3200バイトの部分531b(含有部分)のデータと同一である。有版データ530の3200バイト目から7799バイト目までの4600バイトの部分532a(複写部分)のデータは、有版データ530bの4400バイト目から8999バイト目までの4600バイトの部分533b(含有部分)のデータと同一である。有版データ530aの10200バイト目から12799バイト目(最後)までの2600バイトの部分534a(複写部分)のデータは、有版データ530bの9000バイト目から11599バイト目までの2600バイトの部分534b(含有部分)のデータと同一である。
有版データ530aの7800バイト目から10199バイト目までの2400バイトの部分533aのデータと同一のデータは、有版データ530bには存在しない。また、有版データ530bの3200バイト目から4399バイト目までの1200バイトの部分532b(非含有部分)のデータ、および、有版データ530bの11600バイト目から13399バイト目(最後)までの1800バイトの部分535b(非含有部分)のデータと同一のデータは、有版データ530aには存在しない。
FIG. 8 is a diagram showing an example of the relationship between the two plate data 530a and 530b in this embodiment.
This example shows the relationship between the plate data 530a of the version before application to which the difference data 520 shown in FIG. 7 is applied and the plate data 530b of the version after application to which the difference data 520 is applied.
The plate data 530a is 12800 bytes in total. The plate data 530b is 13400 bytes in total. Thus, the size of the plate data 530 may be different depending on the plate.
The 3200-byte portion 531a (copy portion) from the 0th byte (first) to the 3199th byte of the plate data 530a is 3200 bytes from the 0th byte (first) to the 3199th byte of the plate data 530b. It is the same as the data of the part 531b (containing part). The 4600-byte portion 532a (copy portion) of the plate data 530 from the 3200th byte to the 7799th byte is the 4600-byte portion 533b (containing portion) of the plate data 530b from the 4400th byte to the 8999th byte. The same data as The 2600-byte portion 534a (copy portion) from the 10200th byte to the 12799th byte (last) of the plate data 530a is the 2600-byte portion 534b (from the 9000th byte to the 11599th byte of the plate data 530b). Data).
The same data as the data of the 2400-byte portion 533a from the 7800th byte to the 10199th byte of the plate data 530a does not exist in the plate data 530b. Further, the 1200-byte portion 532b (non-contained portion) data from the 3200th byte to the 4399th byte of the plate data 530b, and the 1800 bytes from the 11600th byte to the 13399th byte (last) of the plate data 530b. The same data as the data of the portion 535b (non-contained portion) is not present in the plate data 530a.

図7に示したコマンド521を順に実行することにより、有版データ更新部212は、有版データ530aから有版データ530bを生成する。
まず、有版データ更新部212は、コマンド521aにしたがって、有版データ530aの部分531aのデータを、有版データ530bの部分531bに複写する。次に、有版データ更新部212は、コマンド521bにしたがって、ソース524bが表わすデータを、有版データ530bの部分532bに追加する。次に、有版データ更新部212は、コマンド521cにしたがって、有版データ530aの部分532aのデータを、有版データ530bの部分533bに複写する。次に、有版データ更新部212は、コマンド521dにしたがって、有版データ530aの部分534aのデータを、有版データ530bの部分534bに複写する。最後に、有版データ更新部212は、コマンド521eにしたがって、ソース524eが表わすデータを、有版データ530bの部分535bに追加する。
By executing the commands 521 shown in FIG. 7 in order, the plate data updating unit 212 generates the plate data 530b from the plate data 530a.
First, the plate data updating unit 212 copies the data of the portion 531a of the plate data 530a to the portion 531b of the plate data 530b according to the command 521a. Next, the plate data updating unit 212 adds the data represented by the source 524b to the portion 532b of the plate data 530b in accordance with the command 521b. Next, the plate data updating unit 212 copies the data of the portion 532a of the plate data 530a to the portion 533b of the plate data 530b according to the command 521c. Next, the plate data updating unit 212 copies the data of the portion 534a of the plate data 530a to the portion 534b of the plate data 530b according to the command 521d. Finally, the plate data updating unit 212 adds the data represented by the source 524e to the portion 535b of the plate data 530b in accordance with the command 521e.

なお、複写する部分の順序が入れ替わっていてもよいし、複写元の部分が重複していてもよい。   Note that the order of the parts to be copied may be changed, and the parts of the copy source may be duplicated.

差分データがこのような形式である場合、適用前の版の有版データから適用後の版の有版データを生成することはできるが、適用後の版の有版データから適用前の版の有版データを生成することはできない。適用前の版の有版データのうち、適用後の版の有版データに複写されない部分(この例では、部分533a)のデータが失われるからである。すなわち、この形式の差分データは、片方向にしか適用できない差分データである。   When the difference data is in such a format, it is possible to generate the version data of the version after application from the version data of the version before application, but from the version data of the version after application, Version data cannot be generated. This is because data of a portion (in this example, portion 533a) that is not copied to the plate data of the version after application is lost in the plate data of the version before application. That is, the difference data in this format is difference data that can be applied only in one direction.

差分生成部113は、CPU911を用いて、2つの有版データを比較して、一方の版から他方の版を生成するための差分データを生成する。例えば、古い版を適用前の版とし、新しい版を適用語の版として、差分生成部113は、古い版から新しい版を生成するための差分データを生成する。しかし、上述したようにバージョンダウンしたいという要望も存在する可能性を考慮して、差分生成部113は、古い版から新しい版を生成するための差分データだけでなく、新しい版を適用前の版とし、古い版を適用後の版として、新しい版から古い版を生成するための差分データを生成する構成とするのが好ましい。
差分記憶部115,222は、このような差分データを複数記憶する。
差分合成部133,224は、差分記憶部115,222が記憶した差分データを解釈して、合成した新しい差分データを生成する。
有版データ更新部212は、差分記憶部222が記憶した差分データを解釈して、順番どおりにコマンドを実行することにより、有版データ記憶部211が記憶した有版データを更新し、更新後の版の有版データを生成する。
The difference generation unit 113 uses the CPU 911 to compare two pieces of plate data and generate difference data for generating the other version from one version. For example, the difference generation unit 113 generates difference data for generating a new version from the old version, with the old version as the pre-application version and the new version as the application word version. However, in consideration of the possibility that there is a desire to downgrade as described above, the difference generation unit 113 uses not only difference data for generating a new version from an old version but also a version before applying the new version. It is preferable that the difference data for generating the old version from the new version is generated as the version after applying the old version.
The difference storage units 115 and 222 store a plurality of such difference data.
The difference synthesis units 133 and 224 interpret the difference data stored in the difference storage units 115 and 222, and generate new synthesized difference data.
The plate data update unit 212 updates the plate data stored in the plate data storage unit 211 by interpreting the difference data stored in the difference storage unit 222 and executing the commands in order. Generate plate data for the version.

図9は、この実施の形態における差分生成処理S610の流れの一例を示すフローチャート図である。
差分生成処理S610において、差分生成部113は、CPU911を用いて、2つの有版データ530から差分データを生成する。以下では、旧版データを新版データに更新するための差分データを差分生成部113が生成する手順について説明する。新版データを旧版データに更新するための差分データを生成する手順は、旧版データと新版データとを逆にすればよいので、説明を省略する。
差分生成処理S610は、新版単位取得工程S611、旧版単位取得工程S613、単位比較工程S615、一致長更新工程S617、2つの一致長判定工程S621,S631、2つの不一致判定工程S623,S633、3つの追加コマンド生成工程S625,S635,S639、2つの複写コマンド生成工程S627,S637を有する。
FIG. 9 is a flowchart showing an example of the flow of the difference generation process S610 in this embodiment.
In the difference generation process S610, the difference generation unit 113 uses the CPU 911 to generate difference data from the two plate data 530. Below, the procedure in which the difference generation part 113 produces | generates the difference data for updating old version data to new version data is demonstrated. The procedure for generating the difference data for updating the new version data to the old version data may be reversed since the old version data and the new version data are reversed.
The difference generation process S610 includes a new version unit acquisition step S611, an old version unit acquisition step S613, a unit comparison step S615, a match length update step S617, two match length determination steps S621, S631, two mismatch determination steps S623, S633, Additional command generation steps S625, S635, S639 and two copy command generation steps S627, S637 are included.

新版単位取得工程S611において、差分生成部113は、CPU911を用いて、新版データの最初から順に、1つの単位となるデータ量の部分(以下「新版単位データ」と呼ぶ。)を取得する。1つの単位となるデータ量とは、例えば1バイトでもよいし、1キロバイトでもよい。1つの単位となるデータ量を小さくすれば、その分、旧版データと新版データとで一致する部分が多くなることが予想されるので、差分データのデータ量が小さくなる。逆に、1つの単位となるデータ量を大きくすれば、差分データのデータ量は大きくなるが、差分生成処理S610によってCPU911にかかる負荷が小さくなる。同様に、差分合成部133,224が差分データを合成する処理によってCPU911にかかる負荷も小さくなる。
新版データの最後まで到達し、差分生成部113が新版単位データを取得しなかった場合、差分生成部113は、一致長判定工程S631へ進む。
差分生成部113が新版単位データを取得した場合、差分生成部113は、旧版単位取得工程S613へ進む。
In the new version unit acquisition step S611, the difference generation unit 113 uses the CPU 911 to acquire a data amount portion (hereinafter referred to as “new version unit data”) as one unit in order from the beginning of the new version data. The data amount as one unit may be 1 byte or 1 kilobyte, for example. If the data amount as one unit is reduced, it is expected that there will be an increase in the amount of matching between the old version data and the new version data, so the data amount of the difference data will be reduced. Conversely, if the data amount as one unit is increased, the data amount of the difference data is increased, but the load on the CPU 911 is reduced by the difference generation processing S610. Similarly, the load applied to the CPU 911 is reduced by the process in which the difference combining units 133 and 224 combine the difference data.
When the end of the new version data is reached and the difference generation unit 113 does not acquire the new version unit data, the difference generation unit 113 proceeds to the match length determination step S631.
When the difference generation unit 113 acquires new version unit data, the difference generation unit 113 proceeds to the old version unit acquisition step S613.

旧版単位取得工程S613において、差分生成部113は、CPU911を用いて、旧版データの最初から順に、新版単位データと同じデータ量の部分(以下「旧版単位データ」と呼ぶ。)を取得する。
旧版データの最後に到達し、差分生成部113が旧版単位データを取得しなかった場合、差分生成部113は、一致長判定工程S621へ進む。
差分生成部113が旧版単位データを取得した場合、差分生成部113は、単位比較工程S615へ進む。
In the old version unit acquisition step S613, the difference generation unit 113 uses the CPU 911 to acquire a part having the same data amount as the new version unit data (hereinafter referred to as “old version unit data”) in order from the beginning of the old version data.
When the end of the old version data is reached and the difference generation unit 113 does not acquire the old version unit data, the difference generation unit 113 proceeds to the match length determination step S621.
When the difference generation unit 113 acquires the old version unit data, the difference generation unit 113 proceeds to the unit comparison step S615.

単位比較工程S615において、差分生成部113は、CPU911を用いて、新版単位取得工程S611で取得した新版単位データと、旧版単位取得工程S613で取得した旧版単位データとを比較する。
新版単位データと旧版単位データとが一致すると差分生成部113が判定した場合、差分生成部113は、一致長更新工程S617へ進む。
新版単位データと旧版単位データとが一致しないと差分生成部113が判定した場合、差分生成部113は、旧版単位取得工程S613に戻り、次の旧版単位データを取得する。
In the unit comparison step S615, the difference generation unit 113 uses the CPU 911 to compare the new version unit data acquired in the new version unit acquisition step S611 with the old version unit data acquired in the old version unit acquisition step S613.
When the difference generation unit 113 determines that the new version unit data and the old version unit data match, the difference generation unit 113 proceeds to the match length update step S617.
When the difference generation unit 113 determines that the new version unit data does not match the old version unit data, the difference generation unit 113 returns to the old version unit acquisition step S613 and acquires the next old version unit data.

一致長更新工程S617において、差分生成部113は、CPU911を用いて、新版単位データと一致した旧版単位データの位置(以下「一致位置」と呼ぶ。)と、それより前の新版単位データと旧版単位データとが連続して一致していた数(以下「一致長」と呼ぶ。)とを表わすデータ(以下「一致長データ」と呼ぶ。)を生成する。差分生成部113は、RAM914を用いて、生成した一致長データを記憶する。新版単位データと一致する旧版単位データが複数ある場合もあるので、差分生成部113は、一つの新版単位データについて、複数の一致長データを記憶する場合がある。
例えば、差分生成部113は、CPU911を用いて、新版単位取得工程S611で取得した新版単位データより一つ前の新版単位データについてRAM914を用いて記憶した一致長データを取得する。差分生成部113は、CPU911を用いて、取得した一致長データのなかから、一致長データが表わす一致位置が、旧版単位取得工程S613で取得した旧版単位データより一つ前の旧版単位データの位置である一致長データを抽出する。差分生成部113は、CPU911を用いて、抽出した一致長データが表わす一致長に1を加えた和を算出し、算出した和を一致長に設定する。一つ前の新版単位データについて記憶した一致長データがない場合や、取得した一致長データのなかに、一致長データが表わす一致位置が一つ前の旧版単位データの位置である一致長データがない場合、差分生成部113は、CPU911を用いて、1を一致長に設定する。差分生成部113は、CPU911を用いて、旧版単位取得工程S613で取得した旧版単位データの位置と、設定した一致長とを表わす一致長データを生成し、RAM914を用いて、生成した一致長データを記憶する。
その後、差分生成部113は、旧版単位取得工程S613に戻り、次の旧版単位データを取得する。
In the match length update step S617, the difference generation unit 113 uses the CPU 911 to match the position of the old version unit data that coincides with the new version unit data (hereinafter referred to as “match position”), the previous new version unit data and the old version. Data (hereinafter referred to as “match length data”) is generated that represents the number of unit data that has been matched continuously (hereinafter referred to as “match length”). The difference generation unit 113 uses the RAM 914 to store the generated match length data. Since there may be a plurality of old version unit data that matches the new version unit data, the difference generation unit 113 may store a plurality of match length data for one new version unit data.
For example, the difference generation unit 113 uses the CPU 911 to acquire the match length data stored using the RAM 914 for the new version unit data immediately before the new version unit data acquired in the new version unit acquisition step S611. Using the CPU 911, the difference generation unit 113 uses the CPU 911 to match the position of the previous version unit data in which the match position represented by the match length data is the previous version unit data acquired in the previous version unit acquisition step S613. The match length data is extracted. Using the CPU 911, the difference generation unit 113 calculates a sum obtained by adding 1 to the match length represented by the extracted match length data, and sets the calculated sum as the match length. If there is no match length data stored for the previous new version unit data, or there is match length data in which the match position represented by the match length data is the position of the previous version unit data in the acquired match length data If there is no difference, the difference generation unit 113 uses the CPU 911 to set 1 to the matching length. The difference generation unit 113 uses the CPU 911 to generate match length data representing the position of the old version unit data acquired in the previous version unit acquisition step S613 and the set match length, and the generated match length data using the RAM 914. Remember.
Thereafter, the difference generation unit 113 returns to the previous version unit acquisition step S613, and acquires the next previous version unit data.

一致長判定工程S621において、差分生成部113は、CPU911を用いて、新版単位取得工程S611で取得した新版単位データについて一致長更新工程S617で記憶した一致長データのなかから、一致長データが表わす一致長が最も大きい一致長(以下「最大一致長」と呼ぶ。)を算出する。現在の新版単位データについて記憶した一致長データがない場合、差分生成部113は、CPU911を用いて、0を最大一致長に設定する。差分生成部113は、RAM914を用いて、算出した最大一致長を記憶する。
差分生成部113は、CPU911を用いて、算出した最大一致長と、新版単位取得工程S611で取得した新版単位データより一つ前の新版単位データについてRAM914を用いて記憶した最大一致長とを比較する。
算出した最大一致長が、記憶した一つ前の最大一致長より小さい場合、一つ前の新版単位データの位置で、旧版データと新版データとが一致する部分が途切れたことを意味する。差分生成部113は、複写コマンドを生成するため、不一致判定工程S623へ進む。
算出した最大一致長が、記憶した一つ前の最大一致長以上である場合、差分生成部113は、新版単位取得工程S611に戻り、次の新版単位データを取得する。
なお、一致する部分のサイズが小さい場合、複写コマンドを生成するよりも、前後の不一致部分と合わせて一つの追加コマンドを生成したほうが、差分データのデータ量が小さくなる場合がある。このため、算出した最大一致長が、記憶した一つ前の最大一致長より小さい場合であっても、記憶した一つ前の最大一致長が所定の閾値以下である場合は、新版単位取得工程S611に戻る構成であってもよい。
In the match length determination step S621, the difference generation unit 113 uses the CPU 911 to represent the match length data from the match length data stored in the match length update step S617 for the new version unit data acquired in the new version unit acquisition step S611. A matching length having the largest matching length (hereinafter referred to as “maximum matching length”) is calculated. When there is no match length data stored for the current new version unit data, the difference generation unit 113 uses the CPU 911 to set 0 as the maximum match length. The difference generation unit 113 uses the RAM 914 to store the calculated maximum matching length.
The difference generation unit 113 uses the CPU 911 to compare the calculated maximum match length with the maximum match length stored using the RAM 914 for the new version unit data immediately before the new version unit data acquired in the new version unit acquisition step S611. To do.
If the calculated maximum match length is smaller than the stored previous maximum match length, it means that the portion where the old version data and the new version data match is interrupted at the position of the previous new version unit data. The difference generation unit 113 proceeds to the mismatch determination step S623 in order to generate a copy command.
If the calculated maximum match length is equal to or greater than the stored previous maximum match length, the difference generation unit 113 returns to the new version unit acquisition step S611 and acquires the next new version unit data.
Note that if the size of the matching portion is small, the amount of difference data may be smaller when one additional command is generated together with the preceding and following mismatching portions than when the copy command is generated. Therefore, even if the calculated maximum matching length is smaller than the stored previous maximum matching length, if the stored previous maximum matching length is equal to or less than a predetermined threshold, the new version unit acquisition step The structure which returns to S611 may be sufficient.

不一致判定工程S623において、差分生成部113は、CPU911を用いて、一つ前の新版単位データについてRAM914を用いて記憶した最大一致長に基づいて、新版データにおける一致部分の開始位置を算出する。差分生成部113は、CPU911を用いて、算出した開始位置を、既に生成したコマンドにより生成される新版データの終了位置と比較する。
算出した開始位置が、既に生成したコマンドにより生成される新版データの終了位置の次の位置である場合、一致部分が連続していることを意味する。差分生成部113は、複写コマンド生成工程S627へ進む。
算出した開始位置が、既に生成したコマンドにより生成される新版データの終了位置の次の位置よりもあとである場合、一致部分の間に不一致部分があることを意味する。差分生成部113は、不一致部分について追加コマンドを生成するため、追加コマンド生成工程S625へ進む。
In the mismatch determination step S623, the difference generation unit 113 uses the CPU 911 to calculate the start position of the matching portion in the new version data based on the maximum match length stored using the RAM 914 for the previous new version unit data. The difference generation unit 113 uses the CPU 911 to compare the calculated start position with the end position of the new version data generated by the already generated command.
When the calculated start position is the position next to the end position of the new edition data generated by the command that has already been generated, it means that the matching portions are continuous. The difference generation unit 113 proceeds to the copy command generation step S627.
If the calculated start position is after the position next to the end position of the new version data generated by the command that has already been generated, it means that there is a non-matching part between the matching parts. The difference generation unit 113 proceeds to the additional command generation step S625 to generate an additional command for the mismatched portion.

追加コマンド生成工程S625において、差分生成部113は、CPU911を用いて、追加コマンドを生成する。
例えば、差分生成部113は、CPU911を用いて、不一致判定工程S623で算出した開始位置と、既に生成したコマンドにより生成される新版データの終了位置とに基づいて、不一致部分のサイズを算出し、新版データのなかから追加する不一致部分のデータを取得する。差分生成部113は、CPU911を用いて、算出したサイズをサイズ523に設定し、取得したデータをソース524に設定した追加コマンドを生成する。
差分生成部113は、CPU911を用いて、生成中の差分データの後ろに、生成した追加コマンドを追加する。差分生成部113は、HDD920を用いて、生成した追加コマンドを追加した差分データを記憶する。
In the additional command generation step S625, the difference generation unit 113 uses the CPU 911 to generate an additional command.
For example, the difference generation unit 113 uses the CPU 911 to calculate the size of the mismatch portion based on the start position calculated in the mismatch determination step S623 and the end position of the new version data generated by the already generated command. Get the mismatch data to be added from the new version data. The difference generation unit 113 uses the CPU 911 to generate an additional command in which the calculated size is set to the size 523 and the acquired data is set to the source 524.
The difference generation unit 113 uses the CPU 911 to add the generated additional command after the difference data being generated. The difference generation unit 113 uses the HDD 920 to store the difference data to which the generated additional command is added.

複写コマンド生成工程S627において、差分生成部113は、CPU911を用いて、複写コマンドを生成する。
例えば、差分生成部113は、CPU911を用いて、新版単位取得工程S611で取得した新版単位データより一つ前の新版単位データについて記憶した一致長データのなかから、一致長データが表わす一致長が、一つ前の新版単位データについて記憶した最大一致長に一致する一致長データを取得する。差分生成部113は、CPU911を用いて、取得した一致長データが表わす位置に基づいて、旧版データから複写する一致部分の開始位置を算出する。差分生成部113は、CPU911を用いて、一つ前の新版単位データについて記憶した最大一致長をサイズ523に設定し、算出した開始位置をソース524に設定した追加コマンドを生成する。
差分生成部113は、CPU911を用いて、生成中の差分データの後ろに、生成した複写コマンドを追加する。差分生成部113は、HDD920を用いて、生成した複写コマンドを追加した差分データを記憶する。
差分生成部113は、RAM914を用いて、既に生成したコマンドにより生成できる新版データの終了位置として、新版単位取得工程S611で取得した新版単位データの一つ前の新版単位データの終了位置を記憶する。
その後、差分生成部113は、新版単位取得工程S611に戻り、次の新版単位データを取得する。
In the copy command generation step S627, the difference generation unit 113 uses the CPU 911 to generate a copy command.
For example, the difference generation unit 113 uses the CPU 911 to select the match length represented by the match length data from the match length data stored for the new version unit data immediately before the new version unit data acquired in the new version unit acquisition step S611. The match length data matching the maximum match length stored for the previous new version unit data is acquired. The difference generation unit 113 uses the CPU 911 to calculate the start position of the matching portion to be copied from the old version data based on the position represented by the acquired matching length data. The difference generation unit 113 uses the CPU 911 to generate an additional command in which the maximum matching length stored for the previous new edition unit data is set to the size 523 and the calculated start position is set to the source 524.
The difference generation unit 113 uses the CPU 911 to add the generated copy command after the difference data being generated. The difference generation unit 113 uses the HDD 920 to store difference data to which the generated copy command is added.
The difference generation unit 113 uses the RAM 914 to store the end position of the new version unit data immediately before the new version unit data acquired in the new version unit acquisition step S611 as the end position of the new version data that can be generated by the already generated command. .
Thereafter, the difference generation unit 113 returns to the new version unit acquisition step S611 and acquires the next new version unit data.

一致長判定工程S631〜複写コマンド生成工程S637は、新版データの最後まで処理した後、コマンドをまだ生成していない部分についてコマンドを生成するための処理であり、基本的には、一致長判定工程S621〜複写コマンド生成工程S627と同じである。そのため、詳しい説明は省略し、概要を説明する。   The match length determination step S631 to the copy command generation step S637 are processes for generating a command for a portion for which a command has not yet been generated after processing to the end of the new version data. S621 to the copy command generation step S627. Therefore, a detailed description is omitted and an outline is described.

一致長判定工程S631において、差分生成部113は、CPU911を用いて、新版単位取得工程S611で最後に取得した新版単位データについて最大一致長を算出する。
算出した最大一致長が0(あるいは所定の閾値以下)である場合、新版データの最後の部分が不一致部分であることを意味する。差分生成部113は、追加コマンド生成工程S639へ進む。
算出した最大一致長が0(あるいは所定の閾値)より大きい場合、新版データの最後の部分が一致部分であることを意味する。差分生成部113は、不一致判定工程S633へ進む。
In the match length determination step S631, the difference generation unit 113 uses the CPU 911 to calculate the maximum match length for the new version unit data last acquired in the new version unit acquisition step S611.
If the calculated maximum matching length is 0 (or less than a predetermined threshold), it means that the last part of the new edition data is a mismatching part. The difference generation unit 113 proceeds to the additional command generation step S639.
If the calculated maximum matching length is greater than 0 (or a predetermined threshold), it means that the last part of the new edition data is a matching part. The difference generation unit 113 proceeds to the mismatch determination step S633.

不一致判定工程S633において、差分生成部113は、CPU911を用いて、最後の一致部分の前に不一致部分があるか否かを判定する。
不一致部分があると判定した場合、差分生成部113は、追加コマンド生成工程S635へ進む。
不一致部分がなく、一致部分が連続していると判定した場合、差分生成部113は、複写コマンド生成工程S637へ進む。
In the mismatch determination step S633, the difference generation unit 113 uses the CPU 911 to determine whether there is a mismatch portion before the last match portion.
If it is determined that there is a mismatched portion, the difference generation unit 113 proceeds to the additional command generation step S635.
If it is determined that there is no mismatched part and the matched part is continuous, the difference generation unit 113 proceeds to the copy command generation step S637.

追加コマンド生成工程S635において、差分生成部113は、CPU911を用いて、追加コマンドを生成する。   In the additional command generation step S635, the difference generation unit 113 uses the CPU 911 to generate an additional command.

複写コマンド生成工程S637において、差分生成部113は、CPU911を用いて、複写コマンドを生成する。
その後、差分生成部113は、差分生成処理S610を終了する。
In the copy command generation step S637, the difference generation unit 113 uses the CPU 911 to generate a copy command.
Thereafter, the difference generation unit 113 ends the difference generation process S610.

追加コマンド生成工程S639において、差分生成部113は、CPU911を用いて、追加コマンドを生成する。
例えば、差分生成部113は、CPU911を用いて、既に生成したコマンドにより生成される新版データの終了位置に基づいて、不一致部分のサイズを算出し、新版データのなかから追加する不一致部分のデータを取得する。差分生成部113は、CPU911を用いて、算出したサイズをサイズ523に設定し、取得したデータをソース524に設定した追加コマンドを生成する。
差分生成部113は、CPU911を用いて、生成中の差分データの後ろに、生成した追加コマンドを追加する。差分生成部113は、HDD920を用いて、生成した追加コマンドを追加した差分データを記憶する。
その後、差分生成部113は、差分生成処理S610を終了する。
In the additional command generation step S639, the difference generation unit 113 uses the CPU 911 to generate an additional command.
For example, the difference generation unit 113 uses the CPU 911 to calculate the size of the mismatched portion based on the end position of the new version data generated by the command that has already been generated, and to add the mismatched portion data to be added from the new version data. get. The difference generation unit 113 uses the CPU 911 to generate an additional command in which the calculated size is set to the size 523 and the acquired data is set to the source 524.
The difference generation unit 113 uses the CPU 911 to add the generated additional command after the difference data being generated. The difference generation unit 113 uses the HDD 920 to store the difference data to which the generated additional command is added.
Thereafter, the difference generation unit 113 ends the difference generation process S610.

なお、差分生成処理S610は、上記説明した手順に限らず、他の手順で実行する構成であってもよい。   Note that the difference generation process S610 is not limited to the above-described procedure, and may be configured to be executed by another procedure.

図10は、この実施の形態におけるデータ更新処理S650の流れの一例を示すフローチャート図である。
データ更新処理S650において、有版データ更新部212は、差分記憶部222が記憶した差分データを、有版データ記憶部211が記憶した有版データに適用して、更新版の有版データを生成する。データ更新処理S650は、コマンド取得工程S651、データ追加工程S653、データ複写工程S655、データ更新工程S657を有する。
FIG. 10 is a flowchart showing an example of the flow of the data update process S650 in this embodiment.
In the data update process S650, the plate data update unit 212 applies the difference data stored in the difference storage unit 222 to the plate data stored in the plate data storage unit 211, and generates updated version plate data. To do. The data update process S650 includes a command acquisition process S651, a data addition process S653, a data copying process S655, and a data update process S657.

コマンド取得工程S651において、有版データ更新部212は、CPU911を用いて、差分記憶部222が記憶した差分データのなかから、有版データ記憶部211が記憶した有版データに適用する差分データを取得する。有版データ更新部212は、CPU911を用いて、取得した差分データの最初の位置にポインタを設定する。有版データ更新部212は、RAM914を用いて、設定したポインタを記憶する。
有版データ更新部212は、コマンド取得工程S651で取得した差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、コマンドの命令522と、サイズ523とを取得する。
ポインタが表わす位置が差分データの最後であり、有版データ更新部212が命令522を取得しなかった場合、有版データ更新部212は、データ更新工程S657へ進む。
有版データ更新部212が命令522とサイズ523とを取得した場合、有版データ更新部212は、CPU911を用いて、取得したサイズ523の次の位置(ソース524の位置)へポインタを進める。有版データ更新部212は、RAM914を用いて、進めたポインタを記憶する。有版データ更新部212は、取得した命令522に基づいて、そのコマンドが複写コマンドであるか追加コマンドであるかを判定する。
そのコマンドが追加コマンドである場合、有版データ更新部212は、データ追加工程S653へ進む。
そのコマンドが複写コマンドである場合、有版データ更新部212は、データ複写工程S655へ進む。
In the command acquisition step S651, the plate data update unit 212 uses the CPU 911 to select difference data to be applied to the plate data stored in the plate data storage unit 211 from the difference data stored in the difference storage unit 222. get. The plate data update unit 212 uses the CPU 911 to set a pointer at the first position of the acquired difference data. The plate data update unit 212 uses the RAM 914 to store the set pointer.
The plate data update unit 212 uses the CPU 911 to acquire the command instruction 522 and the size 523 from the position represented by the pointer stored using the RAM 914 in the difference data acquired in the command acquisition step S651.
When the position indicated by the pointer is the last of the difference data and the plate data update unit 212 does not acquire the instruction 522, the plate data update unit 212 proceeds to the data update step S657.
When the plate data update unit 212 acquires the instruction 522 and the size 523, the plate data update unit 212 uses the CPU 911 to advance the pointer to the next position (position of the source 524) of the acquired size 523. The plate data update unit 212 uses the RAM 914 to store the advanced pointer. The plate data updating unit 212 determines whether the command is a copy command or an additional command based on the acquired instruction 522.
If the command is an addition command, the plate data updating unit 212 proceeds to the data addition step S653.
If the command is a copy command, the plate data update unit 212 proceeds to the data copy step S655.

データ追加工程S653において、有版データ更新部212は、コマンド取得工程S651で取得した差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、サイズ523が表わすバイト数のデータをソース524として取得する。有版データ更新部212は、CPU911を用いて、取得したソース524の次の位置(次のコマンドの命令522の位置または差分データの最後)へポインタを進める。有版データ更新部212は、RAM914を用いて、進めたポインタを記憶する。
有版データ更新部212は、CPU911を用いて、生成中の有版データの後ろに、取得したソース524を追加する。有版データ更新部212は、HDD920を用いて、ソース524を追加した生成中の有版データを記憶する。
その後、有版データ更新部212は、コマンド取得工程S651に戻り、次のコマンドを処理する。
In the data addition step S653, the plate data updating unit 212 uses the CPU 911 to calculate the number of bytes represented by the size 523 from the position represented by the pointer stored using the RAM 914 in the difference data acquired in the command acquisition step S651. Data is acquired as source 524. The plate data updating unit 212 uses the CPU 911 to advance the pointer to the next position of the acquired source 524 (the position of the instruction 522 of the next command or the end of the difference data). The plate data update unit 212 uses the RAM 914 to store the advanced pointer.
The plate data update unit 212 uses the CPU 911 to add the acquired source 524 to the end of the plate data being generated. Using the HDD 920, the plate data update unit 212 stores the plate data being generated with the source 524 added.
Thereafter, the plate data updating unit 212 returns to the command acquisition step S651 and processes the next command.

データ複写工程S655において、有版データ更新部212は、コマンド取得工程S651で取得した差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、ソース524を取得する。有版データ更新部212は、CPU911を用いて、取得したソース524の次の位置(次のコマンドの命令522の位置または差分データの最後)へポインタを進める。有版データ更新部212は、RAM914を用いて、進めたポインタを記憶する。
有版データ更新部212は、CPU911を用いて、有版データ記憶部211が記憶した有版データから、ソース524が表わす開始位置からサイズ523が表わすバイト数のデータを取得する。有版データ更新部212は、CPU911を用いて、生成中の有版データの後ろに、取得したデータを追加する。有版データ更新部212は、HDD920を用いて、データを追加した生成中の有版データを記憶する。
その後、有版データ更新部212は、コマンド取得工程S651に戻り、次のコマンドを処理する。
In the data copying step S655, the plate data updating unit 212 acquires the source 524 using the CPU 911 from the position indicated by the pointer stored using the RAM 914 in the difference data acquired in the command acquisition step S651. The plate data updating unit 212 uses the CPU 911 to advance the pointer to the next position of the acquired source 524 (the position of the instruction 522 of the next command or the end of the difference data). The plate data update unit 212 uses the RAM 914 to store the advanced pointer.
The plate data update unit 212 uses the CPU 911 to acquire data of the number of bytes represented by the size 523 from the start position represented by the source 524 from the plate data stored by the plate data storage unit 211. The plate data update unit 212 uses the CPU 911 to add the acquired data to the plate data being generated. The plate data update unit 212 uses the HDD 920 to store the plate data being generated with the added data.
Thereafter, the plate data updating unit 212 returns to the command acquisition step S651 and processes the next command.

データ更新工程S657において、有版データ更新部212は、HDD920を用いて記憶した生成中の有版データを、更新後の有版データとして、CPU911を用いて、有版データ記憶部211に通知する。有版データ記憶部211は、HDD920を用いて、有版データ更新部212から通知された更新後の有版データを記憶する。   In the data update step S657, the plate data update unit 212 notifies the plate data storage unit 211 of the plate data being generated stored using the HDD 920 as the plate data after update using the CPU 911. . The plate data storage unit 211 uses the HDD 920 to store the updated plate data notified from the plate data update unit 212.

このように、有版データ更新部212は、差分データが表わすコマンドを最初から順に解釈し、解釈したコマンドにしたがって、更新後の有版データを生成する。   As described above, the plate data update unit 212 interprets the commands represented by the difference data in order from the beginning, and generates the plate data after update according to the interpreted commands.

図11は、この実施の形態における差分合成処理S670の流れの一例を示すフローチャート図である。
差分合成処理S670において、差分合成部133は、差分記憶部115が記憶した2つの差分データを合成して、新しい差分データを生成する。なお、差分記憶部222が記憶した2つの差分データを合成して差分合成部224が新しい差分データを生成する処理の流れも、差分合成処理S670と同じである。
差分合成処理S670は、コマンド取得工程S671、2つの追加コマンド生成工程S673,S677、複写部分取得工程S675、複写コマンド生成工程S679を有する。
FIG. 11 is a flowchart showing an example of the flow of the difference synthesis process S670 in this embodiment.
In the difference combining process S670, the difference combining unit 133 combines the two difference data stored in the difference storage unit 115 to generate new difference data. Note that the flow of processing in which two difference data stored in the difference storage unit 222 are combined and the difference combining unit 224 generates new difference data is the same as that in the difference combining processing S670.
The difference composition processing S670 includes a command acquisition step S671, two additional command generation steps S673, S677, a copy part acquisition step S675, and a copy command generation step S679.

以下の説明において、有版データに順次適用できる2つの差分データのうち、初めに適用するほうを第一の差分データ、後から適用するほうを第二の差分データと呼ぶ。また、合成により生成される差分データを第三の差分データと呼ぶ。すなわち、第一の差分データが、有版データの第一の版に適用して第二の版を生成するための差分データであるとすると、第二の差分データは、有版データの第二の版に適用して第三の版を生成するための差分データであり、第三の差分データは、有版データの第一の版に適用して第三の版を生成するための差分データである。   In the following description, of the two difference data that can be sequentially applied to the plate data, the one that is applied first is called first difference data, and the one that is applied later is called second difference data. The difference data generated by the synthesis is referred to as third difference data. That is, if the first difference data is difference data for generating the second version by applying it to the first version of the plate data, the second difference data is the second of the plate data. Difference data for generating a third version by applying to the first version, and the third difference data is difference data for generating the third version by applying to the first version of the plate data It is.

コマンド取得工程S671において、差分合成部133は、CPU911を用いて、差分記憶部115が記憶した差分データのなかから、第二の差分データを取得する。差分合成部133は、CPU911を用いて、取得した差分データの最初の位置にポインタを設定する。差分合成部133は、RAM914を用いて、設定したポインタを記憶する。
差分合成部133は、コマンド取得工程S671で取得した第二の差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、コマンドの命令522と、サイズ523とを取得する。
ポインタが表わす位置が第二の差分データの最後であり、差分合成部133が命令522を取得しなかった場合、差分合成部133は、差分合成処理S670を終了する。
差分合成部133が命令522とサイズ523とを取得した場合、差分合成部133は、CPU911を用いて、取得したサイズ523の次の位置(ソース524の位置)へポインタを進める。差分合成部133は、RAM914を用いて、進めたポインタを記憶する。差分合成部133は、取得した命令522に基づいて、そのコマンドが複写コマンドであるか追加コマンドであるかを判定する。
そのコマンドが追加コマンドである場合、差分合成部133は、追加コマンド生成工程S673へ進む。
そのコマンドが複写コマンドである場合、差分合成部133は、複写部分取得工程S675へ進む。
In the command acquisition step S671, the difference composition unit 133 uses the CPU 911 to acquire second difference data from the difference data stored in the difference storage unit 115. The difference composition unit 133 uses the CPU 911 to set a pointer at the first position of the acquired difference data. The difference synthesis unit 133 uses the RAM 914 to store the set pointer.
The difference synthesis unit 133 uses the CPU 911 to acquire the command instruction 522 and the size 523 from the position represented by the pointer stored using the RAM 914 in the second difference data acquired in the command acquisition step S671. .
When the position indicated by the pointer is the last of the second difference data and the difference synthesizer 133 has not acquired the instruction 522, the difference synthesizer 133 ends the difference synthesize process S670.
When the difference combining unit 133 acquires the instruction 522 and the size 523, the difference combining unit 133 uses the CPU 911 to advance the pointer to the next position (position of the source 524) of the acquired size 523. The difference synthesis unit 133 uses the RAM 914 to store the advanced pointer. Based on the acquired instruction 522, the difference synthesis unit 133 determines whether the command is a copy command or an additional command.
If the command is an additional command, the difference synthesis unit 133 proceeds to an additional command generation step S673.
If the command is a copy command, the difference composition unit 133 proceeds to the copy part acquisition step S675.

追加コマンド生成工程S673において、差分合成部133は、コマンド取得工程S671で取得した第二の差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、サイズ523が表わすバイト数のデータをソース524として取得する。差分合成部133は、CPU911を用いて、取得したソース524の次の位置(次のコマンドの命令522の位置または第二の差分データの最後)へポインタを進める。差分合成部133は、RAM914を用いて、進めたポインタを記憶する。
差分合成部133は、CPU911を用いて、取得したサイズ523をサイズ523に設定し、取得したソース524をソース524に設定した追加コマンドを生成する。すなわち、差分合成部133は、取得した追加コマンドを複製する。差分合成部133は、CPU911を用いて、生成中の第三の差分データの後ろに、生成した追加コマンドを追加する。差分合成部133は、HDD920を用いて、生成した追加コマンドを追加した第三の差分データを記憶する。
その後、差分合成部133は、コマンド取得工程S671に戻り、次のコマンドを処理する。
In the additional command generation step S673, the difference synthesis unit 133 uses the CPU 911 to indicate the byte represented by the size 523 from the position represented by the pointer stored using the RAM 914 in the second difference data acquired in the command acquisition step S671. A number of data is acquired as source 524. The difference synthesis unit 133 uses the CPU 911 to advance the pointer to the next position of the acquired source 524 (the position of the instruction 522 of the next command or the end of the second difference data). The difference synthesis unit 133 uses the RAM 914 to store the advanced pointer.
The difference synthesis unit 133 uses the CPU 911 to set the acquired size 523 as the size 523 and generate an additional command in which the acquired source 524 is set as the source 524. That is, the difference synthesis unit 133 duplicates the acquired additional command. The difference composition unit 133 uses the CPU 911 to add the generated additional command after the third difference data being generated. The difference synthesizer 133 uses the HDD 920 to store the third difference data to which the generated additional command is added.
Thereafter, the difference synthesis unit 133 returns to the command acquisition step S671 and processes the next command.

複写部分取得工程S675において、差分合成部133は、コマンド取得工程S671で取得した第二の差分データのうち、RAM914を用いて記憶したポインタが表わす位置から、CPU911を用いて、ソース524を取得する。差分合成部133は、CPU911を用いて、取得したソース524の次の位置(次のコマンドの命令522の位置または差分データの最後)へポインタを進める。差分合成部133は、RAM914を用いて、進めたポインタを記憶する。
差分合成部133は、CPU911を用いて、差分記憶部115が記憶した差分データのなかから、第一の差分データを取得する。差分合成部133は、CPU911を用いて、取得した第一の差分データに含まれるコマンドを解釈して、第一の差分データに含まれるコマンドのなかから、有版データの第二の版において、取得したソース524が表わす開始位置からサイズ523が表わすバイト数のデータ(以下「複写部分データ」と呼ぶ。)を生成するコマンドを抽出する。複写部分データを生成するコマンドは、1つとは限らず、複数ある場合がある。また、複写部分データを生成するコマンドは、複写部分データだけでなく、その前後のデータも合わせて生成するものである場合がある。
例えば、差分合成部133は、CPU911を用いて、第一の差分データの最初から順にコマンドを1つずつ取得する。最初のコマンドが生成するデータの範囲の開始位置は「0」である。二番目以降のコマンドが生成するデータの範囲の開始位置は、それより前のコマンドのサイズ523の合計である。差分合成部133は、CPU911を用いて、取得したコマンドのサイズ523を累計することにより、そのコマンドにより生成されるデータの開始位置を算出する。差分合成部133は、CPU911を用いて、算出した開始位置とサイズ523とに基づいて、そのコマンドにより生成されるデータが、有版データの第二の版において複写部分データに含まれるか否かを判定する。
差分合成部133は、CPU911を用いて、第一の差分データから抽出したコマンドのなかから、コマンドを1つ取得する。第一の差分データから抽出したコマンドが複数である場合、差分合成部133は、複数のコマンドを最初から順に1つずつ処理する。
第一の差分データから抽出したコマンドの処理がすべて終了し、取得すべきコマンドがない場合、差分合成部133は、コマンド取得工程S671に戻り、第二の差分データにおける次のコマンドを処理する。
第一の差分データから抽出したコマンドを取得した場合、差分合成部133は、CPU911を用いて、取得したコマンドが複写コマンドであるか追加コマンドであるかを判定する。
取得したコマンドが追加コマンドである場合、差分合成部133は、追加コマンド生成工程S677へ進む。
取得したコマンドが複写コマンドである場合、差分合成部133は、複写コマンド生成工程S679へ進む。
In the copy part acquisition step S675, the difference synthesis unit 133 acquires the source 524 using the CPU 911 from the position indicated by the pointer stored using the RAM 914 in the second difference data acquired in the command acquisition step S671. . The difference synthesizer 133 uses the CPU 911 to advance the pointer to the next position of the acquired source 524 (the position of the instruction 522 of the next command or the end of the difference data). The difference synthesis unit 133 uses the RAM 914 to store the advanced pointer.
The difference synthesis unit 133 uses the CPU 911 to obtain first difference data from the difference data stored in the difference storage unit 115. The difference synthesizer 133 uses the CPU 911 to interpret the command included in the acquired first difference data, and from the commands included in the first difference data, in the second version of the plate data, A command for generating data of the number of bytes represented by size 523 (hereinafter referred to as “copy partial data”) is extracted from the start position represented by the acquired source 524. The number of commands for generating copy partial data is not limited to one, and there may be a plurality of commands. In addition, a command for generating copy partial data may generate not only the copy partial data but also the data before and after it.
For example, the difference synthesis unit 133 uses the CPU 911 to acquire commands one by one in order from the beginning of the first difference data. The start position of the data range generated by the first command is “0”. The start position of the data range generated by the second and subsequent commands is the sum of the command sizes 523 before that. The difference synthesis unit 133 uses the CPU 911 to calculate the start position of data generated by the command by accumulating the acquired command sizes 523. The difference composition unit 133 uses the CPU 911 to determine whether data generated by the command is included in the copy partial data in the second version of the plate data based on the calculated start position and size 523. Determine.
The difference composition unit 133 uses the CPU 911 to acquire one command from the commands extracted from the first difference data. When there are a plurality of commands extracted from the first difference data, the difference synthesis unit 133 processes the plurality of commands one by one in order from the beginning.
If all of the commands extracted from the first difference data have been processed and there is no command to be acquired, the difference synthesis unit 133 returns to the command acquisition step S671 and processes the next command in the second difference data.
When the command extracted from the first difference data is acquired, the difference synthesis unit 133 uses the CPU 911 to determine whether the acquired command is a copy command or an additional command.
If the acquired command is an additional command, the difference synthesis unit 133 proceeds to an additional command generation step S677.
If the acquired command is a copy command, the difference composition unit 133 proceeds to a copy command generation step S679.

追加コマンド生成工程S677において、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した追加コマンドに基づいて、追加コマンドを生成する。
例えば、複写部分取得工程S675で取得した追加コマンドにより生成されるデータが、有版データの第二の版において複写部分データのなかに完全に含まれている場合、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した追加コマンドのサイズ523をサイズ523に設定し、ソース524をソース524に設定した追加コマンドを生成する。すなわち、差分合成部133は、複写部分取得工程S675で取得した追加コマンドを複製する。
複写部分取得工程S675で取得した追加コマンドにより生成されるデータが、有版データの第二の版において複写部分データに含まれない部分を含む場合、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した追加コマンドのソース524のなかから、複写部分データに含まれる部分のデータを切り出す。差分合成部133は、CPU911を用いて、切り出したデータのサイズをサイズ523に設定し、切り出したデータをソース524に設定した追加コマンドを生成する。
差分合成部133は、CPU911を用いて、生成中の第三の差分データの後ろに、生成した追加コマンドを追加する。差分合成部133は、HDD920を用いて、生成した追加コマンドを追加した第三の差分データを記憶する。
その後、差分合成部133は、複写部分取得工程S675に戻り、第一の差分データから抽出した次のコマンドを処理する。
In the additional command generation step S677, the difference synthesis unit 133 uses the CPU 911 to generate an additional command based on the additional command acquired in the copy part acquisition step S675.
For example, if the data generated by the additional command acquired in the copy part acquisition step S675 is completely included in the copy part data in the second version of the plate data, the difference synthesis unit 133 causes the CPU 911 to By using this, the additional command size 523 acquired in the copy part acquisition step S675 is set to the size 523, and the additional command in which the source 524 is set to the source 524 is generated. That is, the difference composition unit 133 copies the additional command acquired in the copy part acquisition step S675.
When the data generated by the additional command acquired in the copy part acquisition step S675 includes a part not included in the copy part data in the second version of the plate data, the difference composition unit 133 uses the CPU 911 to copy the data. Data of a portion included in the copy portion data is cut out from the source 524 of the additional command acquired in the portion acquisition step S675. Using the CPU 911, the difference synthesis unit 133 sets the size of the cut out data to the size 523 and generates an additional command in which the cut out data is set to the source 524.
The difference composition unit 133 uses the CPU 911 to add the generated additional command after the third difference data being generated. The difference synthesizer 133 uses the HDD 920 to store the third difference data to which the generated additional command is added.
Thereafter, the difference composition unit 133 returns to the copy part acquisition step S675 and processes the next command extracted from the first difference data.

複写コマンド生成工程S679において、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した複写コマンドに基づいて、複写コマンドを生成する。
例えば、複写部分取得工程S675で取得した複写コマンドにより生成されるデータが、有版データの第二の版において複写部分データのなかに完全に含まれている場合、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した複写コマンドのサイズ523をサイズ523に設定し、ソース524をソース524に設定した複写コマンドを生成する。すなわち、差分合成部133は、複写部分取得工程S675で取得した複写コマンドを複製する。
複写部分取得工程S675で取得した複写コマンドにより生成されるデータが、有版データの第二の版において複写部分データより前の部分のデータ(以下「前部分データ」と呼ぶ。)を含む場合、差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した複写コマンドにより生成されるデータのうち、複写部分に含まれる部分のデータ(以下「承継部分データ」と呼ぶ。)のサイズを算出する。また、差分合成部133は、CPU911を用いて、前部分データのサイズを算出する。差分合成部133は、CPU911を用いて、複写部分取得工程S675で取得した複写コマンドのソース524に、算出した前部分データのサイズを加えた和を算出する。差分合成部133は、CPU911を用いて、算出した承継部分データのサイズをサイズ523に設定し、算出した和をソース524に設定した複写コマンドを生成する。
複写部分取得工程S675で取得した複写コマンドにより生成されるデータが、前部分データを含まず、有版データの第二の版において複写部分データより後の部分のデータ(以下「後部分データ」と呼ぶ。)を含む場合、差分合成部133は、CPU911を用いて、承継部分データのサイズを算出する。差分合成部133は、CPU911を用いて、算出したサイズをサイズ523に設定し、複写部分取得工程S675で取得した複写コマンドのソース524をソース524に設定した複写コマンドを生成する。
差分合成部133は、CPU911を用いて、生成中の第三の差分データの後ろに、生成した複写コマンドを追加する。差分合成部133は、HDD920を用いて、生成した複写コマンドを追加した第三の差分データを記憶する。
その後、差分合成部133は、複写部分取得工程S675に戻り、第一の差分データから抽出した次のコマンドを処理する。
In the copy command generation step S679, the difference composition unit 133 uses the CPU 911 to generate a copy command based on the copy command acquired in the copy part acquisition step S675.
For example, if the data generated by the copy command acquired in the copy part acquisition step S675 is completely included in the copy part data in the second version of the plate data, the difference composition unit 133 causes the CPU 911 to The copy command size 523 acquired in the copy part acquisition step S675 is set to the size 523, and the copy command in which the source 524 is set to the source 524 is generated. That is, the difference composition unit 133 duplicates the copy command acquired in the copy part acquisition step S675.
When the data generated by the copy command acquired in the copy portion acquisition step S675 includes data of a portion preceding the copy portion data (hereinafter referred to as “previous portion data”) in the second version of the plate data. The difference synthesis unit 133 uses the CPU 911 to among the data generated by the copy command acquired in the copy part acquisition step S675, the size of the data included in the copy part (hereinafter referred to as “successive part data”). Is calculated. Further, the difference synthesis unit 133 uses the CPU 911 to calculate the size of the previous partial data. The difference composition unit 133 uses the CPU 911 to calculate a sum obtained by adding the size of the calculated previous partial data to the copy command source 524 acquired in the copy part acquisition step S675. The difference composition unit 133 uses the CPU 911 to set the size of the calculated succession partial data to the size 523 and generate a copy command in which the calculated sum is set to the source 524.
The data generated by the copy command acquired in the copy part acquisition step S675 does not include the previous part data, and the data after the copy part data in the second version of the plate data (hereinafter referred to as “rear part data”). The difference composition unit 133 uses the CPU 911 to calculate the size of the inherited partial data. Using the CPU 911, the difference composition unit 133 sets the calculated size to the size 523 and generates a copy command in which the source 524 of the copy command acquired in the copy part acquisition step S675 is set as the source 524.
The difference composition unit 133 uses the CPU 911 to add the generated copy command after the third difference data being generated. The difference synthesizer 133 uses the HDD 920 to store the third difference data to which the generated copy command is added.
Thereafter, the difference composition unit 133 returns to the copy part acquisition step S675 and processes the next command extracted from the first difference data.

このように、差分合成部133(および差分合成部224)は、差分データを適用する有版データを用いることなく、差分データを合成する。差分データのデータ量は、有版データのデータ量より小さいので、差分データを有版データに適用する場合と比較して、使用するRAM914やHDD920の記憶領域の容量が少なくて済み、CPU911にかかる負荷が小さくなる。
特に、端末装置200には、CPU911の処理能力が低いものやHDD920の記憶容量が小さいものが存在する。有版データに複数の差分データを順次適用して有版データを更新するよりも、差分データを合成してから、有版データに1回だけ適用するほうが、CPU911にかかる負荷が小さく、使用する記憶領域の容量が少なくて済むので、処理速度が向上し、端末装置200が並列して実行する他の処理に影響を与えることなく、有版データを更新することができる。
Thus, the difference synthesizer 133 (and the difference synthesizer 224) synthesizes the difference data without using the plate data to which the difference data is applied. Since the data amount of the difference data is smaller than the data amount of the plate data, the capacity of the storage area of the RAM 914 or the HDD 920 to be used is small compared with the case where the difference data is applied to the plate data. The load is reduced.
In particular, the terminal device 200 includes one having a low processing capacity of the CPU 911 and one having a small storage capacity of the HDD 920. Rather than sequentially applying multiple pieces of difference data to plate data and updating the plate data, combining the difference data and applying it to the plate data only once reduces the load on the CPU 911 and is used. Since the capacity of the storage area is small, the processing speed is improved, and the plate data can be updated without affecting other processes executed in parallel by the terminal device 200.

図12は、この実施の形態における差分データ520bの一例を示す図である。
図13は、この実施の形態における差分データ520cの一例を示す図である。
図7に示した差分データ520が第一の差分データであるものとし、図12に示した差分データ520bが第二の差分データであるものとする。差分データ520cは、差分合成部133(あるいは差分合成部224)が差分データ520と差分データ520bとを合成して生成する第三の差分データである。
以下、図11のフローチャートを参照しつつ、差分合成部133の動作の具体例を説明する。
FIG. 12 is a diagram showing an example of the difference data 520b in this embodiment.
FIG. 13 is a diagram showing an example of the difference data 520c in this embodiment.
Assume that the difference data 520 shown in FIG. 7 is the first difference data, and the difference data 520b shown in FIG. 12 is the second difference data. The difference data 520c is third difference data generated by the difference synthesizer 133 (or the difference synthesizer 224) by combining the difference data 520 and the difference data 520b.
Hereinafter, a specific example of the operation of the difference synthesis unit 133 will be described with reference to the flowchart of FIG.

コマンド取得工程S671において、差分合成部133は、差分データ520bから最初のコマンド521fの命令522「copy」、サイズ523「4000」を取得する。   In the command acquisition step S671, the difference synthesis unit 133 acquires the instruction 522 “copy” and the size 523 “4000” of the first command 521f from the difference data 520b.

命令522「copy」は複写コマンドを表わすので、複写部分取得工程S675へ進む。
差分合成部133は、コマンド521fのソース524「0」を取得する。差分合成部133は、差分データ520のなかから、有版データ530bの0バイト目(最初)から3999バイト目までの4000バイトの部分のデータ(複写部分データ)を生成するコマンドを抽出する。
差分データ520には、5つのコマンド521a〜521eが含まれる。コマンド521aは、有版データ530bの0バイト目から3199バイト目までの3200バイトの部分531bのデータを生成するコマンドである。コマンド521bは、有版データ530bの3200バイト目から4399バイト目までの1200バイトの部分532bのデータを生成するコマンドである。コマンド521cは、有版データ530bの4400バイト目から8999バイト目までの4600バイトの部分533bのデータを生成するコマンドである。コマンド521dは、有版データ530bの9000バイト目から11599バイト目までの2600バイトの部分534bのデータを生成するコマンドである。コマンド521eは、有版データ530bの11600バイト目から13399バイト目(最後)までの1800バイトの部分535bのデータを生成するコマンドである。したがって、差分合成部133は、2つのコマンド521a,521bを抽出する。
差分合成部133は、抽出したコマンドを前から順に処理するため、まず、コマンド521aを取得する。
Since the instruction 522 “copy” represents a copy command, the process proceeds to the copy part acquisition step S675.
The difference composition unit 133 acquires the source 524 “0” of the command 521f. The difference synthesizer 133 extracts from the difference data 520 a command for generating 4000 bytes of data (copy partial data) from the 0th byte (first) to the 3999th byte of the plate data 530b.
The difference data 520 includes five commands 521a to 521e. The command 521a is a command for generating data of a 3200-byte portion 531b from the 0th byte to the 3199th byte of the plate data 530b. The command 521b is a command for generating data of a 1200-byte portion 532b from the 3200th byte to the 4399th byte of the plate data 530b. The command 521c is a command for generating data of a 4600 byte portion 533b from the 4400th byte to the 8999th byte of the plate data 530b. The command 521d is a command for generating data of a 2600-byte portion 534b from the 9000th byte to the 11599th byte of the plate data 530b. The command 521e is a command for generating data of a 1800-byte portion 535b from the 11600th byte to the 13399th byte (last) of the plate data 530b. Therefore, the difference synthesizer 133 extracts two commands 521a and 521b.
The difference synthesis unit 133 first acquires the command 521a in order to process the extracted commands in order from the front.

なお、差分合成部133は、差分合成処理S670の開始に先立ち、CPU911を用いて、あらかじめ差分データ520のどのコマンドが有版データ530bのどの位置のデータを生成するものであるかを算出しておく構成であってもよい。差分合成部133は、算出した結果を表わすテーブルなど検索しやすい形式のデータを生成して、RAM914を用いて記憶しておく。複写部分取得工程S675において、差分合成部133は、あらかじめ記憶したデータを検索することにより、コマンドを抽出する。これにより、複写部分取得工程S675の処理を速くすることができる。   Prior to the start of the difference synthesis process S670, the difference synthesis unit 133 uses the CPU 911 to calculate in advance which command of the difference data 520 generates which data of the plate data 530b. It may be configured to be kept. The difference synthesis unit 133 generates easy-to-search data such as a table representing the calculated result, and stores the data using the RAM 914. In the copy part acquisition step S675, the difference composition unit 133 extracts a command by searching for data stored in advance. As a result, the process of the copy part acquisition step S675 can be speeded up.

コマンド521aは複写コマンドなので、複写コマンド生成工程S679へ進む。
コマンド521aにより生成される3200バイトのデータは、有版データ530bにおいて複写部分データに完全に含まれるので、差分合成部133は、コマンド521aを複製して、複写コマンド521jを生成する。
Since the command 521a is a copy command, the process proceeds to a copy command generation step S679.
Since the 3200-byte data generated by the command 521a is completely included in the copy partial data in the plate-formed data 530b, the difference synthesizer 133 copies the command 521a to generate a copy command 521j.

複写部分取得工程S675に戻り、差分合成部133は、次のコマンド521bを取得する。
コマンド521bは追加コマンドなので、追加コマンド生成工程S677へ進む。
コマンド521bにより生成される1200バイトのデータのうち、有版データ530bにおいて複写部分データに含まれるのは前半の800バイトだけである。差分合成部133は、ソース524bから前半の800バイトを切り出す。差分合成部133は、切り出したデータのサイズ「800」をサイズ523に設定し、切り出したデータをソース524kに設定した追加コマンド521kを生成する。
Returning to the copy part acquisition step S675, the difference synthesis unit 133 acquires the next command 521b.
Since the command 521b is an additional command, the process proceeds to an additional command generation step S677.
Of the 1200-byte data generated by the command 521b, only the first 800 bytes are included in the copy partial data in the plate-formed data 530b. The difference synthesis unit 133 cuts out the first 800 bytes from the source 524b. The difference synthesis unit 133 sets the size “800” of the cut-out data to the size 523, and generates an additional command 521k in which the cut-out data is set to the source 524k.

複写部分取得工程S675に戻り、抽出した2つのコマンド521a,521bの処理が終わったので、コマンド取得工程S671に戻る。
差分合成部133は、差分データ520bから次のコマンド521gの命令522「copy」、サイズ523「4400」を取得する。
Returning to the copy part acquisition step S675, since the processing of the extracted two commands 521a and 521b is completed, the process returns to the command acquisition step S671.
The difference synthesis unit 133 acquires the instruction 522 “copy” and the size 523 “4400” of the next command 521 g from the difference data 520 b.

命令522「copy」は複写コマンドを表わすので、再び複写部分取得工程S675へ進む。
差分合成部133は、コマンド521gのソース524「5200」を取得する。差分合成部133は、差分データ520のなかから、有版データ530bの5200バイト目から4400バイトの部分のデータ(複写部分データ)を生成するコマンドである2つのコマンド521c,521dを抽出する。
差分合成部133は、抽出したコマンドを前から順に処理するため、まず、コマンド521cを取得する。
Since the instruction 522 “copy” represents a copy command, the process proceeds to the copy part acquisition step S675 again.
The difference synthesis unit 133 acquires the source 524 “5200” of the command 521g. The difference synthesis unit 133 extracts two commands 521c and 521d, which are commands for generating data (copy partial data) from the 5200th byte to the 4400th byte of the plate data 530b, from the difference data 520.
First, the difference synthesis unit 133 acquires the command 521c in order to process the extracted commands in order from the front.

コマンド521cは複写コマンドなので、複写コマンド生成工程S679へ進む。
コマンド521cにより生成される4600バイトのデータのうち、有版データ530bにおいて複写部分データに含まれる部分のデータ(承継部分データ)は後半の3800バイトだけであり、それより前の800バイトは複写部分データに含まれない前部分データである。差分合成部133は、承継部分データのサイズ「3800」をサイズ523に設定し、コマンド521cのソース524「3200」に前部分データのサイズ「800」を加えた和「4000」をソース524に設定した複写コマンド521lを生成する。
Since the command 521c is a copy command, the process proceeds to a copy command generation step S679.
Of the 4600 bytes of data generated by the command 521c, the data (succession portion data) of the portion included in the copy portion data in the plate data 530b is only the latter 3800 bytes, and the previous 800 bytes are the copy portion. This is the previous data that is not included in the data. The difference composition unit 133 sets the size “3800” of the successor partial data to the size 523, and sets the sum “4000” obtained by adding the size “800” of the previous partial data to the source 524 “3200” of the command 521c to the source 524. The copied command 521l is generated.

複写部分取得工程S675に戻り、差分合成部133は、次のコマンド521dを取得する。
コマンド521dは複写コマンドなので、複写コマンド生成工程S679へ進む。
コマンド521dにより生成される2600バイトのデータのうち、有版データ530bにおいて複写部分データに含まれる部分のデータ(承継部分データ)は前半の600バイトだけである。差分合成部133は、承継部分データのサイズ「600」をサイズ523に設定し、コマンド521dのソース524「10200」をソース524に設定した複写コマンド521mを生成する。
Returning to the copy part acquisition step S675, the difference synthesis unit 133 acquires the next command 521d.
Since the command 521d is a copy command, the process proceeds to a copy command generation step S679.
Of the 2600-byte data generated by the command 521d, only the first 600 bytes are included in the copy portion data (succession portion data) in the plate data 530b. The difference synthesizing unit 133 generates a copy command 521m in which the size “600” of the inherited partial data is set to the size 523 and the source 524 “10200” of the command 521d is set to the source 524.

複写部分取得工程S675に戻り、抽出した2つのコマンド521c,521dの処理が終わったので、コマンド取得工程S671に戻る。
差分合成部133は、差分データ520bから、次のコマンド521hの命令522「data」と、サイズ523「3000」とを取得する。
Returning to the copy part acquisition step S675, since the processing of the two extracted commands 521c and 521d is completed, the process returns to the command acquisition step S671.
The difference synthesis unit 133 acquires the instruction 522 “data” of the next command 521 h and the size 523 “3000” from the difference data 520 b.

命令522「data」は追加コマンドを表わすので、追加コマンド生成工程S673へ進む。
差分合成部133は、コマンド521hを複製して、コマンド521nを生成する。
Since the instruction 522 “data” represents an additional command, the process proceeds to the additional command generation step S673.
The difference synthesizer 133 duplicates the command 521h and generates a command 521n.

コマンド取得工程S671に戻り、差分合成部133は、差分データ520bから、次のコマンド521iの命令522「copy」と、サイズ523「2800」とを取得する。   Returning to the command acquisition step S671, the difference synthesis unit 133 acquires the instruction 522 “copy” of the next command 521i and the size 523 “2800” from the difference data 520b.

命令522「copy」は複写コマンドを表わすので、複写部分取得工程S675へ進む。
差分合成部133は、コマンド521iのソース524「10600」を取得する。差分合成部133は、差分データ520のなかから、有版データ530bの10600バイト目から2800バイトの部分のデータ(複写部分データ)を生成するコマンドである2つのコマンド521d,521eを抽出する。
差分合成部133は、抽出したコマンドを前から順に処理するため、まず、コマンド521dを取得する。
Since the instruction 522 “copy” represents a copy command, the process proceeds to the copy part acquisition step S675.
The difference composition unit 133 acquires the source 524 “10600” of the command 521i. The difference synthesis unit 133 extracts two commands 521d and 521e, which are commands for generating data (copy partial data) from the 10600th byte of the plate data 530b to the 2800-byte portion from the difference data 520.
First, the difference synthesis unit 133 acquires the command 521d in order to process the extracted commands in order from the front.

コマンド521dは複写コマンドなので、複写コマンド生成工程S679へ進む。
コマンド521dにより生成される2600バイトのデータのうち、有版データ530bにおいて複写部分データに含まれる部分のデータ(承継部分データ)は後半の1000バイトだけであり、それより前の1600バイトは複写部分データに含まれない前部分データである。差分合成部133は、承継部分データのサイズ「1000」をサイズ523に設定し、コマンド521cのソース524「10200」に前部分データのサイズ「1600」を加えた和「11800」をソース524に設定した複写コマンド521oを生成する。
Since the command 521d is a copy command, the process proceeds to a copy command generation step S679.
Of the 2600 bytes of data generated by the command 521d, the data (successive portion data) included in the copy portion data in the plate data 530b is only the latter 1000 bytes, and the previous 1600 bytes are the copy portion. This is the previous data that is not included in the data. The difference composition unit 133 sets the size “1000” of the succeeding partial data to the size 523, and sets the sum “11800” obtained by adding the size “1600” of the previous partial data to the source 524 “10200” of the command 521c as the source 524. The copied command 521o is generated.

複写部分取得工程S675に戻り、差分合成部133は、次のコマンド521eを取得する。
コマンド521eは追加コマンドなので、追加コマンド生成工程S673へ進む。
コマンド521eにより生成される1800バイトのデータは、有版データ530bにおいて複写部分データに完全に含まれるので、差分合成部133は、コマンド521eを複製して、追加コマンド521pを生成する。
Returning to the copy part acquisition step S675, the difference synthesis unit 133 acquires the next command 521e.
Since the command 521e is an additional command, the process proceeds to an additional command generation step S673.
Since the 1800-byte data generated by the command 521e is completely included in the copy partial data in the plate-formed data 530b, the difference synthesizer 133 duplicates the command 521e and generates an additional command 521p.

コマンド取得工程S671に戻り、差分データ520bのコマンドをすべて処理したので、差分合成処理S670を終了する。差分合成部133は、生成した7つのコマンド521j〜521pを差分データ520cとする。   Returning to the command acquisition step S671, since all the commands of the difference data 520b have been processed, the difference synthesis processing S670 is terminated. The difference synthesis unit 133 sets the generated seven commands 521j to 521p as difference data 520c.

図14は、この実施の形態における3つの有版データ530a〜530cの関係の一例を示す図である。
有版データ530aは、差分データ520を適用する適用前の版の有版データである。有版データ530bは、有版データ530aに差分データ520を適用した結果として生成される適用後の版の有版データであるとともに、差分データ520bを適用する適用前の版の有版データでもある。有版データ530cは、有版データ530bに差分データ520bを適用した結果として生成される適用後の版の有版データである。
有版データ530aと有版データ530bとの関係については、図8を用いて既に説明しているので、ここでは、主に有版データ530bと有版データ530cとの関係について説明する。
FIG. 14 is a diagram showing an example of the relationship between the three plate data 530a to 530c in this embodiment.
The version data 530a is version data of a version before application to which the difference data 520 is applied. The version data 530b is version data of an applied version generated as a result of applying the difference data 520 to the version data 530a, and is also version data of the version before application to which the difference data 520b is applied. . The version data 530c is version data of the version after application generated as a result of applying the difference data 520b to the version data 530b.
Since the relationship between the plate data 530a and the plate data 530b has already been described with reference to FIG. 8, here, the relationship between the plate data 530b and the plate data 530c will be mainly described.

有版データ530cは、全部で14200バイトのデータである。
有版データ530cの0バイト目(最初)から3999バイト目までの4000バイトの部分531c(含有部分)のデータは、有版データ530bの0バイト目(最初)から3999バイト目までの4000バイトの部分541b(複写部分)のデータと同一である。そのうち、前半の3200バイトは、有版データ530aの部分531aから承継した部分531b(承継部分)であり、残りの800バイトは、有版データ530bで新たに追加された部分532bの一部(非承継部分)である。
有版データ530cの4000バイト目から8399バイト目までの4400バイトの部分532c(含有部分)のデータは、有版データ530bの5200バイト目から9599バイト目までの4400バイトの部分543b(複写部分)のデータと同一である。そのうち、前半の3800バイトは、有版データ530aの部分532aから承継した部分533bの一部(承継部分)であり、残りの600バイトは、有版データ530aの部分534aから承継した部分534bの一部(非承継部分)である。
有版データ530cの11400バイト目から14199バイト目(最後)までの2800バイトの部分534c(含有部分)のデータは、有版データ530bの10600バイト目から13399バイト目(最後)までの2800バイトの部分545b(複写部分)のデータと同一である。そのうち、前半の1000バイトは、有版データ530aの部分534aから承継した部分534bの一部(承継部分)であり、残りの1800バイトは、有版データ530bで新たに追加された部分535b(非承継部分)である。
有版データ530cの8400バイト目から11399バイト目までの3000バイトの部分533c(非含有部分)のデータは、有版データ530bのなかに一致する部分がなく、有版データ530cで新たに追加されたデータである。
The plate data 530c is 14200 bytes in total.
The data of the 4000-byte portion 531c (containing portion) from the 0th byte (first) to the 3999th byte of the plate data 530c is 4000 bytes from the 0th byte (first) to the 3999th byte of the plate data 530b. It is the same as the data in the portion 541b (copying portion). Among them, the first 3200 bytes are a part 531b (succession part) inherited from the part 531a of the plate data 530a, and the remaining 800 bytes are a part of the part 532b newly added to the plate data 530b (non-particulate). Inherited part).
The 4400-byte portion 532c (containing portion) of the plate data 530c from the 4000th byte to the 8399th byte is the 4400-byte portion 543b (copy portion) of the plate data 530b from the 5200th byte to the 9599th byte. The same data as Among them, the first 3800 bytes are a part (succession part) of the part 533b inherited from the part 532a of the plate data 530a, and the remaining 600 bytes are one part of the part 534b succeeded from the part 534a of the plate data 530a. Part (non-inherited part).
The 2800-byte portion 534c (included portion) data from the 11400th byte to the 14199th byte (last) of the plate data 530c is 2800 bytes from the 10600th byte to the 13399th byte (last) of the plate data 530b. It is the same as the data in the portion 545b (copy portion). Among them, the first 1000 bytes are a part (successive part) of the part 534b inherited from the part 534a of the plate data 530a, and the remaining 1800 bytes are a part 535b (non-transferred) newly added in the plate data 530b. Inherited part).
The 3000-byte portion 533c (non-contained portion) data from the 8400th byte to the 11399th byte of the plate data 530c has no matching portion in the plate data 530b, and is newly added as the plate data 530c. Data.

図15は、この実施の形態における2つの有版データ530a,530cの関係の一例を示す図である。
有版データ530aは、差分データ520cを適用する適用前の版の有版データである。有版データ530cは、差分データ520cを適用した結果として生成される適用後の版の有版データである。差分データ520と差分データ520bとを合成した差分データ520cを有版データ530aに適用することにより、1回の適用で、有版データ530cを生成することができる。
有版データ530cの0バイト目(最初)から3199バイト目までの3200バイトの部分541cのデータは、有版データ530aの0バイト目(最初)から3199バイト目までの3200バイトの部分541aのデータと同一である。有版データ530cの4000バイト目から7799バイト目までの3800バイトの部分543cのデータは、有版データ530aの4000バイト目から7799バイト目までの部分543aのデータと同一である。有版データ530cの7800バイト目から8399バイト目までの600バイトの部分544cのデータは、有版データ530aの10200バイト目から10799バイト目までの600バイトの部分545aのデータと同一である。有版データ530cの11400バイト目から12399バイト目までの1000バイトの部分546cのデータは、有版データ530aの11800バイト目から12799バイト目(最後)までの1000バイトの部分547aのデータと同一である。有版データ530cのそれ以外の部分542c,545c,547cのデータは、有版データ530cで新たに追加されたデータである。
FIG. 15 is a diagram showing an example of the relationship between the two plate data 530a and 530c in this embodiment.
The plate data 530a is plate data of a version before application to which the difference data 520c is applied. The plate data 530c is plate data of an applied version generated as a result of applying the difference data 520c. By applying the difference data 520c obtained by combining the difference data 520 and the difference data 520b to the plate data 530a, the plate data 530c can be generated by a single application.
The data of the 3200-byte portion 541c from the 0th byte (first) to the 3199th byte of the plate data 530c is the data of the 3200-byte portion 541a from the 0th byte (first) to the 3199th byte of the plate data 530a. Is the same. The data in the portion 543c of 3800 bytes from the 4000th byte to the 7799th byte of the plate data 530c is the same as the data in the portion 543a from the 4000th byte to the 7799th byte of the plate data 530a. The 600-byte portion 544c data from the 7800th byte to the 8399th byte of the plate data 530c is the same as the 600-byte portion 545a data from the 10200th byte to the 10799th byte of the plate data 530a. The data of the 1000-byte portion 546c from the 11400th byte to the 12399th byte of the plate data 530c is the same as the data of the 1000-byte portion 547a from the 11800th byte to the 12799th byte (last) of the plate data 530a. is there. The data of the other portions 542c, 545c, and 547c of the plate data 530c is data newly added in the plate data 530c.

このように、差分合成部133および差分合成部224は、差分データを解釈することにより、データの承継関係を辿り、有版データの第一の版まで辿ることのできるデータは複写コマンドを使用して記述し、それ以外のデータは追加コマンドを使用して記述する。これにより、有版データを使わずに差分データを合成することができるとともに、複数の差分データを合成してデータ量の小さい差分データを生成することができる。   In this way, the difference synthesizer 133 and the difference synthesizer 224 interpret the difference data to follow the succession relationship of the data, and the copy command is used for data that can be traced to the first version of the plate data. Describe other data using additional commands. Thereby, difference data can be combined without using plate data, and a plurality of difference data can be combined to generate difference data with a small data amount.

図16は、この実施の形態における配布判定処理S710の流れの一例を示すフローチャート図である。
配布判定処理S710において、配布判定部132は、要求取得部131が取得した差分要求メッセージに基づいて、配布すべき差分データを判定する。
配布判定処理S710は、更新版判定工程S711、適用版記憶工程S713、判定済記憶工程S715、差分版選択工程S721、適用判定工程S723、生成版算出工程S725、判定済判定工程S727、生成版記憶工程S729、配布判定工程S731、拒否判定工程S735を有する。
FIG. 16 is a flowchart showing an example of the flow of the distribution determination process S710 in this embodiment.
In the distribution determination process S710, the distribution determination unit 132 determines difference data to be distributed based on the difference request message acquired by the request acquisition unit 131.
The distribution determination process S710 includes an update version determination step S711, an applied version storage step S713, a determined storage step S715, a difference version selection step S721, an application determination step S723, a generated version calculation step S725, a determined determination step S727, and a generated version storage. It has process S729, distribution determination process S731, and refusal determination process S735.

更新版判定工程S711において、配布判定部132は、CPU911を用いて、要求取得部131が取得した差分要求メッセージから、現版コードと更新版コードとを取得する。配布判定部132は、RAM914を用いて、取得した現版コードを、端末装置200が生成可能な版を表わす版コード(以下「生成版コード」と呼ぶ。)として記憶する。端末装置200は、現版コードが表わす版の有版データを所持している。その有版データに、端末装置200が現在所持している差分データや配布装置100が配布した差分データを適用すれば、異なる版の有版データを生成できる。配布判定部132は、このように、端末装置200が現に所持している版や生成可能な版の有版データに適用可能な差分データを辿ることにより、端末装置200が生成可能な版の有版データを判定し、更新版コードが表わす版にたどり着く道のりを検索する。
配布判定部132は、CPU911を用いて、記憶した生成版コードのなかに、取得した更新版コードと一致するものがあるかを判定する。
生成版コードのなかに更新版コードと一致するものがある場合、更新版コードが表わす版にたどり着く道のりが見つかったことを意味する。配布判定部132は、配布判定工程S731へ進む。
生成版コードのなかに更新版コードと一致するものがない場合、生成版コードが表わす版を出発点にして、差分データを適用することにより生成できる版を辿っていく。配布判定部132は、適用版記憶工程S713へ進む。
In the update version determination step S <b> 711, the distribution determination unit 132 uses the CPU 911 to acquire the current version code and the update version code from the difference request message acquired by the request acquisition unit 131. Using the RAM 914, the distribution determination unit 132 stores the acquired current version code as a version code (hereinafter referred to as “generated version code”) representing a version that can be generated by the terminal device 200. The terminal device 200 has version data of the version represented by the current version code. If the difference data currently owned by the terminal device 200 or the difference data distributed by the distribution device 100 is applied to the plate data, plate data of different versions can be generated. In this way, the distribution determination unit 132 traces the difference data that can be applied to the version data that the terminal device 200 currently possesses and the version data that can be generated, thereby having the version that the terminal device 200 can generate. The version data is determined, and the path to the version represented by the updated version code is searched.
The distribution determination unit 132 uses the CPU 911 to determine whether any stored generated version code matches the acquired updated version code.
If any of the generated code matches the updated code, it means that the way to the version represented by the updated code has been found. The distribution determination unit 132 proceeds to the distribution determination step S731.
If none of the generated version codes matches the updated version code, the version represented by the generated version code is used as a starting point to trace the version that can be generated by applying the difference data. The distribution determination unit 132 proceeds to the application version storage step S713.

適用版記憶工程S713において、配布判定部132は、RAM914を用いて、記憶した生成版コードを、差分データを適用する適用前の版を表わす適用版コードとして記憶する。
記憶した生成版コードがない場合、更新版コードが表わす版への道のりをそれ以上辿れないことを意味する。配布判定部132は、拒否判定工程S735へ進む。
記憶した生成版コードがある場合、今度はそれを出発点にして道のりを辿っていく。配布判定部132は、記憶した生成版コードを初期化して消去する。配布判定部132は、判定済記憶工程S715へ進む。
In the applied version storing step S713, the distribution determining unit 132 uses the RAM 914 to store the stored generated version code as an applied version code representing a version before application to which the difference data is applied.
If there is no stored generated version code, this means that the path to the version represented by the updated version code cannot be followed any further. The distribution determination unit 132 proceeds to the rejection determination step S735.
If you have a memorized version of the code, this time it will start from that point. The distribution determination unit 132 initializes and erases the stored generated version code. The distribution determination unit 132 proceeds to the determined storage process S715.

判定済記憶工程S715において、配布判定部132は、RAM914を用いて、適用版記憶工程S713で記憶した適用版コードを、判定したことのある版を表わす判定済コードとして記憶する。これは、既に出発点にしたことのある版を再び出発点にすると無限の繰り返しになってしまうので、それを防ぐためである。   In the determined storage step S715, the distribution determining unit 132 uses the RAM 914 to store the applied version code stored in the applied version storing step S713 as a determined code representing a version that has been determined. This is to prevent a version that has already been used as a starting point from being repeated indefinitely, so that it is infinitely repeated.

差分版選択工程S721において、配布判定部132は、CPU911を用いて、差分版記憶部125が記憶した差分版コードと、要求取得部131が取得した差分要求メッセージに含まれる端末装置200が所持している差分データを表わす差分版コードとの和集合のなかから、差分版コードを1つ選択する。配布判定部132は、差分版コードを1つずつ順に選択して、処理していく。
未処理の差分版コードがない場合、配布判定部132は、更新版判定工程S711に戻り、生成版コードのなかに更新版コードがあるかを判定する。
未処理の差分版コードを選択した場合、配布判定部132は、適用判定工程S723へ進む。
In the difference version selection step S721, the distribution determination unit 132 uses the CPU 911 to be owned by the terminal device 200 included in the difference version code stored in the difference version storage unit 125 and the difference request message acquired by the request acquisition unit 131. One differential version code is selected from the union with the differential version code representing the difference data. The distribution determination unit 132 sequentially selects and processes the differential version codes one by one.
When there is no unprocessed difference version code, the distribution determination unit 132 returns to the update version determination step S711 and determines whether there is an update version code in the generated version code.
When an unprocessed difference code is selected, the distribution determination unit 132 proceeds to the application determination step S723.

適用判定工程S723において、配布判定部132は、CPU911を用いて、差分版選択工程S721で選択した差分版コードに基づいて、その差分版コードに対応する差分データが、記憶した適用版コードが表わすいずれかの版の有版データに適用できるか否かを判定する。
選択した差分版コードに対応する差分データが、記憶した適用版コードが表わすいずれかの版の有版データに適用できると判定した場合、配布判定部132は、生成版算出工程S725へ進む。
選択した差分版コードに対応する差分データが、記憶した適用版コードが表わすいずれの版の有版データにも適用できないと判定した場合、配布判定部132は、差分版選択工程S721に戻り、次の差分版データを選択する。
In the application determination step S723, the distribution determination unit 132 uses the CPU 911, based on the difference version code selected in the difference version selection step S721, the difference data corresponding to the difference version code is represented by the stored application version code. It is determined whether or not the data can be applied to any version of the plate data.
When it is determined that the difference data corresponding to the selected difference version code can be applied to any version of the plate data represented by the stored application version code, the distribution determination unit 132 proceeds to the generation version calculation step S725.
When it is determined that the difference data corresponding to the selected difference version code cannot be applied to any version of the plate data represented by the stored application version code, the distribution determination unit 132 returns to the difference version selection step S721, and next Select the difference data.

生成版算出工程S725において、配布判定部132は、CPU911を用いて、差分版選択工程S721で選択した差分版コードに基づいて、その差分版コードに対応する差分データを有版データに適用することにより生成できる有版データの版を算出する。   In the generation version calculation step S725, the distribution determination unit 132 uses the CPU 911 to apply the difference data corresponding to the difference version code to the version data based on the difference version code selected in the difference version selection step S721. The version of the plate data that can be generated by the above is calculated.

判定済判定工程S727において、配布判定部132は、CPU911を用いて、記憶した判定済コードのなかに、生成版算出工程S725で算出した版を表わす版コードがあるかを判定する。
記憶した判定済コードのなかに、生成版算出工程S725で算出した版を表わす版コードがあると判定した場合、配布判定部132は、差分版選択工程S721に戻り、次の差分版データを選択する。
記憶した判定済コードのなかに、生成版算出工程S725で算出した版を表わす版コードがないと判定した場合、配布判定部132は、生成版記憶工程S729へ進む。
In the determination completion determination step S727, the distribution determination unit 132 uses the CPU 911 to determine whether the stored determination completion code includes a version code representing the version calculated in the generation version calculation step S725.
If it is determined that there is a version code representing the version calculated in the generated version calculation step S725 in the stored determined code, the distribution determination unit 132 returns to the difference version selection step S721 and selects the next difference version data. To do.
If it is determined that there is no version code representing the version calculated in the generated version calculating step S725 in the stored determined code, the distribution determining unit 132 proceeds to the generated version storing step S729.

生成版記憶工程S729において、配布判定部132は、CPU911を用いて、生成版算出工程S725で算出した版を表わす版コードを、生成版コードとして記憶する。
その後、配布判定部132は、差分版選択工程S721に戻り、次の差分版データを選択する。
In the generated version storing step S729, the distribution determining unit 132 stores the version code representing the version calculated in the generated version calculating step S725 using the CPU 911 as a generated version code.
Thereafter, the distribution determination unit 132 returns to the differential version selection step S721 and selects the next differential version data.

配布判定工程S731において、配布判定部132は、CPU911を用いて、更新版判定工程S711〜生成版記憶工程S729で辿った道のりに基づいて、端末装置200に配布すべき差分データを判定する。
その後、配布判定部132は、配布判定処理S710を終了する。
In the distribution determination step S731, the distribution determination unit 132 uses the CPU 911 to determine difference data to be distributed to the terminal device 200 based on the path followed in the update version determination step S711 to the generation version storage step S729.
Thereafter, the distribution determination unit 132 ends the distribution determination process S710.

拒否判定工程S735において、配布判定部132は、CPU911を用いて、差分記憶部115が記憶している差分データを端末装置200に配布しても、更新版コードが表わす版の有版データを生成できないので、端末装置200からの要求を拒否すべきと判定する。配布判定部132の判定結果は、例えば、差分要求メッセージに対する応答として、端末装置200に対して送信する構成であってもよい。あるいは、表示装置901を用いて、配布判定部132の判定結果を表示し、配布装置100の管理者に対処を促す構成であってもよい。   In the refusal determination step S735, the distribution determination unit 132 uses the CPU 911 to generate plate data of the version represented by the updated version code even if the difference data stored in the difference storage unit 115 is distributed to the terminal device 200. Since the request cannot be made, it is determined that the request from the terminal device 200 should be rejected. The determination result of the distribution determination unit 132 may be transmitted to the terminal device 200 as a response to the difference request message, for example. Alternatively, the display device 901 may be used to display the determination result of the distribution determination unit 132 and prompt the administrator of the distribution device 100 to take a countermeasure.

図17は、この実施の形態における適用判定処理S740の流れの一例を示すフローチャート図である。
適用判定処理S740において、適用判定部240は、差分記憶部222が記憶した差分データを、有版データ更新部212が記憶した版の有版データに適用することにより、更新版コードが表わす版の有版データを生成できるかを判定する。
適用判定処理S740は、更新版判定工程S741、適用版記憶工程S743、判定済記憶工程S745、差分版選択工程S751、適用判定工程S753、生成版算出工程S755、判定済判定工程S757、生成版記憶工程S759、適用判定工程S761、差分取得工程S767を有する。
このうち、更新版判定工程S741〜生成版記憶工程S759の処理は、配布判定処理S710の更新版判定工程S711〜生成版記憶工程S729の処理と基本的に同じなので、簡単に説明する。
FIG. 17 is a flowchart showing an example of the flow of the application determination process S740 in this embodiment.
In the application determination process S740, the application determination unit 240 applies the difference data stored in the difference storage unit 222 to the version of the plate data stored in the plate data update unit 212, so that the version of the version represented by the updated version code is displayed. Determine whether plate data can be generated.
The application determination process S740 includes an updated version determination step S741, an applied version storage step S743, a determined storage step S745, a difference version selection step S751, an application determination step S753, a generation version calculation step S755, a determined version determination step S757, and a generation version storage. It has process S759, application determination process S761, and difference acquisition process S767.
Among these, the processing of the update version determination step S741 to the generation version storage step S759 is basically the same as the processing of the update version determination step S711 to the generation version storage step S729 of the distribution determination processing S710, and thus will be described briefly.

更新版判定工程S741において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、現版コード記憶部213が記憶した現版コードと、更新版取得部231が取得した更新版コードとを取得する。単独適用判定部241(または合成適用判定部242)は、RAM914を用いて、現版コードを生成版コードとして記憶する。
単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、生成版コードのなかに更新版コードと一致するものがあるかを判定する。
生成版コードのなかに更新版コードと一致するものがあると判定した場合、適用判定工程S761へ進む。
生成版コードのなかに更新版コードと一致するものがないと判定した場合、適用版記憶工程S743へ進む。
In the update version determination step S741, the single application determination unit 241 (or the composition application determination unit 242) uses the CPU 911 to update the current version code stored in the current version code storage unit 213 and the update acquired by the update version acquisition unit 231. Get the version code. The single application determining unit 241 (or the combined application determining unit 242) uses the RAM 914 to store the current version code as a generated version code.
The single application determination unit 241 (or the composite application determination unit 242) uses the CPU 911 to determine whether any of the generated version codes matches the updated version code.
If it is determined that the generated version code matches the updated version code, the process proceeds to the application determination step S761.
If it is determined that no generated version code matches the updated version code, the process proceeds to an applied version storage step S743.

適用版記憶工程S743において、単独適用判定部241(または合成適用判定部242)は、RAM914を用いて、生成版コードを適用版コードとして記憶する。
生成版コードがない場合、差分要求工程S765へ進む。
生成版コードがある場合、判定済記憶工程S745へ進む。
In the applied version storing step S743, the single application determining unit 241 (or the combined application determining unit 242) uses the RAM 914 to store the generated version code as an applied version code.
If there is no generated version code, the process proceeds to the difference request step S765.
If there is a generated version code, the process proceeds to the determined storage step S745.

判定済記憶工程S745において、単独適用判定部241(または合成適用判定部242)は、RAM914を用いて、適用版コードを判定済コードとして記憶する。   In the determined storage step S745, the single application determination unit 241 (or the combined application determination unit 242) uses the RAM 914 to store the application version code as the determined code.

差分版選択工程S751において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、差分版記憶部223が記憶した差分版コードのなかから、差分版コードを1つ選択する。
未処理の差分版コードがない場合、更新版判定工程S741に戻り、生成版コードのなかに更新版コードがあるかを判定する。
未処理の差分版コードを選択した場合、適用判定工程S753へ進む。
In the difference version selection step S751, the single application determination unit 241 (or the composition application determination unit 242) uses the CPU 911 to select one difference version code from the difference version codes stored in the difference version storage unit 223. .
If there is no unprocessed difference version code, the process returns to the update version determination step S741 to determine whether there is an update version code in the generated version code.
If an unprocessed difference code is selected, the process proceeds to the application determination step S753.

適用判定工程S753において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、差分版選択工程S751で選択した差分版コードに対応する差分データが、適用版コードが表わす版の有版データに適用できるか否かを判定する。
適用できると判定した場合、生成版算出工程S755へ進む。
適用できないと判定した場合、差分版選択工程S751に戻り、次の差分版データを選択する。
In the application determination step S753, the single application determination unit 241 (or the composite application determination unit 242) uses the CPU 911 to display the difference data corresponding to the difference version code selected in the difference version selection step S751 as represented by the application version code. It is determined whether or not it can be applied to the version data.
If it is determined that it is applicable, the process proceeds to the generation version calculation step S755.
If it is determined that it cannot be applied, the process returns to the differential version selection step S751 to select the next differential version data.

生成版算出工程S755において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、差分版選択工程S751で選択した差分版コードの適用により生成できる有版データの版を算出する。   In the generation version calculation step S755, the single application determination unit 241 (or the composition application determination unit 242) uses the CPU 911 to calculate the version of the plate data that can be generated by applying the difference version code selected in the difference version selection step S751. To do.

判定済判定工程S757において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、判定済コードのなかに、生成版算出工程S755で算出した版を表わす版コードがあるか否かを判定する。
判定済コードのなかに算出した版を表わす版コードがあると判定した場合、差分版選択工程S751に戻り、次の差分版データを選択する。
判定済コードのなかに算出した版を表わす版コードがないと判定した場合、生成版記憶工程S759へ進む。
In the determined determination step S757, the single application determination unit 241 (or the combined application determination unit 242) uses the CPU 911 to determine whether there is a version code representing the version calculated in the generation version calculation step S755 in the determined code. Determine whether or not.
If it is determined that there is a version code representing the calculated version in the determined code, the process returns to the difference version selection step S751 to select the next difference version data.
If it is determined that there is no version code representing the calculated version in the determined code, the process proceeds to the generated version storage step S759.

生成版記憶工程S759において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、生成版算出工程S755で算出した版を表わす版コードを生成版コードとして記憶する。
その後、差分版選択工程S751に戻り、次の差分版データを選択する。
In the generated version storing step S759, the single application determining unit 241 (or the combined application determining unit 242) uses the CPU 911 to store the version code representing the version calculated in the generated version calculating step S755 as the generated version code.
Thereafter, the process returns to the differential version selection step S751, and the next differential version data is selected.

適用判定工程S761において、単独適用判定部241(または合成適用判定部242)は、CPU911を用いて、更新版判定工程S741〜生成版記憶工程S759で辿った道のりに基づいて、差分記憶部222が記憶した差分データのうちから、有版データ記憶部211が記憶した有版データに適用すべき差分データを判定する。
その後、適用判定処理S740を終了する。
In the application determination step S761, the single application determination unit 241 (or the combined application determination unit 242) uses the CPU 911 to determine whether the difference storage unit 222 uses the path followed in the update version determination step S741 to the generation version storage step S759. The difference data to be applied to the plate data stored in the plate data storage unit 211 is determined from the stored difference data.
Thereafter, the application determination process S740 ends.

差分要求工程S765において、差分要求部243は、CPU911を用いて、配布装置100に対して差分データの配布を要求する差分要求メッセージを生成する。差分要求部243は、CPU911を用いて、生成した差分要求メッセージを配布装置100に対して通知する。
通知した差分要求メッセージに対する応答として、配布装置100から差分データが配布されてきた場合は、差分取得工程S767へ進む。
通知した差分要求メッセージが拒否された場合は、適用判定処理S740を終了する。
In the difference request step S765, the difference request unit 243 uses the CPU 911 to generate a difference request message for requesting the distribution apparatus 100 to distribute difference data. The difference request unit 243 uses the CPU 911 to notify the distribution apparatus 100 of the generated difference request message.
If difference data has been distributed from the distribution apparatus 100 as a response to the notified difference request message, the process proceeds to a difference acquisition step S767.
If the notified difference request message is rejected, the application determination process S740 ends.

差分取得工程S767において、差分取得部221は、CPU911を用いて、配布装置100から配布された差分データを取得する。差分記憶部222は、HDD920を用いて、差分取得部221が取得した差分データを記憶する。差分版記憶部223は、HDD920を用いて、差分取得部221が取得した差分データに対応する差分版コードを記憶する。
その後、更新版判定工程S741に戻り、適用判定処理S740を最初からやり直す。
In the difference acquisition step S767, the difference acquisition unit 221 uses the CPU 911 to acquire the difference data distributed from the distribution apparatus 100. The difference storage unit 222 stores the difference data acquired by the difference acquisition unit 221 using the HDD 920. The difference version storage unit 223 uses the HDD 920 to store a difference version code corresponding to the difference data acquired by the difference acquisition unit 221.
Then, it returns to update version determination process S741, and repeats application determination process S740 from the beginning.

図18は、この実施の形態における差分データ520d〜520kと有版データ530d〜530iとの関係の一例を示す模式図である。
この図において、有版データ530d〜530iは、丸で示し、差分データ520d〜520kは、矢印で示している。矢印の根元は、その差分データを適用できる有版データを示し、矢印の先は、その差分データを適用した結果として生成される有版データを示す。例えば、差分データ520dは、有版データ530dに適用できる差分データであり、有版データ530dに適用した結果、有版データ530eを生成することができる差分データである。
FIG. 18 is a schematic diagram showing an example of the relationship between the difference data 520d to 520k and the plate data 530d to 530i in this embodiment.
In this figure, the plate data 530d to 530i are indicated by circles, and the difference data 520d to 520k are indicated by arrows. The root of the arrow indicates the plate data to which the difference data can be applied, and the tip of the arrow indicates the plate data generated as a result of applying the difference data. For example, the difference data 520d is difference data that can be applied to the plate data 530d, and is the difference data that can generate the plate data 530e as a result of being applied to the plate data 530d.

差分記憶部222は、8つの差分データ520d〜520kを記憶しているものとする。これに対応して、差分版記憶部223は、8つの差分版コードを記憶している。有版データ記憶部211は、有版データ530dを記憶しているものとする。利用者は、有版データ530iを取得したいものとする。
以下、図17に示したフローチャートを参照しつつ、適用判定部240の動作の具体例を説明する。
It is assumed that the difference storage unit 222 stores eight difference data 520d to 520k. Correspondingly, the difference version storage unit 223 stores eight difference version codes. It is assumed that the plate data storage unit 211 stores plate data 530d. It is assumed that the user wants to acquire the plate data 530i.
Hereinafter, a specific example of the operation of the application determination unit 240 will be described with reference to the flowchart shown in FIG.

更新版判定工程S741において、単独適用判定部241は、有版データ530dの版を表わす現版コードと、有版データ530iの版を表わす更新版コードとを取得する。単独適用判定部241は、有版データ530dの版を表わす現版コードを生成版コードとして記憶する。
記憶した生成版コードのなかに更新版コードがないので、適用版記憶工程S743へ進み、単独適用判定部241は、記憶した生成版コードを適用版コードとして記憶する。これにより、単独適用判定部241は、適用版コードとして、有版データ530dの版を表わす版コードを記憶する。
生成版コードがあったので、判定済記憶工程S745へ進み、単独適用判定部241は、記憶した適用版コードを判定済コードとして記憶する。これにより、単独適用判定部241は、適用版コードとして、有版データ530dの版を表わす版コードを記憶する。
In the update version determination step S741, the single application determination unit 241 acquires a current version code representing the version of the version data 530d and an update version code representing the version of the version data 530i. The single application determination unit 241 stores the current version code representing the version of the plate-version data 530d as a generated version code.
Since there is no updated version code in the stored generated version code, the process proceeds to the applied version storing step S743, and the single application determining unit 241 stores the stored generated version code as the applied version code. As a result, the single application determination unit 241 stores a version code representing the version of the plate data 530d as the application version code.
Since the generated version code exists, the process proceeds to the determined storage step S745, and the single application determination unit 241 stores the stored applied version code as the determined code. As a result, the single application determination unit 241 stores a version code representing the version of the plate data 530d as the application version code.

差分版選択工程S751において、単独適用判定部241は、差分版記憶部223が記憶した8つの差分版コードのなかから差分版コードを1つ選択する。例えば、単独適用判定部241は、差分データ520dに対応する差分版コードを選択する。
適用判定工程S753において、差分データ520dは有版データ530dに適用できるので、生成版算出工程S755へ進み、単独適用判定部241は、差分データ520dを有版データ530dに適用した結果として生成される有版データが有版データ530eであることを算出する。
判定済判定工程S757において、判定済コードのなかに有版データ530eの版を表わす版コードがないので、生成版記憶工程S759へ進み、単独適用判定部241は、有版データ530eの版を表わす版コードを生成版コードとして記憶する。
In the differential version selection step S751, the single application determination unit 241 selects one differential version code from among the 8 differential version codes stored in the differential version storage unit 223. For example, the single application determination unit 241 selects a difference version code corresponding to the difference data 520d.
In the application determination step S753, since the difference data 520d can be applied to the plate data 530d, the process proceeds to the generation plate calculation step S755, and the single application determination unit 241 is generated as a result of applying the difference data 520d to the plate data 530d. It is calculated that the plate data is the plate data 530e.
In the determined determination step S757, since there is no version code representing the version of the plate data 530e in the determined code, the process proceeds to the generation version storage step S759, and the single application determination unit 241 indicates the version of the plate data 530e. The version code is stored as a generated version code.

差分版選択工程S751に戻り、単独適用判定部241は、未処理の7つの差分版コードのなかから、次の差分版コードを選択する。例えば、単独適用判定部241は、差分データ520eに対応する差分版コードを選択する。
適用判定工程S753において、差分データ520eは有版データ530dに適用できないので、差分版選択工程S751に戻る。
Returning to the difference version selection step S751, the single application determining unit 241 selects the next difference version code from among the seven unprocessed difference version codes. For example, the single application determination unit 241 selects a difference version code corresponding to the difference data 520e.
In the application determination step S753, the difference data 520e cannot be applied to the plate data 530d, and the process returns to the difference version selection step S751.

単独適用判定部241は、未処理の6つの差分版コードのなかから、次の差分版コードを選択する。例えば、単独適用判定部241は、差分データ520fに対応する差分版コードを選択する。
差分データ520fは有版データ530dに適用できるので、単独適用判定部241は、適用の結果得られる有版データが有版データ530gであることを算出する。判定済コードのなかに有版データ530gの版を表わす版データがないので、単独適用判定部241は、有版データ530gの版を表わす版コードを生成版コードとして記憶する。これにより、単独適用判定部241は、生成版コードとして、有版データ530eの版を表わす版コードと、有版データ530gの版を表わす版コードとを記憶する。
The single application determination unit 241 selects the next differential code from the six unprocessed differential codes. For example, the single application determination unit 241 selects a difference version code corresponding to the difference data 520f.
Since the difference data 520f can be applied to the plate data 530d, the single application determination unit 241 calculates that the plate data obtained as a result of the application is the plate data 530g. Since there is no version data representing the version of the plate data 530g in the determined code, the single application determination unit 241 stores the version code representing the version of the version data 530g as a generated version code. As a result, the single application determining unit 241 stores a version code representing the version of the version data 530e and a version code representing the version of the version data 530g as the generated version code.

差分版選択工程S751に戻り、単独適用判定部241は、未処理の5つの差分版コードのなかから、次の差分版コードを選択する。残りの差分版コードに対応する差分データ520g〜520kはいずれも有版データ530dに適用できないので、適用判定工程S753で差分版選択工程S751に戻される。
未処理の差分版コードがなくなると、更新版判定工程S741に戻り、単独適用判定部241は、記憶した生成版コードのなかに更新版コードがあるか否かを判定する。単独適用判定部241が記憶した生成版コードが表わす版の有版データは、有版データ530e及び有版データ530gなので、有版データ530iの版を表わす更新版コードと一致する生成版コードはない。そのため、適用版記憶工程S743へ進む。
Returning to the difference version selection step S751, the single application determination unit 241 selects the next difference version code from among the five unprocessed difference version codes. Since any of the difference data 520g to 520k corresponding to the remaining difference version codes cannot be applied to the plate data 530d, the difference is selected and returned to the difference version selection step S751 in the application determination step S753.
When there is no unprocessed difference version code, the process returns to the update version determination step S741, and the single application determination unit 241 determines whether there is an update version code in the stored generation version code. Since the version data represented by the generated version code stored by the single application determination unit 241 is the version data 530e and the version data 530g, there is no generated version code that matches the updated version code representing the version of the version data 530i. . Therefore, the process proceeds to the application version storage step S743.

適用版記憶工程S743において、合成適用判定部242は、単独適用判定部241が記憶した生成版コードを適用版コードとして記憶する。合成適用判定部242が記憶した適用版コードが表わす版の有版データは、有版データ530e及び有版データ530gである。
判定済記憶工程S745において、合成適用判定部242は、記憶した適用版コードを単独適用判定部241が記憶した判定済コードと合わせて、判定済コードとして記憶する。合成適用判定部242が記憶した判定済コードが表わす版の有版データは、有版データ530d,530e,530gの3つである。
In the applied version storing step S743, the composite application determining unit 242 stores the generated version code stored by the single application determining unit 241 as the applied version code. The version data of the version represented by the applied version code stored by the composition application determination unit 242 is the version data 530e and the version data 530g.
In the determined storage step S745, the composition application determination unit 242 stores the stored application version code together with the determined code stored by the single application determination unit 241 as a determined code. The plate data represented by the determined code stored by the composition application determination unit 242 is three plate data 530d, 530e, and 530g.

差分版選択工程S751において、合成適用判定部242は、差分版記憶部223が記憶した差分版コードのなかから、差分版コードを1つ選択する。
例えば、合成適用判定部242が、差分データ520dに対応する差分版データを選択した場合、差分データ520dは有版データ530eにも有版データ530gにも適用できないので、差分版選択工程S751に戻る。
合成適用判定部242が、差分データ520eに対応する差分版データを選択した場合、差分データ520eは有版データ530eに適用できるので、合成適用判定部242は、有版データ530fが生成できることを算出し、有版データ530fは判定済でないので、有版データ530fの版を表わす版コードを生成版コードとして記憶する。
合成適用判定部242が、差分データ520gに対応する差分版データを選択した場合、差分データ520gは有版データ530eに適用できる。合成適用判定部242は、有版データ530gを生成できることを算出するが、有版データ530gは判定済なので、差分版選択工程S751に戻る。
このようにして、差分版記憶部223が記憶したすべての差分版コードについての処理が終わると、合成適用判定部242は、生成版コードとして、有版データ530fの版を表わす版コードと、有版データ530hの版を表わす版コードとを記憶している。
In the difference version selection step S751, the composition application determination unit 242 selects one difference version code from the difference version codes stored in the difference version storage unit 223.
For example, when the composition application determination unit 242 selects the difference version data corresponding to the difference data 520d, the difference data 520d cannot be applied to the version data 530e or the version data 530g, so the process returns to the difference version selection step S751. .
When the composition application determination unit 242 selects the difference version data corresponding to the difference data 520e, the composition application determination unit 242 calculates that the version data 530f can be generated because the difference data 520e can be applied to the version data 530e. Since the version data 530f has not been determined, the version code representing the version of the version data 530f is stored as a generated version code.
When the composition application determination unit 242 selects the difference version data corresponding to the difference data 520g, the difference data 520g can be applied to the version data 530e. The composition application determination unit 242 calculates that the plate data 530g can be generated, but since the plate data 530g has already been determined, the process returns to the differential version selection step S751.
When the processing for all the difference version codes stored in the difference version storage unit 223 is completed in this way, the composition application determination unit 242 generates a version code representing the version of the version data 530f as a generated version code, A version code representing the version of the version data 530h is stored.

更新版判定工程S741に戻り、生成版コードのなかに更新版コードと一致するものがないので、合成適用判定部242は、生成版コードを適用版コードとして記憶し、適用版コードを判定済コードとして記憶する。合成適用判定部242が記憶した適用版コードが表わす版の有版データは、有版データ530f,530hの2つになる。また、合成適用判定部242が記憶した判定済コードが表わす版の有版データは、有版データ530d〜530hの5つになる。   Returning to the update version determination step S741, since no generated version code matches the updated version code, the composition application determination unit 242 stores the generated version code as the applied version code, and determines the applied version code as the determined code. Remember as. The version data of the version represented by the applied version code stored by the composition application determination unit 242 is two versions of the version data 530f and 530h. In addition, the version data of the version represented by the determined code stored by the composition application determination unit 242 is five version data 530d to 530h.

差分版選択工程S751において、合成適用判定部242は、差分版記憶部223が記憶した差分版コードのなかから、差分版コードを1つ選択する。
差分データ520h,520k以外は、有版データ530fにも有版データ530hにも適用できない。また、差分データ520hを適用した結果として生成できる有版データ530hは判定済である。したがって、合成適用判定部242が差分データ520k以外に対応する差分版コードを選択した場合は、差分版選択工程S751に戻り、差分データ520kに対応する差分版コードを選択した場合、合成適用判定部242は、生成版コードとして、有版データ530iの版を表わす版コードを記憶する。
このようにして、差分版記憶部223が記憶したすべての差分版コードについての処理が終わると、合成適用判定部242は、生成版コードとして、有版データ530iの版を表わす版コードを記憶する。
In the difference version selection step S751, the composition application determination unit 242 selects one difference version code from the difference version codes stored in the difference version storage unit 223.
The data other than the difference data 520h and 520k cannot be applied to the plate data 530f or the plate data 530h. The plate data 530h that can be generated as a result of applying the difference data 520h has already been determined. Therefore, when the composition application determination unit 242 selects a difference version code corresponding to other than the difference data 520k, the process returns to the difference version selection step S751, and when a difference version code corresponding to the difference data 520k is selected, the composition application determination unit The version code 242 stores a version code representing the version of the version data 530i as the generated version code.
In this way, when the processing for all the differential version codes stored in the differential version storage unit 223 is completed, the synthesis application determination unit 242 stores a version code representing the version of the version data 530i as the generated version code. .

更新版判定工程S741に戻り、生成版コードのなかに更新版コードと一致するものがあるので、適用判定工程S761へ進む。合成適用判定部242は、それまでの道のりを辿ることにより、3つの差分データ520f,520j,520kを順次適用すれば、有版データ530dから有版データ530iを生成できることを判定する。   Returning to the update version determination step S741, since some of the generated version codes match the update version code, the process proceeds to the application determination step S761. The composition application determination unit 242 determines that the plate data 530i can be generated from the plate data 530d by sequentially applying the three difference data 520f, 520j, and 520k by following the path up to that point.

以上のようにして、適用判定部240は、更新のために使用する差分データを判定する。   As described above, the application determination unit 240 determines the difference data used for updating.

適用判定部240が判定した3つの差分データ520f,520j,520kは順次適用するものなので、差分合成部224は、この3つの差分データ520f,520j,520kを合成して、1つの差分データを生成する。3以上の差分データを合成する場合、差分合成部224は、例えば、最初の2つの差分データを合成し、合成により生成した差分データと3つ目の差分データとを合成する。   Since the three difference data 520f, 520j, and 520k determined by the application determining unit 240 are sequentially applied, the difference combining unit 224 combines the three difference data 520f, 520j, and 520k to generate one difference data. To do. When combining three or more difference data, for example, the difference combining unit 224 combines the first two difference data, and combines the difference data generated by the combination with the third difference data.

もう一つの具体例として、差分記憶部222が差分データ520k以外の7つの差分データ520d〜520jを記憶していて、差分データ520kを記憶していなかったとする。   As another specific example, it is assumed that the difference storage unit 222 stores seven difference data 520d to 520j other than the difference data 520k and does not store the difference data 520k.

その場合、530iにたどり着く道のりは見つからず、合成適用判定部242は、生成版コードを記憶しないまま、差分版選択工程S751〜生成版記憶工程S759の繰り返しを抜ける。
生成版コードがないので、適用版記憶工程S743で差分要求工程S765へ進む。差分要求部243は、差分要求メッセージを生成し、配布装置100に対して通知する。
In this case, the route to reach 530i is not found, and the composition application determination unit 242 exits the repetition of the difference version selection step S751 to the generation version storage step S759 without storing the generation version code.
Since there is no generated version code, the process proceeds to the difference request step S765 in the applied version storage step S743. The difference request unit 243 generates a difference request message and notifies the distribution apparatus 100 of the difference request message.

通知した差分要求メッセージに対する応答として、配布装置100から配布される差分データは、差分データ520kかもしれないし、1回の適用で有版データ530dから有版データ530iを生成できる差分データかもしれない。どのような差分データが配布されるかは、配布装置100の差分記憶部115がどのような差分データを記憶しているかによって変わるので、端末装置200の側では予想できない。このため、端末装置200は、配布された差分データを追加して、適用判定処理S740を最初からやり直すことにより、適用すべき差分データを判定する。   As a response to the notified difference request message, the difference data distributed from the distribution apparatus 100 may be difference data 520k, or may be difference data that can generate the plate data 530i from the plate data 530d by one application. What kind of difference data is distributed varies depending on what kind of difference data is stored in the difference storage unit 115 of the distribution apparatus 100, and therefore cannot be predicted on the terminal device 200 side. Therefore, the terminal device 200 determines the difference data to be applied by adding the distributed difference data and restarting the application determination process S740 from the beginning.

この実施の形態における差分管理装置(配布装置100・端末装置200)は、3以上の版を有する有版データ530について、上記有版データ530の2つの版の間の差分を表わす差分データ520を管理する。
差分管理装置は、データを記憶する記憶装置(RAM914・HDD920など)と、データを処理する処理装置(CPU911)と、差分記憶部115,222と、差分合成部133,224とを有する。
上記差分記憶部115,222は、上記記憶装置を用いて、上記有版データの第一の版530aと第二の版530bとの間の差分を表わす第一の差分データ520と、上記有版データの第二の版530bと第三の版530cとの間の差分を表わす第二の差分データ520bとを記憶する。
上記差分合成部133,224は、上記処理装置を用いて、上記差分記憶部115,222が記憶した第一の差分データ520と第二の差分データ520bとを合成して、上記有版データの第一の版530aと第三の版530cとの間の差分を表わす第三の差分データ520cを生成する。
The difference management apparatus (distribution apparatus 100 / terminal apparatus 200) in this embodiment uses difference data 520 representing the difference between the two versions of the version data 530 for the version data 530 having three or more versions. to manage.
The difference management device includes a storage device (RAM 914, HDD 920, etc.) for storing data, a processing device (CPU 911) for processing data, difference storage units 115, 222, and difference composition units 133, 224.
The difference storage units 115 and 222 use the storage device to store the first difference data 520 representing the difference between the first version 530a and the second version 530b of the plate data, and the plate Second difference data 520b representing the difference between the second version 530b and the third version 530c of data is stored.
The difference synthesizers 133 and 224 synthesize the first difference data 520 and the second difference data 520b stored in the difference storage units 115 and 222 using the processing device, and Third difference data 520c representing a difference between the first version 530a and the third version 530c is generated.

これにより、配布すべきデータ量を削減できるとともに、有版データの版の数が多くても記憶すべき差分データの数が少なく、有版データを更新するため差分データを適用する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   As a result, the amount of data to be distributed can be reduced, and even when the number of versions of the plate data is large, the number of difference data to be stored is small, and processing is performed when applying the difference data to update the plate data. The load on the apparatus and the capacity of the work area required for the storage device can be reduced.

上記差分データ520は、上記有版データ530の更新前の版530a,530bを更新後の版530b,530cに更新するための更新コマンド521を表わす。
上記更新コマンド521は、複写コマンドと追加コマンドとのうち少なくともいずれかを含む。
上記複写コマンドは、上記有版データの更新後の版530b,530cのうち上記有版データの更新前の版530a,530bに同一の部分が存在する含有部分(一致部分・複写部分)について、上記有版データの更新前の版530a,530bのうち上記含有部分と同一の部分の位置(ソース524)を示し、上記同一の部分を上記含有部分に複写することを表わす。
上記追加コマンドは、上記有版データの更新後の版530b,530cのうち上記有版データの更新前の版530a,530bに同一の部分が存在しない非含有部分(不一致部分・追加部分)について、上記非含有部分と同一の追加データ(ソース524)を有し、上記追加データを上記非含有部分に追加することを表わす。
The difference data 520 represents an update command 521 for updating the pre-update versions 530a and 530b of the plate data 530 to the post-update versions 530b and 530c.
The update command 521 includes at least one of a copy command and an add command.
In the copy command, the above-mentioned version 530b, 530c of the version data is updated with respect to the contained part (matching part / copy part) in which the same part exists in the version 530a, 530b before the version data update. The position (source 524) of the same portion as the above-mentioned containing portion of the plates 530a and 530b before the update of the plate data is indicated, and this means that the same portion is copied to the containing portion.
The additional command is for non-containing parts (mismatched parts / additional parts) in which the same part does not exist in the versions 530a, 530b before the update of the plate data among the versions 530b, 530c after the update of the plate data. It has the same additional data (source 524) as the non-contained part, and represents that the additional data is added to the non-contained part.

これにより、差分データが表わす更新コマンドを解釈して実行するだけで、有版データの更新ができるので、有版データを更新するため差分データを適用する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   As a result, it is possible to update the plate data simply by interpreting and executing the update command represented by the difference data. Therefore, when applying the difference data to update the plate data, the load on the processing device and the storage The capacity of the work area required for the apparatus can be reduced.

上記差分合成部133,224は、上記処理装置を用いて、上記第二の差分データ520bが上記複写コマンドを含む場合、上記複写コマンドに基づいて、上記有版データの第二の版530bのうち上記含有部分に複写する部分を判定して複写部分とし、上記第一の差分データ520に基づいて、上記複写部分のうち上記有版データの第一の版530aに含まれる承継部分について、上記有版データの第一の版530aの一部を上記含有部分のうち上記承継部分に対応する部分に複写することを表わす複写コマンドを生成し、上記複写部分のうち上記有版データの第一の版530aに含まれない非承継部分について、上記第一の差分データ520に含まれる追加コマンドが有する追加データ(ソース524)を上記含有部分のうち上記非承継部分に対応する部分に追加することを表わす追加コマンドを生成し、上記第二の差分データ520bが追加コマンドを含む場合、上記追加コマンドに基づいて、上記追加コマンドが有する追加データ(ソース524)を上記非含有部分に追加することを表わす追加コマンドを生成することにより、上記第三の差分データ520cを生成する。   When the second difference data 520b includes the copy command, the difference synthesizers 133 and 224 use the processing device to determine whether the second version 530b of the plate data is based on the copy command. Based on the first difference data 520, the portion to be copied to the contained portion is determined, and the inherited portion included in the first version 530a of the plate data is included in the copy portion. A copy command is generated to copy a portion of the first version 530a of the plate data to the portion corresponding to the successor portion of the contained portion, and the first version of the plate data of the copy portion is generated. For the non-inherited portion not included in 530a, the additional data (source 524) included in the additional command included in the first differential data 520 is included in the non-inherited portion of the included portion. If the second differential data 520b includes an additional command, the additional command (source 524) included in the additional command is generated based on the additional command. The third difference data 520c is generated by generating an addition command representing addition to the non-containing portion.

これにより、有版データ530を使用せず、差分データ520の操作だけで差分データ520を合成することができるので、差分データを合成する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   As a result, the difference data 520 can be synthesized only by operating the difference data 520 without using the plate data 530. Therefore, when the difference data is synthesized, the load on the processing device and the storage device are necessary. The capacity of the work area can be reduced.

上記差分管理装置(端末装置200)は、更に、有版データ記憶部211と、有版データ更新部212とを有する。
上記有版データ記憶部211は、上記記憶装置を用いて、上記有版データ530の第一の版(現版データ)を記憶する。
上記有版データ更新部212は、上記処理装置を用いて、上記差分合成部224が生成した第三の差分データ520cに基づいて、上記有版データ記憶部211が記憶した有版データ530の第一の版(現版データ)を更新して、上記有版データ530の第三の版(更新版データ)を生成する。
The difference management device (terminal device 200) further includes a plate data storage unit 211 and a plate data update unit 212.
The plate data storage unit 211 stores a first version (current version data) of the plate data 530 using the storage device.
The plate data update unit 212 uses the processing device to determine the number of the plate data 530 stored in the plate data storage unit 211 based on the third difference data 520c generated by the difference synthesis unit 224. One version (current version data) is updated to generate a third version (updated version data) of the version data 530.

複数の差分データを順次適用して有版データを更新するのではなく、複数の差分データを合成して生成した1つの差分データを適用して有版データを更新するので、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   Rather than sequentially applying multiple pieces of difference data to update the plate data, the plate data is updated by applying one difference data generated by combining multiple pieces of difference data, so the load on the processing device In addition, the capacity of the work area required for the storage device can be reduced.

上記差分管理装置(端末装置200)は、更に、更新版取得部231と、単独適用判定部241と、合成適用判定部242とを有する。
上記更新版取得部231は、上記処理装置を用いて、上記有版データ記憶部211が記憶した有版データ(現版データ)を更新して生成する版を表わす更新版コードを取得する。
上記単独適用判定部241は、上記処理装置を用いて、上記差分記憶部222が記憶した差分データ520のなかに、上記有版データ記憶部211が記憶した有版データ(現版データ)を更新して上記更新版取得部231が取得した更新版コードが表わす版の有版データ(更新版データ)を生成できる単独適用差分データがあるか否かを判定する。
上記合成適用判定部242は、上記処理装置を用いて、上記差分記憶部222が記憶した差分データ520のなかに単独適用差分データがないと上記単独適用判定部241が判定した場合に、上記差分記憶部222が記憶した差分データ520のなかに、複数の差分データを合成することにより、上記単独適用差分データを生成することができる複数の合成適用差分データがあるか否かを判定する。
上記差分合成部224は、上記処理装置を用いて、上記差分記憶部222が記憶した差分データのなかに、上記複数の合成適用差分データがあると上記合成適用判定部242が判定した場合に、上記差分記憶部222が記憶した複数の合成適用差分データを合成して、上記単独適用差分データを生成する。
上記有版データ更新部212は、上記処理装置を用いて、上記差分記憶部222が記憶した差分データ520のなかに単独適用差分データがあると上記単独適用判定部241が判定した場合に、上記差分記憶部222が記憶した単独適用差分データに基づいて、上記有版データ記憶部211が記憶した有版データ(現版データ)を更新し、上記差分記憶部222が記憶した差分データ520のなかに、上記複数の合成適用差分データがあると上記合成適用判定部242が判定した場合に、上記差分合成部224が生成した単独適用差分データに基づいて、上記有版データ記憶部211が記憶した有版データ(現版データ)を更新する。
The difference management device (terminal device 200) further includes an update version acquisition unit 231, a single application determination unit 241, and a composite application determination unit 242.
The update version acquisition unit 231 acquires an update version code representing a version generated by updating the version data (current version data) stored in the version data storage unit 211 using the processing device.
The single application determination unit 241 updates the plate data (current version data) stored in the plate data storage unit 211 in the difference data 520 stored in the difference storage unit 222 using the processing device. Then, it is determined whether there is single application difference data that can generate version data (update data) of the version represented by the update code acquired by the update version acquisition unit 231.
When the single application determination unit 241 determines that the single application difference data is not included in the difference data 520 stored in the difference storage unit 222 using the processing device, the composite application determination unit 242 The difference data 520 stored in the storage unit 222 is combined with a plurality of difference data to determine whether or not there are a plurality of combined application difference data that can generate the single application difference data.
When the synthesis application determination unit 242 determines that the difference data stored in the difference storage unit 222 includes the plurality of synthesis application difference data, the difference synthesis unit 224 uses the processing device. A plurality of combined application difference data stored in the difference storage unit 222 are combined to generate the single application difference data.
When the single application determination unit 241 determines that there is single application difference data in the difference data 520 stored in the difference storage unit 222 using the processing device, the plate data update unit 212 Based on the single application difference data stored in the difference storage unit 222, the plate data (current version data) stored in the plate data storage unit 211 is updated, and the difference data 520 stored in the difference storage unit 222 is updated. When the composite application determination unit 242 determines that there are a plurality of composite application difference data, the plate data storage unit 211 stores the data based on the single application difference data generated by the difference composite unit 224. Update the version data (current version data).

1回の適用で更新が可能な差分データ(単独適用差分データ)を差分記憶部222が記憶していれば、それを利用し、合成により単独適用差分データを生成可能な差分データ(合成適用差分データ)を差分記憶部222が記憶していれば、差分合成部224がそれを合成して生成した単独適用差分データを利用して、有版データ更新部212が有版データを更新するので、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   If the difference storage unit 222 stores difference data that can be updated by one application (single application difference data), difference data that can be used to generate single application difference data by synthesis (composite application difference) Data) is stored in the difference storage unit 222, the version data update unit 212 updates the version data using the single application difference data generated by the difference synthesis unit 224 by combining the data. The load on the processing device and the capacity of the work area required for the storage device can be reduced.

上記差分管理装置(端末装置200)は、更に、差分要求部243と、差分取得部221とを有する。
上記差分要求部243は、上記処理装置を用いて、上記差分記憶部222が記憶した差分データのなかに、上記複数の合成適用差分データがないと上記合成適用判定部242が判定した場合に、上記単独適用差分データ、および、上記複数の合成適用差分データ、および、上記差分記憶部が記憶した差分データと合成することにより上記単独適用差分データを生成できる補充差分データのうち少なくともいずれかを要求する差分要求メッセージを差分配布装置(配布装置100)に対して通知する。
上記差分取得部221は、上記処理装置を用いて、上記差分要求部243が通知した差分要求メッセージに対する応答として上記差分配布装置が配布した差分データを取得する。
上記差分記憶部222は、上記記憶装置を用いて、上記差分取得部221が取得した差分データを記憶する。
The difference management device (terminal device 200) further includes a difference request unit 243 and a difference acquisition unit 221.
The difference request unit 243 uses the processing device when the combination application determination unit 242 determines that the plurality of combination application difference data is not included in the difference data stored in the difference storage unit 222. Requesting at least one of the single application difference data, the plurality of combined application difference data, and the supplemental difference data that can be generated by combining with the difference data stored in the difference storage unit The difference request message is notified to the difference distribution device (distribution device 100).
The difference acquisition unit 221 acquires the difference data distributed by the difference distribution device as a response to the difference request message notified by the difference request unit 243 using the processing device.
The difference storage unit 222 stores the difference data acquired by the difference acquisition unit 221 using the storage device.

更新に必要な差分データを差分記憶部222が記憶していない場合は、差分配布装置に対して差分データの配布を要求するので、更新に必要な差分データを取得することができる。取得した差分データが単独適用差分データであれば、それを利用して、有版データを更新できる。取得した差分データが複数の合成適用差分データであれば、差分合成部224がそれを合成して生成した単独適用差分データを利用して、有版データを更新できる。取得した差分データが補充差分データであれば、差分記憶部222が記憶した差分データと補充差分データとを差分合成部224が合成して生成した単独適用差分データを利用して、有版データを更新できる。いずれの場合も、差分配布装置から配布を受ける差分データのデータ量を削減できるとともに、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   If the difference storage unit 222 does not store the difference data necessary for the update, the difference distribution device is requested to distribute the difference data, so that the difference data necessary for the update can be acquired. If the acquired difference data is the single application difference data, the version data can be updated using the difference data. If the acquired difference data is a plurality of combined application difference data, the version data can be updated using the single application difference data generated by the difference combining unit 224 combining the difference data. If the acquired difference data is supplemental difference data, the version data is obtained by using the single application difference data generated by the difference synthesis unit 224 combining the difference data stored in the difference storage unit 222 and the supplemental difference data. Can be updated. In either case, the amount of differential data distributed from the differential distribution device can be reduced, and the load on the processing device and the capacity of the work area required for the storage device can be reduced.

上記差分管理装置(配布装置100)は、更に、要求取得部131と、差分通知部(差分配布部134)とを有する。
上記要求取得部131は、上記処理装置を用いて、上記第三の差分データを要求する差分要求メッセージを端末装置200から取得する。
上記差分通知部は、上記差分合成部133が生成した第三の差分データ520cを上記端末装置200に対して通知する。
The difference management device (distribution device 100) further includes a request acquisition unit 131 and a difference notification unit (difference distribution unit 134).
The request acquisition unit 131 acquires a difference request message for requesting the third difference data from the terminal device 200 using the processing device.
The difference notification unit notifies the terminal device 200 of the third difference data 520c generated by the difference combining unit 133.

これにより、配布する差分データのデータ量を削減できるとともに、端末装置200の処理装置にかかる負荷や、端末装置200の記憶装置に必要な作業領域の容量を小さくすることができる。   Thereby, the data amount of the difference data to be distributed can be reduced, and the load on the processing device of the terminal device 200 and the capacity of the work area necessary for the storage device of the terminal device 200 can be reduced.

上記差分管理装置(配布装置100)は、更に、旧版データ記憶部111と、新版データ取得部112と、差分生成部113と、旧版データ更新部114とを有する。
上記旧版データ記憶部111は、上記記憶装置を用いて、上記有版データの旧版(旧版データ)を記憶する。
上記新版データ取得部112は、上記処理装置を用いて、上記有版データの新版(新版データ)を取得する。
上記差分生成部113は、上記処理装置を用いて、上記旧版データ記憶部111が記憶した有版データの旧版(旧版データ)と、上記新版データ取得部112が取得した有版データの新版(新版データ)との間の差分データを生成する。
上記差分記憶部115は、上記記憶装置を用いて、上記差分生成部113が生成した差分データを記憶する。
上記旧版データ更新部114は、上記処理装置を用いて、上記旧版データ記憶部111が記憶した有版データ(旧版データ)を更新して、上記新版データ取得部112が取得した有版データの新版(新版データ)を記憶させる。
The difference management device (distribution device 100) further includes an old version data storage unit 111, a new version data acquisition unit 112, a difference generation unit 113, and an old version data update unit 114.
The old version data storage unit 111 stores the old version of the version data (old version data) using the storage device.
The new version data acquisition unit 112 acquires a new version (new version data) of the plate data using the processing device.
The difference generation unit 113 uses the processing device to store the old version of the version data stored in the old version data storage unit 111 (old version data) and the new version of the version data acquired by the new version data acquisition unit 112 (new version). Data) is generated.
The difference storage unit 115 stores the difference data generated by the difference generation unit 113 using the storage device.
The old version data update unit 114 updates the version data (old version data) stored in the old version data storage unit 111 by using the processing device, and the new version of the version data acquired by the new version data acquisition unit 112. (New edition data) is stored.

旧版データと新版データとの間の差分データを差分生成部113が生成すると、旧版データ記憶部111は、新版データを旧版データとして記憶するので、旧版データ記憶部111の記憶容量が小さくて済む。有版データの他の版の間の差分データが必要な場合は、差分記憶部115が記憶した差分データを差分合成部133が合成して、生成することができる。   When the difference generation unit 113 generates the difference data between the old version data and the new version data, the old version data storage unit 111 stores the new version data as the old version data. Therefore, the storage capacity of the old version data storage unit 111 may be small. When difference data between other versions of the plate data is necessary, the difference synthesis unit 133 can synthesize and generate the difference data stored in the difference storage unit 115.

上記差分管理装置(配布装置100)において、上記差分生成部113は、上記処理装置を用いて、上記有版データの旧版(旧版データ)を新版(新版データ)に更新するための順方向差分データと、上記有版データの新版(新版データ)を旧版(旧版データ)に戻すための逆方向差分データとを生成する。
上記差分記憶部115は、上記記憶装置を用いて、上記差分生成部113が生成した順方向差分データと逆方向差分データとを記憶する。
In the difference management apparatus (distribution apparatus 100), the difference generation unit 113 uses the processing apparatus to update forward difference data for updating an old version (old version data) of the version data to a new version (new version data). And backward difference data for returning the new version (new version data) of the edition data to the old version (old version data).
The difference storage unit 115 stores the forward direction difference data and the backward direction difference data generated by the difference generation unit 113 using the storage device.

これにより、有版データを新しい版に更新したいという要望だけでなく、古い版に戻したいという要望にも答えることができる。旧版データよりも更に古い版に戻す場合は、差分合成部133が差分データを合成することにより、必要な差分データを生成することができる。   This makes it possible to answer not only the desire to update the version data to a new version, but also the request to return to an old version. When returning to an older version than the old version data, the difference synthesis unit 133 can generate the necessary difference data by synthesizing the difference data.

この実施の形態における差分管理装置(配布装置100、端末装置200)は、コンピュータが実行することにより上記コンピュータが差分管理装置として機能するコンピュータプログラムにより実現することができる。   The difference management device (distribution device 100, terminal device 200) in this embodiment can be realized by a computer program that, when executed by a computer, causes the computer to function as a difference management device.

これにより、配布すべきデータ量を削減できるとともに、有版データを更新するため差分データを適用する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる差分管理装置を実現できる。   As a result, the amount of data to be distributed can be reduced, and the load on the processing device and the capacity of the work area required for the storage device can be reduced when applying differential data to update plate data. A difference management device can be realized.

この実施の形態における差分管理装置(配布装置100、端末装置200)が、3以上の版を有する有版データ530について、上記有版データ530の2つの版の間の差分を表わす差分データ520を管理する差分管理方法は、以下の工程を有する。
上記記憶装置が、上記有版データの第一の版530aと第二の版530bとの間の差分を表わす第一の差分データ520と、上記有版データの第二の版530bと第三の版530cとの間の差分を表わす第二の差分データ520bとを記憶する。
上記処理装置が、上記記憶装置が記憶した第一の差分データ520と第二の差分データ520bとを合成して、上記有版データの第一の版530aと第三の版530cとの間の差分を表わす第三の差分データ520cを生成する。
The difference management device (distribution device 100, terminal device 200) in this embodiment uses the difference data 520 representing the difference between the two versions of the plate data 530 for the plate data 530 having three or more versions. The managed difference management method includes the following steps.
The storage device includes first difference data 520 representing a difference between the first version 530a and the second version 530b of the plate data, and the second version 530b and the third version of the plate data. Second difference data 520b representing a difference from the version 530c is stored.
The processing device synthesizes the first difference data 520 and the second difference data 520b stored in the storage device, and between the first version 530a and the third version 530c of the plate data. Third difference data 520c representing the difference is generated.

これにより、配布すべきデータ量を削減できるとともに、有版データを更新するため差分データを適用する際に、処理装置にかかる負荷や、記憶装置に必要な作業領域の容量を小さくすることができる。   As a result, the amount of data to be distributed can be reduced, and the load on the processing device and the capacity of the work area required for the storage device can be reduced when applying differential data to update plate data. .

実施の形態2.
実施の形態2について、図19〜図28を用いて説明する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.

図19は、この実施の形態におけるシステムの構成例を示す図である。
ソフトウェア配布サーバ10(配布装置100)は、ソフトウェアを配布するためのサーバである。ソフトウェア配布サーバ10は、一般的にはWEBサーバで構成される。ソフトウェア配布サーバ10は、ネットワーク20であるインターネットや無線ネットワークからの要求を受け付ける。あるいは、ソフトウェア配布サーバ10は、情報を一斉送信する放送サーバであってもよい。
端末装置30は、一般的なPCやサーバあるいは携帯端末など配布されるソフトウェアが動作する装置である。
ソフトウェアの配布は、ネットワーク20を使った配布以外にも物理的な郵送という手段で、DVDやCD−Rを使って配送することもある。
FIG. 19 is a diagram showing a configuration example of a system in this embodiment.
The software distribution server 10 (distribution apparatus 100) is a server for distributing software. The software distribution server 10 is generally composed of a WEB server. The software distribution server 10 receives a request from the Internet or the wireless network that is the network 20. Alternatively, the software distribution server 10 may be a broadcast server that transmits information simultaneously.
The terminal device 30 is a device on which distributed software such as a general PC, server, or portable terminal operates.
In addition to the distribution using the network 20, the software may be distributed using a DVD or a CD-R by means of physical mail.

図20は、この実施の形態におけるソフトウェア配布サーバ10の構成例を示す図である。
ソフトウェア配布サーバは、対象とする端末のソフトウェアの複数のバージョンであるソフトウェア11(有版データ)を保持する。対象とする端末は複数あっても良いが、対象機種ごとに管理する。また、対象機種の最新のソフトウェアバージョンがリリースされるたび最新版が追加となる。
FIG. 20 is a diagram showing a configuration example of the software distribution server 10 in this embodiment.
The software distribution server holds software 11 (version data) that is a plurality of versions of the software of the target terminal. Although there may be a plurality of target terminals, they are managed for each target model. In addition, the latest version is added each time the latest software version of the target model is released.

差分抽出部12(差分生成部113)は、管理する2つのソフトウェア11のバージョン間の差分を抽出する。差分抽出部12は、一般的には複数のファイルを比較する。差分抽出部12は、同じ部分とそうでない部分を見つける。差分抽出部12は、同じ部分は旧版のどのアドレスから長さどれだけ分を新版のどのアドレスにコピーするということを示すCOPYコマンドと、旧版にないデータであって、新たにどこにどんなデータを追加するかを示すDATAコマンドからなる差分情報を生成する。   The difference extraction unit 12 (difference generation unit 113) extracts a difference between versions of the two software 11 to be managed. The difference extraction unit 12 generally compares a plurality of files. The difference extraction unit 12 finds the same part and the part that is not. The difference extraction unit 12 is a COPY command indicating that the length of the same part is copied from which address of the old version to which address of the new version, and data that is not in the old version, and what data is newly added where Difference information including a DATA command indicating whether or not to perform is generated.

差分情報管理部13(差分記憶部115、差分版記憶部125)は、ある版と別の版の差分を2つの版名と関係付けて保持する。差分情報管理部13は、要求があれば該当する差分情報を提供する。該当する差分情報を保持していない場合には、差分情報管理部13は、差分抽出部12を利用して差分を生成してもかまわない。   The difference information management unit 13 (difference storage unit 115, difference version storage unit 125) holds a difference between one version and another version in association with two version names. The difference information management unit 13 provides the corresponding difference information if requested. If the corresponding difference information is not held, the difference information management unit 13 may generate a difference using the difference extraction unit 12.

差分情報要求受付部14は、クライアントからの要求に応じて差分情報を送る。
差分情報配布部15は、差分を配布する。差分情報配布部15は、一斉送信をすることができる。一斉送信は実質的には相手を決めて逐次送信していく方式でもかまわないし、マルチキャストいう技術を利用してネットワーク200上で経路が同じ部分は共通のデータとして送信し、経路が分かれるところで別データで送信してもかまわない。このようにしてネットワークトラフィックを削減するように動作する。
The difference information request receiving unit 14 sends difference information in response to a request from the client.
The difference information distribution unit 15 distributes the difference. The difference information distribution unit 15 can perform simultaneous transmission. The simultaneous transmission may be a method in which the other party is substantially decided and sequentially transmitted, or the part having the same route on the network 200 is transmitted as common data by using a technique called multicast, and another data is obtained when the route is divided. You can send it with. In this way, it operates to reduce network traffic.

図21は、この実施の形態における端末装置30の構成例を示す図である。
差分受信部31(差分取得部221)は、ソフトウェア配布サーバ10からネットワーク200を経由して一斉配信されたものを受信する。あるいは、差分受信部31は、端末上のユーザからのリクエストや、設定された情報に従ったリクエストに応じてサーバから送られてくる差分情報を受信する。または、差分受信部31は、郵送で送られてきた情報に関してはCD−Rなどの外部デバイスからの情報を読み取ることによって受信する。
FIG. 21 is a diagram illustrating a configuration example of the terminal device 30 in this embodiment.
The difference receiving unit 31 (difference acquiring unit 221) receives the ones that are simultaneously distributed from the software distribution server 10 via the network 200. Alternatively, the difference receiving unit 31 receives difference information transmitted from the server in response to a request from a user on the terminal or a request according to set information. Alternatively, the difference receiving unit 31 receives information sent by mail by reading information from an external device such as a CD-R.

差分受信部31が受信した差分が、端末上のソフトウェアバージョンに応じたもの、すなわち端末上のソフトウェアバージョンに適用可能なものであれば、そのまま差分記憶部32が記憶する。差分記憶部32に古い差分データが残っている場合は、その差分データと今回受信した差分データを比較し、より新しいバージョンにアップすることが可能な版を残し、一方を削除する。   If the difference received by the difference receiving unit 31 corresponds to the software version on the terminal, that is, can be applied to the software version on the terminal, the difference storage unit 32 stores it as it is. When old difference data remains in the difference storage unit 32, the difference data and the difference data received this time are compared, a version that can be upgraded to a newer version is left, and one is deleted.

差分受信部31が受信した差分が、端末上のソフトウェアバージョンに応じたものでない、即ち端末上のソフトウェアに適用不可能なものであれば、差分合成部33(適用判定部240、差分合成部224)が、差分記憶部32が記憶している差分と合成可能かどうかを判定し、可能であれば差分を合成し、差分記憶部32が記憶する。差分合成不可な場合は、端末上の差分ファイルと受信した差分ファイルの間の差分ファイルがあるはずで、これを差分受信部31がサーバに要求し、取得し、再度、差分合成部33が逐次差分合成を行い、現状のソフトウェアバージョンから最新の版へバージョンアップ可能な合成差分情報のみを差分記憶部32が記憶する。   If the difference received by the difference receiving unit 31 does not correspond to the software version on the terminal, that is, if the difference cannot be applied to the software on the terminal, the difference synthesizing unit 33 (application determining unit 240, difference synthesizing unit 224). ) Determines whether or not the difference stored in the difference storage unit 32 can be combined. If possible, the difference is combined and the difference storage unit 32 stores the difference. If the difference synthesis is not possible, there should be a difference file between the difference file on the terminal and the received difference file. The difference receiving unit 31 requests and obtains this from the server, and the difference synthesizing unit 33 again sequentially. Difference synthesis is performed, and the difference storage unit 32 stores only synthesized difference information that can be upgraded from the current software version to the latest version.

ユーザの要望やあるいはシステムの設定に応じて差分を適用し、ソフトウェアのバージョンアップを行う場合には、差分適用部34(有版データ更新部212)が、差分記憶部32が記憶している差分を適用する。   When the difference is applied according to the user's request or the system setting and the software is upgraded, the difference application unit 34 (the plate data update unit 212) stores the difference stored in the difference storage unit 32. Apply.

上記ソフトウェア配布サーバ10および端末装置30の動作の流れの例を説明する。   An example of the flow of operations of the software distribution server 10 and the terminal device 30 will be described.

図22は、この実施の形態におけるソフトウェア配布サーバ10の処理フロー図である。
ステップ41で、ソフトウェア配布サーバ10は、まず対象端末の最初のソフトウェアイメージを保存する。
ステップ42で、ソフトウェア配布サーバ10は、次の版のリリースを待ち、リリースされればステップ43に移行する。
FIG. 22 is a process flow diagram of the software distribution server 10 in this embodiment.
In step 41, the software distribution server 10 first stores the first software image of the target terminal.
In step 42, the software distribution server 10 waits for the release of the next version, and if released, proceeds to step 43.

ステップ43で、ソフトウェア配布サーバ10は、次の版のイメージを保存する。
ステップ44で、差分抽出部12は、差分を抽出する。この差分は一般にバイナリ差分である。その例としては新版と旧版をサーチし、同じ部分があれば同じであることを示し、位置がずれていてもCOPYとして旧版のある場所から新版のある場所へCOPYすれば良いことを示すCOPYコマンドと、新たなデータであることを示すDATAコマンドからなる差分情報を抽出する。
In step 43, the software distribution server 10 stores the next version of the image.
In step 44, the difference extraction unit 12 extracts a difference. This difference is generally a binary difference. As an example, a COPY command is used to search for a new version and an old version and indicate that the same part is the same, and even if the position is shifted, a COPY command indicates that it is possible to copy from the location of the old version to the location of the new version as COPY. Then, difference information consisting of a DATA command indicating new data is extracted.

ステップ45で、差分情報管理部13は、抽出された差分情報を保存する。
ステップ46で、差分情報配布部15は、差分を配布する。配布にはブロードキャストやマルチキャストあるいは逐次送信でもかまわない。通常のネットワークを利用するだけでなくDVDなどの媒体を使って郵送というのでもかまわない。
In step 45, the difference information management unit 13 stores the extracted difference information.
In step 46, the difference information distribution unit 15 distributes the difference. Distribution may be broadcast, multicast or sequential transmission. In addition to using a normal network, it may be mailed using a medium such as a DVD.

ステップ47で、ソフトウェア配布サーバ10は、旧版を削除する。保存領域に余裕があれば旧版を削除せずにバージョンの管理を行っておくのでもかまわない。   In step 47, the software distribution server 10 deletes the old version. If there is room in the storage area, you can manage the version without deleting the old version.

ステップ48で、差分情報要求受付部14は、端末側からの差分のダウンロード要求を待つ。端末に対しては差分情報を既にブロードキャストなどの手段で配布しているが、このタイミングで受信できなかった端末からは要求が来る可能性がある。要求がなければ、ステップ49で、ソフトウェア配布サーバ10は、次期リリース待ちである。ステップ48と49は同時に動作し、イベント待ちで、先におきたイベントの処理を行う。   In step 48, the difference information request accepting unit 14 waits for a difference download request from the terminal side. Difference information has already been distributed to terminals by means of broadcasting or the like, but there is a possibility that a request may come from a terminal that could not be received at this timing. If there is no request, in step 49, the software distribution server 10 is waiting for the next release. Steps 48 and 49 operate simultaneously, and wait for an event and process the event that has come first.

ステップ48で、端末側から要求が来た場合、差分情報配布部15は、保存してある差分を送信する。その際、要求に含まれた端末側のバージョンから最新のバージョンに上げることができる差分情報を送信する。この差分は複数の差分をまとめて送信するのでもかまわないし、端末側のフローで説明する差分合成と同じフローを利用して差分合成をして送信してもかまわないし、ステップ47を実行せずに旧版を削除せずに残しているのであれば、要求に応じた差分を抽出して送信するのでもかまわない。   In step 48, when a request is received from the terminal side, the difference information distribution unit 15 transmits the stored difference. At that time, the difference information that can be raised from the version on the terminal side included in the request to the latest version is transmitted. This difference may be transmitted as a plurality of differences all together, or may be transmitted by performing difference composition using the same flow as the difference composition described in the terminal-side flow, and step 47 is not executed. If the old version is not deleted, the difference according to the request may be extracted and transmitted.

差分送信が完了すると、ソフトウェア配布サーバ10は、ステップ48,49のイベント待ちに移行する。
ステップ48,49で、次期リリースがなされた場合、ソフトウェア配布サーバ10は、ステップ43からの処理を繰り返す。
When the difference transmission is completed, the software distribution server 10 shifts to the event waiting in steps 48 and 49.
When the next release is made in steps 48 and 49, the software distribution server 10 repeats the processing from step 43.

図23は、この実施の形態における端末装置30の更新フロー図である。
ステップ51で、端末装置30は、差分情報の受信待ちをする。受信待ちは、端末自らが要求を出してダウンロードを待っている場合もあれば、一斉送信や放送を待っている場合もある。即ち、イベントを待っている場合もある。
ステップ51で差分情報を受信したら、ステップ52で、差分適用部34は、適用可能かどうかの判断を行う。即ち、その差分情報がどのバージョンを対象にているのかの情報と自端末のバージョンとを比較し、同じものであれば適用可能であると判断できる。適用可能と判断されれば、端末装置30は、実際に端末に適用するかどうかをユーザに問い合わせて、ステップ56でユーザの判断を入力する。
FIG. 23 is an update flowchart of the terminal device 30 in this embodiment.
In step 51, the terminal device 30 waits for reception of difference information. As for waiting for reception, the terminal itself may make a request and wait for downloading, or may wait for simultaneous transmission or broadcasting. That is, there is a case where an event is waiting.
When the difference information is received in step 51, the difference application unit 34 determines whether or not the difference information is applicable in step 52. That is, the version information of the difference information is compared with the version of the own terminal, and it can be determined that the difference information is applicable. If it is determined that it can be applied, the terminal device 30 inquires of the user whether or not it is actually applied to the terminal, and inputs the user's determination in step 56.

適用不可能、即ち自端末のバージョンと差分情報の対象とするバージョンが違う場合には、ステップ53で、差分合成部33は、差分合成可能かどうかを判断する。合成が不可能、即ち、自端末に保存している差分でバージョンアップ可能なバージョンと、差分情報が対象とする差分が異なる場合は、ステップ54で、端末装置30は、その間を生める差分を要求する。サーバ側からはその差分を埋める情報が一つの差分情報で来る場合もあるし、複数の差分情報で来る場合もある。複数の差分情報で来た場合には、差分受信処理直後に差分合成部が合成処理を行い、ステップ52へ移行する。   If it is not applicable, that is, if the version of the terminal is different from the version targeted for the difference information, in step 53, the difference synthesizer 33 determines whether or not the difference synthesis is possible. When combining is impossible, that is, the version that can be upgraded by the difference stored in the terminal and the difference targeted by the difference information are different from each other, the terminal device 30 requests a difference that generates the difference in step 54. To do. From the server side, the information that fills the difference may come from a single piece of difference information, or may come from a plurality of pieces of difference information. If a plurality of pieces of difference information are received, the difference synthesis unit performs a synthesis process immediately after the difference reception process, and the process proceeds to step 52.

ステップ53で、差分合成部33が差分合成可能と判断すると、ステップ55で、差分合成部33は、差分合成を行なう。ステップ56で、端末装置は、実際に適用するかどうかをユーザに問い合わせ適用判断を行う。適用しないのであれば、ステップ58で、差分記憶部は、その差分情報を保存しておく。適用するのであれば、ステップ57で、差分適用部34が適用して、差分情報を消す。その後、元の差分情報受信待ちステップ51に移行する。   If the difference composition unit 33 determines in step 53 that the difference composition is possible, in step 55, the difference composition unit 33 performs difference composition. In step 56, the terminal device makes an inquiry application determination to the user as to whether or not to actually apply. If not applied, the difference storage unit stores the difference information in step 58. If so, in step 57, the difference application unit 34 applies and erases the difference information. Thereafter, the process proceeds to the original difference information reception waiting step 51.

図24は、この実施の形態における差分情報管理部13が差分情報を管理する管理の例を示す図である。
この情報は、図22のステップ45での保存時や、端末側らの要求に応じてステップ50で差分を送信する際に利用する。
差分情報管理部13は、複数の差分間の情報を2次元のテーブルで持ち、該当する場所にはそれぞれに対応するファイル名を入れておく。バージョンダウンのことも考えると、逆の差分もおいてもかまわない。
FIG. 24 is a diagram illustrating an example of management in which the difference information management unit 13 in this embodiment manages difference information.
This information is used at the time of saving at step 45 in FIG. 22 or when the difference is transmitted at step 50 in response to a request from the terminal side.
The difference information management unit 13 has information between a plurality of differences in a two-dimensional table, and puts a corresponding file name in each corresponding place. Considering the version down, the reverse difference is also acceptable.

また、生成していない差分は空欄にしておき、サーバの空き時間に生成しても良いし、全く生成しなくても良い。
また、ステップ47で旧版を毎回消す場合には、隣の版との差分しかなく、他の差分は動的に合成処理するか、端末側で合成する。
In addition, the difference that has not been generated may be left blank, and may be generated when the server is idle, or may not be generated at all.
Further, when deleting the old version every time in step 47, there is only a difference from the adjacent version, and other differences are dynamically synthesized or synthesized at the terminal side.

図25は、この実施の形態におけるソフトウェアイメージと差分との関係の例を示す図である。
この例は、「Ver1.0」「Ver,2.0」「Ver3.0」の3つの版がある場合を示している。
「Ver1.0」と「Ver2.0」の比較で、全く同じ場所に同じコードがある部分と、ずれてコードがある部分をCOPYコマンド(複写コマンド)で表現する。一方全く違うデータがある部分をDATAコマンド(追加コマンド)で表現する。
新版のアドレス順にコマンドを記載することにより、消えてしまうデータに関しては気にする必要ないので、DELETEといったコマンド(削除コマンド)はなくてよい。
FIG. 25 is a diagram showing an example of the relationship between the software image and the difference in this embodiment.
In this example, there are three versions of “Ver1.0”, “Ver, 2.0”, and “Ver3.0”.
In a comparison between “Ver1.0” and “Ver2.0”, a portion where the same code is located at exactly the same place and a portion where the code is shifted and are shifted are expressed by a COPY command (copy command). On the other hand, a part having completely different data is expressed by a DATA command (additional command).
By writing the commands in the order of addresses in the new version, there is no need to worry about data that will disappear, so there is no need for a command (delete command) such as DELETE.

COPYコマンドには、元のアドレス情報(ソース524)と長さ(サイズ523)の情報が必要である。DATAコマンドには、長さ(サイズ523)の情報と書き換えるべきデータ(ソース524)の情報が必要である。この処理には、順に新版と旧版を比較しながら探すことによる例えばUnix(登録商標)環境にあるDIFFのアルゴリズムのような公知のアルゴリズムを使用してもよい。   The COPY command requires original address information (source 524) and length (size 523) information. The DATA command requires information on length (size 523) and information on data to be rewritten (source 524). For this processing, a known algorithm such as a DIFF algorithm in a Unix (registered trademark) environment by searching for a new version and an old version in order may be used.

図26は、この実施の形態におけるソフトウェアイメージと差分合成との関係の例を示す図である。
「Ver2.0」から「Ver3.0」への差分情報のうち、aの部分のCOPYコマンドは実際にはまだ存在しない「Ver2.0」からのCOPYコマンドである。この領域に対する旧差分情報を見ると、一部はCOPYコマンドで、一部はDATAコマンドである。こういう場合は、aの部分はCOPYコマンドで「Ver1.0」からコピーする部分と、DATAコマンドとに分けて合成する。
FIG. 26 is a diagram showing an example of the relationship between the software image and difference synthesis in this embodiment.
Of the difference information from “Ver2.0” to “Ver3.0”, the COPY command of the part a is a COPY command from “Ver2.0” that does not actually exist yet. Looking at the old difference information for this area, some are COPY commands and some are DATA commands. In such a case, the part a is divided into a part to be copied from “Ver1.0” by the COPY command and a DATA command to be combined.

次のbの部分は、「Ver1.0」からすべてコピーすれば良いが、コピー元が分かれている。こういう場合は、2つのCOPYコマンドに分ける。
次のDATAコマンド部分は、そもそも「Ver1.0」上にもないデータであるため、DATAコマンドをそのまま使う。
最後のcの部分は、COPYコマンドとDATAコマンドとに分ける。
このようにして、差分情報を合成する。
The next part b may be copied from “Ver1.0”, but the copy source is divided. In such a case, it is divided into two COPY commands.
Since the next DATA command portion is data that is not on "Ver1.0", the DATA command is used as it is.
The last part c is divided into a COPY command and a DATA command.
In this way, the difference information is synthesized.

図27は、この実施の形態における差分合成の処理フロー図である。
ステップ91で、差分合成部33は、新差分と旧差分とを読みこむ。差分合成部33は、新差分の方のアドレスの低い方か高い方かどちらか一方から解析を行っていく。
ステップ92で、差分合成部33は、コマンドを取り出す。最後であれば、終了する。
ステップ93で、差分合成部33は、そのコマンドがDATAコマンドかどうか判定する。DATAコマンドであれば、差分合成部33は、そのままDATAコマンドを出力し、再びステップ92で次のコマンドを抽出する。
FIG. 27 is a process flow diagram of difference synthesis in this embodiment.
In step 91, the difference composition unit 33 reads the new difference and the old difference. The difference synthesizer 33 performs analysis from either the lower or higher address of the new difference.
In step 92, the difference synthesizer 33 retrieves the command. If it is the last, it ends.
In step 93, the difference synthesizer 33 determines whether the command is a DATA command. If it is a DATA command, the difference synthesizer 33 outputs the DATA command as it is, and again extracts the next command in step 92.

ステップ93で、DATAコマンドでなかった場合は、COPYコマンドである。COPYコマンドの場合、差分合成部33は、ステップ94で、そのCOPYコマンドの範囲にある旧差分情報を抽出する。ステップ95で、差分合成部33は、その抽出された差分情報を順次読みこむ。   If it is not a DATA command in step 93, it is a COPY command. In the case of a COPY command, the difference synthesizer 33 extracts old difference information within the range of the COPY command in step 94. In step 95, the difference synthesizer 33 sequentially reads the extracted difference information.

ステップ96で、差分合成部33は、抽出された差分情報がDATAコマンドかどうかを判断する。DATAコマンドであれば、その部分はVer1.0でも存在しなかった部分であるため、たとえ「Ver2.0」から「3.0」へのコマンドがCOPYであってもCOPYできないことを示している。ステップ97で、差分合成部33は、DATAコマンドを出力し、再度ステップ95へ移行する。
なお、ステップ95で次のコマンドがなかった場合、ステップ92で、次の新差分のコマンドの処理に移行する。
In step 96, the difference synthesizer 33 determines whether or not the extracted difference information is a DATA command. In the case of a DATA command, this part is a part that did not exist even in Ver1.0, and therefore, even if the command from “Ver2.0” to “3.0” is COPY, it cannot be copied. . In step 97, the difference synthesizer 33 outputs a DATA command and proceeds to step 95 again.
If there is no next command in step 95, the process proceeds to the next new differential command processing in step 92.

ステップ96で、DATAコマンドでなかった場合、ステップ99で、差分合成部33は、該当部分のCOPYコマンドとして出力し、ステップ95へ再び移行する。   If it is determined in step 96 that the command is not a DATA command, in step 99, the difference synthesizer 33 outputs the corresponding part as a COPY command, and the process proceeds to step 95 again.

図28は、この実施の形態における差分合成においてコピーする範囲を抽出するための情報の例を示す図である。
差分合成部33は、各コマンドごとに新版となるアドレス情報とサイズ情報をペアにして保持しておく。これにより、アドレス情報からその部分にどのコマンドがあるかを2分木探索で探すことができる。
FIG. 28 is a diagram showing an example of information for extracting a range to be copied in the difference synthesis in this embodiment.
The difference synthesizer 33 holds the address information and the size information as a new version for each command as a pair. As a result, it is possible to find out which command is in that portion from the address information by binary tree search.

こうして合成して作成した差分情報は、そのまま順にコマンドの指示どおり実行すれば、プログラム領域を書き換えることができる。   The difference information created in this way can be rewritten as it is in accordance with the command instructions.

以上のようにして、差分を合成することができ、端末上に保持する差分量を一定に保ちつつ、サーバ上でも要求の少ない差分データを保持することなく、端末側からの様々な更新要求に答えることができる。   As described above, the difference can be combined, and the difference amount to be held on the terminal can be kept constant, and the server can make various update requests from the terminal side without holding the difference data with few requests on the server. I can answer.

この実施の形態におけるソフトウェア配布システムは、ソフトウェア配布のためのソフトウェア配布サーバ10(配布装置100)と、配布されたソフトウェアをインストールし実行する端末装置30とからなる。ソフトウェア配布システムは、出荷時のソフトウェアのバージョンから逐次複数回バージョンアップをする際には、ネットワークを経由して配布するソフトウェア量を減らすために差分情報を送る。
ソフトウェア配布サーバ10は、サーバ上には複数のバージョン間の差分抽出部12(差分生成部113)と、差分情報管理部13(差分記憶部115、差分版記憶部125)と、端末へ差分を配布する差分情報配布部15(差分配布部134)とを有する。
端末装置30は、配布された差分を記憶する差分記憶部32と、複数の差分が送られた場合には旧差分と合成する差分合成部33と、差分を適用する差分適用部34(有版データ更新部212)とを有する。
The software distribution system in this embodiment includes a software distribution server 10 (distribution apparatus 100) for software distribution and a terminal apparatus 30 that installs and executes the distributed software. The software distribution system sends difference information in order to reduce the amount of software to be distributed via the network when performing version upgrades sequentially from the software version at the time of shipment.
The software distribution server 10 includes a difference extraction unit 12 (difference generation unit 113) between a plurality of versions on the server, a difference information management unit 13 (difference storage unit 115, difference version storage unit 125), and a difference to the terminal. And a difference information distribution unit 15 (difference distribution unit 134) for distribution.
The terminal device 30 includes a difference storage unit 32 that stores the distributed differences, a difference combining unit 33 that combines the old differences when a plurality of differences are sent, and a difference applying unit 34 that applies the difference (version) A data updating unit 212).

複数のバージョン間の差分抽出部12は、ファイル単位にそのテキストの差分またはバイナリレベルの差分を抽出し、旧版に適用すれば新版を端末上で作成できる形式にする。   The difference extraction unit 12 between a plurality of versions extracts a text difference or a binary level difference for each file, and if applied to the old version, creates a new version on the terminal.

差分情報は、旧版からの新版と同一部分をどこからどこまでをコピーするかを示す情報とどこに保存するかを示す情報とからなるCOPYというコマンドと、新版と旧版で異なる部分をどこからどれだけをどういう情報に変更するかを示すDATAコマンドとからなる。   The difference information consists of a COPY command consisting of information indicating where to copy the same part as the new version from the old version and information indicating where to save it, and what information from where and how different parts in the new version and the old version. A DATA command indicating whether or not to change.

差分情報管理部13は、その差分を作成した2つのバージョンの番号(差分版コード)と差分(差分データ)とを1組として複数個を管理し、あるバージョンと別のバージョンの差分を欲しいという要求があればそれを供給できる。   The difference information management unit 13 manages a plurality of sets of two version numbers (difference code) and differences (difference data) that created the difference, and wants a difference between one version and another version. You can supply it on request.

端末へ差分を配布する差分情報配布部15は、新しいバージョンができるたびにその前のバージョンとの差分をブロードキャストや、何らかの媒体に記憶し郵送による配布などを行う。   The difference information distribution unit 15 that distributes the difference to the terminal broadcasts the difference from the previous version every time a new version is created, stores it in some medium, and distributes it by mail.

端末上で配布された差分を記憶する差分記憶部32は、フラッシュメモリやハードディスクドライブなど電源が切れても差分を記憶しつづけることができる。   The difference storage unit 32 that stores the difference distributed on the terminal can continue to store the difference even when the power is turned off, such as a flash memory or a hard disk drive.

差分合成部33は、端末上に記憶している差分情報と配布された差分情報から端末上のバージョンから最新のバージョンにバージョンアップするための差分情報を合成する。   The difference synthesizer 33 synthesizes difference information for upgrading from the version on the terminal to the latest version from the difference information stored on the terminal and the distributed difference information.

差分合成部33は、古い差分情報内のコマンド列を探索し、新しい差分情報でそのままでは使えない部分を抽出し、新たなコマンド列に置き換える。   The difference synthesizer 33 searches for a command string in the old difference information, extracts a part that cannot be used as it is with the new difference information, and replaces it with a new command string.

差分合成部33は、前記コマンド列の探索のために、古い差分情報には予めアドレスを指定すればその部分の対象差分コマンドがCOPYであるのかDATAであるのかを高速に探索するために木構造のインデックスやテーブルを保持する。   In order to search for the command string, the difference synthesizer 33 can specify a tree structure in order to quickly search whether the target difference command of the part is COPY or DATA if an address is previously specified in the old difference information. Hold indexes and tables.

差分適用部34は、差分情報のコマンドに従って、COPYすべき情報はCOPYをし、新たに付加するデータは付加し、プログラム領域を書き換える。   In accordance with the difference information command, the difference application unit 34 copies the information to be copied, adds newly added data, and rewrites the program area.

これにより、プログラムイメージそのものやファイルそのものの差分を抽出してその差分を送信してできるだけ転送量を少なくして更新ができるとともに、多くのバージョンアップがあり、端末側では受信した差分をいつ適用するか自由に選択できる場合であっても、いざ適用を試みる際のユーザビリティが良く、更新時間を短することができる。   As a result, the difference between the program image itself and the file itself can be extracted and transmitted to reduce the transfer amount as much as possible, and there are many version upgrades. When the terminal receives the received difference Even if it can be freely selected, the usability when applying the application is good and the update time can be shortened.

10 ソフトウェア配布サーバ、11 ソフトウェア、12 差分抽出部、13 差分情報管理部、14 差分情報要求受付部、15 差分情報配布部、20 ネットワーク、30 端末装置、31 差分受信部、32 差分記憶部、33 差分合成部、34 差分適用部、100 配布装置、111 旧版データ記憶部、112 新版データ取得部、113 差分生成部、114 旧版データ更新部、115,222 差分記憶部、121 旧版コード記憶部、124 旧版コード更新部、125,223 差分版記憶部、131 要求取得部、132 配布判定部、133,224 差分合成部、134 差分配布部、200 端末装置、211 有版データ記憶部、212 有版データ更新部、213 現版コード記憶部、221 差分取得部、231 更新版取得部、240 適用判定部、241 単独適用判定部、242 合成適用判定部、243 差分要求部、511 差分コード、512 適用前コード、513 適用後コード、520 差分データ、521 コマンド、522 命令、523 サイズ、524 ソース、530 有版データ、531〜547 部分、800 配布システム、810 開発装置、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 HDD、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。   10 software distribution server, 11 software, 12 difference extraction unit, 13 difference information management unit, 14 difference information request reception unit, 15 difference information distribution unit, 20 network, 30 terminal device, 31 difference reception unit, 32 difference storage unit, 33 Difference composition unit, 34 Difference application unit, 100 Distributing device, 111 Old version data storage unit, 112 New version data acquisition unit, 113 Difference generation unit, 114 Old version data update unit, 115, 222 Difference storage unit, 121 Old version code storage unit, 124 Old version code update unit, 125, 223 Difference version storage unit, 131 Request acquisition unit, 132 Distribution determination unit, 133,224 Difference synthesis unit, 134 Difference distribution unit, 200 Terminal device, 211 Plated data storage unit, 212 Plated data Update unit, 213 Current version code storage unit, 221 Difference acquisition unit, 231 Update Version acquisition unit, 240 application determination unit, 241 single application determination unit, 242 composite application determination unit, 243 difference request unit, 511 difference code, 512 code before application, 513 code after application, 520 difference data, 521 command, 522 command, 523 size, 524 source, 530 plate data, 531 to 547 parts, 800 distribution system, 810 development device, 901 display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 907 scanner device, 910 system Unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication device, 920 HDD, 921 OS, 922 window system, 923 program group, 924 file group, 931 telephone, 932 file Proxy machine, 940 Internet, 941 gateway, 942 LAN.

Claims (11)

3以上の版を有する有版データについて、上記有版データの2つの版の間の差分を表わす差分データを管理する差分管理装置において、
データを記憶する記憶装置と、データを処理する処理装置と、差分記憶部と、差分合成部とを有し、
上記差分記憶部は、上記記憶装置を用いて、上記有版データの第一の版と第二の版との間の差分を表わす第一の差分データと、上記有版データの第二の版と第三の版との間の差分を表わす第二の差分データとを記憶し、
上記差分合成部は、上記処理装置を用いて、上記差分記憶部が記憶した第一の差分データと第二の差分データとを合成して、上記有版データの第一の版と第三の版との間の差分を表わす第三の差分データを生成することを特徴とする差分管理装置。
For version data having three or more versions, in a difference management device that manages difference data representing a difference between two versions of the version data,
A storage device for storing data, a processing device for processing data, a difference storage unit, and a difference synthesis unit;
The difference storage unit uses the storage device, the first difference data representing the difference between the first version and the second version of the plate data, and the second version of the plate data And second difference data representing the difference between the first and third editions,
The difference synthesizing unit synthesizes the first difference data and the second difference data stored in the difference storage unit using the processing device, and the first version and the third version of the plate data A difference management device that generates third difference data representing a difference with a version.
上記差分データは、上記有版データの更新前の版を更新後の版に更新するための更新コマンドを表わし、
上記更新コマンドは、複写コマンドと追加コマンドとのうち少なくともいずれかを含み、
上記複写コマンドは、上記有版データの更新後の版のうち上記有版データの更新前の版に同一の部分が存在する含有部分について、上記有版データの更新前の版のうち上記含有部分と同一の部分の位置を示し、上記同一の部分を上記含有部分に複写することを表わし、
上記追加コマンドは、上記有版データの更新後の版のうち上記有版データの更新前の版に同一の部分が存在しない非含有部分について、上記非含有部分と同一の追加データを有し、上記追加データを上記非含有部分に追加することを表わすことを特徴とする請求項1に記載の差分管理装置。
The difference data represents an update command for updating the version before updating the version data to the version after update,
The update command includes at least one of a copy command and an add command,
The copy command is used to determine whether the same part exists in the version before update of the version data among the version after update of the version data. Indicates the position of the same part, and represents copying the same part to the containing part,
The additional command has the same additional data as the non-contained part for the non-contained part in which the same part does not exist in the pre-updated version of the version data among the version after the version data is updated, The difference management apparatus according to claim 1, wherein the additional data is added to the non-contained portion.
上記差分合成部は、上記処理装置を用いて、上記第二の差分データが上記複写コマンドを含む場合、上記複写コマンドに基づいて、上記有版データの第二の版のうち上記含有部分に複写する部分を判定して複写部分とし、上記第一の差分データに基づいて、上記複写部分のうち上記有版データの第一の版に含まれる承継部分について、上記有版データの第一の版の一部を上記含有部分のうち上記承継部分に対応する部分に複写することを表わす複写コマンドを生成し、上記複写部分のうち上記有版データの第一の版に含まれない非承継部分について、上記第一の差分データに含まれる追加コマンドが有する追加データを上記含有部分のうち上記非承継部分に対応する部分に追加することを表わす追加コマンドを生成し、上記第二の差分データが追加コマンドを含む場合、上記追加コマンドに基づいて、上記追加コマンドが有する追加データを上記非含有部分に追加することを表わす追加コマンドを生成することにより、上記第三の差分データを生成することを特徴とする請求項2に記載の差分管理装置。   When the second difference data includes the copy command, the difference synthesizer copies to the containing portion of the second version of the plate data based on the copy command when the second difference data includes the copy command. A portion to be copied is determined to be a copy portion, and based on the first difference data, the first version of the plate data for the successor portion included in the first version of the plate data among the copy portions A copy command indicating that a part of the content is copied to a portion corresponding to the successor portion of the contained portion, and a non-succession portion not included in the first version of the plate data among the copy portions Generating an additional command indicating that additional data included in the additional command included in the first differential data is added to a portion corresponding to the non-inherited portion of the containing portion, and the second differential data In the case of including an additional command, generating the third difference data by generating an additional command representing adding additional data of the additional command to the non-contained portion based on the additional command. The difference management apparatus according to claim 2, wherein the difference management apparatus is a difference management apparatus. 上記差分管理装置は、更に、有版データ記憶部と、有版データ更新部とを有し、
上記有版データ記憶部は、上記記憶装置を用いて、上記有版データの第一の版を記憶し、
上記有版データ更新部は、上記処理装置を用いて、上記差分合成部が生成した第三の差分データに基づいて、上記有版データ記憶部が記憶した有版データの第一の版を更新して、上記有版データの第三の版を生成することを特徴とする請求項1乃至請求項3のいずれかに記載の差分管理装置。
The difference management device further includes a plate data storage unit and a plate data update unit,
The plate data storage unit stores a first version of the plate data using the storage device,
The plate data update unit updates the first version of the plate data stored in the plate data storage unit based on the third difference data generated by the difference synthesis unit using the processing device. The difference management apparatus according to claim 1, wherein a third version of the plate data is generated.
上記差分管理装置は、更に、更新版取得部と、単独適用判定部と、合成適用判定部とを有し、
上記更新版取得部は、上記処理装置を用いて、上記有版データ記憶部が記憶した有版データを更新して生成する版を表わす更新版コードを取得し、
上記単独適用判定部は、上記処理装置を用いて、上記差分記憶部が記憶した差分データのなかに、上記有版データ記憶部が記憶した有版データを更新して上記更新版取得部が取得した更新版コードが表わす版の有版データを生成できる単独適用差分データがあるか否かを判定し、
上記合成適用判定部は、上記処理装置を用いて、上記差分記憶部が記憶した差分データのなかに単独適用差分データがないと上記単独適用判定部が判定した場合に、上記差分記憶部が記憶した差分データのなかに、複数の差分データを合成することにより、上記単独適用差分データを生成することができる複数の合成適用差分データがあるか否かを判定し、
上記差分合成部は、上記処理装置を用いて、上記差分記憶部が記憶した差分データのなかに、上記複数の合成適用差分データがあると上記合成適用判定部が判定した場合に、上記差分記憶部が記憶した複数の合成適用差分データを合成して、上記単独適用差分データを生成し、
上記有版データ更新部は、上記処理装置を用いて、上記差分記憶部が記憶した差分データのなかに単独適用差分データがあると上記単独適用判定部が判定した場合に、上記差分記憶部が記憶した単独適用差分データに基づいて、上記有版データ記憶部が記憶した有版データを更新し、上記差分記憶部が記憶した差分データのなかに、上記複数の合成適用差分データがあると上記合成適用判定部が判定した場合に、上記差分合成部が生成した単独適用差分データに基づいて、上記有版データ記憶部が記憶した有版データを更新することを特徴とする請求項4に記載の差分管理装置。
The difference management device further includes an update version acquisition unit, a single application determination unit, and a composite application determination unit,
The updated version acquisition unit acquires an updated version code representing a version generated by updating the version data stored in the version data storage unit using the processing device,
The single application determination unit uses the processing device to update the plate data stored in the plate data storage unit in the difference data stored in the difference storage unit and acquire the update version acquisition unit. Determine whether there is single application differential data that can generate the plate data of the version represented by the updated version code,
The composite application determination unit stores the difference storage unit when the single application determination unit determines that there is no single application difference data among the difference data stored in the difference storage unit using the processing device. It is determined whether there is a plurality of combined application difference data that can generate the single application difference data by combining a plurality of difference data in the difference data,
The difference synthesizing unit is configured to store the difference when the synthesis application determining unit determines that there is the plurality of synthesis application difference data among the difference data stored in the difference storage unit using the processing device. A plurality of combined application difference data stored by the unit to generate the single application difference data,
When the single application determining unit determines that there is single application difference data in the difference data stored by the difference storage unit using the processing device, the plate data update unit Based on the stored single application difference data, the plate data stored in the plate data storage unit is updated, and the difference data stored in the difference storage unit includes the plurality of combined application difference data. 5. The plate data stored in the plate data storage unit is updated based on the single application difference data generated by the difference combination unit when the combination application determination unit makes a determination. Difference management device.
上記差分管理装置は、更に、差分要求部と、差分取得部とを有し、
上記差分要求部は、上記処理装置を用いて、上記差分記憶部が記憶した差分データのなかに、上記複数の合成適用差分データがないと上記合成適用判定部が判定した場合に、上記単独適用差分データ、および、上記複数の合成適用差分データ、および、上記差分記憶部が記憶した差分データと合成することにより上記単独適用差分データを生成できる補充差分データのうち少なくともいずれかを要求する差分要求メッセージを差分配布装置に対して通知し、
上記差分取得部は、上記処理装置を用いて、上記差分要求部が通知した差分要求メッセージに対する応答として上記差分配布装置が配布した差分データを取得し、
上記差分記憶部は、上記記憶装置を用いて、上記差分取得部が取得した差分データを記憶することを特徴とする請求項5に記載の差分管理装置。
The difference management device further includes a difference request unit and a difference acquisition unit,
The difference request unit is configured to use the processing device when the combination application determination unit determines that the plurality of combination application difference data is not included in the difference data stored in the difference storage unit. A difference request that requests at least one of the difference data, the plurality of combined application difference data, and the supplemental difference data that can generate the single application difference data by combining with the difference data stored in the difference storage unit Notify the message to the differential distribution device,
The difference acquisition unit acquires the difference data distributed by the difference distribution device as a response to the difference request message notified by the difference request unit, using the processing device,
The difference management device according to claim 5, wherein the difference storage unit stores the difference data acquired by the difference acquisition unit using the storage device.
上記差分管理装置は、更に、要求取得部と、差分通知部とを有し、
上記要求取得部は、上記処理装置を用いて、上記第三の差分データを要求する差分要求メッセージを端末装置から取得し、
上記差分通知部は、上記差分合成部が生成した第三の差分データを上記端末装置に対して通知することを特徴とする請求項1乃至請求項6のいずれかに記載の差分管理装置。
The difference management device further includes a request acquisition unit and a difference notification unit,
The request acquisition unit acquires a difference request message for requesting the third difference data from the terminal device using the processing device,
The difference management device according to claim 1, wherein the difference notification unit notifies the terminal device of third difference data generated by the difference combining unit.
上記差分管理装置は、更に、旧版データ記憶部と、新版データ取得部と、差分生成部と、旧版データ更新部とを有し、
上記旧版データ記憶部は、上記記憶装置を用いて、上記有版データの旧版を記憶し、
上記新版データ取得部は、上記処理装置を用いて、上記有版データの新版を取得し、
上記差分生成部は、上記処理装置を用いて、上記旧版データ記憶部が記憶した有版データの旧版と、上記新版データ取得部が取得した有版データの新版との間の差分データを生成し、
上記差分記憶部は、上記記憶装置を用いて、上記差分生成部が生成した差分データを記憶し、
上記旧版データ更新部は、上記処理装置を用いて、上記旧版データ記憶部が記憶した有版データを更新して、上記新版データ取得部が取得した有版データの新版を記憶させることを特徴とする請求項1乃至請求項7のいずれかに記載の差分管理装置。
The difference management device further includes an old version data storage unit, a new version data acquisition unit, a difference generation unit, and an old version data update unit,
The old version data storage unit stores the old version of the version data using the storage device,
The new version data acquisition unit uses the processing device to acquire a new version of the plate data,
The difference generation unit generates difference data between the old version of the plate data stored in the old version data storage unit and the new version of the plate data acquired by the new version data acquisition unit using the processing device. ,
The difference storage unit stores the difference data generated by the difference generation unit using the storage device,
The old version data update unit updates the plate data stored in the old version data storage unit using the processing device, and stores the new version of the plate data acquired by the new version data acquisition unit. The difference management device according to any one of claims 1 to 7.
上記差分生成部は、上記処理装置を用いて、上記有版データの旧版を新版に更新するための順方向差分データと、上記有版データの新版を旧版に戻すための逆方向差分データとを生成し、
上記差分記憶部は、上記記憶装置を用いて、上記差分生成部が生成した順方向差分データと逆方向差分データとを記憶することを特徴とする請求項8に記載の差分管理装置。
The difference generation unit uses the processing device to obtain forward direction difference data for updating the old version of the plate data to a new version and reverse direction data for returning the new version of the version data to the old version. Generate
The difference management device according to claim 8, wherein the difference storage unit stores the forward difference data and the backward difference data generated by the difference generation unit using the storage device.
データを記憶する記憶装置とデータを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項9のいずれかに記載の差分管理装置として機能することを特徴とするコンピュータプログラム。   When executed by a computer having a storage device for storing data and a processing device for processing data, the computer functions as the difference management device according to any one of claims 1 to 9. Computer program. データを記憶する記憶装置とデータを処理する処理装置とを有する差分管理装置が、3以上の版を有する有版データについて、上記有版データの2つの版の間の差分を表わす差分データを管理する差分管理方法において、
上記記憶装置が、上記有版データの第一の版と第二の版との間の差分を表わす第一の差分データと、上記有版データの第二の版と第三の版との間の差分を表わす第二の差分データとを記憶し、
上記処理装置が、上記記憶装置が記憶した第一の差分データと第二の差分データとを合成して、上記有版データの第一の版と第三の版との間の差分を表わす第三の差分データを生成することを特徴とする差分管理方法。
A difference management device having a storage device for storing data and a processing device for processing data manages difference data representing differences between the two versions of the plate data for plate data having three or more versions. In the difference management method to
Between the first difference data representing the difference between the first version and the second version of the plate data, and the second version and the third version of the plate data. Second difference data representing the difference of
The processing device synthesizes the first difference data and the second difference data stored in the storage device, and represents a difference between the first version and the third version of the plate data. A difference management method characterized by generating third difference data.
JP2009266352A 2009-11-24 2009-11-24 Difference management apparatus, computer program, and difference management method Expired - Fee Related JP5729901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009266352A JP5729901B2 (en) 2009-11-24 2009-11-24 Difference management apparatus, computer program, and difference management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009266352A JP5729901B2 (en) 2009-11-24 2009-11-24 Difference management apparatus, computer program, and difference management method

Publications (2)

Publication Number Publication Date
JP2011113123A true JP2011113123A (en) 2011-06-09
JP5729901B2 JP5729901B2 (en) 2015-06-03

Family

ID=44235438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009266352A Expired - Fee Related JP5729901B2 (en) 2009-11-24 2009-11-24 Difference management apparatus, computer program, and difference management method

Country Status (1)

Country Link
JP (1) JP5729901B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073417A (en) * 2011-09-28 2013-04-22 Clarion Co Ltd Method and system for arranging object data, server device thereof, client device, and program
JP2016051292A (en) * 2014-08-29 2016-04-11 株式会社スクウェア・エニックス Patch application system, patch application program, patch providing device, and patch application method
WO2019111907A1 (en) * 2017-12-06 2019-06-13 クラリオン株式会社 Updating device and updating system
WO2020053928A1 (en) * 2018-09-10 2020-03-19 三菱電機株式会社 Air conditioning system and program update method for air conditioning system
CN112486561A (en) * 2020-11-25 2021-03-12 北京电力交易中心有限公司 Version backtracking method and device based on block chain and related equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187206A (en) * 1992-12-21 1994-07-08 Fuji Xerox Co Ltd File control unit
JP2006031455A (en) * 2004-07-16 2006-02-02 Nec Corp Software update system and method of mobile terminal using e-mail, and server system
JP2008041112A (en) * 2007-09-26 2008-02-21 Mitsubishi Electric Corp Difference data generator, method and program for generating difference data of difference data generator
JP2008165377A (en) * 2006-12-27 2008-07-17 Nec Corp Terminal management system, method and program
JP2009086853A (en) * 2007-09-28 2009-04-23 Fujitsu Social Science Laboratory Ltd Data composition processor, program, and processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187206A (en) * 1992-12-21 1994-07-08 Fuji Xerox Co Ltd File control unit
JP2006031455A (en) * 2004-07-16 2006-02-02 Nec Corp Software update system and method of mobile terminal using e-mail, and server system
JP2008165377A (en) * 2006-12-27 2008-07-17 Nec Corp Terminal management system, method and program
JP2008041112A (en) * 2007-09-26 2008-02-21 Mitsubishi Electric Corp Difference data generator, method and program for generating difference data of difference data generator
JP2009086853A (en) * 2007-09-28 2009-04-23 Fujitsu Social Science Laboratory Ltd Data composition processor, program, and processing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073417A (en) * 2011-09-28 2013-04-22 Clarion Co Ltd Method and system for arranging object data, server device thereof, client device, and program
JP2016051292A (en) * 2014-08-29 2016-04-11 株式会社スクウェア・エニックス Patch application system, patch application program, patch providing device, and patch application method
WO2019111907A1 (en) * 2017-12-06 2019-06-13 クラリオン株式会社 Updating device and updating system
WO2020053928A1 (en) * 2018-09-10 2020-03-19 三菱電機株式会社 Air conditioning system and program update method for air conditioning system
CN112486561A (en) * 2020-11-25 2021-03-12 北京电力交易中心有限公司 Version backtracking method and device based on block chain and related equipment
CN112486561B (en) * 2020-11-25 2024-03-22 北京电力交易中心有限公司 Version backtracking method and device based on block chain and related equipment

Also Published As

Publication number Publication date
JP5729901B2 (en) 2015-06-03

Similar Documents

Publication Publication Date Title
US11409703B2 (en) File versions within content addressable storage
US9690671B2 (en) Manifest-based snapshots in distributed computing environments
US9612919B2 (en) Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8612393B2 (en) Application server provisioning system and method based on disk image profile
US11360938B2 (en) Files having unallocated portions within content addressable storage
US7681076B1 (en) Method and an apparatus to perform fast log replay
US6374400B1 (en) Code server
JP5729901B2 (en) Difference management apparatus, computer program, and difference management method
EP0752660A1 (en) Client-server computer system and method utilizing a local client disk drive as a data cache
JP2013511766A (en) Apparatus and method for loading and updating code of a cluster-based JAVA application system
US20080126444A1 (en) Hybrid computer restore using network service
US20040128269A1 (en) System and method for managing data through families of inter-related metadata tables
US20080104198A1 (en) Extensible cache-safe links to files in a web page
CA2509008A1 (en) System and method for transport of objects utilizing ldap directory structure
US11537617B2 (en) Data system configured to transparently cache data of data sources and access the cached data
CN111200634B (en) Cache resource linkage updating method, system and server
US8266189B2 (en) Adapting between coupled and decoupled provider interfaces
US20090006619A1 (en) Directory Snapshot Browser
US20200084273A1 (en) Granular entry self-healing
US6928466B1 (en) Method and system for identifying memory component identifiers associated with data
US8630982B2 (en) Individual object restore
US8719812B1 (en) Methods, systems, and computer readable media for dynamically modifying and utilizing a software package description for software installation
WO2018090249A1 (en) Log-structured storage method and server
US20160323379A1 (en) Distributed storage of software images in computing systems
US11157459B2 (en) Granular data self-healing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140418

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140428

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20140704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150407

R150 Certificate of patent or registration of utility model

Ref document number: 5729901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees