JP2006004125A - 差分適用組込み機器、差分適用組込み機器システム及び格納データ変更方法 - Google Patents

差分適用組込み機器、差分適用組込み機器システム及び格納データ変更方法 Download PDF

Info

Publication number
JP2006004125A
JP2006004125A JP2004179090A JP2004179090A JP2006004125A JP 2006004125 A JP2006004125 A JP 2006004125A JP 2004179090 A JP2004179090 A JP 2004179090A JP 2004179090 A JP2004179090 A JP 2004179090A JP 2006004125 A JP2006004125 A JP 2006004125A
Authority
JP
Japan
Prior art keywords
data
conversion
difference
input data
new version
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
JP2004179090A
Other languages
English (en)
Other versions
JP4477947B2 (ja
Inventor
Satoshi Mitsui
聡 三井
Ryozo Kiyohara
良三 清原
Daizo Kikko
大造 橘高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004179090A priority Critical patent/JP4477947B2/ja
Publication of JP2006004125A publication Critical patent/JP2006004125A/ja
Application granted granted Critical
Publication of JP4477947B2 publication Critical patent/JP4477947B2/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)

Abstract

【課題】 論理的には小さな修正でも物理的には大きな修正となるフォーマットによるデータの配信量を削減する。
【解決手段】 論理記述情報を表した変換前の入力データを変換して計算機が読取って動作可能なデータとした変換後の格納データを記憶する記憶部15と、上記記憶している変換後の格納データを読み出して逆変換133を行い、該逆変換後のデータに上記変換前の入力データの変化分である差分情報を適用135して新版入力データを得て、得た該新版入力データを変換137して変換後の新版格納データを得て、得た該変換後の新版格納データで上記記憶部にある元の変換後の格納データを置換える差分適用部14、とを備えた。
【選択図】 図4

Description

本発明は、車載端末や携帯電話などの組込み機器の記憶装置に格納された記憶データを更新する際の、記憶データの効率的な更新を行う差分抽出と適用方法、装置に関するものである。
組込み機器内の記憶データを更新するシステムの第1の従来例として、例えば特許文献1の「道路地図修正データ供給装置」によれば、車載端末上の地図データを対象とした差分更新技術が記載されているが、差分データの抽出方法については触れられておらず、また差分データの旧データに対する適用方法に関しては単に差分データをそのまま旧データに適用することのみ記述されている。
また第2の従来例として、特許文献2の「情報処理装置および方法、並びに記録媒体」によれば、組込み機器に組み込まれたプログラムのバージョン間の差分データを用いた更新の方法が開示されているが、差分データを圧縮して配信することによって配信する量を小さくする方法であって、差分データそのものを小さくすることに関しては触れられていない。
第3の従来例として、特許文献3の「地図データの処理装置及び方法」によれば、異なる地図情報から一致度を判定して標準地図とするにあたり、これら二つの地図情報の違いのみに着目して差分とすることが示されている。そして差分の採、不採は他の論理に頼っている。
ところで、組込み機器の記憶装置に格納された記憶データを更新するための差分データ配信手段として、従来はCD−ROMやDVD−ROMなどの記憶媒体を用いる方法や、パーソナル・コンピュータ(PC)とケーブル接続してPCから差分データを転送する方法が主流であったが、近年になってネットワーク、特に無線網を用いて差分データを配信する方法が普及し始めている。無線網のように、CD−ROMやDVD−ROMなどの記憶媒体や、PCとのケーブル接続と比較して、データ転送速度が劣る方法においては、配信する差分データは小さいことが望まれる。即ちデータ送受信の頻度が高い無線網においては、チャネルの有効利用を図るためにも、また処理時間を短縮するためにも、送受信データ量が少いシステムが望まれている。
一方、配信を受ける組込み機器では、その処理能力が向上して、従来は配信元で実施していた差分データを更新する際の関連処理を、代わりに担当できるようにパワー・アップされている。
特開平7−92906号公報 特開2001−166941号公報 特開2002−166941号公報
従来の差分データ配信装置は上記のように構成されており、最終的に組込み機器内で使用するメモリ量が少なくなること、または更新処理が効率的に行えることを目的にしており、そのことが直接、配信元からの配信データ量の削減につながる配慮はなされていない。即ちむしろ組込み機器での処理負荷が軽くなるように、予め配信元で多くの処理を実施することに力点が置かれている。従って上記各従来例では、配信時における差分データを小さくすることについては言及されていない。
即ち一般的に上記目的で処理をすることが前提となっており、組込み機器の格納データに修正を加えた場合に、その修正が論理的には小さなものであっても、物理的な実格納データとしては修正内容が大きくなり、配信データ量が多くなるという課題がある。
本発明は上記課題を解決するためになされたもので、論理的には小さな修正でも物理的には大きな修正となるフォーマットのデータを更新する際の、差分更新用データのサイズ及び配信量を削減することを目的とする。詳しくは、データ更新時の旧版データと新版データの間の差分情報を論理的な情報をもとに抽出することで、差分データのサイズを小さく表現して、この小さな差分データを配信して、配信先で元の詳細基準データと比較して詳細差分を復元し、新版データとすることで交信量と交信時間を減らすことを目的とする。
この発明に係る差分適用組込み機器は、論理記述情報を表した変換前の入力データを変換して計算機が読取って動作可能なデータとした変換後の格納データを記憶する記憶部と、
上記記憶している変換後の格納データを読み出して逆変換を行い、該逆変換後のデータに上記変換前の入力データの変化分である差分情報を適用して新版入力データを得て、得た該新版入力データを変換して変換後の新版格納データを得て、得た該変換後の新版格納データで上記記憶部にある元の変換後の格納データを置換える差分適用部、とを備えた。
以上のように計算機が読取可能なデータである変換後の格納データを記憶し、その変更を格納データの逆変換と、この逆変換後のデータへの差分情報の適用と、適用で得た新版入力データの変換で行うようにしたので、差分情報を少なく出来て、交信量と時間を減らす効果がある。
実施の形態1.
組込み機器への配信データ量を少なくした差分データ配信装置、差分適用装置、システムを図に基づいて説明する。
図1は、本発明の実施の形態1における差分データ抽出装置と適用装置を含むシステムの概念を示すブロック図である。また図2は配信元の開発装置の構成を示す図であり、図3は同じく配信元にある差分データを得るための差分抽出装置の構成を示す図である。また図4は、配信を受ける組込み機器の構成を示す図である。
先ずシステムの構成を説明する。図1において、開発装置11は入力データから格納データを生成する装置であり、開発装置11で生成された最初の格納データ16は、組込み機器13内の読み書き可能な記憶装置15に製品出荷時に格納される。配信側にある差分抽出装置12は、組込み機器13の(旧版)格納データ16にバージョンアップが発生した際に使用される装置であり、旧版格納データ16と新版格納データ18の間の差分データ17を抽出し、この抽出した差分データを配信先の組込み機器13に送信する。送信を受けた組込み機器13では、内蔵する差分適用装置(部)14が旧版格納データ16を逆変換して送信された差分データと比較し、差分データを反映した変換前新版入力データを作成し、これを変換して新版格納データ18を生成して記憶装置(部)15に書き込む。
なお、開発装置11と差分抽出装置12は同一の機器上にあっても、異なる機器上にあってもよい。
本実施の形態における主旨である、配信する差分データ量を少なくするため、差分抽出装置12と、組込み機器13の差分適用装置14に特徴がある。
なお図2に示す開発装置11は、組込み機器の出荷時に組込み機器13に組込む最初の格納データ16を生成するために、変換前の入力データ111を変換機能113で変換して、格納データ112を生成するが、組込み機器に格納された状態では最初の格納データ16となる。
また図3に示す本実施の形態における差分抽出装置12は、旧版入力データを記憶しておき、以後のバージョンアップに対して、記憶している旧版入力データ121と新版入力データ122とから入力データ差分抽出機能123を用いてバージョンアップするための変換前のフォーマットで差分データ17を生成する。
一方、組込み機器13は、新規な要素である差分適用装置14と、記憶装置15と、図示していないCPUと、メモリと、差分抽出装置12と交信する通信部とを持ち、記憶装置15に記憶される格納データ16を用いてさまざまな処理を行う。また、図4や以降の図18の構成において、逆変換機能等の機能は、図示しないプログラムメモリに記述されたプログラムを上記CPUが実行して、これらの処理を行うものである。これは以降の実施の形態2,3においても同様である。また、旧版入力データや差分データ等のデータは、同じく上記メモリ中にこれらのデータを一時記憶したものを指す。しかし本実施の形態では、差分抽出装置12が抽出した差分データ17を通信部相当で受け取り、格納データ16を更新するバージョンアップの動作を中心に説明する。
差分適用装置14は通信部相当により、CD−ROMやDVD−ROMなどの外部記憶媒体や、無線網などのネットワークを経由して得た差分データ17を用いて、格納データをバージョンアップして新版格納データ18として記憶装置15に書き込む。バージョンアップ後は、組込み機器13ではこのバージョンアップされた新版格納データ18を、以後は格納データ16として処理対象にする。
上記の主旨である、配信する差分データ量を少なくするために、組込み機器側では多少の負荷が増え、差分適用装置14が必要となる。
図4は、本実施の形態における組込み機器の構成を示す機能ブロック図である。また図5は、フローで表した差分適用装置14の動作を示す図である。これらの図において、差分適用装置14の差分受信機能131により、S131で差分抽出装置12が抽出した変換前の差分データ17を受信する。また記憶装置15から旧版格納データ16をデータ読出し機能132によりS132で読み出し、逆変換機能133によりS133で逆変換して、変換前の旧版入力データ134を生成する。この旧版入力データ134は、図3の旧版入力データ121と全く同一、もしくは論理的に同一である。従って差分データ適用機能135により変換前の差分データ17を旧版入力データ134に適用すると、図3の新版入力データ122と全く同一、もしくは論理的に同一である新版入力データ136をS136で生成することができる。
変換機能137は、S137でこの新版入力データ136を変換して新版格納データ18を得る。データ書込み機能138がこの新版格納データ18をS138で記憶装置15に書き込む。書き込み方法として、データ書込み機能138は記憶装置15にある旧版格納データ16に新版格納データ18を上書きするか、もしくは記憶装置15の旧版格納データ16とは別領域に新版格納データ18をいったん書き込む。そして差分適用装置15の処理が完了した後に、書き込み機器が新版格納データ18を処理対象のデータ、つまり旧版格納データ16として扱う。
以上の処理により、組込み機器13はバージョンアップした格納データを用いて処理を行うことができる。また、差分データが大きくなる変換後の格納データ間での差分ではなく、差分データが小さくなる変換前の入力データ間での差分を用いていることから、差分抽出装置12から差分適用装置14に送信する差分データ17のサイズを小さくすることができる。
次に変換前と変換後のフォーマットの例を、具体的な地図データを例にとって図6ないし図14を用いて説明する。
図6(a)は旧版地図、図6(b)は新版地図のイメージ図である。それぞれの地図イメージは地図データ全体のうち一部のメッシュを示しており、旧版地図41においてA〜Hに割り振られている小さい丸印をノード、A−B間、B−C間など二つのノードを結ぶ線をリンク、A−B−C−D−Eなどのリンク列をルートと呼ぶ。リンク、ルートは例えば地図上の道路を示している。旧版の地図41では二つのルートA−B−C−D−E、F−B−G−Hが存在しており、ノードBで二つのルートが交差している。
そして、旧版地図41から新版地図42へのバージョンアップで新しいルートJ−A−Kが追加され、それによって旧版のルートA−B−C−D−E上に新しいノードIが追加されている。
図7は、旧版地図41における変換前の入力データの例を示している。
各ルートに対してそれぞれ番号が割り振られ(ルートA−B−C−D−Eがルート1、F−B−G−Hがルート2)、ルートごとにノード情報が記述されている。ルート上の各ノードはルート内での出現順に示され、各ノードにはメッシュ内での相対座標(メッシュの左下座標を0,0とする)がノード情報として記述されている。
図8は、旧版地図41における変換後の格納データの例を示している。格納データはルート情報52とノード情報53から構成される。
ルート情報52には各ルートのリンクID、開始ノードID、終了ノードIDが記述される。リンクIDは各ルート内の出現順に連番で割り当てられる(1−1の次は1−2、1−2の次は1−3)。また開始ノードIDと終了ノードIDは、ノード情報53に記載されたノードIDを示す。ノード情報53には、メッシュ上の全ノードの情報が記述される。このノード情報53でのノードの記述順序は、先ずY座標でソートした後、Y座標が同じものについてはX座標についてソートした順序で記述される。またノードIDは、ソート順序どおりに連番で割り当てられる。
図9は、新版地図42の変換前の入力データを示し、図10は新版地図42の変換後の格納データを示している。旧版地図41から新版地図42にバージョンアップした際に追加されるノード、リンク、ルートの情報がフォーマットに従って追加されている。
ここで旧版地図の格納データであるルート情報52とノード情報53と、新版地図の格納データであるルート情報62とノード情報63と、の間で差分情報を抽出した場合の差分データの例を図11に示す。格納データのノード情報はソートされた順序で連番のノードIDが割り振られるため、旧版格納データのノード情報53のノードID3〜8は、新版においてノードIDが変更になる。このように書き込み機器側の負荷を減らすために、予め配信元でノード番号を付け直した差分データを送るようにしているのが通例である。従って図6のイメージでは、追加は簡単なルートが1本あるだけであるが、処理としては17行にも及ぶ大規模な変更または追加の処理が必要となる。
こうして、旧版格納データのノードID4では、ルート1のノード追加により、交差リンク情報が元の1−1から1−2に変更になる。格納データのルート情報は、参照するノード情報のノードIDが旧版と新版で上記のように大きく異なるため、すべてのリンクIDについて追加、修正が発生する。このように変換後の格納データで差分情報を抽出すると、ルートを一本追加しただけの修正でも差分データサイズは非常に大きくなる。
次に、旧版地図の変換前入力データ51(図3の旧版入力データ121に相当)と新版地図の変換前入力データ61(新版入力データ122に相当)の間で差分情報を抽出した場合の変換前差分データの例を図12に示す。差分情報72は、ルート1へのノードIの追加、ルート3の新規作成だけを指定するだけでよく、変換後の格納データにおける差分データ量の項目数17と比較して、サイズが項目数5と小さいことが判る。
最後に入力データ間の変換前差分情報72を用いて組込み機器内の格納データをバージョンアップする方法の例を示す。なお、以下の例では、差分抽出装置12の旧版入力データ121と差分適用装置14の旧版入力データ134が論理的には同一だが、物理的には異なる例を示す。
まず、差分適用装置14の逆変換機能133は、以下の処理によって旧版格納データであるルート情報52とノード情報53から図13に示す変換前の入力データ81(図4の旧版入力データ134相当)に変換する。
即ちその詳細手順として、旧版格納データ16のルート情報52のルート1について、リンクID1−1の開始ノードと終了ノードの座標を、そのIDを用いてノード情報53から検索する。そして入力データ81のルート1における一番目のノードと二番目のノードの座標として記述し、図13に示すように、適当なノード名を割り当てる。図13の例では一番目のノードにA−1、二番目のノードにA−2を割り当てる。さらに終了ノードをノード情報53から検索した時に、該当するノードに交差リンク情報がある場合には、入力データ81で割り当てたノード名をノード情報53の該当ノードに関連付けておく(今回の例ではノードID4にノード名A−2を関連付ける)。
次にリンクID1−2の終了ノードの座標をノード情報53から検索し、入力データ81の三番目のノードとして記述する。以降、ルート1のすべてのリンクについて上記処理を継続する。
ルート1の処理が終了すると、次にルート2の処理を実行する。ルート2に対する処理も基本的にはルート1の処理と同様であるが、リンクID2−1の終了ノード検索時に、ノードID4にノード名A−2が関連付けられているので、ルート2の二番目のノードには同じノード名A−2を割り当てる。
以上の処理によって、旧版の格納データ中のルート情報52、ノード情報53から変換して旧版の入力データ81が生成される。
次に差分適用装置14は、この入力データ81に、差分データ適用機能135により、配信されてきた差分情報72(差分データ17相当)を適用して、図14に示す変換前の入力データ91(図4の新版入力データ136相当)を生成する。差分適用装置14は、差分情報72に従って最初にルート1へノードIを挿入する。ここで、逆変換機能133が別のノードにノード名Iを割り当てている可能性があるため、図14に示すように、差分データ適用機能135は独自にノード名C−1を割り当てる。同時に差分データ72内のノード名I72bと入力データ91のノード名C−1 91bを対応付ける。
次にルート3を入力データ91に追加し、差分情報72のノードJ,I,Kをそれぞれノード名C−2,C−1,C−3に変更してルート3に追加する。差分情報72のノードIについては、ルート1の処理においてノード名C−1に対応付けられており、ルート3においても入力データ91ではノードIがノード名C−1と決定される。
最後に差分適用装置14の変換機能137について説明する。
変換機能137によって変換前の入力データ91が格納データに変換される。最初に入力データ91に含まれる全ノードの情報をすべて取り出し、ノード情報にそのノードが交差リンクの端点になっているかどうかの情報と、参照元となるルート、参照元ルートの何番目のノードから参照されているかを関連付けておく。例えば、入力データ91のノードC−1については、交差リンクの端点であること、参照元はルート1の2番目のノードとルート3の2番目のノードであることを関連付ける。ノード名についてはこの時点で破棄する。
ノード情報の抽出と関連付けが完了した後、X座標およびY座標についてノードをソートし、ソートされた順番にノードIDを連番で割り当てる。交差リンク情報のルートIDに関しては、参照元ルートとノードの情報から一意に決定することができる。例えば、ノードC−1はルート1の2番目のノード、ルート3の2番目のノードから参照されているので、交差リンク情報のルートIDは、それぞれ1−1,3−1と特定できる。
以上の処理によって格納データのノード情報63の生成が完了する。
次に入力データ91の各ノードにノードIDを対応付ける。例えば、入力データ91のノードJには、ノードID6が割り当てられる。その後、入力データの各ルートを各ルートごとに格納データのルート情報形式に変換して連番のリンクIDを割り当てることで、格納データのルート情報62の生成が完了する。
以上で図6ないし図14を用いて差分適用装置14の動作を説明した。
上記説明では、地図データを例として変換前の差分データを用いた格納データの更新を説明したが、変換機能をコンパイラ、逆変換機能を逆コンパイラと読み替えることで地図データの代わりにプログラムデータに対しても本実施の形態の構成で同様の動作をさせることがができる。またその際、変換機能を圧縮、逆変換機能を解凍と読み替えることで地図データの代わりに圧縮アルゴリズムによって圧縮されたデータに対しても本実施の形態の主旨を適用することができる。
以下に図15を用いて圧縮と解凍により、組込み機器のプログラム・ソフトウェアを旧版(a)から新版(b)に変更する例を説明する。図15(a)において、変換前の旧版入力データ101(図3の旧版入力データ121に相当)を公知の技術であるハフマン符号化を用いて圧縮表現した変換後の旧版格納データ102が組込み機器13内に格納されているものとする。ここで辞書103は旧版入力データの圧縮時に用いられた辞書データである。バージョンアップによって、旧版入力データ101の3箇所に文字”d”が追加された新版入力データ201が生成されたとする。この場合、ハフマン符号化を用いて新版格納データ202が生成されるが、この際用いられる辞書203は旧版圧縮時に使用した辞書103と異なる。
図15から判る通り、旧版と新版の変換前入力データ間ではわずかな変更であるにも関わらず、旧版と新版の変換後の格納データ間では全くと言ってよいほど共通部分が存在しない。そのため、格納データ間での差分情報を変換後のフォーマットで送信すると、新版格納データ202の全情報が必要であり、更に辞書データも変更になっていることから変更になった辞書データ(図15の例では”a”,”b”,”d”が辞書データ)も送信する必要がある。
一方、入力データ間での変換前の差分データを送信する場合は、図15(b)に示す3箇所に文字”d”を追加する、という情報のみでよい。即ち送信データ量が変換後の格納データ間で差分抽出した場合と比較して明らかにデータ量が小さい。
次に、入力データ間で抽出された差分データを、差分適用装置14内でどのようにして適用するかを説明する。
差分適用装置には旧版格納データ102と旧版辞書103が格納されており、これらの情報から逆変換(解凍)機能を用いて旧版入力データ101を生成する。次に受信した差分データを適用して変換前の新版入力データ201を生成する。そして、ハフマン符号化を用いて新版辞書203と新版格納データ202を生成して、バージョンアップを完了する。なお、開発装置側で生成される新版格納データと組込み機器内の新版格納データが完全に同一であることを保証するため、開発装置と組込み機器の持つ圧縮アルゴリズムは全く同一の実装を有するものとする。これは、同じアルゴリズムを用いたとしても、実装によって出力が変わる可能性があるためである。
以上の処理によって、組込み機器に格納された圧縮データをより小さい差分データを用いてバージョンアップすることが可能である。なお本実施の形態では、圧縮アルゴリズムとしてハフマン符号化を用いたが、公知のいかなる可逆圧縮アルゴリズムを用いることも可能である。
上記実施の形態では、組込み機器の差分適用装置14は、ハードウェアであるとして説明したが、組込み機器13が図示しないCPUとメモリにより、図4の差分適用装置14内にに示す機能をプログラムとして持ち、図5の動作フローを実行させるようにしてもよい。即ち計算機が実行可能なソフトウェアを組込んで、方法として実行するようにしてもよい。
実施の形態2.
差分データ17を更に減らした差分データ配信装置、差分適用装置を説明する。
図16は、本発明の実施の形態2における差分抽出装置12bの機能を示すブロック図である。先の実施の形態における旧版入力データと新版入力データに代えて、差分抽出装置12bは、旧版の変換後の格納データ221と新版格納データ222に対して、先ずそれぞれ逆変換機能223で逆変換し、旧版入力データ224と新版入力データ225とを生成する。逆変換機能223によって生成された入力データ224,225は、格納データ221,222を生成するために図2の開発装置11で使用された入力データと全く同一、もしくは論理的に同一である。
入力データ差分抽出機能226は、旧版入力データ224と新版入力データ225の間の差分を抽出して差分データ17を生成する。
本実施の形態における組込み機器は、図4でしめした実施の形態1における組込み機器13の構成と同一である。ただし、差分適用装置14の逆変換機能133は、差分抽出装置12bの逆変換機能223と全く同一の機能を有し、逆変換機能133によって生成された入力データ134は、逆変換機能223によって生成された入力データ224と全く同一である。
上記の構成によって第一の実施の形態と同様に、組込み機器はバージョンアップした記憶データを用いて処理を行うことができる。また、差分データが大きくなる格納データ間での差分ではなく、差分データが小さくなる入力データ間での差分を用いていることから、差分抽出装置12bから差分適用装置14に送信する差分データ17のサイズを小さくすることができる。
更に実施の形態2では、実施の形態1とは異なり、同一機能の逆変換機能を持つことにより、差分抽出装置12が差分抽出に用いる入力データと差分適用装置14が差分適用に用いる入力データとが全く同一になるため、差分データ適用機能における差分抽出と差分適用での入力ファイルの物理的違いを吸収する手段である、実施の形態1では差分適用装置でのノード名を独自に付け替える手段、が不要となる。従って差分データ適用機能の処理が容易になる、という利点を持つ。
実施の形態3.
差分データ17を更に減らした他の差分データ配信装置、差分適用装置を説明する。
図17は、本実施の形態における差分抽出装置12cの機能を示すブロック図である。先の実施の形態における格納データから入力データに変換することに代えて、中間データを得て、これから中間差分データを配信する。即ち差分抽出装置12cは、旧版格納データ321と新版格納データ322に対してそれぞれ逆変換機能323を用いて、旧版中間データ324と新版中間データ325とを生成する。中間データ差分抽出機能326は、これらの旧版中間データ324と、新版中間データ325との間の差分データ17を生成する。
対応して図18は、本実施の形態における組込み機器13cの機能を示すブロック図である。
図において、差分適用装置14cの差分受信機能331が差分抽出装置12cの抽出した差分データ17を受信すると、これと同時に記憶装置15から旧版格納データ16をデータ読出し機能332によって読み出して、逆変換機能333により中間データ334を生成する。中間データ334は図17の旧版中間データ324と全く同一である。
差分データ適用機能335により差分データ17をこの旧版中間データ334に適用して、図6の新版中間データ325と全く同一の新版中間データ336を生成する。変換機能337は、この新版中間データ336を新版格納データ18に変換し、データ書込み機能338がこの新版格納データ18を記憶装置15に書き込む。この書き込み方法として、記憶装置15にある旧版格納データ16に新版格納データ18を上書きするか、もしくは記憶装置15の旧版格納データ16とは別領域にいったん新版格納データ18を書き込む。しして処理完了後に旧版格納データ16とする。その後は組込み機器13cは、この格納データを処理対象のデータとして扱う。
以上の処理によって、実施の形態1、実施の形態2と同様に、組込み機器はバージョンアップした記憶データを用いて処理を行うことができる。また、差分データが大きくなる格納データ間での差分ではなく、差分データが小さくなる入力データ間での差分を用いていることから、差分抽出装置から差分適用装置に送信する差分データのサイズを小さくすることができる。
また、実施の形態2と同様に、同一機能の逆変換機能を持つことにより差分抽出装置が差分抽出に用いる中間データと、差分適用装置が差分適用に用いる中間データとが全く同一になるため、差分データ適用機能における差分抽出と差分適用での中間ファイルの物理的違いを吸収する手段が不要となる。従って、差分データ適用機能の処理が容易になる、という利点を持つ。
更に本実施の形態では、実施の形態2とは異なり、差分データサイズが小さくなるようなフォーマットを規定して差分抽出を行う。従って、入力データ間で差分データを抽出した場合には差分データサイズが大きくなる入力データを用いているシステムに対しても、差分データサイズを小さく抑えた差分抽出、差分適用を適用することができる、という利点もある。
次に図18を用いて、具体的な中間データによる、プログラムのコンパイルと逆コンパイルの例を説明する。
図19(a)は旧版入力データ301(C言語で記述されたソースコード)を示しており、これを開発環境でコンパイルすることによって、図19(b)の旧版格納データ302が生成される。なお、図19(b)の旧版格納データ302は、下線付きの部分が実際に組込み機器内の記憶手段に格納される16進数表現のデータであり、それ以外の記述は格納されるデータの説明である。この旧版格納データ302を逆コンパイルすることで生成されるのが図19(c)に示す旧版中間データ303(C言語のソースコード)である。C言語などのプログラム言語では、ソースコードをコンパイルして生成されたオブジェクトファイルを逆コンパイルして元のソースコードを生成することは不可能であるが、一定の規則に従って逆コンパイルすることで、元のソースコードに近い形のソースコード(中間データ)を生成することは可能である。旧版入力データ301と旧版中間データ303では、変数名、関数名などは異なっているが、実際に行われている処理は同一であり、さらにこれらをコンパイルした結果は旧版格納データ302と同一になる。
図20は新版データの例を示している。新版入力データ401はバージョンアップにより、図19の旧版入力データ301に”z+=100;”の記述を1行追加したものである。新版入力データ401をコンパイルした結果が新版格納データ402であり、更に逆コンパイルをかけた結果が新版中間データ403である。
ここで旧版と新版の変換後の格納データ間で差分データを抽出した場合、図22に示すように、1行目から4行目までの変更、6,7行目へのデータの追加と、旧版データの7行目以降の7行分を新版データの8行目以降の7行間にコピーする、という情報が差分データとして抽出される。一方図21に示すように、旧版と新版の中間データ間、つまり変換前の差分データを抽出した場合は、その7行目への”l3+=100;”の追加、という情報のみで差分が表現できる。
組込み機器13内の格納データのバージョンアップ手順を以下に説明する。
バージョンアップが発生すると、差分抽出装置12では旧版中間データと新版中間データを生成し、図21の差分データ501を抽出し、これを配信する。
差分データ501を受信した組込み機器13では、差分適用装置14により、最初に旧版格納データ302を逆コンパイルして旧版中間データ303を生成する。ここで、差分適用装置14の持つ逆変換(逆コンパイル)機能は差分抽出装置12の持つ逆変換機能と全く同一であることから、生成される旧版中間データ303は差分抽出装置12と差分適用装置14とで全く同一であることが保証される。
次に差分適用装置14は、上記で得られている旧版中間データ303に対して受信した差分データ501を適用して、新版中間データ403を生成する。そして、この新版中間データ403を変換(コンパイル)機能で変換することで、新版格納データ402を生成して記憶手段に格納する。なお、差分適用装置14の変換機能137と開発装置の変換機能113が全く同一の機能を持つことから、差分適用装置によって生成された新版格納データと開発装置の生成する新版格納データとは全く同一であることが保証される。
以上の処理によって、組込み機器に格納されたプログラムデータをより小さい差分データを用いてバージョンアップすることが可能である。
この発明の実施の形態1における差分抽出装置、差分適用装置とそのシステムの構成を示すブロック図である。 実施の形態1における開発装置の構成を示すブロック図である。 実施の形態1における差分抽出開発装置の構成を示す図である。 実施の形態1における組込み機器とその差分適用装置の構成を示す図である。 実施の形態1における差分適用装置の動作を示すフロー図である。 実施の形態1における変換前の入力データを説明するためのイメージ図である。 実施の形態1における変換前の入力データの例を示す図である。 実施の形態1における変換後の格納データの例を示す図である。 実施の形態1における変換前の新版入力データの例を示す図である。 実施の形態1における変換後の新版格納データの例を示す図である。 実施の形態1における格納データによる差分データの例を示す図である。 実施の形態1における入力データによる差分データの例を示す図である。 実施の形態1における差分適用装置の逆変換機能を説明するための図である。 実施の形態1における差分適用装置の差分データ適用機能を説明するための図である。 実施の形態1における差分適用装置が行う圧縮と解凍の例を説明する図である。 この発明の実施の形態2における差分抽出装置構成を示す図である。 この発明の実施の形態3における差分抽出装置構成を示す図である。 実施の形態3における組込み機器とその差分適用装置の構成を示す図である。 実施の形態3における差分適用装置が行うコンパイルと逆コンパイルの例を説明する旧版データの図である。 実施の形態3における差分適用装置が行うコンパイルと逆コンパイルの例を説明する新版データの図である。 実施の形態3における中間データとその差分データの例を示す図である。 実施の形態3における旧版格納データと新版格納データを示す図である。
符号の説明
11 開発装置、12,12b 差分抽出装置、13 組込み機器、14 差分適用装置(部)、15 記憶装置(部)、16 旧版格納データ、17 差分データ、18 新版格納データ、111 入力データ、112 格納データ、113 変換機能、121 旧版入力データ、122 新版入力データ、123 入力データ差分抽出機能、131 差分受信機能、132 データ読出し機能、133 逆変換機能、134 旧版入力データ、135 差分データ適用機能、136 新版入力データ、137 変換機能、138 データ書き込み機能、S131 差分受信ステップ、S132 旧格納データ読出しステップ、S133 逆変換ステップ、S137 変換ステップ、S138 データ書き込みステップ、221 旧版格納データ、222 新版格納データ、223 逆変換機能、224 旧版入力データ、225 新版入力データ、226 入力データ差分抽出機能、321 旧版格納データ、322 新版格納データ、323 逆変換機能、324 旧版中間データ、325 新版中間データ、326 中間データ差分抽出機能、331 差分受信機能、332 データ読出し機能、333 逆変換機能、334 旧版中間データ、335 差分データ適用機能、336 新版中間データ、337 変換機能、338 データ書き込み機能。

Claims (9)

  1. 論理記述情報を表した変換前の入力データを変換して計算機が読取って動作可能なデータとした変換後の格納データを記憶する記憶部と、
    上記記憶している変換後の格納データを読み出して逆変換を行い、該逆変換後のデータに上記変換前の入力データの変化分である差分情報を適用して新版入力データを得て、得た該新版入力データを変換して変換後の新版格納データを得て、得た該変換後の新版格納データで上記記憶部にある元の変換後の格納データを置換える差分適用部、とを備えたことを特徴とする差分適用組込み機器。
  2. 差分情報は、変換前の入力データの変化分を与えることに代えて、変換後の格納データを逆変換した差分中間データとし、
    差分適用部は、記憶部より読み出した格納データを逆変換して中間データを生成し、該生成した中間データに上記差分中間データを適用して新版入力データを得るようにしたことを特徴とする請求項1記載の差分適用組込み機器。
  3. 論理記述情報は地図データであり、格納データは組込み機器が処理可能なように地図データを変換したデータであり、
    差分適用部が行う変換は、上記格納データから地図データへの変換、であることを特徴とする請求項1記載の差分適用組込み機器。
  4. 論理記述情報はプログラムまたはデータであり、該プログラムまたはデータを圧縮して格納データとし、
    差分適用部が行う逆変換は、上記圧縮に対応する解凍であること、を特徴とする請求項1記載の差分適用組込み機器。
  5. 論理記述情報は、プログラムであり、該プログラムをコンパイルして格納データとし、
    差分適用部が行う逆変換は、逆コンパイルであること、を特徴とする請求項1記載の差分適用組込み機器。
  6. 差分情報は、変更前後における変換後の格納データ間の変更情報に比べて、変更前後における変換前の入力データ間の変更情報が少ない入力データ間の差分情報とし、
    組込み機器は通信部を備え、該通信部経由で上記差分情報を得て差分適用部に転送することを特徴とする請求項1記載の差分適用組込み機器。
  7. 変更後の論理記述情報を表した変換前の入力データに対し、変更前の上記論理記述情報を表した変換前の入力データとの差分情報を抽出する差分抽出装置と、
    上記変換前の入力データを変換して計算機が読取って動作可能なデータとした変換後の格納データを記憶する記憶部と、記憶している上記変換後の格納データを読み出して逆変換を行い、該逆変換後のデータに上記差分情報を適用して新版入力データを得て、得た該新版入力データを変換して変換後の新版格納データを得て、得た該変換後の新版格納データで上記記憶部にある元の変換後の格納データを置換える差分適用部、とを備えた差分適用組込み機器と、
    で構成されることを特徴とする差分適用組込み機器システム。
  8. 差分抽出装置は、格納データを逆変換して論理記述情報を表した変換前の入力データを得るようにして、得た該変換前の入力データに対して差分情報を得るようにしたことを特徴とする請求項7記載の差分適用組込み機器システム。
  9. 論理記述情報を表した変換前の入力データを変換して計算機が読取って動作可能なデータとした変換後の格納データを記憶する記憶部を備えた組込み機器の格納データ変更方法において、
    上記記憶している変換後の格納データを読み出す読出しステップと、
    上記読み出した変換後の格納データを逆変換する逆変換ステップと、
    上記逆変換後のデータに上記変換前の入力データの変化分である差分情報を適用して新版入力データを得るステップとて
    上記得た新版入力データを変換して変換後の新版格納データを得るステップと、
    上記得た変換後の新版格納データで上記記憶していた元の変換後の格納データを置換える置換えステップ、とを備えたことを特徴とする組込み機器の格納データ変更方法。
JP2004179090A 2004-06-17 2004-06-17 差分適用組込み機器システム及び格納データ変更方法 Expired - Fee Related JP4477947B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004179090A JP4477947B2 (ja) 2004-06-17 2004-06-17 差分適用組込み機器システム及び格納データ変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004179090A JP4477947B2 (ja) 2004-06-17 2004-06-17 差分適用組込み機器システム及び格納データ変更方法

Publications (2)

Publication Number Publication Date
JP2006004125A true JP2006004125A (ja) 2006-01-05
JP4477947B2 JP4477947B2 (ja) 2010-06-09

Family

ID=35772480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004179090A Expired - Fee Related JP4477947B2 (ja) 2004-06-17 2004-06-17 差分適用組込み機器システム及び格納データ変更方法

Country Status (1)

Country Link
JP (1) JP4477947B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277062A (ja) * 2008-05-15 2009-11-26 Mitsubishi Electric Corp データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム
JP2011060039A (ja) * 2009-09-10 2011-03-24 Hitachi Solutions Ltd 圧縮データの差分配信方式及び圧縮データの差分配信方法
WO2011128947A1 (ja) * 2010-04-16 2011-10-20 三菱電機株式会社 ナビゲーション装置
WO2019116922A1 (ja) * 2017-12-11 2019-06-20 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及びプログラム又はデータの更新方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277062A (ja) * 2008-05-15 2009-11-26 Mitsubishi Electric Corp データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム
JP2011060039A (ja) * 2009-09-10 2011-03-24 Hitachi Solutions Ltd 圧縮データの差分配信方式及び圧縮データの差分配信方法
WO2011128947A1 (ja) * 2010-04-16 2011-10-20 三菱電機株式会社 ナビゲーション装置
JP5295427B2 (ja) * 2010-04-16 2013-09-18 三菱電機株式会社 ナビゲーション装置
WO2019116922A1 (ja) * 2017-12-11 2019-06-20 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及びプログラム又はデータの更新方法

Also Published As

Publication number Publication date
JP4477947B2 (ja) 2010-06-09

Similar Documents

Publication Publication Date Title
US10649769B2 (en) Vehicle-mounted control device, program writing device, program generating device and program
RU2419846C2 (ru) Кодирование данных языка разметки
US7031972B2 (en) Algorithms for block-level code alignment of software binary files
EP2524307B1 (en) Operating system auto-update procedure
CN100447740C (zh) 数据的包内增量压缩的系统和方法
US8326850B2 (en) Data converting apparatus, method, and computer product
EP1557761A1 (en) Data update system, differential data creating device and program for data update system, updated file restoring device and program
US7676479B2 (en) Method and system for updating versions of content stored in a storage device
KR20050081869A (ko) 소프트웨어 원자화를 위한 뷰
JP2008519360A (ja) 圧縮リード・オンリ・メモリ・ファイル・システム(crmfs)画像の更新
CN103473099A (zh) 一种移动终端的软件升级方法和系统
JP2007521555A (ja) 記憶装置に記憶されたコンテンツのバージョンを更新する方法およびシステム
CN101694624A (zh) 处理软件安装包光盘镜像文件的方法及装置
CN109542459A (zh) 应用程序打包方法及装置、计算机装置及计算机存储介质
WO2017038104A1 (ja) 実装装置および実装方法
JP2018173672A (ja) 実装装置
US8196093B2 (en) Apparatus and method for componentizing legacy system
CN111522574A (zh) 差分包生成方法及相关设备
JP4477947B2 (ja) 差分適用組込み機器システム及び格納データ変更方法
JP2009110061A (ja) 版数管理システムおよび版数管理方法
CN100524316C (zh) 用于文件信息移动处理的方法和装置
JP2009055308A (ja) ベクトルデータ伸張装置、及びベクトルデータ圧縮装置
JP5100500B2 (ja) データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム
JP4791205B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム
JP2004227520A (ja) 新旧プログラム書換情報生成装置及び新旧プログラム書換情報生成方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091222

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

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