JP5696018B2 - 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム - Google Patents

対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム Download PDF

Info

Publication number
JP5696018B2
JP5696018B2 JP2011211880A JP2011211880A JP5696018B2 JP 5696018 B2 JP5696018 B2 JP 5696018B2 JP 2011211880 A JP2011211880 A JP 2011211880A JP 2011211880 A JP2011211880 A JP 2011211880A JP 5696018 B2 JP5696018 B2 JP 5696018B2
Authority
JP
Japan
Prior art keywords
data
distribution
target data
similar
target
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
JP2011211880A
Other languages
English (en)
Other versions
JP2013073417A (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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
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 Clarion Co Ltd filed Critical Clarion Co Ltd
Priority to JP2011211880A priority Critical patent/JP5696018B2/ja
Priority to US13/558,735 priority patent/US20130080580A1/en
Priority to EP12178172.8A priority patent/EP2575035B1/en
Priority to CN2012102660810A priority patent/CN103034673A/zh
Publication of JP2013073417A publication Critical patent/JP2013073417A/ja
Application granted granted Critical
Publication of JP5696018B2 publication Critical patent/JP5696018B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Description

本明細書で開示される主題は、装置間で、コンテンツやプログラムなどのデータを配信する際のデータ量を削減する技術に関する。
車上で、ユーザに地図と地図に付随する情報提供や、道案内などのサービスを行う車載機(カーナビ)が一般に利用されている。車載機は車と一体化しており、情報やプログラムの更新頻度が低く、古い機器であってもそのまま使われ、7年から10年は利用されることが多い。販売店で車載機のプログラムを頻繁に更新することも可能だが、車載機を持ち込む必要があり手間がかかる。
近年では、車載機は携帯電話や無線ルータ等を介して各種サーバに接続可能となり、ネットワークを利用したサービスを提供できる。また、無線ネットワーク接続機能を備えた車載機で常時接続ネットワークを利用したサービスも提供可能になりつつある。
ネットワークを利用したサービスの一つとして、プログラムの配信や更新がある。ネットワークを利用したプログラム更新の仕組みを利用すると、ネットワークを介してネットワークに繋がった全ての車載機に更新を通知できる。さらに、通知を受け取った車載機のユーザが更新の要求をすれば即座に更新を開始でき、更新通知やCD、SDメモリカードの配送などの時間と手間がかからない。
この様にプログラムおよびデータをダウンロードしての更新では、プログラムとデータの更新を行う時間や場所を選ばずにすみ、更新が容易になる。すなわち,ネットワークを利用したプログラム更新システムを構築することによって、不具合対策に関わる更新の効率化、車載機ユーザへの新規機能の迅速な提供が可能となる。
プログラムの配信更新サービスの背景技術として、特開2010−79546号公報(特許文献1)、US2003/0212712号公報(特許文献2)がある。
特許文献1には、「プログラム配信更新システム」について記載されている。このプログラム配信更新システムにより、初版プログラムを含むプログラムの更新を、ネットワークを介して行える様になる。(要約、請求項1および段落番号0014参照)
特許文献2には、「バイト・レベルのファイル相違検出および更新アルゴリズム」について記載されている。この様なバイナリレベルで原データ(原ファイル)と新データ(新ファイル)の差分を取得する技術により、更新プログラムのダウンロードデータ量を削減でき、ダウンロード時間を短縮できる。(段落番号0026から0031参照)
特開2010−79546号公報 US2003/0212712号公報
特許文献1の技術は、データ量削減は考慮しておらず、インストールプログラムのサイズが大きい場合は、ダウンロード時間および更新時間が長くなり、車載機の機能を利用できない期間が発生してしまう。また、ダウンロードのためにネットワークの帯域を使い切り、ダウンロード中はネットワークを利用したサービスの快適な利用が困難になることが予想される。また、車載のバッテリの容量は限られており常に長時間通電状態を維持できず、通電期間中に更新を終えられない場合も出てくる。
特許文献2の技術では、初版プログラムをインストールする場合、原ファイルが車載機にない為、原ファイルと新ファイルの差分を取得できず、ダウンロードデータ量を削減できない。
以上の様に、車載機で原データ(原ファイル)を保持しているプログラムの更新に関しては、効率的なプログラムのダウンロード方法、インストール方法とダウンロードデータ量削減方法に関して様々な方法が知られている。しかし、車載機で原データ(原ファイル)を保持していない初版プログラムに関しては有効な方法は知られていない。プログラムだけでなく、車載機の地図やPOI(Point of Interest)情報や電話帳などをはじめとする各種コンテンツについても、同様の課題がある。
したがって、初版のプログラムやコンテンツ(以下、これらをデータと総称する)であっても、配信時のデータ量を削減できる、効率的なダウンロード方法が望まれている。
開示されるのは、コンテンツやプログラム等の配信対象データ(以下、対象データという)を車載機等のクライアント機器へ配置する際のデータ量を削減する、対象データの配置方法、およびその方法を備えた、対象データの配置システムと、配置システムに用いるサーバ装置、クライアント装置、およびそれらに用いるプログラムである。
例えば、ネットワークを介して接続されるサーバ装置とクライアント装置とを含むシステムにおいて、前記サーバ装置が備える対象データを前記クライアント装置に配置する対象データの配置方法が開示される。
上記対象データの配置方法は、より具体的には、
サーバ装置が、対象データの配信先となるクライアント装置の記憶装置に格納されている格納データ内容を特定し、特定した格納データ内容から、対象データに類似する類似データを抽出し、抽出した類似データと対象データとの差分データと、類似データを特定するための、クライアント装置の記憶装置内における配置情報と、を作成し、差分データと、配置情報と、を含む配信データをクライアント装置に送信し、
クライアント装置が、受信した配信データに含まれる配置情報に従い、記憶装置に格納している類似データを特定し、特定した類似データと受信した差分データとから、対象データを復元することを特徴とする。
さらに、上記対象データの配置方法を、
サーバ装置が、特定したデータ内容から、それぞれが対象データの一部分に類似する一つ以上の類似ブロックを抽出し、抽出した一つ以上の類似ブロックを連結することにより類似データを作成し、配置情報に、類似データを作成するために連結する一つ以上の類似ブロックの、アドレスとブロックサイズと連結順序とを含め、
クライアント装置が、受信した配置情報に従い、記憶装置に格納している類似ブロックを連結した類似データを特定する、ように構成してもよい。
さらに、上記対象データの配置方法を、
サーバ装置が、各々のクライアント装置を特定する識別情報と、各々のクライアント装置に格納されているデータのバージョン情報とを管理し、
クライアント装置が、自クライアント装置を特定する識別情報と、自クライアント装置に格納されているデータのバージョン情報とを、サーバ装置に送信し、
サーバ装置が、クライアント装置から受信した識別情報とバージョン情報とに基づき、クライアント装置の記憶装置に格納されているデータの内容を特定する、ように構成してもよい。
さらに、上記対象データの配置方法を、
サーバ装置が、対象データと、特定したクライアント装置の格納データと、類似データと、差分データと、のいずれか一つ以上の、誤り検知および/または誤り訂正が可能な情報を、配信データに含める、ように構成しても良い。
さらに、上記対象データの配置方法を、
サーバ装置が、対象データを圧縮した配信圧縮対象データと、差分データと配置情報とを圧縮した配信圧縮差分データと、差分データと配置情報とを圧縮しない配信非圧縮差分データと、のデータサイズを比較し、データサイズが最も小さいデータと、圧縮対象を示す圧縮種別IDとを、配信データとして送信し、
クライアント装置が、圧縮種別IDを参照して、配信データの復元方法を選択する、ように構成してもよい。
上記態様によれば、車載機の保有しているデータを利用して、通信データ量が削減されるため、通信時間や通信費用を削減できる。
開示によれば、データおよび/またはプログラムを含む対象データを配置する際の通信データ量削減が可能になり、その結果、通信時間や通信費用を削減できる。
実施形態におけるシステムのハードウェア構成を例示する図である。 車載機101に格納されているデータ群である車載機データ117をサーバ102で管理する車載機データテーブル111の構成の一例である。 サーバ102において、車載機101に配信する配置情報と差分データを、車載機101から通知される情報から特定できる様に管理する差分データテーブル112の構成の一例である。 実施形態の配置情報409と差分データ412の構成を例示する図である。 実施形態のサーバ102において配置情報409と差分データ412を作成する手順を例示する図である。 実施形態の車載機101において配置情報409と差分データ412から対象データ114を再構築してインストールする手順を例示する図である。 実施形態の車載機101がサーバ102よりデータをダウンロードしてインストールするシーケンスを例示する図である。 実施形態の 差分データ801の構成を例示する図である。 実施形態のサーバ102において配置情報409と差分データ801を作成する手順を例示する図である。 実施形態の車載機101において配置情報409と差分データ801から対象データ114を再構築する手順を例示する図である。 実施形態の車載機101が102よりデータをダウンロードしてインストールするシーケンスを例示する図である。 実施形態の 圧縮技術を利用した配信データの構成を例示する図である。 実施形態のサーバ102において、車載機101に配信する配信データを、車載機101から通知される情報から特定できる様に管理する差分データテーブル112の構成の一例である。 実施形態のサーバ102において配信データを差分データテーブルに登録する手順を例示する図である。 実施形態の車載機101において配信データから対象データ114を再構築する手順を例示する図である。
以下、実施例を図面を用いて説明する。
本実施例では、サーバに格納された、プログラムや、地図、POI情報や電話帳などの各種コンテンツ(対象データと総称する)のデータ量を削減して、ネットワークを介してサーバに接続された車載機に送信する実施例について説明する。
図1は実施形態の車載機データのダウンロードシステムのハードウェア構成を例示する図である。
図1の車載機データのダウンロードシステムは、車載機101とサーバ102および、それらを接続するネットワーク103を含んで構成される。
サーバ102は、車載機101の保有しているデータ群である車載機データ117から、対象データ114に類似する類似データを抽出し、抽出した類似データを車載機101側で復元するための配置情報を作成し、類似データと対象データ114とを比較し差分をとった差分データを作成し、差分データ及び配置情報を含む配信データを車載機101に配信する。
車載機101は、受信した配信データに含まれる配置情報に従い、保有しているデータ群である車載機データ117から類似データを作成し、作成した類似データと受信した差分データとから対象データ114を再構築(復元ともいう)してインストールする。
なお、本実施例におけるインストールとは、プログラムやコンテンツなどの対象データ114を、後述する不揮発記憶装置105やRAM106に、利用可能な状態で書き込むこと、と定義する。
ネットワーク103は、サーバ102の接続されているネットワークであり、車載機101は、このネットワークを介して、サーバ102に対象データ114を要求してダウンロードする。
車載機101は、CPU104、不揮発記憶装置105、RAM106、入力装置107、表示装置108通信IF109これらを接続するバスなどの内部通信線(バスという)110を含んで構成される。CPU104は、不揮発記憶装置105、RAM106、入力装置107、表示装置108通信IF109、バス110の制御と、その制御に関わる演算を行う。この制御と演算は不揮発記憶装置105またはRAM106に格納されたプログラムに従って行う。
不揮発記憶装置105は、ROMまたはフラッシュメモリ、SDメモリカード、ハードディスクなどで構成される。本実施例では、不揮発記憶装置105は、車載機ID115、車載機データバージョン116、車載機データ117を記憶する。車載機ID115は、車載機101固有のIDである。車載機データバージョン116は、車載機データ117のバージョンであり、車載機ID115と車載機データバージョン116により車載機データ117を特定できる。車載機データ117は、プログラム、ファイル、地図、POI情報など、車載機101がユーザに道案内をはじめとする各種サービスを提供するためのプログラムやデータである。空き領域118は、新しいプログラムやファイルなどの各種データを格納するための領域である。
受信プログラム128と再構築プログラム129は車載機データ117に格納されているデータの一種である。受信プログラム128は、ネットワークを介して、サーバ102に対象データ114の再構築に必要なデータを要求してダウンロードするプログラムであり、再構築プログラム129は、サーバ102からダウンロードしたデータから対象データ114を再構築するプログラムである。
本実施例では、車載機ID115、車載機データバージョン116を除く、不揮発記憶装置105に格納されているデータを全て車載機データ117に含めている例を示しているが、全てのデータが車載機データ117に含まれている必要はない。例えば、受信プログラム128や再構築プログラム129は、車載機データ117に含まない構成でも良い。
RAM106は、DRAMなどの揮発メモリが主に用いられ、CPU104の実行するプログラムや一時記憶情報を格納する。入力装置107は、キーやタッチパネルなどのポインティングデバイス、車載機101の搭載されている車の各種センサであり、ユーザの操作や、車や車を取り巻く外界の状態をCPU104に通知する。表示装置108は、液晶ディスプレイなどで構成され、CPU104の演算結果や地図、POI情報、道案内情報などをユーザに通知する。通信IF109は、ネットワーク103に接続する有線または無線のインタフェースである。通信IF109は直接ネットワーク103に接続するインタフェースでなくとも良い。例えば、携帯電話やパーソナルコンピュータや無線ルータと接続するインタフェースであり、これらの装置を介してネットワーク103に接続しても良い。バス110は、CPU104と不揮発記憶装置105、RAM106、入力装置107、表示装置108通信IF109を接続し、CPU104によってこれらの装置の制御を可能にし、これらの装置からの情報をCPU104に伝達する。
サーバ102は、車載機101と同様に、サーバCPU121、サーバ不揮発記憶装置122、サーバRAM123、サーバ入力装置124、サーバ表示装置125、サーバ通信IF126、サーバ外部記録媒体IF130と、これらを接続するサーババス127などの内部通信線を含んで構成される。
そして、サーバ102は車載機101の保持している車載機データ117と対象データ114の差分を取る必要があるため、車載機ID115と車載機データバージョン116から車載機データ117を取り出せる車載機データテーブル111をサーバ不揮発記憶装置122に備える。また、サーバ102は、車載機101に配信する対象データ114に対応する差分データを取り出せる差分データテーブル112をサーバ不揮発記憶装置122に備える。
対象データ114は、プログラム、ファイル、地図、POI情報などのデータであり、対象データ提供者(または対象データ提供者装置)113より提供され随時追加される。
サーバ102は、これらのテーブルを利用し、車載機101に配信する対象データ114に対応する差分データを生成する配信データ生成プログラム119と、配信データ生成プログラム119によって生成された差分データの登録された差分データテーブル112から対象データ114に対応する差分データを取り出し配信する配信プログラム120を備える。
これらのプログラムは、サーバ不揮発記憶装置122に記憶され、随時、サーバCPU121によって取り出すことが可能である。そして、これらのプログラムはサーババス127を介してサーバRAM123に展開されサーバCPU121によって実行されることにより、以下説明する、サーバ102が備える各機能を実現する。
なお、本実施形態において説明する各処理は、それぞれの装置において、プロセッサが各プログラムを実行することにより具現化される処理部により実現されるものであるが、以下の説明では、便宜上、プログラムを実行主体として説明する。
配信データ生成プログラム119は、対象データ提供者113によるサーバ入力装置124によって操作可能なプログラムであり、その操作結果をサーバ表示装置125に表示する。このサーバ入力装置124とサーバ表示装置125は、ネットワーク103を介してサーバ102に接続したPC等の情報処理装置(図示せず)であっても良い。
配信データ生成プログラム119は、対象データ提供者113によって提供される対象データ114と車載機データテーブル111に格納されている車載機データとの差分をとり、差分データテーブル112に登録するプログラムである。さらに対象データ114含む新しい車載機データを管理する場合は、車載機データテーブル111を更新する。配信プログラム120は、車載機101からのダウンロード要求をサーバ通信IF126を介して受け取り、差分データテーブル112からから対象データ114に対応する差分データを取り出しサーバ通信IF126を介して車載機101へ配信する。
対象データ114は光ディスクや不揮発メモリ媒体などの外部記録媒体に格納され、サーバ外部記録媒体IF130を介してサーバ不揮発記憶装置122に書き込まれる。
具体的には、対象データ提供者113が、サーバ入力装置124を利用して配信データ生成プログラム119を動作させ、サーバ外部記録媒体IF130から、外部記録媒体に格納された対象データ114を読み出して車載機データテーブル111に追加し、差分データテーブル112を更新する。そして、対象データ提供者113は、サーバ表示装置125に表示される差分データテーブル112、車載機テーブル111の更新結果を確認する。
サーバ入力装置124、サーバ表示装置125と外部記録媒体IF130は、ネットワーク103を介してサーバ102に接続したPC等の情報処理装置(図示せず)であっても良い。さらに、対象データ114は、外部記録媒体ではなくネットワーク103を介してサーバ102に接続したPC等の情報処理装置の不揮発記憶装置(図示せず)に格納されていても良い。この場合、対象データ提供者113の操作する配信データ生成プログラム119は、ネットワーク103を介してサーバ102に接続したPC等の情報処理装置の不揮発記憶装置から対象データ114を受け取り車載機データテーブル111に追加し、差分データテーブル112を更新する。
図2は車載機データテーブルを示す図である。これは、車載機101に格納されているデータ群である車載機データ117をサーバ102で管理する車載機データテーブル111の構成の一例である。
「車載機ID」201は車載機固有のIDであり、「車載機データバージョン」202は車載機データのバージョンである。「車載機データ」203は車載機データが記載される。
行204は「車載機ID」が「3」で「車載機データバージョン」が「01」であるものに関する記述であり、行205は「車載機ID」が「3」で「車載機データバージョン」が「02」であるものに関する記述であり、行206は「車載機ID」が「4」で「車載機データバージョン」が「01」であるものに関する記述であり、行207は「車載機ID」が「4」で「車載機データバージョン」が「03」であるものに関する記述である。
例えば、「車載機ID」が「3」で「車載機データバージョン」は「01」であるものの「車載機データ」は「車載機データ_3_01」であり、「車載機ID」が「3」で「車載機データバージョン」は「02」であるものの「車載機データ」は「車載機データ_3_02」であり、「車載機ID」が「4」で「車載機データバージョン」は「01」であるものの「車載機データ」は「車載機データ_4_01」であり、「車載機ID」が「4」で「車載機データバージョン」は「03」であるものの「車載機データ」は「車載機データ_4_03」である。
この様に、これは、車載機101に格納されているデータ群である車載機データ117を特定できる車載機データテーブル111を備えることで、サーバ102は、車載機データ117と対象データ114の差分を取ってデータ量を削減したデータを配信できる。
図3は差分データテーブルを示す図である。これは、サーバ102において、車載機101に配信する「配置情報」304と「差分データ」305を、車載機101から通知される情報から特定できる様に管理する差分データテーブル112の構成の一例である。
図3において、「車載機ID」301は車載機固有のIDである。「車載機データバージョン」302は車載機データのバージョンである。「対象データID」303は対象データを特定できる対象データ固有のIDである。これらのID、バージョンで「配置情報」304、「差分データ」305を管理する事により、様々な種類の車載機や、インストールまたは格納されているプログラムやコンテンツなどのデータの内容や状況が異なる車載機に適した、「配置情報」304と「差分データ」305を選択できる。
ここで、「配置情報」304とは、後ほど図4を用いても説明するが、配信する「差分データ」305を作成する際の比較対象となる類似データを特定する、車載機データ内での配置情報(アドレス、ブロックサイズなど)である。
また、「差分データ」305とは、車載機データから配置情報に従い抽出した類似ブロックを、または、複数の類似ブロックを配置情報に従った順序で連結することにより作成した類似データと、対象データと、の差分データである。
本実施例では、差分データテーブル112に、配信する差分データと配置情報を格納する例を示した。しかしながら、差分データと配置情報は比較的大きなデータとなる為、不揮発記憶装置122に格納するファイルとして作成し、「配置情報」304欄には、対応する配置情報を格納しているファイルを特定するためのファイル名やファイルの格納されているディレクトリのパスを格納し、「差分データ」305欄には、対応する差分データを格納しているファイルを特定するためのファイル名やファイルの格納されているディレクトリのパスを格納するように、構成しても良い。
行306は「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものに関する記述であり、行307は「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものに関する記述であり、行308は「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものに関する記述であり、行309は「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものに関する記述であり、行310は「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものに関する記述であり、行311は「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものに関する記述であり、行312は「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものに関する記述であり、行313は「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものに関する記述である。
例えば、「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものの「配置情報」と「差分データ」は「配置情報_3_01_001」と「差分データ_3_01_001」であり、「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものの「配置情報」と「差分データ」は「配置情報_3_03_002」と「差分データ_3_01_002」であり、「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものの「配置情報」と「差分データ」は「配置情報_3_02_001」と「差分データ_3_02_001」であり、「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものの「配置情報」と「差分データ」は「配置情報_3_02_002」と「差分データ_3_02_002」であり、「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものの「配置情報」と「差分データ」は「配置情報_4_01_001」と「差分データ_4_01_001」であり、「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものの「配置情報」と「差分データ」は「配置情報_4_01_002」と「差分データ_4_01_002」であり、「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものの「配置情報」と「差分データ」は「配置情報_4_02_001」と「差分データ_4_02_001」であり、「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものの「配置情報」と「差分データ」は「配置情報_4_02_002」と「差分データ_4_02_002」である。
この様に差分データテーブル112を用いれば、車載機の種類である「車載機ID」301、車載機にインストールまたは格納され差分取得に利用できるデータを特定する情報である「車載機データバージョン」302、インストールしようとしているデータを特定する「対象データID」303から「配置情報」304と「差分データ」305を特定する事ができる。
すなわち、サーバ102は、様々な種類の車載機や、インストールまたは格納されているプログラムやコンテンツなどのデータの内容や状況が異なる車載機に適した、「配置情報」304と「差分データ」305の選択と配信が可能になる。
図4は実施形態の配置情報と差分データの構成を例示する図である。
対象データ114は、図1の対象データ114に相当するデータであり、図4では、3つのブロックに分割した例を示している。対象データ114を分割した個々のブロックをブロック1_403、ブロック2_404、ブロック3_405とする。ブロック1_403のブロックサイズはブロックサイズ1であり、ブロック2_404のブロックサイズはブロックサイズ2であり、ブロック3_405のサイズはブロックサイズ3である。
車載機データ117は、図1の車載機データ117に相当するデータである。車載機データ117に含まれる、ブロックS1_406、ブロックS2_407、ブロックS3_408は、それぞれブロック1_403、ブロック2_404、ブロック3_405と類似しているブロックであり、差分を取るとそのデータ量は小さくなる。類似の度合いは、差分を取ったときのデータ量で測る以外に、特許文献2で用いられているLCS長(最長共通部分列長)や、SED(最短編集距離)等で知ることができる。
ブロックS1_406、ブロックS2_407、ブロックS3_408それぞれのブロックサイズは、ブロック1_403、ブロック2_404、ブロック3_405と同じサイズであり、ブロックS1_406のブロックサイズはブロックサイズ1であり、ブロックS2_407のブロックサイズはブロックサイズ2であり、ブロックS3_408のブロックサイズはブロックサイズ3である。また、ブロックS1_406の先頭アドレスはアドレス1であり、ブロックS2_407の先頭アドレスはアドレス2であり、ブロックS3_408の先頭アドレスはアドレス3である。
この様に対応を付けると、車載機101は、アドレス1とブロックサイズ1の情報があれば、ブロックS1_406のデータを取り出すことができる。同様に、車載機101は、アドレス2とブロックサイズ2からブロックS2_407を、アドレス3とブロックサイズ3からブロックS3_408を取り出すことができる。この様な、アドレス1、ブロックサイズ1、アドレス2、ブロックサイズ2、アドレス3、ブロックサイズ3を集めた情報を配置情報409とする。
すなわち、配置情報とは、類似データを作成するために用いる一つ以上の類似ブロックを特定する、車載機データ内での配置情報(アドレス、ブロックサイズなど)である。類似データブロックが複数の場合は、その連結順序をも特定する。
この例では、アドレスとブロックサイズの情報で、車載機データ117の一部のブロックを取り出せる例を示しているが、車載機データ117がファイルシステムで管理されている場合は、ファイルの存在しているディレクトリのパス名、ファイル名、ファイルの中のアドレスとブロックサイズの情報で、その一部のブロックのデータを取り出すことができる。車載機データ117から、一部のブロックのデータを取り出せる情報で配置情報409を構成しても良い。また、車載機データ117は車載機101の保持している全てのデータである必要は無く、サーバ102で把握できている車載機101のデータ群であっても良い。
類似データ410は、配置情報409に従って、ブロックS1_406とブロックS2_407とブロックS3_408を連結したデータである。類似データ410は、対象データ114を分割したブロックと同じ大きさのブロックを連結しているため、対象データ114と同じ大きさになる。
差分411は、対象データ114と類似データ410の差分であり、特許文献2で示されているバイト・レベルファイル相違検出アルゴリズム(FIG.1)等で得ることができる。差分データ412は、差分411を含むデータである。
配置情報409と差分データ412は、以上の様に構成される為、車載機101がこれらの情報を得ることができれば、配置情報409から類似データ410を得ることができ、類似データ410と差分データ412から特許文献2で示されているバイト・レベルファイル更新アルゴリズム(FIG.1)等により対象データ114を得ることができる。
図5は、実施形態のサーバ102において、配信データ生成プログラム119が、配置情報409と差分データ412を作成する手順を例示する図である。
まず、配信データ生成プログラム119は、ステップ501において対象データ114を受け取る。
次に、ステップ502において対象データ114を複数のブロックに分割する。図4の例では3つに分割している。
マージ503では、ステップ502または分岐514の処理結果を受けて、ステップ504を実行する。
ステップ504は車載機データ117を車載機データテーブル111から取り出す。
マージ505は、ステップ504または分岐509の処理結果を受けて、ステップ506〜ステップ509を実行し、配置情報を生成する。
ステップ506は、分割した対象データ114から1つのブロックを取り出す。
ステップ507は、ステップ504で取り出した車載機データ117内を探索し、ステップ506で取り出したブロックに類似しているブロックを取り出す。この例では、最も類似しているブロックを探索しているが、サーバ102の処理時間短縮の為、一定以上類似しているブロックが発見できた時点で探索を終了しても良い。一定以上類似しており差分を取ったとき十分小さくなれば、サーバ102の処理時間短縮を優先させても良い。
ステップ508は、ステップ507で得られたブロックのアドレスとブロックサイズを配置情報409に格納する。
分岐509は、対象データ114を分割した全てのブロックに対し、ステップ506、ステップ507、ステップ508を実行したかどうかによって分岐する。全てのブロックに対して処理を終えた場合は、配置情報409の生成が終了したことになり、ステップ510を実行する。全てのブロックに対して処理を終えていない場合は、マージ505に戻り、まだ処理を終えていないブロックに対する処理を続ける。
ステップ510は、ステップ508で作成した配置情報409のアドレスとブロックサイズの情報に従い、類似データ410を作成する。
ステップ511では、差分データ生成処理として、対象データ114とステップ510で作成した類似データ410の差分をとり、差分データ412を作成する。
ステップ512では、ステップ511で作成した差分データ412を差分データテーブル112に追加する。これによって、車載機101から、対象データ114のダウンロード要求があったときに、適切な類似データ410と差分データ412を配信できる様になる。
ステップ513では、対象データ114をステップ504で取り出した車載機データ117に加えた新しい車載機データを車載機データテーブル111に追加する。これによって、ステップ501で受け取った対象データ114をインストールまたは格納済みの車載機101では、次の対象データ量削減に対象データ114も利用できる様になる。このステップは、全ての対象データに対して行われる必要はない。十分多様なデータを車載機101が保有している場合や、サーバ102の記憶装置の容量を削減する様な場合は、実施しないことによってシステムの効率化ができる。
分岐514は、車載機データテーブル111に含まれる全ての車載機データに対し、ステップ504、マージ505、ステップ506、ステップ507、ステップ508、分岐509、ステップ510、ステップ511、ステップ512、ステップ513の処理を実行したかどうかによって分岐する。全ての車載機データに対し処理を終えた場合は、処理を終了する。全ての車載機データに対し処理を終えていない場合は、マージ503に戻り処理を続ける。
図6は、実施形態の車載機101において、再構築プログラム129が、配置情報409と差分データ412から対象データ114を再構築してインストールする手順を例示する図である。
再構築プログラム129は、ステップ601において、車載機101はサーバ102より配置情報409と差分データ412をうけとる。
次に、ステップ602では、ステップ601で受け取った配置情報409記載されているアドレスとブロックサイズで特定されるブロックを車載機データ117から取り出し類似データ410を再構築する。
ステップ603では、ステップ602で再構築した類似データ410とステップ601で受け取った差分データ412から、対象データ114を再構築する。
ステップ604では、ステップ603で再構築した対象データ114を車載機101の不揮発記憶装置105の空き領域118に書き込む。
ステップ605では、対象データ114と車載機データ117を含む新しい車載機データのバージョンを車載機101の不揮発記憶装置105の車載機データバージョン116に書き込む。サーバ102において、ステップ513が行われていない場合は、ステップ605は不要である。
図7は、実施形態の車載機101がサーバ102から配信されたデータをインストールするシーケンスを例示する図である。
最初に、車載機101は、車載機ID、車載機データバージョン送信703をサーバ102に対し行う。次に、サーバ102は、対象データIDリスト返信(配置情報+差分データサイズ)704を車載機101に対し行う。次に、車載機101は対象データIDリスト表示する処理705を行う。この際、それぞれの対象データIDのデータのダウンロードデータ量またはダウンロードにかかる予測時間も対応を付けて表示するとよい。この様にすると、あらかじめダウンロード時間がわかり、車載機101のユーザがダウンロードをするかの判断をするのに有用である。この実施形態を用いると、対象データ114をインストールすると車載機データ117が変化するため、次の対象データのダウンロードデータ量は、対象データ114をインストール前と異なる。同様に、対象データIDリスト表示を見て複数の対象データIDを選択した場合、選択したIDの組み合わせによって、それぞれの対象データIDのダウンロードデータ量またはダウンロードにかかる予測時間が変化する。
車載機101が対象データIDリスト表示する処理705を行った結果、ユーザがあるインストールIDの対象データを選択した場合は、符号706から符号711の処理を行う。この場合、車載機101は対象データID選択する処理706を行う。次に、車載機101は、車載機ID、車載機データバージョン、対象データIDをサーバ102に対して送信する(707)。次に、サーバ102は、配置情報、差分データを配信データとして車載機101に対して送信する(708)。次に、車載機101はインストール処理709を行う。このインストール処理は、図6の手順に従って行われる。次に、車載機101は、インストール完了通知710をサーバ102に対し行う。次に、サーバ102はインストール完了する処理711を行う。
車載機101が対象データIDリスト表示する処理705を行った結果、ユーザが何れのインストールIDの対象データも選択しなかった場合は、符号712から符号713の処理を行う。この場合、車載機101は対象データID非選択する処理712を行う。最後に、車載機101は、インストール中断通知713をサーバ102に対し行う。
以上の様な、シーケンスでサーバ102と車載機101が処理を進めることによって、車載機101は、車載機101に適した、配置情報409と差分データ412をダウンロードし、対象データ114を再構築してインストールする事ができる。
この様な実施形態をとると原データが車載機101にない、新版プログラムなどのデータのインストールであっても、車載機101の車載機データ117から新版プログラムのデータに似た類似データ410を作ることにより、差分をとってデータ量を削減できる。
また、原データがある場合は、原データのブロックが新データに似ている可能性が高いため、多くの原データのブロックが選択され類似データ410に含まれることが期待できる。よって、上記実施形態においても、従来方法における原データと新データの差分と同等のサイズのデータを配信できる。ただし、原データがある場合は、サーバの負荷低減のため、本実施形態によらず、原データとの差分を配信する様にしても良い。
本実施例では、差分をとり小さくしたデータをダウンロードしてインストールするだけでなく、車載機データや差分データが破損している場合も、正しい対象データをインストールできる装置の例を説明する。
図8は、実施形態の差分データの構成を例示する図である。図8の構成のうち、既に説明した図4に示された同一の符号を付された構成要素と同一の機能を有する部分については、説明を省略する。
本実施例の差分データ801は、差分411に加え、対象データチェックサム値802、車載機データチェックサム値803、類似データチェックサム値804、差分データチェックサム値805を含んで構成されている。
対象データチェックサム値802は、対象データ114のチェックサムをとった値である。車載機101において、再構築した対象データ114のチェックサム値を計算し、対象データチェックサム値802と比較し、一致しなければ対象データ114を正しく再構築できなかった事が分かる。
車載機データチェックサム値803は、車載機データ117のチェックサムをとった値である。車載機101において、車載機データ117のチェックサム値を計算し、車載機データチェックサム値803と比較し、一致しなければ、車載機データ117が破損している、またはサーバ102において車載機101が保持していると認識している車載機データに誤りがあることが分かる。
類似データチェックサム値804は、類似データ410のチェックサムをとった値である。車載機101において、再構築した類似データ410のチェックサム値を計算し、類似データチェックサム値804と比較し、一致しなければ、類似データ410を正しく再構築出来なかったことが分かる。
差分データチェックサム値805は、配置情報409と差分データ412のチェックサムをとった値である。車載機101において、ダウンロードした配置情報409と差分データ412のチェックサムを計算し、差分データチェックサム値805と比較し、一致しなければ正しくデータをダウンロード出来なかったことが分かる。
この様に、各種チェックサム値を差分データ801に加える事によって、各種データの破損や、処理の失敗を検出する事ができる様になる。この例では、単純なチェックサム値を用いているが、その他の、誤り検知符号を用いても良い。また、誤り訂正符号の様に、車載機101で誤りを検出するだけではなく訂正も可能な符号を付加しても良い。
また、これらの対象データチェックサム値802、車載機データチェックサム値803、類似データチェックサム値804、差分データチェックサム値805は全て差分データ801に含まれる必要はなく、いずれか一つ以上を含む構成でもよい。車載機データチェックサム値803は、差分データ801ではなく、あらかじめ、不揮発記憶装置105に保持しておいても良い。
また、これらの誤り検知および/または誤り訂正可能な情報を配信データに含める場合に、差分データの一部としてではなく、その他の場所に含めるよう、構成しても良い。
図9は、実施形態のサーバ102において、配信データ生成プログラム119が、配置情報409と差分データ801を作成する手順を例示する図である。図9の手順のうち、既に説明した図5に示された同一の符号を付された手順と同一の機能を有する部分については、説明を省略する。
配信データ生成プログラム119は、ステップ511の次に実行されるステップ901では、対象データチェックサム値802、車載機データチェックサム値803、類似データチェックサム値804、差分データチェックサム値805を計算し、差分データ801に加える。このステップ901のあとにステップ512を実行するので、差分データテーブル112で、チェックサム値を含む差分データを管理でき、車載機101の要求に従って、チェックサム値を含む差分データを配信できる。
図10は、実施形態の車載機101において、再構築プログラム129が、配置情報409と差分データ801から対象データ114を再構築する手順を例示する図である。図10の手順のうち、既に説明した図6に示された同一の符号を付された手順と同一の機能を有する部分については、説明を省略する。
再構築プログラム129は、マージ1001はスタートまたはステップ1004またはステップ1015またはステップ1018の処理結果を受けてステップ601を実行する。ステップ1004、ステップ1015、ステップ1018では、ダウンロードした配置情報409と差分データ801が破損していると判断し、配置情報409と差分データ412を受け取り直す処理を進める。
ステップ1002は、ステップ601で受け取った配置情報409と差分データ801のチェックサム値を計算する。
分岐1003は、ステップ1002で計算したチェックサム値と、ステップ601で受け取った差分データ801の差分データチェックサム値805と比較する。比較の結果が不一致だった場合はステップ1004に処理をうつし、一致だった場合は、マージ1005に処理をうつす。
ステップ1004では、ダウンロードした配置情報409と差分データ801が破損していることを示すエラーを、表示装置108に表示し、サーバ102に対し、配置情報409と差分データ801の再送を要求し、マージ1001に処理をうつす。
マージ1005は分岐1003またはステップ1009の処理結果を受けてステップ1006を実行する。
ステップ1006では、車載機データ117のチェックサム値を計算する。
分岐1007は、ステップ1006で計算したチェックサム値と、ステップ601で受け取った差分データ801の車載機データチェックサム値803を比較する。比較の結果が不一致だった場合はステップ1008に処理をうつし、一致だった場合は分岐1010に処理をうつす。
ステップ1008は、車載機101の車載機データ117が破損していることを示すエラーを、表示装置108に表示し、サーバ102に対し、車載機データを要求する。車載機データが大きい場合は、ユーザにサーバ102のオペレータに車載機データの郵送を依頼する表示を表示装置108に行う様な方法をとることもできる。
ステップ1009では、破損していない車載機データを受け取り、車載機データ117を破損していないデータに置き換える。
分岐1010では、車載機101において他にインストール中のデータがないか確認する。これは、他のデータのインストールにより、車載機データ117の内容が変化し、対象データ114を正しく再構築できなくなることを防ぐためである。インストール中のデータがある場合は、ステップ1011に処理をうつし、インストール中のデータのインストール完了まで待機する。
ステップ1011は、他にインストール中のデータがある事や、他のインストール完了後に、ステップ601で受け取った配置情報409と差分データ801の処理を再開する事を表示装置108に表示し、インストール中のデータのインストール完了まで待機する。
マージ1012はステップ1011、分岐1010の処理結果を受けて、ステップ602に処理をうつす。
ステップ1013はステップ602で再構築した類似データ410のチェックサム値を計算する
分岐1014はステップ1013で計算したチェックサム値とステップ601で受け取った差分データ801類似データチェックサム値804と比較する。比較の結果が不一致だった場合はステップ1015に処理をうつし、一致だった場合はステップ603に処理をうつす。
ステップ1015は、インストール処理中にエラーが発生したことや、エラーの箇所が類似データ410のチェックサム値である事を表示装置108し、サーバ102に対し、配置情報409と差分データ801の再送を要求し、マージ1001に処理をうつす。
ステップ1016は、ステップ603で再構築した対象データ114のチェックサム値を計算する。
分岐1017はステップ1016で計算したチェックサム値と、ステップ601で受け取った差分データ801の対象データチェックサム値802を比較する。比較の結果が不一致だった場合はステップ1018に処理をうつし、一致だった場合はステップ604に処理をうつす。
ステップ1018では、インストール処理中にエラーが発生したことや、エラーの箇所が対象データ114のチェックサム値である事を表示装置108し、サーバ102に対し、配置情報409と差分データ801の再送を要求し、マージ1001に処理をうつす。
図11は、実施形態の車載機101がサーバ102よりデータをダウンロードしてインストールするシーケンスを例示する図である。図11のシーケンスのうち、既に説明した図7に示された同一の符号を付されたシーケンスと同一の機能を有する部分については、説明を省略する。
車載機101によるインストール処理709の結果、車載機データエラーと判断した場合、差分データエラーと判断した場合、インストール成功と判断した場合で異なるシーケンスを実行する。車載機データエラーと判断した場合とは、図10の分岐1007において、車載機データのチェックサム値が不一致だった場合である。差分データエラーと判断した場合とは、図10の分岐1003または分岐1014または分岐1017またはでチェックサム値が不一致だった場合である。インストール成功と判断した場合とは、図10の分岐1017でチェックサム値が一致した場合である。
車載機データエラーと判断した場合、車載機101は、サーバ102に対し車載機ID、車載機データバージョン、対象データID送信(E1)1101を行い、配置情報409と差分データ801の再送を要求する。そして、サーバ102は、車載機101に対し、配信情報、差分データを、配信データとして車載機101へ送信する(1102)。
差分データエラーと判断した場合、車載機101は、サーバ102に対し車載機ID、車載機データバージョン送信(E2)1104を行い、破損していない車載機データを要求する。この処理は、図10のステップ1008の処理に相当する。そして、サーバ102は、車載機101に対し、車載機データ返信1105を行う。この結果、車載機101は破損していない車載機データを記憶でき、インストール処理を継続する事ができる。
インストール成功と判断した場合、図7同様にインストール完了通知710とインストール完了711の処理を行う。
本実施例では、差分によるデータ量削減だけでなく、圧縮も併用しよりデータ量を削減して、データをダウンロードしてインストールする装置の例を説明する。
図12は施形態の圧縮技術を利用した配信データの構成を例示する図である。既に説明した図4に示された同一の符号を付された構成と、同一の機能を有する部分については、説明を省略する。
圧縮を利用して、より小さいデータを配信するため、配信用に圧縮した対象データ(配信圧縮対象データという)1201、配信用に圧縮した差分データ(配信圧縮差分データという)1202、配信用に圧縮しない差分データ(配信無圧縮差分データという)1203を用意する。
配信圧縮対象データ1201は、圧縮種別ID1204と圧縮対象データ1205を含んで構成される。圧縮種別ID1204は、配信データが配信圧縮対象データ1201である事を表すIDである。圧縮対象データ1205は、対象データ114を圧縮したデータである。この形式の配信データは、車載機データ117に対象データ114との類似部分があまり見いだせない場合に有効である。この場合配置情報409と差分データ412のサイズが十分小さくならず、対象データ114を圧縮した配信圧縮対象データ1201の方が小さくなる場合がある。
配信圧縮差分データ1202は、圧縮種別ID1206と、圧縮配置情報1207、圧縮差分データ1208を含んで構成される。圧縮種別ID1206は、配信データが配信圧縮差分データ1202である事を表すIDである。圧縮配置情報1207は、配置情報409を圧縮したデータである。圧縮差分データ1208は、差分データ412を圧縮したデータである。この形式の配信データは、車載機データ117に対象データ114との類似部分を多く見いだすことができ、さらに圧縮によりデータ削減できる場合に有効である。
配信無圧縮差分データ1203は、圧縮種別ID1209と配置情報409、差分データ412を含んで構成される。圧縮種別ID1209は、配信データが配信無圧縮差分データ1203である事を表すIDである。この形式の配信データは、車載機データ117に対象データ114との類似部分を多く見いだすことができ、圧縮によりデータが削減できない場合に有効である。
以上の様に、圧縮と差分取得技術を組み合わせて得られる構成の配信データを用意し、最も小さい形式の配信データを配信する事で、小さなデータを配信する事ができる様になる。また、配信データに圧縮種別IDを備えることで、配信データが配信圧縮対象データ1201であるか、配信圧縮差分データ1202であるか、配信無圧縮差分データ1203を判別でき、車載機101は、適切な復元方法を選択してダウンロードした配信データから対象データ114を再構築できる。
図13は、サーバ102において、車載機101に配信する「配信データ」1301を、車載機101から通知される情報から特定できる様に管理する差分データテーブル112の構成の一例である。既に説明した図3に示された同一の符号を付された構成と、同一の機能を有する部分については、説明を省略する。
行1302は「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものに関する記述であり、行1303は「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものに関する記述であり、行1304は「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものに関する記述であり、行1305は「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものに関する記述であり、行1306は「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものに関する記述であり、行1307は「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものに関する記述であり、行1308は「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものに関する記述であり、行1309は「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものに関する記述である。
「配信データ」1301は車載機データに対する配信データが記載される。例えば、「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものの「配信データ」は「配信データ_3_01_001」であり、「車載機ID」が「3」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものの「配信データ」は「配信データ_3_01_002」であり、「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものの「配信データ」は「配信データ_3_02_001」であり、「車載機ID」が「3」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものの「配信データ」は「配信データ_3_02_002」であり、「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「001」であるものの「配信データ」は「配信データ_4_01_001」であり、「車載機ID」が「4」で「車載機データバージョン」は「01」であり、「対象データID」は「002」であるものの「配信データ」は「配信データ_4_01_002」であり、「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「001」であるものの「配信データ」は「配信データ_4_02_001」であり、「車載機ID」が「4」で「車載機データバージョン」は「02」であり、「対象データID」は「002」であるものの「配信データ」は「配信データ_4_02_002」である。
この様に差分データテーブル112は、車載機の種類である「車載機ID」301、車載機にインストールされ差分取得に利用するデータを特定する情報である「車載機データバージョン」302、インストール仕様としているデータを特定する「対象データID」303から「配信データ」1301を特定する事ができる。これによって、サーバ102は、様々な種類の車載機や、インストールされているデータの内容や状況の異なる車載機に適した、「配信データ」1301を選択して配信できる。
図14は、実施形態のサーバ102において、配信データ生成プログラム119が、配信データを差分データテーブル112に登録する手順を例示する図である。
配信データ生成プログラム119は、ステップ1401は配信圧縮対象データを作成する。ステップ1402は配信圧縮差分データを作成する。ステップ1403は、配信無圧縮差分データを作成する。
分岐1404は、ステップ1401、ステップ1402、ステップ1403で作成された配信データのサイズを比較する。ステップ1401で作成した配信圧縮対象データが最も小さい場合はステップ1405に処理をうつし、ステップ1402で作成した配信圧縮差分データが最も小さい場合は、ステップ1406に処理をうつし、ステップ1403で作成した配信無圧縮差分データが最も小さい場合は、ステップ1407処理をうつす。
ステップ1405はステップ1401で作成した配信圧縮対象データを差分データテーブル112に登録する。ステップ1406はステップ1402で作成した配信圧縮差分データを差分データテーブル112に登録する。ステップ1407はステップ1403で作成した配信無圧縮差分データを差分データテーブル112に登録する。マージ1408はステップ1406、ステップ1405、ステップ1407いずれか終了によって登録処理を終了する。
以上の様に差分データテーブルに配信データを登録することにより、車載機により小さなデータを配信する事が可能となる。
図15は、実施形態の車載機101において、再構築プログラム129が、配信データから対象データ114を再構築する手順を例示する図である。
再構築プログラム129は、分岐1501は配信データの圧縮種別IDを確認する。圧縮種別IDが配信圧縮対象データであることを示している場合はステップ1502に処理をうつし、圧縮種別IDが配信圧縮差分データである事を示している場合はステップ1503に処理をうつし、圧縮種別IDが配信無圧縮差分データである事を示している場合はステップ1504に処理をうつす。
ステップ1502は、配信圧縮対象データ1201の圧縮対象データ1205を伸張し、対象データ114を取り出す。ステップ1503は、配信圧縮差分データ1202の圧縮配置情報1207と圧縮差分データ1208を伸張し、配置情報409と差分データ412を取り出す。ステップ1504は、配信無圧縮差分データ1203から配置情報409と差分データ412を取り出す。マージ1505はステップ1503、ステップ1504の処理完了をうけ、ステップ1506に処理をうつす。
ステップ1506は、ステップ1503またはステップ1504で取り出された配置情報409と差分データ412を利用し対象データ114を図6の手順に従い再構築する。マージ1507はステップ1506、ステップ1502いずれかの処理完了を受け処理を終了する。
以上の様に、車載機101は、配信データに圧縮種別IDより、配信データが配信圧縮対象データ1201であるか、配信圧縮差分データ1202であるか、配信無圧縮差分データ1203を判別でき、適切な方法を選択してダウンロードした配信データから対象データ114を再構築できる。
101:車載機、102:サーバ、103:ネットワーク、104:CPU、105:不揮発記憶装置、106:RAM、107:入力装置、108:表示装置、109:通信IF、110:バス、111:車載機データテーブル、112:差分データテーブル、113:対象データ提供者、114:対象データ、115:車載機ID、116:車載機データバージョン、117:車載機データ、118:空き領域、201:「車載機ID」、202:「車載機データバージョン」、203:「車載機データ」、301:「車載機ID」、302:「車載機データバージョン」、303:「対象データID」、304:「配置情報」、305:「差分データ」。

Claims (9)

  1. ネットワークを介して接続されるサーバ装置とクライアント装置とを含むシステムにおいて、前記サーバ装置が備える対象データを前記クライアント装置に配置する対象データの配置方法であって、
    前記サーバ装置は、
    前記対象データの配信先となる前記クライアント装置の記憶装置に格納されている格納データ内容を特定し、
    特定した前記格納データ内容から、前記対象データに類似する類似データを抽出し、 抽出した前記類似データと前記対象データとの差分データと、前記類似データを特定するための、前記クライアント装置の記憶装置内における配置情報と、を作成し、
    前記差分データと、前記配置情報と、を含む配信データを前記クライアント装置に送信し、
    前記クライアント装置は、
    受信した前記配信データに含まれる前記配置情報に従い、前記記憶装置に格納している前記類似データを特定し、
    特定した類似データと受信した前記差分データとから、前記対象データを復元する対象データの配置方法であって
    前記サーバ装置は、
    前記対象データを圧縮した配信圧縮対象データと、
    前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、
    前記差分データと前記配置情報とを圧縮しない配信非圧縮差分データと、のデータサイズを比較し、
    データサイズが最も小さいデータと、前記圧縮対象を示す圧縮種別IDとを、前記配信データとして送信し、
    前記クライアント装置は、前記圧縮種別IDを参照して、前記配信データの復元方法を選択する
    ことを特徴とする対象データの配置方法。
  2. 請求項1に記載の、対象データの配置方法であって、
    前記サーバ装置は、
    特定した前記データ内容から、それぞれが前記対象データの一部分に類似する一つ以上の類似ブロックを抽出し、
    抽出した一つ以上の前記類似ブロックを連結することにより前記類似データを作成し、前記配置情報に、前記類似データを作成するために連結する一つ以上の前記類似ブロックの、アドレスとブロックサイズと連結順序とを含め、
    前記クライアント装置は、
    受信した前記配置情報に従い、前記記憶装置に格納している前記類似ブロックを連結した前記類似データを特定する
    ことを特徴とする対象データの配置方法。
  3. 請求項1または2に記載の、対象データの配置方法であって、
    前記サーバ装置は、各々の前記クライアント装置を特定する識別情報と、各々の前記クライアント装置に格納されているデータのバージョン情報とを管理し、
    前記クライアント装置は、自クライアント装置を特定する識別情報と、自クライアント装置に格納されているデータのバージョン情報とを、前記サーバ装置に送信し、
    前記サーバ装置は、前記クライアント装置から受信した前記識別情報と前記バージョン情報とに基づき、前記クライアント装置の記憶装置に格納されているデータの内容を特定する
    ことを特徴とする対象データの配置方法。
  4. 請求項1から3のいずれか一に記載の、対象データの配置方法であって、
    前記サーバ装置は、
    前記対象データと、特定した前記クライアント装置の前記格納データと、前記類似データと、前記差分データと、のいずれか一つ以上の、誤り検知および/または誤り訂正が可能な情報を、前記配信データに含める
    ことを特徴とする対象データの配置方法。
  5. ネットワークを介して接続されるサーバ装置とクライアント装置を備え、サーバ装置が備える対象データをクライアント装置に配置する対象データの配置システムであり、
    前記サーバ装置は、
    前記対象データの配信先となる前記クライアント装置の記憶装置に格納されている格納データ内容を特定し、
    特定した前記格納データ内容から、前記対象データに類似する類似データを抽出し、
    抽出した前記類似データと前記対象データとの差分データと、前記類似データを特定するための、前記クライアント装置の記憶装置内における配置情報と、を作成する配信データ作成部と、
    前記差分データと、前記配置情報と、を含む配信データを前記クライアント装置に送信する配信部と、を備え、
    前記クライアント装置は、
    受信した前記配信データに含まれる前記配置情報に従い、前記記憶装置に格納している前記類似データを特定し、
    特定した類似データと受信した前記差分データとから、前記対象データを復元する再構築部を備える対象データの配置システムであって、
    前記サーバ装置は、
    前記対象データを圧縮した配信圧縮対象データと、
    前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、
    前記差分データと前記配置情報とを圧縮しない配信非圧縮差分データと、のデータサイズを比較し、
    データサイズが最も小さいデータと、前記圧縮対象を示す圧縮種別IDとを、前記配信データとして送信し、
    前記クライアント装置は、前記圧縮種別IDを参照して、前記配信データの復元方法を選択する
    ことを特徴とする対象データの配置システム。
  6. ネットワークを介して接続されるサーバ装置が備える対象データをクライアント装置に配置する対象データの配置システムに用いるサーバ装置であって、
    配信データ作成部と、配信部と、を備え、
    前記配信データ作成部は、
    前記対象データを圧縮した配信圧縮対象データと、
    前記対象データの配信先となるクライアント装置の記憶装置に格納されている格納データ内容を特定し、特定した前記格納データ内容から、前記対象データに類似する類似データを抽出し、抽出した前記類似データと前記対象データとの差分データと、前記類似データを特定するための、前記クライアント装置の記憶装置内における配置情報と、を含む配信非圧縮差分データと、 前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、のいずれかのデータと、を前記配信データとして作成し、
    前記配信部は、
    前記配信データを前記クライアント装置に送信する
    ことを特徴とするサーバ装置。
  7. ネットワークを介して接続されるサーバ装置が備える対象データをクライアント装置に
    配置する対象データの配置システムに用いるクライアント装置であって、
    再構築部を備え、
    前記再構築部は、
    前記対象データを圧縮した配信圧縮対象データと、自クライアント装置の記憶装置に格納されている格納データ内容から抽出された前記対象データに類似する類似データに基づいて作成された、前記類似データと前記対象データとの差分データと、前記類似データを特定するための、自クライアント装置の記憶装置内における配置情報と、を含む配信非圧縮差分データと、 前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、のいずれかのデータと、前記いずれかのデータを識別する圧縮種別IDと、を前記配信データとして前記サーバ装置から受信し、
    受信した前記配信データに含まれる前記圧縮種別IDを参照して、前記配信データの復元方法を選択し、前記圧縮種別IDが、前記配信非圧縮差分データまたは前記配信圧縮差分データを示す場合、前記配置情報に従い、前記記憶装置に格納している前記類似データを特定し、
    特定した類似データと受信した前記差分データとから、前記対象データを復元することを特徴とする対象データの配置システムに用いるクライアント装置。
  8. ネットワークを介して接続されるサーバ装置が備える対象データをクライアント装置に配置する対象データの配置システムに用いるサーバ装置として、コンピュータを機能させるプログラムであって、
    前記プログラムは、前記コンピュータを、配信データ作成部と、配信部と、を備えるサーバ装置として機能させ、
    前記配信データ作成部は、
    前記対象データの配信先となるクライアント装置の記憶装置に格納されている格納データ内容を特定し、
    特定した前記格納データ内容から、前記対象データに類似する類似データを抽出し、抽出した前記類似データと前記対象データとの差分データと、前記類似データを特定するための、前記クライアント装置の記憶装置内における配置情報と、を作成し、
    前記配信部は、
    前記差分データと、前記配置情報と、を含む配信データを前記クライアント装置に送信するプログラムであって、
    前記サーバ装置は、
    前記対象データを圧縮した配信圧縮対象データと、
    前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、
    前記差分データと前記配置情報とを圧縮しない配信非圧縮差分データと、のデータサイズを比較し、
    データサイズが最も小さいデータと、前記圧縮対象を示す圧縮種別IDとを、前記配信データとして送信し、
    前記クライアント装置は、前記圧縮種別IDを参照して、前記配信データの復元方法選択することを特徴とするプログラム。
  9. ネットワークを介して接続されるサーバ装置が備える対象データをクライアント装置に配置する対象データの配置システムに用いるクライアント装置として、コンピュータを機能させるプログラムであって、
    前記プログラムは、前記コンピュータを、再構築部を備えるクライアント装置として機能させ、
    前記再構築部は、
    前記対象データを圧縮した配信圧縮対象データと、自クライアント装置の記憶装置に格納されている格納データ内容から抽出された前記対象データに類似する類似データに基づいて作成された、前記類似データと前記対象データとの差分データと、前記類似データを特定するための、自クライアント装置の記憶装置内における配置情報と、を含む配信非圧縮差分データと、 前記差分データと前記配置情報とを圧縮した配信圧縮差分データと、のいずれかのデータと、前記いずれかのデータを識別する圧縮種別IDと、を前記配信データとして、前記サーバ装置から受信し、
    受信した前記配信データに含まれる前記圧縮種別IDを参照して、前記配信データの復元方法を選択し、前記圧縮種別IDが、前記配信非圧縮差分データまたは前記配信圧縮差分データを示す場合、前記配置情報に従い、前記記憶装置に格納している前記類似データを特定し、
    特定した類似データと受信した前記差分データとから、前記対象データを復元することを特徴とするプログラム。
JP2011211880A 2011-09-28 2011-09-28 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム Expired - Fee Related JP5696018B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011211880A JP5696018B2 (ja) 2011-09-28 2011-09-28 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム
US13/558,735 US20130080580A1 (en) 2011-09-28 2012-07-26 Object data allocation method, object data allocation system and server apparatus, client device and program thereof
EP12178172.8A EP2575035B1 (en) 2011-09-28 2012-07-27 Object data allocation method, object data allocation system and server apparatus, client device and program thereof
CN2012102660810A CN103034673A (zh) 2011-09-28 2012-07-30 对象数据传送系统和方法、服务器装置以及客户机装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011211880A JP5696018B2 (ja) 2011-09-28 2011-09-28 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム

Publications (2)

Publication Number Publication Date
JP2013073417A JP2013073417A (ja) 2013-04-22
JP5696018B2 true JP5696018B2 (ja) 2015-04-08

Family

ID=46717713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011211880A Expired - Fee Related JP5696018B2 (ja) 2011-09-28 2011-09-28 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム

Country Status (4)

Country Link
US (1) US20130080580A1 (ja)
EP (1) EP2575035B1 (ja)
JP (1) JP5696018B2 (ja)
CN (1) CN103034673A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007763T5 (de) 2019-09-30 2022-07-14 Mitsubishi Electric Corporation Softwareaktualisierungsvorrichtung, Server, Softwareaktualisierungssystem undSoftwareaktualisierungsverfahren

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796440B (zh) * 2014-01-17 2018-09-14 中国电信股份有限公司 用于发送定位数据的方法和装置
KR101599133B1 (ko) * 2014-06-09 2016-03-15 주식회사 엔지스테크널러지 네비게이션 장치의 지도 데이터 제공 방법 및 시스템
US10430176B2 (en) 2014-11-17 2019-10-01 Hitachi Automotive Systems, Ltd. In-vehicle control device, program update system, and program update software
WO2016121442A1 (ja) 2015-01-26 2016-08-04 日立オートモティブシステムズ株式会社 車載制御装置、プログラム書き込み装置、プログラム生成装置及びプログラム
CN112152905B (zh) 2015-02-16 2022-12-09 钉钉控股(开曼)有限公司 通讯方法、装置及移动设备
JP6216730B2 (ja) * 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
CN106034068A (zh) 2015-03-20 2016-10-19 阿里巴巴集团控股有限公司 群聊中进行私聊的方法、装置、客户端、服务器及系统
CN105610695B (zh) * 2015-12-21 2021-01-12 阿里巴巴集团控股有限公司 对象分配方法及装置
CN105681056B (zh) 2016-01-13 2019-03-19 阿里巴巴集团控股有限公司 对象分配方法及装置
CN105812237B (zh) 2016-03-07 2020-12-04 钉钉控股(开曼)有限公司 快速添加提醒对象的方法及装置
CN107306286B (zh) 2016-04-21 2020-12-04 钉钉控股(开曼)有限公司 离线考勤的处理方法及装置
CN107305459A (zh) 2016-04-25 2017-10-31 阿里巴巴集团控股有限公司 语音和多媒体消息的发送方法及装置
CN107368995A (zh) 2016-05-13 2017-11-21 阿里巴巴集团控股有限公司 任务处理方法及装置
CN107846345A (zh) 2016-09-18 2018-03-27 阿里巴巴集团控股有限公司 通讯方法及装置
JP2019040376A (ja) * 2017-08-25 2019-03-14 株式会社明電舎 局所的データの書換方法
CN108199806B (zh) * 2018-01-15 2021-03-12 北京新能源汽车股份有限公司 一种数据码的通信方法、装置、故障诊断仪及组合仪表
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
DE112019000179T5 (de) * 2018-02-16 2020-07-16 Hitachi Automotive Systems, Ltd. Fahrzeugsteuervorrichtung und programmaktualisierungssystem
WO2020032198A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム
JP7003975B2 (ja) * 2018-08-10 2022-01-21 株式会社デンソー 車両情報通信システム,センター装置及びセンター装置のメッセージ送信方法
CN110147244A (zh) * 2019-04-30 2019-08-20 惠州市德赛西威智能交通技术研究院有限公司 一种车载软件升级的方法
CN113238791A (zh) 2021-05-19 2021-08-10 上海艾拉比智能科技有限公司 一种主从架构的ota差分升级方法及系统
WO2022259348A1 (ja) * 2021-06-08 2022-12-15 三菱電機株式会社 車両用制御装置
CN113726845A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 车载终端的数据传输方法、装置、车载终端和商用车辆

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312667A (ja) * 2000-05-02 2001-11-09 Noritsu Koki Co Ltd データ受信装置、データ受信方法、データ受信処理を行うためのプログラムを記録した記録媒体、データ配信装置、データ配信方法、データ配信処理を行うためのプログラムを記録した記録媒体およびデータ配信システム
CN1650256B (zh) * 2002-04-01 2010-04-28 株式会社Ntt都科摩 通信终端的软件更新方法、通信终端以及软件更新系统
US6925467B2 (en) * 2002-05-13 2005-08-02 Innopath Software, Inc. Byte-level file differencing and updating algorithms
US8233893B2 (en) * 2002-08-22 2012-07-31 Hewlett-Packard Development Company, L.P. Mobile handset update package generator that employs nodes technique
US7886093B1 (en) * 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
GB0326626D0 (en) * 2003-11-14 2003-12-17 Filewave International Holding A method in a network of the delivery of files
US8271970B2 (en) * 2005-10-27 2012-09-18 Siemens Aktiengesellschaft Method for software distribution
JP4791205B2 (ja) * 2006-02-15 2011-10-12 三菱電機株式会社 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム
CN101094203A (zh) * 2007-07-18 2007-12-26 北京亿企通信息技术有限公司 一种在企业即时通信工具中选择接收者的方法及系统
CN101540689B (zh) * 2008-03-17 2011-08-17 中国科学院声学研究所 一种自适应xml内容发布方法
JP2010079546A (ja) 2008-09-25 2010-04-08 Hitachi Software Eng Co Ltd プログラム配信更新システム
JP5729901B2 (ja) * 2009-11-24 2015-06-03 三菱電機株式会社 差分管理装置及びコンピュータプログラム及び差分管理方法
CN102023816A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种对象存储系统的对象存放策略和访问方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007763T5 (de) 2019-09-30 2022-07-14 Mitsubishi Electric Corporation Softwareaktualisierungsvorrichtung, Server, Softwareaktualisierungssystem undSoftwareaktualisierungsverfahren

Also Published As

Publication number Publication date
EP2575035A1 (en) 2013-04-03
JP2013073417A (ja) 2013-04-22
CN103034673A (zh) 2013-04-10
US20130080580A1 (en) 2013-03-28
EP2575035B1 (en) 2020-04-22

Similar Documents

Publication Publication Date Title
JP5696018B2 (ja) 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム
AU2019257524B2 (en) Managing operations on stored data units
JP6440643B2 (ja) ソフトウェア更新システム、サーバ
CN101377744B (zh) 一种终端设备软件升级恢复方法及装置
US20170322796A1 (en) Device and method for updating firmware and firmware update system
US20160124739A1 (en) Minimizing Image Copying During Partition Updates
CN112416406B (zh) 终端设备升级方法、装置、终端设备和介质
CN105049486A (zh) 静态文件的版本管理、文件拉取控制方法、装置及系统
US9690796B2 (en) Non-transitory computer-readable media storing file management program, file management apparatus, and file management method
CN111240722B (zh) 空中升级固件的方法及其所应用的终端、服务器及系统
US11379216B2 (en) Software update agent device and software patching method through the same
US11775288B2 (en) Method and apparatus for generating difference between old and new versions of data for updating software
JP2016519795A (ja) 記憶されたデータユニットに対する操作の管理
EP3680773B1 (en) System and method for updating a computing device
JP6632380B2 (ja) 記憶されたデータユニットに対する操作の管理
CN106990988A (zh) 一种程序更新的方法及装置
US20210349855A1 (en) Method of data structuring for difference between old and new data and device thereof
CN106775802B (zh) 海量小文件快速更新的方法及其系统
CN110673869B (zh) 库文件的加载方法、装置及系统
JP6641158B2 (ja) ファイルサイズチェック
US8078648B2 (en) Data structure for supporting a single access operation
CN115687375A (zh) 数据库更新方法、装置、计算机设备和存储介质
CN117997745A (zh) 车辆软件的远程升级方法、装置、计算机设备和存储介质
CN114691182A (zh) 文件传输方法、版本升级方法及装置
KR20160046594A (ko) 메모리의 패키지 정보 복구 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150209

R150 Certificate of patent or registration of utility model

Ref document number: 5696018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees