JP2010146257A - Information processor, program update method, and information processing system - Google Patents

Information processor, program update method, and information processing system Download PDF

Info

Publication number
JP2010146257A
JP2010146257A JP2008322220A JP2008322220A JP2010146257A JP 2010146257 A JP2010146257 A JP 2010146257A JP 2008322220 A JP2008322220 A JP 2008322220A JP 2008322220 A JP2008322220 A JP 2008322220A JP 2010146257 A JP2010146257 A JP 2010146257A
Authority
JP
Japan
Prior art keywords
update
divided data
program
data
update 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.)
Pending
Application number
JP2008322220A
Other languages
Japanese (ja)
Inventor
Kanari Ashiba
可也 足羽
Shigehiko Komoritani
成彦 籠谷
Hironobu Sugimoto
浩伸 杉本
Tomonori Kodan
友紀 小段
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.)
Denso Ten Ltd
Toyota Motor Corp
Original Assignee
Denso Ten Ltd
Toyota Motor 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 Denso Ten Ltd, Toyota Motor Corp filed Critical Denso Ten Ltd
Priority to JP2008322220A priority Critical patent/JP2010146257A/en
Priority to PCT/JP2009/070239 priority patent/WO2010071020A1/en
Publication of JP2010146257A publication Critical patent/JP2010146257A/en
Pending legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To resume, even when update of a program in an information processor is interrupted, the update of the program from the vicinity of the position where the program is interrupted. <P>SOLUTION: The information processor which records a management flag 32 for managing the states of N pieces of division data 0 to N-1 configuring an update object program 31 in a nonvolatile storage device 13, designates update object division data by referring to the management flag 32, and updates the update object division data by using data 35 for update, when the update of the update object program 31 is interrupted, specifies division data which have not been updated when the update of the update object program 31 is interrupted by referring to the management flag 32 when the update is resumed, and designates the specified division data as the update object division data. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、プログラムの更新方法に関する。   The present invention relates to a program update method.

従来、差分を用いてデータの更新を行うための技術として、例えば、差分展開における旧ファイルの参照状況および新ファイルの更新状況を不揮発メモリに蓄積し、どこまで差分展開が実行されたのかを逐次把握しておくことで、中断時点からの再開を可能とする技術がある(特許文献1を参照)。   Conventionally, as a technique for updating data using differences, for example, the reference status of old files and the update status of new files in differential deployment are stored in nonvolatile memory, and the extent to which differential deployment has been executed is sequentially grasped By doing so, there is a technology that enables resumption from the point of interruption (see Patent Document 1).

また、データの退避を行う技術として、システムメモリに設けた分割領域の容量が不均一な場合にも、システムメモリから不揮発メモリへ退避すべき未退避のデータ量を、電源オフ時に退避可能なデータ量以下に常に抑制するための技術(特許文献2を参照)、および、携帯端末の表示画面を複数に分割して夫々の分割エリアにアプリケーションを割り当て、ある分割エリアからフォーカスが移動した場合に、その分割エリアで表示されていた最終画面を保存し、その分割エリアに割り当てられていたアプリケーションの実行を中断してデータを退避する技術がある(特許文献3を参照)。
特開2003−337723号公報 特開2008−97169号公報 特開2008−117181号公報 特開2002−318632号公報
In addition, as a technology for saving data, even if the capacity of the divided area provided in the system memory is uneven, the amount of unsaved data that should be saved from the system memory to the nonvolatile memory can be saved at power-off. When a technique for constantly suppressing the amount below the amount (see Patent Document 2) and dividing the display screen of the mobile terminal into a plurality of divided areas and assigning an application to each divided area, the focus moves from a certain divided area. There is a technique of saving the last screen displayed in the divided area, and saving the data by interrupting the execution of the application assigned to the divided area (see Patent Document 3).
JP 2003-337723 A JP 2008-97169 A JP 2008-117181 A JP 2002-318632 A

一般に、情報処理装置では、プログラムを最新の状態に保つために、プログラムの更新が行われる。また、プログラム更新の利便性を向上させるために、プログラムの更新情報を情報処理装置に随時通知し、更新プログラムがある場合には情報処理装置が自動でプログラムを更新する技術がある。しかし、このようなプログラム更新処理では、情報処理装置の電源断等によって、プログラム更新処理が中断されてしまう場合がある。特に、自動的なプログラム更新は、ユーザにとって更新処理の開始のタイミングが予測困難であるため、更新途中での更新処理中止が発生し易い。特に、電源断等によって突然更新が中断された場合、中断位置を把握することは困難であるため、次回起動時には再度最初からプログラムの更新を行う必要がある。   Generally, in an information processing apparatus, a program is updated in order to keep the program in the latest state. In addition, in order to improve the convenience of program update, there is a technique in which update information of a program is notified to an information processing apparatus as needed, and when there is an update program, the information processing apparatus automatically updates the program. However, in such a program update process, the program update process may be interrupted due to power-off of the information processing apparatus. In particular, since it is difficult for the user to predict the start timing of the update process in the automatic program update, the update process is likely to be stopped during the update. In particular, when the update is suddenly interrupted due to a power interruption or the like, it is difficult to grasp the interrupt position, so it is necessary to update the program from the beginning again at the next startup.

特に、HDD(Hard Disk Drive)等を搭載していない機器のプログラム更新においては、更新プログラムを一旦不揮発性記憶装置にダウンロードして保存しておくことが出来ないため、電源断等によって更新プログラムが消えてしまい、再度データのダウンロードからやり直しを行う必要がある。このような状態は、時間が掛かることに加え、通信コストの面からも不利なものであった。   In particular, in a program update of a device not equipped with an HDD (Hard Disk Drive) or the like, the update program cannot be downloaded once to a nonvolatile storage device and stored. It disappears and you need to start over from downloading the data again. Such a state is disadvantageous in terms of communication cost as well as time.

本発明は、上記した問題に鑑み、情報処理装置におけるプログラムの更新が中断された場合にも、中断された位置の近傍からの更新再開を可能とすることを課題とする。   In view of the above problems, an object of the present invention is to enable resuming of the update from the vicinity of the interrupted position even when the update of the program in the information processing apparatus is interrupted.

本発明は、上記した課題を解決するために、更新対象のプログラムを複数の分割データに分割して、これらの分割データの更新状況を管理しながら、分割データ毎に更新を行い、更新再開の際に管理のための情報を参照することで、情報処理装置におけるプログラムの更新が中断された場合にも、中断された位置の近傍からの更新再開を可能にした。   In order to solve the above-described problem, the present invention divides a program to be updated into a plurality of pieces of divided data, updates each piece of divided data while managing the update status of these pieces of divided data, and resumes updating. By referring to the information for management at the time, even when the update of the program in the information processing apparatus is interrupted, the update can be restarted from the vicinity of the interrupted position.

詳細には、本発明は、更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段と、前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段と、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段と、前記更新用データを用いて前記更新対象分割データを更新する更新手段と、を備え、前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、情報処理装置である。   Specifically, the present invention refers to information recording means for recording, in a nonvolatile storage device, divided data management information for managing the states of a plurality of divided data constituting the update target program, and the divided data management information. Then, update target divided data specifying means for specifying update target divided data to be updated from among the plurality of divided data, and update data acquisition for acquiring update data for updating the update target split data And update means for updating the update target divided data using the update data, the update target divided data specifying means, when updating of the update target program is interrupted, By referring to the divided data management information, the divided data that has not been updated at the time of the update interruption is identified, and the identified divided data is referred to as the update target divided data. Specify Te, an information processing apparatus.

ここで、更新対象プログラムとは、情報処理装置にインストールされているプログラムのうち、新たな更新プログラムによる置き換えの対象となるプログラムである。また、本発明において、更新対象プログラムは、複数の分割データからなり、例えば、分割データは、前記更新対象プログラムを所定のデータサイズ毎に区切ることで分割されたデータであってもよい。分割データを、更新対象プログラムを所定のサイズで区切って分割したデータとすることで、分割データを退避したり更新用データを一時的に保存したりする領域の確保が容易となり、また、後述する差分を抽出したり、差分に基づいて更新用データを生成したりする処理が容易になる。但し、分割データは、決まったデータサイズ毎に区切られず、夫々が異なるデータサイズを有してもよい。また、分割データは、更新対象プログラムが記録されている記憶装置におけるアドレスやセクタに基づいて区切られたデータであってもよいし、予め更新対象プログラムにおいて設定された独自の単位で区切られたデータであってもよい。   Here, the update target program is a program to be replaced by a new update program among the programs installed in the information processing apparatus. In the present invention, the update target program includes a plurality of pieces of divided data. For example, the divided data may be data divided by dividing the update target program into predetermined data sizes. By making the divided data into data obtained by dividing the update target program by a predetermined size, it becomes easy to secure an area for saving the divided data or temporarily saving the update data. The process of extracting the difference and generating update data based on the difference is facilitated. However, the divided data may not have a predetermined data size and may have different data sizes. The divided data may be data delimited based on addresses or sectors in the storage device in which the update target program is recorded, or data delimited in a unique unit set in advance in the update target program It may be.

分割データは、更新対象プログラムの更新処理に際して、分割データ管理情報を用いて管理される。分割データ管理情報は、複数の分割データの夫々の状態を管理するための情報であり、更新対象プログラム更新処理の進行に従って更新され、更新対象分割データを指定する際に参照される。   The divided data is managed using the divided data management information when the update target program is updated. The divided data management information is information for managing the state of each of the plurality of divided data, updated as the update target program update process proceeds, and referred to when designating the update target divided data.

本発明は、分割データ管理情報を、更新対象プログラム更新処理の進行に従って不揮発性記憶装置に記録することで、更新対象プログラムの更新処理が電源断等の理由により中断した場合にも、更新処理の再開時に、前回中断した分割データから更新を再開することが出来る。特に、本発明では、更新に用いられる更新プログラムに比べてデータサイズの小さい分割データ管理情報が不揮発性記憶装置に記録されるため、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えないような情報処理装置においても、更新プログラムの先頭からダウンロードする必要なく、中断位置の近傍から更新用データの取得および更新を再開することが出来る。また、中断位置の近傍から更新用データの取得が再開されるため、ネットワーク越しにデータを取得するような場合にも、通信コストの面で従来の技術に比べて有利である。   The present invention records the divided data management information in the nonvolatile storage device according to the progress of the update target program update process, so that even when the update process of the update target program is interrupted due to a power failure or the like, When resuming, updating can be resumed from the previously interrupted divided data. In particular, in the present invention, since the divided data management information having a smaller data size than the update program used for the update is recorded in the nonvolatile storage device, a nonvolatile storage device having a capacity sufficient to hold the update program is provided. Even in an information processing apparatus that is not provided, it is possible to resume acquisition and update of update data from the vicinity of the interruption position without having to download from the beginning of the update program. In addition, since acquisition of update data is resumed from the vicinity of the interruption position, even when data is acquired over a network, it is advantageous in terms of communication cost compared to the conventional technology.

また、本発明に係る情報処理装置は、前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得手段を更に備え、前記更新用データ取得手段は、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データを生成することで、前記更新用データを生成してもよい。取得された差分を用いて更新用データを生成することで、外部から取得するデータ量を抑制し、更新処理に要するリソースや時間、コスト等を抑制することが出来る。   The information processing apparatus according to the present invention further includes a difference acquisition unit that acquires a difference between the update target program and an update program that replaces the update target program, and the update data acquisition unit includes the current update target. The update data may be generated by reflecting the portion corresponding to the update target divided data in the difference in the divided data to generate the update data. By generating update data using the acquired difference, it is possible to suppress the amount of data acquired from the outside, and to suppress resources, time, cost, and the like required for the update process.

また、本発明に係る情報処理装置は、前記更新手段による更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避手段を更に備えてもよい。分割データ退
避手段を備えることで、更新対象分割データを更新するために消去したタイミングや、更新対象分割データを更新用データで上書きしているタイミングで、電源断等による更新中断が発生した場合にも、退避されたデータを用いて、更新を再開することが可能となる。
The information processing apparatus according to the present invention may further include a divided data saving unit that saves the update target divided data to a predetermined saving area before the update by the updating unit. By providing the divided data saving means, when an update interruption due to a power interruption occurs at the timing when the update target divided data is deleted to update or the update target divided data is overwritten with the update data However, it is possible to restart the update using the saved data.

また、前記情報記録手段は、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避手段による退避が行われた状態、および前記更新手段による更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報を、前記分割データ管理情報として記録してもよい。   Further, the information recording means includes a state where each of the plurality of divided data is not updated, a state where the divided data saving means is saved, and a state where the updating by the updating means is completed. Information for determining which state is a plurality of states including at least three states may be recorded as the divided data management information.

この場合、更新対象分割データ指定手段は、これらの状態を示す情報を参照することで、更新対象プログラムが更新中であるか否か、および更新中である場合にはどこまで更新が進んでいるかを判断することが出来る。例えば、分割データが先頭から順次更新される場合には、更新対象分割データ指定手段は、退避状態を示す情報が設定されている分割データ、または未処理状態を示す情報が設定されている分割データのうちの先頭の分割データを、前回中断時に更新中であった分割データとして判断することが出来、また、更新対象分割データ指定手段は、この分割データを、更新再開の際の最初の更新対象分割データとして指定することが出来る。   In this case, the update target divided data specifying means refers to the information indicating these states to determine whether the update target program is being updated, and if so, how far the update has progressed. Can be judged. For example, when the divided data is sequentially updated from the top, the update target divided data specifying means sets the divided data in which the information indicating the saved state is set, or the divided data in which the information indicating the unprocessed state is set. The first divided data can be determined as the divided data that was being updated at the time of the previous interruption, and the update target divided data designation means determines that this divided data is the first update target when updating is resumed. Can be specified as divided data.

また、本発明は、複数の情報処理装置を備える情報処理システムとしても把握することが可能である。例えば、本発明は、更新プログラムを保持するマスタ装置と、前記更新プログラムを用いた更新の対象となる更新対象プログラムを保持するスレーブ装置であって、前記更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段、前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段、前記更新対象プログラムと、該更新対象プログラムを置き換える前記更新プログラムとの差分を取得する差分取得手段、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段、および前記更新用データを用いて前記更新対象分割データを更新する更新手段を備え、前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、スレーブ装置と、を備える情報処理システムである。   The present invention can also be understood as an information processing system including a plurality of information processing apparatuses. For example, the present invention is a master device that holds an update program and a slave device that holds an update target program that is an update target using the update program, and includes a plurality of pieces of divided data constituting the update target program. Information recording means for recording the divided data management information for managing the state in a nonvolatile storage device, and referring to the divided data management information, the update target divided data to be updated among the plurality of divided data Update target split data specifying means to be specified, difference acquisition means for acquiring a difference between the update target program and the update program replacing the update target program, and the update target split among the differences to the current update target split data By reflecting the portion corresponding to the data, the update data for updating the update target divided data is changed. Update data acquisition means to be obtained, and update means for updating the update target split data using the update data, wherein the update target split data specifying means is updated when the update of the update target program is interrupted. An information processing system comprising: a slave device that identifies the divided data that has not been updated when the update is interrupted by referring to the divided data management information at the time of restart, and that specifies the identified divided data as the divided data to be updated It is.

情報処理システムをこのような構成とすることによって、本発明では、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えないような情報処理装置をスレーブ装置とし、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えるような情報処理装置をマスタ装置とすることで、十分な容量の不揮発性記憶装置を備えないような情報処理装置においても、更新プログラムの先頭からダウンロードする必要なく、中断位置の近傍から更新用データの取得および更新を再開することを可能としている。   With this configuration of the information processing system, in the present invention, an information processing apparatus that does not include a nonvolatile storage device having a sufficient capacity to hold an update program is set as a slave device, and the update program is held. By using an information processing device with a sufficient capacity non-volatile storage device as a master device, even an information processing device that does not have a sufficient capacity non-volatile storage device can be downloaded from the beginning of the update program. This makes it possible to resume the acquisition and update of update data from the vicinity of the interruption position.

更に、本発明は、コンピュータが実行する方法、又はコンピュータを上記各手段として機能させるためのプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。   Furthermore, the present invention can also be grasped as a method executed by a computer or a program for causing a computer to function as each of the above means. Further, the present invention may be a program in which such a program is recorded on a recording medium readable by a computer, other devices, machines, or the like. Here, a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like. Say.

本発明によって、情報処理装置におけるプログラムの更新が中断された場合にも、中断
された位置の近傍からの更新再開が可能となる。
According to the present invention, even when the program update in the information processing apparatus is interrupted, the update can be restarted from the vicinity of the interrupted position.

本発明に係る情報処理装置、プログラム更新方法およびプログラムの実施の形態について、図面に基づいて説明する。   Embodiments of an information processing apparatus, a program update method, and a program according to the present invention will be described with reference to the drawings.

図1は、本実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。車載機1は、ユーザに対して情報を表示し、ユーザからの入力を受け付けるタッチパネルディスプレイ2、タッチパネルディスプレイ2からのユーザ入力に応じて、タッチパネルディスプレイ2に地図画像等を表示させることでナビゲーションを行うためのナビゲーション装置3、CD(Compact Disc)やラジオ放送波等のソースから音響信号を生成して車内に設置されたスピーカを介してユーザに音響を提供するオーディオ装置4、DVD(Digital Versatile Disc)から映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力するDVDデッキ5、受信されたデジタル放送波に基づく映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力することでユーザにデジタルテレビ放送を視聴させるDTV装置6、等の各情報処理装置を備え、これらの装置は互いに通信可能に接続されている。   FIG. 1 is a diagram illustrating an outline of an in-vehicle device according to the present embodiment and a system for updating a program of an information processing device included in the in-vehicle device. The in-vehicle device 1 displays information for the user and performs navigation by displaying a map image or the like on the touch panel display 2 in response to the user input from the touch panel display 2 and the touch panel display 2 that receives input from the user. Navigation device 3, audio device 4 that generates sound signals from a source such as a CD (Compact Disc) or radio broadcast wave, and provides the sound to the user via a speaker installed in the vehicle, DVD (Digital Versatile Disc) A DVD deck 5 that generates a video signal and an audio signal from the touch panel display 2 and the speaker, and generates a video signal and an audio signal based on the received digital broadcast wave from the touch panel display 2 and the speaker. DTV device 6 to view digital TV broadcasts to users by force, with each information processing apparatus etc., these devices are communicatively connected to each other.

車載機1に備えられる各情報処理装置は、夫々が専用または汎用のプロセッサ、ROM、RAM(Random Access Memory)等を有し、ROMまたはRAMに展開されたプログラムをプロセッサが実行することで、夫々の情報処理装置が有する機能を、ユーザまたは接続された他の情報処理装置へ提供するコンピュータである。そして、本実施形態において、各情報処理装置による機能提供のために実行されるプログラムは、ネットワークを介して更新可能となっている。   Each information processing apparatus provided in the in-vehicle device 1 has a dedicated or general-purpose processor, ROM, RAM (Random Access Memory), etc., and the processor executes a program developed in the ROM or RAM, respectively. It is a computer which provides the function which this information processing apparatus has to a user or another connected information processing apparatus. In the present embodiment, a program executed for providing a function by each information processing apparatus can be updated via a network.

プログラムの更新は、サーバ9に保存された更新プログラム91をネットワーク経由でダウンロードし、従前のプログラムを書き換える(通常、上書きされる)ことで行われる。ここで、本実施形態における車載機1には携帯電話端末7接続用のインターフェースが設けられており、車載機1は、このインターフェースを介して接続された携帯電話端末7を用いて、インターネット等のネットワーク越しにサーバ9に接続して更新プログラム91をダウンロードする。なお、車載機1に設けられる携帯電話端末7接続用のインターフェースは、USB(Universal Serial Bus)等の有線インターフェースであってもよいし、Bluetooth等の無線インターフェースであってもよい。   The program is updated by downloading the update program 91 stored in the server 9 via the network and rewriting the previous program (usually overwritten). Here, the in-vehicle device 1 in the present embodiment is provided with an interface for connection to the mobile phone terminal 7, and the in-vehicle device 1 uses the mobile phone terminal 7 connected through this interface to The update program 91 is downloaded by connecting to the server 9 via the network. The mobile phone terminal 7 connection interface provided in the in-vehicle device 1 may be a wired interface such as USB (Universal Serial Bus) or a wireless interface such as Bluetooth.

以下、車載機1に備えられた情報処理装置のうち、HDDを有さないタッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5およびDTV装置6のプログラム更新処理について説明する。本実施形態では、HDD搭載機器であるナビゲーション装置3が更新処理におけるマスタとして動作し、HDD非搭載機器であるタッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5およびDTV装置6は、夫々スレーブとして動作する。但し、マスタであるナビゲーション装置3についても、他の情報処理装置と同様、管理フラグ32によって管理される分割データを順次更新する、以下に説明する更新処理の流れと概略同様の更新処理を行うことが可能である。   Hereinafter, program update processing of the touch panel display 2, the audio device 4, the DVD deck 5, and the DTV device 6 that do not have an HDD among the information processing devices provided in the in-vehicle device 1 will be described. In the present embodiment, the navigation device 3 that is an HDD-mounted device operates as a master in the update process, and the touch panel display 2, the audio device 4, the DVD deck 5, and the DTV device 6 that are non-HDD mounted devices each operate as a slave. . However, the navigation device 3 that is the master also performs update processing similar to the flow of update processing described below, which sequentially updates the divided data managed by the management flag 32, as with other information processing devices. Is possible.

図2は、本実施形態に係る更新処理においてマスタとして動作するナビゲーション装置3並びにスレーブとして動作する情報処理装置(例えば、DVDデッキ5)の構成の概略、および更新対象プログラム31並びに管理フラグ32のデータ構成の概略を示す図である。はじめに、車載機に備えられた各装置のうち、HDDが搭載されているナビゲーション装置3は、ネットワーク経由で、サーバ9に未適用の更新プログラム91があるか否かを確認し、あればこの更新プログラム91をダウンロードしてHDDに保存する。ダウン
ロードされる更新プログラム91には、ナビゲーション装置3自身に適用される更新プログラム91の他、車載機に接続されたナビゲーション装置以外の装置、即ち、タッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5、DTV装置6等のスレーブへ適用される更新プログラム91も含まれる。
FIG. 2 shows an outline of the configuration of the navigation device 3 that operates as a master and the information processing device (for example, the DVD deck 5) that operates as a slave in the update processing according to the present embodiment, and the data of the update target program 31 and the management flag 32. It is a figure which shows the outline of a structure. First, among the devices provided in the in-vehicle device, the navigation device 3 in which the HDD is mounted checks whether there is an unapplied update program 91 in the server 9 via the network, and if there is, this update. Download the program 91 and save it in the HDD. In addition to the update program 91 applied to the navigation device 3 itself, the downloaded update program 91 includes devices other than the navigation device connected to the vehicle-mounted device, that is, the touch panel display 2, the audio device 4, the DVD deck 5, and the DTV. An update program 91 applied to slaves such as the device 6 is also included.

ここで、本実施形態において、車載機に備えられたナビゲーション装置3以外の装置は、HDDを備えないため、更新プログラム91の全体を自装置に保存してから更新処理を行うことが出来ない。このため、本実施形態では、HDD搭載機器であるナビゲーション装置3がマスタとして動作し、DVDデッキ5等のHDD非搭載機器はスレーブとして動作することで、マスタに保存された更新プログラム91とスレーブにインストールされている更新対象プログラム31との差分のみをスレーブにダウンロードすることとしている。   Here, in the present embodiment, devices other than the navigation device 3 provided in the in-vehicle device do not include the HDD, and therefore the update process cannot be performed after the entire update program 91 is stored in the own device. For this reason, in this embodiment, the navigation device 3 that is an HDD-equipped device operates as a master, and the non-HDD-equipped device such as the DVD deck 5 operates as a slave, so that the update program 91 stored in the master and the slave Only the difference from the installed update target program 31 is downloaded to the slave.

このようにすることで、HDD等大容量の不揮発性記憶装置を備えない装置においても、プログラムの更新を行うことが出来る。なお、本実施形態では、DVDデッキ5等のスレーブ装置がネットワークへの接続機能を有さないため、更新プログラム91を一旦マスタであるナビゲーション装置へダウンロードして、ここから更新対象プログラム31と更新プログラム91との差分データ33を取得することとしているが、実施の形態によっては、更新対象プログラム31がインストールされた装置が直接サーバ9に接続することで更新プログラム91や差分データ33を取得することとしてもよい。例えば、本実施形態におけるナビゲーション装置5は、携帯電話端末7を制御してネットワークに接続する機能を有するため、スレーブとして動作することなく直接サーバ9に接続して自装置用の更新プログラム91または差分データ33を取得することが出来る。   In this way, the program can be updated even in a device that does not include a large-capacity nonvolatile storage device such as an HDD. In the present embodiment, since the slave device such as the DVD deck 5 does not have a network connection function, the update program 91 is once downloaded to the navigation device as a master, and the update target program 31 and the update program are downloaded from here. However, in some embodiments, the update program 91 and the difference data 33 are acquired by directly connecting the device on which the update target program 31 is installed to the server 9. Also good. For example, since the navigation device 5 in this embodiment has a function of controlling the mobile phone terminal 7 and connecting to the network, the navigation device 5 directly connects to the server 9 without operating as a slave, and the update program 91 for the own device or the difference Data 33 can be acquired.

スレーブである情報処理装置は、CPU(Central Processing Unit)11、RAM12およびEEPROM(Electrically Erasable and Programmable Read Only Memory)13を備えるコンピュータである。スレーブのEEPROM13には、スレーブが自装置の各種機能(例えば、スレーブがDVDデッキ5である場合には、DVDの再生機能)を提供するためのプログラムであって、本実施形態における更新処理による更新の対象となる更新対象プログラム31と、更新対象プログラム31の更新状況を管理するための管理フラグ32(本発明の分割データ管理情報に相当)と、マスタからダウンロードされた差分データ33と、更新対象プログラム31に含まれる分割データの退避データ34と、が記録される。また、スレーブのRAM12には、更新対象プログラム31に含まれる分割データを置換するための更新用データ35が保持される。   The slave information processing apparatus is a computer including a CPU (Central Processing Unit) 11, a RAM 12, and an EEPROM (Electrically Erasable and Programmable Read Only Memory) 13. The slave EEPROM 13 is a program for the slave to provide various functions of the device itself (for example, a DVD playback function when the slave is the DVD deck 5), and is updated by the update processing in this embodiment. Update target program 31, a management flag 32 (corresponding to the divided data management information of the present invention) for managing the update status of the update target program 31, the difference data 33 downloaded from the master, and the update target Divided data save data 34 included in the program 31 is recorded. The slave RAM 12 holds update data 35 for replacing the divided data included in the update target program 31.

本実施形態において、更新対象プログラム31は、所定のデータサイズ毎に分割されることで、先頭から0からN−1のインデックスが付されたN個の分割データに区分けされている。これらの分割データは、後述する更新処理における更新単位である。また、管理フラグ32は、これら複数の分割データの夫々について、分割データの状態を示すフラグである。管理フラグ32は、分割データと同数(N個)用意され、対応する分割データと同一のインデックス(0〜N−1)が付される。本実施形態では、更新対象プログラム31を、分割データ単位で更新し、更新の進捗を、管理フラグ32を用いて管理することで、中断された更新処理を適切な位置から再開することを可能としている。   In this embodiment, the update target program 31 is divided into N pieces of divided data with indexes 0 to N−1 from the top by being divided for each predetermined data size. These divided data are update units in an update process to be described later. The management flag 32 is a flag indicating the state of the divided data for each of the plurality of divided data. The same number (N) of management flags 32 as the divided data are prepared, and the same index (0 to N-1) as the corresponding divided data is attached. In the present embodiment, the update target program 31 is updated in units of divided data, and the progress of the update is managed using the management flag 32, so that the interrupted update process can be restarted from an appropriate position. Yes.

図3は、本実施形態においてスレーブとして機能する情報処理装置の機能構成を示す図である。本実施形態に係るスレーブは、ROMまたはRAM12に展開されたプログラムをプロセッサが実行することで、更新対象プログラム31を構成する複数の分割データの状態を管理するための管理フラグ32をEEPROM13に記録する情報記録部22と、管理フラグ32を参照して、更新の対象となる更新対象分割データを指定する更新対象分
割データ指定部23と、更新対象分割データの更新前に、更新対象分割データを退避領域へ退避する分割データ退避部24と、更新対象プログラム31と更新プログラム91との差分データ33を取得する差分取得部25と、現在の更新対象分割データに差分データ33を反映することで、更新対象分割データを更新するための更新用データ35を生成する更新用データ取得部26と、更新用データ35を用いて更新対象分割データを更新する更新部27と、を備える情報処理装置として機能する。
FIG. 3 is a diagram illustrating a functional configuration of the information processing apparatus that functions as a slave in the present embodiment. The slave according to the present embodiment records a management flag 32 for managing the states of a plurality of divided data constituting the update target program 31 in the EEPROM 13 by the processor executing the program expanded in the ROM or RAM 12. Referring to the information recording unit 22 and the management flag 32, the update target divided data specifying unit 23 for specifying the update target divided data to be updated, and the update target divided data are saved before the update target divided data is updated. Update by reflecting the difference data 33 in the divided data saving unit 24 that saves to the area, the difference acquisition unit 25 that acquires the difference data 33 between the update target program 31 and the update program 91, and the current update target divided data An update data acquisition unit 26 that generates update data 35 for updating the target divided data, and an update data An updating unit 27 for updating the update target data segment with data 35, which functions as an information processing apparatus including a.

なお、本実施形態において、情報記録部22は、管理フラグ0〜N−1に、対応する分割データの更新が行われていない状態を示す「未処理」フラグ、対応する分割データが分割データ退避部24によって退避された状態を示す「退避済」フラグ、および対応する分割データの更新部27による更新が完了した状態を示す「更新済」フラグ、の何れかを設定する。   In the present embodiment, the information recording unit 22 sets the management flags 0 to N−1 to “unprocessed” flags indicating that the corresponding divided data has not been updated, and saves the corresponding divided data to the divided data. One of a “saved” flag indicating a state saved by the unit 24 and an “updated” flag indicating a state where the update of the corresponding divided data by the updating unit 27 is completed is set.

図4および図5は、本実施形態に係る情報処理装置の更新処理の流れを示すフローチャートである。本フローチャートに示された処理は、現在情報処理装置にインストールされているプログラムが最新のプログラムでなく、サーバ9に更新プログラム91があることがナビゲーション装置3によって検知され、更にマスタとして動作するナビゲーション装置3によって、スレーブ用の更新プログラム91がダウンロードされた場合に開始される。より具体的には、マスタは、スレーブとしての情報処理装置から収集した、情報処理装置上のプログラム(更新対照プログラム31)のバージョン情報と、サーバ9にアップロードされた更新プログラム91のバージョン情報とを比較することで、サーバ9にダウンロードすべき更新プログラム91があるか否かを判断し、バージョン情報が情報処理装置上のプログラムに比べて新しい更新プログラム91がある場合には、この更新プログラム91をダウンロードする。   4 and 5 are flowcharts showing the flow of update processing of the information processing apparatus according to the present embodiment. In the processing shown in this flowchart, the navigation apparatus 3 detects that the program currently installed in the information processing apparatus is not the latest program and the server 9 has the update program 91, and further operates as a master. 3 is started when the slave update program 91 is downloaded. More specifically, the master acquires the version information of the program (update control program 31) on the information processing apparatus and the version information of the update program 91 uploaded to the server 9 collected from the information processing apparatus as the slave. By comparing, it is determined whether or not there is an update program 91 to be downloaded to the server 9. If the version information is newer than the program on the information processing apparatus, the update program 91 is to download.

なお、本実施形態では、上述の通りスレーブ装置がネットワークへの接続機能を有さないため、バージョン情報の比較および更新プログラム91のダウンロードはマスタであるナビゲーション装置が行っているが、実施の形態によっては、更新対象プログラム31がインストールされた装置が直接サーバ9に接続することでバージョン情報の比較および差分データ33の取得を行うこととしてもよい。なお、本フローチャートに示された処理の順序は一例であり、本発明の範囲を逸脱しない範囲で、実施の形態に応じて適宜処理順序を変更することも可能である。   In this embodiment, since the slave device does not have a network connection function as described above, the version information comparison and the update program 91 are downloaded by the master navigation device. May compare the version information and acquire the difference data 33 by directly connecting the apparatus in which the update target program 31 is installed to the server 9. Note that the processing order shown in the flowchart is an example, and the processing order can be appropriately changed according to the embodiment without departing from the scope of the present invention.

ステップS101では、マスタからのプログラム更新要求が受信される。この時点で、更新処理におけるマスタであるナビゲーション装置3は、サーバ9にスレーブ用の更新プログラム91があることを検知し、この更新プログラム91をダウンロードしてナビゲーション装置3のHDD(図示は省略する)に保存している。また、マスタに対して複数の情報処理装置がスレーブとして接続されている場合、マスタは、スレーブとして動作する情報処理装置に対してプログラム更新要求を送信する前に、ダウンロードされた更新プログラム91が何れのスレーブ用の更新プログラム91であるかを判断する必要がある。なお、本実施形態では、更新プログラム91とともに、更新対象機器の一覧表をダウンロードすることで、ダウンロードした更新プログラム91が、何れの情報処理装置のための更新プログラム91であるかを判断することが出来る。より具体的には、マスタは、マスタが予め保持しているスレーブユニット管理テーブルの型番と、更新対象機器の一覧表(型番の一覧表)とを照合することで、ダウンロードされたプログラムが、何れの情報処理装置のための更新プログラム91であるかを判断する。スレーブとして動作する情報処理装置は、更新プログラム91をHDDに保存したナビゲーション装置3から送信されたプログラム更新要求を受信し、以降のプログラム更新処理を開始する。その後、処理はステップS102へ進む。   In step S101, a program update request from the master is received. At this point, the navigation device 3 that is the master in the update process detects that the server 9 has the slave update program 91, downloads this update program 91, and the HDD of the navigation device 3 (not shown). To save. In addition, when a plurality of information processing apparatuses are connected as slaves to the master, before the master transmits a program update request to the information processing apparatus operating as a slave, It is necessary to determine whether the update program 91 is for the slave. In the present embodiment, it is possible to determine which information processing apparatus is the updated update program 91 by downloading a list of update target devices together with the update program 91. I can do it. More specifically, the master collates the model number of the slave unit management table held in advance by the master with the list of devices to be updated (list of model numbers), so that the downloaded program It is determined whether the update program 91 is for the information processing apparatus. The information processing apparatus operating as a slave receives the program update request transmitted from the navigation apparatus 3 that stores the update program 91 in the HDD, and starts the subsequent program update process. Thereafter, the process proceeds to step S102.

ステップS102では、プログラム更新処理が中断されているか否かが判定される。更新対象分割データ指定部23は、全ての管理フラグを参照することで、プログラム更新処理が中断されているか否かを判定する。より具体的には、全ての管理フラグに「更新済」または「未処理」が設定されている場合、これはプログラム更新処理が開始されていないか、正常に完了したことを示しているため、更新対象分割データ指定部23は、プログラム更新処理の中断はないと判定する。プログラム更新処理の中断がないと判定された場合、処理はステップS103へ進む。   In step S102, it is determined whether the program update process is interrupted. The update target divided data specifying unit 23 determines whether or not the program update process is interrupted by referring to all the management flags. More specifically, when “updated” or “unprocessed” is set in all the management flags, this indicates that the program update processing has not been started or has been completed normally. The update target divided data specifying unit 23 determines that the program update process is not interrupted. If it is determined that there is no interruption in the program update process, the process proceeds to step S103.

これに対して、何れかの管理フラグに「退避済」が設定されている場合、これはプログラム更新処理において、後述する退避処理が完了してから退避された分割データの更新が完了するまでの間(後述するステップS115からS118の間)に、電源断等の原因によってプログラム更新処理が中断されたことを示している。このため、更新対象分割データ指定部23は、プログラム更新処理が中断されていると判定する。また、「退避済」が設定されている管理フラグはないが、「更新済」フラグと「未処理」フラグが混在している場合、これはプログラム更新処理において、全ての分割データについて更新が完了していない状態で、電源断等の原因によってプログラム更新処理が中断されたことを示している。このため、更新対象分割データ指定部23は、プログラム更新処理が中断されていると判定する。プログラム更新処理が中断されていると判断された場合、処理はステップS107へ進む。   On the other hand, if any of the management flags is set to “saved”, this means that in the program update process, after the save process described later is completed, the update of the saved divided data is completed. This indicates that the program update process is interrupted during the period (between steps S115 and S118 described later) due to a power failure or the like. For this reason, the update target divided data specifying unit 23 determines that the program update process is interrupted. Also, there is no management flag that is set to “Saved”, but if the “Updated” flag and the “Unprocessed” flag are mixed, this means that the update is completed for all the divided data in the program update process. In this state, the program update process is interrupted due to a power failure or the like. For this reason, the update target divided data specifying unit 23 determines that the program update process is interrupted. If it is determined that the program update process is interrupted, the process proceeds to step S107.

ステップS103からステップS106では、更新対象プログラム31の全体、即ち分割データ0から分割データN−1までの分割データを順次更新するための初期化処理が行われる。より詳細には、ステップS102でプログラム更新処理の中断がないと判定された場合、はじめに、情報記録部22は、全ての管理フラグを「未処理」に設定することで、管理フラグを初期化する(ステップS103)。これは、この後の処理において管理フラグを順次「退避済」または「更新済」へ変更することで、更新処理の進行度合いを把握可能とするためである。   In steps S103 to S106, initialization processing for sequentially updating the entire update target program 31, that is, divided data from divided data 0 to divided data N-1, is performed. More specifically, when it is determined in step S102 that there is no interruption in the program update process, first, the information recording unit 22 initializes the management flag by setting all the management flags to “unprocessed”. (Step S103). This is because the progress of the update process can be grasped by sequentially changing the management flag to “saved” or “updated” in the subsequent process.

そして、差分取得部25は、差分データ33を消去し(ステップS104)、マスタであるナビゲーション装置3から、更新対象プログラム31と更新プログラム91との差分データ33をダウンロードする(ステップS105)。即ち、本実施形態では、更新プログラム91の全体ではなく、差分データ33のみをダウンロードするため、DVDデッキ5のような更新対象プログラム31がインストールされた装置が、大きな容量の記憶装置を有する必要がない。なお、差分データは、更新対象プログラムと更新プログラムとの実行ファイルを機械語で比較して差分を抽出することで得られる。より具体的には、マスタは、情報処理装置上の更新対象プログラム31と、この更新対象プログラム31に比べてバージョン情報が新しい更新プログラム91とを、対象となっている分割データごとに比較して、差分を抽出する。   And the difference acquisition part 25 erase | eliminates the difference data 33 (step S104), and downloads the difference data 33 of the update object program 31 and the update program 91 from the navigation apparatus 3 which is a master (step S105). That is, in this embodiment, since only the difference data 33 is downloaded instead of the entire update program 91, the device in which the update target program 31 such as the DVD deck 5 is installed needs to have a large capacity storage device. Absent. The difference data is obtained by comparing the execution files of the update target program and the update program in machine language and extracting the difference. More specifically, the master compares the update target program 31 on the information processing apparatus and the update program 91 whose version information is newer than the update target program 31 for each target divided data. Extract the difference.

更に、更新対象分割データ指定部23は、更新対象分割データを管理するための変数であるインデックスiに、0を設定する(ステップS106)。インデックスiは、分割データiを現在の更新対象分割データとして示すためのインデックスであり、本実施形態では、分割データ0から順次更新が行われるため、iには0が設定される。その後、処理はステップS108へ進む。   Further, the update target divided data designating unit 23 sets 0 to an index i that is a variable for managing the update target divided data (step S106). The index i is an index for indicating the divided data i as the current update target divided data. In this embodiment, since the update is sequentially performed from the divided data 0, 0 is set in i. Thereafter, the process proceeds to step S108.

ステップS107では、中断された更新処理の再開における最初の更新対象分割データが設定される。即ち、ステップS102でプログラム更新処理が中断されていると判定された場合、更新対象分割データ指定部23は、「退避済」が設定されている分割データがある場合には、その分割データの番号を、「退避済」が設定されている分割データがない場合には、「未処理」が設定されている分割データのうち最も上位の分割データの番号を
、インデックスiに設定することで、更新対象分割データを決定する。その後、処理はステップS108へ進む。
In step S107, the first update target divided data in the resumption of the interrupted update process is set. That is, when it is determined in step S102 that the program update process is interrupted, the update target divided data specifying unit 23 determines the number of the divided data when there is divided data for which “saved” is set. Is updated by setting the number of the highest-order divided data among the divided data for which “unprocessed” is set to the index i. Determine the target split data. Thereafter, the process proceeds to step S108.

ステップS108およびステップS120では、プログラム更新処理が終了したか否かが判定され、終了したと判定された場合には、マスタへの完了通知が行われる。更新対象分割データ指定部23は、インデックスiと、更新対象プログラム31に含まれる分割データの数とを比較することで、全ての分割データについて更新が完了したか否かを判定する(ステップS108)。即ち、本実施形態ではN個の分割データが存在するため、1ずつ加算されることで分割データを先頭から順に更新対象分割データを指定するインデックスiがNより小さい間は、更新処理が完了していないことを示し、インデックスiがN以上となった場合には、更新処理が完了したことを示す。インデックスiがN以上である場合、スレーブである情報処理装置は、マスタであるナビゲーション装置3へ、プログラムの更新処理が完了したことを通知し(ステップS120)、本フローチャートに示された処理は終了する。インデックスiがNより小である場合、処理はステップS109へ進む。   In step S108 and step S120, it is determined whether or not the program update process has ended. If it is determined that the program update process has ended, a completion notification is sent to the master. The update target divided data designating unit 23 compares the index i with the number of pieces of divided data included in the update target program 31 to determine whether or not the update has been completed for all the divided data (step S108). . In other words, since there are N pieces of divided data in the present embodiment, the update process is completed while the index i for specifying the divided data to be updated in order from the top is smaller than N by adding one by one. If the index i is greater than or equal to N, it indicates that the update process has been completed. If the index i is greater than or equal to N, the slave information processing apparatus notifies the navigation apparatus 3 that is the master that the program update process has been completed (step S120), and the process illustrated in this flowchart ends. To do. If the index i is smaller than N, the process proceeds to step S109.

ステップS109では、更新対象分割データに対応する差分データ33の有無が判定される。更新用データ取得部26は、マスタからダウンロードされた差分データ33を参照し、更新対象分割データ、即ち分割データiの更新に用いられる差分データ33があるか否かを判定する。対応する差分データ33が無い場合、分割データiの更新は不要であるため、処理はステップS118へ進む。対応する差分データ33が有る場合、処理はステップS110へ進む。   In step S109, it is determined whether or not there is difference data 33 corresponding to the update target divided data. The update data acquisition unit 26 refers to the difference data 33 downloaded from the master and determines whether or not there is difference data 33 used for updating the update target divided data, that is, the divided data i. If there is no corresponding difference data 33, it is not necessary to update the divided data i, so the process proceeds to step S118. If there is corresponding difference data 33, the process proceeds to step S110.

ステップS110からステップS112では、更新対象分割データに対応する管理フラグが、「退避済」であるか否かが判定され、判定の結果に従って、分割データiまたは退避データ34に基づいて、更新用データ35が生成される。更新用データ取得部26は、更新対象分割データに対応する管理フラグ、即ち管理フラグiが、「退避済」に設定されているか否かを判定する(ステップS110)。管理フラグiが「退避済」に設定されている場合、更新対象である分割データiは後述するステップS116の処理において消去されているか、または更新途中で破損している可能性があるため、更新用データ取得部26は、退避データ34に差分データ33をマージすることで、分割データiを更新するための更新用データ35を生成し、RAM12に保存する(ステップS112)。ステップS112における処理の後、処理はステップS116へ進む。これに対して、管理フラグiが「退避済」に設定されていない場合、更新対象である分割データiは更新される前の状態であるため、更新用データ取得部26は、分割データiに差分データ33をマージすることで、更新用データ35を生成し、RAM12に保存する(ステップS111)。ステップS111における処理の後、処理はステップS113へ進む。   In step S110 to step S112, it is determined whether or not the management flag corresponding to the update target divided data is “saved”, and the update data is based on the divided data i or the saved data 34 according to the determination result. 35 is generated. The update data acquisition unit 26 determines whether or not the management flag corresponding to the update target divided data, that is, the management flag i is set to “saved” (step S110). When the management flag i is set to “saved”, the divided data i to be updated may have been deleted in the process of step S116 described later or may be damaged during the update. The data acquisition unit 26 merges the difference data 33 with the saved data 34 to generate update data 35 for updating the divided data i and stores it in the RAM 12 (step S112). After the process in step S112, the process proceeds to step S116. On the other hand, if the management flag i is not set to “saved”, the divided data i to be updated is in a state before being updated. The update data 35 is generated by merging the difference data 33 and stored in the RAM 12 (step S111). After the process in step S111, the process proceeds to step S113.

ステップS113からステップS115では、更新対象分割データの退避処理が行われる。分割データ退避部24は、EEPROM13の退避領域に記録された古い退避データ34を消去し(ステップS113)、分割データiを退避領域にコピーする(ステップS114)。そして、情報記録部22は、管理フラグiに、分割データiの退避が完了したことを示す「退避済」のフラグを、管理フラグiに設定する(ステップS115)。その後、処理はステップS116へ進む。   In step S113 to step S115, the update target divided data is saved. The divided data saving unit 24 erases the old saved data 34 recorded in the save area of the EEPROM 13 (step S113), and copies the divided data i to the save area (step S114). Then, the information recording unit 22 sets, in the management flag i, a “saved” flag indicating that the saving of the divided data i is completed in the management flag i (step S115). Thereafter, the process proceeds to step S116.

ステップS116およびステップS117では、更新対象分割データが更新される。更新部27は、EEPROM13に記録された分割データiを消去し(ステップS116)、消去された領域に、RAM12に用意された更新用データ35を書き込むことで、分割データiを更新する(ステップS117)。その後、処理はステップS118へ進む。   In step S116 and step S117, the update target divided data is updated. The updating unit 27 erases the divided data i recorded in the EEPROM 13 (step S116), and updates the divided data i by writing the update data 35 prepared in the RAM 12 in the erased area (step S117). ). Thereafter, the process proceeds to step S118.

ステップS118およびステップS119では、管理フラグiが「更新済」に設定され、インデックスiに1加算される。ステップS109において分割データiは更新不要であると判断された場合、および、ステップS110からステップS117の処理で分割データiの更新が完了した場合、情報記録部22は、分割データiに対応する管理フラグiを、「更新済」に設定する(ステップS118)。そして、更新対象分割データ指定部23は、インデックスiに1加算する(インデックスiをインクリメントする)ことで、更新済みとなった分割データの次の分割データを、新たな更新対象分割データとして指定する(ステップS119)。その後、処理はステップS108へ進む。   In steps S118 and S119, the management flag i is set to “updated”, and 1 is added to the index i. When it is determined in step S109 that the divided data i does not need to be updated, and when the update of the divided data i is completed in the processing from step S110 to step S117, the information recording unit 22 manages the management corresponding to the divided data i. The flag i is set to “updated” (step S118). Then, the update target divided data specifying unit 23 adds 1 to the index i (increments the index i) to specify the next divided data of the updated divided data as new update target divided data. (Step S119). Thereafter, the process proceeds to step S108.

即ち、ステップS108からステップS119に示された処理は、全ての分割データについて差分データ33の有無が確認され、更新が完了するか、または更新処理が電源断等の原因によって中断されるまで、繰り返される。全ての分割データについて更新が完了すると、スレーブである情報処理装置は、マスタであるナビゲーション装置3へ、プログラムの更新処理が完了したことを通知し(ステップS120)、本フローチャートに示された処理は終了する。   That is, the processes shown in steps S108 to S119 are repeated until the presence or absence of the difference data 33 is confirmed for all the divided data and the update is completed or the update process is interrupted due to a cause such as power interruption. It is. When the update is completed for all the divided data, the slave information processing device notifies the master navigation device 3 that the program update processing has been completed (step S120), and the processing shown in this flowchart is as follows. finish.

本実施形態によれば、情報処理装置におけるプログラムの更新が、突然の電源断等によって中断された場合にも、中断された位置の近傍から更新を再開することが可能となる。より具体的には、更新途中で電源断等によって中断された場合にも、図4および図5のフローチャートに示した処理によれば、何れかの管理フラグが「退避済」に設定されているか、または「更新済」の管理フラグと「未処理」の管理フラグとが同時に存在することで、中断時に更新途中であった分割データを把握し、ここから更新を再開することが出来る。また、分割データの消去または上書きの前には、分割データは退避され、「退避済」フラグによってこのことが示されるため、更新対象プログラム内の分割データが破損または消去されている場合にも、退避データ34を用いて更新を再開することが出来る。   According to the present embodiment, even when the program update in the information processing apparatus is interrupted due to a sudden power interruption or the like, the update can be restarted from the vicinity of the interrupted position. More specifically, even if it is interrupted due to a power interruption or the like during the update, according to the processing shown in the flowcharts of FIGS. 4 and 5, which management flag is set to “saved”? Alternatively, since the “updated” management flag and the “unprocessed” management flag exist at the same time, it is possible to grasp the divided data that was being updated at the time of interruption and restart the update from here. In addition, before erasing or overwriting the divided data, the divided data is saved, and this is indicated by the “saved” flag, so even if the divided data in the update target program is damaged or erased, Updating can be resumed using the save data 34.

なお、管理フラグが全て「更新済」となるか、または全て「未処理」となるのは、更新が開始されていない場合、または更新が全て完了した場合であるため、更新処理は先頭の分割データから開始されてよい(ステップS102を参照)。   The management flag is all “updated” or all “unprocessed” because the update has not started or the update has been completed. It may start with data (see step S102).

実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。It is a figure which shows the outline of the system which updates the program of the vehicle equipment which concerns on embodiment, and the information processing apparatus contained in this vehicle equipment. 実施形態におけるマスタ並びにスレーブの構成の概略、および更新対象プログラム並びに管理フラグのデータ構成の概略を示す図である。It is a figure which shows the outline of the structure of the master in the embodiment, and a slave, and the outline of the data structure of an update object program and a management flag. 実施形態においてスレーブとして機能する情報処理装置の機能構成を示す図である。It is a figure which shows the function structure of the information processing apparatus which functions as a slave in embodiment. 実施形態に係る情報処理装置の更新処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the update process of the information processing apparatus which concerns on embodiment. 実施形態に係る情報処理装置の更新処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the update process of the information processing apparatus which concerns on embodiment.

符号の説明Explanation of symbols

1 車載機
3 ナビゲーション装置
31 更新対象プログラム
32 管理フラグ
22 情報記録部
23 更新対象分割データ指定部
24 分割データ退避部
25 差分取得部
26 更新用データ取得部
27 更新部
91 更新プログラム
DESCRIPTION OF SYMBOLS 1 Vehicle equipment 3 Navigation apparatus 31 Update object program 32 Management flag 22 Information recording part 23 Update object division | segmentation data designation part 24 Divided data saving part 25 Difference acquisition part 26 Update data acquisition part 27 Update part 91 Update program

Claims (6)

更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段と、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段と、
前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段と、
前記更新用データを用いて前記更新対象分割データを更新する更新手段と、を備え、
前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、情報処理装置。
Information recording means for recording, in a nonvolatile storage device, divided data management information for managing the states of a plurality of divided data constituting the update target program;
Update target divided data specifying means for specifying update target divided data to be updated among the plurality of divided data with reference to the divided data management information;
Update data acquisition means for acquiring update data for updating the update target divided data;
Updating means for updating the update target divided data using the update data,
The update target divided data specifying means specifies and specifies the divided data that has not been updated at the time of the update interruption by referring to the divided data management information when the update is resumed when the update of the update target program is interrupted. An information processing apparatus that designates the divided data as the update target divided data.
前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得手段を更に備え、
前記更新用データ取得手段は、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データを生成する、
請求項1に記載の情報処理装置。
A difference acquisition unit that acquires a difference between the update target program and an update program that replaces the update target program;
The update data acquisition means generates the update data by reflecting a portion corresponding to the update target divided data in the difference in the current update target divided data.
The information processing apparatus according to claim 1.
前記更新手段による更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避手段を更に備える、
請求項1または2に記載の情報処理装置。
Before the update by the updating means, further comprising a divided data saving means for saving the update target divided data to a predetermined saving area;
The information processing apparatus according to claim 1 or 2.
前記情報記録手段は、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避手段による退避が行われた状態、および前記更新手段による更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報を、前記分割データ管理情報として記録する、
請求項3に記載の情報処理装置。
The information recording means includes three states: a state where each of the plurality of divided data is not updated, a state where the divided data saving means is saved, and a state where the updating by the updating means is completed. Information for determining which of a plurality of states including at least a state is recorded as the divided data management information,
The information processing apparatus according to claim 3.
コンピュータによって、
更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録ステップと、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定ステップと、
前記更新対象分割データを更新するための更新用データを取得する更新用データ取得ステップと、
前記更新用データを用いて前記更新対象分割データを更新する更新ステップと、が実行され、
前記更新対象分割データ指定ステップでは、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データが特定され、特定された分割データが前記更新対象分割データとして指定される、プログラム更新方法。
By computer
An information recording step of recording, in a nonvolatile storage device, divided data management information for managing a plurality of pieces of divided data constituting the update target program;
An update target divided data designation step for designating update target divided data to be updated among the plurality of divided data with reference to the divided data management information;
An update data acquisition step for acquiring update data for updating the update target divided data;
An update step of updating the update target divided data using the update data is performed,
In the update target divided data designation step, when the update of the update target program is interrupted, the divided data that has not been updated at the time of the update interruption is identified and identified by referring to the divided data management information when the update is resumed. The program update method, wherein the divided data is designated as the update target divided data.
更新プログラムを保持するマスタ装置と、
前記更新プログラムを用いた更新の対象となる更新対象プログラムを保持するスレーブ装置であって、
前記更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる
更新対象分割データを指定する更新対象分割データ指定手段、
前記更新対象プログラムと、該更新対象プログラムを置き換える前記更新プログラムとの差分を取得する差分取得手段、
現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段、および
前記更新用データを用いて前記更新対象分割データを更新する更新手段を備え、
前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、スレーブ装置と、
を備える情報処理システム。
A master device that holds the update program;
A slave device that holds an update target program to be updated using the update program,
Information recording means for recording, in a nonvolatile storage device, divided data management information for managing the states of a plurality of divided data constituting the update target program;
Update target divided data designating means for designating update target divided data to be updated among the plurality of divided data with reference to the divided data management information;
Difference acquisition means for acquiring a difference between the update target program and the update program replacing the update target program;
Update data acquisition means for acquiring update data for updating the update target split data by reflecting a portion corresponding to the update target split data in the difference in the current update target split data; and Update means for updating the update target divided data using the update data,
The update target divided data specifying means specifies and specifies the divided data that has not been updated at the time of the update interruption by referring to the divided data management information when the update is resumed when the update of the update target program is interrupted. Specifying the divided data as the update target divided data, and a slave device;
An information processing system comprising:
JP2008322220A 2008-12-18 2008-12-18 Information processor, program update method, and information processing system Pending JP2010146257A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008322220A JP2010146257A (en) 2008-12-18 2008-12-18 Information processor, program update method, and information processing system
PCT/JP2009/070239 WO2010071020A1 (en) 2008-12-18 2009-12-02 Information processing device, program update method, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008322220A JP2010146257A (en) 2008-12-18 2008-12-18 Information processor, program update method, and information processing system

Publications (1)

Publication Number Publication Date
JP2010146257A true JP2010146257A (en) 2010-07-01

Family

ID=42268693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008322220A Pending JP2010146257A (en) 2008-12-18 2008-12-18 Information processor, program update method, and information processing system

Country Status (2)

Country Link
JP (1) JP2010146257A (en)
WO (1) WO2010071020A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050862A (en) * 2011-08-31 2013-03-14 Mitsubishi Electric Corp Program rewriting system and program rewriting method
KR20140058130A (en) * 2012-11-06 2014-05-14 주식회사 아이리버 Firmware upgrade method of portable device using ota
JP2015149065A (en) * 2014-02-06 2015-08-20 韓國電子通信研究院Electronics and Telecommunications Research Institute Software automatic update system in ship automatic identification system, and method therefor
JP2016514280A (en) * 2013-02-14 2016-05-19 ソノズ インコーポレイテッド Automatic setting of household playback device
US9686282B2 (en) 2013-02-14 2017-06-20 Sonos, Inc. Automatic configuration of household playback devices
JP2017157004A (en) * 2016-03-02 2017-09-07 住友電気工業株式会社 System, method, and computer program for updating programs
JP2018013837A (en) * 2016-07-19 2018-01-25 株式会社デンソー Data rewriting device and data rewriting program
JP2018097764A (en) * 2016-12-16 2018-06-21 株式会社Subaru On-vehicle data update device
JP2019074847A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control unit
JP2019144959A (en) * 2018-02-22 2019-08-29 株式会社ノーリツ Communication system, relay apparatus, and hot water machine
CN111201510A (en) * 2017-10-12 2020-05-26 日立汽车系统株式会社 Information updating device and information updating method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124403A (en) * 1996-10-24 1998-05-15 Hitachi Ltd Writing method for block deletion type flash memory
JP2002091772A (en) * 2000-09-13 2002-03-29 Nec Corp Device, system and method for updating software and recording medium with updating program recorded thereon
JP2004199121A (en) * 2002-12-16 2004-07-15 Fujitsu Ltd Difference updating method, program and apparatus
JP2005078502A (en) * 2003-09-02 2005-03-24 Nec Corp System and method for rewriting differentials of portable terminal software, portable terminal, and program
JP2006082649A (en) * 2004-09-15 2006-03-30 Denso Corp Program rewriting system
WO2006132065A1 (en) * 2005-06-10 2006-12-14 Pioneer Corporation Navigation device, data updating method, and data updating program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124403A (en) * 1996-10-24 1998-05-15 Hitachi Ltd Writing method for block deletion type flash memory
JP2002091772A (en) * 2000-09-13 2002-03-29 Nec Corp Device, system and method for updating software and recording medium with updating program recorded thereon
JP2004199121A (en) * 2002-12-16 2004-07-15 Fujitsu Ltd Difference updating method, program and apparatus
JP2005078502A (en) * 2003-09-02 2005-03-24 Nec Corp System and method for rewriting differentials of portable terminal software, portable terminal, and program
JP2006082649A (en) * 2004-09-15 2006-03-30 Denso Corp Program rewriting system
WO2006132065A1 (en) * 2005-06-10 2006-12-14 Pioneer Corporation Navigation device, data updating method, and data updating program

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050862A (en) * 2011-08-31 2013-03-14 Mitsubishi Electric Corp Program rewriting system and program rewriting method
KR101925085B1 (en) * 2012-11-06 2019-02-27 주식회사 아이리버 Firmware upgrade method of portable device using OTA
KR20140058130A (en) * 2012-11-06 2014-05-14 주식회사 아이리버 Firmware upgrade method of portable device using ota
US9686282B2 (en) 2013-02-14 2017-06-20 Sonos, Inc. Automatic configuration of household playback devices
US11539995B2 (en) 2013-02-14 2022-12-27 Sonos, Inc. Configuration of playback device audio settings
JP2016514280A (en) * 2013-02-14 2016-05-19 ソノズ インコーポレイテッド Automatic setting of household playback device
US10271078B2 (en) 2013-02-14 2019-04-23 Sonos, Inc. Configuration of playback device audio settings
US11979622B2 (en) 2013-02-14 2024-05-07 Sonos, Inc. Configuration of playback device audio settings
US10779024B2 (en) 2013-02-14 2020-09-15 Sonos, Inc. Configuration of playback device audio settings
US11178441B2 (en) 2013-02-14 2021-11-16 Sonos, Inc. Configuration of playback device audio settings
JP2015149065A (en) * 2014-02-06 2015-08-20 韓國電子通信研究院Electronics and Telecommunications Research Institute Software automatic update system in ship automatic identification system, and method therefor
JP2017157004A (en) * 2016-03-02 2017-09-07 住友電気工業株式会社 System, method, and computer program for updating programs
JP2018013837A (en) * 2016-07-19 2018-01-25 株式会社デンソー Data rewriting device and data rewriting program
JP2018097764A (en) * 2016-12-16 2018-06-21 株式会社Subaru On-vehicle data update device
CN111201510A (en) * 2017-10-12 2020-05-26 日立汽车系统株式会社 Information updating device and information updating method
CN111201510B (en) * 2017-10-12 2024-01-12 日立安斯泰莫株式会社 Information updating device, information updating method, and computer readable medium
JP2019074847A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control unit
JP7087334B2 (en) 2017-10-13 2022-06-21 株式会社デンソー Electronic control device
JP7035610B2 (en) 2018-02-22 2022-03-15 株式会社ノーリツ Communication system, relay device, and hot water equipment
JP2019144959A (en) * 2018-02-22 2019-08-29 株式会社ノーリツ Communication system, relay apparatus, and hot water machine

Also Published As

Publication number Publication date
WO2010071020A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
JP2010146257A (en) Information processor, program update method, and information processing system
US10684744B2 (en) Launching applications on an electronic device
CN105740023B (en) The method, apparatus and intelligent mobile terminal that program version retracts
CN106802813A (en) Method, device and vehicle for aerial firmware upgrade
US9348578B2 (en) Information processing apparatus capable of updating firmware, control method therefor, and storage medium storing control program therefor
JPWO2008114491A1 (en) Terminal having application update management function, application update management program, and system
JP2006277472A (en) Information processor
JP5250645B2 (en) Information processing device
JP6746191B2 (en) Map information system and program
JPWO2019207729A1 (en) Industrial computer, industrial computer system, operating system updating method and program
CN111885420B (en) Standby protection method and device, smart television and readable storage medium
JP2008197811A (en) Information processing apparatus
JP2010140183A (en) Information processing apparatus and program updating method
JP5250644B2 (en) Information processing device
JP2010140156A (en) Start control device and on-vehicle terminal equipment
JP2009053993A (en) File system management apparatus
CN108810631A (en) Playback method, device, electronic equipment and the computer storage media of startup advertisement
JP6221973B2 (en) Display control apparatus and display control program
KR100495015B1 (en) a backup apparatus and method capable of easy backup/restoration
JP4788128B2 (en) Execution environment maintenance system, execution environment maintenance device, and execution environment maintenance method
KR20090021695A (en) System for roll back of flash memory and method there of
CN103677890A (en) Information processing apparatus, information processing method, and program
JP6209854B2 (en) Information processing system
US10346046B2 (en) Non-transitory computer-readable storage medium with executable information processing program stored thereon, information processing apparatus, information processing system, and information processing method
JP4749192B2 (en) In-vehicle operation support device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109