JP2008046914A - 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法 - Google Patents

差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法 Download PDF

Info

Publication number
JP2008046914A
JP2008046914A JP2006222542A JP2006222542A JP2008046914A JP 2008046914 A JP2008046914 A JP 2008046914A JP 2006222542 A JP2006222542 A JP 2006222542A JP 2006222542 A JP2006222542 A JP 2006222542A JP 2008046914 A JP2008046914 A JP 2008046914A
Authority
JP
Japan
Prior art keywords
difference
data
unit
conversion
conversion rule
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
JP2006222542A
Other languages
English (en)
Other versions
JP4865449B2 (ja
Inventor
Ryozo Kiyohara
良三 清原
Satoshi Mitsui
聡 三井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006222542A priority Critical patent/JP4865449B2/ja
Publication of JP2008046914A publication Critical patent/JP2008046914A/ja
Application granted granted Critical
Publication of JP4865449B2 publication Critical patent/JP4865449B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】例えば、プログラムとデータが混じったようなバイナリデータの差分を示す差分情報のデータサイズを抑えることを目的とする。
【解決手段】比較部111は、旧版データ121と新版データ122とを比較して差分を抽出する。分析部116は、その差分の特性を分析する。データ分割部112は、差分の特性(分析結果123)が異なる領域ごとに上記2つのデータをそれぞれ分割する。データ変換部113は、分割された領域ごとに、差分の特性に応じた変換ルールに基づいて、上記2つのデータをそれぞれ変換する。差分生成部114は、変換後旧版データ124と変換後新版データ125とを比較して差分を示す差分情報126を生成する。変換ルール出力部115は、変換ルールを出力する。
【選択図】図1

Description

本発明は、差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法に関するものである。本発明は、特に、ソフトウエアの差分生成装置及び差分適用装置からなる差分生成適用システムに関するものである。
ソフトウエアのバージョンアップや不具合の修正のために、ソフトウエアの新版と旧版の差分を抽出し、その差分を送ることにより、通信データ量を少なくしようとする手法がある。このような手法において、差分情報(「差分」、「差分データ」ともいう)を小さくするための各種手法が提案、開示されている(例えば、特許文献1〜3参照)。
特表2005−525641号公報 特開2004−152136号公報 特開2006−48640号公報
例えば、特許文献1では、バイナリファイルを比較して差分を小さく表現するための手法に関して開示されている。しかし、ファイルをそのまま比較しており、ファイルの特性によって方式を変更した方がよいようなケースに関してはなんら開示も示唆もされていない。
例えば、特許文献2では、差分表現方法の工夫のみで差分データを小さくする手法が示されている。しかし、対象データの特性に応じて処理をするような工夫はなんら開示も示唆もされていない。
このように差分を小さくする手法として様々なものが開示されているものの、これらの手法はあらゆる場合に有効なわけではない。そのため、データの特性に応じて各手法を使い分ける必要がある。しかしながら、ソフトウエアのデータは、プログラム部分とデータ部分が交互に配置されたり、異なるCPU(中央処理演算装置)で実行するためのコードがフラッシュROM(Read・Only・Memory)やハードディスク上に一緒に置かれていたりする場合などもあり、特性の異なるデータが連続して配置されているケースが少なくない。そのため、従来のいずれかの手法をそのまま適用したり、様々な手法を適用してみて、差分が小さくなるものを採用したりしても、最小の差分情報が得られるとは言い難い。
特許文献3では、発明者によるソフトウエアの差分抽出及び差分適用の手法が開示されているが、差分の特性が異なる領域ごとにその差分の特性に応じた変換ルールを設定し、変換ルールに基づいて変換したデータに対して差分抽出及び差分適用を行うものではない。
本発明は、例えば、プログラムとデータが混じったようなバイナリデータの差分を示す差分情報のデータサイズを抑えることを目的とする。
本発明の一の態様に係る差分生成装置は、
処理装置を用いて、旧版データと新版データとを比較し、当該2つのデータ間の差分を抽出する比較部と、
前記処理装置を用いて、前記比較部により抽出された差分の特性を分析する分析部と、
前記処理装置を用いて、前記分析部により分析された差分の特性が異なる領域ごとに、前記2つのデータをそれぞれ分割するデータ分割部と、
前記データ分割部により分割された領域ごとに、前記分析部により分析された差分の特性に応じた変換ルールを記憶装置に設定し、当該変換ルールに基づいて、前記2つのデータをそれぞれ変換するデータ変換部と、
前記データ変換部により変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力装置から出力する差分生成部と、
前記データ変換部により設定された変換ルールを、前記差分生成部により生成された差分情報に対応付けて前記出力装置から出力する変換ルール出力部とを備えることを特徴とする。
本発明の一の態様によれば、データ分割部が、旧版データと新版データとの間の差分の特性が異なる領域ごとに当該2つのデータをそれぞれ分割し、データ変換部が、分割された領域ごとに差分の特性に応じた変換ルールを設定し、当該変換ルールに基づいて前記2つのデータをそれぞれ変換し、差分生成部が、変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力し、変換ルール出力部が、前記変換ルールを前記差分情報に対応付けて出力することにより、例えば、プログラムとデータが混じったようなバイナリデータの差分を示す差分情報のデータサイズを抑えることが可能となる。
以下、本発明の実施の形態について、図を用いて説明する。
下記の各実施の形態では、携帯電話、カーナビゲーションシステム、あるいは各種制御機器などの組み込みソフトウエア搭載の機器や、パーソナルコンピュータなど、ソフトウエアを搭載する機器全般に対して、ソフトウエアの不具合の修正や、ソフトウエアのバージョンアップに伴うソフトウエアの書き換えに関するものであって、実際に書き換えるソフトウエアに比べて少ない情報量を転送することにより、ソフトウエアの転送時間を短くし、通信コストの削減を狙ったソフトウエアの差分生成装置及び差分適用装置からなるソフトウエア差分適用生成システムについて説明する。
実施の形態1.
図1は、本実施の形態に係る差分生成適用システム100の構成を示すブロック図である。
図1において、差分生成適用システム100は、差分生成装置101と差分適用装置102からなる。
差分生成装置101は、一度、差分を抽出したあと、差分の発生部分がどこにあるかを分析し、その分散具合を分析し、分散傾向に合ったデータの変換処理を行うことにより、差分の発生部分を分散させずに集中させる。これにより、差分を小さく表現する。
差分は、例えば、旧版と同じ部分であって旧版から複製すればよい部分をCOPY命令で表し、新たにデータを追加する部分をDATA(ADD)命令で表す。つまり、差分データは、DATAとCOPYの命令の繰り返しで表される。本質的に変わったデータ(DATA命令で表す部分)に関しては新たに送らなければならないが、旧版と同じデータや同じであっても位置がずれているデータ(COPY命令で表す部分)は、命令だけを送ればよい。したがって、差分情報には、本質的に変わったデータ以外にも、命令ごとに数バイトのコマンドにあたるデータが入ることになる。即ち、このコマンドが少なければ少ないほど差分は小さく表現できることになる。差分を表す方法としては、ここで説明した方法以外にも、例えば、差分を、同一の領域、位置ずれを起こして移動した領域、新たにデータを追加する領域に分けて、それぞれSKIP命令、COPY命令、ADD命令で表すものを用いることができる。
差分生成装置101は、比較部111、データ分割部112、データ変換部113、差分生成部114、変換ルール出力部115、分析部116からなる。差分生成装置101は、旧版データ121、新版データ122、分析結果123、変換後旧版データ124、変換後新版データ125、差分情報126を、それぞれ、例えばデータファイルとして記憶装置120に記憶する。差分生成装置101は、記憶装置120のほかに、処理装置、入力装置、出力装置などのハードウエア装置を備える(又はこれらのハードウエア装置が差分生成装置101に接続される)。ハードウエア装置は差分生成装置101の各部によって利用される。例えば、処理装置は、差分生成装置101の各部でデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される。記憶装置120は、そのデータや情報を記憶するために利用される。また、入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
比較部111は、処理装置を用いて、旧版データ121と新版データ122とを比較し、当該2つのデータ間の差分を抽出する。分析部116は、処理装置を用いて、比較部111により抽出された差分の特性を分析する。データ分割部112は、処理装置を用いて、分析部116により分析された差分の特性(分析結果123)が異なる領域ごとに、上記2つのデータをそれぞれ分割する。データ変換部113は、データ分割部112により分割された領域ごとに、分析部116により分析された差分の特性に応じた変換ルールを記憶装置120に設定し、当該変換ルールに基づいて、上記2つのデータをそれぞれ変換する。差分生成部114は、データ変換部113により変換された2つのデータ(変換後旧版データ124と変換後新版データ125)同士を比較し、当該2つのデータ間の差分を示す差分情報126を生成して出力装置から出力する。変換ルール出力部115は、データ変換部113により設定された変換ルールを、差分生成部114により生成された差分情報126に対応付けて(例えば、変換ルールを差分情報126に挿入する)出力装置から出力する。
本実施の形態では、分析部116は、比較部111により抽出された差分の特性として、当該差分が発生しているアドレスの傾向を分析する。
本実施の形態では、分析部116は、データ特性判定部117を含む。データ特性判定部117は、比較部111により抽出された差分が発生しているアドレスの傾向を、任意の大きさの領域ごとに、当該アドレスを所定の整数で割り算したときの余りが所定の値になる比率が高いかどうかで判定する。
本実施の形態では、分析部116は、さらに、データ分割点設定部118を含む。データ分割点設定部118は、データ特性判定部117により比率が高いと判定された領域と比率が高くないと判定された領域との境目を分割点として記憶装置120に設定する。データ分割部112は、データ分割点設定部118により設定された分割点で上記2つのデータ(旧版データ121と新版データ122)をそれぞれ分割する。
本実施の形態では、分析部116は、データ特性判定部117により比率が高いと判定される領域がより大きくなるように調整する。また、分析部116は、データ特性判定部117により比率が高くないと判定される領域がより小さくなるように調整する。そして、調整した領域同士の境目を分割点としてデータ分割点設定部118に設定させる。これにより、差分情報126を最適化することができる。
本実施の形態では、データ変換部113は、データ分割部112により分割された領域ごとに、比較部111により抽出された差分が発生しているアドレスを所定の整数で割り算したときの余りの順番で、上記2つのデータをそれぞれソートする。そのため、データ変換部113は、変換ルールとして、上記所定の整数の値を示すものを設定する。設定される変換ルールは、さらに、データ分割部112により分割された領域の大きさや位置などを示すものであってもよい。また、どのような順番でデータをソートするかを示すものであってもよい。
差分適用装置102は、変換部141、差分適用部142、逆変換部143からなる。差分適用装置102は、旧版データ151、変換後旧版データ152、変換後新版データ153、新版データ154を、それぞれ、例えば実行モジュールのファイルやバイナリイメージとして記憶装置150に記憶する。差分適用装置102は、記憶装置150のほかに、処理装置、入力装置、出力装置などのハードウエア装置を備える(又はこれらのハードウエア装置が差分適用装置102に接続される)。ハードウエア装置は差分適用装置102の各部によって利用される。例えば、処理装置は、差分適用装置102の各部でデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される。記憶装置150は、そのデータや情報を記憶するために利用される。また、入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
変換部141は、差分生成装置101の変換ルール出力部115により出力された変換ルールを入力装置から入力し、入力した変換ルールを記憶装置150に記憶する。そして、この変換ルールに基づいて、旧版データ151を変換する。差分適用部142は、差分生成装置101の差分生成部114により出力された差分情報126であって変換ルールと対応するもの(例えば、変換ルールが挿入されている差分情報126)を入力装置から入力し、入力した差分情報126を記憶装置150に記憶する。そして、この差分情報126に基づいて、変換部141により変換されたデータ(変換後旧版データ152)に当該差分(差分情報126に示された差分)を適用する。逆変換部143は、処理装置を用いて、上記変換ルールに基づき、差分適用部142により差分情報126が示す差分が適用されたデータ(変換後新版データ153)を逆変換し、新版データ154を再生する。
図2は、差分生成装置101及び差分適用装置102それぞれの外観の一例を示す図である。
図2において、差分生成装置101及び差分適用装置102は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ装置906などのハードウエア資源を備え、これらはケーブルや信号線で接続されている。システムユニット910は、コンピュータであり、LAN942(ローカルエリアネットワーク)、ゲートウェイ941を介してインターネット940に接続されている。
図3は、差分生成装置101及び差分適用装置102それぞれのハードウエア資源の一例を示す図である。
図3において、差分生成装置101及び差分適用装置102は、プログラムを実行するCPU911(「演算装置」、「マイクロプロセッサ」、「マイクロコンピュータ」、「プロセッサ」ともいう)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、磁気ディスク装置920と接続され、これらのハードウエアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置120,150の一例である。通信ボード915、キーボード902、FDD904などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
通信ボード915は、LAN942などに接続されている。通信ボード915は、LAN942に限らず、インターネット940、あるいは、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)などのWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940あるいはWANなどに接続されている場合、ゲートウェイ941は不要となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(IDentifier)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウエアで実現されていても構わない。あるいは、ソフトウエアのみ、あるいは、素子・デバイス・基板・配線などのハードウエアのみ、あるいは、ソフトウエアとハードウエアとの組み合わせ、さらには、ファームウエアとの組み合わせで実現されていても構わない。ファームウエアとソフトウエアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
図4は、本実施の形態に係る差分生成方法(差分生成装置101の動作、差分生成装置101で実行される差分生成プログラムの処理手順に相当する)を示すフローチャートである。
図4において、ステップS201(比較処理)では、差分生成装置101の比較部111が、CPU911(差分生成装置101の処理装置の一例)を用いて、旧版と新版のファイル情報(旧版データ121と新版データ122)を読み込み比較をする。この比較により、旧版データ121と新版データ122との差分を抽出する。この抽出処理は、従来からUNIX(登録商標)オペレーティングシステムで用いられているdiffのアルゴリズムなどを利用することにより実装できる。
ステップS202(分析処理)では、差分生成装置101の分析部116が、CPU911を用いて、ステップS201の出力結果である差分を分析する。差分の分析の具体的な処理については、図8、図9を用いて後述する。ステップS203(データ分割処理)では、差分生成装置101のデータ分割部112が、CPU911を用いて、ステップS202の分析結果123を利用してデータ(旧版データ121と新版データ122)を複数の部分に分割する。データの分割の具体的な処理に関しては、図6を用いて後述する。
ステップS204(データ変換処理)では、差分生成装置101のデータ変換部113が、CPU911を用いて、ステップS203で分割された部分ごとにデータの変換処理を行って、変換後旧版データ124と変換後新版データ125を生成し、記憶装置120に記憶する。例えば、CPUのアーキテクチャなどに依存しないで差分の発生部分が分散しているようなデータなら、無変換(変換しないという処理)もデータ変換の一種と考える。また、例えば、データ変換には、アドレスを特定の基数で割った余りを利用する方式がある。これは、例えば、0、1、2、3、4、5、6、7、8、9、10、11、12番地のデータは、4を基数にした場合は、0、4、8、12、1、5、9、2、6、10、3、7、11という並びに変換されることを意味する(即ち、この例ではアドレスを基数で割った余りの順番にソートしている)。あるいは、差分のある部分に、一定の数字を足すと差分がなくなるというような変換もある。これは、リンク先アドレスが一定の割合でずれているような場合に、一定の数字を足せば良いような場合に有効な手段となる(即ち、この例ではアドレスに位置ずれを補正するための定数を加えている)。
ステップS204でデータ変換が行われた後、ステップS205(差分生成処理)では、差分生成装置101の差分生成部114が、CPU911を用いて、変換単位ごとに差分抽出処理を行い、その結果を基に差分情報126を生成する。ステップS206(変換ルール出力処理)では、差分生成装置101の変換ルール出力部115が、CPU911を用いて、ステップS205で生成された差分情報126に変換ルールの情報を加えて出力する。
図5は、本実施の形態に係る差分適用方法(差分適用装置102の動作、差分適用装置102で実行される差分適用プログラムの処理手順に相当する)を示すフローチャートである。
図5において、ステップS211(変換ルール抽出処理)では、差分適用装置102の変換部141が、CPU911(差分適用装置102の処理装置の一例)を用いて、図4のステップS206で差分生成装置101により出力された差分情報126から、分割されたデータ単位ごとの変換ルールの情報を抽出する。そして、ステップS212(変換処理)では、CPU911を用いて、元の旧版データ151に対し、ステップS211で抽出した変換ルールに基づいて、分割されたデータ単位ごとに変換処理を行う。
ステップS213(差分適用処理)では、差分適用装置102の差分適用部142が、CPU911を用いて、ステップS212で変換されたデータ(変換後旧版データ152)に対し、差分情報126を用いて差分適用処理を行う。
ステップS214(逆変換処理)では、差分適用装置102の逆変換部143が、CPU911を用いて、ステップS213で差分適用後のイメージ(変換後新版データ153)を逆変換処理することにより元に戻す。これによって新版データ154を得る。
次に、図6、図7を用いて、差分生成装置101の分析部116に含まれるデータ特性判定部117とデータ分割点設定部118の処理フローを示す。その後、実際のファイルを例にして、差分を抽出する処理に関して図8、図9を利用して説明する。
まず、図6において、ステップS301では、差分生成装置101のデータ特性判定部117が、CPU911(差分生成装置101の処理装置の一例)を用いて、図4のステップS202で抽出された差分の現れているアドレスの一覧表を作成する。そして、ステップS302では、CPU911を用いて、一定の基数、即ち、2、4、8、16といった数値(1以上の整数であればよい)でそのアドレスを割り算し、その余りで、差分の現れたアドレスを分類する。例えば、3、35、38、39、40番地に差分が現れている場合は、それぞれのアドレスを2で割れば、余りが1のところに3つ(3、35、39番地)が分類され、余りが0のところには2つ(38、40番地)が分類される。4で割れば、余りが3のところに3つ(3、35、39番地)が分類され、余りが2のところに1つ(38番地)が分類され、余りが0のところに1つ(40番地)が分類される。8で割れば、余りが3のところに2つ(3、35番地)が分類され、余りが7のところに1つ(39番地)が分類され、余りが6のところに1つ(38番地)が分類され、余りが0のところに1つ(40番地)が分類される。
ステップS303では、データ特性判定部117が、CPU911を用いて、上記のように分類した項目(上記の例では、余り)ごとの差分の分散状況を見る。上記の例において、データ特性判定部117は、0〜36番地では、アドレスを8で割ったときの余りが3になる部分にのみ差分が現れていることを認識する。また、37番地以降は、差分がランダムに現れていることを認識する。
ステップS304では、データ特性判定部117が、CPU911を用いて、ステップS303で認識した差分の分散状況に基づいて、0〜36番地の領域と37番地以降の領域のそれぞれにおいて(任意の大きさの領域ごとに)、差分の分散の割合が一定の指標より上か下かで、各領域の差分の特性を判断する。例えば、上記指標を100%とした場合、0〜36番地の領域において、差分が発生しているアドレスを8で割り算したときの余りが3になる比率は100%であるから、この領域は当該比率が高いものと判定される。同様に、37番地以降の領域において、差分が発生しているアドレスを8で割り算したときの余りが3になる比率は0%であるから、この領域は当該比率が高くないものと判定される。データ特性判定部117は、このように差分が発生しているアドレスの傾向の分かれ目を36番地と37番地の間であると判断し、その結果を分析結果123として記憶装置120に記憶する。
このように、差分の発生しているアドレスを様々な数値で割り算して、そのときの余りと差分との相関を分析することにより、差分の偏り(集中)を発見することができる。これは、差分が少なくとも見かけ上は一定の法則に従って発生しているとみなせる場合に、その法則を発見することに相当する。上記の例では、0〜36番地の領域において、差分が発生しているアドレスを8で割り算したときの余りが3になるという法則を発見している。この法則は、そのまま変換ルールの設定に用いることができるものである。
データ特性判定部117は、ステップS302で、差分が発生しているアドレスを8で割り算したときの余りによって差分の特性を分析する処理を省略してもよい。この場合、ステップS303では、0〜39番地では、アドレスを4で割ったときの余りが3になる部分に多くの差分が現れていることがわかる。ステップS304では、例えば、上記指標を50%とした場合、0〜39番地の領域において、差分が発生しているアドレスを4で割り算したときの余りが3になる比率は75%であるから、この領域は当該比率が高いものと判定される。同様に、40番地以降の領域において、差分が発生しているアドレスを4で割り算したときの余りが3になる比率は0%であるから、この領域は当該比率が高くないものと判定される。データ特性判定部117は、このように差分が発生しているアドレスの傾向の分かれ目を39番地と40番地の間であると判断し、その結果を分析結果123として記憶装置120に記憶する。
差分情報126のデータサイズを抑えるためには、最適な変換ルールを設定する必要がある。そのためには、ステップS302〜S304を繰り返すことにより、より細かな単位でのデータの傾向を分析し、上記一定の法則を最適化することが有効である。例えば、上記のように、データ特性判定部117は、1回目のステップS302では、差分が発生しているアドレスを4で割り算したときの余りによって差分の特性を分析する処理のみを行い、2回目のステップS302では、差分が発生しているアドレスを8で割り算したときの余りによって差分の特性を分析する処理を行うことができる。このように、データ特性判定部117は、ステップS302〜S304を複数回繰り返すことで、各回の処理結果を比較して最適なものを選択することが可能となる。
次に、図7において、ステップS401では、差分生成装置101のデータ分割点設定部118が、CPU911を用いて、図6のステップS304の分析結果123を参照して、差分が発生しているアドレスの傾向の分かれ目を分割点として設定し、記憶装置120に記憶する。そして、ステップS402では、ステップS401で設定した分割点で、データ分割部112にデータ(旧版データ121と新版データ122)を複数の部分(領域)に分割(分離)させる。
以下、実際のファイルを例にして、差分を抽出する処理に関して説明する。
図8は、本実施の形態における旧版データ501、新版データ502、変換後旧版データ503、変換後新版データ504の一例を示す図である。図9は、本実施の形態における差分情報602の一例を示す図である。
図8において、旧版データ501と新版データ502との差分としては、3番地(1行目の1列目が0番地、2列目が1番地、3列目が2番地、・・・、2行目の1列目が8番地、2列目が9番地、3列目が10番地、・・・とする)が4から5になり、11番地が5から6になり、19番地が6から7になり、27番地が7から8になっている。また、32〜55番地は全てデータ値(旧版、新版のデータは1つのアドレスに1つのデータ値をもつものとする)が変わり、59番地は8から9になり、67番地は9から0になっている。
このような差分は、マシン命令のアドレス部分やレジスタの指定部分が変わった場合、画像などのデータが変わった場合とが区別なく入っている場合などに起こるパターンである。
8を基数にしてアドレスを割ると、余りが0、1、2、4、5、6、7の部分ではそれぞれ3箇所、余りが3の部分では9箇所に差分が発生していることがわかる。つまり、余りが3の部分に差分が多数あるという特徴があることがわかる。
さらに、この余りの発生するアドレスを分析すると、余りが3のところ以外は全て、32〜55番地に入り、それ以外にはないことがわかる。そこで、データを31番地と55番地で3つの部分に分割して、さらに同じ傾向分析を行う。
0〜31番地では、余りが3のところにのみ4つの差分があり、他の余りのところには差分はないことがわかる。32〜55番地では、全て均等に3つの差分があることがわかる。56〜71番地では、余りが3のところに2つの差分があり、他の余りのところには差分はないことがわかる。そこで、この分析を終了し、分割点を31番地、55番地とする。
次に、8を基数とする変換を0〜31番地及び55番地以降の部分にかけて、旧版データ501、新版データ502を、それぞれ変換後旧版データ503、変換後新版データ504に変換する。
変換後旧版データ503と変換後新版データ504との差分は、12〜15番地、32〜55番地、及び62〜63番地の3つにかたまっていることがわかる。
これを、前述したように、COPY命令とDATA命令の列である差分情報602として表すことにより、差分を小さく表現できる。
図9において、差分情報602には、変換後のデータを元に戻すために、アドレスを8で割った余りの順にソートをしていることを示す変換ルールの情報を加えるだけで、COPY命令とDATA命令の列の数が従来の差分情報601よりも格段に少なくなっていることがわかる。
COPY命令は、どの番地から、何番地分のデータ値をコピーするかを示している。例えば、“COPY 0, 12”は、旧版の0番地から12個のデータ値を新版にコピーすることを示すものである。また、DATA命令は、何番地分のデータ値を新たに追加するかを示している。例えば、“DATA 4, 5678”は、新版の次の番地に4個のデータ値である“5678”を追加することを示すものである。さらに、Ruleは、差分適用時に利用するための変換ルールである。例えば、“Rule 8, 32”は、旧版の次の番地から32個のデータ値が、8を基数として変換されている(アドレスを8で割った余りの順にソートされている)ことを示すものである。例えば、“Rule 0, 24”は、旧版の次の番地から24個のデータ値は変換されていないことを示すものである。
この例では、従来の差分情報601はコマンド数が15であるのに対して、本実施の形態における差分情報602はコマンド数が10(従来の2/3)になっていることがわかる。このように、本実施の形態によれば、差分情報のデータを小さくすることができる。本実施の形態には、特に、プログラムとデータが混じったようなバイナリデータの差分に関しては、効率よく差分を抽出し、差分情報のデータを小さくするという効果がある。
図4を用いて説明した差分生成方法を、さらに具体的に、図8及び図9に示した例により説明する。
ステップS201では、差分生成装置101の比較部111が動作して、旧版データ501と新版データ502を比較する。この比較は、一致する部分が最も長くなるところをまず見つけることにより、全体としてコピーされている部分と新たに追加されたデータである部分を見つけていく手順で実行できる。一般にバイナリ差分技術といわれる公知の技術を使うことにより実現できる。
ステップS202では、差分生成装置101の分析部116が動作し、ステップS201で抽出した差分を分析する。分析の手順は、追加データとして発生する部分は旧版データ501のどの部分に発生したかを見ることに始まる。
基数の例として、2、4、8などを利用して、差分が発生したアドレスの割り算し、その特性を見つける。旧版データ501と新版データ502との間では、8で割り算したときの余りが3の部分の違いが、9箇所ある。残りの部分は均等に、3箇所ずつ違うことがわかる。よって、分析の結果、8を基数として計算した場合に余りが3の部分に偏って違いがあることがわかる。
さらに分析範囲を限定することにより、分析を進めると、31番地までは余りが3のところに差分が集中し、56番地以降も余りが3のところに差分が集中していることがわかる。また、32〜55番地は全てのデータが違うということがわかる。この分析は単純なケースでは、はっきりするが、単純でないケースも考えると、一定のパラメタ(指標)より集中度が大きいか小さいかという点がわかればよい。例えば、31番地までで余りが3のところの違いは100%、それ以外は0%である。40番地まで考えると、余りが3のところは100%、それ以外の部分は20%となる。範囲をずらすことにより、この割合が変わる。この閾値(指標)を決めておけば、最適な分割点を見つけることができる。
ステップS203では、差分生成装置101のデータ変換部113が動作し、上記ステップS202の分析結果123に基づいて、分割点でデータを分割する。図8の例では、3つの部分(0〜31番地、32〜55番地、56番地以降の3つの領域)に分割する。
ステップS204では、ステップS203で分割されたデータの領域ごとに、差分生成装置101のデータ変換部113が動作してデータを変換する。0〜31番地、56番地以降の領域に関しては、アドレスを8で割ったときの余りが同じものが連続するように、変換処理を行う。これによって、違いのある部分が集中することになる。32〜55番地の領域は無変換とする。その結果、変換後旧版データ503と変換後新版データ504が生成される。
ステップS205では、差分生成装置101の差分生成部114が動作して、変換後旧版データ503と変換後新版データ504の差分を再度抽出する。
ステップS206では、差分生成装置101の変換ルール出力部115が動作して、ステップS205で抽出された差分と領域ごとの変換方法を指定する変換ルールとを含む差分情報602を出力する。
次に、図5を用いて説明した差分適用方法を、さらに具体的に、図8及び図9に示した例により説明する。
ステップS211、S212では、差分適用装置102の変換部141が動作して、差分情報602から変換ルールの部分を抜き出し、変換ルールに従って、旧版データ501の領域ごとに変換処理をかけて変換後旧版データ503を作る。
ステップS213では、差分適用装置102の差分適用部142が動作して、変換後旧版データ503に差分適用処理を行い、変換後新版データ504を作る。
ステップS214では、差分適用装置102の逆変換部143が動作して、変換後新版データ504の領域ごとに逆変換処理を行い、新版データ502を作成する。
上記のように、本実施の形態で説明した差分生成適用システムは、新版のデータと旧版のデータを比較し、その差分を抽出し、旧版に適用すれば新版を生成可能な差分データとして差分情報を出力できる差分生成システムにおいて、新版と旧版の比較部と、比較結果の分析部と、分析結果からデータを分割するデータ分割部と、データ変換を行うデータ変換部と、変換した結果に基づき差分を生成する差分生成部と、変換ルールの出力部とを備えた差分生成装置と、差分生成装置で出力された差分情報に基づいて、旧版のデータを変換ルールに基づき変換する変換部と、差分を適用する差分適用部と、元のデータに戻す逆変換部とを保持することを特徴とする差分適用装置とからなることを特徴とする。
上記比較結果の分析部は、データ特性判定部とデータ分割点設定部からなることを特徴とする。
上記データ特性判定部は、差分の発生するアドレスは、決まった整数で割り算した余りが同じであるアドレスに発生する確率が高いかどうかで判定することを特徴とする。
上記の発生する確率が高いかどうかの判定は、一定の領域の大きさごとに確率を計算することにより、その値が一定の値より高いかどうかで判定することを特徴とする。
上記の一定の領域は、この領域の大きさより小さな単位で開始アドレスをずらしたものを一定の領域とすることを特徴とする。
上記データ分割点設定部は、前記データ特性判定部において、決まった整数で割り算した余りが同じであるアドレスに発生する確率が高いと判定された部分とそうでない部分との境目を分割点とすることを特徴とする。
実施の形態2.
本実施の形態に係る差分生成適用システムは、実施の形態1で説明したものと同様である。
図10は、本実施の形態における旧版データ511、新版データ512、変換後旧版データ513、変換後新版データ514の一例を示す図である。
図10において、旧版データ511は、実施の形態1で図8に示した旧版データ501の7行目を省いたものである。新版データ512は、実施の形態1で図8に示した新版データ502と同じものである。
この例では、実施の形態1と同様に、8を基数とする変換を0〜31番地及び48番地以降の部分にかけて、旧版データ511を、変換後旧版データ513に変換する。新版データ512は、実施の形態1と同様に、変換後新版データ514に変換される。
図11は、上記の例における差分情報612を示す図である。
実施の形態1と同様に、この例でも、従来の差分情報611はコマンド数が15であるのに対して、本実施の形態における差分情報602はコマンド数が10(従来の2/3)になっていることがわかる。
実施の形態3.
本実施の形態に係る差分生成適用システムは、実施の形態1で説明したものと同様である。
図12は、本実施の形態における旧版データ521、新版データ522、変換後旧版データ523、変換後新版データ524の一例を示す図である。
図12において、旧版データ521は、実施の形態1で図8に示した旧版データ501と同じものである。新版データ522は、実施の形態1で図8に示した新版データ502の7行目を省いたものである。
この例では、旧版データ521は、実施の形態1と同様に、変換後旧版データ523に変換される。そして、実施の形態1と同様に、8を基数とする変換を0〜31番地及び48番地以降の部分にかけて、新版データ522を、変換後新版データ524に変換する。
図13は、上記の例における差分情報622を示す図である。
実施の形態1と同様に、この例でも、従来の差分情報611はコマンド数が15であるのに対して、本実施の形態における差分情報602はコマンド数が10(従来の2/3)になっていることがわかる。
実施の形態1に係る差分生成適用システムの構成を示すブロック図である。 実施の形態1における差分生成装置及び差分適用装置の外観の一例を示す図である。 実施の形態1における差分生成装置及び差分適用装置のハードウエア資源の一例を示す図である。 実施の形態1に係る差分生成方法を示すフローチャートである。 実施の形態1に係る差分適用方法を示すフローチャートである。 実施の形態1に係るデータ特性判定処理を示すフローチャートである。 実施の形態1に係るデータ分割点設定処理を示すフローチャートである。 実施の形態1における旧版データ及び新版データの一例を示す図である。 実施の形態1における差分情報の一例を示す図である。 実施の形態2における旧版データ及び新版データの一例を示す図である。 実施の形態2における差分情報の一例を示す図である。 実施の形態3における旧版データ及び新版データの一例を示す図である。 実施の形態3における差分情報の一例を示す図である。
符号の説明
100 差分生成適用システム、101 差分生成装置、102 差分適用装置、111 比較部、112 データ分割部、113 データ変換部、114 差分生成部、115 変換ルール出力部、116 分析部、117 データ特性判定部、118 データ分割点設定部、120,150 記憶装置、121,151,501,511,521 旧版データ、122,154,502,512,522 新版データ、123 分析結果、124,152,503,513,523 変換後旧版データ、125,153,504,514,524 変換後新版データ、126,601,602,611,612,621,622 差分情報、141 変換部、142 差分適用部、143 逆変換部、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (11)

  1. 処理装置を用いて、旧版データと新版データとを比較し、当該2つのデータ間の差分を抽出する比較部と、
    前記処理装置を用いて、前記比較部により抽出された差分の特性を分析する分析部と、
    前記処理装置を用いて、前記分析部により分析された差分の特性が異なる領域ごとに、前記2つのデータをそれぞれ分割するデータ分割部と、
    前記データ分割部により分割された領域ごとに、前記分析部により分析された差分の特性に応じた変換ルールを記憶装置に設定し、当該変換ルールに基づいて、前記2つのデータをそれぞれ変換するデータ変換部と、
    前記データ変換部により変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力装置から出力する差分生成部と、
    前記データ変換部により設定された変換ルールを、前記差分生成部により生成された差分情報に対応付けて前記出力装置から出力する変換ルール出力部とを備えることを特徴とする差分生成装置。
  2. 前記分析部は、前記比較部により抽出された差分の特性として、当該差分が発生しているアドレスの傾向を分析することを特徴とする請求項1に記載の差分生成装置。
  3. 前記分析部は、前記比較部により抽出された差分が発生しているアドレスの傾向を、任意の大きさの領域ごとに、当該アドレスを所定の整数で割り算したときの余りが所定の値になる比率が高いかどうかで判定するデータ特性判定部を含むことを特徴とする請求項2に記載の差分生成装置。
  4. 前記分析部は、さらに、前記データ特性判定部により前記比率が高いと判定された領域と前記比率が高くないと判定された領域との境目を分割点として前記記憶装置に設定するデータ分割点設定部を含み、
    前記データ分割部は、前記データ分割点設定部により設定された分割点で前記2つのデータをそれぞれ分割することを特徴とする請求項3に記載の差分生成装置。
  5. 前記分析部は、前記データ特性判定部により前記比率が高いと判定される領域がより大きくなるように調整するとともに、前記データ特性判定部により前記比率が高くないと判定される領域がより小さくなるように調整し、調整した領域同士の境目を前記分割点として前記データ分割点設定部に設定させることを特徴とする請求項4に記載の差分生成装置。
  6. 前記データ変換部は、前記データ分割部により分割された領域ごとに、前記比較部により抽出された差分が発生しているアドレスを前記所定の整数で割り算したときの余りの順番で、前記2つのデータをそれぞれソートすることを特徴とする請求項3に記載の差分生成装置。
  7. 旧版データと新版データとの間の差分が発生している領域であって当該差分の特性が異なる領域ごとに、当該差分の特性に応じた変換ルールを入力装置から入力し、入力した変換ルールに基づいて、前記旧版データを変換する変換部と、
    前記旧版データと前記新版データとの間の差分を示す差分情報であって前記変換ルールと対応する差分情報を前記入力装置から入力し、当該差分情報に基づいて、前記変換部により変換されたデータに当該差分を適用する差分適用部と、
    処理装置を用いて、前記変換ルールに基づいて、前記差分適用部により前記差分情報が示す差分が適用されたデータを逆変換し、前記新版データを再生する逆変換部とを備えることを特徴とする差分適用装置。
  8. 差分生成装置が備える比較部が、旧版データと新版データとを比較し、当該2つのデータ間の差分を抽出する比較処理と、
    前記差分生成装置が備える分析部が、前記比較処理により抽出された差分の特性を分析する分析処理と、
    前記差分生成装置が備えるデータ分割部が、前記分析処理により分析された差分の特性が異なる領域ごとに、前記2つのデータをそれぞれ分割するデータ分割処理と、
    前記差分生成装置が備えるデータ変換部が、前記データ分割処理により分割された領域ごとに、前記分析処理により分析された差分の特性に応じた変換ルールを設定し、当該変換ルールに基づいて、前記2つのデータをそれぞれ変換するデータ変換処理と、
    前記差分生成装置が備える差分生成部が、前記データ変換処理により変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力する差分生成処理と、
    前記差分生成装置が備える変換ルール出力部が、前記データ変換処理により設定された変換ルールを、前記差分生成処理により生成された差分情報に対応付けて出力する変換ルール出力処理とをコンピュータに実行させることを特徴とする差分生成プログラム。
  9. 差分適用装置が備える変換部が、旧版データと新版データとの間の差分が発生している領域であって当該差分の特性が異なる領域ごとに、当該差分の特性に応じた変換ルールに基づいて、前記旧版データを変換する変換処理と、
    前記差分適用装置が備える差分適用部が、前記旧版データと前記新版データとの間の差分を示す差分情報に基づいて、前記変換処理により変換されたデータに当該差分を適用する差分適用処理と、
    前記差分適用装置が備える逆変換部が、前記変換ルールに基づいて、前記差分適用処理により前記差分情報が示す差分が適用されたデータを逆変換し、前記新版データを再生する逆変換処理とをコンピュータに実行させることを特徴とする差分適用プログラム。
  10. 処理装置を用いて、旧版データと新版データとを比較し、当該2つのデータ間の差分を抽出する比較部と、
    前記処理装置を用いて、前記比較部により抽出された差分の特性を分析する分析部と、
    前記処理装置を用いて、前記分析部により分析された差分の特性が異なる領域ごとに、前記2つのデータをそれぞれ分割するデータ分割部と、
    前記データ分割部により分割された領域ごとに、前記分析部により分析された差分の特性に応じた変換ルールを記憶装置に設定し、当該変換ルールに基づいて、前記2つのデータをそれぞれ変換するデータ変換部と、
    前記データ変換部により変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力装置から出力する差分生成部と、
    前記データ変換部により設定された変換ルールを、前記差分生成部により生成された差分情報に対応付けて前記出力装置から出力する変換ルール出力部とを備える差分生成装置と、
    前記変換ルール出力部により出力された変換ルールを入力装置から入力し、入力した変換ルールに基づいて、前記旧版データを変換する変換部と、
    前記差分生成部により出力された差分情報であって前記変換ルールと対応する差分情報を前記入力装置から入力し、当該差分情報に基づいて、前記変換部により変換されたデータに当該差分を適用する差分適用部と、
    処理装置を用いて、前記変換ルールに基づいて、前記差分適用部により前記差分情報が示す差分が適用されたデータを逆変換し、前記新版データを再生する逆変換部とを備える差分適用装置とを備えることを特徴とする差分生成適用システム。
  11. 差分生成装置が備える比較部が、旧版データと新版データとを比較し、当該2つのデータ間の差分を抽出し、
    前記差分生成装置が備える分析部が、抽出された差分の特性を分析し、
    前記差分生成装置が備えるデータ分割部が、分析された差分の特性が異なる領域ごとに、前記2つのデータをそれぞれ分割し、
    前記差分生成装置が備えるデータ変換部が、分割された領域ごとに、分析された差分の特性に応じた変換ルールを設定し、当該変換ルールに基づいて、前記2つのデータをそれぞれ変換し、
    前記差分生成装置が備える差分生成部が、変換された2つのデータ同士を比較し、当該2つのデータ間の差分を示す差分情報を生成して出力し、
    前記差分生成装置が備える変換ルール出力部が、設定された変換ルールを、生成された差分情報に対応付けて出力し、
    差分適用装置が備える変換部が、出力された変換ルールに基づいて、前記旧版データを変換し、
    前記差分適用装置が備える差分適用部が、出力された差分情報であって前記変換ルールと対応する差分情報に基づいて、変換されたデータに当該差分を適用し、
    前記差分適用装置が備える逆変換部が、前記変換ルールに基づいて、前記差分情報が示す差分が適用されたデータを逆変換し、前記新版データを再生することを特徴とする差分生成適用方法。
JP2006222542A 2006-08-17 2006-08-17 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法 Expired - Fee Related JP4865449B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006222542A JP4865449B2 (ja) 2006-08-17 2006-08-17 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222542A JP4865449B2 (ja) 2006-08-17 2006-08-17 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法

Publications (2)

Publication Number Publication Date
JP2008046914A true JP2008046914A (ja) 2008-02-28
JP4865449B2 JP4865449B2 (ja) 2012-02-01

Family

ID=39180596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222542A Expired - Fee Related JP4865449B2 (ja) 2006-08-17 2006-08-17 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法

Country Status (1)

Country Link
JP (1) JP4865449B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012185599A (ja) * 2011-03-04 2012-09-27 Encourage Technologies Co Ltd 情報処理システム、プログラム改修装置、プログラム改修方法、及びプログラム
JP2020528629A (ja) * 2017-07-25 2020-09-24 オーロラ ラブズ リミテッド 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012185599A (ja) * 2011-03-04 2012-09-27 Encourage Technologies Co Ltd 情報処理システム、プログラム改修装置、プログラム改修方法、及びプログラム
JP2020528629A (ja) * 2017-07-25 2020-09-24 オーロラ ラブズ リミテッド 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出
US11416242B2 (en) 2017-07-25 2022-08-16 Aurora Labs Ltd. Roll back of data delta updates
US11422793B2 (en) 2017-07-25 2022-08-23 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
US11422794B2 (en) 2017-07-25 2022-08-23 Aurora Labs Ltd. Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
US11442721B2 (en) 2017-07-25 2022-09-13 Aurora Labs Ltd. Opportunistic software updates during select operational modes
US11455165B2 (en) 2017-07-25 2022-09-27 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11467823B2 (en) 2017-07-25 2022-10-11 Aurora Labs Ltd. Constructing software delta updates for controller software and abnormality detection based on toolchain
JP7169340B2 (ja) 2017-07-25 2022-11-10 オーロラ ラブズ リミテッド 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出
US11526348B2 (en) 2017-07-25 2022-12-13 Aurora Labs Ltd. Detecting anomalies online using controller processing activity
US11635955B2 (en) 2017-07-25 2023-04-25 Aurora Labs Ltd. Roll back of data delta updates
US11650808B2 (en) 2017-07-25 2023-05-16 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11650807B2 (en) 2017-07-25 2023-05-16 Aurora Labs Ltd. Self-healing learning system for one or more controllers
US11704111B2 (en) 2017-07-25 2023-07-18 Aurora Labs Ltd. Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
US11789720B2 (en) 2017-07-25 2023-10-17 Aurora Labs Ltd. Opportunistic software updates during select operational modes
US11822917B2 (en) 2017-07-25 2023-11-21 Aurora Labs Ltd. Detecting anomalies online using controller processing activity
US11829750B2 (en) 2017-07-25 2023-11-28 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
US11900103B2 (en) 2017-07-25 2024-02-13 Aurora Labs Ltd. Self-healing learning system for one or more controllers
US12093682B2 (en) 2017-07-25 2024-09-17 Aurora Labs Ltd. Roll back of data delta updates

Also Published As

Publication number Publication date
JP4865449B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
US9218327B2 (en) Optimizing the layout of electronic documents by reducing presentation size of content within document sections so that when combined a plurality of document sections fit within a page
JP4865449B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法
US8489537B2 (en) Segmenting sequential data with a finite state machine
JP6805720B2 (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP2010136006A (ja) 画像処理装置及び画像処理プログラム
US11972208B2 (en) Information processing device and information processing method
JP2011059864A (ja) 画像処理装置及び画像処理プログラム
JP6131765B2 (ja) 情報処理装置及び情報処理プログラム
WO2016189721A1 (ja) ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム
JP4793429B2 (ja) 画像処理装置及び画像処理プログラム
JP4791205B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム
JP2016105214A (ja) 情報処理装置及び情報処理プログラム
JP7514081B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US20230401263A1 (en) Secret grouping apparatus, secret grouping system, secret grouping method, and program
JP5183132B2 (ja) ルールベースシステム及びルール適用プログラム
JP4870732B2 (ja) 情報処理装置、名寄せ方法及びプログラム
JP5181821B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6303531B2 (ja) 画像処理装置及び画像処理プログラム
WO2022070422A1 (ja) 計算機システム及び文字認識方法
JP2006079492A (ja) 差分データ生成装置、差分データ生成方法および差分データ生成プログラム
JP4249793B2 (ja) 差分データ生成装置、差分データ生成装置の差分データ生成方法および差分データ生成プログラム
JP2023143001A (ja) 情報処理装置及びプログラム
WO2020008631A1 (ja) 観測事象判定装置、観測事象判定方法、及びコンピュータ読み取り可能な記録媒体
JP2009245151A (ja) ロードモジュール作成装置及びロードモジュール作成方法及びロードモジュール作成プログラム
WO2021001815A1 (en) Sub-field identification system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111028

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: 20111108

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: 20111110

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4865449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees