JP2007219768A - Device and program for generating difference, and device and program for applying difference - Google Patents

Device and program for generating difference, and device and program for applying difference Download PDF

Info

Publication number
JP2007219768A
JP2007219768A JP2006038679A JP2006038679A JP2007219768A JP 2007219768 A JP2007219768 A JP 2007219768A JP 2006038679 A JP2006038679 A JP 2006038679A JP 2006038679 A JP2006038679 A JP 2006038679A JP 2007219768 A JP2007219768 A JP 2007219768A
Authority
JP
Japan
Prior art keywords
similar
information
block
difference
pattern
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
JP2006038679A
Other languages
Japanese (ja)
Other versions
JP4791205B2 (en
Inventor
Satoshi Mitsui
聡 三井
Ryozo Kiyohara
良三 清原
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 JP2006038679A priority Critical patent/JP4791205B2/en
Publication of JP2007219768A publication Critical patent/JP2007219768A/en
Application granted granted Critical
Publication of JP4791205B2 publication Critical patent/JP4791205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a difference generation device which reduces differential information, and a difference application device which applies differential information generated by the difference generating device. <P>SOLUTION: The difference generation device 100 has a similar block extraction part 110 which extracts similar block information and different block information; a similar pattern conversion part 120 which converts similar patterns that express matching and mismatching parts of new and old version data with binary data sequences to generate converted similar patterns; and a differential information generation part 130 which generates differential information from the converted similar block information, the similar block information and the different block information. The difference application device 200 has a differential information analysis part 210 which generates converted similar block information, similar block information and different block information from the differential information generated by the difference generation device 100, a similar pattern reverse conversion part 220 which reverse-converts the converted similar patterns to generate similar patterns, and a differential information application part 230 which reproduces new version data from the similar block information, the different block information and old version data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、各種データについて新旧バージョン間の差分を抽出して差分情報を生成する差分生成装置、および旧版データに差分情報を適用して新版データを再生する差分適用装置に関する。   The present invention relates to a difference generation device that extracts differences between new and old versions of various data and generates difference information, and a difference application device that applies difference information to old version data and reproduces new version data.

パーソナルコンピュータや組込み機器(携帯電話、カーナビゲーションシステムなど)などの装置では、プロセッサによって扱われるプログラムなどのデータを更新(バージョンアップ)することがある。バージョンアップの際には、「記憶媒体や通信網を介して旧版(更新前)データと新版(更新後)データの差分情報を装置に送り、装置内で差分情報を旧版データに適用して新版データを生成する」という方法が一般的である。なお、旧版データと新版データとの差分情報は、バージョンアップ対象の装置(差分適用装置)とは別の装置(差分生成装置)においてあらかじめ生成される。   In an apparatus such as a personal computer or an embedded device (such as a mobile phone or a car navigation system), data such as a program handled by a processor may be updated (version up). When upgrading, send the difference information between the old version (before update) data and the new version (after update) data to the device via the storage medium or communication network, and apply the difference information to the old version data in the device. The method of “generating data” is common. The difference information between the old version data and the new version data is generated in advance in a device (difference generation device) different from the device to be upgraded (difference application device).

通信帯域の狭い無線網などを使用して差分情報を装置に送付するようなシステムにおいては特に、差分情報のサイズは小さいことが望ましい。そして、差分情報の表現方法、抽出方法を工夫することによって、差分情報のサイズを小さくすることが可能である。   Particularly in a system in which difference information is sent to a device using a wireless network with a narrow communication band, the size of the difference information is desirably small. The size of the difference information can be reduced by devising a method for expressing and extracting the difference information.

図23は旧版データ901と新版データ902の一部を示す図である。各種データ、特に組込み機器向けプログラムデータなどのバージョンアップに際しては、図23に示すように旧版データ中のブロック903が新版データでは別の位置904に移動して、且つ、移動した先では飛び飛びでデータの内容が変更になっている、というパターンが多く見られる。このパターンの多くは、「データ内参照を行っている箇所が位置ずれによって変更になっている」という場合である。図23では変更箇所911、912、913、914がデータ内容が変更になっている。   FIG. 23 is a diagram showing a part of the old version data 901 and the new version data 902. When upgrading various data, especially program data for embedded devices, the block 903 in the old version data moves to another position 904 in the new version data as shown in FIG. There are many patterns that the contents of have been changed. Many of these patterns are cases where “the location where the reference is made in the data has been changed due to the positional deviation”. In FIG. 23, the data contents of changed portions 911, 912, 913, and 914 are changed.

図24は従来例による差分情報951,952を示す図である。図23に示す旧版データ901と新版データ902とに対する差分情報として、一般的な差分データ表現方法による差分情報を図24に基づいて説明する。一般的な差分情報表現方法としては、例えばWalter F.Tichyの論文「The String−to−String Correction Problem with Block Moves」がある。この表現方法は、旧版データの一部、あるいは全部からデータを移動して新版データにコピーすることを意味するMove命令と、新版データに当該差分情報中に記述したデータを追加することを意味するAdd命令とを差分情報表現に用いる方法である。   FIG. 24 is a diagram showing difference information 951 and 952 according to the conventional example. As difference information for the old version data 901 and the new version data 902 shown in FIG. 23, difference information by a general difference data expression method will be described with reference to FIG. As a general difference information expression method, for example, Walter F. et al. There is a paper by Tichy "The String-to-String Correction Problem with Block Moves". This expression method means a move instruction that means that data is moved from a part or all of the old version data and copied to the new version data, and that data described in the difference information is added to the new version data. This is a method of using an Add instruction for differential information expression.

図23の例に適用すると(ただし図示するブロックの範囲に限定)、図24に示すような差分情報951で旧版データと新版データの間の差分を表現できる。詳細には、変更箇所911〜914に対するAdd命令と、これらの変更箇所の間の部分を示すMove命令の繰り返しで表現することができる。Move命令には旧版データにおける位置情報が必要となるため、図24のようにMove命令とAdd命令が交互に現れるようなケースではMove命令の位置情報(0x300等)が差分データサイズ増加の要因の一つとなってしまう。   When applied to the example of FIG. 23 (however, it is limited to the block range shown in the figure), the difference information 951 as shown in FIG. 24 can express the difference between the old version data and the new version data. Specifically, it can be expressed by repeating an Add instruction for the changed portions 911 to 914 and a Move instruction indicating a portion between the changed portions. Since the Move instruction requires position information in the old version data, in the case where the Move instruction and the Add instruction appear alternately as shown in FIG. 24, the Move instruction position information (such as 0x300) is the cause of the increase in the difference data size. It becomes one.

特許文献1では、Move命令の位置情報により差分データサイズが増加することに対して、Move命令には新版データと旧版データのオフセット情報を用い、Move命令を表現する際には直前のMove命令のオフセット情報を参照し、オフセットが同じ場合は1ビットのフラグを立てて直前のMove命令とオフセットが同じであることを示すことで、Move命令のオフセット情報を省略するという方法が開示されている。本方法によれば、Move命令を表現するために必要なデータ量を小さくすることが出来る。図24の差分情報952は、この方法による場合を示している。   In Patent Document 1, the difference data size increases due to the position information of the Move instruction. On the other hand, the offset information of the new edition data and the old edition data is used for the Move instruction, and when the Move instruction is expressed, A method is disclosed in which the offset information of the Move instruction is omitted by referring to the offset information and setting a 1-bit flag to indicate that the offset is the same as the previous Move instruction when the offset is the same. According to this method, the amount of data necessary for expressing the Move instruction can be reduced. The difference information 952 in FIG. 24 shows a case according to this method.

しかしながら、特許文献1の方法でも変更箇所の数だけAdd命令とMove命令が必要となること自体は変わらないため、飛び飛びで変更になるデータの箇所数が非常に多い場合には差分情報のサイズは大きくなってしまうという課題が残る。   However, the method of Patent Document 1 does not change that the Add instruction and the Move instruction are required as many as the number of changed parts. Therefore, when the number of data parts to be changed is very large, the size of the difference information is The problem of becoming larger remains.

特許文献2では、プログラム等に代表されるようなデータ内参照を有しているデータに対して、前記のAdd命令とMove命令の繰り返しを回避する方法が開示されている。特許文献2の方法における差分情報を抽出する側では、データ内参照に相当する箇所をマークしてから新版データと旧版データの比較を行うことで、データ内参照に相当する箇所を差分情報に含まないようにする。差分情報を適用する側ではデータ内参照に相当する箇所を検出し、位置移動の情報からデータ内参照に相当する箇所の差分を自動的に再生することで新版データを生成する。こうすることによって、データ内参照に起因する前記の図23のような変更パターンに対して、Add命令とMove命令の繰り返しを回避することが可能となる。   Patent Document 2 discloses a method for avoiding the repetition of the Add instruction and the Move instruction for data having an in-data reference such as a program. On the side of extracting the difference information in the method of Patent Document 2, the portion corresponding to the in-data reference is included in the difference information by marking the portion corresponding to the in-data reference and comparing the new version data and the old version data. Do not. On the side to which the difference information is applied, a portion corresponding to the reference in the data is detected, and new version data is generated by automatically reproducing the difference in the portion corresponding to the reference in the data from the position movement information. By doing so, it is possible to avoid the repetition of the Add instruction and the Move instruction for the change pattern as shown in FIG. 23 caused by the in-data reference.

しかしながら、特許文献2の方法では、更新対象とするデータの中でどの箇所がデータ内参照であるかという知識、つまり更新対象データの構造的知識を前提としているため、汎用的ではないと言う課題がある。
特開2004−152136号公報 米国特許6,546,552号
However, the method of Patent Document 2 is based on the premise of knowledge of which part of the data to be updated is a reference in the data, that is, the structural knowledge of the data to be updated. There is.
JP 2004-152136 A US Pat. No. 6,546,552

本発明は、従来の技術では差分情報を小さいサイズで表現できないあるいは、更新対象データの構造的知識を前提としてのみ差分情報を小さいサイズで表現できるような更新パターンにおいて、更新対象データの構造的知識を前提とせずに差分情報を小さく表現できるようにすることを目的とする。   The present invention provides the structural knowledge of the update target data in the update pattern in which the difference information cannot be expressed in a small size by the conventional technique, or the difference information can be expressed in a small size only on the premise of the structural knowledge of the update target data. It is an object of the present invention to make it possible to express difference information small without assuming the above.

この発明の差分生成装置は、
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、
抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、
生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
を備えたことを特徴とする。
The difference generator of the present invention is
In a difference generation device that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data,
Generation of block difference information including a similar pattern in which a match between the extracted similar block and the data string of the old version data is expressed by a binary data string, and indicating a difference of the similar block with respect to the data string of the old version data A similar block extractor for generating similar block information usable for
A similar pattern after conversion is generated by converting the similar pattern included in the similar block information generated by the similar block extraction unit using a predetermined conversion rule,
A similar pattern conversion unit that generates converted similar block information that can be used to generate the block difference information by replacing the generated similar pattern after conversion with the similar pattern included in the similar block information;
And a difference information generating unit that generates the block difference information using the converted similar block information generated by the similar pattern converting unit.

本発明によれば、従来の技術では差分データを小さいデータサイズで表現できなかったような更新パターンに対して、小さいデータサイズで差分情報を表現できる。   According to the present invention, difference information can be expressed with a small data size with respect to an update pattern in which the difference data cannot be expressed with a small data size in the prior art.

実施の形態1.
図1〜図16を用いて実施の形態1を説明する。旧版データから新版データに移動する(更新される)ブロックにおいて、差異箇所が分散していることが差分情報のデータサイズ増加の原因である。そこで、本実施の形態1では、ブロック内の差異箇所の表現を工夫することによって、差分情報のデータサイズを小さくする。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS. In the block that is moved (updated) from the old version data to the new version data, the difference points are dispersed, which is the cause of the increase in the data size of the difference information. Therefore, in the first embodiment, the data size of the difference information is reduced by devising the expression of the difference portion in the block.

図1は、この実施の形態1における差分抽出適用システム1000のシステム構成図である。差分抽出適用システム1000は、各種データについて新旧バージョン間の差分を抽出して差分情報を生成する差分生成装置の一例であるサーバ装置100aと、サーバ装置100aが生成した差分情報を旧版データに適用して新版データを再生する差分適用装置の一例である携帯電話200a、ユーザ端末装置200bを備える。サーバ装置100aが生成した差分情報は、インターネットなどのネットワークを介して携帯電話200aやユーザ端末装置200bの差分適用装置に送られる。あるいは、サーバ装置100aが生成した差分情報は、CD(Compact Disk)などの記録媒体により携帯電話200aやユーザ端末装置200bのユーザに配布されてもよい。   FIG. 1 is a system configuration diagram of a difference extraction application system 1000 according to the first embodiment. The difference extraction application system 1000 applies the difference information generated by the server apparatus 100a, which is an example of a difference generation apparatus that extracts difference between new and old versions of various data and generates difference information, to the old version data. Mobile phone 200a and user terminal device 200b, which are examples of a difference application device that reproduces new version data. The difference information generated by the server device 100a is sent to the difference application device of the mobile phone 200a or the user terminal device 200b via a network such as the Internet. Alternatively, the difference information generated by the server device 100a may be distributed to users of the mobile phone 200a and the user terminal device 200b by a recording medium such as a CD (Compact Disk).

図2は、コンピュータであるサーバ装置100a(差分生成装置)の外観の一例を示す図である。なお、ユーザ端末装置200b(差分適用装置)もコンピュータであり、図2のサーバ装置100aと同様の構成である。携帯電話200a(差分適用装置)は図2とは外観は異なるものの、処理装置(CPU:Central・Processing・Unit)、入出力装置、記憶装置を備えたコンピュータであることはもちろんである。   FIG. 2 is a diagram illustrating an example of an appearance of the server apparatus 100a (difference generation apparatus) that is a computer. Note that the user terminal device 200b (difference application device) is also a computer and has the same configuration as the server device 100a of FIG. The mobile phone 200a (difference application device) is of course a computer having a processing device (CPU: Central Processing Unit), an input / output device, and a storage device, although the appearance is different from that of FIG.

図2において、サーバ装置100aは、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。   2, the server device 100a includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (Key / Board: K / B), a mouse 815, Hardware resources such as an FDD 817 (Flexible Disk Drive), a compact disk device 818 (CDD: Compact Disk Drive), and a printer device 819 are provided, and these are connected by cables and signal lines.

システムユニット830は、コンピュータであり、また、ローカルエリアネットワーク(LAN)、を介してインターネットに接続されている。サーバ装置100aは、インターネットを介して携帯電話200a,ユーザ端末装置200bと通信可能である。   The system unit 830 is a computer and is connected to the Internet via a local area network (LAN). The server device 100a can communicate with the mobile phone 200a and the user terminal device 200b via the Internet.

図3は、実施の形態1におけるサーバ装置100aのハードウェア資源の一例を示す図である。図3において、サーバ装置100aは、プログラムを実行するCPU810(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。   FIG. 3 is a diagram illustrating an example of hardware resources of the server device 100a according to the first embodiment. In FIG. 3, the server apparatus 100a includes a CPU 810 (also referred to as a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, or a processor) that executes a program. The CPU 810 includes a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, an FDD 817, a CDD 818, a printer device 819, and a magnetic disk device 820 via a bus 825. And control these hardware devices. Instead of the magnetic disk device 820, a storage device such as an optical disk device or a memory card read / write device may be used.

RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。   The RAM 812 is an example of a volatile memory. The storage media of the ROM 811, the FDD 817, the CDD 818, and the magnetic disk device 820 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit. The communication board 816, the keyboard 814, the FDD 817, and the like are examples of an input unit and an input device. The communication board 816, the display device 813, the printer device 819, and the like are examples of an output unit and an output device.

通信ボード816は、LAN等に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。   The communication board 816 is connected to a LAN or the like. The communication board 816 may be connected not only to the LAN but also to a WAN (wide area network) such as the Internet or ISDN.

磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。   The magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824. The programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.

上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。   The program group 823 stores programs for executing functions described as “˜unit” and “˜means” in the description of the embodiments described below. The program is read and executed by the CPU 810.

ファイル群824には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。また、差分生成装置の場合には、旧版データ、新版データ、類似ブロック情報、相違ブロック情報、変換後ブロック情報、あるいは変換ルールなどのデータ、情報が「〜ファイル」や「〜データベース」の各項目として記憶されている。また、差分適用装置の場合には、差分生成装置に対して新版データを除く、旧版データ、類似ブロック情報、相違ブロック情報、変換後ブロック情報、あるいは逆変換のルールなどのデータ、情報が「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   The file group 824 includes information, data, signal values, variable values, and the like described in “determination results of”, “calculation results of”, and “processing results of” in the description of the embodiments described below. Parameters are stored as items of “˜file” and “˜database”. Also, in the case of a difference generation device, data such as old version data, new version data, similar block information, different block information, post-conversion block information, or conversion rules, and information such as "~ file" and "~ database" Is remembered as Further, in the case of a difference application device, data and information such as old version data, similar block information, different block information, post-conversion block information, or inverse conversion rules are excluded from the new generation data with respect to the difference generation device. It is stored as each item 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 810 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 stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, display, and extraction. Temporarily stored.

また、以下に述べる実施の形態の説明においては、主としてデータや信号の入出力を示し、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。   In the description of the embodiments described below, input / output of data and signals is mainly shown. The data and signal values are the RAM 812 memory, the FDD 817 flexible disk, the CDD 818 compact disk, and the magnetic disk device 820 magnetic disk. In addition, it is recorded on a recording medium such as an optical disc, a mini disc, and a DVD (Digital Versatile Disc). Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.

また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “to part” and “to means” in the description of embodiments described below may be “to circuit”, “to apparatus”, “to apparatus”, and “means”. Also, “˜step”, “˜procedure”, and “˜processing” may be used. That is, what is described as “˜unit” and “˜means” may be realized by firmware stored in the ROM 811. 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 810 and executed by the CPU 810. That is, the program causes the computer to function as “to part” and “to means” described below. Alternatively, the procedure or method of “˜unit” and “˜means” described below is executed by a computer.

図4は、差分生成装置100と差分適用装置200との構成を示すブロック図である。差分生成装置100は、類似ブロック抽出部110と、類似パターン変換部120と、差分情報生成部130とを備える。差分適用装置200は、差分情報解析部210と、類似パターン逆変換部220と、差分情報適用部230とを備える。これら要素の動作は後述する。   FIG. 4 is a block diagram illustrating configurations of the difference generation device 100 and the difference application device 200. The difference generation device 100 includes a similar block extraction unit 110, a similar pattern conversion unit 120, and a difference information generation unit 130. The difference application apparatus 200 includes a difference information analysis unit 210, a similar pattern inverse conversion unit 220, and a difference information application unit 230. The operation of these elements will be described later.

図4に示すように、差分生成装置100は、旧版データ101と新版データ102とから、最終的に差分情報109を生成する。また、差分適用装置200は、差分情報151と旧版データ158とから、新版データ160を再生する。ここで、差分適用装置200の差分情報151は、差分生成装置100の生成した差分情報109と同一であることを前提としている。   As shown in FIG. 4, the difference generation device 100 finally generates difference information 109 from the old version data 101 and the new version data 102. Further, the difference application device 200 reproduces the new version data 160 from the difference information 151 and the old version data 158. Here, it is assumed that the difference information 151 of the difference application device 200 is the same as the difference information 109 generated by the difference generation device 100.

図5は、差分生成装置100の動作の概要を示すフローチャートである。差分生成装置100では、S100において、類似ブロック抽出部110が、予め定められた所定の規則に基づいて、新版データ全体を「類似ブロック」と「相違ブロック」とに分割する。「類似ブロック」、「相違ブロック」については後述する。S200において、類似パターン変換部120が、「類似パターン」を変換して「変換後類似パターン」を生成する。「類似パターン」、「変換後類似パターン」については後述する。S300において、差分情報生成部130が、差分情報を生成する。   FIG. 5 is a flowchart showing an outline of the operation of the difference generation device 100. In the difference generation device 100, in S100, the similar block extraction unit 110 divides the entire new version data into “similar blocks” and “different blocks” based on a predetermined rule. “Similar blocks” and “different blocks” will be described later. In S200, the similar pattern conversion unit 120 converts the “similar pattern” to generate the “similar pattern after conversion”. The “similar pattern” and “similar pattern after conversion” will be described later. In S300, the difference information generation unit 130 generates difference information.

図6は、類似ブロック抽出部110の動作を説明するフローチャートである。このフローチャートを用いて類似ブロック抽出部110の動作を説明する。   FIG. 6 is a flowchart for explaining the operation of the similar block extraction unit 110. The operation of the similar block extraction unit 110 will be described using this flowchart.

差分生成装置100による差分抽出に当たっては、図4に示すように、類似ブロック抽出部110が旧版データ101と新版データ102とを比較する。類似ブロック抽出部110は、比較によって、新版データ102全体を旧版データに類似ブロックの存在する類似ブロックと、旧版に類似ブロックが存在しない相違ブロックに分割する(S101)。ここで「ブロック」とは、任意長の部分データ列を意味する。また、以下では類似ブロック、相違ブロックという場合は、新版データ側のブロックを意味する。   In the difference extraction by the difference generation device 100, the similar block extraction unit 110 compares the old version data 101 and the new version data 102 as shown in FIG. By comparison, the similar block extraction unit 110 divides the entire new version data 102 into similar blocks in which similar blocks exist in the old version data and different blocks in which similar blocks do not exist in the old version (S101). Here, “block” means a partial data string having an arbitrary length. In the following description, similar blocks and different blocks mean blocks on the new edition data side.

(類似ブロック抽出の具体的説明)
図7を用いて、類似ブロック抽出部110の動作を具体的に説明する。図7は、旧版データ301と新版データ351との具体例を示す図である。
(Specific explanation of similar block extraction)
The operation of the similar block extraction unit 110 will be specifically described with reference to FIG. FIG. 7 is a diagram showing a specific example of the old version data 301 and the new version data 351.

類似ブロック抽出部110は、図7に示す旧版データ301と新版データ351とを比較し、新版データ351を類似ブロック362、364、366と、相違ブロック361、363、365とに分割する(S101)。例えば、類似ブロック362は旧版データ301のブロック311と比較すると16バイトうち13バイトが一致するので、類似ブロック抽出部110は、類似とみなしている。類似ブロックには類似ブロック366のように旧版データのブロック(類似ブロック366に対してはブロック314)と完全に一致する場合も含まれる。一方、相違ブロックは旧版に類似ブロックが見つからないブロックであり、言い換えると、相違ブロックとは、新版データ351の内、類似ブロックに含まれない部分である。   The similar block extraction unit 110 compares the old version data 301 and the new version data 351 shown in FIG. 7, and divides the new version data 351 into similar blocks 362, 364, and 366 and different blocks 361, 363, and 365 (S101). . For example, since the similar block 362 matches 13 bytes out of 16 bytes as compared with the block 311 of the old version data 301, the similar block extraction unit 110 regards it as similar. The similar block includes a case where it completely matches the block of the old version data (block 314 for the similar block 366) like the similar block 366. On the other hand, the different block is a block in which a similar block is not found in the old version. In other words, the different block is a part of the new version data 351 that is not included in the similar block.

(類似ブロックの抽出方法)
類似ブロックを抽出する方法は様々考えられるが、本実施の形態1では類似ブロック抽出部110が、次に示すような手順で類似ブロックを抽出する。
(Similar block extraction method)
There are various methods for extracting similar blocks. In the first embodiment, the similar block extracting unit 110 extracts similar blocks by the following procedure.

類似ブロック抽出部110は、新版データの先頭から順に、旧版データから3バイト以上連続して一致する部分データ列を検索する。図7の例では、最初に見つかるのは新版データ351の9バイト目と旧版データ301の1バイト目にある“FF EE DD”である。類似ブロック抽出部110は、一致箇所を見つけると、次は、その一致箇所を後方に延長していって類似ブロックを決定する。途中で不一致箇所が見つかった場合、例えば、3バイト以上の不一致箇所が連続すると、その不一致箇所の直前までを類似ブロックとする。そして、2バイト以下であれば引き続き後方に類似ブロックを延長する。前記“FF EE DD”の例では、後方に延長していくと新版データ351の17バイト目で新版“BB”と旧版“77”のように不一致箇所が見つかる。この場合、類似ブロック抽出部110は、不一致箇所は連続して1バイトのみなので、後方に類似ブロックを延長していく。最終的には新版データ351の25バイト目からの新版“12 34 56”と旧版データ301の“01 23 45”で3バイト連続する不一致箇所が見つかり、類似ブロックはその直前までとなり、すなわち類似ブロック抽出部110は、このブロックを類似ブロックと判定する。以降も同様の方法によって類似ブロック抽出部110は、類似ブロック364、366を抽出することができる。   The similar block extraction unit 110 searches for partial data strings that match three or more bytes continuously from the old version data in order from the top of the new version data. In the example of FIG. 7, “FF EE DD” in the ninth byte of the new edition data 351 and the first byte of the old edition data 301 is found first. When the similar block extraction unit 110 finds a matching portion, next, the similar portion is extended backward to determine a similar block. If a mismatched part is found on the way, for example, if a mismatched part of 3 bytes or more continues, the block immediately before the mismatched part is regarded as a similar block. If it is 2 bytes or less, the similar block is continuously extended backward. In the example of “FF EE DD”, when extended backward, a mismatched portion such as the new version “BB” and the old version “77” is found at the 17th byte of the new version data 351. In this case, the similar block extraction unit 110 extends the similar block backward because the mismatched portions are only one byte continuously. Eventually, an unmatched part of 3 bytes is found in the new version “12 34 56” from the 25th byte of the new version data 351 and “01 23 45” of the old version data 301, and the similar block is immediately before that, that is, the similar block The extraction unit 110 determines this block as a similar block. Thereafter, the similar block extraction unit 110 can extract the similar blocks 364 and 366 by the same method.

(類似ブロック抽出の別の方法)
以上、類似ブロック抽出部110が新版データから類似ブロックを抽出する方法(S101)の例を示した。類似ブロック抽出部110による類似ブロックを抽出する方法は、上記の方法に限定されるものではない。上記の方法以外にも例えば、Walter F.Tichyの論文「The String−to−String Correction Problem with Block Moves」に記載の方法を用いて、次のように抽出できる。すなわち、Add命令とMove命令からなる差分情報を生成し、Add命令を挟んで隣接するMove命令の内、同一オフセットからの移動であるMove命令対象領域を統合して類似ブロックとみなす、と言った方法も考えられる。図3(従来の図)に示す差分情報251の場合、5つあるMove命令は全て同一オフセットからの移動であり、5つのMove命令の示す領域プラスそれらに挟まれるAdd命令の領域を統合して類似ブロックとみなす。
(Another method for extracting similar blocks)
The example of the method (S101) in which the similar block extraction unit 110 extracts similar blocks from the new version data has been described above. The method of extracting similar blocks by the similar block extracting unit 110 is not limited to the above method. Besides the above method, for example, Walter F. et al. Using the method described in Tichy's paper “The String-to-String Correction Problem with Block Moves”, it can be extracted as follows. That is, the difference information composed of the Add instruction and the Move instruction is generated, and among the Move instructions adjacent to each other with the Add instruction, the Move instruction target area that is moved from the same offset is integrated and regarded as a similar block. A method is also conceivable. In the case of the difference information 251 shown in FIG. 3 (conventional diagram), all five Move instructions are movements from the same offset, and the area indicated by the five Move instructions plus the area of the Add instruction sandwiched between them is integrated. Consider similar blocks.

(ブロック情報の説明)
以上のようにして、類似ブロック抽出部110は、図4に示すように新版データ102を類似ブロックと相違ブロックとに分割する。類似ブロック抽出部110は、さらに、それぞれの類似ブロックからそれぞれの類似ブロック情報104を生成するとともに、それぞれの相違ブロックからそれぞれの相違ブロック情報105を生成する(S102)。これを説明する。
(Explanation of block information)
As described above, the similar block extraction unit 110 divides the new version data 102 into similar blocks and different blocks as shown in FIG. The similar block extraction unit 110 further generates each similar block information 104 from each similar block and also generates each different block information 105 from each different block (S102). This will be explained.

図4に示す類似ブロック情報104は、例えば、
(1)類似ブロックの新版データ102内での先頭アドレス、
(2)サイズ、
(3)旧版データ101内での先頭アドレス、
(4)ブロック内の差異箇所の情報(類似パターン)、
(5)差異箇所のデータ情報
を含む。
The similar block information 104 shown in FIG.
(1) The start address in the new version data 102 of the similar block,
(2) size,
(3) Top address in the old version data 101,
(4) Information of similar parts in the block (similar pattern),
(5) Includes data information of differences.

図4に示す相違ブロック情報105は、
(1)相違ブロックの新版データ102内での先頭アドレス
(2)サイズ、
(3)ブロック内のデータ情報
を含む。
The different block information 105 shown in FIG.
(1) Start address in the new version data 102 of the different block (2) Size,
(3) Including data information in the block.

(類似ブロック情報の具体例)
図8は、図7における「類似ブロック情報」と「相違ブロック情報」の具体例を示す図である。図8の(a)〜(c)が類似ブロック情報であり、(d)〜(f)が相違ブロック情報である。類似ブロック情報362a、364a、366aは、図7の類似ブロック362、364、366にそれぞれ対応し、相違ブロック情報361a、363a、365aは図7の相違ブロック361,363,365にそれぞれ対応する。図8(a)の類似ブロック情報362aを例にとり説明する。(a)おいて、“0x8、16、0x10”は、それぞれ新版データ内での開始アドレス、サイズ、旧版データ内での開始アドレスを示している。また、“0000000010010010”は、「類似パターン」を表しており、“0”が一致箇所、“1”が差異箇所を示している。“BB AA 00”は、差異箇所に相当する類似ブロック362内のデータ情報である。類似ブロック情報364aも同様である。なお、類似ブロック情報366aの場合、対応する類似ブロック366では差異箇所がないため、類似ブロック情報366a内に「類似パターン」と差異箇所相当のデータ情報は記載されていない。
(Specific example of similar block information)
FIG. 8 is a diagram showing a specific example of “similar block information” and “different block information” in FIG. (A) to (c) in FIG. 8 are similar block information, and (d) to (f) are different block information. The similar block information 362a, 364a, and 366a correspond to the similar blocks 362, 364, and 366 in FIG. 7, respectively, and the different block information 361a, 363a, and 365a correspond to the different blocks 361, 363, and 365 in FIG. Description will be made by taking the similar block information 362a in FIG. 8A as an example. In (a), “0x8, 16, and 0x10” indicate the start address and size in the new version data, and the start address in the old version data, respectively. “0000000010010010” represents a “similar pattern”, where “0” indicates a matching portion and “1” indicates a difference portion. “BB AA 00” is data information in the similar block 362 corresponding to the difference portion. The same applies to the similar block information 364a. In the case of the similar block information 366a, since there is no difference portion in the corresponding similar block 366, “similar pattern” and data information corresponding to the difference portion are not described in the similar block information 366a.

(相違ブロック情報の具体例)
相違ブロック情報361aを例にとり相違ブロック情報を説明する。相違ブロック情報361aの“0x0、8”は、それぞれ新版データ内の開始アドレス、サイズを示している。また、“FF ・・・ FF”は、相違ブロック内の全データ情報を示している。相違ブロック情報363a、相違ブロック情報365aも同様である。
(Specific example of different block information)
The different block information will be described using the different block information 361a as an example. “0x0, 8” of the different block information 361a indicates the start address and size in the new version data, respectively. “FF... FF” indicates all data information in the different blocks. The same applies to the different block information 363a and the different block information 365a.

(類似パターン変換部120の動作)
図9は類似パターン変換部120の動作を示すフローチャートである。このフローチャートを参照して類似パターン変換部120の動作を説明する。類似ブロック抽出部110による処理が完了すると、次は類似パターン変換部120が処理を行う。
(1)まず、類似パターン変換部120は、類似ブロック情報内に類似パターンが存在しない、つまり旧版と新版とで全く同一な類似ブロック情報に対しては、処理を行わない(S201のNo)。その場合、処理を行なうことなく出力する。
(2)S201がYesの場合、つまり類似ブロック情報内に類似パターンが存在する場合、類似パターン変換部120は、それぞれの類似ブロック情報104に含まれる類似パターンの変換処理を行う(S202)。変換後の類似パターンを「変換後類似パターン」と呼ぶこととする。詳細は後述する。
(3)類似パターン変換部120は、類似パターンの変換処理によって生成した「変換後類似パターン」が、変換前の「類似パターン」を用いる場合よりも小さいデータサイズの差分情報(ブロック差分情報)を生成するかどうかを判断する(S203)。そして、小さくするほうのパターンを選択(決定)し「選択パターン」とする。類似パターン変換部120は「変換後類似パターン」を用いる方が、「類似パターン」を用いる場合よりも小さい差分情報(ブロック差分情報)を生成すると判断した場合(S203のYes)、
「変換後類似パターン」を選択パターンとして選択し、類似ブロック情報104内の「類似パターン」を選択パターンである「変換後類似パターン」に置き換えた「変換後類似ブロック情報107」を生成し(S204)、この変換後類似ブロック情報107を差分情報生成部130に渡す(S205)。
(4)一方、類似パターン変換部120は、判断の結果、「変換後類似パターン」が「類似パターン」より小さいデータサイズの差分情報を生成できないと判断した場合(S203のNo)には「類似パターン」を選択パターンとして選択して、「変換後類似ブロック情報107」を生成することなく、その「類似ブロック情報」を差分情報生成部130に出力する(S206)。
(Operation of Similar Pattern Conversion Unit 120)
FIG. 9 is a flowchart showing the operation of the similar pattern conversion unit 120. The operation of the similar pattern conversion unit 120 will be described with reference to this flowchart. When the processing by the similar block extraction unit 110 is completed, the similar pattern conversion unit 120 performs processing next.
(1) First, the similar pattern conversion unit 120 does not perform processing on similar block information in which there is no similar pattern in the similar block information, that is, exactly the same in the old version and the new version (No in S201). In that case, the data is output without being processed.
(2) If S201 is Yes, that is, if a similar pattern exists in the similar block information, the similar pattern conversion unit 120 performs a conversion process of the similar pattern included in each similar block information 104 (S202). The similar pattern after conversion is referred to as “post-conversion similar pattern”. Details will be described later.
(3) The similar pattern conversion unit 120 generates difference information (block difference information) having a smaller data size than the case where the “similar pattern after conversion” generated by the conversion process of the similar pattern uses the “similar pattern” before conversion. It is determined whether or not to generate (S203). Then, the smaller pattern is selected (determined) to be a “selected pattern”. When the similar pattern conversion unit 120 determines that the use of the “similar pattern after conversion” generates smaller difference information (block difference information) than the case of using the “similar pattern” (Yes in S203),
The “similar pattern after conversion” is selected as a selection pattern, and “similar pattern information 107 after conversion” is generated by replacing the “similar pattern” in the similar block information 104 with the “similar pattern after conversion” as the selection pattern (S204). The converted similar block information 107 is transferred to the difference information generation unit 130 (S205).
(4) On the other hand, if the similarity pattern conversion unit 120 determines that the difference information having a data size smaller than the “similar pattern” cannot be generated as a result of the determination (No in S203), “Pattern” is selected as the selected pattern, and the “similar block information” is output to the difference information generation unit 130 without generating the “converted similar block information 107” (S206).

(類似パターンの変換の具体例)
以下、図10〜図14を用いて、類似パターン変換部120による処理の具体例を説明する。説明の前に、本実施の形態1では「類似パターン」として二値のデータ列(以下、二値データ列という)を前提とする。類似パターン変換部120は、二値データ列の類似パターンに対してブロックソート法の符号化手法を適用し、(1)「類似パターンと同じ長さの整列後二値データ列」と、(2)「インデックス値」とから構成される「変換後類似パターン」を生成する。
(Specific example of similar pattern conversion)
Hereinafter, a specific example of processing performed by the similar pattern conversion unit 120 will be described with reference to FIGS. Before the description, the first embodiment assumes a binary data string (hereinafter referred to as a binary data string) as a “similar pattern”. The similar pattern conversion unit 120 applies the encoding method of the block sort method to the similar pattern of the binary data string, and (1) “an aligned binary data string having the same length as the similar pattern” and (2 ) Generate “similar pattern after conversion” composed of “index value”.

図10は、図8(a)の「類似パターン362a−1」と、(b)の「類似パターン364a−1」とを変換した「変換後類似パターン362b−1」、「変換後類似パターン364b−1」を示している。「類似パターン362a−1」は類似ブロック362の類似パターンであり、これにブロックソート法を適用すると、「二値データ列362b−2」と「インデックス値362b−3」とを得る。「二値データ列362b−2」と「インデックス値362b−3」とが、「変換後類似パターン362b−1」を構成する。「変換後類似パターン364b−1」についても同様である。   FIG. 10 shows “similar pattern 362b-1 after conversion” and “similar pattern 364b after conversion” obtained by converting “similar pattern 362a-1” of FIG. 8A and “similar pattern 364a-1” of FIG. -1 ". The “similar pattern 362a-1” is a similar pattern of the similar block 362, and when the block sort method is applied thereto, “binary data string 362b-2” and “index value 362b-3” are obtained. The “binary data string 362b-2” and the “index value 362b-3” form the “similar pattern after conversion 362b-1”. The same applies to “similar pattern after conversion 364b-1”.

ここで「ブロックソート法」は公知の技術なので符号化手法についてはここでは説明しないが、ブロックソート法によって符号化されたデータ列では、一般的に同じ値のデータが近くに集まる傾向があることが知られている。前記のように、「二値データ列362b−2」と「インデックス値362b−3」とを併せたものが「変換後類似パターン362b−1」となる。   Here, since the “block sort method” is a known technique, the encoding method will not be described here. However, in the data string encoded by the block sort method, there is generally a tendency that data of the same value is gathered nearby. It has been known. As described above, a combination of the “binary data string 362b-2” and the “index value 362b-3” is the “similar pattern 362b-1 after conversion”.

同様にして、図10に示すように、類似ブロック364の「類似パターン364a−1」に対しては、「ブロックソート法」による符号化という変換ルールを適用することにより、「二値データ列364b−2」と「インデックス値364b−3」とを得ることができる。「二値データ列364b−2」と「インデックス値364b−3」とが「変換後類似パターン364b−1」を構成する。なお、ブロックソート法の復号化手法を用いると「変換後類似パターン」から一意に「類似パターン」を復元できることが知られている。   Similarly, as shown in FIG. 10, “binary data string 364 b” is applied to “similar pattern 364 a-1” of similar block 364 by applying a conversion rule of encoding by “block sort method”. -2 "and" index value 364b-3 "can be obtained. “Binary data string 364b-2” and “index value 364b-3” constitute “converted similar pattern 364b-1”. It is known that the “similar pattern” can be uniquely restored from the “similar pattern after conversion” by using the decoding method of the block sort method.

類似パターン変換部120は、引き続き類似パターンと変換後類似パターンとを比較して、どちらがより小さい差分情報(ブロック差分情報)を生成できるかを判定する。本実施の形態1では、以下に示す命令群によって差分情報が表現されることを前提として差分情報のサイズを判定する。差分情報を表現するための命令として、図24の差分情報952で用いているようなMove命令(オフセットまたはフラグを使用)とAdd命令に加え、Bsort命令を使用するものとする。Bsort命令は「変換後類似パターン」を差分情報として表現するために用いる命令である。パラメータとして類似ブロックに対応する旧版データ内ブロックとのオフセット(Move命令のオフセットと同じ意味)と、類似ブロックのサイズと、類似パターンに適用したブロックソート符号化の結果として出力されるインデックス値を持つ。Bsort命令の後には、ブロックソート符号化の結果として出力される二値データ列を類似パターンとみなしてAdd命令とフラグ付きMove命令とを交互に出力する。一方、類似パターンに対する差分情報を表現する方法としては、オフセット付きMove命令の後にフラグ付きMove命令とAdd命令を類似パターンに従って交互に出力する方法を用いる。   The similar pattern conversion unit 120 continues to compare the similar pattern and the converted similar pattern to determine which one can generate smaller difference information (block difference information). In the first embodiment, the size of the difference information is determined on the assumption that the difference information is expressed by the following instruction group. As an instruction for expressing the difference information, a Bsort instruction is used in addition to a Move instruction (using an offset or a flag) and an Add instruction as used in the difference information 952 in FIG. The Bsort instruction is an instruction used for expressing “similar pattern after conversion” as difference information. As parameters, there are an offset with the block in the old version data corresponding to the similar block (the same meaning as the offset of the Move instruction), a size of the similar block, and an index value output as a result of the block sort encoding applied to the similar pattern. . After the Bsort instruction, the binary data string output as a result of the block sort encoding is regarded as a similar pattern, and the Add instruction and the flagged Move instruction are output alternately. On the other hand, as a method of expressing the difference information for the similar pattern, a method of alternately outputting a Move instruction with a flag and an Add instruction with a flag after the Move instruction with an offset is used.

図11〜図13を用いて図7、図8の例に対する類似パターン変換部120による類似パターンと変換後類似パターンとの比較処理を説明する。なお簡単のため、本実施の形態1での比較、判定には厳密な差分情報のサイズではなく、差分情報の命令数を基準に用いる。   A comparison process between the similar pattern and the converted similar pattern by the similar pattern conversion unit 120 for the examples of FIGS. 7 and 8 will be described with reference to FIGS. For the sake of simplicity, the comparison and determination in the first embodiment are based on the number of instructions in the difference information rather than the exact size of the difference information.

(変換後類似パターンを選択する場合)
図11の差分情報362A、差分情報362Bは、図7の類似ブロック362をそれぞれ「類似パターン362a−1」、「変換後類似パターン362b−1」を用いて表現した場合の、類似ブロック362に対応する差分情報(ブロック差分情報)である。図10の二値データ列である「類似パターン362a−1」と、「二値データ列362b−2」との比較から分かるように、ブロックソート符号化によって差異箇所が3箇所に分散していたものが2箇所に集まっている。それによってAdd命令とMove命令の数がそれぞれ一つずつ減少している。命令数を削減できていることから、この場合、類似パターン変換部120は「変換後類似パターン362b−1」(選択パターン)を採用(選択)すると判断し(S203のYes)、図8(a)の類似ブロック情報362aの「類似パターン362a−1」を「変換後類似パターン362b−1」で置き換えた図12の変換後類似ブロック情報362bを生成して(S204)、差分情報生成部130に渡す(S205)。
(When selecting similar patterns after conversion)
The difference information 362A and the difference information 362B in FIG. 11 correspond to the similar block 362 when the similar block 362 in FIG. 7 is expressed using “similar pattern 362a-1” and “converted similar pattern 362b-1”, respectively. Difference information (block difference information). As can be seen from the comparison between the “similar pattern 362a-1” that is the binary data string and the “binary data string 362b-2” in FIG. 10, the difference parts were dispersed in three parts by the block sort encoding. Things are gathered in two places. As a result, the number of Add instructions and Move instructions is reduced by one. Since the number of instructions can be reduced, in this case, the similar pattern conversion unit 120 determines to adopt (select) “the converted similar pattern 362b-1” (selected pattern) (Yes in S203), and FIG. 12) of the similar block information 362a in FIG. 12 is replaced with “similar pattern 362b-1 after conversion” (S204), and the difference information generation unit 130 receives the converted similar block information 362b in FIG. Deliver (S205).

(変換後類似パターンを選択しない場合)
図13の差分情報364A、差分情報364Bは、類似ブロック364をそれぞれ図10に示した「類似パターン364a−1」、「変換後類似パターン364b−1」を用いて表現した場合の差分情報(類似ブロック364に対応するブロック差分情報)である。図10の二値データ列である「類似パターン364a−1」、「二値データ列364b−2」から分かるように、ブロックソート符号化によって差異箇所の分散数は変わっていない(4箇所に変化なし)ことから、差分情報364Aと差分情報364Bとで命令数は同じである。差分情報364BではBsort命令を用いている。Bsort命令はMove命令と比較してパラメータを一つ多く持っていることから、変換後類似パターンを用いた差分情報364Bの方がデータサイズが大きいと考えられる。よって、この場合には類似パターン変換部120は、「変換後類似パターン364b−1」を採用しないと判断して類似パターンを選択パターンとして選択し、変換後類似ブロック情報364bは生成しない。このように、変換後類似パターンを用いた差分情報の命令数が類似パターンを用いた差分情報の命令数と同じか、それ以上の場合は変換後類似ブロック情報は生成しない。
(If you do not select a similar pattern after conversion)
The difference information 364A and difference information 364B in FIG. 13 are the difference information (similarity) when the similar block 364 is expressed using “similar pattern 364a-1” and “converted similar pattern 364b-1” shown in FIG. Block difference information corresponding to block 364). As can be seen from “similar pattern 364a-1” and “binary data sequence 364b-2” which are binary data strings in FIG. 10, the number of variances of the difference points is not changed by block sort encoding (changes to four points). None), the difference information 364A and the difference information 364B have the same number of instructions. In the difference information 364B, a Bsort instruction is used. Since the Bsort instruction has one more parameter than the Move instruction, it is considered that the difference information 364B using the converted similar pattern has a larger data size. Therefore, in this case, the similar pattern conversion unit 120 determines that the “converted similar pattern 364b-1” is not adopted, selects the similar pattern as the selection pattern, and does not generate the converted similar block information 364b. Thus, if the number of instructions in the difference information using the similar pattern after conversion is equal to or greater than the number of instructions in the difference information using the similar pattern, similar block information after conversion is not generated.

なお、本実施の形態1では差分情報を表す命令としてMove命令とAdd命令、Bsort命令を用いたが、他の形態であっても構わない。例えばBsort命令の後は必ずAdd命令とフラグ付きMove命令であることが分かっているので、これらの命令を表すデータを省略した表現方法を用いることができる。   In the first embodiment, the Move instruction, the Add instruction, and the Bsort instruction are used as the instructions representing the difference information, but other forms may be used. For example, since it is always known that the instruction is an Add instruction and a Move instruction with a flag after the Bsort instruction, a representation method in which data representing these instructions is omitted can be used.

(差分情報の生成)
図14は、差分情報生成部130の動作を示すフローチャートである。類似パターン変換部120の処理が完了すると、最後に差分情報生成部130が変換後類似ブロック情報107と、類似パターン変換部120によって変換されなかった類似ブロック情報104と、および相違ブロック情報105とを入力し(S301)、入力したこれらを用いて差分情報109を生成する(S302)。
(Generation of difference information)
FIG. 14 is a flowchart showing the operation of the difference information generation unit 130. When the process of the similar pattern conversion unit 120 is completed, the difference information generation unit 130 finally converts the converted similar block information 107, the similar block information 104 that has not been converted by the similar pattern conversion unit 120, and the different block information 105. Input (S301), and using these input, difference information 109 is generated (S302).

(差分情報生成の具体例)
図15を用いて差分情報生成部130が差分情報を生成する具体例を示す。差分情報生成部130が使用する情報は、
「変換後類似ブロック情報362b」、
「類似ブロック情報364a」、
「類似ブロック情報366a」、
「相違ブロック情報361a、363a、365a」
である。以下、新版データ内でのアドレス順に差分情報400を生成する。
(Specific example of difference information generation)
A specific example in which the difference information generation unit 130 generates difference information will be described with reference to FIG. The information used by the difference information generation unit 130 is
“Similar block information after conversion 362b”,
Similar block information 364a”,
“Similar block information 366a”,
“Difference block information 361a, 363a, 365a”
It is. Thereafter, the difference information 400 is generated in the order of addresses in the new version data.

最初に相違ブロック情報361aからAdd命令を生成する。次に変換後類似ブロック情報362bから差分情報362Bで示した命令集合を追加する。その後、相違ブロック情報363a、類似ブロック情報364a、相違ブロック情報365a、類似ブロック情報366aから逐次命令を出力し差分情報400を得る。   First, an Add instruction is generated from the different block information 361a. Next, the instruction set indicated by the difference information 362B is added from the converted similar block information 362b. Thereafter, sequential information is output from the different block information 363a, similar block information 364a, different block information 365a, and similar block information 366a to obtain difference information 400.

以上が差分生成装置100に対する本実施の形態の説明である。次に差分適用装置200に対する本実施の形態を説明する。   The above is the description of the present embodiment for the difference generation device 100. Next, this embodiment for the difference applying apparatus 200 will be described.

(差分適用装置200側)
図16は差分適用装置200の動作を示すフローチャートである。このフローチャートを参照して差分情報解析部210の動作を説明する。
(Difference application device 200 side)
FIG. 16 is a flowchart showing the operation of the difference application apparatus 200. The operation of the difference information analysis unit 210 will be described with reference to this flowchart.

(差分情報解析部210の動作)
差分適用に当たっては、まず差分情報解析部210が差分情報151から、変換後類似ブロック情報153と類似ブロック情報154、および相違ブロック情報155を抽出する(S1000)。
(Operation of the difference information analysis unit 210)
In applying the difference, first, the difference information analysis unit 210 extracts the converted similar block information 153, the similar block information 154, and the different block information 155 from the difference information 151 (S1000).

(差分情報解析部210の動作の具体例)
図15を参照して差分情報解析部210の動作を具体的に説明する。
(1)最初に差分情報400の一つ目の命令であるAdd命令を読み込んで「相違ブロック情報361a」を生成する。
(2)次の命令はBsort命令であるので、それ以降が変換後類似ブロックであることが分かる。Bsort命令には類似ブロックのサイズが含まれているので、類似ブロックの終端に到達するまでそれ以降の命令を順次読み込み、「変換後類似ブロック情報362b」を生成する。ここでは6番目にあるMove命令までが変換後類似ブロックに含まれる。
(3)次の命令はAdd命令であるので、「相違ブロック情報363a」を生成する。
(4)その次の命令はオフセット付きMove命令なので、類似ブロックに相当することが分かる。ここでは類似ブロックのサイズは分からないので、以降の命令を次のオフセット付きMove命令に到達するまで、もしくは差分情報の終端に到達するまで順次読み込む(フラグ付きMove命令は類似ブロックに含まれる)。差分情報400では、18番目の命令が次のオフセット付きMove命令になっているので、その2つ前の16番目のフラグ付きMove命令までが類似ブロックであることが分かり、8番目から16番目までの命令文の情報から「類似ブロック情報364a」を生成する。
(5)その後、17番目のAdd命令から「相違ブロック情報365a」を生成する。
(6)最後に18番目のオフセット付きMove命令から類似ブロックに相当すると判断し、差分情報の終端に到達しているので18番目のオフセット付きMove命令から「類似ブロック情報366a」を生成する。
(Specific example of operation of difference information analysis unit 210)
The operation of the difference information analysis unit 210 will be specifically described with reference to FIG.
(1) First, an Add instruction which is the first instruction of the difference information 400 is read to generate “difference block information 361a”.
(2) Since the next instruction is a Bsort instruction, it is understood that the subsequent blocks are similar blocks after conversion. Since the Bsort instruction includes the size of the similar block, the subsequent instructions are sequentially read until the end of the similar block is reached, and “converted similar block information 362b” is generated. Here, up to the sixth Move instruction is included in the similar block after conversion.
(3) Since the next instruction is an Add instruction, “difference block information 363a” is generated.
(4) Since the next instruction is a Move instruction with an offset, it is understood that it corresponds to a similar block. Since the size of the similar block is not known here, subsequent instructions are sequentially read until the next Move instruction with offset or the end of the difference information is reached (the Move instruction with flag is included in the similar block). In the difference information 400, since the 18th instruction is the next Move instruction with an offset, it can be seen that the previous 16th Move instruction with a flag is a similar block, from the 8th to the 16th. "Similar block information 364a" is generated from the information of the command statement.
(5) Then, “different block information 365a” is generated from the 17th Add instruction.
(6) Finally, it is determined that the block corresponds to a similar block from the 18th offset-attached Move instruction, and since the end of the difference information has been reached, “similar block information 366a” is generated from the 18th offset-added Move instruction.

(類似パターン逆変換部220の動作)
差分情報解析部210の処理が完了すると、次は類似パターン逆変換部220が処理を行う。類似パターン逆変換部220は、差分情報解析部210の生成した変換後類似ブロック情報153を入力とし、変換後類似ブロック情報153に含まれる変換後類似パターンを逆変換して類似パターンを得て、変換後類似パターンと置き換えて類似ブロック情報157を生成して差分情報適用部230に渡す(S2000)。
(Operation of Similar Pattern Inverse Transformer 220)
When the processing of the difference information analysis unit 210 is completed, the similar pattern inverse conversion unit 220 performs processing next. The similar pattern inverse conversion unit 220 receives the converted similar block information 153 generated by the difference information analysis unit 210 as an input, reversely converts the converted similar pattern included in the converted similar block information 153, and obtains a similar pattern. The similar block information 157 is generated by replacing with the converted similar pattern and passed to the difference information application unit 230 (S2000).

(類似パターン逆変換部220の動作の具体例)
図10〜図13を用いて類似パターン逆変換部220の動作例を説明する。類似パターン逆変換部220は、変換後類似ブロック情報362bから「二値データ列362b−2」と「インデックス値362b−3」からなる「変換後類似パターン362b−1」を読み込む。読み込んだ「変換後類似パターン362b−1」に対してブロックソート法の復号化手法を適用し、二値データ列362a−1(類似パターン)を得る。この二値データ列362a−1を類似パターンとして類似ブロック情報362aを生成し、差分情報適用部230に渡す。
(Specific Example of Operation of Similar Pattern Inverse Conversion Unit 220)
An operation example of the similar pattern inverse conversion unit 220 will be described with reference to FIGS. The similar pattern inverse conversion unit 220 reads “the converted similar pattern 362b-1” including the “binary data string 362b-2” and the “index value 362b-3” from the converted similar block information 362b. A decoding method of the block sort method is applied to the read “similar pattern after conversion 362b-1” to obtain a binary data string 362a-1 (similar pattern). Similar block information 362a is generated using this binary data string 362a-1 as a similar pattern, and passed to the difference information application unit 230.

(差分情報適用部230の動作)
最後に、差分情報適用部230が類似ブロック情報154、157、相違ブロック情報155と差分適用装置200の保持する旧版データ158とから新版データ160を再生する(S3000)。
(Operation of the difference information application unit 230)
Finally, the difference information application unit 230 reproduces the new version data 160 from the similar block information 154 and 157, the different block information 155, and the old version data 158 held by the difference application apparatus 200 (S3000).

(差分情報適用部230の動作の具体例)
図7、図8を用いて差分情報適用部230の動作の具体例を説明する。差分情報適用部230への入力は類似ブロック情報362a、364a、366a、相違ブロック情報361a、363a、365a、旧版データ301である。これらから新版データ351を再生する。
(1)最初に新版データ内でのアドレスが一番最初である相違ブロック情報361aから新版データの相違ブロック361を再生する。
(2)次は類似ブロック情報362aであり、旧版のアドレス0x10から16バイトを新版データに追加した後、類似パターンと差異箇所データ情報とからブロック内の9バイト目、12バイト目、15バイト目をそれぞれ“0xBB”“0xAA”“0x00”で置き換えて類似ブロック362を再生する。
(3)以下同様に、相違ブロック情報363aから相違ブロック363を、類似ブロック情報364aから類似ブロック364を、相違ブロック情報365aから相違ブロック365を、類似ブロック情報366aから類似ブロック366をそれぞれ再生し新版データ351を得る。
(Specific example of operation of difference information application unit 230)
A specific example of the operation of the difference information application unit 230 will be described with reference to FIGS. The input to the difference information application unit 230 is similar block information 362a, 364a, 366a, different block information 361a, 363a, 365a, and old version data 301. From these, the new version data 351 is reproduced.
(1) First, the difference block 361 of the new version data is reproduced from the difference block information 361a having the first address in the new version data.
(2) Next is similar block information 362a. After adding 16 bytes from the old version address 0x10 to the new version data, the ninth, twelfth and fifteenth bytes in the block are obtained from the similar pattern and the difference data information. Are replaced with “0xBB”, “0xAA”, and “0x00”, respectively, and the similar block 362 is reproduced.
(3) Similarly, the different block information 363a, the different block 364 from the similar block information 364a, the different block 365 from the different block information 365a, and the similar block 366 from the similar block information 366a are reproduced respectively. Data 351 is obtained.

以上のように実施の形態1の差分抽出適用システム1000は、各種データについて新旧バージョン間の差分を抽出する差分生成装置、及び旧版に差分を適用して新版を作り出す差分適用装置に係り、ブロックソート法を用いて差分情報を小さくすることを特徴とするものである。   As described above, the difference extraction application system 1000 according to the first embodiment relates to a difference generation apparatus that extracts differences between old and new versions of various data, and a difference application apparatus that applies a difference to an old version to create a new version, and performs block sorting. The difference information is reduced by using a method.

本実施の形態1では、差分情報のデータサイズが小さくなる効果があるとともに、また対象となるデータの構造的知識によらないため汎用的であるという効果がある。   In the first embodiment, there is an effect that the data size of the difference information is reduced, and there is an effect that it is general purpose because it does not depend on the structural knowledge of the target data.

実施の形態1の差分生成装置100は、類似パターン変換部120が、類似パターンを変換後類似パターンに変換して変換後ブロック情報を生成するので、データサイズのより小さい差分情報を生成することができる。   In the difference generation device 100 according to the first embodiment, the similar pattern conversion unit 120 generates the converted block information by converting the similar pattern into the converted similar pattern, so that the difference information having a smaller data size can be generated. it can.

実施の形態1の差分生成装置100は、類似パターン変換部120が類似パターンと変換後類似パターンとを比較して差分情報が小さくなる方を選択し、差分情報生成部130が類似パターン変換部120の選択に基づいた差分情報を生成するので、データサイズのより小さい差分情報を確実に生成することができる。即ち、従来技術では差分情報を小さいデータサイズで表現できないような場合にも差分情報のデータサイズを小さく表現でき、また、更新対象データの構造的知識を前提としてのみ差分情報を小さいサイズで表現できるような更新パターンについても更新対象データの構造的知識を前提とせずに差分情報のデータサイズを小さく表現することができる。   In the difference generation apparatus 100 according to the first embodiment, the similar pattern conversion unit 120 compares the similar pattern with the converted similar pattern and selects the smaller difference information, and the difference information generation unit 130 selects the similar pattern conversion unit 120. Since the difference information based on the selection is generated, difference information having a smaller data size can be generated reliably. That is, even when the difference information cannot be expressed with a small data size in the prior art, the data size of the difference information can be expressed with a small size, and the difference information can be expressed with a small size only on the premise of the structural knowledge of the update target data. Even for such an update pattern, the data size of the difference information can be expressed small without assuming the structural knowledge of the update target data.

実施の形態1の差分適用装置200は、類似パターン逆変換部220が変換後類似パターンを逆変換するので差分生成装置100の生成した差分情報から新版データの生成が可能となる。これにより、より小さいデータサイズの差分情報から新版データを生成することができる。   The difference application apparatus 200 according to the first embodiment can generate new version data from the difference information generated by the difference generation apparatus 100 because the similar pattern inverse conversion unit 220 reversely converts the converted similar pattern. Thereby, new edition data can be generated from difference information having a smaller data size.

実施の形態2.
実施の形態2では、差分生成装置100の類似パターン変換部120、および差分適用装置200の類似パターン逆変換部220が、複数種類(2種類)の変換ルール、逆変換ルールを持つ場合について説明する。
Embodiment 2. FIG.
In the second embodiment, a case where the similar pattern conversion unit 120 of the difference generation device 100 and the similar pattern inverse conversion unit 220 of the difference application device 200 have a plurality of types (two types) of conversion rules and reverse conversion rules will be described. .

変換ルールの一つ目は実施の形態1で説明したブロックソート法の符号化とし、二つ目の変換ルールをブロックソート法で符号化された二値データ列をMTF(Move−To−Front)法で符号化する、というルールとする。   The first conversion rule is the encoding of the block sort method described in the first embodiment, and the second conversion rule is a binary data string encoded by the block sort method as an MTF (Move-To-Front). It is a rule that encoding is performed by the method.

以下、図17〜19を用いてブロックソート法とMTF法を組み合わせた変換ルールの説明を行う。図17の「二値データ列362b−2」は、類似ブロック362に対する「類似パターン362a−1」をブロックソート法で符号化した結果の二値データ列である。これをMTF法を用いて変換すると「二値データ列362c−1」が生成される。ここで、MTF法における出現表の初期状態は[0、1]としている。このケースでは符号“1”の分散数が変化していないため、類似パターン変換部120は、ブロックソート法とMTF法の組合せには効果がないと判断する。   Hereinafter, conversion rules combining the block sort method and the MTF method will be described with reference to FIGS. The “binary data string 362b-2” in FIG. 17 is a binary data string obtained as a result of encoding the “similar pattern 362a-1” for the similar block 362 by the block sort method. When this is converted using the MTF method, a “binary data string 362c-1” is generated. Here, the initial state of the appearance table in the MTF method is [0, 1]. In this case, since the number of variances of the code “1” has not changed, the similar pattern conversion unit 120 determines that the combination of the block sort method and the MTF method is not effective.

図18の「二値データ列364b−2」は、類似ブロック364に対する「類似パターン364a−1」をブロックソート法で符号化した結果の二値データ列である。これをMTF法を用いて変換すると「二値データ列364c−1」が生成される。このケースでは符号“1”の分散数が減少しており、同様に元となる「類似パターン364a−1」における符号“1”の分散数からも減少している。よって類似パターン変換部120は、ブロックソート法とMTF法の組合せには効果があると判断し、図19に示す「変換後類似ブロック情報364b」を出力する。「変換後類似ブロック情報364b」中にある“MTF”が、MTF法を用いたことを示している。   The “binary data string 364b-2” in FIG. 18 is a binary data string obtained as a result of encoding the “similar pattern 364a-1” for the similar block 364 by the block sort method. When this is converted using the MTF method, a “binary data string 364c-1” is generated. In this case, the number of variances of the code “1” is reduced, and similarly, the number of variances of the code “1” in the original “similar pattern 364a-1” is also reduced. Therefore, the similar pattern conversion unit 120 determines that the combination of the block sort method and the MTF method is effective, and outputs “converted similar block information 364b” shown in FIG. “MTF” in “similar block information after conversion 364b” indicates that the MTF method is used.

次に、図20を用いてブロックソート法とMTF法との組合せによる変換後類似パターンから生成される差分情報の例を示す。図20の差分情報500は、この例を示している。差分情報生成部130は、MTF法を用いたことを示すため「のMtf命令」を新たに追加し、パラメータはオフセットとブロックのサイズ、ブロックソート法で出力されるインデックス値とする。Mtf命令の後はそれぞれ符号“1”の長さと符号“0”の長さを交互に出力する。ここで、最初に現れる符号が必ず“1”であることは自明である。ブロック文の長さの出力が完了すると、最後に類似ブロックでの相違箇所データ情報である“0x00 0xAA 0x00 0x99”を出力する。   Next, an example of difference information generated from a similar pattern after conversion by a combination of the block sort method and the MTF method will be described with reference to FIG. The difference information 500 in FIG. 20 shows this example. The difference information generation unit 130 newly adds “Mtf instruction” to indicate that the MTF method is used, and the parameters are an offset, a block size, and an index value output by the block sort method. After the Mtf instruction, the length of the code “1” and the length of the code “0” are output alternately. Here, it is obvious that the code that appears first is always “1”. When the output of the length of the block sentence is completed, “0x00 0xAA 0x00 0x99”, which is the difference portion data information in the similar block, is finally output.

(差分適用装置200側)
以下、図7、図8、図10、図19、図20等を用いて、ブロックソート法とMTF法の組合せによって生成された変換後類似ブロック情報から類似ブロック364を再生する手順を説明する。
(Difference application device 200 side)
Hereinafter, the procedure for reproducing the similar block 364 from the converted similar block information generated by the combination of the block sort method and the MTF method will be described with reference to FIGS. 7, 8, 10, 19, and 20.

差分適用装置200の差分情報解析部210は、差分情報500の一部から変換後類似ブロック情報364bを生成する。類似パターン逆変換部220は、変換後類似ブロック情報364bの“MTF”という記述からブロックソート法とMTF法の組合せで生成された変換後類似パターンであることを判断し、MTF法の復号化とブロックソート法の復号化を順次適用して「類似パターン364a−1」および「類似ブロック情報364a」を得る。以降の処理は実施の形態1と同一である。   The difference information analysis unit 210 of the difference application apparatus 200 generates the converted similar block information 364b from a part of the difference information 500. The similar pattern inverse conversion unit 220 determines that the converted similar pattern is generated by a combination of the block sort method and the MTF method from the description “MTF” of the converted similar block information 364b, and performs decoding of the MTF method. Decoding of the block sort method is sequentially applied to obtain “similar pattern 364a-1” and “similar block information 364a”. The subsequent processing is the same as in the first embodiment.

本実施の形態2では、差分情報のデータサイズが小さくなる効果があるとともに、また対象となるデータの構造的知識によらないため汎用的であるという効果がある。また、実施の形態1と比較すると、より差分情報のデータサイズを小さく出来る可能性が高い。   In the second embodiment, there is an effect that the data size of the difference information is reduced, and there is an effect that it is general purpose because it does not depend on the structural knowledge of the target data. Further, compared with the first embodiment, there is a high possibility that the data size of the difference information can be further reduced.

実施の形態2の差分生成装置100は、複数の変換ルールのうち差分情報のデータサイズが一番小さくなる変換ルールを採用するので、データの種類に対応して、よりデータサイズの小さい差分情報を生成することができる。   Since the difference generation device 100 according to the second embodiment employs a conversion rule in which the data size of the difference information is the smallest among the plurality of conversion rules, the difference information having a smaller data size corresponding to the type of data. Can be generated.

実施の形態2の差分適用装置200は、類似パターン逆変換部220が変換後類似パターンを複数の変換ルールに応じて逆変換するので、差分生成装置100の生成した差分情報から新版データの生成が可能となる。これにより、より小さいデータサイズの差分情報から新版データを生成することができる。   In the difference application apparatus 200 according to the second embodiment, the similar pattern inverse conversion unit 220 performs inverse conversion on the converted similar pattern according to a plurality of conversion rules, so that new version data can be generated from the difference information generated by the difference generation apparatus 100. It becomes possible. Thereby, new edition data can be generated from difference information having a smaller data size.

実施の形態3.
実施の形態3は、実施の形態1、実施の形態2で説明した差分生成装置100、差分適用装置200をコンピュータで実現するための差分生成プログラム、差分適用プログラムに関する。
Embodiment 3 FIG.
The third embodiment relates to a difference generation program and a difference application program for realizing the difference generation device 100 and the difference application device 200 described in the first and second embodiments by a computer.

前記の実施の形態1、実施の形態2においては、差分生成装置100における「〜部」として示した各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理(プログラム)に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、差分生成プログラムの実施形態とすることができる。また、この差分生成プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。   In the first embodiment and the second embodiment, the operations of the constituent elements shown as “to” in the difference generation apparatus 100 are related to each other, and are executed by the computer while considering the relationship of the operations. It can be replaced with a series of processes (programs). By replacing the operation of each component with a series of processes, an embodiment of a difference generation program can be obtained. Further, by recording this difference generation program on a computer-readable recording medium, an embodiment of a computer-readable recording medium on which the program is recorded can be obtained.

同様に、実施の形態1、実施の形態2においては、差分適用装置200における「〜部」として示した各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理(プログラム)に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、差分適用プログラムの実施形態とすることができる。また、この差分適用プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。   Similarly, in the first embodiment and the second embodiment, the operations of the constituent elements shown as “˜units” in the difference application device 200 are related to each other, and are implemented in the computer while considering the relationship of the operations. It can be replaced with a series of processes (programs) to be performed. By replacing the operation of each component with a series of processes, an embodiment of the difference application program can be obtained. Further, by recording this difference application program on a computer-readable recording medium, an embodiment of a computer-readable recording medium on which the program is recorded can be obtained.

図21は、差分生成プログラムの処理を示すフローチャートである。
(1)ステップS11は、旧版データの一部分のデータ列に類似するとともに新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理である。
(2)S12は、生成された前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する処理である。
(3)S13は、生成された前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する処理である。
FIG. 21 is a flowchart showing the processing of the difference generation program.
(1) Step S11 extracts a data string that is similar to a part of the data string of the old version data and forms a part of the new version data as a similar block from the new version data, and extracts the similar block and the data string of the old version data Is a process of generating similar block information that includes a similar pattern in which a binary data string represents a match / mismatch with the data and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data .
(2) S12 generates a converted similar pattern by converting the similar pattern included in the generated similar block information using a predetermined conversion rule, and converts the generated converted similar pattern to the similar This is a process of generating post-conversion similar block information that can be used to generate the block difference information by replacing the similar pattern included in the block information.
(3) S13 is a process of generating the block difference information using the generated converted similar block information.

図22は、差分適用プログラムの処理を示すフローチャートである。
(1)S21は、差分生成装置100が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理である。
(2)S22は、前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを類似パターン変換部120による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理である。
(3)S23は、前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理である。
FIG. 22 is a flowchart showing the processing of the difference application program.
(1) S21 is a first process of inputting the block difference information generated by the difference generation device 100 and generating the converted similar block information from the input block difference information.
(2) S22 inputs the converted similar block information generated by the first process, and converts the converted similar pattern included in the input converted similar block information to the reverse of the conversion by the similar pattern converting unit 120 Generating the similar pattern from the converted similar pattern by converting, and generating the similar block information by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information 2 processes.
(3) S23 is a third process for generating new version data in which old version data is updated based on the similar block information generated by the second process.

以上、説明したように、この実施の形態1〜3では、ソフトウェアプログラムが差分情報のデータサイズを小さくするように処理し(差分生成側)、またソフトウェアプログラムが小さくされた差分情報をもとに新版データ再生処理をするので、差分生成装置、差分適用装置を実現する場合に、ハードウェアたる新たな専用装置等を創作しなくとも、汎用のコンピュータや既存のネットワーク・システムとそのソフトウェアとを用いて、差分生成装置、差分適用装置を実現する専用装置を創作したのと同様な結果が得られるのであるから、この実施の形態のソフトウェアの開発は、自然法則を利用した技術的創作である。すなわち、この実施の形態の差分生成装置、差分適用装置の実現は、経済法則ではないし、人為的取決めでもないし、人間の精神活動でもなく、自然法則を利用した技術的創作である。   As described above, in the first to third embodiments, the software program performs processing to reduce the data size of the difference information (difference generation side), and the software program is based on the reduced difference information. Since the new version data playback process is performed, a general-purpose computer or existing network system and its software are used to create a difference generation device and difference application device without creating a new dedicated device as hardware. Thus, since the same result as the creation of the dedicated device for realizing the difference generation device and the difference application device can be obtained, the development of the software of this embodiment is a technical creation using a natural law. That is, the realization of the difference generation device and the difference application device of this embodiment is not an economic law, an artificial arrangement, a human spiritual activity, and a technical creation using the laws of nature.

前述した実施の形態1〜3の差分生成装置、差分適用装置は、CPU及びROM、RAM、磁気ディスク装置などの記憶装置というハードウェアが用いられており、ソフトウェアによる情報処理がハードウェアを用いて具体的に実現されたものである。すなわち、前述した実施の形態の差分生成装置、差分適用装置は、自然法則を利用したハードウェアの動作により差分生成装置、差分適用装置の実現を図っているものであり、自然法則を利用した技術的創作に該当するものである。   The difference generation apparatuses and difference application apparatuses according to the first to third embodiments described above use hardware such as a CPU and a storage device such as a ROM, a RAM, and a magnetic disk device, and information processing by software is performed using the hardware. It is specifically realized. In other words, the difference generation device and the difference application device according to the above-described embodiment are intended to realize the difference generation device and the difference application device by the hardware operation using the natural law, and the technology using the natural law. It falls under creative creation.

前述した実施の形態1〜3は、単体のコンピュータプログラムを含んで実現できるものであるが、このコンピュータプログラムにより実現されるものは、コンピュータプログラムによって制御されるサーバコンピュータ、クライアントコンピュータ、端末コンピュータ、制御方法などである。このコンピュータプログラムは、ビジネス、経済分野などで使用されるためにプログラムされるものであるが、プログラムされたコンピュータシステムは、物理的な製品として具現化された装置の特徴を有しており、自然法則を利用した技術的創作に該当するものである。   The above-described first to third embodiments can be realized including a single computer program. What is realized by this computer program is a server computer, a client computer, a terminal computer, a control controlled by the computer program. And so on. This computer program is programmed for use in business, economic fields, etc., but the programmed computer system has the characteristics of a device embodied as a physical product, It falls under technical creation using the law.

以上の実施の形態では、旧版データと新版データを比較して差分情報を抽出する差分抽出装置と、差分情報を旧版データに適用して新版データを再生する差分適用装置とからなる差分抽出適用システムであって、
差分抽出装置は、少なくとも
(1)旧版データと新版データを比較して、新版データから旧版データとの間で内容が類似するブロックの情報と、旧版データとの間で内容が類似しないブロックの情報とを抽出する類似ブロック抽出部と、
(2)前記類似するブロックにおいて、新版データと旧版データの一致箇所と差異箇所を二値データ列で表現した類似パターン情報を、一定のルールに従って変換した変換後類似パターン情報を生成する類似パターン変換部と、
(3)変換後類似パターン情報と類似するブロックの情報と類似しないブロックの情報から、旧版データから新版データを生成するための情報である差分情報を生成する差分情報生成部とを有し、
差分適用装置は、少なくとも
(4)旧版データと差分情報から、変換後類似パターン情報と類似するブロックの部分情報と類似しないブロックの情報とを生成する差分情報解析部と、
(5)変換後類似パターン情報を逆変換して類似パターン情報を取得する類似パターン逆変換部と、
(6)類似パターン情報と類似するブロックの部分情報と類似しないブロックの情報とから新版データを再生する差分情報適用部とを有することを特徴とする差分抽出適用システムについて説明した。
In the above embodiment, a difference extraction application system comprising a difference extraction apparatus that extracts difference information by comparing old version data and new version data, and a difference application apparatus that reproduces new version data by applying the difference information to the old version data. Because
The difference extraction device compares at least (1) the old version data and the new version data, and the block information whose contents are similar between the new version data and the old version data, and the block information whose contents are not similar between the old version data A similar block extraction unit for extracting
(2) In the similar block, similar pattern conversion for generating similar pattern information after conversion in which similar pattern information in which a match portion and a difference portion between the new version data and the old version data are expressed by a binary data string is converted according to a certain rule And
(3) a difference information generation unit that generates difference information, which is information for generating new version data from old version data, from information on blocks that are not similar to information on blocks similar to similar pattern information after conversion,
The difference application device includes at least (4) a difference information analysis unit that generates, from the old version data and the difference information, partial information of blocks similar to the converted similar pattern information and information of blocks that are not similar;
(5) a similar pattern reverse conversion unit that reversely converts the similar pattern information after conversion to obtain similar pattern information;
(6) The difference extraction application system characterized in that it has a difference information application unit that reproduces new version data from similar pattern information, similar partial block information, and dissimilar block information.

以上の実施の形態では、差分抽出装置の類似パターン変換部が、変換に使用するルールを1種類以上持ち、各ルールによって生成される変換後類似パターン情報と類似パターン情報とを比較し、差分情報として表現する際に最も効果的である情報を差分情報生成部に渡し、差分抽出装置の差分情報生成部が、各類似するブロックの類似パターン情報に対してどの変換ルールを使用したか、もしくは変換ルールを使用しなかったかの情報を差分情報に付加し、差分適用装置の差分解析部が差分情報から変換後類似ブロック情報と、類似ブロック情報と、相違ブロック情報とを生成し、差分適用装置の類似パターン逆変換部が、
変換後類似パターンを逆変換して類似パターンを生成し、この類似パターンから類似ブロック情報を生成することを特徴とする差分抽出適用システムについて説明した。
In the above embodiment, the similar pattern conversion unit of the difference extraction apparatus has one or more types of rules used for conversion, compares the converted similar pattern information generated by each rule with the similar pattern information, and calculates the difference information. The information that is most effective when expressed as is passed to the difference information generation unit, and the difference information generation unit of the difference extraction device uses which conversion rule for the similar pattern information of each similar block, or conversion Information indicating whether the rule was not used is added to the difference information, and the difference analysis unit of the difference application device generates converted similar block information, similar block information, and difference block information from the difference information, and the difference application device similarity The pattern inverse transform unit
A difference extraction application system has been described in which a similar pattern is generated by inversely converting a similar pattern after conversion, and similar block information is generated from the similar pattern.

以上の実施の形態では、差分抽出装置の類似パターン変換部の使用する変換ルールの内一つがブロックソート法の符号化に基づく変換ルールであり、差分適用装置の類似パターン逆変換部が使用する逆変換ルールの内一つが、ブロックソート法の復号化に基づく逆変換ルールであることを特徴とする差分抽出適用システムについて説明した。   In the above embodiment, one of the conversion rules used by the similar pattern conversion unit of the difference extraction device is a conversion rule based on the encoding of the block sort method, and the reverse used by the similar pattern reverse conversion unit of the difference application device. A difference extraction application system has been described in which one of the conversion rules is an inverse conversion rule based on block sort decoding.

以上の実施の形態では、差分抽出装置の類似パターン変換部の使用する変換ルールの内一つがブロックソート法の符号化とMTF法の符号化の組合せに基づく変換ルールであり、差分適用装置の類似パターン逆変換部が使用する逆変換ルールの内一つが、MTF法の復号化とブロックソート法の復号化の組合せに基づく逆変換ルールであることを特徴とする差分抽出適用システムについて説明した。   In the above embodiment, one of the conversion rules used by the similar pattern conversion unit of the difference extraction device is a conversion rule based on a combination of block sort method encoding and MTF method encoding, and is similar to the difference application device. A difference extraction application system has been described in which one of the inverse transformation rules used by the pattern inverse transformation unit is an inverse transformation rule based on a combination of MTF decoding and block sorting decoding.

実施の形態1における差分抽出適用システムのシステム構成を示す図。1 is a diagram showing a system configuration of a difference extraction application system in Embodiment 1. FIG. 実施の形態1におけるサーバ装置の外観の一例を示す図。FIG. 3 shows an example of the appearance of a server device in the first embodiment. 実施の形態1におけるサーバ装置のハードウェア構成を示す図。FIG. 3 is a diagram illustrating a hardware configuration of a server device according to the first embodiment. 実施の形態1における差分生成装置、差分適用装置のブロック図。FIG. 3 is a block diagram of a difference generation device and a difference application device according to the first embodiment. 実施の形態1における差分生成装置の動作を示すフローチャート。3 is a flowchart showing the operation of the difference generation device in the first embodiment. 実施の形態1における類似ブロック抽出部の動作を示すフローチャート。5 is a flowchart showing the operation of a similar block extraction unit in the first embodiment. 実施の形態1における類似ブロックの抽出を説明する図。FIG. 6 illustrates extraction of similar blocks in the first embodiment. 実施の形態1における類似ブロック情報、相違ブロック情報の例を示す図。FIG. 6 is a diagram illustrating an example of similar block information and different block information in the first embodiment. 実施の形態1における類似パターン変換部の動作を示すフローチャート。5 is a flowchart showing the operation of a similar pattern conversion unit in the first embodiment. 実施の形態1における変換後類似パターンを説明する図。FIG. 6 is a diagram illustrating a similar pattern after conversion in the first embodiment. 実施の形態1における類似パターン変換部の比較動作を説明する図。FIG. 6 is a diagram for explaining a comparison operation of a similar pattern conversion unit in the first embodiment. 実施の形態1における変換後類似ブロック情報を説明する図。FIG. 6 is a diagram for explaining post-conversion similar block information in the first embodiment. 実施の形態1における差分情報(ブロック差分情報)を説明する図。The figure explaining the difference information (block difference information) in Embodiment 1. FIG. 実施の形態1における差分情報生成部の動作を示すフローチャート。5 is a flowchart showing an operation of a difference information generation unit in the first embodiment. 実施の形態1における差分情報を説明する図。FIG. 5 is a diagram for describing difference information in the first embodiment. 実施の形態1における差分適用装置の動作を示すフローチャート。5 is a flowchart showing the operation of the difference application device in the first embodiment. 実施の形態2における第2の変換ルールを説明する図。FIG. 6 illustrates a second conversion rule in the second embodiment. 実施の形態2における第2の変換ルールを説明する図。FIG. 6 illustrates a second conversion rule in the second embodiment. 実施の形態2における第2の変換ルールによる変換後ブロック情報を説明する図。The figure explaining the block information after conversion by the 2nd conversion rule in Embodiment 2. FIG. 実施の形態2における第2の変換ルールによる差分情報を説明する図。FIG. 10 is a diagram for explaining difference information according to a second conversion rule in the second embodiment. 実施の形態3における差分生成プログラムの処理を示すフローチャート。10 is a flowchart showing processing of a difference generation program in the third embodiment. 実施の形態2における差分適用プログラムの処理を示すフローチャート。10 is a flowchart showing processing of a difference application program in the second embodiment. 従来の例を示す図。The figure which shows the conventional example. 従来の例を示す図。The figure which shows the conventional example.

符号の説明Explanation of symbols

1000 差分抽出適用システム、100 差分生成装置、100a サーバ装置、110 類似ブロック抽出部、120 類似パターン変換部、130 差分情報生成部、101 旧版データ、102 新版データ、104 類似ブロック情報、105 相違ブロック情報、107 変換後類似ブロック情報、109 差分情報、151 差分情報、153 変換後類似ブロック情報、154 類似ブロック情報、155 相違ブロック情報、157 類似ブロック情報、158 旧版データ、160 新版データ、200 差分適用装置、200a 携帯電話、200b ユーザ端末装置、210 差分情報解析部、220 類似パターン逆変換部、230 差分情報適用部、311〜314 旧版データのブロック、361,363,365 相違ブロック、362,364,366 類似ブロック、361a,363a,365a 相違ブロック情報、362a,364a,366a 類似ブロック情報、362a−1 類似パターン、362b 変換後類似ブロック情報、362b−1 変換後類似パターン、362b−2 二値データ列、362b−3 インデックス値、362c−2 二値データ列、364a−1 類似パターン、364b 変換後類似ブロック情報、364b−1 変換後類似パターン、364b−2 二値データ列、364b−3 インデックス値、364c−2 二値データ列、362A 差分情報、362B 差分情報、364A 差分情報、364B 差分情報、400 差分情報、500 差分情報、810 CPU、811 ROM、812 RAM、813 表示装置、814 キーボード、815 マウス、816 通信ボード、817 FDD、818 CDD、819 プリンタ装置、820 磁気ディスク装置、821 OS、822 ウィンドウシステム、823 プログラム群、824 ファイル群、825 バス、830 システムユニット、901 旧版データ、902 新版データ、903 ブロック、951,952 差分情報。   1000 difference extraction application system, 100 difference generation device, 100a server device, 110 similar block extraction unit, 120 similar pattern conversion unit, 130 difference information generation unit, 101 old version data, 102 new version data, 104 similar block information, 105 different block information 107 Similar block information after conversion, 109 Difference information, 151 Difference information, 153 Similar block information after conversion, 154 Similar block information, 155 Different block information, 157 Similar block information, 158 Old version data, 160 New version data, 200 Difference application device , 200a mobile phone, 200b user terminal device, 210 difference information analysis unit, 220 similar pattern inverse conversion unit, 230 difference information application unit, 311 to 314 old data block, 361, 363, 365 difference block 362, 364, 366 Similar block, 361a, 363a, 365a Different block information, 362a, 364a, 366a Similar block information, 362a-1 Similar pattern, 362b Similar block information after conversion, 362b-1 Similar pattern after conversion, 362b- 2 Binary data string, 362b-3 Index value, 362c-2 Binary data string, 364a-1 Similar pattern, 364b Similar block information after conversion, 364b-1 Similar pattern after conversion, 364b-2 Binary data string, 364b -3 index value, 364c-2 binary data string, 362A difference information, 362B difference information, 364A difference information, 364B difference information, 400 difference information, 500 difference information, 810 CPU, 811 ROM, 812 RAM, 813 display device, 814 Keyboard, 815 Mouse, 816 Communication Board, 817 FDD, 818 CDD, 819 Printer, 820 Magnetic Disk Unit, 821 OS, 822 Window System, 823 Program Group, 824 File Group, 825 Bus, 830 System Unit, 901 Old Version Data 902 New version data, 903 blocks, 951, 952 Difference information.

Claims (15)

旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
を備えたことを特徴とする差分生成装置。
In a difference generation device that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A similar block extraction unit that generates similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
A converted similar pattern is generated by converting the similar pattern included in the similar block information generated by the similar block extraction unit using a predetermined conversion rule, and the generated similar pattern is converted into the similar block. A similar pattern conversion unit that generates post-conversion similar block information that can be used to generate the block difference information by replacing the similar pattern included in the information;
A difference generation device comprising: a difference information generation unit that generates the block difference information using the converted similar block information generated by the similar pattern conversion unit.
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
を備えたことを特徴とする差分生成装置。
In a difference generation device that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A similar block extraction unit that generates similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
The converted similar pattern is generated from the similar pattern by converting the similar pattern included in the similar block information generated by the similar block extraction unit using a predetermined conversion rule, and the generated similar pattern after conversion And the similar pattern are used to determine whether the data size of the block difference information is small and to select the data size of the block difference information as a selection pattern, and the selection pattern Can be used to generate the block difference information from the similar block information by replacing the similar pattern after conversion, which is the selection pattern, with the similar pattern included in the similar block information. After similar conversion, similar block information is generated and output. A similar pattern conversion section for outputting the similarity block information when emissions are the similar pattern,
When the similar pattern conversion unit outputs the converted similar block information, the converted similar block information is input, the input converted similar block information is used to generate the block difference information, and the similar A differential information generation unit configured to input the similar block information when the pattern conversion unit outputs the similar block information, and generate the block difference information using the input similar block information; A difference generation device.
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを複数の変換ルールのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンを前記複数の変換ルールごとに生成し、前記複数の変換ルールごとに生成された複数の前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンが前記複数の変換ルールごとに生成された複数の前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
を備えたことを特徴とする差分生成装置。
In a difference generation device that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A similar block extraction unit that generates similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
By converting the similar pattern included in the similar block information generated by the similar block extraction unit using each of a plurality of conversion rules, a converted similar pattern is generated for each of the plurality of conversion rules from the similar pattern. And determining which of the plurality of post-conversion similar patterns generated for each of the plurality of conversion rules and the similar pattern will minimize the data size of the block difference information. The one that minimizes the data size of the block difference information is selected as a selection pattern, and the selection is performed when the selection pattern is one of a plurality of converted similar patterns generated for each of the plurality of conversion rules. The converted similar pattern, which is a pattern, is replaced with the similar pattern included in the similar block information. The similar block information is generated and output from the similar block information after conversion, which can be used to generate the block difference information, and when the selected pattern is the similar pattern, the similar block information is output. A pattern converter,
When the similar pattern conversion unit outputs the converted similar block information, the converted similar block information is input, the input converted similar block information is used to generate the block difference information, and the similar A differential information generation unit configured to input the similar block information when the pattern conversion unit outputs the similar block information, and generate the block difference information using the input similar block information; A difference generation device.
前記類似パターン変換部は、
前記所定の前記変換ルールとして、ブロックソート法の符号化方法を用いることを特徴とする請求項1または2いずれかに記載の差分生成装置。
The similar pattern conversion unit includes:
The difference generation apparatus according to claim 1, wherein an encoding method of a block sort method is used as the predetermined conversion rule.
前記類似パターン変換部は、
前記複数の前記変換ルールの一つとして、ブロックソート法の符号化方法を含むことを特徴とする請求項3記載の差分生成装置。
The similar pattern conversion unit includes:
4. The difference generation apparatus according to claim 3, wherein an encoding method of a block sort method is included as one of the plurality of conversion rules.
前記類似パターン変換部は、
前記複数の前記変換ルールの一つとして、さらに、ブロックソート法の符号化方法により符号化された二値データ列をMTF(Move To Front)法で符号化する方法を含むことを特徴とする請求項5記載の差分生成装置。
The similar pattern conversion unit includes:
One of the plurality of conversion rules further includes a method of encoding a binary data sequence encoded by an encoding method of a block sort method by an MTF (Move To Front) method. Item 6. The difference generation device according to Item 5.
請求項1記載の差分生成装置が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項1記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部と
を備えたことを特徴とする差分適用装置。
A difference information analysis unit that inputs the block difference information generated by the difference generation device according to claim 1 and generates the converted similar block information from the input block difference information;
2. The reverse conversion of the conversion by the similar pattern conversion unit according to claim 1, wherein the converted similar block information generated by the difference information analysis unit is input, and the converted similar pattern included in the input converted similar block information is converted by the similar pattern conversion unit according to claim 1. Generating the similar pattern from the converted similar pattern by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information to generate the similar block information An inverse transform unit;
A difference application device, comprising: a difference information application unit that generates new version data in which old version data is updated based on the similar block information generated by the similar pattern inverse conversion unit.
請求項2記載の差分生成装置の前記差分情報生成部が前記変換後類似ブロック情報を使用して生成した前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項2記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部と
を備えたことを特徴とする差分適用装置。
3. The converted similar block information from the input block difference information when the difference information generation unit of the difference generation device according to claim 2 inputs the block difference information generated using the converted similar block information. A difference information analysis unit for generating
The reverse conversion of the conversion by the similar pattern conversion unit according to claim 2, wherein the converted similar block information generated by the difference information analysis unit is input, and the converted similar pattern included in the input converted similar block information is converted by the similar pattern conversion unit according to claim 2. Generating the similar pattern from the converted similar pattern by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information to generate the similar block information An inverse transform unit;
A difference application device, comprising: a difference information application unit that generates new version data in which old version data is updated based on the similar block information generated by the similar pattern inverse conversion unit.
請求項3記載の差分生成装置の前記差分情報生成部が前記変換後類似ブロック情報を使用して生成した前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項3記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部と
を備えたことを特徴とする差分適用装置。
4. The converted similar block information from the input block difference information when the difference information generating unit of the difference generating device according to claim 3 inputs the block difference information generated using the converted similar block information. A difference information analysis unit for generating
The reverse conversion of the conversion by the similar pattern conversion unit according to claim 3, wherein the converted similar block information generated by the difference information analysis unit is input, and the converted similar pattern included in the input similar block information after conversion is converted by the similar pattern conversion unit according to claim 3 Generating the similar pattern from the converted similar pattern by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information to generate the similar block information An inverse transform unit;
A difference application device, comprising: a difference information application unit that generates new version data in which old version data is updated based on the similar block information generated by the similar pattern inverse conversion unit.
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
生成された前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する処理と、
生成された前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する処理と
をコンピュータに実行させることを特徴とする差分生成プログラム。
In a difference generation program that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A process of generating similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
The converted similar pattern is generated by converting the similar pattern included in the generated similar block information using a predetermined conversion rule, and the generated converted similar pattern is included in the similar block information Processing to generate post-conversion similar block information that can be used to generate the block difference information by replacing with a similar pattern;
A difference generation program that causes a computer to execute processing for generating the block difference information using the generated converted similar block information.
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
生成された前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する処理と、
前記変換後類似ブロック情報が出力された場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似ブロック情報が出力された場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する処理と
をコンピュータに実行させることを特徴とする差分生成プログラム。
In a difference generation program that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A process of generating similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
Generating a converted similar pattern from the similar pattern by converting the similar pattern included in the generated similar block information using a predetermined conversion rule, and generating the converted similar pattern and the similar pattern Is used to determine whether the data size of the block difference information is small and to select the data size of the block difference information as a selection pattern, and the selection pattern is similar after the conversion If the pattern is a pattern, the converted similar block that can be used to generate the block difference information from the similar block information by replacing the converted similar pattern that is the selected pattern with the similar pattern included in the similar block information Information is generated and output, and the selected pattern is the similar pattern And outputting the similarity block information in some cases,
When the converted similar block information is output, the converted similar block information is input, the block difference information is generated using the input converted similar block information, and the similar block information is output A difference generation program that inputs the similar block information and causes the computer to execute processing for generating the block difference information using the input similar block information.
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
生成された前記類似ブロック情報に含まれる前記類似パターンを複数の変換ルールのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンを前記複数の変換ルールごとに生成し、前記複数の変換ルールごとに生成された複数の前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンが前記複数の変換ルールごとに生成された複数の前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する処理と、
前記変換後類似ブロック情報が出力された場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似ブロック情報が出力された場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する処理と
をコンピュータに実行させることを特徴とする差分生成プログラム。
In a difference generation program that generates difference information indicating a difference between old version data and new version data obtained by updating the old version data,
A data string that is similar to the data string of a part of the old version data and forms a part of the new version data is extracted as a similar block from the new version data, and the coincidence mismatch between the extracted similar block and the data string of the old version data is determined. A process of generating similar block information that includes a similar pattern expressed by a binary data string and that can be used to generate block difference information indicating a difference of the similar block with respect to the data string of the old version data;
By converting the similar pattern included in the generated similar block information using each of a plurality of conversion rules, a converted similar pattern is generated for each of the plurality of conversion rules from the similar pattern, and the plurality of conversions It is determined whether the data size of the block difference information is minimized when each of the plurality of similar patterns after conversion generated for each rule and the similar pattern is used. The conversion pattern that is the selection pattern is selected when the data pattern that minimizes the data size is selected as the selection pattern, and the selection pattern is one of the plurality of post-conversion similar patterns generated for each of the plurality of conversion rules. By replacing the post-similar pattern with the similar pattern included in the similar block information And outputting the similarity block information if similar from the block information to generate a similar block information after the available transformation to generate the block difference information and outputs the selected pattern is the similarity pattern,
When the converted similar block information is output, the converted similar block information is input, the block difference information is generated using the input converted similar block information, and the similar block information is output A difference generation program that inputs the similar block information and causes the computer to execute processing for generating the block difference information using the input similar block information.
請求項1記載の差分生成装置が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項1記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
をコンピュータに実行させることを特徴とする差分適用プログラム。
A first process of inputting the block difference information generated by the difference generation device according to claim 1 and generating the converted similar block information from the input block difference information;
2. The reverse conversion of the conversion by the similar pattern conversion unit according to claim 1, wherein the converted similar block information generated by the first process is input, and the converted similar pattern included in the input converted similar block information is converted by the similar pattern conversion unit according to claim 1. Generating the similar pattern from the converted similar pattern, and generating the similar block information by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information. Processing,
A difference application program that causes a computer to execute a third process for generating new version data in which old version data is updated based on the similar block information generated by the second process.
請求項2記載の差分生成装置の前記差分情報生成部によって前記変換後類似ブロック情報を使用して生成された前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項2記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
をコンピュータに実行させることを特徴とする差分適用プログラム。
3. When the difference information generation unit of the difference generation device according to claim 2 inputs the block difference information generated by using the converted similar block information, the converted similar block from the input block difference information. A first process for generating information;
The reverse conversion of the conversion by the similar pattern conversion unit according to claim 2, wherein the converted similar block information generated by the first process is input, and the converted similar pattern included in the input converted similar block information is converted by the similar pattern conversion unit according to claim 2. Generating the similar pattern from the converted similar pattern, and generating the similar block information by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information. Processing,
A difference application program that causes a computer to execute a third process for generating new version data in which old version data is updated based on the similar block information generated by the second process.
請求項3記載の差分生成装置の前記差分情報生成部によって前記変換後類似ブロック情報を使用して生成された前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを請求項3記載の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
をコンピュータに実行させることを特徴とする差分適用プログラム。
4. When the difference information generation unit of the difference generation device according to claim 3 inputs the block difference information generated by using the converted similar block information, the converted similar block from the input block difference information. A first process for generating information;
4. The reverse conversion of the conversion by the similar pattern conversion unit according to claim 3, wherein the converted similar block information generated by the first process is input, and the converted similar pattern included in the input converted similar block information is converted by the similar pattern conversion unit according to claim 3 Generating the similar pattern from the converted similar pattern, and generating the similar block information by replacing the generated similar pattern with the converted similar pattern included in the converted similar block information. Processing,
A difference application program that causes a computer to execute a third process for generating new version data in which old version data is updated based on the similar block information generated by the second process.
JP2006038679A 2006-02-15 2006-02-15 Difference generation device, difference application device, difference generation program, and difference application program Expired - Fee Related JP4791205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006038679A JP4791205B2 (en) 2006-02-15 2006-02-15 Difference generation device, difference application device, difference generation program, and difference application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006038679A JP4791205B2 (en) 2006-02-15 2006-02-15 Difference generation device, difference application device, difference generation program, and difference application program

Publications (2)

Publication Number Publication Date
JP2007219768A true JP2007219768A (en) 2007-08-30
JP4791205B2 JP4791205B2 (en) 2011-10-12

Family

ID=38497014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006038679A Expired - Fee Related JP4791205B2 (en) 2006-02-15 2006-02-15 Difference generation device, difference application device, difference generation program, and difference application program

Country Status (1)

Country Link
JP (1) JP4791205B2 (en)

Cited By (2)

* 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
WO2016016923A1 (en) * 2014-07-28 2016-02-04 三菱電機株式会社 Differential data creating system, data updating system, and differential data creating method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152136A (en) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd Data update system, difference data generation device and program for data update system, and post-update file restoration device and program
JP2004227520A (en) * 2003-01-27 2004-08-12 Mitsubishi Electric Corp Device, method and program for generating old and new program rewriting information, and computer readable recording medium recording the program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152136A (en) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd Data update system, difference data generation device and program for data update system, and post-update file restoration device and program
JP2004227520A (en) * 2003-01-27 2004-08-12 Mitsubishi Electric Corp Device, method and program for generating old and new program rewriting information, and computer readable recording medium recording the program

Cited By (4)

* 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
WO2016016923A1 (en) * 2014-07-28 2016-02-04 三菱電機株式会社 Differential data creating system, data updating system, and differential data creating method
JPWO2016016923A1 (en) * 2014-07-28 2017-04-27 三菱電機株式会社 Differential data creation system, data update system, and differential data creation method
US9900026B2 (en) 2014-07-28 2018-02-20 Mitsubishi Electric Corporation Differential data creating apparatus, data updating apparatus, and differential data creating method

Also Published As

Publication number Publication date
JP4791205B2 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
JP6160259B2 (en) Character string search method, character string search device, and character string search program
JP2004152136A (en) Data update system, difference data generation device and program for data update system, and post-update file restoration device and program
CN109976793B (en) Application program running method, device, equipment and medium
US20180341468A1 (en) Source code analysis and adjustment system
US10394763B2 (en) Method and device for generating pileup file from compressed genomic data
US20120290596A1 (en) Stabilized binary differencing
US9934017B2 (en) Method and a system for merging several binary executables
US20110209135A1 (en) Program Change Management Apparatus, Computer Readable Record Medium Storing Program Change Management Program, And Program Change Management Method
JP4791205B2 (en) Difference generation device, difference application device, difference generation program, and difference application program
JP6651974B2 (en) Information processing apparatus, compiling method and compiler program
US10824587B2 (en) Integrated universal file converter
JP4036852B2 (en) DIFFERENTIAL DATA GENERATION DEVICE, DIFFERENTIAL DATA GENERATION METHOD, AND DIFFERENTIAL DATA GENERATION PROGRAM
US11200910B2 (en) Resolution of edit conflicts in audio-file development
JP7247593B2 (en) Generation device, software robot system, generation method and generation program
JP4477947B2 (en) Differential application embedded device system and stored data changing method
JP2004227520A (en) Device, method and program for generating old and new program rewriting information, and computer readable recording medium recording the program
JP2021103354A (en) Program testing method
JP5595304B2 (en) Program test apparatus, program test apparatus program test method, and program test program
JP4249793B2 (en) DIFFERENTIAL DATA GENERATION DEVICE, DIFFERENTIAL DATA GENERATION METHOD FOR DIFFERENTIAL DATA GENERATION DEVICE, AND DIFFERENTIAL DATA GENERATION PROGRAM
US11176096B2 (en) File system for genomic data
JP2007004503A (en) Program conversion system, program conversion method and code conversion program
US7617089B2 (en) Method and apparatus for compiling two-level morphology rules
JP2008046914A (en) Difference generation device, difference application device, difference generation program, difference application program, difference generation and application system, and difference generation and application method
US20230068819A1 (en) Environment construction support device and environment construction support method
US20220100703A1 (en) Integrated universal file converter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees