WO2007001073A1 - データバックアップシステムおよびデータバックアップ方法 - Google Patents

データバックアップシステムおよびデータバックアップ方法 Download PDF

Info

Publication number
WO2007001073A1
WO2007001073A1 PCT/JP2006/313184 JP2006313184W WO2007001073A1 WO 2007001073 A1 WO2007001073 A1 WO 2007001073A1 JP 2006313184 W JP2006313184 W JP 2006313184W WO 2007001073 A1 WO2007001073 A1 WO 2007001073A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
user data
hash
backup
Prior art date
Application number
PCT/JP2006/313184
Other languages
English (en)
French (fr)
Inventor
Changzheng Wang
Original Assignee
Movell Software, Inc.
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 Movell Software, Inc. filed Critical Movell Software, Inc.
Publication of WO2007001073A1 publication Critical patent/WO2007001073A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Definitions

  • the present invention relates to a data backup system and a data backup method for performing data backup in an environment where there are few system resources.
  • Wireless device The vice is generally used as a mopile system, and it can be said that there are increasing opportunities to lose or steal wireless devices.
  • Some software such as electronic phonebook data or email data, may be available, but most user data, such as schedule data, power image data, ringtone data, etc. Give up and throw it away.
  • Patent Document 1 Japanese Patent Laid-Open No. 2 0 0 4-2 3 5 9 8 5 Disclosure of Invention
  • Patent Document 1 cannot back up data unless a dedicated backup device is used. Even with the dedicated backup device disclosed in Patent Document 1, it is difficult to move data between different models because the data formats of the electronic phone book and schedule are different. In addition, it is necessary for the user to purchase a dedicated backup device in addition to the mobile phone, and it is very inconvenient to carry this backup dedicated device.
  • the first is a memory capacity problem.
  • Wireless devices such as mobile phones have few system resources and cannot hold a large amount of past user data for backup purposes.
  • Second is the problem of data communication charges. If the user data is transferred to an external backup device each time the user data is updated using the communication function of the wireless device, the user data for each update is stored in the external backup device. However, if user data is backed up as it is, the amount of data will be large, and the data communication fee that will be borne by the user will increase.
  • User data is important personal and business information such as electronic phone book data, e-mail data, camera image data, and document data. If a wireless device is lost or stolen, the user data left in the wireless device can be used illegally.
  • an object of the present invention is to provide a data backup system that enables user data to be backed up with as little memory capacity as possible in an environment of a small system resource such as a wireless device. It is another object of the present invention to provide a data backup system in which the amount of data transferred from a wireless device to a backup server is small even when an external backup server is used for backing up user data.
  • the present invention provides a data backup system capable of erasing user data remaining in a wireless device related to loss or the like when user data is backed up when the wireless device is lost or stolen. Objective.
  • a data backup system of the present invention is a data backup system applied to a user system equipped with a system resource including a processor, a memory, and a communication means, and an application,
  • User data storage means for storing only the latest version of user data by overwriting and updating user data that is sequentially updated according to the use of the application;
  • Hash file storage means for storing hash data calculated for each block of user data
  • the presence / absence of update of the user data is detected for each block.
  • a difference data generation means for generating difference data between the two is provided.
  • the differential data generation means may determine the number of data blocks that are continuous with the index of the first data block for a series of data blocks in which the pre-update hash data and the post-update hash data match. For the data block in which the pre-update hash data and the post-update hash data do not match, the data block of the updated user data is directly used as the differential data to generate the differential data. Is.
  • backup user data storage means for storing user data in a backup server that can communicate with the user system via a network, and the difference data generation means from the difference data generation means. Assemble user data after update based on user data and latest difference data in the backup user data storage means and store in the backup user data storage means Means.
  • the backup server is set up in an external environment on the network, and when user data needs to be backed up, it is a system that backs up from the backup server. Even when a backup server is used in the external environment, the amount of data transferred from the wireless device to the backup server can be kept small.
  • the latest version of the user data stored in the backup user data storage means of the backup server is used.
  • the user data storage means of the system is transferred and stored, and the latest user data is transferred to the user system.
  • the user data storage means and the hash file storage means are based on an erase command.
  • the user data storage means and the hash file storage means are provided with a self-data erase function for erasing stored data.
  • the user data and the hash data are erased by the self data erasing function.
  • the data backup system having the above configuration can be applied to a variety of systems that are premised on a system with a small system resource.
  • it can be applied to various devices such as wireless mopile systems such as mobile phones, intelligent home appliances, robots, cars (car navigation systems), and machine tools on production lines.
  • the data backup method of the present invention includes:
  • a data backup method applied to a system resource including a processor, memory and communication means, and a user system having an application
  • Hash data calculated for each user data block is Stored in the file storage means
  • a backup server capable of communicating with the user system via a network
  • user data is stored in a backup user data storage means
  • the differential data is received from the user system
  • the backup It is preferable that the updated user data is assembled and stored based on the user data related to the latest update in the user data storage means and the difference data.
  • FIG. 1 is a diagram schematically showing the basic concept of the data backup system according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing the basic configuration of the data backup system according to the first embodiment of the present invention.
  • FIG. 3 is a diagram schematically showing a difference data generation processing procedure in the user system 100.
  • FIG. 4 is a diagram schematically showing a difference data generation processing procedure in the user system 100.
  • FIG. 5 is a diagram schematically showing how differential data is transmitted from the user system 100 to the backup server 200.
  • FIG. 6 is a diagram schematically illustrating the principle of restoring the updated user data.
  • Fig. 7 shows how to perform data restore from backup server 200. It is a figure which shows a child typically.
  • FIG. 8 is a flowchart showing a difference data generation process flow in the user system 100.
  • Fig. 9 is a flowchart showing the difference data calculation step in more detail.
  • FIG. 10 is a flowchart showing a basic flow for performing a data restore from the backup server 200.
  • the first is a flowchart that shows the data list steps in more detail.
  • 'Fig. 12 is a diagram schematically showing how a data restore is performed for a new model with the same user data format.
  • Fig. 13 is a schematic diagram showing how data is restored for new models with different user data formats.
  • the wireless device is not limited to a mobile phone, but the following description assumes a mobile phone.
  • FIG. 1 is a diagram schematically showing the basic concept of the data backup system according to the first embodiment of the present invention. For comparison with the prior art, the difference data calculation method in the prior art is shown on the right side.
  • the present invention allows user data to be backed up with as little memory as possible even in an environment with small system resources such as a mobile phone. Noh. Also, in the case of a configuration in which a backup server is installed on the network, the user data can be backed up by minimizing the amount of data transferred from the user system to the backup server.
  • the user data before update and user data after update are directly compared, and the difference between the two is calculated.
  • the conventional technology it is necessary to store two user data, and a large load is applied in an environment where system resources are small.
  • hash data is used effectively to calculate difference data. Only the most recent user data is stored in the memory, and only the updated user data is stored. Each time user data is updated, the hash data is calculated for each block by a hash algorithm and stored as a hash file. When the user data is updated, it is rewritten to the updated user data, but the hash file stores hash data calculated from the user data before the update. Therefore, while calculating the hash data for each block from the updated user data, it compares it with the value of the hash file, confirms the match / mismatch, and calculates the difference data. If the hash data match, it is determined that the data has not been updated in the block. If the hash data does not match, it is determined that the data has been updated in the block, and the block data is used as difference data.
  • FIG. 2 is a block diagram showing the basic configuration of the data backup system according to the first embodiment of the present invention.
  • the wireless device system includes a user system 1 0 0, a backup server 2 0 0, a network It has a basic configuration of 300.
  • the user system 1 0 0 is assumed to be a terminal device with few system resources. Examples include wireless mopile systems such as mobile phones, intelligent home appliances, robots, cars (car navigation systems), and machine tools in production lines. Can be assumed.
  • the user system 10 ⁇ includes system resources including a processor, memory, and communication means.
  • the data backup system of the present invention backs up user data generated with the use of this user system 100.
  • Various applications 1 1 0 are assumed depending on the usage of user system 1 0 0. If user system 1 0 0 is a mobile phone, a mobile phone application; if user system 1 0 0 is an intelligent home appliance, the control microprogram for that home appliance; and user system 1 0 0 a robot Robot control program, if user system 1 0 0 is a car (car navigation system), if it is a car (car navigation system) control program, if user system 1 0 0 is a production line, a machine control program, etc. Become.
  • the user data storage means i 2 0 is a part that stores only the latest version of user data by overwriting and updating user data that is sequentially updated in accordance with the use of the application 110.
  • the data format is not particularly limited. By storing only the latest version of user data by overwrite update, the data capacity can be reduced.
  • Hash file storage means 1 3 0 is calculated based on user data This is the part that stores hash data. An example of an algorithm for generating hash data will be described later.
  • the difference data generation means 14 0 is based on the hash data generated from the pre-update user data stored by the hash file storage means 1 30 and the hash data generated from the user data after update. This is the part that detects the presence or absence of user data update for each block and generates the difference data between them.
  • An example of an algorithm for generating difference data will be described later.
  • the system resources are equipped with a processor, memory, and data communication means, and those suitable for the user system are adopted. It is also assumed that the appropriate operating system and firmware are installed.
  • the backup server 2 0 0 is provided on the network 3 0 0.
  • the backup server 20 0 includes backup user data storage means 2 10 and user data assembly means 2 2 0.
  • the backup user data storage means 2 1 0 and the user data assembly means 2 2 0 may be provided in a memory different from the memory of the user system 1 0 0, for example, A configuration in which an external memory of the user system 100 is provided is also possible.
  • the configuration shown in FIG. 2 is a configuration example in which the backup user data storage means 2 10 and the user data assembling means 2 2 0 are provided in a backup server 2 0 0 that can communicate through the network 3 0 0.
  • the backup server 200 and the user system are authenticated based on the terminal information and user information included in the request for these requests ⁇ . It is preferable to set access rights in the database.
  • the backup user data storage means 2 1 0 receives differential data, which will be described later, from the user system 1 0 0 and restores the user data stored in the user data storage means 1 2 0 in the user system 1 0 0. This is the part that is stored as backup data. As will be described later, when the user data stored in the user data storage means 1 2 0 is lost due to a malfunction of the user system, etc., the user system 1 0 0 becomes necessary when a restore is necessary. User data is transmitted to.
  • the user data assembling means 2 2 0 receives the difference data from the difference data generating means 1 4 0, and after updating based on the user data and the difference data related to the latest update in the backup user data storage means 2 1 0. Are assembled and stored in the backup user data storage means 2 1 0.
  • the network 300 is good as long as it mediates the data between the user system 10 0 0 and the knock-up server 2 0 0.
  • the Internet and a mobile phone network linked with many base stations.
  • step 1 of Fig. 3 it is schematically shown as user data F1.
  • hash data is generated based on user data and stored as a hash file. Divide user data evenly into n blocks Calculate hash data of each block using hash algorithm Store the calculated hash data in hash file storage means 130 together with the block size data.
  • hash file storage means 1 3 0 is schematically shown as hash file H 1.
  • the calculation is performed using a Ranbin-Karp algorithm as a hash algorithm.
  • MD5 algorithm is used to calculate the MD5 value of data fines. Record the block size, hash of all blocks and MD5 of the data file as hash data in the nosh file.
  • User data is updated as the application 110 of the user system 100 is used.
  • only the latest user data is stored in the user data storage means 120.
  • updating is performed by overwriting the updated user data with the pre-update user data. Normally only the changed part is overwritten.
  • the block data b 1 (f) and b 1 (g) force the block data b 2 (f) and b 2 (g) Overwritten on (indicated by the thick frame in the figure) and the updated user data F 2 is written.
  • Step S 1 2 in Figure 8 If user data is updated, the same hash algorithm is used to generate hash data based on the updated user file data.
  • Step 2 in Fig. 3 schematically shows the hash data generated from the updated user file data.
  • difference data for updating is generated using a hash file by the following procedure.
  • the differential data generation means 1 4 0 is the difference data for the series of data blocks in which the pre-update hash data and the post-update hash data are identical, For the data block in which the pre-update hash data and the post-update hash data do not match, the data block of the updated user data is used as the differential data as it is to generate differential data.
  • the difference data for the block with the matching hash data is represented by (1, I n d e x, n umb e r). “1” is a flag indicating that the hash data matches, and I n de indicates the index in the hash file of the matching data block. Note that n um be r represents the number of blocks in the case where there are consecutive blocks with matching hash data. Normally, only a part of user data is updated, so it is expected that there will be many blocks in which the hash data matches continuously. Data will be expressed in a small capacity.
  • the difference data for a block where the hash data do not match is represented by (0, length, data). "0" is a flag indicating that hash data does not match, and length is data Shows the length. data indicates data.
  • the specific procedure is to read the data block size from the hash file and the MD5 value of the original data file, write it to the difference file, calculate the MD5 value of the new data file and write it to the difference file.
  • Data between the matching data blocks is compiled by (0, l eng gt h, d a t a), coded using the l z 77 algorithm, and written to the differential file.
  • the matching data blocks are summarized by (1, Ind ex, n u m b e r), coded using the Hu f f m a n algorithm, and written to the difference file.
  • Fig. 9 shows an example of a flowchart that shows this difference data calculation step in more detail.
  • the hash value calculated from the updated user data F 2 is compared with the hash value before update in the hash file storage means 1 3 0, and blocks bl (a) to bl (e ) Until the hash values match, b 2 (f) and b 2 (g) do not match, and b 1 (h) and b 1 (j) match.
  • the differential data generation means 14 if the In d of bl (a) is 1 0 0, the five blocks from bl (a) force to bl (e) (1, 1 0 0, 5) is generated as difference data. For example, if the data lengths of the two blocks b 2 (f) and b 2 (g) after the change are 61 bytes, (0, 6 1, b 2 (f) + b 2 (g)) is the difference Generated as data. In addition, (1, 1 0 7, 3) is generated as difference data from the three blocks of b l (h) force to b l (j).
  • the latest user can be used to calculate the difference data.
  • Data can be calculated as much as data and hash values, and even in a small system resource such as a mobile phone, it is possible to calculate difference data with as little memory as possible.
  • the difference data generated by the difference data generation means 14 0 according to the above procedure is transferred to the user data assembling means 2 20.
  • communication protocols such as OMA — DS (Open mobile appliance-SyncML data sync) are used.
  • OMA — DS Open mobile appliance-SyncML data sync
  • the data to be transmitted is not text, but binary difference data.
  • Requests for sending and receiving differential data can be made from the user system 100 side, but can also be made from the backup server 200 side. For example, send a differential data transmission / reception request by SMS (Short message service).
  • SMS Short message service
  • FIG. 5 is a diagram schematically showing how the difference data is transmitted from the user system 100 to the backup server 200. Since only differential data files with a small capacity are sent and received, the data transfer capacity can be reduced, reducing the user's cost burden.
  • Fig. 6 schematically illustrates the principle that user data after update is restored after the differential data file is received by the backup server 200 It is a figure.
  • the user data assembling means 2 2 0 uses the current version (purging before update) user data stored in the backup user data storage means 2 1 0 and the received difference data to create a new data.
  • User data for the new version (updated version) is calculated.
  • the update process is executed repeatedly between the user system 100 and the backup server 200, so it is important to perform version management.
  • versions are managed by comparing MD5 values of user data. Specifically, the MD5 value of the current version data file is calculated, and this MD5 value is compared with the MD5 value of the current version in the difference data file. If they match, version management is performed correctly. If they do not match, there is a strong possibility that version control has failed, and it is preferable to interrupt the update process.
  • the update process is performed as follows.
  • the differential data is read sequentially from the differential data file, and a new version of the data is generated as follows.
  • the “d a t a” portion of data is decompressed (decoded) and written directly to the new version data file.
  • (1, Index, number) is read, the data up to (index * block size) ((index + number 1 1) * block size) is not rewritten due to the update. do not have to.
  • b 1 (f) and bl (g) of the current version of user data F 1 based on (0, length, b 2 (f) + b 2 (g)) are b 2 (f ) And b 2 (g), and the user data F 2 for the purge purge after the update is restored.
  • the five blocks of difference data (1, 1 0 0, 5) force, et al. Bl (a) force, et al. Bl (e) are updated. There is no new data, and from the difference data (0, 6 1, b 2 (f) + b 2 (g)), bl (f) and bl (g) before updating are updated to b 2 (f) after updating. It is updated to b 2 (g), and from the difference data (1, 1 0 7, 3), the three blocks b 1 (h) to b 1 (j) are not updated.
  • the user data F 2 is stored in the backup user data storage means 2 10.
  • the MD5 value of the new version data file generated is calculated, and the new version in the difference data file is calculated. It is also preferable to compare with the MD5 value of the data file. If you can confirm that they match, you have successfully restored the backup data. If they do not match, the backup data restoration operation has failed due to some problem.
  • FIG. 7, FIG. 10 to FIG. explain with reference to.
  • a data restore request is made from the user system 100 to the backup server 200 (step S 3 1 in FIG. 10).
  • user system 1 It is preferable to perform user authentication confirmation between 0 0 and the backup server 2 0 0.
  • the user data storage means 2 10 for backup in the backup server 2 0 0 to the user data storage means 1 2 0 in the user system 1 0 0 via the network
  • the user data is restored.
  • the user system 1 0 0 After receiving the user data, the user system 1 0 0 performs decompression processing as necessary.
  • the user system 100 saves / restores the decompressed user data in the user data storage unit 120.
  • the basic procedure for restoring user data from the backup server 200 to the user system 100 is as described above. '
  • Figure 11 is an example of a flow chart showing the data restore step in more detail.
  • the user system 1 0 0 a was replaced, lost or stolen, so it was replaced with a new user 1 0 0 b of a different manufacturer's model and placed on the new user system 1 0 0 b
  • Figure 13 shows the third case.
  • the backup server 200 In order to perform the data list smoothly in the third case, it is preferable to provide user data format conversion means (not shown) in the backup server 200.
  • the user data format differs depending on the manufacturer model, so the user system of the model before the re-release is used. If the format conversion to the user data format of the system 100 b can be executed, the data can be directly restored from the backup server 2 0 0 to the user system 1 0 0 b.
  • the format conversion may be bridged using a common intermediate format.
  • the VCard format may be a common intermediate format.
  • User data that is accumulated with the use of applications in the user system 100 is often important personal and business information such as electronic phone book data, e-mail data, camera image data, and document data. .
  • electronic phone book data e.g., a phone
  • e-mail data e.g., a phone
  • camera image data e.g., a camera
  • document data e.g., a document
  • the user data storage means 1 2 0 and the hash file storage means 1 3 0 of the user system 1 0 0 have a self-data erasing function for erasing the stored data based on the erasing command. Is preferred. If user system 1 0 0 a is lost or stolen, user data A remains in user system 1 0 0 a as shown in FIGS. 12 and 13. Therefore, the user migrates the user data A to the new user system 10 O b and deletes the user data A remaining in the user system 1 0 0 a to manage the backup server 2 0 0. Contact the administrator and issue an erasure command to erase user data A left in user system 1 0 0 a.
  • an erase command is sent by SMS (Short Message Service).
  • SMS Short Message Service
  • the user data storage means 1 2 0 and the hash file storage means 1 3 0 have the user data and Hash data is erased.
  • the present invention can be widely applied to various systems such as wireless devices such as mobile phones, intelligent home appliances, robots, cars (car navigation systems), and machine tool devices.
  • wireless devices such as mobile phones, intelligent home appliances, robots, cars (car navigation systems), and machine tool devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

小さなシステムリソースの環境において、できるだけ小さなメモリ容量によってユーザデータのバックアップとリストアを可能とする。 ユーザデータ記憶手段には最新版のユーザデータのみを記憶する。ハッシュファイル記憶手段にはユーザデータに基づいてブロックごとに計算されるハッシュデータを記憶する。アプリケーションの利用に応じて逐次更新されるユーザデータについて上書き更新があれば、差分データ生成手段は更新後のユーザデータのブロックごとにハッシュデータを計算し、ハッシュファイル記憶手段により記憶されている更新前のユーザデータから生成されたハッシュデータと、更新後のユーザデータから生成されたハッシュデータを基に、ブロックごとの更新の有無を検知し、更新前後のユーザデータの両者の差分データを生成する。

Description

データバックアツプシステムおよびデータバックァップ方法 技術分野
本発明は、 システムリ ソース明が少ない環境においてデータバックアツ プを行なうデータバックアップシステムおよびデータバックァップ方法 に関する。
書 背景技術
携帯電話などのワイヤレスデバイスの普及が進むにつれ、 単なる通話 機能だけではなく、 いわゆる電子電話帳機能、 電子メール通信機能、 ス ケジュール機能、 写真撮影機能、 着信メ ロディ機能、 テレビジョ ン画像 の受信機能など多種多様な機能が搭載されている。 これら機能を駆使す る結果、 携帯電話内にはユーザデータが蓄積されてゆく。 これらユーザ データはユーザにと り財産であるためデータバックァップが必要である。 データバックアップが必要となるケースは多様である。
第 1にはワイヤレスデバイスの不具合でユーザデータが一部喪失した り壌れたりする場合がある。 ワイヤレスデバイスの高機能化に従い、 不 具合が起こるリスクも高くなつていると言える。
第 2には使用しているワイヤレスデバイスを買い換えるときに蓄積し てあるユーザデータを新しいワイヤレスデバイスに移行させる場合があ る。ワイヤレスデバイスの新機種投入のサイクルが短くなる傾向があり、 利用者が買い替える機会が増えていると言える。
第 3にはワイヤレスデバイスの紛失や盗難にあった場合にユーザデー タを新しいワイヤレスデパイスに移行させる場合がある。 ワイヤレスデ バイスはモパイルシステムとして持ち歩く使用形態が一般的であり、 ヮ ィャレスデバイスを紛失したり盗難したりする機会が増えていると言え る。
ワイヤレスデバイスを新しいものに移行する際に、 利用者がユーザデ ータを手動で再入力することは大変な労力である。 電子電話帳のデータ や電子メールデータを移行させるソフ トウェアなどが一部利用できる場 合があるが、 大部分のユーザデータ、 例えば、 スケジュールデータ、 力 メラ画像データ、 着信メロディデータなどは、 利用者があきらめて捨て ることになる。
携帯通信端末にあるユーザデータをバックアップする方法と して、 特 許文献 1に記載された方法がある。 その方法では専用のバックァップ装 置を携帯通信端末と接続してデータのバックアップとリス トァを行なう。 特許文献 1 特開 2 0 0 4— 2 3 5 9 8 5号公報 発明の開示
発明が解決しよう とする課題
しかし、 特許文献 1に記載された方法では専用のバックアップ装置を 使用しなければデ一タのバックアップができない。 特許文献 1に開示さ れた専用バックァップ装置があっても、 電子電話帳やスケジュールのデ ータ形式が異なるために、あらゆる異機種間のデータ移動が困難である。 また、 利用者にとつて携帯電話以外にバックアツプ用の専用装置を購入 する必要があり、 さらにこのバックアップ用の専用装置を持ち歩く こと はとても不便である。
次に、 特許文献 1に記載のバックアップ装置によらずワイヤレスデバ イス内に過去の履歴データを格納する仕組みを想定しても以下の問題が ある。 第 1にはメモリ容量の問題である。
携帯電話などのワイヤレスデバイスはシステムリ ソースが少なく、 バ ックァップ用と して過去のユーザデータを多数保持せしめることはでき ない。
そこで、 ユーザデータが更新された場合には更新前後の差分データの みをメモリに格納するという工夫を施すことが想定できるが、 差分デー タを生成するためには、 少なく とも更新前のユーザデータと更新後のュ 一ザデータの 2つのユーザデータが必要となってく る。 つまり、 最低限 でも 2つのユーザデータを格納するメモリ容量が消費されることとなつ てしまう。
第 2にはデータ通信料金の問題である。 ユーザデータが更新されるた びにワイヤレスデバイスの通信機能を利用して外部のバックァップ装置 などに毎回ユーザデータを転送すれば、 外部のバックアツプ装置に更新 ごとのユーザデータが蓄積されることとなる。 しかし、 ユーザデータを そのままバックアップするとデータ量が大きく、 利用者に負担させるデ ータ通信料が高くなる。
また、 第 3にはデータバックアツプの安全性と信頼性に関して解決す るべき課題がある。 ユーザデータは、 電子電話帳データ、 電子メールデ ータ、 カメラ画像データ、 文書データ等の重要な個人やビジネス情報で ある。 ワイヤレスデバイスが紛失したり盗難されたり した場合は当該ヮ ィャレスデバイス内に残されたユーザデータが不正に利用される恐れが める。
そこで、 本発明は、 ワイヤレスデバイスなど小さなシステムリ ソース の環境において、 できるだけ小さなメモリ容量によってユーザデータの バックアップを可能とするデータバックアップシステムを提供すること を目的とする。 また、 本発明は、 ユーザデータのバックアップにあたり、 外部のバッ ク了ップサーバを用いる場合でも、 ワイヤレスデバイスからバックアツ プサーバに転送されるデータ容量が小さぃデータバックアップシステム を提供することを目的とする。
また、 本発明は、 ワイヤレスデバイスが紛失したり盗難されたり した 場合におけるユーザデータバックに際し、 当該紛失などに係るワイヤレ スデバイス内に残されたユーザデータを消去できるデータバックァップ システムを提供することを目的とする。
課題を解決するための手段
上記目的を達成するため、 本発明のデータバックアップシステムは、 プロセッサとメモリ と通信手段を含むシステムリ ソースと、 アプリケ ーションを備えた利用者システムに適用されるデータバックァップシス テムであって、
前記アプリケーショ ンの利用に応じて逐次更新されるユーザデータに ついて上書き更新により最新版のユーザデータのみを記憶するユーザデ ータ記憶手段と、
前記ユーザデータのブロックごとに計算されるハッシュデータを記憶 するハッシュフアイル記憶手段と、
前記ハッシュファイル記憶手段により記憶されている更新前のユーザ データから生成されたハッシュデータと、 更新後のユーザデータから生 成されたハッシュデータを基に、 ブロックごとにユーザデータの更新の 有無を検知し、 両者の差分データを生成する差分データ生成手段を備え たことを特徴とする。
例えば、 前記差分データ生成手段は、 前記更新前ハッシュデータと前 記更新後ハッシュデータとが一致している一連のデータブロックに対し ては先頭のデータブロックのインデックスと連続するデータブロック数 を差分データとし、 前記更新前ハッシュデータと前記更新後ハッシュデ ータとが一致していないデータプロックに対しては更新後のユーザデー タのデータプロックをそのまま差分データとして、 差分データを生成す るものである。
上記構成により、 更新前ユーザデータと更新後ユーザデータの差分デ ータを生成する際にも、 2つのユーザデータ容量を必要とせず、 小さな メモリ容量のみで 2つのユーザデータの差分データを計算することがで さる。
さらに、 上記構成において、 前記利用者システムとネッ トワークを通 じて通信可能なバックァップサーバ内にユーザデータを記億するバック ァップ用ユーザデータ記憶手段と、 前記差分データ生成手段から前記差 分データを受け取り、 前記バックアップ用ユーザデータ記憶手段中にあ る直近の更新にかかるユーザデータと前記差分データを基に、 更新後の ユーザデータを組み立て、 前記バックァップ用ユーザデータ記憶手段に 格納するユーザデータ組み立て手段とを備えることが好ましい。
上記構成により、 小さなシステムリ ソースしかない利用者システムで あっても、 ハツシュデータの差分データを用いてユーザデータを復元す ることができる。
バックアップサーバをネッ トワーク上の外部環境においておき、 ユー ザデータのバックアップが必要となつた場合にパックアツプサーバから バックアップをさせるシステムとなる。 なお、 外部環境にバックアップ サーバを用いる場合でも、 ワイヤレスデバイスからバックアップサーバ に転送されるデータ容量を小さく抑えることができる。
利用者システムまたは新しい利用者システムにユーザデータを回復ま たは移行する場合は、 バックアップサーバのバックアップ用ユーザデー タ記憶手段に格納されている最新版の前記ユーザデータを、 前記利用者 システムのユーザデータ記憶手段に移行 ·記憶させ、 直近の前記ユーザ データを前記利用者システムに引き継がせることとなる。
次に、 ワイヤレスデバィスが紛失したり盗難されたり した場合におけ るユーザデータの漏洩を防止する仕組みとして、 前記ユーザデータ記憶 手段と前記ハッシュファイル記憶手段が、 消去コマン ドに基づいて、 記 憶しているデータを消去する自己データ消去機能を備え、 前記利用者シ ステムにおいて、 前記バックアップサーバから送信された消去コマンド を受信した場合、 前記ユーザデータ記憶手段と前記ハッシュフアイル記 憶手段が、 前記自己データ消去機能により、 前記ユーザデータおよび前 記ハッシュデータを消去する構成とする。
上記構成により、 ワイヤレスデバイスが紛失したり盗難されたり した 場合であっても強制的にユーザデータを消去することができるのでデー タ漏洩を防止することができる。
なお、 上記構成を持つデータバックアップシステムは、 システムリ ソ ースが小さいシステムが前提とされる力、多様なシステムに適用できる。 例えば、 携帯電話などのワイヤレスモパイルシステム、 インテリ ジェン ト家電製品、 ロボッ ト、 車 (カーナビゲーショ ンシステム)、 製造ライン の工作機械装置など多様なものに適用できる。
次に、 本発明のデータバックアップ方法は、
プロセッサとメモリ と通信手段を含むシステムリ ソースと、 アプリケ ーションを備えた利用者システムに適用されるデータバックァップ方法 であって、
前記アプリケーションの利用に応じて逐次更新されるユーザデータに ついて上書き更新により最新版のユーザデータのみをユーザデータ記憶 手段に記憶し、
前記ユーザデータのプロックごとに計算されるハッシュデータをハツ シュファイル記憶手段に記憶し、
前記ハッシュフアイル記憶手段により記憶されている更新前のユーザ データから生成されたハツシュデータと、 更新後のユーザデータから生 成されたハッシュデータを基に、 プロックごとにユーザデータの更新の 有無を検知し、 両者の差分データを求めることを特徴とする。
上記方法において、 前記利用者システムとネッ トワークを通じて通信 可能なバックァップサーバにおいて、 ユーザデータをバックァップ用ュ 一ザデータ記憶手段に記憶しておき、 前記利用者システムから前記差分 データを受信し、 前記バックアップ用ユーザデータ記憶手段中にある直 近の更新にかかるユーザデータと前記差分データとを基に、 更新後のュ 一ザデータを組み立てて記憶しておく ことが好ましい。 図面の簡単な説明
第 1図は、 本発明の実施形態 1にかかるデータバックアップシステム の基本概念を模式的に示した図である。
第 2図は、 本発明の実施形態 1にかかるデータバックアップシステム の基本構成を示したプロック図.である。
第 3図は、 利用者システム 1 0 0における差分データ生成処理手順を 模式的に示す図である。
第 4図は、 利用者システム 1 0 0における差分データ生成処理手順を 模式的に示す図である。
第 5図は、 差分データが利用者システム 1 0 0からバックアップサー パ 2 0 0に送信される様子を模式的に示す図である。
第 6図は、 更新後のユーザデータが復元される原理を模式的に説明し た図である。
第 7図は、 バックアップサーバ 2 0 0からデータリス トァを行なう様 子を模式的に示す図である。
第 8図は、 利用者システム 1 0 0における差分データ生成処理フロー を示したフローチャートである。
第 9図は、 差分データ計算ステップをより詳しく示したフローチヤ一 トである。
第 1 0図は、 バックアップサーバ 2 0 0からデータリス トァを行なう 基本フローを示すフローチヤ一トである。
第 1 1は、 データリス トァステップをより詳しく示したフローチヤ一 トである。 ' 第 1 2図は、 ユーザデータ形式が同じ新しい機種に対してデータリス トァを行なう様子を模式的に示す図である。
第 1 3図は、 ユーザデータ形式が異なる新しい機種に対してデータリ ストァを行なう様子を模式的に示す図である。 発明を実施するための最良の形態
以下、 本発明を実施するための最良の形態について実施形態により具 体的に説明する。 なお、 本発明はこれら実施形態に限定されるものでは ない。
なお、 以下の説明において、 ワイヤレスデバイスは携帯電話に限定さ れることはない.が、 以下の説明では携帯電話を想定して説明する。
(実施形態 1 )
図 1は、 本発明の実施形態 1にかかるデータバックァップシステムの 基本概念を模式的に示した図である。 なお、 従来技術と比較するために 従来技術における差分データの計算方法を右側に示している。
本発明は、 携帯電話などシステムリ ソースが小さな環境であっても、 できるだけ小さなメモリ容量によってユーザデータのバックァップを可 能とするものである。 また、 バックアップサーバをネッ トワーク上に設 ける構成の場合、 利用者システムからバックァップサーバに転送される データ容量をできるだけ小さく してユーザデータのバックアップを可能 とするものである。
従来技術であれば、 右図に示したように更新前のユーザデータと更新 後のユーザデータを直接比較し、 両者の差分を計算することにより差分 データを求める。 このよ うに従来技術によれば 2つのユーザデータを記 憶する必要があり、 システムリ ソースが小さい環境では大きな負荷をか けていた。
一方、 本発明では、 左図に示したように、 ハッシュデータを有効に用 いて差分データを計算する。 メモリに記憶するユーザデータは最新の一 つのみで良く、 更新後のユーザデータのみを記憶しておく。 ハッシュデ ータはユーザデータが更新されるごとにハッシュアルゴリズムによりブ ロ ックごとの計算されハッシュファイルとして記憶されている。 ユーザ データが更新されると更新後のユーザデータに書き換えられるが、 ハツ シュファイルは更新前のユーザデータから計算されたハッシュデータが 格納されている。 そこで、 更新後のユーザデータからブロックごとにハ ッシュデータを計算しつつハッシュファイルの値と比較し、 一致 · 不一 致を確認し、 差分データを計算する。 ハッシュデータ同士が一致すれば 当該ブロックにおいてはデータの更新がなかったと判断し、 ハッシュデ ータが不一致であれば当該プロックにおいてデータの更新があつたと判 断し、 当該ブロックデータを差分データとする。
図 2は、 本発明の実施形態 1にかかるデータバックアップシステムの 基本構成を示したブロック図である。
図 2に示すように、 実施形態 1にかかるワイヤレスデバイスシステム は、 利用者システム 1 0 0、 バックアップサーバ 2 0 0、 ネッ トワーク 3 0 0の基本構成を備えている。
利用者システム 1 0 0は、 システムリ ソースが少ない端末装置を想定 している。 例えば、 携帯電話などのワイヤレスモパイルシステム、 イン テリ ジェン ト家電製品、 ロボッ ト、 車 (カーナビゲーシヨ ンシステム)、 製造ラインの工作機械装置などが挙げられるが、 これら以外にも多様な ものが想定できる。
利用者システム 1 0 ◦は、 プロセッサとメモリ と通信手段を含むシス テムリ ソースを備え、 アプリケーショ ン 1 1 0、 ユーザデータ記憶手段 1 2 0、 ハッシュフアイル記憶手段 1 3 0、 差分データ生成手段 1 4 0 を備えた構成となっている。 本発明のデータバックアップシステムはこ の利用者システム 1 0 0の利用に伴って発生するユーザデータをバック ァップする。
アプリケーシヨ ン 1 1 0は、 利用者システム 1 0 0の用途に応じて多 様なものが想定される。 利用者システム 1 0 0が携帯電話であれば携帯 電話アプリケーショ ン、 利用者システム 1 0 0がィンテリ'ジェント家電 であれば当該家電用の制御マイクロプログラム、 利用者システム 1 0 0 がロボッ トであればロボッ ト制御プログラム、 利用者システム 1 0 0が 車 (カーナビゲーシヨンシステム) であれば車 (カーナビゲーシヨンシ ステム) 制御プログラム、 利用者システム 1 0 0が製造ラインであれば 工作制御プログラムなどとなる。
ユーザデータ記憶手段 i 2 0は、 アプリケーショ ン 1 1 0の利用に応 じて逐次更新されるユーザデータについて上書き更新により最新版のュ 一ザデータのみを記憶する部分である。 データ形式などは特に限定され ない。 上書き更新により最新版のユーザデータのみを記憶することによ りデータ容量を小さくすることが可能となる。
ハッシュファイル記憶手段 1 3 0は、 ユーザデータに基づいて計算さ れるハッシュデータを記憶する部分である。 ハッシュデータを生成する アルゴリ ズムの一例は後述する。
差分データ生成手段 1 4 0は、 ハッシュファイル記憶手段 1 3 0によ り記憶されている更新前のユーザデータから生成されたハツシュデータ と更新後のユーザデータから生成されたハッシュデータを基に、 ブロッ クごとにユーザデータの更新の有無を検知し、 両者の差分データを生成 する部分である。差分データを生成するアルゴリ ズムの一例は後述する。 なお、 システムリ ソースは、 プロセッサ、 メモリ、 データ通信手段を 備え、 利用者システムにと り適当なものを採用する。 また、 オペレーテ イングシステム、 ファームウェアも適切なものが装備しているものとす る。
図 2に示した構成では、 バックアップサーバ 2 0 0がネッ トワーク 3 0 0上に設けられた構成となっている。 バックアップサーバ 2 0 0は、 バックアップ用ユーザデータ記憶手段 2 1 0とユーザデータ組み立て手 段 2 2 0を備えている。
本発明のバックアップシステムでは、 バックアップ用ユーザデータ記 憶手段 2 1 0とユーザデータ組み立て手段 2 2 0が利用者システム 1 0 0のメモリ とは別のメモリ内に設けられていれば良く、 例えば、 利用者 システム 1 0 0の外付けメモリに設ける構成も可能である。
図 2に示した構成は、 バックアップ用ユーザデータ記憶手段 2 1 0と ユーザデータ組み立て手段 2 2 0を、 ネッ トワーク 3 0 0を通じて通信 可能なバックァップサーバ 2 0 0内に設ける構成例である。
なお、 携帯電話システムなど、 想定されるシステム構成の中には、 利 用者システム数が数千万台になる場合もあり得るが、 このような大規模 システムとなるとバックアップしたユーザデータをデータベースによつ て管理する必要がある。 また、 バックアップと リ ス トアの際には多数存 在する利用者システムを特定する必要があるのでこれらリ クエス 卜に対 してリクエス ト中に含まれる端末情報やユーザ情報に基づいてバックァ ップサーバ 2 0 0と利用者システムの認証を行い、 バックァップ ·デー タベースにアクセス権限を設定しておく ことが好ましい。
バックアップ用ユーザデータ記憶手段 2 1 0は、 後述する差分データ を利用者システム 1 0 0から受け取り、 利用者システム 1 0 0内のユー ザデータ記憶手段 1 2 0に記憶されているユーザデータを復元してバッ クアップデータとして蓄積しておく部分である。 後述するように、 利用 者システムの不具合などでユーザデータ記憶手段 1 2 0に記憶されてい るユーザデータが滅失してしまった場合などリス トァが必要となった場 合に利用者システム 1 0 0に対してユーザデータを送信する。
ユーザデータ組み立て手段 2 2 0は、 差分データ生成手段 1 4 0から 差分データを受け取り、 バックァップ用ユーザデータ記憶手段 2 1 0中 にある直近の更新にかかるユーザデータと差分データを基に、 更新後の ユーザデータを組み立て、 バックアップ用ユーザデータ記憶手段 2 1 0 に格納するものである。
なお、 図 2の構成例では、 バックアップサーバ 2 0 0のシステムリ ソ ース (プロセッサ、 メモリ、 データ通信手段、 オペレーティングシステ ム、 ファームウェアなど) の図示は省略しているが、 適当なリ ソースの ものが採用されているものとする。
ネッ トワーク 3 0 0は利用者システム 1 0 0 とノ ックァップサーバ 2 0 0間のデータを媒介するものであれば良レ、。例えば、インターネッ ト、 多数の基地局の連携による携帯電話網などである。
利用者システム 1 0 0における差分データ生成処理までの手順を図 3 、 図 4の模式図と、 図 8の処理フローを参照しつつ説明する。
[ユーザデータの格納] 本発明ではユーザデータ記憶手段 1 2 0に常に最新のユーザデータの みを記憶しておく。 図 3の手順 1ではユーザデータ F 1 と して模式的に 示されている。
[ハッシュデータの生成、 ハッシュファイルの格納]
本発明ではユーザデータを基にハッシュデータを生成し、 ハッシュフ アイルとして記憶しておく。 ユーザデータを nブロックに均等的に分け ハッシュアルゴリズムを用いて各ブロックのハッシュデータを計算する 計算したハッシュデ一タをブ口ックサイズデータと共にハッシュファィ ル記憶手段 1 3 0に格納する。 図 3の手順 1ではハッシュファイル記憶 手段 1 3 0中にハッシュファイル H 1.と して模式的に示されている。 例えば、 本実施例では、 ハッシュアルゴリズムと して Ranbin- Karp了 ルゴリズムを用いて計算する。 また MD5アルゴリズムを用いてデータ · フアイノレの MD5値を計算する。 ブロック ' サイズ、 すべてのブロックの ハッシュィ直とデータ · ファイルの MD5ィ直をハッシュ · データとしてノヽッ シュファイルに記録する。
[ユーザデータの編集 ·格納 (図 8ステップ S 1 1 ) ]
利用者システム 1 0 0のアプリケーシヨ ン 1 1 0の利用に伴いユーザ データが更新されて行くが、 本発明ではユーザデータ記憶手段 1 2 0に 最新のユーザデータのみを記憶する。 つまり、 更新前のユーザデータに 対して更新後のユーザデータを上書きすることにより更新する。 通常は 変更のあった部分のみが上書きされる。 図 3の手順 2ではユーザデータ 記憶手段 1 2 0中に格納されていたユーザデータ F 1のうち、 プロック データ b 1 ( f ) と b 1 ( g ) 力 プロックデータ b 2 ( f ) と b 2 ( g ) (図中、 太枠で囲んだ部分) に上書きされ、 更新後のユーザデータ F 2 が書き込まれる。
[ハッシュファイルの生成 (図 8ステップ S 1 2 ) ] ユーザデータが更新されれば同じハッシュアルゴリズムを用いて更新 後のユーザファィルデータを基にハッシュデータを生成する。 図 3の手 順 2では更新後のユーザファイルデータから生成されるハッシュデータ が模式的に示されている。
[差分データ生成 (図 8ステップ S 1 3)]
本発明では、 以下の手順によりハッシュファイルを活用して更新にか かる差分データを生成する。
差分データ生成手段 1 4 0は、 更新前ハッシュデータと更新後ハツシ ュデータとが一致している一連のデータブロックに対しては先頭のデー タブ口ックのインデックスと連続するデータプロック数を差分データと し、 前記更新前ハッシュデータと前記更新後ハッシュデータとが一致し ていないデータプロックに対しては更新後のユーザデータのデータブロ ックをそのまま差分データとして、 差分データを生成する。
図 4の手順 3で示した例では、 ハッシュデータが一致するブロックに 対する差分データは ( 1, I n d e x, n umb e r ) で表わされてい る。 " 1 "はハッシュデータが一致している旨を示すフラグであり、 I n d e は一致するデータブロックのハッシュファイル中におけるィンデ ックスを示してい.る。 なお、 n um b e rはハッシュデータが連続して 一致しているブロックが続いている場合にそのブ口ック数を表わしてい る。 なお、 通常、 更新はユーザデータのうち一部分のみが更新されるこ とが多いので、 ハッシュデータが連続して一致しているブロックが続く ことが多いと予想され、 当該一致するプロックが多いほど差分データは 小さい容量で表現されることとなる。
一方、 ハッシュデータ同士が不一致であるプロックに対する差分デー タは (0, l e n g t h, d a t a ) で表わされている。 " 0 " はハッシ ュデータが不一致である旨を示すフラグであり、 l e n g t hはデータ 長を示している。 d a t aはデータを示している。
具体的な手順は、 ハッシュフアイルからデータブロック · サイズと元 データ . ファイルの MD5値を読み出して差分ファイルに書き込み、 新し いデータ 'ファイルの MD5値を計算して差分ファイルに書き込む。新しい データ · ファイルの中でバイ ト毎に移動しながらノヽッシュファイルの中 にあるハツシュ値と連続的に一致するデータブロックを探す。 一致する データブロックの間にあるデータは、 (0 , l e n g t h, d a t a ) に よってまとめ、 l z 7 7アルゴリ ズムを用いてコーディングして差分フ アイルに書き込む。 一致するデータブロックは、 ( 1 , I n d e x, n u m b e r ) によってまとめ、 Hu f f m a nアルゴリズムを用いてコー ディングして差分ファイルに書き込む。
図 9はこの差分データ計算ステップをより詳しく示したフローチヤ一 トの一例である。
例えば図 4の例では、 更新後のユーザデータ F 2により計算されたハ ッシュ値と、 ハッシュファイル記憶手段 1 3 0中の更新前のハッシュ値 が比較され、 ブロック b l ( a ) から b l ( e ) まではハッシュ値が一 致し、 b 2 ( f ) と b 2 (g) が不一致となり、 b 1 (h) と b 1 ( j ) がー致する。
例えば、 差分データ生成手段 1 4 0において、 b l (a) の I n d e xが 1 0 0である場合、 b l (a) 力 ら b l ( e ) の 5つのブロックか らは ( 1, 1 0 0, 5) が差分データとして生成される。 例えば変更後 の b 2 ( f ) と b 2 (g) の 2つのブロックのデータ長が 6 1バイ トな らば (0, 6 1 , b 2 ( f ) + b 2 (g)) が差分データとして生成され る。 また、 b l (h) 力 ら b l ( j ) の 3つのブロックからは ( 1, 1 0 7, 3) が差分データとして生成される。
上記の手順であれば、 差分データを計算するにあたり、 最新のュ ザ データ—つ分とハッシュフアイルーつ分で計算でき、 携帯電話などシス テムリ ソースが小さな環境であっても、 できるだけ小さなメモリ容量に よって差分データの計算が可能となる。
[差分データの受け渡し (図 8ステップ S 1 4 ) ]
上記手順により差分データ生成手段 1 4 0が生成した差分データをュ 一ザデータ組み立て手段 2 2 0に受け渡す。 例えば、 通信用プロ トコル ίま、 O M A— D S (Open mobile appliance- SyncML data sync) を用 いる。 ただし, 送信するデータは, テキス トでなく, バイナリ の差分デ ータである。
なお、 差分データの送受信のリ クエス トは利用者システム 1 0 0側か ら行なっても良いが、バックアップサーバ 2 0 0側から行なっても良レ、。 ί列えば、、 S M S ( S h o r t message service) によって差分テータ送 受信リクエス トを送る。
図 5は、 差分データが利用者システム 1 0 0からバックアップサーバ 2 0 0に送信される様子を模式的に示す図である。 小さな容量の差分デ ータファイルのみが送受信されるので、データ転送容量が小さくて済み、 ユーザのコス ト負担が小さくなる。
まず、 差分データの受け渡しにあたり、 ノくックアップサーバ 2 0 0と の間でユーザ認証を行なうことが好ましい。
[バックアップデータ生成 (図 8ステップ S 1 5、 S 1 6 ) ] 図 6はバックアップサーバ 2 0 0に差分データファイルが受け取られ てから、 更新後のユーザデータが復元される原理を模式的に説明した図 である。
バックアップサーバでは、 ユーザデータ組み立て手段 2 2 0により、 バックアップ用ユーザデータ記憶手段 2 1 0にある現バージョン (更新 前のパージヨン) のユーザデータと受信した差分データとを用いて、 新 しいバージョン (更新後のバージョン) のユーザデータを計算する。 まず、 更新処理に先立ち、 利用者システム 1 0 0とバックアップサー バ 2 0 0間には更新処理が重ねて実行されるため、 バージョン管理を行 なうことが重要である。 具体的には、 ユーザデータの MD5値を比較する ことによりバージョンを管理する。 具体的には、 現バージョンのデータ ファイルの MD5値を計算し、 この MD5値を差分データファイルにある現 ノく一ジョンの MD5値と比較することで確認する。 一致すればパージョン 管理が正しく行なわれており、 一致しなければバージョン管理に失敗し ている可能性が強く、 更新処理を中断することが好ましい。
更新処理は以下のように行なわれる。 差分データファイルの中から順 番に差分データを読み出してゆき、 次のように新しいバージョンのデ一 タを生成する。 (0, l e n g t h , d a t a ) を読み込んだ場合は " d a t a " 部分のデータを解凍 (デコード) して直接に新しいバージョ ン のデータファイルに書き込む。 一方、 ( 1, I n d e x , n u m b e r ) を読み込んだ場合は( i n d e x *ブロックサイズ)カゝら ·(( i n d e x + n u m b e r 一 1 ) *プロックサイズ)までのデータは更新により書き 替えられていないので更新する必要はない。 もちろん、 更新前と同じデ ータをファイルに出力することでも良い。 すべての差分データについて この作業を繰り返し実行すれば新しいバージョンのデータファイルが生 成される。
図 6の例では (0 , l e n g t h , b 2 ( f ) + b 2 ( g )) に基づい て現バージョンであったユーザデータ F 1の b 1 ( f ) と b l ( g ) が b 2 ( f ) と b 2 ( g ) に書き替えられ、 更新後パージヨ ンのユーザデ ータ F 2が復元される。
例えば、ユーザデータ組み立て手段 2 2 0において、差分データ ( 1 , 1 0 0, 5 ) 力、らは、 b l ( a ) 力、ら b l ( e ) の 5つのブロックは更 新がなく、 差分データ (0 , 6 1 , b 2 ( f ) + b 2 (g)) からは、 更 新前の b l ( f ) と b l (g) が更新後の b 2 ( f ) と b 2 (g) に更 新され、 差分データ ( 1, 1 0 7, 3) からは、 b 1 (h) から b 1 ( j ) の 3つのブロックは更新がないものとされる。
最後にユーザデータ F 2がバックアップ用ユーザデータ記憶手段 2 1 0に保存される。
なお、 ユーザデータをそのまま記憶するとデータ容量が大きくなるの で、 ユーザデータを圧縮して記憶することも可能である。 圧縮しておく と、 後述するように、 バックアップサーバ 2 0 0から利用者システム 1 0 0にユーザデータをリス トァする際にネッ トワーク上送信されるデー タ容量が小さくなるので好ましい。
さらに、 バックアップサーバでの更新後のユーザデータの復元処理に おいてもバージョン管理を徹底するため、 生成した新しいバージョンの データファイルの MD5値を計算し、 差分データファイルにある新しいバ 一ジョ ンのデータファイルの MD5値と比較することも好ましい。 一致し ていることを確認できればバックアップデータの復元作業が成功したこ ととなる。 もし一致しなければ、 何らかの不具合によりバックアップデ ータの復元作業が失敗したこととなる。
次に、 実際に利用者システム 1 0 0において、 ユーザデータに不具合 が生じてデータが消失した場合などバックアップサーバ 20 0からデー タ リス トァを行なう基本手順を図 7、 図 1 0から図 1 3を参照しつつ説 明する。
[データリス トア要求]
まず、 リス トァにあたり、 利用者システム 1 0 0からバックァップサ —バ 2 0 0にデータリス トァ要求を行なう (図 1 0ステップ S 3 1 )。 な お、 セキュリティ上、 データリス トア要求に先立ち、 利用者システム 1 0 0からバックァップサーバ 2 0 0との間でユーザ認証確認を行なうこ とが好ましい。
[データリス トア (図 1 0ステップ S 3 2 ) ]
データリス トァ要求に従い、 バックァップサーバ 2 0 0内のバックァ ップ用ユーザデータ記憶手段 2 1 0から、 ネッ トワークを介して、 利用 者システム 1 0 0内のユーザデータ記憶手段 1 2 0に対してユーザデー タがリス トァさ; る。
なお、 ユーザデータをそのまま送受信するとデータ容量が大きくなる ので、 ユーザデータを圧縮して送受信し、 利用者システム 1 0 0内で解 凍してユーザデータ記憶手段に復元することが好ましい。 この例ではュ 一ザデータが圧縮されているものとする。
[データ解凍 (図 1 0ステップ S 3 3 ) ]
利用者システム 1 0 0はユーザデータを受け取ったあと、 必要に応じ て解凍処理を施す。
[データ保存 (図 1 0ステップ S 3 4 ) ]
利用者システム 1 0 0は解凍したユーザデータをユーザデータ記憶手 段 1 2 0に保存 ·復元する。
以上が、 バックアップサーバ 2 0 0から利用者システム 1 0 0上にュ 一ザデータをリス トアする基本手順である。 '
図 1 1はデータリ ス トァステップをより詳しく示したフローチヤ一ト の一例である。
なお、 上記に示したリス トァの形態には複数のケースが存在する。 第 1のケースは、 利用者システム 1 0 0自体はそのままで、 消失した ユーザデータをもう一度再構築するケースである。 第 2のケースは、 利用者システム 1 0 0 aを買い替えたり紛失 ·盗難 されたり したために同じ機種の新しい利用者 1 0 0 bにリプレースし、 新しい利用者システム 1 0 0 b上にユーザデータを構築するケースであ る。 図 1 2は第 2のケースを示している。 ノ ックアップサーバ 2 0 0に は利用者システム 1 0 0 aのユーザデータ Aがバックァップされており、 新しい利用者システム 1 0 0 bにリプレースされた場合、 利用者システ ム 1 0 0 bからデータリス トア要求が出され、 それに答える形で利用者 システム 1 0 0 bにユーザデータ Aがリス トアされる。
第 3のケースは、 利用者システム 1 0 0 aを買い替えたり紛失 ·盗難 されたり したために異なる他メーカ機種の新しい利用者 1 0 0 bにリプ レースし、 新しい利用者システム 1 0 0 b上にユーザデータを構築する ケースである。 図 1 3は第 3のケースを示している。
なお、 第 3のケースにおいてデータリス トァをスムーズに行なうため に、 バックアップサーバ 2 0 0内にユーザデータ形式の変換手段 (図示 せず) を備えていることが好ましい。 第 3のケースではメーカ機種の違 レ、によりユーザデータ形式が異なることが想定されるところ、 リプレー ス前の機種の利用者システム 1 0 0 aのユーザデータ形式からリプレー ス後の機種の利用者システム 1 0 0 bのユーザデータ形式へのフォーマ ッ ト変換が実行できればバックアップサーバ 2 0 0から利用者システム 1 0 0 bに対して直接データリス トアが可能となる。 例えば、 変換にあ たり、 共通の中間フォーマツ トを利用してフォーマッ ト変換を橋渡しし ても良い。 例えば、 V C a r d形式を共通の中間フォーマッ トと しても 良い。
次に、 データ消去機能の工夫について説明する。
利用者システム 1 0 0においてアプリケーションの利用に伴い蓄積さ れてゆくユーザデータは、 電子電話帳データ、 電子メールデータ、 カメ ラ画像データ、 文書データ等の重要な個人やビジネス情報である場合が 多い。 携帯電話などの利用者システムが紛失したり盗難されたり した場 合は当該利用者システム内に残されたユーザデータが不正に利用される 恐れがある。 そこで、 リモートで強制的にユーザデータを消去できる機 能を搭載する工夫を盛り込んでおく ことが好ましい。
例えば、 利用者システム 1 0 0のユーザデータ記憶手段 1 2 0 とハツ シュファイル記憶手段 1 3 0が、 消去コマンドに基づいて、 記憶してい るデータを消去する自己データ消去機能を備えていることが好ましい。 いま、利用者システム 1 0 0 aを紛失したり盗難にあったり した場合、 図 1 2、 図 1 3に見るようにユーザデータ Aが利用者システム 1 0 0 a に残されたままである。 そこで、 利用者は、 新しい利用者システム 1 0 O bにユーザデータ Aを移行するとともに、 利用者システム 1 0 0 aに 残されたユーザデータ Aを消去すべく、 バックアツプサーバ 2 0 0の管 理者と連絡をと り、 利用者システム 1 0 0 aに残されたユーザデータ A を消去すべく、 消去コマン ドを発してもらう。 例えば、 S M S ( Short Message Service) によって消去コマン ドを送る。 利用者システム 1 0 0 aにおいて、 バックアップサーバ 2 0 0から送信された消去コマンド を受信した場合、 ユーザデータ記憶手段 1 2 0とハッシュファイル記憶 手段 1 3 0の自己データ消去機能により、 ユーザデータおよびハッシュ データが消去される。
以上、 本発明のワイヤレスデバイスシステムの好ましい実施形態を図 示して説明してきたが、 本発明の技術的範囲を逸脱することなく種々の 変更が可能であることは理解されるであろう。
産業上の利用可能性
本発明は、 携帯電話などのワイヤレスデバイス、 インテリジェント家' 電製品、 ロボッ ト、 車 (カーナビゲーシヨ ンシステム)、 工作機械装置な ど多様なシステムに広く適用することができる。

Claims

請求の範囲
1 . プロセッサとメモリ と通信手段を含むシステムリ ソースと、 ァプ リケーションとを備えた利用者システムに適用されるデータバックアツ プシステムであって、
前記アプリケーショ ンの利用に応じて逐次更新されるユーザデータに ついて上書き更新により最新版のユーザデータのみを記憶するユーザデ ータ記憶手段と、
前記ユーザデータのブロックごとに計算されるハッシュデータを記憶 するハッシュフアイル記憶手段と、
前記ハッシュファイル記憶手段により記憶されている更新前のユーザ データから生成されたハッシュデータと、 更新後のユーザデータから生 成されたハッシュデータを基に、 プロックごとにユーザデータの更新の 有無を検知し、 両者の差分データを生成する差分データ生成手段を備え たことを特徴とするデータバックァップシステム。
2 . 前記差分データ生成手段が、 前記更新前ハッシュデータと前記更 新後ハッシュデータとが一致している一連のデータブロックに対しては 先頭のデータブロックのィンデッタスと連続するデータブロック数を差 分データとし、 前記更新前ハッシュデータと前記更新後ハッシュデータ とが一致していないデータプロックに対しては更新後のユーザデータの データブロックをそのまま差分データとして、 差分データを生成する請 求項 1に記載のデータバックアップシステム。
3 . 前記利用者システムとネッ トワークを通じて通信可能なパックァ ップサーバにおいて、
ユーザデータを記憶するバックァップ用ユーザデータ記憶手段と、 前記差分データ生成手段から前記差分データを受け取り、 前記バック ァップ用ユーザデータ記憶手段中にある直近の更新にかかるユーザデー タと前記差分データを基に、 更新後のユーザデータを組み立て、 前記バ ックァップ用ユーザデータ記憶手段に格納するユーザデータ組み立て手 段とを備えた請求項 1または 2に記載のデータバックァップシステム。
4 . 前記利用者システムまたは新しい利用者システムに前記ユーザデ ータを回復または移行する場合において、 前記バックァップサーバのバ ックアップ用ユーザデータ記憶手段に格納されている最新版の前記ユー ザデータを、 前記利用者システムのユーザデータ記憶手段に移行 ·記憶 させ、 直近の前記ユーザデータを前記利用者システムに引き継がせるこ とを特徴とする請求項 3に記載のデータバックアップシステム。
5 . 前記ユーザデータ記憶手段と前記ハッシュフアイル記憶手段が、 消去コマンドに基づいて、 記憶しているデータを消去する自己データ消 去機能を備え、
前記利用者システムにおいて、 前記バックアップサーバから送信され た消去コマンドを受信した場合、 前記ユーザデータ記憶手段と前記ハッ シュファイル記憶手段が、 前記自己データ消去機能により、 前記ユーザ データおよび前記ハッシュデータを消去する請求項 3または 4に記載の データバックアップシステム。
6 . 前記利用者システムがワイヤレスモパイルシステムである請求項 1から 5のいずれかに記載のデータバックアップシステム。
7 . プロセッサとメモリ と通信手段を含むシステムリ ソースと、 ァプ リケーションを備えた利用者システムに適用されるデータバックアップ 方法であって、
前記アプリケーションの利用に応じて逐次更新されるユーザデータに ついて上書き更新により最新版のユーザデータのみをユーザデータ記憶 手段に記憶し、
前記ユーザデータのプロックごとに計算されるハッシュデータをハッ シュフアイル記憶手段に記憶し、
前記ハツシュファイル記憶手段により記憶されている更新前のユーザ データから生成されたハッシュデータと、 更新後のユーザデータから生 成されたハッシュデータを基に、 ブロックごとにユーザデータの更新の 有無を検知し、 両者の差分データを求めることを特徴とするデータバッ クァップ方法。
8 . 前記差分データ生成においてが、 前記更新前ハッシュデータと前 記更新後ハッシュデータとが一致している一連のデータブロックに対し ては先頭のデータブロックのィンデックスと連続するデータブロック数 を差分データとし、 前記更新前ハッシュデータと前記更新後ハッシュデ ータとが一致していないデータブロックに対しては更新後のユーザデー タのデータプロックをそのまま差分データと して、 差分データを生成す る請求項 Ίに記載のデータバック了ップ方法。
9 . 前記利用者システムとネッ トワークを通じて通信可能なパックァ ップサーバにおいて、
ユーザデータをバックアップ用ユーザデータ記憶手段に記憶しておき、 前記利用者システムから前記差分データを受信し、
前記バックアップ用ユーザデータ記憶手段中にある直近の更新にかか るユーザデータと前記差分データとを基に、 更新後のユーザデータを組 み立てて記憶しておく請求項 7に記載のデータバックアツプ方法。
PCT/JP2006/313184 2005-06-28 2006-06-27 データバックアップシステムおよびデータバックアップ方法 WO2007001073A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-217969 2005-06-28
JP2005217969A JP2008235951A (ja) 2005-06-28 2005-06-28 差分方式によるモバイルユーザデータのバックアップ

Publications (1)

Publication Number Publication Date
WO2007001073A1 true WO2007001073A1 (ja) 2007-01-04

Family

ID=37595308

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/313184 WO2007001073A1 (ja) 2005-06-28 2006-06-27 データバックアップシステムおよびデータバックアップ方法

Country Status (2)

Country Link
JP (1) JP2008235951A (ja)
WO (1) WO2007001073A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257474A (ja) * 2007-04-04 2008-10-23 Oki Electric Ind Co Ltd データ圧縮装置、データ併合装置、データ整序装置、データ統合システム、無線タグデータ統合システム、データ圧縮プログラム、データ併合プログラム及びデータ整序プログラム
JP2009181311A (ja) * 2008-01-30 2009-08-13 Hitachi Computer Peripherals Co Ltd データ比較装置
JP2010067055A (ja) * 2008-09-11 2010-03-25 Ri Co Ltd バックアッププログラム
JP2010257330A (ja) * 2009-04-27 2010-11-11 Nec System Technologies Ltd ログファイル管理システム、ログファイル管理方法及びプログラム
JP2011081537A (ja) * 2009-10-06 2011-04-21 Psc:Kk データ受渡方法及び汎用データ取得方法
JP2013080379A (ja) * 2011-10-04 2013-05-02 Dainippon Printing Co Ltd セキュリティトークン、データの更新方法及びコンピュータプログラム
KR20140057577A (ko) * 2011-09-02 2014-05-13 마이크로소프트 코포레이션 효율적인 애플리케이션-인식 재난 복구
JP2014524603A (ja) * 2011-08-03 2014-09-22 アマゾン テクノロジーズ インコーポレーテッド ローカルに記憶されたデータファイルに関連付けられたトランザクションデータの収集
JP2017156913A (ja) * 2016-03-01 2017-09-07 Kddi株式会社 情報処理システム、情報処理装置及び情報処理方法
JP2020017192A (ja) * 2018-07-27 2020-01-30 株式会社牧野フライス製作所 工作機械の制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051377A (ja) * 2000-07-31 2002-02-15 Toshiba Corp 携帯通信端末の個人登録情報のバックアップサービス提供方法
JP2004152136A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051377A (ja) * 2000-07-31 2002-02-15 Toshiba Corp 携帯通信端末の個人登録情報のバックアップサービス提供方法
JP2004152136A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257474A (ja) * 2007-04-04 2008-10-23 Oki Electric Ind Co Ltd データ圧縮装置、データ併合装置、データ整序装置、データ統合システム、無線タグデータ統合システム、データ圧縮プログラム、データ併合プログラム及びデータ整序プログラム
JP2009181311A (ja) * 2008-01-30 2009-08-13 Hitachi Computer Peripherals Co Ltd データ比較装置
JP2010067055A (ja) * 2008-09-11 2010-03-25 Ri Co Ltd バックアッププログラム
JP2010257330A (ja) * 2009-04-27 2010-11-11 Nec System Technologies Ltd ログファイル管理システム、ログファイル管理方法及びプログラム
JP2011081537A (ja) * 2009-10-06 2011-04-21 Psc:Kk データ受渡方法及び汎用データ取得方法
JP2014524603A (ja) * 2011-08-03 2014-09-22 アマゾン テクノロジーズ インコーポレーテッド ローカルに記憶されたデータファイルに関連付けられたトランザクションデータの収集
US9785664B2 (en) 2011-08-03 2017-10-10 Amazon Technologies, Inc. Gathering transaction data associated with locally stored data files
KR20140057577A (ko) * 2011-09-02 2014-05-13 마이크로소프트 코포레이션 효율적인 애플리케이션-인식 재난 복구
JP2014525635A (ja) * 2011-09-02 2014-09-29 マイクロソフト コーポレーション 効率的なアプリケーション対応の障害復旧
KR101960993B1 (ko) 2011-09-02 2019-03-21 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 효율적인 애플리케이션-인식 재난 복구 기법
JP2013080379A (ja) * 2011-10-04 2013-05-02 Dainippon Printing Co Ltd セキュリティトークン、データの更新方法及びコンピュータプログラム
JP2017156913A (ja) * 2016-03-01 2017-09-07 Kddi株式会社 情報処理システム、情報処理装置及び情報処理方法
JP2020017192A (ja) * 2018-07-27 2020-01-30 株式会社牧野フライス製作所 工作機械の制御装置

Also Published As

Publication number Publication date
JP2008235951A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
WO2007001073A1 (ja) データバックアップシステムおよびデータバックアップ方法
US6925476B1 (en) Updating application data including adding first change log to aggreagate change log comprising summary of changes
JP4778061B2 (ja) 代表的な情報を比較することによる効率的なデータベースの同期化
TWI258945B (en) Installing software on a mobile computing device using the rollback and security features of a configuration manager
KR100506785B1 (ko) 정보의 업데이트 및 배포 시스템 및 방법
US7707190B2 (en) Method for restoring backup data
CN101877651B (zh) 一种网络终端设备中恢复系统软件的方法和系统
JP2004518216A (ja) 処理情報に応答してマスストレージ装置を以前の状態に復元すること
US20050210458A1 (en) Communication terminal software updating method, communication terminal, and software updating method
EP1199636A3 (en) Self-repairing operating system for computer entities
CN101090356A (zh) 使能对远程存储装置的访问的方法和系统
US20100293141A1 (en) Method and a System for Obtaining Differential Backup
CN101930387A (zh) 用于更新压缩只读文件系统的改进的容错方法及装置
JP2003044608A5 (ja)
WO2011153847A1 (zh) 一种备份或恢复移动终端用户数据的方法及系统
JPWO2006001507A1 (ja) 情報提供システム、情報提供サーバ、携帯端末、情報提供制御プログラム及び携帯端末制御プログラム
WO2021208400A1 (zh) 现代应用的备份恢复系统及方法
JP3864337B2 (ja) バージョンアップ方法
CN107943501A (zh) 嵌入式设备升级方法、装置、计算机设备和存储介质
CN112800019A (zh) 基于Hadoop分布式文件系统的数据备份方法及系统
CN106055430A (zh) 云台摄像头的系统备份更新方法及装置
EP2191375A1 (en) Converting backup copies of objects created using a first backup program to backup copies created using a second backup program
WO2005088448A1 (en) Method and apparatus for reliable in-place update
US20130198137A1 (en) Data backup and restoral apparatus, system, and methods
KR101085681B1 (ko) 이동통신 단말기의 데이터 복구 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06767762

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP