JP4791205B2 - 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム - Google Patents

差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム Download PDF

Info

Publication number
JP4791205B2
JP4791205B2 JP2006038679A JP2006038679A JP4791205B2 JP 4791205 B2 JP4791205 B2 JP 4791205B2 JP 2006038679 A JP2006038679 A JP 2006038679A JP 2006038679 A JP2006038679 A JP 2006038679A JP 4791205 B2 JP4791205 B2 JP 4791205B2
Authority
JP
Japan
Prior art keywords
similar
block
information
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.)
Expired - Fee Related
Application number
JP2006038679A
Other languages
English (en)
Other versions
JP2007219768A (ja
Inventor
聡 三井
良三 清原
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/ja
Publication of JP2007219768A publication Critical patent/JP2007219768A/ja
Application granted granted Critical
Publication of JP4791205B2 publication Critical patent/JP4791205B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、各種データについて新旧バージョン間の差分を抽出して差分情報を生成する差分生成装置、および旧版データに差分情報を適用して新版データを再生する差分適用装置に関する。
パーソナルコンピュータや組込み機器(携帯電話、カーナビゲーションシステムなど)などの装置では、プロセッサによって扱われるプログラムなどのデータを更新(バージョンアップ)することがある。バージョンアップの際には、「記憶媒体や通信網を介して旧版(更新前)データと新版(更新後)データの差分情報を装置に送り、装置内で差分情報を旧版データに適用して新版データを生成する」という方法が一般的である。なお、旧版データと新版データとの差分情報は、バージョンアップ対象の装置(差分適用装置)とは別の装置(差分生成装置)においてあらかじめ生成される。
通信帯域の狭い無線網などを使用して差分情報を装置に送付するようなシステムにおいては特に、差分情報のサイズは小さいことが望ましい。そして、差分情報の表現方法、抽出方法を工夫することによって、差分情報のサイズを小さくすることが可能である。
図23は旧版データ901と新版データ902の一部を示す図である。各種データ、特に組込み機器向けプログラムデータなどのバージョンアップに際しては、図23に示すように旧版データ中のブロック903が新版データでは別の位置904に移動して、且つ、移動した先では飛び飛びでデータの内容が変更になっている、というパターンが多く見られる。このパターンの多くは、「データ内参照を行っている箇所が位置ずれによって変更になっている」という場合である。図23では変更箇所911、912、913、914がデータ内容が変更になっている。
図24は従来例による差分情報951,952を示す図である。図23に示す旧版データ901と新版データ902とに対する差分情報として、一般的な差分データ表現方法による差分情報を図24に基づいて説明する。一般的な差分情報表現方法としては、例えばWalter F.Tichyの論文「The String−to−String Correction Problem with Block Moves」がある。この表現方法は、旧版データの一部、あるいは全部からデータを移動して新版データにコピーすることを意味するMove命令と、新版データに当該差分情報中に記述したデータを追加することを意味するAdd命令とを差分情報表現に用いる方法である。
図23の例に適用すると(ただし図示するブロックの範囲に限定)、図24に示すような差分情報951で旧版データと新版データの間の差分を表現できる。詳細には、変更箇所911〜914に対するAdd命令と、これらの変更箇所の間の部分を示すMove命令の繰り返しで表現することができる。Move命令には旧版データにおける位置情報が必要となるため、図24のようにMove命令とAdd命令が交互に現れるようなケースではMove命令の位置情報(0x300等)が差分データサイズ増加の要因の一つとなってしまう。
特許文献1では、Move命令の位置情報により差分データサイズが増加することに対して、Move命令には新版データと旧版データのオフセット情報を用い、Move命令を表現する際には直前のMove命令のオフセット情報を参照し、オフセットが同じ場合は1ビットのフラグを立てて直前のMove命令とオフセットが同じであることを示すことで、Move命令のオフセット情報を省略するという方法が開示されている。本方法によれば、Move命令を表現するために必要なデータ量を小さくすることが出来る。図24の差分情報952は、この方法による場合を示している。
しかしながら、特許文献1の方法でも変更箇所の数だけAdd命令とMove命令が必要となること自体は変わらないため、飛び飛びで変更になるデータの箇所数が非常に多い場合には差分情報のサイズは大きくなってしまうという課題が残る。
特許文献2では、プログラム等に代表されるようなデータ内参照を有しているデータに対して、前記のAdd命令とMove命令の繰り返しを回避する方法が開示されている。特許文献2の方法における差分情報を抽出する側では、データ内参照に相当する箇所をマークしてから新版データと旧版データの比較を行うことで、データ内参照に相当する箇所を差分情報に含まないようにする。差分情報を適用する側ではデータ内参照に相当する箇所を検出し、位置移動の情報からデータ内参照に相当する箇所の差分を自動的に再生することで新版データを生成する。こうすることによって、データ内参照に起因する前記の図23のような変更パターンに対して、Add命令とMove命令の繰り返しを回避することが可能となる。
しかしながら、特許文献2の方法では、更新対象とするデータの中でどの箇所がデータ内参照であるかという知識、つまり更新対象データの構造的知識を前提としているため、汎用的ではないと言う課題がある。
特開2004−152136号公報 米国特許6,546,552号
本発明は、従来の技術では差分情報を小さいサイズで表現できないあるいは、更新対象データの構造的知識を前提としてのみ差分情報を小さいサイズで表現できるような更新パターンにおいて、更新対象データの構造的知識を前提とせずに差分情報を小さく表現できるようにすることを目的とする。
この発明の差分生成装置は、
旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、
抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、
生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
を備えたことを特徴とする。
本発明によれば、従来の技術では差分データを小さいデータサイズで表現できなかったような更新パターンに対して、小さいデータサイズで差分情報を表現できる。
実施の形態1.
図1〜図16を用いて実施の形態1を説明する。旧版データから新版データに移動する(更新される)ブロックにおいて、差異箇所が分散していることが差分情報のデータサイズ増加の原因である。そこで、本実施の形態1では、ブロック内の差異箇所の表現を工夫することによって、差分情報のデータサイズを小さくする。
図1は、この実施の形態1における差分抽出適用システム1000のシステム構成図である。差分抽出適用システム1000は、各種データについて新旧バージョン間の差分を抽出して差分情報を生成する差分生成装置の一例であるサーバ装置100aと、サーバ装置100aが生成した差分情報を旧版データに適用して新版データを再生する差分適用装置の一例である携帯電話200a、ユーザ端末装置200bを備える。サーバ装置100aが生成した差分情報は、インターネットなどのネットワークを介して携帯電話200aやユーザ端末装置200bの差分適用装置に送られる。あるいは、サーバ装置100aが生成した差分情報は、CD(Compact Disk)などの記録媒体により携帯電話200aやユーザ端末装置200bのユーザに配布されてもよい。
図2は、コンピュータであるサーバ装置100a(差分生成装置)の外観の一例を示す図である。なお、ユーザ端末装置200b(差分適用装置)もコンピュータであり、図2のサーバ装置100aと同様の構成である。携帯電話200a(差分適用装置)は図2とは外観は異なるものの、処理装置(CPU:Central・Processing・Unit)、入出力装置、記憶装置を備えたコンピュータであることはもちろんである。
図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などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット830は、コンピュータであり、また、ローカルエリアネットワーク(LAN)、を介してインターネットに接続されている。サーバ装置100aは、インターネットを介して携帯電話200a,ユーザ端末装置200bと通信可能である。
図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の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
通信ボード816は、LAN等に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。また、差分生成装置の場合には、旧版データ、新版データ、類似ブロック情報、相違ブロック情報、変換後ブロック情報、あるいは変換ルールなどのデータ、情報が「〜ファイル」や「〜データベース」の各項目として記憶されている。また、差分適用装置の場合には、差分生成装置に対して新版データを除く、旧版データ、類似ブロック情報、相違ブロック情報、変換後ブロック情報、あるいは逆変換のルールなどのデータ、情報が「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明においては、主としてデータや信号の入出力を示し、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
図4は、差分生成装置100と差分適用装置200との構成を示すブロック図である。差分生成装置100は、類似ブロック抽出部110と、類似パターン変換部120と、差分情報生成部130とを備える。差分適用装置200は、差分情報解析部210と、類似パターン逆変換部220と、差分情報適用部230とを備える。これら要素の動作は後述する。
図4に示すように、差分生成装置100は、旧版データ101と新版データ102とから、最終的に差分情報109を生成する。また、差分適用装置200は、差分情報151と旧版データ158とから、新版データ160を再生する。ここで、差分適用装置200の差分情報151は、差分生成装置100の生成した差分情報109と同一であることを前提としている。
図5は、差分生成装置100の動作の概要を示すフローチャートである。差分生成装置100では、S100において、類似ブロック抽出部110が、予め定められた所定の規則に基づいて、新版データ全体を「類似ブロック」と「相違ブロック」とに分割する。「類似ブロック」、「相違ブロック」については後述する。S200において、類似パターン変換部120が、「類似パターン」を変換して「変換後類似パターン」を生成する。「類似パターン」、「変換後類似パターン」については後述する。S300において、差分情報生成部130が、差分情報を生成する。
図6は、類似ブロック抽出部110の動作を説明するフローチャートである。このフローチャートを用いて類似ブロック抽出部110の動作を説明する。
差分生成装置100による差分抽出に当たっては、図4に示すように、類似ブロック抽出部110が旧版データ101と新版データ102とを比較する。類似ブロック抽出部110は、比較によって、新版データ102全体を旧版データに類似ブロックの存在する類似ブロックと、旧版に類似ブロックが存在しない相違ブロックに分割する(S101)。ここで「ブロック」とは、任意長の部分データ列を意味する。また、以下では類似ブロック、相違ブロックという場合は、新版データ側のブロックを意味する。
(類似ブロック抽出の具体的説明)
図7を用いて、類似ブロック抽出部110の動作を具体的に説明する。図7は、旧版データ301と新版データ351との具体例を示す図である。
類似ブロック抽出部110は、図7に示す旧版データ301と新版データ351とを比較し、新版データ351を類似ブロック362、364、366と、相違ブロック361、363、365とに分割する(S101)。例えば、類似ブロック362は旧版データ301のブロック311と比較すると16バイトうち13バイトが一致するので、類似ブロック抽出部110は、類似とみなしている。類似ブロックには類似ブロック366のように旧版データのブロック(類似ブロック366に対してはブロック314)と完全に一致する場合も含まれる。一方、相違ブロックは旧版に類似ブロックが見つからないブロックであり、言い換えると、相違ブロックとは、新版データ351の内、類似ブロックに含まれない部分である。
(類似ブロックの抽出方法)
類似ブロックを抽出する方法は様々考えられるが、本実施の形態1では類似ブロック抽出部110が、次に示すような手順で類似ブロックを抽出する。
類似ブロック抽出部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を抽出することができる。
(類似ブロック抽出の別の方法)
以上、類似ブロック抽出部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命令の領域を統合して類似ブロックとみなす。
(ブロック情報の説明)
以上のようにして、類似ブロック抽出部110は、図4に示すように新版データ102を類似ブロックと相違ブロックとに分割する。類似ブロック抽出部110は、さらに、それぞれの類似ブロックからそれぞれの類似ブロック情報104を生成するとともに、それぞれの相違ブロックからそれぞれの相違ブロック情報105を生成する(S102)。これを説明する。
図4に示す類似ブロック情報104は、例えば、
(1)類似ブロックの新版データ102内での先頭アドレス、
(2)サイズ、
(3)旧版データ101内での先頭アドレス、
(4)ブロック内の差異箇所の情報(類似パターン)、
(5)差異箇所のデータ情報
を含む。
図4に示す相違ブロック情報105は、
(1)相違ブロックの新版データ102内での先頭アドレス
(2)サイズ、
(3)ブロック内のデータ情報
を含む。
(類似ブロック情報の具体例)
図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内に「類似パターン」と差異箇所相当のデータ情報は記載されていない。
(相違ブロック情報の具体例)
相違ブロック情報361aを例にとり相違ブロック情報を説明する。相違ブロック情報361aの“0x0、8”は、それぞれ新版データ内の開始アドレス、サイズを示している。また、“FF ・・・ FF”は、相違ブロック内の全データ情報を示している。相違ブロック情報363a、相違ブロック情報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)。
(類似パターンの変換の具体例)
以下、図10〜図14を用いて、類似パターン変換部120による処理の具体例を説明する。説明の前に、本実施の形態1では「類似パターン」として二値のデータ列(以下、二値データ列という)を前提とする。類似パターン変換部120は、二値データ列の類似パターンに対してブロックソート法の符号化手法を適用し、(1)「類似パターンと同じ長さの整列後二値データ列」と、(2)「インデックス値」とから構成される「変換後類似パターン」を生成する。
図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」についても同様である。
ここで「ブロックソート法」は公知の技術なので符号化手法についてはここでは説明しないが、ブロックソート法によって符号化されたデータ列では、一般的に同じ値のデータが近くに集まる傾向があることが知られている。前記のように、「二値データ列362b−2」と「インデックス値362b−3」とを併せたものが「変換後類似パターン362b−1」となる。
同様にして、図10に示すように、類似ブロック364の「類似パターン364a−1」に対しては、「ブロックソート法」による符号化という変換ルールを適用することにより、「二値データ列364b−2」と「インデックス値364b−3」とを得ることができる。「二値データ列364b−2」と「インデックス値364b−3」とが「変換後類似パターン364b−1」を構成する。なお、ブロックソート法の復号化手法を用いると「変換後類似パターン」から一意に「類似パターン」を復元できることが知られている。
類似パターン変換部120は、引き続き類似パターンと変換後類似パターンとを比較して、どちらがより小さい差分情報(ブロック差分情報)を生成できるかを判定する。本実施の形態1では、以下に示す命令群によって差分情報が表現されることを前提として差分情報のサイズを判定する。差分情報を表現するための命令として、図24の差分情報952で用いているようなMove命令(オフセットまたはフラグを使用)とAdd命令に加え、Bsort命令を使用するものとする。Bsort命令は「変換後類似パターン」を差分情報として表現するために用いる命令である。パラメータとして類似ブロックに対応する旧版データ内ブロックとのオフセット(Move命令のオフセットと同じ意味)と、類似ブロックのサイズと、類似パターンに適用したブロックソート符号化の結果として出力されるインデックス値を持つ。Bsort命令の後には、ブロックソート符号化の結果として出力される二値データ列を類似パターンとみなしてAdd命令とフラグ付きMove命令とを交互に出力する。一方、類似パターンに対する差分情報を表現する方法としては、オフセット付きMove命令の後にフラグ付きMove命令とAdd命令を類似パターンに従って交互に出力する方法を用いる。
図11〜図13を用いて図7、図8の例に対する類似パターン変換部120による類似パターンと変換後類似パターンとの比較処理を説明する。なお簡単のため、本実施の形態1での比較、判定には厳密な差分情報のサイズではなく、差分情報の命令数を基準に用いる。
(変換後類似パターンを選択する場合)
図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)。
(変換後類似パターンを選択しない場合)
図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は生成しない。このように、変換後類似パターンを用いた差分情報の命令数が類似パターンを用いた差分情報の命令数と同じか、それ以上の場合は変換後類似ブロック情報は生成しない。
なお、本実施の形態1では差分情報を表す命令としてMove命令とAdd命令、Bsort命令を用いたが、他の形態であっても構わない。例えばBsort命令の後は必ずAdd命令とフラグ付きMove命令であることが分かっているので、これらの命令を表すデータを省略した表現方法を用いることができる。
(差分情報の生成)
図14は、差分情報生成部130の動作を示すフローチャートである。類似パターン変換部120の処理が完了すると、最後に差分情報生成部130が変換後類似ブロック情報107と、類似パターン変換部120によって変換されなかった類似ブロック情報104と、および相違ブロック情報105とを入力し(S301)、入力したこれらを用いて差分情報109を生成する(S302)。
(差分情報生成の具体例)
図15を用いて差分情報生成部130が差分情報を生成する具体例を示す。差分情報生成部130が使用する情報は、
「変換後類似ブロック情報362b」、
「類似ブロック情報364a」、
「類似ブロック情報366a」、
「相違ブロック情報361a、363a、365a」
である。以下、新版データ内でのアドレス順に差分情報400を生成する。
最初に相違ブロック情報361aからAdd命令を生成する。次に変換後類似ブロック情報362bから差分情報362Bで示した命令集合を追加する。その後、相違ブロック情報363a、類似ブロック情報364a、相違ブロック情報365a、類似ブロック情報366aから逐次命令を出力し差分情報400を得る。
以上が差分生成装置100に対する本実施の形態の説明である。次に差分適用装置200に対する本実施の形態を説明する。
(差分適用装置200側)
図16は差分適用装置200の動作を示すフローチャートである。このフローチャートを参照して差分情報解析部210の動作を説明する。
(差分情報解析部210の動作)
差分適用に当たっては、まず差分情報解析部210が差分情報151から、変換後類似ブロック情報153と類似ブロック情報154、および相違ブロック情報155を抽出する(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」を生成する。
(類似パターン逆変換部220の動作)
差分情報解析部210の処理が完了すると、次は類似パターン逆変換部220が処理を行う。類似パターン逆変換部220は、差分情報解析部210の生成した変換後類似ブロック情報153を入力とし、変換後類似ブロック情報153に含まれる変換後類似パターンを逆変換して類似パターンを得て、変換後類似パターンと置き換えて類似ブロック情報157を生成して差分情報適用部230に渡す(S2000)。
(類似パターン逆変換部220の動作の具体例)
図10〜図13を用いて類似パターン逆変換部220の動作例を説明する。類似パターン逆変換部220は、変換後類似ブロック情報362bから「二値データ列362b−2」と「インデックス値362b−3」からなる「変換後類似パターン362b−1」を読み込む。読み込んだ「変換後類似パターン362b−1」に対してブロックソート法の復号化手法を適用し、二値データ列362a−1(類似パターン)を得る。この二値データ列362a−1を類似パターンとして類似ブロック情報362aを生成し、差分情報適用部230に渡す。
(差分情報適用部230の動作)
最後に、差分情報適用部230が類似ブロック情報154、157、相違ブロック情報155と差分適用装置200の保持する旧版データ158とから新版データ160を再生する(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を得る。
以上のように実施の形態1の差分抽出適用システム1000は、各種データについて新旧バージョン間の差分を抽出する差分生成装置、及び旧版に差分を適用して新版を作り出す差分適用装置に係り、ブロックソート法を用いて差分情報を小さくすることを特徴とするものである。
本実施の形態1では、差分情報のデータサイズが小さくなる効果があるとともに、また対象となるデータの構造的知識によらないため汎用的であるという効果がある。
実施の形態1の差分生成装置100は、類似パターン変換部120が、類似パターンを変換後類似パターンに変換して変換後ブロック情報を生成するので、データサイズのより小さい差分情報を生成することができる。
実施の形態1の差分生成装置100は、類似パターン変換部120が類似パターンと変換後類似パターンとを比較して差分情報が小さくなる方を選択し、差分情報生成部130が類似パターン変換部120の選択に基づいた差分情報を生成するので、データサイズのより小さい差分情報を確実に生成することができる。即ち、従来技術では差分情報を小さいデータサイズで表現できないような場合にも差分情報のデータサイズを小さく表現でき、また、更新対象データの構造的知識を前提としてのみ差分情報を小さいサイズで表現できるような更新パターンについても更新対象データの構造的知識を前提とせずに差分情報のデータサイズを小さく表現することができる。
実施の形態1の差分適用装置200は、類似パターン逆変換部220が変換後類似パターンを逆変換するので差分生成装置100の生成した差分情報から新版データの生成が可能となる。これにより、より小さいデータサイズの差分情報から新版データを生成することができる。
実施の形態2.
実施の形態2では、差分生成装置100の類似パターン変換部120、および差分適用装置200の類似パターン逆変換部220が、複数種類(2種類)の変換ルール、逆変換ルールを持つ場合について説明する。
変換ルールの一つ目は実施の形態1で説明したブロックソート法の符号化とし、二つ目の変換ルールをブロックソート法で符号化された二値データ列をMTF(Move−To−Front)法で符号化する、というルールとする。
以下、図17〜19を用いてブロックソート法とMTF法を組み合わせた変換ルールの説明を行う。図17の「二値データ列362b−2」は、類似ブロック362に対する「類似パターン362a−1」をブロックソート法で符号化した結果の二値データ列である。これをMTF法を用いて変換すると「二値データ列362c−1」が生成される。ここで、MTF法における出現表の初期状態は[0、1]としている。このケースでは符号“1”の分散数が変化していないため、類似パターン変換部120は、ブロックソート法とMTF法の組合せには効果がないと判断する。
図18の「二値データ列364b−2」は、類似ブロック364に対する「類似パターン364a−1」をブロックソート法で符号化した結果の二値データ列である。これをMTF法を用いて変換すると「二値データ列364c−1」が生成される。このケースでは符号“1”の分散数が減少しており、同様に元となる「類似パターン364a−1」における符号“1”の分散数からも減少している。よって類似パターン変換部120は、ブロックソート法とMTF法の組合せには効果があると判断し、図19に示す「変換後類似ブロック情報364b」を出力する。「変換後類似ブロック情報364b」中にある“MTF”が、MTF法を用いたことを示している。
次に、図20を用いてブロックソート法とMTF法との組合せによる変換後類似パターンから生成される差分情報の例を示す。図20の差分情報500は、この例を示している。差分情報生成部130は、MTF法を用いたことを示すため「のMtf命令」を新たに追加し、パラメータはオフセットとブロックのサイズ、ブロックソート法で出力されるインデックス値とする。Mtf命令の後はそれぞれ符号“1”の長さと符号“0”の長さを交互に出力する。ここで、最初に現れる符号が必ず“1”であることは自明である。ブロック文の長さの出力が完了すると、最後に類似ブロックでの相違箇所データ情報である“0x00 0xAA 0x00 0x99”を出力する。
(差分適用装置200側)
以下、図7、図8、図10、図19、図20等を用いて、ブロックソート法とMTF法の組合せによって生成された変換後類似ブロック情報から類似ブロック364を再生する手順を説明する。
差分適用装置200の差分情報解析部210は、差分情報500の一部から変換後類似ブロック情報364bを生成する。類似パターン逆変換部220は、変換後類似ブロック情報364bの“MTF”という記述からブロックソート法とMTF法の組合せで生成された変換後類似パターンであることを判断し、MTF法の復号化とブロックソート法の復号化を順次適用して「類似パターン364a−1」および「類似ブロック情報364a」を得る。以降の処理は実施の形態1と同一である。
本実施の形態2では、差分情報のデータサイズが小さくなる効果があるとともに、また対象となるデータの構造的知識によらないため汎用的であるという効果がある。また、実施の形態1と比較すると、より差分情報のデータサイズを小さく出来る可能性が高い。
実施の形態2の差分生成装置100は、複数の変換ルールのうち差分情報のデータサイズが一番小さくなる変換ルールを採用するので、データの種類に対応して、よりデータサイズの小さい差分情報を生成することができる。
実施の形態2の差分適用装置200は、類似パターン逆変換部220が変換後類似パターンを複数の変換ルールに応じて逆変換するので、差分生成装置100の生成した差分情報から新版データの生成が可能となる。これにより、より小さいデータサイズの差分情報から新版データを生成することができる。
実施の形態3.
実施の形態3は、実施の形態1、実施の形態2で説明した差分生成装置100、差分適用装置200をコンピュータで実現するための差分生成プログラム、差分適用プログラムに関する。
前記の実施の形態1、実施の形態2においては、差分生成装置100における「〜部」として示した各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理(プログラム)に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、差分生成プログラムの実施形態とすることができる。また、この差分生成プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
同様に、実施の形態1、実施の形態2においては、差分適用装置200における「〜部」として示した各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理(プログラム)に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、差分適用プログラムの実施形態とすることができる。また、この差分適用プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
図21は、差分生成プログラムの処理を示すフローチャートである。
(1)ステップS11は、旧版データの一部分のデータ列に類似するとともに新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理である。
(2)S12は、生成された前記類似ブロック情報に含まれる前記類似パターンを所定の変換ルールを用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する処理である。
(3)S13は、生成された前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する処理である。
図22は、差分適用プログラムの処理を示すフローチャートである。
(1)S21は、差分生成装置100が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理である。
(2)S22は、前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを類似パターン変換部120による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理である。
(3)S23は、前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理である。
以上、説明したように、この実施の形態1〜3では、ソフトウェアプログラムが差分情報のデータサイズを小さくするように処理し(差分生成側)、またソフトウェアプログラムが小さくされた差分情報をもとに新版データ再生処理をするので、差分生成装置、差分適用装置を実現する場合に、ハードウェアたる新たな専用装置等を創作しなくとも、汎用のコンピュータや既存のネットワーク・システムとそのソフトウェアとを用いて、差分生成装置、差分適用装置を実現する専用装置を創作したのと同様な結果が得られるのであるから、この実施の形態のソフトウェアの開発は、自然法則を利用した技術的創作である。すなわち、この実施の形態の差分生成装置、差分適用装置の実現は、経済法則ではないし、人為的取決めでもないし、人間の精神活動でもなく、自然法則を利用した技術的創作である。
前述した実施の形態1〜3の差分生成装置、差分適用装置は、CPU及びROM、RAM、磁気ディスク装置などの記憶装置というハードウェアが用いられており、ソフトウェアによる情報処理がハードウェアを用いて具体的に実現されたものである。すなわち、前述した実施の形態の差分生成装置、差分適用装置は、自然法則を利用したハードウェアの動作により差分生成装置、差分適用装置の実現を図っているものであり、自然法則を利用した技術的創作に該当するものである。
前述した実施の形態1〜3は、単体のコンピュータプログラムを含んで実現できるものであるが、このコンピュータプログラムにより実現されるものは、コンピュータプログラムによって制御されるサーバコンピュータ、クライアントコンピュータ、端末コンピュータ、制御方法などである。このコンピュータプログラムは、ビジネス、経済分野などで使用されるためにプログラムされるものであるが、プログラムされたコンピュータシステムは、物理的な製品として具現化された装置の特徴を有しており、自然法則を利用した技術的創作に該当するものである。
以上の実施の形態では、旧版データと新版データを比較して差分情報を抽出する差分抽出装置と、差分情報を旧版データに適用して新版データを再生する差分適用装置とからなる差分抽出適用システムであって、
差分抽出装置は、少なくとも
(1)旧版データと新版データを比較して、新版データから旧版データとの間で内容が類似するブロックの情報と、旧版データとの間で内容が類似しないブロックの情報とを抽出する類似ブロック抽出部と、
(2)前記類似するブロックにおいて、新版データと旧版データの一致箇所と差異箇所を二値データ列で表現した類似パターン情報を、一定のルールに従って変換した変換後類似パターン情報を生成する類似パターン変換部と、
(3)変換後類似パターン情報と類似するブロックの情報と類似しないブロックの情報から、旧版データから新版データを生成するための情報である差分情報を生成する差分情報生成部とを有し、
差分適用装置は、少なくとも
(4)旧版データと差分情報から、変換後類似パターン情報と類似するブロックの部分情報と類似しないブロックの情報とを生成する差分情報解析部と、
(5)変換後類似パターン情報を逆変換して類似パターン情報を取得する類似パターン逆変換部と、
(6)類似パターン情報と類似するブロックの部分情報と類似しないブロックの情報とから新版データを再生する差分情報適用部とを有することを特徴とする差分抽出適用システムについて説明した。
以上の実施の形態では、差分抽出装置の類似パターン変換部が、変換に使用するルールを1種類以上持ち、各ルールによって生成される変換後類似パターン情報と類似パターン情報とを比較し、差分情報として表現する際に最も効果的である情報を差分情報生成部に渡し、差分抽出装置の差分情報生成部が、各類似するブロックの類似パターン情報に対してどの変換ルールを使用したか、もしくは変換ルールを使用しなかったかの情報を差分情報に付加し、差分適用装置の差分解析部が差分情報から変換後類似ブロック情報と、類似ブロック情報と、相違ブロック情報とを生成し、差分適用装置の類似パターン逆変換部が、
変換後類似パターンを逆変換して類似パターンを生成し、この類似パターンから類似ブロック情報を生成することを特徴とする差分抽出適用システムについて説明した。
以上の実施の形態では、差分抽出装置の類似パターン変換部の使用する変換ルールの内一つがブロックソート法の符号化に基づく変換ルールであり、差分適用装置の類似パターン逆変換部が使用する逆変換ルールの内一つが、ブロックソート法の復号化に基づく逆変換ルールであることを特徴とする差分抽出適用システムについて説明した。
以上の実施の形態では、差分抽出装置の類似パターン変換部の使用する変換ルールの内一つがブロックソート法の符号化とMTF法の符号化の組合せに基づく変換ルールであり、差分適用装置の類似パターン逆変換部が使用する逆変換ルールの内一つが、MTF法の復号化とブロックソート法の復号化の組合せに基づく逆変換ルールであることを特徴とする差分抽出適用システムについて説明した。
実施の形態1における差分抽出適用システムのシステム構成を示す図。 実施の形態1におけるサーバ装置の外観の一例を示す図。 実施の形態1におけるサーバ装置のハードウェア構成を示す図。 実施の形態1における差分生成装置、差分適用装置のブロック図。 実施の形態1における差分生成装置の動作を示すフローチャート。 実施の形態1における類似ブロック抽出部の動作を示すフローチャート。 実施の形態1における類似ブロックの抽出を説明する図。 実施の形態1における類似ブロック情報、相違ブロック情報の例を示す図。 実施の形態1における類似パターン変換部の動作を示すフローチャート。 実施の形態1における変換後類似パターンを説明する図。 実施の形態1における類似パターン変換部の比較動作を説明する図。 実施の形態1における変換後類似ブロック情報を説明する図。 実施の形態1における差分情報(ブロック差分情報)を説明する図。 実施の形態1における差分情報生成部の動作を示すフローチャート。 実施の形態1における差分情報を説明する図。 実施の形態1における差分適用装置の動作を示すフローチャート。 実施の形態2における第2の変換ルールを説明する図。 実施の形態2における第2の変換ルールを説明する図。 実施の形態2における第2の変換ルールによる変換後ブロック情報を説明する図。 実施の形態2における第2の変換ルールによる差分情報を説明する図。 実施の形態3における差分生成プログラムの処理を示すフローチャート。 実施の形態2における差分適用プログラムの処理を示すフローチャート。 従来の例を示す図。 従来の例を示す図。
符号の説明
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 差分情報。

Claims (12)

  1. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを変換ルールとしてブロックソート法の符号化方法を用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
    前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
    を備えたことを特徴とする差分生成装置。
  2. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを変換ルールとしてブロックソート法の符号化方法を用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えたことを特徴とする差分生成装置。
  3. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置において、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、ブロックソート法の符号化方法による第1変換ルールと、ブロックソート法の符号化方法により符号化された二値データ列をMTF(Move To Front)法で符号化する方法による第2変換ルールとのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンをそれぞれ前記変換ルールごとに生成し、それぞれ前記変換ルールごとに生成された前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンがそれぞれ前記変換ルールごとに生成された前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えたことを特徴とする差分生成装置。
  4. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、変換ルールとしてブロックソート法の符号化方法を用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
    前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
    前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
    前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部と
    を備えたことを特徴とする差分適用装置。
  5. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、変換ルールとしてブロックソート法の符号化方法を用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    の前記差分情報生成部が前記変換後類似ブロック情報を使用して生成した前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
    前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
    前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部とを備えたことを特徴とする差分適用装置。
  6. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、ブロックソート法の符号化方法による第1変換ルールと、ブロックソート法の符号化方法により符号化された二値データ列をMTF(Move To Front)法で符号化する方法による第2変換ルールとのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンをそれぞれの前記変換ルールごとに生成し、それぞれの前記変換ルールごとに生成された前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンがそれぞれの前記変換ルールごとに生成された前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    の前記差分情報生成部が前記変換後類似ブロック情報を使用して生成した前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する差分情報解析部と、
    前記差分情報解析部が生成した前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する類似パターン逆変換部と、
    前記類似パターン逆変換部が生成した前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する差分情報適用部と
    を備えたことを特徴とする差分適用装置。
  7. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
    生成された前記類似ブロック情報に含まれる前記類似パターンを変換ルールとしてブロックソート法の符号化方法を用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する処理と、
    生成された前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する処理と
    をコンピュータに実行させるための差分生成プログラム。
  8. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
    生成された前記類似ブロック情報に含まれる前記類似パターンを変換ルールとしてブロックソート法の符号化方法を用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する処理と、
    前記変換後類似ブロック情報が出力された場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似ブロック情報が出力された場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する処理と
    をコンピュータに実行させるための差分生成プログラム。
  9. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成プログラムにおいて、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する処理と、
    生成された前記類似ブロック情報に含まれる前記類似パターンを、ブロックソート法の符号化方法による第1変換ルールと、ブロックソート法の符号化方法により符号化された二値データ列をMTF(Move To Front)法で符号化する方法による第2変換ルールとのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンをそれぞれ前記変換ルールごとに生成し、それぞれ前記変換ルールごとに生成された前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンがそれぞれ前記変換ルールごとに生成された前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する処理と、
    前記変換後類似ブロック情報が出力された場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似ブロック情報が出力された場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する処理と
    をコンピュータに実行させるための差分生成プログラム。
  10. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、変換ルールとしてブロックソート法の符号化方法を用いて変換することにより変換後類似パターンを生成し、生成された前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成する類似パターン変換部と、
    前記類似パターン変換部が生成した前記変換後類似ブロック情報を使用して、前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    が生成した前記ブロック差分情報を入力し、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
    前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
    前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
    をコンピュータに実行させるための差分適用プログラム。
  11. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、変換ルールとしてブロックソート法の符号化方法を用いて変換することにより前記類似パターンから変換後類似パターンを生成し、生成された前記変換後類似パターンと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが小さくなるかを判断して前記ブロック差分情報のデータサイズを小さくする方を選択パターンとして選択し、前記選択パターンが前記変換後類似パターンである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    の前記差分情報生成部によって前記変換後類似ブロック情報を使用して生成された前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
    前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
    前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
    をコンピュータに実行させるための差分適用プログラム。
  12. 旧版データと前記旧版データを更新した新版データとの差分を示す差分情報を生成する差分生成装置であって、
    前記旧版データの一部分のデータ列に類似するとともに前記新版データの一部分をなすデータ列を前記新版データから類似ブロックとして抽出し、抽出した前記類似ブロックと前記旧版データの前記データ列との一致不一致を二値データ列で表現した類似パターンと、前記類似パターンによって不一致が示される場合に、前記類似ブロックである前記データ列における不一致箇所のデータを示す差異箇所データ情報とを含むとともに前記旧版データの前記データ列に対する前記類似ブロックの差分を示すブロック差分情報の生成に使用可能な類似ブロック情報を生成する類似ブロック抽出部と、
    前記類似ブロック抽出部が生成した前記類似ブロック情報に含まれる前記類似パターンを、ブロックソート法の符号化方法による第1変換ルールと、ブロックソート法の符号化方法により符号化された二値データ列をMTF(Move To Front)法で符号化する方法による第2変換ルールとのそれぞれを用いて変換することにより前記類似パターンから変換後類似パターンをそれぞれの前記変換ルールごとに生成し、それぞれの前記変換ルールごとに生成された前記変換後類似パターンのそれぞれと前記類似パターンとのうちのいずれを用いた場合が前記ブロック差分情報のデータサイズが最小になるかを判断して前記ブロック差分情報のデータサイズを最小にするものを選択パターンとして選択し、前記選択パターンがそれぞれの前記変換ルールごとに生成された前記変換後類似パターンのいずれかである場合には前記選択パターンである前記変換後類似パターンを前記類似ブロック情報に含まれる前記類似パターンと置き換えることにより前記類似ブロック情報から前記ブロック差分情報の生成に使用可能な変換後類似ブロック情報を生成して出力し、前記選択パターンが前記類似パターンである場合には前記類似ブロック情報を出力する類似パターン変換部と、
    前記類似パターン変換部が前記変換後類似ブロック情報を出力した場合には前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報を使用して前記ブロック差分情報を生成し、前記類似パターン変換部が前記類似ブロック情報を出力した場合には前記類似ブロック情報を入力し、入力した前記類似ブロック情報を使用して前記ブロック差分情報を生成する差分情報生成部と
    を備えた差分生成装置
    の前記差分情報生成部によって前記変換後類似ブロック情報を使用して生成された前記ブロック差分情報を入力した場合に、入力した前記ブロック差分情報から前記変換後類似ブロック情報を生成する第1処理と、
    前記第1処理により生成された前記変換後類似ブロック情報を入力し、入力した前記変換後類似ブロック情報に含まれる前記変換後類似パターンを前記差分生成装置の前記類似パターン変換部による変換の逆変換をすることにより前記変換後類似パターンから前記類似パターンを生成し、生成した前記類似パターンを前記変換後類似ブロック情報に含まれる前記変換後類似パターンと置き換えることにより前記類似ブロック情報を生成する第2処理と、
    前記第2処理により生成された前記類似ブロック情報に基づいて旧版データを更新した新版データを生成する第3処理と
    をコンピュータに実行させるための差分適用プログラム。
JP2006038679A 2006-02-15 2006-02-15 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム Expired - Fee Related JP4791205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006038679A JP4791205B2 (ja) 2006-02-15 2006-02-15 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006038679A JP4791205B2 (ja) 2006-02-15 2006-02-15 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム

Publications (2)

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

Family

ID=38497014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006038679A Expired - Fee Related JP4791205B2 (ja) 2006-02-15 2006-02-15 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム

Country Status (1)

Country Link
JP (1) JP4791205B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5696018B2 (ja) * 2011-09-28 2015-04-08 クラリオン株式会社 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム
DE112014006841B4 (de) * 2014-07-28 2021-06-10 Mitsubishi Electric Corporation Datenaktualisierungssystem für eine mobile Navigationsvorrichtung zum Erzeugen von Differentialdaten und Speichervorrichtung hierfür

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152136A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム
JP2004227520A (ja) * 2003-01-27 2004-08-12 Mitsubishi Electric Corp 新旧プログラム書換情報生成装置及び新旧プログラム書換情報生成方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2007219768A (ja) 2007-08-30

Similar Documents

Publication Publication Date Title
JP2004152136A (ja) データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム
CN109976793B (zh) 一种应用程序的运行方法、装置、设备和介质
EP1717719A1 (en) Application conversion of source data
US10255047B2 (en) Source code analysis and adjustment system
US20210350775A1 (en) Method and apparatus for training adaptation quality evaluation model, and method and apparatus for evaluating adaptation quality
US20210208996A1 (en) Verification automation apparatus, verification automation method, and computer-readable recording medium
JP4791205B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム
WO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
JP6651974B2 (ja) 情報処理装置、コンパイル方法及びコンパイラプログラム
US9495151B1 (en) Automatic comment creation for computer files
US10824587B2 (en) Integrated universal file converter
JP2018124901A (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
JP4036852B2 (ja) 差分データ生成装置、差分データ生成方法および差分データ生成プログラム
JP4477947B2 (ja) 差分適用組込み機器システム及び格納データ変更方法
JP7247593B2 (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
JP4865449B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法
JP2004227520A (ja) 新旧プログラム書換情報生成装置及び新旧プログラム書換情報生成方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4249793B2 (ja) 差分データ生成装置、差分データ生成装置の差分データ生成方法および差分データ生成プログラム
Wandelt et al. Sequence factorization with multiple references
US11921688B2 (en) Environment construction support device and environment construction support method
US7617089B2 (en) Method and apparatus for compiling two-level morphology rules
US11693817B2 (en) Integrated universal file converter
US11635945B2 (en) Mobile application development device
JP2006048640A (ja) ソフトウエア差分抽出適用システム及び差分抽出装置及び差分適用装置及びプログラム
US20170060896A1 (en) File system for genomic data

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