JPWO2005055055A1 - データ管理システム - Google Patents

データ管理システム Download PDF

Info

Publication number
JPWO2005055055A1
JPWO2005055055A1 JP2005511269A JP2005511269A JPWO2005055055A1 JP WO2005055055 A1 JPWO2005055055 A1 JP WO2005055055A1 JP 2005511269 A JP2005511269 A JP 2005511269A JP 2005511269 A JP2005511269 A JP 2005511269A JP WO2005055055 A1 JPWO2005055055 A1 JP WO2005055055A1
Authority
JP
Japan
Prior art keywords
data
update difference
ver
version
latest version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005511269A
Other languages
English (en)
Inventor
浩平 寺薗
浩平 寺薗
岡田 佳之
佳之 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2005055055A1 publication Critical patent/JPWO2005055055A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムである。 データ格納部(20a)に格納されたデータから、最新のバージョンのデータへ更新可能な更新差分データを作成する第1の更新差分作成部(11a)と、更新差分データ格納部(18)に格納された更新差分データと第1の更新差分作成部(11a)によって作成された更新差分データとに基づいて、データ格納部(20a)に格納されたデータよりも前の各バージョンから最新のバージョンのデータへ更新可能な更新差分データを生成する第2の更新差分作成部(12,12’、12”)とをそなえて構成することにより、情報処理装置のデータの更新処理を高速に行なうとともに、最新のバージョンのデータが作成された場合に、この最新のバージョンのデータを高速に登録可能であり、且つ、使用するデータ容量を少なくすることができる。

Description

本発明は、例えばLAN(Local Area Network)等の手段で通信可能に接続されたコンピュータや携帯電話器等の情報処理装置に格納されたデータ(プログラム)のバージョンの管理に関し、情報処理装置のデータを最新のバージョンに更新する更新処理に用いて好適な、データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体に関する。
例えば、携帯電話器等のような組込型システムの情報処理装置は、内部のメモリに格納されたソフトウェア(プログラム)をCPU(Central Processing Unit)が実行することにより動作しており、又、これらのプログラムは、不具合の除去や仕様変更,機能拡張等、必要に応じて更新(バージョンアップ)されることがある。
このようなプログラムが更新され新しいバージョンのプログラムが作成された場合には、この最新のバージョンのプログラムを情報処理装置に速やかに提供して、情報処理装置においてプログラムを最新のバージョンに更新することが望ましい。
さて、最新のバージョンのプログラムが作成される度に、その最新のバージョンのプログラム全体をLAN等の通信回線を介して情報処理装置に送信する代わりに、変更された部分のみのデータである更新差分データだけを送信することで、通信回線におけるデータの通信量を軽減したり、情報処理装置におけるプログラムの更新処理にかかる時間を短くする手法が知られている。
図15および図16はそれぞれ従来のプログラムの更新管理手法を説明するための図である。例えば、特開平11−272471号公報(下記特許文献1)や、特開2000−10787号公報(下記特許文献2),特開2002−91776号公報(下記特許文献3),特開平10−3415号公報(下記特許文献4)には、ネットワーク(通信回線)を介して接続されたコンピュータ(計算機)に対して、各コンピュータにおいて用いられているプログラムとその最新バージョンのプログラムとの差分データ(バージョンアップデータ)を送信するシステムが開示されている。
図15は特許文献1および特許文献2にかかる従来のシステムの機能構成を模式的に示す図であるが、この図15に示すように、特許文献1および特許文献2にかかる従来のシステムにおいては、送信側(プログラムローダ)において、各バージョンのプログラム全体を保存するとともに、各バージョンのプログラムに対する最新バージョンへの差分データを保存・管理し、通信回線を介して接続された受信側コンピュータ(計算機)に対して、この差分データを送信するようになっている。
また、図16は特許文献3および特許文献4にかかる従来のシステムの機能構成を模式的に示す図であるが、この図16に示すように、特許文献3および特許文献4にかかる従来のシステムにおいては、サーバ側において、最新のバージョン(Ver.N−1)のプログラム全体を保存するとともに、システム中における最も古いバージョン(例えばVer.1)から最新のバージョン(Ver.N−1)までの各バージョンについて、それぞれ1つ新しいバージョンに更新するための差分データ(例えば、Ver.1からVer.2,Ver.2からVer.3・・・,Ver.N−2からVer.N−1等)をそれぞれ保存するようになっている。すなわち、最新のバージョン(Ver.N−1)のプログラム全体とともに、隣り合う世代のバージョン間の差分データを各バージョン毎にそなえている。
そして、この図16に示す従来手法においては、クライアントのプログラムを最新のバージョンに更新する際には、そのクライアントのプログラムのバージョンから順番にそのクライアントのプログラムが最新のバージョンになるまで、各バージョンに対応する差分データのクライアントへの送信と、そのクライアントにおける差分データを用いた展開(更新処理)とを繰り返し行なうようになっている。
しかしながら、図15に示す従来手法においては、各バージョンのプログラム全体を保存しているので保持すべきデータ量が多くなり、かかるデータの格納領域を確保するためにハードウェアの製造コストが高くなり非経済的であるという課題がある。特に、プログラムの更新が数多く行なわれバージョン数が多くなるに従って、保存するデータ量も増えるのである。又、新しいバージョン(Ver.N)のプログラムが作成された場合には、この最新のプログラムを登録する際に、新旧プログラムの比較ツール等を用いて、既存の各バージョンのプログラムから新たに作成された最新バージョンのプログラムに更新するための差分データをそれぞれ作成する必要があり、かかる差分データの作成工程が繁雑であるとともに時間がかかるという課題もある。
また、図16に示す従来手法においては、クライアントのプログラムを最新のバージョンに更新する際には、そのクライアントのプログラムのバージョンに対応する差分データをから順番に、そのクライアントのプログラムが最新のバージョンになるまで、各バージョンに対応する差分データのクライアントへの送信と、そのクライアントにおける差分データを用いた展開(更新処理)とを繰り返し行なう必要があり、例えば、クライアントのプログラムのバージョンが何世代も前のバージョンである場合には、更新処理が繁雑であるとともに時間がかかるという課題がある。
本発明は、このような課題に鑑み創案されたもので、情報処理装置のデータの更新処理を高速に行なうとともに、最新のバージョンのデータが作成された場合に、この最新のバージョンのデータを高速に登録可能であり、且つ、使用するデータ容量を少なくすることが可能な、データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体を提供することを目的とする。
特開平11−272471号公報 特開2000−10787号公報 特開2002−91776号公報 特開平10−3415号公報
上記の目的を達成するために、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部と、前記データ格納部に格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部と、該データ格納部に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
なお、前記更新差分データ格納部に格納された更新差分データを、前記第1の更新差分作成部によって作成された更新差分データおよび前記第2の更新差分作成部によって作成された更新差分データと置換する新旧更新差分データ置換部と、前記データ格納部に格納されたデータを、前記最新バージョンデータ入力部から入力された前記最新のバージョン(Ver.N)のデータと置換する新旧データ置換部とをそなえてもよい。
また、前記更新差分データ格納部が複数の更新差分データをそなえるとともに、前記複数の更新差分データの中から、情報処理装置に格納された該データのバージョンに応じて一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえてもよい。
さらに、該第2の更新差分作成部が、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記更新差分データ格納部に格納された更新差分データと前記第1の更新差分作成部によって作成された更新差分データとのいずれもが「複写」を意味する部分については、作成する更新差分データにおける当該位置に複写を、前記更新差分データ格納部に格納された更新差分データと前記第1の更新差分作成部によって作成された更新差分データとの少なくとも一方が「新規」を意味する部分については、作成する更新差分データにおける当該位置に新規を、前記更新差分データ格納部に格納された更新差分データが移動であり、且つ前記第1の更新差分作成部によって作成された更新差分データが「複写」もしくは「移動」を意味する部分と、前記更新差分データ格納部に格納された更新差分データが「複写」であり、且つ前記第1の更新差分作成部によって作成された更新差分データが「移動」を意味する部分については、作成する更新差分データにおける当該位置に移動を、それぞれ設定してもよい。
また、該第2の更新差分作成部が、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前のバージョンのデータに基づいて作成した第1ダミーデータに、前記更新差分データ格納部に格納された該更新差分データを適用することにより、前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)の第2ダミーデータを作成した後、当該第2ダミーデータに、前記第1の更新差分作成部によって作成された更新差分データを適用することにより、前記最新のバージョン(Ver.N)のデータ同一のバージョンの第3ダミーデータを作成し、当該第3ダミーデータに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成してもよい。
さらに、該第2の更新差分作成部が、該第2更新差分データ格納部に格納された更新差分データと、前記第1の更新差分作成部によって作成された更新差分データと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、
(1)第1のダミー空データ(Ver.N−1の空データ)と該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータと前記第1の更新差分作成部によって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、前記第1の更新差分作成部によって作成された更新差分データ(Ver.N−1からVer.N)を解析して、該第1のダミー空データ中に前記最新のバージョン(Ver.N)のデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第1のダミーデータを作成し、
(2)第2のダミー空データ(Ver.Xの空データ)と該第1のダミーデータと前記更新差分データ格納部に格納された更新差分データ(Ver.XからVer.N−1)とに基づいて、前記更新差分データ格納部に格納された更新差分データ(Ver.XからVer.N−1)を解析して、該第2のダミー空データ中に前記第1のダミーデータの一部を複写するとともに、当該第2のダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第2のダミーデータを作成し、
(3)該第2のダミーデータと該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとを比較することにより、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成してもよい。
なお、該更新差分データ格納部に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部をそなえてもよい。
また、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを、前記複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部に格納されたデータと、該第1の更新差分データ格納部に格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成部と、該データ生成部によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョン(Ver.X)のデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部と、該更新差分作成部によって作成された該更新差分データを格納する第2の更新差分データ格納部とをそなえることを特徴としている。
なお、該データ格納部に、前記複数のバージョンのうち最も古いバージョンの該データを格納してもよい。
また、該第2の更新差分データ格納部に前記更新差分作成部によって作成された更新差分データを格納する際に、該第2の更新差分データ格納部に格納されている、前記各バージョン(Ver.X)のデータから前記最新のバージョン(Ver.N)より前のバージョン(Ver.N−1)の該データへ更新可能な該更新差分データを、前記更新差分作成部(11b)によって作成された更新差分データと置換する新旧更新差分データ置換部をそなえてもよい。
さらに、該第2の更新差分データ格納部に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部をそなえてもよい。
また、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを、前記最新バージョンデータ入力部から入力される最新のバージョン(Ver.N)よりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータへ更新可能な更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部(20b)に格納されたデータと、該第1の更新差分データ格納部に格納された更新差分データとに基づいて、前記最新バージョンデータ入力部から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータを生成するデータ生成部と、該データ生成部によって生成されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータとに基づいて、前記最新バージョンデータ入力部から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータから、前記最新バージョンデータ入力部から入力される最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータよりも前の各バージョン(Ver.X)から当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する第2の更新差分データ格納部と、該第2の更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータよりも前の各バージョンから、最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
さらに、本発明のデータ管理装置は、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部と、前記データ格納部に格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部と、該データ格納部に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
また、本発明のデータ管理装置は、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納部と、前記データ格納部に格納された該データを、前記複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部に格納されたデータと、該第1の更新差分データ格納部に格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成部と、該データ生成部によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部と、該更新差分作成部によって作成された該更新差分データを格納する第2の更新差分データ格納部とをそなえることを特徴としている。
さらに、本発明のデータ管理方法は、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、該最新バージョンよりも前のバージョンであって、当該データ供給システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納ステップにおいて格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとをそなえることを特徴としている。
また、本発明のデータ管理方法は、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとをそなえることを特徴としている。
さらに、本発明のデータ供給システムは、更新可能なデータを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、前記最新のバージョンのデータを格納する最新バージョンデータ格納部と、前記最新のバージョン(Ver.N)よりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する更新差分データ格納部と、該情報処理装置に格納された該データのバージョンに応じて、該更新差分データ格納部に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえることを特徴としている。
また、本発明のデータ供給システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、前記最新のバージョンよりも古いバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを各バージョンのデータに更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記最新のバージョンよりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する第2の更新差分データ格納部と、該情報処理装置に格納された該データのバージョンに応じて、該第2の更新差分データ格納部に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえることを特徴としている。
さらに、本発明のデータ管理プログラムは、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、該最新バージョンよりも前のバージョンであって、前記最新バージョンデータ入力ステップにおいて入力されるデータよりも前のバージョンのうちで最も新しいバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとを、該コンピュータに実行させることを特徴としている。
また、本発明のデータ管理プログラムは、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとを、該コンピュータに実行させることを特徴としている。
なお、本発明のコンピュータ読取可能な記録媒体は、上述したデータ管理プログラムを記録したものである。
このように、本発明によれば、以下の効果ないし利点がある。
(1)一度の更新処理で各バージョンから最新のバージョンにデータを更新することができ、データの更新を短時間で行なうことができる。
(2)データや更新差分データの格納に要する容量を少なく構成することができる。
(3)最新のデータを容易に登録することができ、システム管理者の工数を低減することができる。
(4)最新のバージョンのデータが新たに作成された場合においても、常に最新のデータに更新可能な更新差分データを登録することができ、システムの信頼性を向上させることができる。
(5)最新のバージョンへの更新差分データを短時間で作成することができる。
(6)所定のバージョンに対する更新差分データを容易且つ高速に取得することができ利便性が高い。
(7)更新差分データの容量を小さくすることができる。
図1は本発明の第1実施形態としてのデータ管理システム(データ供給システム)の構成を模式的に示すものである。
図2は本発明の第1実施形態としてのデータ管理システムにおける更新差分データ格納情報テーブルの例を示す図である。
図3は本発明の第1実施形態としてのデータ管理システムにおける第1更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。
図4Aおよび図4Bは本発明の第1実施形態としてのデータ管理システムにおける第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。
図5は本発明の第1実施形態としてのデータ管理システムにおいて、最新のバージョンのデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を説明するための図である。
図6は本発明の第1実施形態としてのデータ管理システムにおける情報処理装置のデータの更新手法を説明するためのフローチャートである。
図7Aおよび図7Bは本発明の第1実施形態としてのデータ管理システムの変形例における第2更新差分作成部による、更新差分データの作成手法を説明するためのフローチャートである。
図8は本発明の第1実施形態の第1変形例において用いられるダミーデータの例を示す図である。
図9は本発明の第1実施形態としてのデータ管理システムの第2変形例の構成を模式的に示す図である。
図10Aおよび図10Bは本発明の第1実施形態としてのデータ管理システムの第2変形例における第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。
図11は本発明の第2実施形態としてのデータ管理システムの構成を模式的に示す図である。
図12は本発明の第2実施形態としてのデータ管理システムにおいて、最新のバージョンのデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を説明するための図である。
図13は本発明の第2実施形態としてのデータ管理システムの変形例の構成を模式的に示す図である。
図14は本発明の第3実施形態としてのデータ管理システムの構成を模式的に示す図である。
図15および図16は従来のプログラムの更新管理手法を説明するための図である。
以下、図面を参照して本発明の実施の形態を説明する。
(A)第1実施形態の説明
図1は本発明の第1実施形態としてのデータ管理システム(データ供給システム)の構成を模式的に示すものである。
本第1実施形態のデータ管理システム1aは、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
なお、本データ管理システム1aにおいて管理するデータとしては、情報処理装置3において実行される種々のプログラム(ソフトウェア)やプログラムによって用いられる種々のデータ等であり、以下、これらのプログラムやデータ等を含む概念を総称して単にデータと称する。
また、以下、本実施形態においては、データ管理システム1aに登録されているデータの複数のバージョン(既存のバージョン)のうち最も新しいバージョンがVer.N−1であり、新たに作成され、これから本データ管理システム1aに登録される最新のバージョンをVer.Nとして表わす。
本発明の第1実施形態としてのデータ管理システム1aは、図1に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2aをそなえて構成されている。このデータ管理サーバ2aは、例えば、サーバ機能をそなえたコンピュータによって実現され、図1に示すように、最新バージョンデータ入力部10,第1更新差分作成部(第1の更新差分作成部)11a,第2更新差分作成部(第2の更新差分作成部)12,選択部13,バージョン取得部14,更新差分データ送出部(提供部)15,新旧データ置換部16,不要更新差分除去部(更新差分データ削除部)17,更新差分データ格納部18,新旧更新差分データ置換部19,データ格納部(最新バージョンデータ格納部)20aおよび更新差分データ格納情報テーブル21aをそなえて構成されている。
管理サーバ2aと情報処理装置3とは、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus),無線LAN,ブルートゥース(Bluetooth)等の有線,無線を問わず種々の通信手法で接続されている。
最新バージョンデータ入力部10は、最新のバージョン(Ver.N)のデータを取得(入力)するためのものであり、例えば、コンピュータシステムにおけるキーボード,マウスやフレキシブルディスクドライブ等の入力機能をそなえる種々のデバイスの他、アプリケーションにおけるAPI(Application Program Interface)等によって実現される。
データ格納部(最新バージョンデータ格納部)20aは、最新バージョンデータ入力部10によって入力される最新バージョン(Ver.N)よりも前のバージョンであって、かかる最新バージョン(Ver.N)のデータが作成されるまでは最新のバージョン(Ver.N−1)であったデータを格納するものである(Nは整数)。すなわち、データ管理サーバ2a内における最新のバージョンのデータ全体を格納するものである。このデータ格納部20aは、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
更新差分データ格納部18は、データ格納部20aに格納されたデータよりも前の各バージョン(例えば、Ver.1〜Ver.N−2)から、データ格納部20aに格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納するものである。
なお、以下、データの任意のバージョンを変数X(ただし、Xは1≦X≦N−2)を用いて、Ver.Xの如く示す場合もある。
この更新差分データ格納部18もデータ格納部20aと同様に、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
また、以下、本実施形態においては、更新差分データは、「新規」,「複写」および「移動(参照ポインタの移動)」の3種類の差分コードから構成されており、これらの差分コードは、それぞれ「複写長」,「新規データ長」および「移動量」という属性をそなえている。
更新差分データ格納情報テーブル21aは、更新差分データ格納部18に格納されている各更新差分データの格納位置を管理するテーブルである。
図2は本発明の第1実施形態としてのデータ管理システム1aにおける更新差分データ格納情報テーブル21aの例を示す図である。この図2に示すように、更新差分データ格納情報テーブル21aは、更新前のバージョンとそのバージョンに対応する、すなわち、そのバージョンのデータを更新するための更新差分データの格納位置(格納アドレス)とを関連付けて登録することによって構成されており、後述する選択部13が、この更新差分データ格納情報テーブル21aを参照することにより、特定バージョンに対応する更新差分データの格納場所を高速に参照・取得することができるようになっている。
また、この更新差分データ格納情報テーブル21aは、新旧更新差分データ置換部19(後述)が、更新差分データ格納部18に格納されている更新差分データの置換を行なう際に、併せて更新するようになっている。
さらに、不要更新差分除去部17(後述)が、特定の更新差分データを更新差分データ格納部18から削除した場合には、不要更新差分除去部17は、更新差分データ格納情報テーブル21aにおけるその更新差分データの格納位置も削除するようになっている
新旧更新差分データ置換部19は、更新差分データ格納部18に格納された更新差分データを、第1更新差分作成部11aによって作成された更新差分データおよび第2更新差分作成部12によって作成された更新差分データと置換するものである。この新旧更新差分データ置換部19は、第1更新差分作成部11aが更新差分データを作成する度に、その更新差分データを新たに追加し、又、第2更新差分作成部12が更新差分データ作成する度に、更新差分データ格納部18に格納されているそのバージョン(更新前のバージョン)が同一の更新差分データを、第2更新差分作成部12によって作成された新しい更新差分データと置換するようになっている。
また、新旧更新差分データ置換部19は、第1更新差分作成部11aによって作成された更新差分データを更新差分データ格納部18に新たに追加する場合には、その更新差分データの格納位置(格納アドレス)を更新差分データ格納情報テーブル21aに記録するようになっている。又、新旧更新差分データ置換部19は、第2更新差分作成部12によって作成された更新差分データを更新差分データ格納部18格納されている更新差分データと置換して登録する度に、更新差分データ格納部18におけるその格納位置(格納アドレス)を、更新差分データ格納情報テーブル21aにおけるそのバージョン(更新前のバージョン)に対応する項に登録(上書き,置換)するようになっている。
本データ管理システム1aにおいては、この更新差分データ格納部18に格納された複数の更新差分データの中から、情報処理装置3における更新対象のデータのバージョンに対応する更新差分データを選択・取得して、情報処理装置3において、その更新対象のデータにこの更新差分データを適用することにより、そのデータを最新のバージョンに更新することができるのである。
なお、この更新差分データ格納部18も、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
新旧データ置換部16は、データ格納部に格納されたデータ(Ver.N−1)を、最新バージョンデータ入力部10から入力された最新バージョン(Ver.N)のデータと置換するものである。
第1更新差分作成部11aは、データ格納部20aに格納されたデータ(Ver.N−1)と、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、データ格納部20aに格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成するものであり、例えば、新旧ソフトウェアの比較ツール(プログラム)等によって実現することができる。
ここで、本発明の第1実施形態としてのデータ管理システム1aにおける第1更新差分作成部11aによる更新差分データの作成手法を、図3に示すフローチャート(ステップA10〜A130)に従って説明する。
データ格納部20に格納されたデータ(Ver.N−1)から最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)へバージョンアップ(更新)するための更新差分データ(Ver.N−1からVer.N)を作成するためには(ステップA10)、これらのVer.N−1のデータとVer.Nのデータとを、その先頭から1命令長単位で順番に比較する(ステップA20)。
最初に、比較位置における両者のデータが等しいか否かを調べ(ステップA30)、データが等しい場合には(ステップA30のYESルート参照)、データが一致し続ける位置の長さ(複写長)を取得して、更新差分データ(Ver.N−1からVer.N)に、「複写」として複写を示す差分コードとその「複写長」とを記述する(ステップA80)。
また、データが等しくない場合には(ステップA30のNOルート参照)、次に、Ver.N−1のデータとVer.Nとの両データにおいてデータが連続して一致する部分を検索して(ステップA40)、その検索の結果、Ver.N−1のデータに連続して一致する部分を発見できたか否かを確認する(ステップA50)。N−1のデータに連続して一致する部分を発見できた場合には(ステップA50のYESルート参照)、更新差分データ(Ver.N−1からVer.N)に、「複写」として、その発見位置と比較位置との差を「移動量」として、移動を示す差分コードとともに記述する(ステップA60)。
N−1のデータに連続して一致する部分を発見できなかった場合には(ステップA50のNOルート参照)、更新差分データ(Ver.N−1からVer.N)に、比較位置の値は「新規」データとして、新規を示す差分コードを「新規データ長」とともに記述する(ステップA70)。
そして、第1更新差分作成部11aは、Ver.N−1のデータおよびVer.Nの各データの最後まで比較を行なったか否かを確認して(ステップA90)、最後まで比較を行なっていない場合には(ステップA90のNOルート参照)、比較位置を1命令長移動させた後(ステップA100)、ステップA30に戻る。又、最後まで比較を行なった場合には(ステップA90のYESルート参照)、更新差分データ(Ver.N−1からVer.N)の生成が完了する(ステップA110)。
また、新旧データ置換部16は、データ格納部20aからVer.N−1のデータ削除するとともに(ステップA120)、データ格納部20aにVer.Nのデータを格納(保存)することにより(ステップA130)、データ格納部20aに格納されたデータを、最新バージョンデータ入力部10から入力された最新のバージョン(Ver.N)のデータと置換するのである。
第2更新差分作成部12は、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成するものである。
本発明の第1実施形態としてのデータ管理システム1aにおける第2更新差分作成部12による更新差分データの作成手法を、図4Aおよび図4Bに示すフローチャート(ステップB10〜B190)に従って説明する。なお、図4Aに示すフローチャート(ステップB10〜B120)と図4Bに示すフローチャート(ステップB130〜B190)とに、ステップB10〜B190からなる一のフローチャートを便宜上分けて示している。
先ず、第2更新差分作成部12は、変数XにN−2を設定して(ステップB10)、更新差分データ(Ver.XからVer.N)の作成を開始する(ステップB20)。
第2更新差分作成部12は、更新差分データ格納部18に格納された各更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とをそれぞれ取得して、これらの更新差分データの先頭から順番に比較する(ステップB30)。
最初に、比較位置における双方の差分コードが「複写」であるか否かを調べ(ステップB40)、双方ともが複写である場合には(ステップB40のYESルート参照)、双方の複写長の差し引き分を計算した後、「複写」として複写を示す差分コードと算出した複写長とを更新差分データ(Ver.XからVer.N)に記述する(ステップB110)。
そして、第2更新差分作成部12は、更新差分データどうしの比較を最後まで行なったか否かを確認して(ステップB130)、最後まで比較を行なっていない場合には(ステップB130のNOルート参照)、比較位置を移動させた後(ステップB120)、ステップB40に戻る。
また、双方ともが「複写」ではない場合、すなわち、比較位置において、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)との一方もしくは双方ともが「複写」以外の場合には(ステップB40のNOルート参照)、次に、一方が「新規」であるか否かを確認する(ステップB50)。
比較位置において、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)とのうち、双方もしくは一方が「新規」である場合には(ステップB50のYESルート参照)、更新差分データ(Ver.N−1からVer.N)における比較位置の値を「新規」データとして更新差分データ(Ver.XからVer.N)に記述して(ステップB100)、ステップB130に移行する。
また、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)とのうち、双方もしくは一方が「新規」ではない場合には(ステップB50のNOルート参照)、第2更新差分作成部12は、次に、更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動(参照ポインタの移動)」であるか否かを確認する(ステップB60)。
更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動」である場合には(ステップB60のYESルート参照)、ステップB60における移動量を求めるとともに、複写を示す差分コードと算出した移動量とを更新差分データ(Ver.XからVer.N)に記述して(ステップB90)、ステップB130に移行する。又、この際、「移動」が連続する場合には、差し引きの移動量を計算する。
また、更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動」ではない場合には(ステップB60のNOルート参照)、第2更新差分作成部12は、次に、更新差分データ(Ver.N−1からVer.N)における比較位置のデータが「移動」であるか否かを確認する(ステップB70)。
更新差分データ(Ver.N−1からVer.N)における比較位置のデータが「移動」である場合には(ステップB70のYESルート参照)、更新差分データ(Ver.XからVer.N−1)において、ステップB70での移動先として指定されたVer.N−1中のデータを展開するための差分データの位置へ比較位置を1命令長移動させて(ステップB80)、ステップB130に移行する。
また、更新差分データどうしの比較を最後まで行なった場合には(ステップB130のYESルート参照)、更新差分データ(Ver.XからVer.N)の生成が完了する(ステップB140)。
また、新旧更新差分データ置換部19は、更新差分データ格納部18から更新差分データ(Ver.XからVer.N−1)を削除するとともに(ステップB150)、更新差分データ格納部18に更新差分データ(Ver.XからVer.N)を格納(保存)し(ステップB160)、更に、更新差分データ格納情報テーブル21aにおけるVer.Xに相当する項に、更新差分データ(Ver.XからVer.N)の格納位置を記述する(ステップB170)。
第2更新差分作成部12は、Xの値をデクリメント(X=X−1)した後(ステップB180)、X=0であるか否かを確認して(ステップB190)、X=0の場合には(ステップB190のYESルート参照)、処理を終了する。又、X=0ではない場合には(ステップB190のNOルート参照)、ステップB20に戻る。
バージョン取得部14は、データの更新対象機器(情報処理装置)3における更新対象のデータの現在のバージョンを取得するものである。このバージョン取得部14は、例えば、通信手段を介して情報処理装置3にデータのバージョンを確認するコマンドを送出して、その情報処理装置3からの回答に基づいてそのバージョンを判断・取得してもよく、又、例えば図示しないバージョン管理テーブルをそなえ、このバージョン管理テーブルに情報処理装置3とそのデータのバージョンとを関連付けて登録・管理することにより、情報処理装置のデータのバージョンを取得してもよい。
選択部13は、更新差分データ格納部18に格納された複数の更新差分データの中から、情報処理装置3に格納されたデータのバージョンに応じて一の更新差分データを選択するものである。この選択部13は、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに基づいて、更新差分データ格納情報テーブル21aを参照して、そのバージョンを最新のバージョンに更新するための更新差分データの格納位置を取得し、この格納位置から更新差分データを取得するようになっている。
更新差分データ送出部(提供部)15は、選択部13によって選択された更新差分データを更新対象機器(情報処理装置)3に提供するものであって、例えば、LANや無線LAN,USB,ブルートゥース(Bluetooth)等の種々の通信手段(プロトコル)を介して情報処理装置3にデータを送信(送出)するデータ転送機能によって実現することができる。
不要更新差分除去部(更新差分データ削除部)17は、更新差分データ格納部18に格納された複数の更新差分データの中から、特定のバージョンに対応する更新差分データを選択的に削除するものである。例えば、情報処理装置3において格納(内蔵)されている可能性がないバージョンのデータがある場合には、不要更新差分除去部17は、更新差分データ格納部18に格納された更新差分データのうち、そのバージョンに対応する更新差分データを、例えばシステム管理者による指示等に従って、選択的に削除するようになっている。
また、不要更新差分除去部17は、特定の更新差分データを更新差分データ格納部18から削除した場合には、更新差分データ格納情報テーブル21aにおけるその更新差分データの格納位置も削除するようになっている。
上述の如く構成された本発明の第1実施形態としてのデータ管理システム1aにおいて、最新のバージョン(Ver.N)のデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を、図5を用いて説明する。
最新バージョン(Ver.N)のデータが作成された場合には、最新バージョンデータ入力部10によってそのデータが入力され、第1更新差分作成部11aが、データ格納部20aに格納されている、それまでデータ管理サーバ2a内において最新であったバージョン(Ver.N−1)から新たに作成されたバージョン(Ver.N)に更新するための更新差分データ(Ver.N−1からVer.N)を作成する(図5のステップC10参照)。
なお、データ格納部20aに格納されているデータ(Ver.N−1)は、新旧データ管理サーバ2a置換部16によって、最新バージョンデータ入力部10から入力された最新のデータ(Ver.N)と置換され、又、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)は、新旧更新差分データ置換部19によって更新差分データ格納部18に格納される。又、これらの処理に伴って、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれる。
次に、第2更新差分作成部12が、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)と、更新差分データ格納部18に格納されている各更新差分データとに基づいて、各バージョンから最新のバージョンのデータに更新するための更新差分データ(Ver.XからVer.N)を作成する(図5のステップC20参照)。
新旧更新差分データ置換部19によって、更新差分データ格納部18に登録されているVer.N−1までの各更新差分データ(Ver.XからVer.N−1)は、第2更新差分作成部12によって作成された各更新差分データ(Ver.XからVer.N)と置換される。又、この際、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれるのである。
次に、本発明の第1実施形態としてのデータ管理システム1aにおける情報処理装置3のデータの更新手法を、図6に示すフローチャート(ステップD10〜D50)に従って説明する。
データ管理サーバ2a(バージョン取得部14)は、更新対象機器の情報処理装置3が通信可能に接続されているか否かを確認して(ステップD10)、情報処理装置3が接続されていない場合には(ステップD10のNOルート参照)、情報処理装置の接続待ちを行なう。
情報処理装置3が接続された場合には(ステップD10のYESルート参照)、バージョン取得部14がその情報処理装置3のデータのバージョンを取得する(ステップD20)。選択部13は、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに対応する更新差分データの格納位置を、更新差分データ格納情報テーブル21aを参照して取得する(ステップD30)。
そして、選択部13は、その取得した格納位置に基づいて、更新差分データ格納部18におけるその更新差分データの格納位置から、目的の更新差分データを取得する(ステップD40)。
更新差分データ送出部15は、選択部13によって取得された更新差分データを、情報処理装置3に送出する(ステップD50)。情報処理装置3においては、その更新差分データをデータに適用することにより、旧バージョンのデータを最新のバージョンのデータに更新する。
このように、本発明の第1実施形態としてのデータ管理システム1aによれば、更新差分データ格納部18に、最新のバージョンよりも前の各バージョンから最新バージョンのデータへ更新可能な複数の更新差分データを格納し、選択部13が、情報処理装置3に格納されたデータのバージョンに応じて、更新差分データ格納部18に格納された前記複数の更新差分データの中から、一の更新差分データを選択し、更新差分データ送出部15が、この選択された更新差分データを情報処理装置3に提供するので、情報処理装置3においてどのバージョンのデータを用いている場合においても、データ管理サーバ2aから取得した更新差分データにより、1度の更新差分データの受信およびその更新差分データを用いた更新処理で、現在のバージョンから最新のバージョンに更新(バージョンアップ)を行なうことができ、データの更新を短時間で行なうことができるので利便性が高い。
データ管理サーバ2aにおいて、データ格納部20aにデータ管理サーバ2a内における最新のバージョンのデータ(全体)を1つだけ格納するとともに、更新差分データ格納部18に、データ格納部20aに格納されたデータよりも前の各バージョンからデータ格納部20aに格納されたデータと同一のバージョンへ更新可能な更新差分データを格納しているので、これらのデータや更新差分データを格納するために要する記憶領域の容量を少なく構成することができ、システムの製造コストを低減することができる。
また、最新のバージョンのデータを新たに作成した場合においても、この最新のバージョンのデータを最新バージョンデータ入力部10から入力するだけで、新旧データ置換部16や第1更新差分データ作成部11a,第2更新差分作成部12,新旧更新差分データ置換部19が、データ格納部20aへのデータの登録や必要な更新差分データの作成,置換等を自動的に行なうようになっているので、システム管理者の工数を低減することができ利便性が高い。
さらに、最新のバージョンのデータが新たに登録された際に、更新差分データ格納部18に格納されている旧バージョンへの更新差分データを、新旧更新差分データ置換部19が、第1更新差分作成部11aや第2更新差分作成部12によって作成された更新差分データと置換するので、更新差分データ格納部18には確実に最新のバージョンのデータに更新可能な更新差分データが登録され、システムの信頼性を向上させることができる。
同様に、最新のバージョンのデータが新たに登録された際に、データ格納部20aに格納されている旧バージョンのデータを、新旧データ置換部16が、最新バージョンデータ入力部10から入力された最新バージョンのデータと置換するので、データ格納部20aには確実に最新のバージョンのデータが登録され、システムの信頼性を向上させることができる。
また、例えば、情報処理装置3において格納(内蔵)されている可能性がないバージョンのデータがある場合等に、不要更新差分除去部(更新差分データ削除部)17が、更新差分データ格納部18に格納された複数の更新差分データの中から、そのバージョンに対応する更新差分データを選択的に削除するので、更新差分データ格納部18の容量を節約することができ経済的である。
さらに、第2更新差分作成部12が、第1更新差分作成部11aによって作成された更新差分データと、更新差分データ格納部18に格納された更新差分データとに基づいて、データ格納部20aに格納されたデータよりも前の各バージョンから最新のバージョンのデータへ更新可能な更新差分データを生成するので、最新のバージョンへの更新差分データを短時間で作成することができ利便性が高い。又、データ格納領域18を短時間で最新の状態にすることもできる。
また、更新差分データ格納情報テーブル21aが、更新差分データ格納部18に格納されている各更新差分データの格納位置を管理し、選択部13が、この更新差分データ格納情報テーブル21aを参照して、特定のバージョンに対応する更新差分データの格納位置を取得するので、必要な更新差分データを容易且つ高速に取得することができ利便性が高い。
(B)第1実施形態の第1変形例の説明
上述した第1実施形態としてのデータ管理システム1aにおいては、第2更新差分作成部12が、図4のフローチャートに示した手法によって、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成しているが、かかる更新差分データ(Ver.XからVer.N)の作成手法は、上述した図4のフローチャートに記載された手法に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更して実施することができる。
本発明の第1実施形態のデータ管理システム1aの第1変形例としてのデータ管理システム1a′(図1参照)は、第1実施形態のデータ管理システム1aのデータ管理サーバ2aに代えてデータ管理サーバ2a′をそなえて構成されている。そして、このデータ管理サーバ2a′は、第1実施形態の第2更新差分作成部12に代えて、第2更新差分作成部12′をそなえて構成されている他は、第1実施形態のデータ管理サーバ2aと同様もしくは略同様の構成をそなえている。又、このデータ管理サーバ2a′も、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
本第1変形例における第2更新差分作成部12′も、第1実施形態の第2更新差分作成部12と同様に、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成するものであり、各バージョン(Ver.X,N−1,N)のデータのダミーデータを用いて更新差分データ(Ver.XからVer.N)を生成するようになっている。
本発明の第1実施形態の第1変形例としてのデータ管理システム1a′における第2更新差分作成部12′による、更新差分データ(Ver.XからVer.N)の作成手法を、図8を参照しながら、図7Aおよび図7Bに示すフローチャート(ステップE10〜E200)に従って説明する。なお、図7Aに示すフローチャート(ステップE10〜E130)と図7Bに示すフローチャート(ステップE140〜E200)とに、ステップE10〜E200からなる一のフローチャートを便宜上分けて示している。又、図8は本第1変形例において用いられるダミーデータ(ダミーデータX)の例を示す図である。
なお、本第1変形例においても、第1実施形態と同様に、データの任意のバージョンを変数X(ただし、Xは1≦X≦N−2)を用いて示すものとし、又、本説明中における既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
先ず、第2更新差分作成部12′は、変数XにN−2を設定して(ステップE10)、更新差分データ(Ver.XからVer.N)の作成を開始する(ステップE20)。
第2更新差分作成部12′は、データ値をすべてダミーとした上でそのデータの位置を示すアドレス値を代入した、Ver.Xのデータのダミーデータである「ダミーデータX」を作成する(ステップE30)。
このダミーデータXは、図8に示すように、Ver.Xのデータを配列化して示すものであり、例えば、アドレスとダミーフラグおよび値もしくは位置を示すアドレスを相互に関連付けることによって構成されている。このダミーデータXにおいては、そのアドレスのダミーフラグを参照することにより、代入されている値が「位置を示すアドレス」であるのか「実際の値」であるのかを判断することができるようになっている。なお、このようなダミーデータの作成および使用方法としてはプログラミングにおいて一般的に用いられている種々の手法を用いてもよく、例えば、ダミーデータを外部リスト化してもよい。
そして、第2更新差分作成部12′は、更新差分データ格納部18に格納された各更新差分データ(Ver.XからVer.N−1)をステップE30において作成したダミーデータXに適用することにより、Ver.N−1のダミーデータ(ダミーデータN−1)を作成して、図示しないメモリ空間上に展開する(ステップE40)。
また、第2更新差分作成部12′は、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)をステップE40において作成したダミーデータN−1に適用することにより、Ver.Nのダミーデータ(ダミーデータN)を作成して、図示しないメモリ空間上に展開する(ステップE50)。
そして、第2更新差分作成部12′は、ステップE50において展開したダミーデータNを、その先頭から順番に分析する(ステップE60)。なお、以下、ダミーデータNにおける分析が行なわれている位置を分析位置という。
最初に、その分析位置における差分コードがダミーであり、且つ、代入されているアドレスが、前回の分析位置の代入アドレスから連続しているか否かを判断して(ステップE70)、差分コードがダミーであり且つアドレスが連続している場合には(ステップE70のYESルート参照)、アドレスの連続が途切れるまでの長さである複写長を求めた後、「複写」として複写を示す差分コードと求めた複写長とを更新差分データ(Ver.XからVer.N)に記述する(ステップE120)。
そして、第2更新差分作成部12は、ダミーデータNの分析を最後まで行なったか否かを確認して(ステップE140)、最後まで比較を行なっていない場合には(ステップE140のNOルート参照)、比較位置を移動させた後(ステップE130)、ステップB70に戻る。
また、代入されているアドレスが、前回の分析位置の代入アドレスから連続していない場合には(ステップE70のNOルート参照)、次に、分析位置のデータがダミーであり、且つ代入されているアドレスが、前回の分析位置の代入アドレスとは異なる、もしくは前回分析位置のデータがダミーではなかったか否かを確認する(ステップE80)。分析位置のデータダミーであり、且つ代入されているアドレスが、前回の分析位置の代入アドレスとは異なる(新出)、もしくは前回分析位置のデータがダミーである場合には(ステップE80のYESルート参照)、分析対象アドレスからステップE80において代入されていたアドレスまでの移動量を求めるとともに、「移動」として移動を示す差分コードと求めた移動量とを更新差分データ(Ver.XからVer.N)に記述して(ステップE110)、ステップE140に移行する。
次に、分析位置のデータがダミーではないか否かを判断して(ステップE90)、ダミーではない場合には(ステップE90のNOルート参照)、ステップE130に移行する。又、ダミーである場合には(ステップE90のYESルート参照)、「新規」データとして分析位置のデータを更新差分データ(Ver.XからVer.N)に記述して(ステップE100)、ステップE140に移行する。
また、ダミーデータNの分析を最後まで行なった場合には(ステップE140のYESルート参照)、更新差分データ(Ver.XからVer.N)の生成が完了する(ステップE150)。
また、新旧更新差分データ置換部19が、更新差分データ格納部18から更新差分データ(Ver.XからVer.N−1)を削除するとともに(ステップE160)、更新差分データ格納部18に上述の如く作成した更新差分データ(Ver.XからVer.N)を格納(保存)し(ステップE170)、更に、更新差分データ格納情報テーブル21aにおけるVer.Xに相当する項に、更新差分データ(Ver.XからVer.N)の格納位置を記述する(ステップE180)。
第2更新差分作成部12′は、Xの値をデクリメント(X=X−1)した後(ステップE190)、X=0であるか否かを確認して(ステップE200)、X=0の場合には(ステップE200のYESルート参照)、処理を終了する。又、X=0ではない場合には(ステップE200のNOルート参照)、ステップE20に戻る。
本発明の第1実施形態の第1変形例としてのデータ管理システム1a′(データ管理サーバ2a′)においても、更新差分データ(Ver.XからVer.N)を作成することができ、第1実施形態と同様の作用効果を得ることができる。
(C)第1実施形態の第2変形例の説明
図9は本発明の第1実施形態のデータ管理システム1aの第2変形例としてのデータ管理システム1a″の構成を模式的に示す図である。
本第2変形例のデータ管理システム1a″は、図9に示すように、第1実施形態のデータ管理システム1aのデータ管理サーバ2aに代えてデータ管理サーバ2a″をそなえて構成されている。そして、このデータ管理サーバ2a″は、第1実施形態の第2更新差分作成部12に代えて、第2更新差分作成部12″をそなえて構成されている他は、第1実施形態のデータ管理サーバ2a(図1参照)やその変形例のデータ管理サーバ2a′(図1参照)と同様もしくは略同様の構成をそなえている。又、このデータ管理サーバ2a″も、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
本第2変形例における第2更新差分作成部(第2の更新差分作成部)12″は、更新差分データ格納部18に格納された更新差分データ(Ver.XからVer.N−1)と、第1更新差分作成部(第1の更新差分作成部)11aによって作成された更新差分データ(Ver.N−1からVer.N)と、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、更新差分データ(Ver.XからVer.N)を作成するものである。
なお、本第2変形例においても、第1実施形態と同様に、データの任意のバージョンを変数X(ただし、Xは1≦X≦N−2)を用いて示すものとし、又、本説明中における既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する
この第2更新差分作成部12″は、以下の(1)〜(3)の手順に従って更新差分データ(Ver.XからVer.N)を作成するようになっている。なお、本変形例においては、中身に何も記載されていない(ブランクデータ)の第1のダミー空データ(Ver.N−1の空データ)および第2のダミー空データ(Ver.Xの空データ)を用いる(予め用意)。
(1)第1のダミー空データ(Ver.N−1の空データ)と最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータと前記第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)を解析して、Ver.N−1の空データ中にVer.Nのデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定してVer.N−1のダミーデータB′(第1のダミーデータ)を作成。
(2)第2のダミー空データ(Ver.Xの空データ)と上記ダミーデータB′と第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)とに基づいて、第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)を解析して、Ver.Xの空データ中にダミーデータB′のデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定してVer.XのダミーデータA′(第2のダミーデータ)を作成。
(3)上記ダミーデータA′と最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとを比較することにより、データ格納部20aに格納されたデータよりも前の各バージョンから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成。
本発明の第1実施形態の第2変形例としてのデータ管理システム1a″における第2更新差分作成部12″による更新差分データ(Ver.XからVer.N)の作成手法を、図10Aおよび図10Bに示すフローチャート(ステップG10〜G340)に従って説明する。なお、図10Aに示すフローチャート(ステップG10〜G220)と図10Bに示すフローチャート(ステップG230〜G340)とに、ステップG10〜G340からなる一のフローチャートを便宜上分けて示している。
先ず、第2更新差分作成部12″は、Ver.N−1の空データと、最新バージョンデータ入力部20から入力された最新バージョン(Ver.N)のデータとをメモリ(例えばデータ展開用高速メモリ23)上に展開して、参照ポインタを各データの先頭位置に設定する(ステップG10)。
次に、第2更新差分作成部12″は、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)をその先頭の差分コードから順番に解析する(ステップG20)。
先ず、差分コードが「複写」であるか否かを判断して(ステップG30)、複写である場合には(ステップG30のYESルート参照)、Ver.N−1の空データの参照位置に、Ver.Nの参照位置から複写長分のデータをコピーし(ステップG80)、更に、Ver.N−1の空データにおける参照位置を複写長分後ろへ移動させる(ステップG90)。
そして、更新差分データ(Ver.N−1からVer.N)の全ての差分コードについて解析を行なったか否か、すなわち、差分コードの終わりであるか否かを判断して(ステップG100)、終わりではない場合には(ステップG100のNOルート参照)、ステップG30に戻る。
差分コードが複写ではない場合には(ステップG30のNOルート参照)、第2更新差分作成部12″は、次に差分コードが「新規」であるか否かを判断する(ステップG40)。差分コードが新規である場合には(ステップG40のYESルート参照)、Ver.N−1の空データにおける参照位置を新規データ長分後ろへ移動させて(ステップG70)、ステップG100に移行する。
また、差分コードが新規ではない場合には(ステップG40のNOルート参照)、第2更新差分作成部12″は、差分コードが「移動」であると判断して(ステップG50)、Ver.N−1の空データにおける参照位置を移動量に基づいて移動させて(ステップG60)、ステップG100に移行する。
差分コードが終わりである場合には(ステップG100のYESルート参照)、Ver.N−1の空データにおいて、複写によるデータ代入が行われなかった部分にダミーのデータ(ダミー部)を代入して、Ver.N−1のダミーデータ(ダミーデータB′)を完成させる(ステップG110)。
次に、第2更新差分作成部12″は、X=N−2と設定した後(ステップG120)、ステップG110において作成したVer.N−1のダミーデータ(ダミーデータB′)と、Ver.Xの空データとをメモリ(例えばデータ展開用高速メモリ23)上に展開して、参照ポインタを各データの先頭位置に設定する(ステップG130)。
次に、第2更新差分作成部12″は、更新差分データ格納部18から取得した更新差分データ(Ver.XからVer.N−1)をその先頭の差分コードから順番に解析する(ステップG140)。
先ず、差分コードが「複写」であるか否かを判断して(ステップG150)、複写である場合には(ステップG150のYESルート参照)、Ver.Xの空データの参照位置に、Ver.N−1の参照位置から複写長分のデータをコピーし(ステップG200)、更に、Ver.Xの空データにおける参照位置を複写長分後ろへ移動させる(ステップG210)。
そして、更新差分データ(Ver.XからVer.N−1)の全ての差分コードについて解析を行なったか否か、すなわち、差分コードの終わりであるか否かを判断して(ステップG220)、終わりではない場合には(ステップG220のNOルート参照)、ステップG150に戻る。
差分コードが複写ではない場合には(ステップG150のNOルート参照)、第2更新差分作成部12″は、次に差分コードが「新規」であるか否かを判断する(ステップG160)。差分コードが新規である場合には(ステップG160のYESルート参照)、Ver.Xの空データの参照位置を新規データ長分後ろへ移動させて(ステップG190)、ステップG220に移行する。
また、差分コードが新規ではない場合には(ステップG160のNOルート参照)、第2更新差分作成部12″は、差分コードが「移動」であると判断して(ステップG170)、Ver.Xの空データにおける参照位置を移動量に基づいて移動させて(ステップG180)、ステップG220に移行する。
差分コードが終わりである場合には(ステップG220のYESルート参照)、Ver.Xの空データにおいて、複写によるデータ代入が行われなかった部分にダミーのデータ(ダミー部)を代入することにより、Ver.Xのダミーデータ(ダミーデータA′)を完成させる(ステップG230)。
次に、第2更新差分作成部12″は、ステップG230において作成されたVer.Xのダミーデータ(ダミーデータA′)と、最新バージョンデータ入力部20から入力された最新バージョン(Ver.N)のデータとを、先頭のデータから比較する(ステップG240)。
Ver.XのダミーデータとVer.Nのデータとが等しいか否かを判断して(ステップG250)、等しい場合には(ステップG250のYESルート参照)、更新差分データ(Ver.XからVer.N)に複写として複写長を記述する(ステップG310)。そして、データの最後まで比較を行なったか否かを判断して(ステップG320)、最後まで比較を行なっていない場合には(ステップG320のNOルート参照)、ステップG250に戻る。
Ver.XのダミーデータとVer.Nのデータとが異なる場合には、(ステップG250のNOルート参照)、第2更新差分作成部12″は、次に、Ver.Xのダミーデータにおける比較位置のデータがダミーデータであるか否かを判断する(ステップG260)。ダミーデータである場合には(ステップG260のYESルート参照)、新規データとしてVer.Nのデータ内容を更新差分データ(Ver.N−1からVer.N)に記述して(ステップG300)、ステップG320に移行する。
また、Ver.Xのダミーデータにおける当該比較位置におけるデータがダミーデータではない場合には(ステップG260のNOルート参照)、Ver.Xのダミーデータの中からVer.Nのデータに等しいデータを検索して(ステップG270)、等しい箇所を発見することができたか否かを判断する(ステップG280)。
等しい箇所が発見されない場合には(ステップG280のNOルート参照)、ステップG300に移行する。又、等しい箇所が発見された場合には(ステップG280のYESルート参照)、発見位置への移動量を更新差分データ(Ver.XからVer.N)に記述して(ステップG290)、ステップG320に移行する。
データを最後まで比較した場合には(ステップG320のYESルート参照)、次に、Xの値をデクリメント(X=X−1)して(ステップG330)、X=0であるか否かを判断する(ステップG340)。X=0でない場合には(G340のNOルート参照)、ステップG130に戻り、X=0の場合には(G340のYESルート参照)、処理を終了する。
上述の如く構成された本発明の第1実施形態の第2変形例としてのデータ管理システム1a″においても、上述した第1実施形態およびその第1変形例と同様の作用効果を得ることができる。
(D)第2実施形態の説明
図11は本発明の第2実施形態としてのデータ管理システム(データ供給システム)1bの構成を模式的に示す図である。
本第2実施形態のデータ管理システム1bも、第1実施形態のデータ管理システム1aと同様に、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
本発明の第2実施形態としてのデータ管理システム1bは、図11に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2bをそなえて構成されている。又、このデータ管理サーバ2bは、例えば、サーバ機能をそなえたコンピュータシステムによって実現され、図11に示すように、最新バージョンデータ入力部10,更新差分作成部(第1の更新差分作成部)11b,選択部13,バージョン取得部14,更新差分データ送出部(提供部)15,不要更新差分除去部(更新差分データ削除部)17,第1更新差分データ格納部(第1の更新差分データ格納部)181,第2更新差分データ格納部(第2の更新差分データ格納部)182,新旧更新差分データ置換部19,データ格納部20b,データ生成部22および更新差分データ格納情報テーブル21bをそなえて構成されている。
すなわち、本第2実施形態のデータ管理サーバ2bは、第1実施形態のデータ管理サーバ2aにおける、第1更新差分作成部11および第2更新差分作成部12に代えて更新差分作成部11bをそなえるとともに、更新差分データ格納部18に代えて第1更新差分データ格納部181および第2更新差分データ格納部182を、又、更新差分データ格納情報テーブル21aに代えて更新差分データ格納情報テーブル21bを、更に、データ格納部20aに代えてデータ格納部20bを、それぞれそなえて構成されている。
また、データ管理サーバ2bは、第1実施形態のデータ管理サーバ2aにおける新旧データ置換部16を除いて構成される一方で、新たにデータ生成部22およびデータ展開用高速メモリ23をそなえて構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
データ格納部20bは、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも古いバージョンのデータ全体を格納するものであって、本第2実施形態においては、最も古いバージョン(Ver.1)のデータ(全体)を格納している。
第1更新差分データ格納部(第1の更新差分データ格納部)181は、データ格納部20bに格納されたデータを、本データ管理システム1bにおいて管理する複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データをそれぞれ格納するものであり、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
データ生成部22は、データ格納部20bに格納されたデータと、第1更新差分データ格納部181に格納された各更新差分データとに基づいて、各バージョンのデータを生成するものであり、データ格納部20bに格納されたデータに、第1更新差分データ格納部181に格納された各更新差分データを選択的に適用することにより、任意のバージョン(Ver.X)のデータ(全体)を生成することができるようになっている。
データ展開用高速メモリ23は、データ生成部22によって生成されたデータを展開するものであり、特にアクセス速度が高速なメモリを使用することにより、処理速度を向上させることができる。
更新差分作成部11bは、データ生成部22によって生成された各バージョンのデータと、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、各バージョン(Ver.X)のデータから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を作成するものである。なお、この更新差分作成部11bが更新差分データ(Ver.XからVer.N)を作成する手法は、第1実施形態の第1更新差分作成部11aによる更新差分データ(Ver.N−1からVer.N)の生成手法(図3参照)と略同様であるので、その説明は省略する。
第2更新差分データ格納部(第2の更新差分データ格納部)182は、更新差分作成部11bによって作成された更新差分データを格納するものであり、各バージョンのデータを本データ管理システム1bにおける最新のバージョンに更新可能な各更新差分データを格納するようになっている。なお、この第2更新差分データ格納部182も、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
更新差分データ格納情報テーブル21bは、第2更新差分データ格納部182に格納されている各更新差分データの格納位置を管理するテーブルであり、第1実施形態の更新差分データ格納情報テーブル21a(図2参照)と同様に、更新前のバージョンとそのバージョンに対応する更新差分データの格納位置(格納アドレス)とを関連付けて登録することによって構成されており、選択部13が、この更新差分データ格納情報テーブル21bを参照することにより、特定バージョンに対応する更新差分データの格納場所を高速に取得することができるようになっている。
上述の如く構成された本発明の第2実施形態としてのデータ管理システム1bにおいて、最新のバージョン(Ver.N)のデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を、図12を用いて説明する。
最新バージョン(Ver.N)のデータが作成された場合には、先ず、データ生成部22が、データ格納部20bに格納されているVer.1のデータ(全体)と、第1更新差分データ格納部181に格納されている各更新差分データとに基づいて、各バージョン(Ver.X)のデータ(全体)を生成して(図12のステップF10)、データ展開用高速メモリ23に展開する。
なお、データ生成部22は、各バージョンのデータを逐次、生成・展開することが望ましいが、例えばデータ展開用高速メモリ23の容量が各データのサイズに比べて十分に大きい場合には、複数のバージョンのデータを一度に生成・展開してもよい。
そして、更新差分作成部11bが、最新バージョンデータ入力部10によって入力されたデータ(Ver.N)と、データ展開用高速メモリ23に展開されたデータ(Ver.X)とに基づいて、Ver.Xのデータから最新のバージョン(Ver.N)のデータへ更新するための更新差分データ(Ver.XからVer.N)を作成する(図12のステップF20参照)。
更新差分データ格納部18に登録されているVer.N−1までの各更新差分データ(Ver.XからVer.N−1)は、新旧更新差分データ置換部19によって、更新差分作成部11bによって作成された更新差分データ(Ver.XからVer.N)と置換される。又、この際、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれる。
なお、本発明の第2実施形態としてのデータ管理システム1bにおける情報処理装置3のデータの更新手法は、選択部13が、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに対応する更新差分データを、第2更新差分データ格納部182におけるその更新差分データの格納位置から取得すること以外は、前述した第1実施形態のデータ管理システム1a(図6参照)とほぼ同様であるので、その詳細な説明は省略する。
このように、本発明の第2実施形態としてのデータ管理システム1bによれば、上述した第1実施形態と同様の作用効果を得ることができる他、更新差分作成部11bが、最新バージョンデータ入力部10から入力された最新バージョンのデータ全体と、データ生成部22によって生成された各旧バージョンのデータ全体とに基づいて各更新差分データ(Ver.XからVer.N)を作成するので、第1実施形態の第2更新差分作成部12の如く更新差分データどうし(更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N))から更新差分データ(Ver.XからVer.N)を生成するよりも、作成する更新差分データ(Ver.XからVer.N)の容量を小さくすることができる場合がある。
例えば、データを複数のバージョンにわたって更新する過程において、あるバージョンにおいて変更した部分をその後のバージョンにおいて元に戻した場合には、第1実施形態の如く第2更新差分作成部12が更新差分データどうしから更新差分データ(Ver.XからVer.N)を作成した場合には、作成された更新差分データ(Ver.XからVer.N)には、これらの更新過程が差分コードとして含まれるのに対して、本第2実施形態の如く全体のデータどうしから更新差分データ(Ver.XからVer.N)を作成した場合には、このような更新過程の差分コードが含まれることがなく、最小限のサイズの更新差分データ(Ver.XからVer.N)を作成することができるのである。
(E)第2実施形態の変形例の説明
上述した第2実施形態のデータ管理システム1bにおいては、データ格納部20bに、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも古いバージョンのデータとして、最も古いバージョン(Ver.1)のデータを格納しているが、これに限定されるものではなく、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも前の他のバージョン(Ver.B)のデータを格納してもよい(ただし、Bは1<B<N)。
図13は本発明の第2実施形態の変形例としてのデータ管理システム1b′の構成を模式的に示す図である。この図13に示すように、本変形例のデータ管理システム1b′は、第2実施形態のデータ管理システム1bにおけるデータ格納部20bに代えてデータ格納部20b′をそなえるとともに、第1更新差分データ格納部181に代えて、第1更新差分データ格納部181′をそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
データ格納部20b′は、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも前の他のバージョン(Ver.B)のデータを格納している。
また、第1更新差分データ格納部181′は、データ格納部20b′に格納されたデータを、本データ管理システム1b′において管理する複数の各バージョンのデータへ更新可能な各更新差分データを格納するようになっている。
なお、本変形例において、B>Xとなる場合、すなわちVer.BがVer.Xよりも新しいバージョンの場合には、第1更新差分データ格納部181′には、新しいバージョンであるVer.Bのデータから古いバージョンであるVer.Xのデータに更新(バージョンダウン)するための更新差分データ(Ver.BからVer.X)が登録される。
このような本発明の第2実施形態の変形例としてのデータ管理システム1b′においても、第2実施形態と同様の作用効果を得ることができる。
(F)第3実施形態の説明
図14は本発明の第3実施形態としてのデータ管理システム1cの構成を模式的に示す図である。
本第3実施形態のデータ管理システム1cも、第2実施形態のデータ管理システム1bと同様に、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
本発明の第3実施形態としてのデータ管理システム1cは、図14に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2cをそなえて構成されている。
そして、このデータ管理サーバ2cは、図14に示すように、第2実施形態のデータ管理サーバ2bに第3更新差分作成部(第2の更新差分作成部)25をそなえるとともに、第1更新差分データ格納部181に代えて第1更新差分データ格納部181(第1の更新差分データ格納部)cをそなえ、更に、更新差分作成部11bに代えて第1更新差分作成部(第1の更新差分作成部)11cをそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。又、このデータ管理サーバ2cは、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
第1更新差分データ格納部181cは、データ格納部20bに格納されたバージョンのデータをVer.N−1のデータに更新するための更新差分データを格納するものである。なお、図14に示す例においては、データ格納部20bにVer.1のデータ(全体)が格納されているので、第1更新差分データ格納部181dは、更新差分データ(Ver.1からVer.N−1)を格納している。
本第3実施形態のデータ管理システム1dにおいては、データ生成部22は、データ格納部20bに格納されたVer.1のデータと、第1更新差分データ格納部181cに格納された各更新差分データ(Ver.1からVer.N−1)とに基づいて、Ver.N−1のデータ(全体)を生成するようになっており、生成したVer.N−1のデータは、データ展開用高速メモリ23上に展開されるようになっている。
第1更新差分作成部11cは、データ生成部22によって生成されたVer.N−1のデータと、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、Ver.N−1のデータから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.N−1からVer.N)を作成するものである。なお、この第1更新差分作成部11cが更新差分データ(Ver.N−1からVer.N)を作成する手法は、上述した第1実施形態の第1更新差分作成部11による更新差分データ(Ver.N−1からVer.N)の生成手法(図3参照)と略同様であるので、その説明は省略する。
第3更新差分作成部25は、第1更新差分作成部11cによって作成された更新差分データ(Ver.N−1からVer.N)と、第2更新差分データ格納部182に格納されている各更新差分データ(Ver.XからVer.N−1)とに基づいて、更新差分データ(Ver.XからVer.N)を作成するものである。
また、この第3更新差分作成部25は、作成した更新差分データ(Ver.XからVer.N)を、新旧更新差分データ置換部19に渡すようになっている。
本第3実施形態のデータ管理システム1cにおいては、最新のデータが最新バージョンデータ入力部10から入力され、その更新差分データが第3更新差分作成部25によって作成された場合に、新旧更新差分データ置換部19は、第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)の更新(置換)を行なうとともに、第1更新差分データ格納部181cに格納されている更新差分データ(Ver.1からVer.N−1)についても、データ格納部20bに格納されているデータを最新バージョンデータ入力部10から入力された最新のバージョンのデータに更新するための更新差分データと置換するようになっている。
なお、第3更新差分作成部25による更新差分データ(Ver.XからVer.N)の生成手法は、上述した第1実施形態の第2更新差分作成部12や、その第1変形例の第2更新差分作成部12′,第2変形例の第2更新差分作成部12″による更新差分データ(Ver.N−1からVer.N)の生成手法(図4,図7参照)と略同様であるので、その説明は省略する。
本発明の第3実施形態としてのデータ管理システム1cによっても、第1実施形態と同様の作用効果を得ることができる。
(G)その他
上述した各実施形態およびその変形例においては、データ管理サーバ2a,2a′,2a″,2b,2cを構成するコンピュータのCPU(Central Processing Unit)が、データ管理プログラムを実行することにより、上述した、最新バージョンデータ入力部10,第1更新差分作成部11a,第2更新差分作成部12,12′,12″,選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21a,第2更新差分作成部12′,更新差分作成部11b,11d,第3更新差分作成部25および更新差分データ格納情報テーブル21bとして機能するようになっている。
なお、これらの最新バージョンデータ入力部10,更新作成部11b,11c第1更新差分作成部11a,第2更新差分作成部12,12′,12″,選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21aおよび更新差分データ格納情報テーブル21bとしての機能を実現するためのプログラム(データ管理プログラム)は、例えばフレキシブルディスク,CD−ROM,CD−R,CD−R/W,DVD,DVD−R,DVD−R/W,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cがコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD−ROM,CD−R,CD−R/W,DVD,DVD−R,DVD−R/W,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
また、上述した各実施形態およびその変形例においては、管理サーバ2a,2a′,2a″,2b,2b′,2cと情報処理装置3とは、例えば、LANやUSB,無線LAN,ブルートゥース(Bluetooth;登録商標)等の有線,無線を問わず種々の通信手法で通信可能に接続することができるが、本発明は、このような通信手法として、USB等のデータ管理サーバ2a,2a′,2a″,2b,2b′,2cと情報処理装置3との間で転送されるデータ量に従って、その転送に要する時間(転送時間)が目に見えて多くなるような通信手段を用いる場合に特に有効である。
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した各実施形態においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに、最新バージョンデータ入力部10や更新差分作成部11b,11c,第1更新差分作成部11a,第2更新差分作成部12,12′,12″選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21a,第3更新差分作成部25および更新差分データ格納情報テーブル21b,データ格納部20a,20b,20b′,更新差分データ格納部18,第1更新差分データ格納部181,181′,181d,第2更新差分データ格納部182がそなえられているが、これに限定されるものではなく、相互に通信可能に接続された1台以上の他のコンピュータにこれらのうちの一部の機能を分割してそなえてもよい。
また、上述した各実施形態およびその変形例においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに1つの情報処理装置3が接続されている例を示しているが、これに限定されるものではなく、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに2以上の情報処理装置3が接続され、これらの各情報処理装置3に対して、最新のバージョンのデータを提供すべく更新差分データの送信等を行なってもよい。
また、上述した第3実施形態において、第3更新差分作成部25が、第1実施形態の第1変形例や第2変形例における第2更新差分作成部12′,12″と同様の手法で更新差分データを作成してもよい。
なお、本発明の各実施形態が開示されていれば、本発明のデータ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体を当業者によって実施・製造することが可能である。
以上のように、本発明のデータ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体は、情報処理装置におけるデータのバージョン管理を行なうのに有用であり、例えば携帯電話器やコンピュータ等におけるプログラムやデータの更新管理に適している。
本発明は、例えばLAN(Local Area Network)等の手段で通信可能に接続されたコンピュータや携帯電話器等の情報処理装置に格納されたデータ(プログラム)のバージョンの管理に関し、情報処理装置のデータを最新のバージョンに更新する更新処理に用いて好適な、データ管理システムに関する。
例えば、携帯電話器等のような組込型システムの情報処理装置は、内部のメモリに格納されたソフトウェア(プログラム)をCPU(Central Processing Unit)が実行することにより動作しており、又、これらのプログラムは、不具合の除去や仕様変更,機能拡張等、必要に応じて更新(バージョンアップ)されることがある。
このようなプログラムが更新され新しいバージョンのプログラムが作成された場合には、この最新のバージョンのプログラムを情報処理装置に速やかに提供して、情報処理装置においてプログラムを最新のバージョンに更新することが望ましい。
さて、最新のバージョンのプログラムが作成される度に、その最新のバージョンのプログラム全体をLAN等の通信回線を介して情報処理装置に送信する代わりに、変更された部分のみのデータである更新差分データだけを送信することで、通信回線におけるデータの通信量を軽減したり、情報処理装置におけるプログラムの更新処理にかかる時間を短くする手法が知られている。
図15および図16はそれぞれ従来のプログラムの更新管理手法を説明するための図である。例えば、特開平11−272471号公報(下記特許文献1)や、特開2000−10787号公報(下記特許文献2),特開2002−91776号公報(下記特許文献3),特開平10−3415号公報(下記特許文献4)には、ネットワーク(通信回線)を介して接続されたコンピュータ(計算機)に対して、各コンピュータにおいて用いられているプログラムとその最新バージョンのプログラムとの差分データ(バージョンアップデータ)を送信するシステムが開示されている。
図15は特許文献1および特許文献2にかかる従来のシステムの機能構成を模式的に示す図であるが、この図15に示すように、特許文献1および特許文献2にかかる従来のシステムにおいては、送信側(プログラムローダ)において、各バージョンのプログラム全体を保存するとともに、各バージョンのプログラムに対する最新バージョンへの差分データを保存・管理し、通信回線を介して接続された受信側コンピュータ(計算機)に対して、この差分データを送信するようになっている。
また、図16は特許文献3および特許文献4にかかる従来のシステムの機能構成を模式的に示す図であるが、この図16に示すように、特許文献3および特許文献4にかかる従来のシステムにおいては、サーバ側において、最新のバージョン(Ver.N−1)のプログラム全体を保存するとともに、システム中における最も古いバージョン(例えばVer.1)から最新のバージョン(Ver.N−1)までの各バージョンについて、それぞれ1つ新しいバージョンに更新するための差分データ(例えば、Ver.1からVer.2,Ver.2からVer.3・・・,Ver.N−2からVer.N−1等)をそれぞれ保存するようになっている。すなわち、最新のバージョン(Ver.N−1)のプログラム全体とともに、隣り合う世代のバージョン間の差分データを各バージョン毎にそなえている。
そして、この図16に示す従来手法においては、クライアントのプログラムを最新のバージョンに更新する際には、そのクライアントのプログラムのバージョンから順番にそのクライアントのプログラムが最新のバージョンになるまで、各バージョンに対応する差分データのクライアントへの送信と、そのクライアントにおける差分データを用いた展開(更新処理)とを繰り返し行なうようになっている。
特開平11−272471号公報 特開2000−10787号公報 特開2002−91776号公報 特開平10−3415号公報
しかしながら、図15に示す従来手法においては、各バージョンのプログラム全体を保存しているので保持すべきデータ量が多くなり、かかるデータの格納領域を確保するためにハードウェアの製造コストが高くなり非経済的であるという課題がある。特に、プログラムの更新が数多く行なわれバージョン数が多くなるに従って、保存するデータ量も増えるのである。又、新しいバージョン(Ver.N)のプログラムが作成された場合には、この最新のプログラムを登録する際に、新旧プログラムの比較ツール等を用いて、既存の各バージョンのプログラムから新たに作成された最新バージョンのプログラムに更新するための差分データをそれぞれ作成する必要があり、かかる差分データの作成工程が繁雑であるとともに時間がかかるという課題もある。
また、図16に示す従来手法においては、クライアントのプログラムを最新のバージョンに更新する際には、そのクライアントのプログラムのバージョンに対応する差分データをから順番に、そのクライアントのプログラムが最新のバージョンになるまで、各バージョンに対応する差分データのクライアントへの送信と、そのクライアントにおける差分データを用いた展開(更新処理)とを繰り返し行なう必要があり、例えば、クライアントのプログラムのバージョンが何世代も前のバージョンである場合には、更新処理が繁雑であるとともに時間がかかるという課題がある。
本発明は、このような課題に鑑み創案されたもので、情報処理装置のデータの更新処理を高速に行なうとともに、最新のバージョンのデータが作成された場合に、この最新のバージョンのデータを高速に登録可能であり、且つ、使用するデータ容量を少なくすることが可能な、データ管理システムを提供することを目的とする。
上記の目的を達成するために、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部と、前記データ格納部に格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部と、該データ格納部に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
なお、前記更新差分データ格納部に格納された更新差分データを、前記第1の更新差分作成部によって作成された更新差分データおよび前記第2の更新差分作成部によって作成された更新差分データと置換する新旧更新差分データ置換部と、前記データ格納部に格納されたデータを、前記最新バージョンデータ入力部から入力された前記最新のバージョン(Ver.N)のデータと置換する新旧データ置換部とをそなえてもよい。
また、前記更新差分データ格納部が複数の更新差分データをそなえるとともに、前記複数の更新差分データの中から、情報処理装置に格納された該データのバージョンに応じて一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえてもよい。
さらに、該第2の更新差分作成部が、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記更新差分データ格納部に格納された更新差分データと前記第1の更新差分作成部によって作成された更新差分データとのいずれもが「複写」を意味する部分については、作成する更新差分データにおける当該位置に複写を、前記更新差分データ格納部に格納された更新差分データと前記第1の更新差分作成部によって作成された更新差分データとの少なくとも一方が「新規」を意味する部分については、作成する更新差分データにおける当該位置に新規を、前記更新差分データ格納部に格納された更新差分データが移動であり、且つ前記第1の更新差分作成部によって作成された更新差分データが「複写」もしくは「移動」を意味する部分と、前記更新差分データ格納部に格納された更新差分データが「複写」であり、且つ前記第1の更新差分作成部によって作成された更新差分データが「移動」を意味する部分については、作成する更新差分データにおける当該位置に移動を、それぞれ設定してもよい。
また、該第2の更新差分作成部が、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前のバージョンのデータに基づいて作成した第1ダミーデータに、前記更新差分データ格納部に格納された該更新差分データを適用することにより、前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)の第2ダミーデータを作成した後、当該第2ダミーデータに、前記第1の更新差分作成部によって作成された更新差分データを適用することにより、前記最新のバージョン(Ver.N)のデータ同一のバージョンの第3ダミーデータを作成し、当該第3ダミーデータに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成してもよい。
さらに、該第2の更新差分作成部が、該第2更新差分データ格納部に格納された更新差分データと、前記第1の更新差分作成部によって作成された更新差分データと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、
(1)第1のダミー空データ(Ver.N−1の空データ)と該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータと前記第1の更新差分作成部によって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、前記第1の更新差分作成部によって作成された更新差分データ(Ver.N−1からVer.N)を解析して、該第1のダミー空データ中に前記最新のバージョン(Ver.N)のデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第1のダミーデータを作成し、
(2)第2のダミー空データ(Ver.Xの空データ)と該第1のダミーデータと前記更新差分データ格納部に格納された更新差分データ(Ver.XからVer.N−1)とに基づいて、前記更新差分データ格納部に格納された更新差分データ(Ver.XからVer.N−1)を解析して、該第2のダミー空データ中に前記第1のダミーデータの一部を複写するとともに、当該第2のダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第2のダミーデータを作成し、
(3)該第2のダミーデータと該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとを比較することにより、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成してもよい。
なお、該更新差分データ格納部に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部をそなえてもよい。
また、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを、前記複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部に格納されたデータと、該第1の更新差分データ格納部に格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成部と、該データ生成部によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョン(Ver.X)のデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部と、該更新差分作成部によって作成された該更新差分データを格納する第2の更新差分データ格納部とをそなえることを特徴としている。
なお、該データ格納部に、前記複数のバージョンのうち最も古いバージョンの該データを格納してもよい。
また、該第2の更新差分データ格納部に前記更新差分作成部によって作成された更新差分データを格納する際に、該第2の更新差分データ格納部に格納されている、前記各バージョン(Ver.X)のデータから前記最新のバージョン(Ver.N)より前のバージョン(Ver.N−1)の該データへ更新可能な該更新差分データを、前記更新差分作成部(11b)によって作成された更新差分データと置換する新旧更新差分データ置換部をそなえてもよい。
さらに、該第2の更新差分データ格納部に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部をそなえてもよい。
また、本発明のデータ管理システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを、前記最新バージョンデータ入力部から入力される最新のバージョン(Ver.N)よりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータへ更新可能な更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部(20b)に格納されたデータと、該第1の更新差分データ格納部に格納された更新差分データとに基づいて、前記最新バージョンデータ入力部から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータを生成するデータ生成部と、該データ生成部によって生成されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータとに基づいて、前記最新バージョンデータ入力部から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータから、前記最新バージョンデータ入力部から入力される最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータよりも前の各バージョン(Ver.X)から当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する第2の更新差分データ格納部と、該第2の更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータよりも前の各バージョンから、最新バージョンデータ入力部により入力される前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
さらに、本発明のデータ管理装置は、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部と、前記データ格納部に格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部と、該データ格納部に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部と、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部とをそなえることを特徴としている。
また、本発明のデータ管理装置は、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部と、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納部と、前記データ格納部に格納された該データを、前記複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記データ格納部に格納されたデータと、該第1の更新差分データ格納部に格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成部と、該データ生成部によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部と、該更新差分作成部によって作成された該更新差分データを格納する第2の更新差分データ格納部とをそなえることを特徴としている。
さらに、本発明のデータ管理方法は、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、該最新バージョンよりも前のバージョンであって、当該データ供給システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納ステップにおいて格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとをそなえることを特徴としている。
また、本発明のデータ管理方法は、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとをそなえることを特徴としている。
さらに、本発明のデータ供給システムは、更新可能なデータを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、前記最新のバージョンのデータを格納する最新バージョンデータ格納部と、前記最新のバージョン(Ver.N)よりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する更新差分データ格納部と、該情報処理装置に格納された該データのバージョンに応じて、該更新差分データ格納部に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえることを特徴としている。
また、本発明のデータ供給システムは、データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、前記最新のバージョンよりも古いバージョンの該データを格納するデータ格納部と、前記データ格納部に格納されたデータを各バージョンのデータに更新可能な複数の更新差分データを格納する第1の更新差分データ格納部と、前記最新のバージョンよりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する第2の更新差分データ格納部と、該情報処理装置に格納された該データのバージョンに応じて、該第2の更新差分データ格納部に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部と、該選択部によって選択された該更新差分データを該情報処理装置に提供する提供部とをそなえることを特徴としている。
さらに、本発明のデータ管理プログラムは、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、該最新バージョンよりも前のバージョンであって、前記最新バージョンデータ入力ステップにおいて入力されるデータよりも前のバージョンのうちで最も新しいバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとを、該コンピュータに実行させることを特徴としている。
また、本発明のデータ管理プログラムは、データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとを、該コンピュータに実行させることを特徴としている。
なお、本発明のコンピュータ読取可能な記録媒体は、上述したデータ管理プログラムを記録したものである。
このように、本発明によれば、以下の少なくともいずれか1つの効果ないし利点がある。
(1)一度の更新処理で各バージョンから最新のバージョンにデータを更新することができ、データの更新を短時間で行なうことができる。
(2)データや更新差分データの格納に要する容量を少なく構成することができる。
(3)最新のデータを容易に登録することができ、システム管理者の工数を低減することができる。
(4)最新のバージョンのデータが新たに作成された場合においても、常に最新のデータに更新可能な更新差分データを登録することができ、システムの信頼性を向上させることができる。
(5)最新のバージョンへの更新差分データを短時間で作成することができる。
(6)所定のバージョンに対する更新差分データを容易且つ高速に取得することができ利便性が高い。
(7)更新差分データの容量を小さくすることができる。
以下、図面を参照して本発明の実施の形態を説明する。
(A)第1実施形態の説明
図1は本発明の第1実施形態としてのデータ管理システム(データ供給システム)の構成を模式的に示すものである。
本第1実施形態のデータ管理システム1aは、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
なお、本データ管理システム1aにおいて管理するデータとしては、情報処理装置3において実行される種々のプログラム(ソフトウェア)やプログラムによって用いられる種々のデータ等であり、以下、これらのプログラムやデータ等を含む概念を総称して単にデータと称する。
また、以下、本実施形態においては、データ管理システム1aに登録されているデータの複数のバージョン(既存のバージョン)のうち最も新しいバージョンがVer.N−1であり、新たに作成され、これから本データ管理システム1aに登録される最新のバージョンをVer.Nとして表わす。
本発明の第1実施形態としてのデータ管理システム1aは、図1に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2aをそなえて構成されている。このデータ管理サーバ2aは、例えば、サーバ機能をそなえたコンピュータによって実現され、図1に示すように、最新バージョンデータ入力部10,第1更新差分作成部(第1の更新差分作成部)11a,第2更新差分作成部(第2の更新差分作成部)12,選択部13,バージョン取得部14,更新差分データ送出部(提供部)15,新旧データ置換部16,不要更新差分除去部(更新差分データ削除部)17,更新差分データ格納部18,新旧更新差分データ置換部19,データ格納部(最新バージョンデータ格納部)20aおよび更新差分データ格納情報テーブル21aをそなえて構成されている。
管理サーバ2aと情報処理装置3とは、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus),無線LAN,ブルートゥース(Bluetooth)(登録商標)等の有線,無線を問わず種々の通信手法で接続されている。
最新バージョンデータ入力部10は、最新のバージョン(Ver.N)のデータを取得(入力)するためのものであり、例えば、コンピュータシステムにおけるキーボード,マウスやフレキシブルディスクドライブ等の入力機能をそなえる種々のデバイスの他、アプリケーションにおけるAPI(Application Program Interface)等によって実現される。
データ格納部(最新バージョンデータ格納部)20aは、最新バージョンデータ入力部10によって入力される最新バージョン(Ver.N)よりも前のバージョンであって、かかる最新バージョン(Ver.N)のデータが作成されるまでは最新のバージョン(Ver.N−1)であったデータを格納するものである(Nは整数)。すなわち、データ管理サーバ2a内における最新のバージョンのデータ全体を格納するものである。このデータ格納部20aは、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
更新差分データ格納部18は、データ格納部20aに格納されたデータよりも前の各バージョン(例えば、Ver.1〜Ver.N−2)から、データ格納部20aに格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納するものである。
なお、以下、データの任意のバージョンを変数X(ただし、Xは1≦X≦N―2)を用いて、Ver.Xの如く示す場合もある。
この更新差分データ格納部18もデータ格納部20aと同様に、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
また、以下、本実施形態においては、更新差分データは、「新規」,「複写」および「移動(参照ポインタの移動)」の3種類の差分コードから構成されており、これらの差分コードは、それぞれ「複写長」,「新規データ長」および「移動量」という属性をそなえている。
更新差分データ格納情報テーブル21aは、更新差分データ格納部18に格納されている各更新差分データの格納位置を管理するテーブルである。
図2は本発明の第1実施形態としてのデータ管理システム1aにおける更新差分データ格納情報テーブル21aの例を示す図である。この図2に示すように、更新差分データ格納情報テーブル21aは、更新前のバージョンとそのバージョンに対応する、すなわち、そのバージョンのデータを更新するための更新差分データの格納位置(格納アドレス)とを関連付けて登録することによって構成されており、後述する選択部13が、この更新差分データ格納情報テーブル21aを参照することにより、特定バージョンに対応する更新差分データの格納場所を高速に参照・取得することができるようになっている。
また、この更新差分データ格納情報テーブル21aは、新旧更新差分データ置換部19(後述)が、更新差分データ格納部18に格納されている更新差分データの置換を行なう際に、併せて更新するようになっている。
さらに、不要更新差分除去部17(後述)が、特定の更新差分データを更新差分データ格納部18から削除した場合には、不要更新差分除去部17は、更新差分データ格納情報テーブル21aにおけるその更新差分データの格納位置も削除するようになっている
新旧更新差分データ置換部19は、更新差分データ格納部18に格納された更新差分データを、第1更新差分作成部11aによって作成された更新差分データおよび第2更新差分作成部12によって作成された更新差分データと置換するものである。この新旧更新差分データ置換部19は、第1更新差分作成部11aが更新差分データを作成する度に、その更新差分データを新たに追加し、又、第2更新差分作成部12が更新差分データ作成する度に、更新差分データ格納部18に格納されているそのバージョン(更新前のバージョン)が同一の更新差分データを、第2更新差分作成部12によって作成された新しい更新差分データと置換するようになっている。
また、新旧更新差分データ置換部19は、第1更新差分作成部11aによって作成された更新差分データを更新差分データ格納部18に新たに追加する場合には、その更新差分データの格納位置(格納アドレス)を更新差分データ格納情報テーブル21aに記録するようになっている。又、新旧更新差分データ置換部19は、第2更新差分作成部12によって作成された更新差分データを更新差分データ格納部18格納されている更新差分データと置換して登録する度に、更新差分データ格納部18におけるその格納位置(格納アドレス)を、更新差分データ格納情報テーブル21aにおけるそのバージョン(更新前のバージョン)に対応する項に登録(上書き,置換)するようになっている。
本データ管理システム1aにおいては、この更新差分データ格納部18に格納された複数の更新差分データの中から、情報処理装置3における更新対象のデータのバージョンに対応する更新差分データを選択・取得して、情報処理装置3において、その更新対象のデータにこの更新差分データを適用することにより、そのデータを最新のバージョンに更新することができるのである。
なお、この更新差分データ格納部18も、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
新旧データ置換部16は、データ格納部に格納されたデータ(Ver.N−1)を、最新バージョンデータ入力部10から入力された最新バージョン(Ver.N)のデータと置換するものである。
第1更新差分作成部11aは、データ格納部20aに格納されたデータ(Ver.N−1)と、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、データ格納部20aに格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成するものであり、例えば、新旧ソフトウェアの比較ツール(プログラム)等によって実現することができる。
ここで、本発明の第1実施形態としてのデータ管理システム1aにおける第1更新差分作成部11aによる更新差分データの作成手法を、図3に示すフローチャート(ステップA10〜A130)に従って説明する。
データ格納部20に格納されたデータ(Ver.N−1)から最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)へバージョンアップ(更新)するための更新差分データ(Ver.N−1からVer.N)を作成するためには(ステップA10)、これらのVer.N−1のデータとVer.Nのデータとを、その先頭から1命令長単位で順番に比較する(ステップA20)。
最初に、比較位置における両者のデータが等しいか否かを調べ(ステップA30)、データが等しい場合には(ステップA30のYESルート参照)、データが一致し続ける位置の長さ(複写長)を取得して、更新差分データ(Ver.N−1からVer.N)に、「複写」として複写を示す差分コードとその「複写長」とを記述する(ステップA80)。
また、データが等しくない場合には(ステップA30のNOルート参照)、次に、Ver.N−1のデータとVer.Nとの両データにおいてデータが連続して一致する部分を検索して(ステップA40)、その検索の結果、Ver.N−1のデータに連続して一致する部分を発見できたか否かを確認する(ステップA50)。N−1のデータに連続して一致する部分を発見できた場合には(ステップA50のYESルート参照)、更新差分データ(Ver.N−1からVer.N)に、「複写」として、その発見位置と比較位置との差を「移動量」として、移動を示す差分コードとともに記述する(ステップA60)。
N−1のデータに連続して一致する部分を発見できなかった場合には(ステップA50のNOルート参照)、更新差分データ(Ver.N−1からVer.N)に、比較位置の値は「新規」データとして、新規を示す差分コードを「新規データ長」とともに記述する(ステップA70)。
そして、第1更新差分作成部11aは、Ver.N−1のデータおよびVer.Nの各データの最後まで比較を行なったか否かを確認して(ステップA90)、最後まで比較を行なっていない場合には(ステップA90のNOルート参照)、比較位置を1命令長移動させた後(ステップA100)、ステップA30に戻る。又、最後まで比較を行なった場合には(ステップA90のYESルート参照)、更新差分データ(Ver.N−1からVer.N)の生成が完了する(ステップA110)。
また、新旧データ置換部16は、データ格納部20aからVer.N−1のデータ削除するとともに(ステップA120)、データ格納部20aにVer.Nのデータを格納(保存)することにより(ステップA130)、データ格納部20aに格納されたデータを、最新バージョンデータ入力部10から入力された最新のバージョン(Ver.N)のデータと置換するのである。
第2更新差分作成部12は、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成するものである。
本発明の第1実施形態としてのデータ管理システム1aにおける第2更新差分作成部12による更新差分データの作成手法を、図4Aおよび図4Bに示すフローチャート(ステップB10〜B190)に従って説明する。なお、図4Aに示すフローチャート(ステップB10〜B120)と図4Bに示すフローチャート(ステップB130〜B190)とに、ステップB10〜B190からなる一のフローチャートを便宜上分けて示している。
先ず、第2更新差分作成部12は、変数XにN−2を設定して(ステップB10)、更新差分データ(Ver.XからVer.N)の作成を開始する(ステップB20)。
第2更新差分作成部12は、更新差分データ格納部18に格納された各更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とをそれぞれ取得して、これらの更新差分データの先頭から順番に比較する(ステップB30)。
最初に、比較位置における双方の差分コードが「複写」であるか否かを調べ(ステップB40)、双方ともが複写である場合には(ステップB40のYESルート参照)、双方の複写長の差し引き分を計算した後、「複写」として複写を示す差分コードと算出した複写長とを更新差分データ(Ver.XからVer.N)に記述する(ステップB110)。
そして、第2更新差分作成部12は、更新差分データどうしの比較を最後まで行なったか否かを確認して(ステップB130)、最後まで比較を行なっていない場合には(ステップB130のNOルート参照)、比較位置を移動させた後(ステップB120)、ステップB40に戻る。
また、双方ともが「複写」ではない場合、すなわち、比較位置において、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)との一方もしくは双方ともが「複写」以外の場合には(ステップB40のNOルート参照)、次に、一方が「新規」であるか否かを確認する(ステップB50)。
比較位置において、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)とのうち、双方もしくは一方が「新規」である場合には(ステップB50のYESルート参照)、更新差分データ(Ver.N−1からVer.N)における比較位置の値を「新規」データとして更新差分データ(Ver.XからVer.N)に記述して(ステップB100)、ステップB130に移行する。
また、各更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N)とのうち、双方もしくは一方が「新規」ではない場合には(ステップB50のNOルート参照)、第2更新差分作成部12は、次に、更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動(参照ポインタの移動)」であるか否かを確認する(ステップB60)。
更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動」である場合には(ステップB60のYESルート参照)、ステップB60における移動量を求めるとともに、複写を示す差分コードと算出した移動量とを更新差分データ(Ver.XからVer.N)に記述して(ステップB90)、ステップB130に移行する。又、この際、「移動」が連続する場合には、差し引きの移動量を計算する。
また、更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動」ではない場合には(ステップB60のNOルート参照)、第2更新差分作成部12は、次に、更新差分データ(Ver.N−1からVer.N)における比較位置のデータが「移動」であるか否かを確認する(ステップB70)。
更新差分データ(Ver.N−1からVer.N)における比較位置のデータが「移動」である場合には(ステップB70のYESルート参照)、更新差分データ(Ver.XからVer.N−1)において、ステップB70での移動先として指定されたVer.N−1中のデータを展開するための差分データの位置へ比較位置を1命令長移動させて(ステップB80)、ステップB130に移行する。
また、更新差分データどうしの比較を最後まで行なった場合には(ステップB130のYESルート参照)、更新差分データ(Ver.XからVer.N)の生成が完了する(ステップB140)。
また、新旧更新差分データ置換部19は、更新差分データ格納部18から更新差分データ(Ver.XからVer.N−1)を削除するとともに(ステップB150)、更新差分データ格納部18に更新差分データ(Ver.XからVer.N)を格納(保存)し(ステップB160)、更に、更新差分データ格納情報テーブル21aにおけるVer.Xに相当する項に、更新差分データ(Ver.XからVer.N)の格納位置を記述する(ステップB170)。
第2更新差分作成部12は、Xの値をデクリメント(X=X−1)した後(ステップB180)、X=0であるか否かを確認して(ステップB190)、X=0の場合には(ステップB190のYESルート参照)、処理を終了する。又、X=0ではない場合には(ステップB190のNOルート参照)、ステップB20に戻る。
バージョン取得部14は、データの更新対象機器(情報処理装置)3における更新対象のデータの現在のバージョンを取得するものである。このバージョン取得部14は、例えば、通信手段を介して情報処理装置3にデータのバージョンを確認するコマンドを送出して、その情報処理装置3からの回答に基づいてそのバージョンを判断・取得してもよく、又、例えば図示しないバージョン管理テーブルをそなえ、このバージョン管理テーブルに情報処理装置3とそのデータのバージョンとを関連付けて登録・管理することにより、情報処理装置のデータのバージョンを取得してもよい。
選択部13は、更新差分データ格納部18に格納された複数の更新差分データの中から、情報処理装置3に格納されたデータのバージョンに応じて一の更新差分データを選択するものである。この選択部13は、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに基づいて、更新差分データ格納情報テーブル21aを参照して、そのバージョンを最新のバージョンに更新するための更新差分データの格納位置を取得し、この格納位置から更新差分データを取得するようになっている。
更新差分データ送出部(提供部)15は、選択部13によって選択された更新差分データを更新対象機器(情報処理装置)3に提供するものであって、例えば、LANや無線LAN,USB,ブルートゥース(Bluetooth)等の種々の通信手段(プロトコル)を介して情報処理装置3にデータを送信(送出)するデータ転送機能によって実現することができる。
不要更新差分除去部(更新差分データ削除部)17は、更新差分データ格納部18に格納された複数の更新差分データの中から、特定のバージョンに対応する更新差分データを選択的に削除するものである。例えば、情報処理装置3において格納(内蔵)されている可能性がないバージョンのデータがある場合には、不要更新差分除去部17は、更新差分データ格納部18に格納された更新差分データのうち、そのバージョンに対応する更新差分データを、例えばシステム管理者による指示等に従って、選択的に削除するようになっている。
また、不要更新差分除去部17は、特定の更新差分データを更新差分データ格納部18から削除した場合には、更新差分データ格納情報テーブル21aにおけるその更新差分データの格納位置も削除するようになっている。
上述の如く構成された本発明の第1実施形態としてのデータ管理システム1aにおいて、最新のバージョン(Ver.N)のデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を、図5を用いて説明する。
最新バージョン(Ver.N)のデータが作成された場合には、最新バージョンデータ入力部10によってそのデータが入力され、第1更新差分作成部11aが、データ格納部20aに格納されている、それまでデータ管理サーバ2a内において最新であったバージョン(Ver.N−1)から新たに作成されたバージョン(Ver.N)に更新するための更新差分データ(Ver.N−1からVer.N)を作成する(図5のステップC10参照)。
なお、データ格納部20aに格納されているデータ(Ver.N−1)は、新旧データ管理サーバ2a置換部16によって、最新バージョンデータ入力部10から入力された最新のデータ(Ver.N)と置換され、又、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)は、新旧更新差分データ置換部19によって更新差分データ格納部18に格納される。又、これらの処理に伴って、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれる。
次に、第2更新差分作成部12が、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)と、更新差分データ格納部18に格納されている各更新差分データとに基づいて、各バージョンから最新のバージョンのデータに更新するための更新差分データ(Ver.XからVer.N)を作成する(図5のステップC20参照)。
新旧更新差分データ置換部19によって、更新差分データ格納部18に登録されているVer.N−1までの各更新差分データ(Ver.XからVer.N−1)は、第2更新差分作成部12によって作成された各更新差分データ(Ver.XからVer.N)と置換される。又、この際、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれるのである。
次に、本発明の第1実施形態としてのデータ管理システム1aにおける情報処理装置3のデータの更新手法を、図6に示すフローチャート(ステップD10〜D50)に従って説明する。
データ管理サーバ2a(バージョン取得部14)は、更新対象機器の情報処理装置3が通信可能に接続されているか否かを確認して(ステップD10)、情報処理装置3が接続されていない場合には(ステップD10のNOルート参照)、情報処理装置の接続待ちを行なう。
情報処理装置3が接続された場合には(ステップD10のYESルート参照)、バージョン取得部14がその情報処理装置3のデータのバージョンを取得する(ステップD20)。選択部13は、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに対応する更新差分データの格納位置を、更新差分データ格納情報テーブル21aを参照して取得する(ステップD30)。
そして、選択部13は、その取得した格納位置に基づいて、更新差分データ格納部18におけるその更新差分データの格納位置から、目的の更新差分データを取得する(ステップD40)。
更新差分データ送出部15は、選択部13によって取得された更新差分データを、情報処理装置3に送出する(ステップD50)。情報処理装置3においては、その更新差分データをデータに適用することにより、旧バージョンのデータを最新のバージョンのデータに更新する。
このように、本発明の第1実施形態としてのデータ管理システム1aによれば、更新差分データ格納部18に、最新のバージョンよりも前の各バージョンから最新バージョンのデータへ更新可能な複数の更新差分データを格納し、選択部13が、情報処理装置3に格納されたデータのバージョンに応じて、更新差分データ格納部18に格納された前記複数の更新差分データの中から、一の更新差分データを選択し、更新差分データ送出部15が、この選択された更新差分データを情報処理装置3に提供するので、情報処理装置3においてどのバージョンのデータを用いている場合においても、データ管理サーバ2aから取得した更新差分データにより、1度の更新差分データの受信およびその更新差分データを用いた更新処理で、現在のバージョンから最新のバージョンに更新(バージョンアップ)を行なうことができ、データの更新を短時間で行なうことができるので利便性が高い。
データ管理サーバ2aにおいて、データ格納部20aにデータ管理サーバ2a内における最新のバージョンのデータ(全体)を1つだけ格納するとともに、更新差分データ格納部18に、データ格納部20aに格納されたデータよりも前の各バージョンからデータ格納部20aに格納されたデータと同一のバージョンへ更新可能な更新差分データを格納しているので、これらのデータや更新差分データを格納するために要する記憶領域の容量を少なく構成することができ、システムの製造コストを低減することができる。
また、最新のバージョンのデータを新たに作成した場合においても、この最新のバージョンのデータを最新バージョンデータ入力部10から入力するだけで、新旧データ置換部16や第1更新差分データ作成部11a,第2更新差分作成部12,新旧更新差分データ置換部19が、データ格納部20aへのデータの登録や必要な更新差分データの作成,置換等を自動的に行なうようになっているので、システム管理者の工数を低減することができ利便性が高い。
さらに、最新のバージョンのデータが新たに登録された際に、更新差分データ格納部18に格納されている旧バージョンへの更新差分データを、新旧更新差分データ置換部19が、第1更新差分作成部11aや第2更新差分作成部12によって作成された更新差分データと置換するので、更新差分データ格納部18には確実に最新のバージョンのデータに更新可能な更新差分データが登録され、システムの信頼性を向上させることができる。
同様に、最新のバージョンのデータが新たに登録された際に、データ格納部20aに格納されている旧バージョンのデータを、新旧データ置換部16が、最新バージョンデータ入力部10から入力された最新バージョンのデータと置換するので、データ格納部20aには確実に最新のバージョンのデータが登録され、システムの信頼性を向上させることができる。
また、例えば、情報処理装置3において格納(内蔵)されている可能性がないバージョンのデータがある場合等に、不要更新差分除去部(更新差分データ削除部)17が、更新差分データ格納部18に格納された複数の更新差分データの中から、そのバージョンに対応する更新差分データを選択的に削除するので、更新差分データ格納部18の容量を節約することができ経済的である。
さらに、第2更新差分作成部12が、第1更新差分作成部11aによって作成された更新差分データと、更新差分データ格納部18に格納された更新差分データとに基づいて、データ格納部20aに格納されたデータよりも前の各バージョンから最新のバージョンのデータへ更新可能な更新差分データを生成するので、最新のバージョンへの更新差分データを短時間で作成することができ利便性が高い。又、データ格納領域18を短時間で最新の状態にすることもできる。
また、更新差分データ格納情報テーブル21aが、更新差分データ格納部18に格納されている各更新差分データの格納位置を管理し、選択部13が、この更新差分データ格納情報テーブル21aを参照して、特定のバージョンに対応する更新差分データの格納位置を取得するので、必要な更新差分データを容易且つ高速に取得することができ利便性が高い。
(B)第1実施形態の第1変形例の説明
上述した第1実施形態としてのデータ管理システム1aにおいては、第2更新差分作成部12が、図4のフローチャートに示した手法によって、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成しているが、かかる更新差分データ(Ver.XからVer.N)の作成手法は、上述した図4のフローチャートに記載された手法に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更して実施することができる。
本発明の第1実施形態のデータ管理システム1aの第1変形例としてのデータ管理システム1a′(図1参照)は、第1実施形態のデータ管理システム1aのデータ管理サーバ2aに代えてデータ管理サーバ2a′をそなえて構成されている。そして、このデータ管理サーバ2a′は、第1実施形態の第2更新差分作成部12に代えて、第2更新差分作成部12′をそなえて構成されている他は、第1実施形態のデータ管理サーバ2aと同様もしくは略同様の構成をそなえている。又、このデータ管理サーバ2a′も、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
本第1変形例における第2更新差分作成部12′も、第1実施形態の第2更新差分作成部12と同様に、更新差分データ格納部18に格納されたVer.XからVer.N−1へのデータの更新を行なう更新差分データ(Ver.XからVer.N−1)と第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、データ格納部20aに格納されたデータ(Ver.N−1)よりも前の各バージョン(Ver.X)から最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成するものであり、各バージョン(Ver.X,N−1,N)のデータのダミーデータを用いて更新差分データ(Ver.XからVer.N)を生成するようになっている。
本発明の第1実施形態の第1変形例としてのデータ管理システム1a′における第2更新差分作成部12′による、更新差分データ(Ver.XからVer.N)の作成手法を、図8を参照しながら、図7Aおよび図7Bに示すフローチャート(ステップE10〜E200)に従って説明する。なお、図7Aに示すフローチャート(ステップE10〜E130)と図7Bに示すフローチャート(ステップE140〜E200)とに、ステップE10〜E200からなる一のフローチャートを便宜上分けて示している。又、図8は本第1変形例において用いられるダミーデータ(ダミーデータX)の例を示す図である。
なお、本第1変形例においても、第1実施形態と同様に、データの任意のバージョンを変数X(ただし、Xは1≦X≦N―2)を用いて示すものとし、又、本説明中における既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
先ず、第2更新差分作成部12′は、変数XにN−2を設定して(ステップE10)、更新差分データ(Ver.XからVer.N)の作成を開始する(ステップE20)。
第2更新差分作成部12′は、データ値をすべてダミーとした上でそのデータの位置を示すアドレス値を代入した、Ver.Xのデータのダミーデータである「ダミーデータX」を作成する(ステップE30)。
このダミーデータXは、図8に示すように、Ver.Xのデータを配列化して示すものであり、例えば、アドレスとダミーフラグおよび値もしくは位置を示すアドレスを相互に関連付けることによって構成されている。このダミーデータXにおいては、そのアドレスのダミーフラグを参照することにより、代入されている値が「位置を示すアドレス」であるのか「実際の値」であるのかを判断することができるようになっている。なお、このようなダミーデータの作成および使用方法としてはプログラミングにおいて一般的に用いられている種々の手法を用いてもよく、例えば、ダミーデータを外部リスト化してもよい。
そして、第2更新差分作成部12′は、更新差分データ格納部18に格納された各更新差分データ(Ver.XからVer.N−1)をステップE30において作成したダミーデータXに適用することにより、Ver.N−1のダミーデータ(ダミーデータN−1)を作成して、図示しないメモリ空間上に展開する(ステップE40)。
また、第2更新差分作成部12′は、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)をステップE40において作成したダミーデータN−1に適用することにより、Ver.Nのダミーデータ(ダミーデータN)を作成して、図示しないメモリ空間上に展開する(ステップE50)。
そして、第2更新差分作成部12′は、ステップE50において展開したダミーデータNを、その先頭から順番に分析する(ステップE60)。なお、以下、ダミーデータNにおける分析が行なわれている位置を分析位置という。
最初に、その分析位置における差分コードがダミーであり、且つ、代入されているアドレスが、前回の分析位置の代入アドレスから連続しているか否かを判断して(ステップE70)、差分コードがダミーであり且つアドレスが連続している場合には(ステップE70のYESルート参照)、アドレスの連続が途切れるまでの長さである複写長を求めた後、「複写」として複写を示す差分コードと求めた複写長とを更新差分データ(Ver.XからVer.N)に記述する(ステップE120)。
そして、第2更新差分作成部12は、ダミーデータNの分析を最後まで行なったか否かを確認して(ステップE140)、最後まで比較を行なっていない場合には(ステップE140のNOルート参照)、比較位置を移動させた後(ステップE130)、ステップB70に戻る。
また、代入されているアドレスが、前回の分析位置の代入アドレスから連続していない場合には(ステップE70のNOルート参照)、次に、分析位置のデータがダミーであり、且つ代入されているアドレスが、前回の分析位置の代入アドレスとは異なる、もしくは前回分析位置のデータがダミーではなかったか否かを確認する(ステップE80)。分析位置のデータダミーであり、且つ代入されているアドレスが、前回の分析位置の代入アドレスとは異なる(新出)、もしくは前回分析位置のデータがダミーである場合には(ステップE80のYESルート参照)、分析対象アドレスからステップE80において代入されていたアドレスまでの移動量を求めるとともに、「移動」として移動を示す差分コードと求めた移動量とを更新差分データ(Ver.XからVer.N)に記述して(ステップE110)、ステップE140に移行する。
次に、分析位置のデータがダミーではないか否かを判断して(ステップE90)、ダミーではない場合には(ステップE90のNOルート参照)、ステップE130に移行する。又、ダミーである場合には(ステップE90のYESルート参照)、「新規」データとして分析位置のデータを更新差分データ(Ver.XからVer.N)に記述して(ステップE100)、ステップE140に移行する。
また、ダミーデータNの分析を最後まで行なった場合には(ステップE140のYESルート参照)、更新差分データ(Ver.XからVer.N)の生成が完了する(ステップE150)。
また、新旧更新差分データ置換部19が、更新差分データ格納部18から更新差分データ(Ver.XからVer.N−1)を削除するとともに(ステップE160)、更新差分データ格納部18に上述の如く作成した更新差分データ(Ver.XからVer.N)を格納(保存)し(ステップE170)、更に、更新差分データ格納情報テーブル21aにおけるVer.Xに相当する項に、更新差分データ(Ver.XからVer.N)の格納位置を記述する(ステップE180)。
第2更新差分作成部12′は、Xの値をデクリメント(X=X−1)した後(ステップE190)、X=0であるか否かを確認して(ステップE200)、X=0の場合には(ステップE200のYESルート参照)、処理を終了する。又、X=0ではない場合には(ステップE200のNOルート参照)、ステップE20に戻る。
本発明の第1実施形態の第1変形例としてのデータ管理システム1a′(データ管理サーバ2a′)においても、更新差分データ(Ver.XからVer.N)を作成することができ、第1実施形態と同様の作用効果を得ることができる。
(C)第1実施形態の第2変形例の説明
図9は本発明の第1実施形態のデータ管理システム1aの第2変形例としてのデータ管理システム1a″の構成を模式的に示す図である。
本第2変形例のデータ管理システム1a″は、図9に示すように、第1実施形態のデータ管理システム1aのデータ管理サーバ2aに代えてデータ管理サーバ2a″をそなえて構成されている。そして、このデータ管理サーバ2a″は、第1実施形態の第2更新差分作成部12に代えて、第2更新差分作成部12″をそなえて構成されている他は、第1実施形態のデータ管理サーバ2a(図1参照)やその変形例のデータ管理サーバ2a′(図1参照)と同様もしくは略同様の構成をそなえている。又、このデータ管理サーバ2a″も、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
本第2変形例における第2更新差分作成部(第2の更新差分作成部)12″は、更新差分データ格納部18に格納された更新差分データ(Ver.XからVer.N−1)と、第1更新差分作成部(第1の更新差分作成部)11aによって作成された更新差分データ(Ver.N−1からVer.N)と、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、更新差分データ(Ver.XからVer.N)を作成するものである。
なお、本第2変形例においても、第1実施形態と同様に、データの任意のバージョンを変数X(ただし、Xは1≦X≦N―2)を用いて示すものとし、又、本説明中における既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する
この第2更新差分作成部12″は、以下の(1)〜(3)の手順に従って更新差分データ(Ver.XからVer.N)を作成するようになっている。なお、本変形例においては、中身に何も記載されていない(ブランクデータ)の第1のダミー空データ(Ver.N−1の空データ)および第2のダミー空データ(Ver.Xの空データ)を用いる(予め用意)。
(1)第1のダミー空データ(Ver.N−1の空データ)と最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータと前記第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)を解析して、Ver.N−1の空データ中にVer.Nのデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定してVer.N−1のダミーデータB′(第1のダミーデータ)を作成。
(2)第2のダミー空データ(Ver.Xの空データ)と上記ダミーデータB′と第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)とに基づいて、第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)を解析して、Ver.Xの空データ中にダミーデータB′のデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定してVer.XのダミーデータA′(第2のダミーデータ)を作成。
(3)上記ダミーデータA′と最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとを比較することにより、データ格納部20aに格納されたデータよりも前の各バージョンから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成。
本発明の第1実施形態の第2変形例としてのデータ管理システム1a″における第2更新差分作成部12″による更新差分データ(Ver.XからVer.N)の作成手法を、図10Aおよび図10Bに示すフローチャート(ステップG10〜G340)に従って説明する。なお、図10Aに示すフローチャート(ステップG10〜G220)と図10Bに示すフローチャート(ステップG230〜G340)とに、ステップG10〜G340からなる一のフローチャートを便宜上分けて示している。
先ず、第2更新差分作成部12″は、Ver.N−1の空データと、最新バージョンデータ入力部20から入力された最新バージョン(Ver.N)のデータとをメモリ(例えばデータ展開用高速メモリ23)上に展開して、参照ポインタを各データの先頭位置に設定する(ステップG10)。
次に、第2更新差分作成部12″は、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)をその先頭の差分コードから順番に解析する(ステップG20)。
先ず、差分コードが「複写」であるか否かを判断して(ステップG30)、複写である場合には(ステップG30のYESルート参照)、Ver.N−1の空データの参照位置に、Ver.Nの参照位置から複写長分のデータをコピーし(ステップG80)、更に、Ver.N−1の空データにおける参照位置を複写長分後ろへ移動させる(ステップG90)。
そして、更新差分データ(Ver.N−1からVer.N)の全ての差分コードについて解析を行なったか否か、すなわち、差分コードの終わりであるか否かを判断して(ステップG100)、終わりではない場合には(ステップG100のNOルート参照)、ステップG30に戻る。
差分コードが複写ではない場合には(ステップG30のNOルート参照)、第2更新差分作成部12″は、次に差分コードが「新規」であるか否かを判断する(ステップG40)。差分コードが新規である場合には(ステップG40のYESルート参照)、Ver.N−1の空データにおける参照位置を新規データ長分後ろへ移動させて(ステップG70)、ステップG100に移行する。
また、差分コードが新規ではない場合には(ステップG40のNOルート参照)、第2更新差分作成部12″は、差分コードが「移動」であると判断して(ステップG50)、Ver.N−1の空データにおける参照位置を移動量に基づいて移動させて(ステップG60)、ステップG100に移行する。
差分コードが終わりである場合には(ステップG100のYESルート参照)、Ver.N−1の空データにおいて、複写によるデータ代入が行われなかった部分にダミーのデータ(ダミー部)を代入して、Ver.N−1のダミーデータ(ダミーデータB′)を完成させる(ステップG110)。
次に、第2更新差分作成部12″は、X=N−2と設定した後(ステップG120)、ステップG110において作成したVer.N−1のダミーデータ(ダミーデータB′)と、Ver.Xの空データとをメモリ(例えばデータ展開用高速メモリ23)上に展開して、参照ポインタを各データの先頭位置に設定する(ステップG130)。
次に、第2更新差分作成部12″は、更新差分データ格納部18から取得した更新差分データ(Ver.XからVer.N−1)をその先頭の差分コードから順番に解析する(ステップG140)。
先ず、差分コードが「複写」であるか否かを判断して(ステップG150)、複写である場合には(ステップG150のYESルート参照)、Ver.Xの空データの参照位置に、Ver.N−1の参照位置から複写長分のデータをコピーし(ステップG200)、更に、Ver.Xの空データにおける参照位置を複写長分後ろへ移動させる(ステップG210)。
そして、更新差分データ(Ver.XからVer.N−1)の全ての差分コードについて解析を行なったか否か、すなわち、差分コードの終わりであるか否かを判断して(ステップG220)、終わりではない場合には(ステップG220のNOルート参照)、ステップG150に戻る。
差分コードが複写ではない場合には(ステップG150のNOルート参照)、第2更新差分作成部12″は、次に差分コードが「新規」であるか否かを判断する(ステップG160)。差分コードが新規である場合には(ステップG160のYESルート参照)、Ver.Xの空データの参照位置を新規データ長分後ろへ移動させて(ステップG190)、ステップG220に移行する。
また、差分コードが新規ではない場合には(ステップG160のNOルート参照)、第2更新差分作成部12″は、差分コードが「移動」であると判断して(ステップG170)、Ver.Xの空データにおける参照位置を移動量に基づいて移動させて(ステップG180)、ステップG220に移行する。
差分コードが終わりである場合には(ステップG220のYESルート参照)、Ver.Xの空データにおいて、複写によるデータ代入が行われなかった部分にダミーのデータ(ダミー部)を代入することにより、Ver.Xのダミーデータ(ダミーデータA′)を完成させる(ステップG230)。
次に、第2更新差分作成部12″は、ステップG230において作成されたVer.Xのダミーデータ(ダミーデータA′)と、最新バージョンデータ入力部20から入力された最新バージョン(Ver.N)のデータとを、先頭のデータから比較する(ステップG240)。
Ver.XのダミーデータとVer.Nのデータとが等しいか否かを判断して(ステップG250)、等しい場合には(ステップG250のYESルート参照)、更新差分データ(Ver.XからVer.N)に複写として複写長を記述する(ステップG310)。そして、データの最後まで比較を行なったか否かを判断して(ステップG320)、最後まで比較を行なっていない場合には(ステップG320のNOルート参照)、ステップG250に戻る。
Ver.XのダミーデータとVer.Nのデータとが異なる場合には、(ステップG250のNOルート参照)、第2更新差分作成部12″は、次に、Ver.Xのダミーデータにおける比較位置のデータがダミーデータであるか否かを判断する(ステップG260)。ダミーデータである場合には(ステップG260のYESルート参照)、新規データとしてVer.Nのデータ内容を更新差分データ(Ver.N−1からVer.N)に記述して(ステップG300)、ステップG320に移行する。
また、Ver.Xのダミーデータにおける当該比較位置におけるデータがダミーデータではない場合には(ステップG260のNOルート参照)、Ver.Xのダミーデータの中からVer.Nのデータに等しいデータを検索して(ステップG270)、等しい箇所を発見することができたか否かを判断する(ステップG280)。
等しい箇所が発見されない場合には(ステップG280のNOルート参照)、ステップG300に移行する。又、等しい箇所が発見された場合には(ステップG280のYESルート参照)、発見位置への移動量を更新差分データ(Ver.XからVer.N)に記述して(ステップG290)、ステップG320に移行する。
データを最後まで比較した場合には(ステップG320のYESルート参照)、次に、Xの値をデクリメント(X=X−1)して(ステップG330)、X=0であるか否かを判断する(ステップG340)。X=0でない場合には(G340のNOルート参照)、ステップG130に戻り、X=0の場合には(G340のYESルート参照)、処理を終了する。
上述の如く構成された本発明の第1実施形態の第2変形例としてのデータ管理システム1a″においても、上述した第1実施形態およびその第1変形例と同様の作用効果を得ることができる。
(D)第2実施形態の説明
図11は本発明の第2実施形態としてのデータ管理システム(データ供給システム)1bの構成を模式的に示す図である。
本第2実施形態のデータ管理システム1bも、第1実施形態のデータ管理システム1aと同様に、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
本発明の第2実施形態としてのデータ管理システム1bは、図11に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2bをそなえて構成されている。又、このデータ管理サーバ2bは、例えば、サーバ機能をそなえたコンピュータシステムによって実現され、図11に示すように、最新バージョンデータ入力部10,更新差分作成部(第1の更新差分作成部)11b,選択部13,バージョン取得部14,更新差分データ送出部(提供部)15,不要更新差分除去部(更新差分データ削除部)17,第1更新差分データ格納部(第1の更新差分データ格納部)181,第2更新差分データ格納部(第2の更新差分データ格納部)182,新旧更新差分データ置換部19,データ格納部20b,データ生成部22および更新差分データ格納情報テーブル21bをそなえて構成されている。
すなわち、本第2実施形態のデータ管理サーバ2bは、第1実施形態のデータ管理サーバ2aにおける、第1更新差分作成部11および第2更新差分作成部12に代えて更新差分作成部11bをそなえるとともに、更新差分データ格納部18に代えて第1更新差分データ格納部181および第2更新差分データ格納部182を、又、更新差分データ格納情報テーブル21aに代えて更新差分データ格納情報テーブル21bを、更に、データ格納部20aに代えてデータ格納部20bを、それぞれそなえて構成されている。
また、データ管理サーバ2bは、第1実施形態のデータ管理サーバ2aにおける新旧データ置換部16を除いて構成される一方で、新たにデータ生成部22およびデータ展開用高速メモリ23をそなえて構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
データ格納部20bは、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも古いバージョンのデータ全体を格納するものであって、本第2実施形態においては、最も古いバージョン(Ver.1)のデータ(全体)を格納している。
第1更新差分データ格納部(第1の更新差分データ格納部)181は、データ格納部20bに格納されたデータを、本データ管理システム1bにおいて管理する複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データをそれぞれ格納するものであり、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
データ生成部22は、データ格納部20bに格納されたデータと、第1更新差分データ格納部181に格納された各更新差分データとに基づいて、各バージョンのデータを生成するものであり、データ格納部20bに格納されたデータに、第1更新差分データ格納部181に格納された各更新差分データを選択的に適用することにより、任意のバージョン(Ver.X)のデータ(全体)を生成することができるようになっている。
データ展開用高速メモリ23は、データ生成部22によって生成されたデータを展開するものであり、特にアクセス速度が高速なメモリを使用することにより、処理速度を向上させることができる。
更新差分作成部11bは、データ生成部22によって生成された各バージョンのデータと、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、各バージョン(Ver.X)のデータから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を作成するものである。なお、この更新差分作成部11bが更新差分データ(Ver.XからVer.N)を作成する手法は、第1実施形態の第1更新差分作成部11aによる更新差分データ(Ver.N−1からVer.N)の生成手法(図3参照)と略同様であるので、その説明は省略する。
第2更新差分データ格納部(第2の更新差分データ格納部)182は、更新差分作成部11bによって作成された更新差分データを格納するものであり、各バージョンのデータを本データ管理システム1bにおける最新のバージョンに更新可能な各更新差分データを格納するようになっている。なお、この第2更新差分データ格納部182も、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
更新差分データ格納情報テーブル21bは、第2更新差分データ格納部182に格納されている各更新差分データの格納位置を管理するテーブルであり、第1実施形態の更新差分データ格納情報テーブル21a(図2参照)と同様に、更新前のバージョンとそのバージョンに対応する更新差分データの格納位置(格納アドレス)とを関連付けて登録することによって構成されており、選択部13が、この更新差分データ格納情報テーブル21bを参照することにより、特定バージョンに対応する更新差分データの格納場所を高速に取得することができるようになっている。
上述の如く構成された本発明の第2実施形態としてのデータ管理システム1bにおいて、最新のバージョン(Ver.N)のデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を、図12を用いて説明する。
最新バージョン(Ver.N)のデータが作成された場合には、先ず、データ生成部22が、データ格納部20bに格納されているVer.1のデータ(全体)と、第1更新差分データ格納部181に格納されている各更新差分データとに基づいて、各バージョン(Ver.X)のデータ(全体)を生成して(図12のステップF10)、データ展開用高速メモリ23に展開する。
なお、データ生成部22は、各バージョンのデータを逐次、生成・展開することが望ましいが、例えばデータ展開用高速メモリ23の容量が各データのサイズに比べて十分に大きい場合には、複数のバージョンのデータを一度に生成・展開してもよい。
そして、更新差分作成部11bが、最新バージョンデータ入力部10によって入力されたデータ(Ver.N)と、データ展開用高速メモリ23に展開されたデータ(Ver.X)とに基づいて、Ver.Xのデータから最新のバージョン(Ver.N)のデータへ更新するための更新差分データ(Ver.XからVer.N)を作成する(図12のステップF20参照)。
更新差分データ格納部18に登録されているVer.N−1までの各更新差分データ(Ver.XからVer.N−1)は、新旧更新差分データ置換部19によって、更新差分作成部11bによって作成された更新差分データ(Ver.XからVer.N)と置換される。又、この際、更新差分データ格納情報テーブル21aの更新処理も併せて行なわれる。
なお、本発明の第2実施形態としてのデータ管理システム1bにおける情報処理装置3のデータの更新手法は、選択部13が、バージョン取得部14によって取得された情報処理装置3のデータのバージョンに対応する更新差分データを、第2更新差分データ格納部182におけるその更新差分データの格納位置から取得すること以外は、前述した第1実施形態のデータ管理システム1a(図6参照)とほぼ同様であるので、その詳細な説明は省略する。
このように、本発明の第2実施形態としてのデータ管理システム1bによれば、上述した第1実施形態と同様の作用効果を得ることができる他、更新差分作成部11bが、最新バージョンデータ入力部10から入力された最新バージョンのデータ全体と、データ生成部22によって生成された各旧バージョンのデータ全体とに基づいて各更新差分データ(Ver.XからVer.N)を作成するので、第1実施形態の第2更新差分作成部12の如く更新差分データどうし(更新差分データ(Ver.XからVer.N−1)と更新差分データ(Ver.N−1からVer.N))から更新差分データ(Ver.XからVer.N)を生成するよりも、作成する更新差分データ(Ver.XからVer.N)の容量を小さくすることができる場合がある。
例えば、データを複数のバージョンにわたって更新する過程において、あるバージョンにおいて変更した部分をその後のバージョンにおいて元に戻した場合には、第1実施形態の如く第2更新差分作成部12が更新差分データどうしから更新差分データ(Ver.XからVer.N)を作成した場合には、作成された更新差分データ(Ver.XからVer.N)には、これらの更新過程が差分コードとして含まれるのに対して、本第2実施形態の如く全体のデータどうしから更新差分データ(Ver.XからVer.N)を作成した場合には、このような更新過程の差分コードが含まれることがなく、最小限のサイズの更新差分データ(Ver.XからVer.N)を作成することができるのである。
(E)第2実施形態の変形例の説明
上述した第2実施形態のデータ管理システム1bにおいては、データ格納部20bに、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも古いバージョンのデータとして、最も古いバージョン(Ver.1)のデータを格納しているが、これに限定されるものではなく、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも前の他のバージョン(Ver.B)のデータを格納してもよい(ただし、Bは1<B<N)。
図13は本発明の第2実施形態の変形例としてのデータ管理システム1b′の構成を模式的に示す図である。この図13に示すように、本変形例のデータ管理システム1b′は、第2実施形態のデータ管理システム1bにおけるデータ格納部20bに代えてデータ格納部20b′をそなえるとともに、第1更新差分データ格納部181に代えて、第1更新差分データ格納部181′をそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
データ格納部20b′は、最新バージョンデータ入力部10から入力される最新のバージョン(Ver.N)よりも前の他のバージョン(Ver.B)のデータを格納している。
また、第1更新差分データ格納部181′は、データ格納部20b′に格納されたデータを、本データ管理システム1b′において管理する複数の各バージョンのデータへ更新可能な各更新差分データを格納するようになっている。
なお、本変形例において、B>Xとなる場合、すなわちVer.BがVer.Xよりも新しいバージョンの場合には、第1更新差分データ格納部181′には、新しいバージョンであるVer.Bのデータから古いバージョンであるVer.Xのデータに更新(バージョンダウン)するための更新差分データ(Ver.BからVer.X)が登録される。
このような本発明の第2実施形態の変形例としてのデータ管理システム1b′においても、第2実施形態と同様の作用効果を得ることができる。
(F)第3実施形態の説明
図14は本発明の第3実施形態としてのデータ管理システム1cの構成を模式的に示す図である。
本第3実施形態のデータ管理システム1cも、第2実施形態のデータ管理システム1bと同様に、データやプログラム(以下、単にデータという)を格納可能な情報処理装置(更新対象機器)3と通信可能に接続され、複数のバージョンのデータを管理して、情報処理装置3に最新のバージョンのデータを提供するべくこれらのデータを管理するものである。
本発明の第3実施形態としてのデータ管理システム1cは、図14に示すように、情報処理装置3に通信可能に接続されたデータ管理サーバ(データ管理装置)2cをそなえて構成されている。
そして、このデータ管理サーバ2cは、図14に示すように、第2実施形態のデータ管理サーバ2bに第3更新差分作成部(第2の更新差分作成部)25をそなえるとともに、第1更新差分データ格納部181に代えて第1更新差分データ格納部181(第1の更新差分データ格納部)cをそなえ、更に、更新差分作成部11bに代えて第1更新差分作成部(第1の更新差分作成部)11cをそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。又、このデータ管理サーバ2cは、例えば、サーバ機能をそなえたコンピュータシステムによって実現される。
第1更新差分データ格納部181cは、データ格納部20bに格納されたバージョンのデータをVer.N−1のデータに更新するための更新差分データを格納するものである。なお、図14に示す例においては、データ格納部20bにVer.1のデータ(全体)が格納されているので、第1更新差分データ格納部181dは、更新差分データ(Ver.1からVer.N−1)を格納している。
本第3実施形態のデータ管理システム1dにおいては、データ生成部22は、データ格納部20bに格納されたVer.1のデータと、第1更新差分データ格納部181cに格納された各更新差分データ(Ver.1からVer.N−1)とに基づいて、Ver.N−1のデータ(全体)を生成するようになっており、生成したVer.N−1のデータは、データ展開用高速メモリ23上に展開されるようになっている。
第1更新差分作成部11cは、データ生成部22によって生成されたVer.N−1のデータと、最新バージョンデータ入力部10により入力された最新のバージョン(Ver.N)のデータとに基づいて、Ver.N−1のデータから最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.N−1からVer.N)を作成するものである。なお、この第1更新差分作成部11cが更新差分データ(Ver.N−1からVer.N)を作成する手法は、上述した第1実施形態の第1更新差分作成部11による更新差分データ(Ver.N−1からVer.N)の生成手法(図3参照)と略同様であるので、その説明は省略する。
第3更新差分作成部25は、第1更新差分作成部11cによって作成された更新差分データ(Ver.N−1からVer.N)と、第2更新差分データ格納部182に格納されている各更新差分データ(Ver.XからVer.N−1)とに基づいて、更新差分データ(Ver.XからVer.N)を作成するものである。
また、この第3更新差分作成部25は、作成した更新差分データ(Ver.XからVer.N)を、新旧更新差分データ置換部19に渡すようになっている。
本第3実施形態のデータ管理システム1cにおいては、最新のデータが最新バージョンデータ入力部10から入力され、その更新差分データが第3更新差分作成部25によって作成された場合に、新旧更新差分データ置換部19は、第2更新差分データ格納部182に格納された更新差分データ(Ver.XからVer.N−1)の更新(置換)を行なうとともに、第1更新差分データ格納部181cに格納されている更新差分データ(Ver.1からVer.N−1)についても、データ格納部20bに格納されているデータを最新バージョンデータ入力部10から入力された最新のバージョンのデータに更新するための更新差分データと置換するようになっている。
なお、第3更新差分作成部25による更新差分データ(Ver.XからVer.N)の生成手法は、上述した第1実施形態の第2更新差分作成部12や、その第1変形例の第2更新差分作成部12′,第2変形例の第2更新差分作成部12″による更新差分データ(Ver.N−1からVer.N)の生成手法(図4,図7参照)と略同様であるので、その説明は省略する。
本発明の第3実施形態としてのデータ管理システム1cによっても、第1実施形態と同様の作用効果を得ることができる。
(G)その他
上述した各実施形態およびその変形例においては、データ管理サーバ2a,2a′,2a″,2b,2cを構成するコンピュータのCPU(Central Processing Unit)が、データ管理プログラムを実行することにより、上述した、最新バージョンデータ入力部10,第1更新差分作成部11a,第2更新差分作成部12,12′,12″,選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21a,第2更新差分作成部12′,更新差分作成部11b,11d,第3更新差分作成部25および更新差分データ格納情報テーブル21bとして機能するようになっている。
なお、これらの最新バージョンデータ入力部10,更新作成部11b,11c第1更新差分作成部11a,第2更新差分作成部12,12′,12″,選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21aおよび更新差分データ格納情報テーブル21bとしての機能を実現するためのプログラム(データ管理プログラム)は、例えばフレキシブルディスク,CD−ROM,CD−R,CD−R/W,DVD,DVD−R,DVD−R/W,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cがコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD−ROM,CD−R,CD−R/W,DVD,DVD−R,DVD−R/W,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
また、上述した各実施形態およびその変形例においては、管理サーバ2a,2a′,2a″,2b,2b′,2cと情報処理装置3とは、例えば、LANやUSB,無線LAN,ブルートゥース(Bluetooth;登録商標)等の有線,無線を問わず種々の通信手法で通信可能に接続することができるが、本発明は、このような通信手法として、USB等のデータ管理サーバ2a,2a′,2a″,2b,2b′,2cと情報処理装置3との間で転送されるデータ量に従って、その転送に要する時間(転送時間)が目に見えて多くなるような通信手段を用いる場合に特に有効である。
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した各実施形態においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに、最新バージョンデータ入力部10や更新差分作成部11b,11c,第1更新差分作成部11a,第2更新差分作成部12,12′,12″選択部13,バージョン取得部14,更新差分データ送出部15,新旧データ置換部16,不要更新差分除去部17,新旧更新差分データ置換部19,更新差分データ格納情報テーブル21a,第3更新差分作成部25および更新差分データ格納情報テーブル21b,データ格納部20a,20b,20b′,更新差分データ格納部18,第1更新差分データ格納部181,181′,181d,第2更新差分データ格納部182がそなえられているが、これに限定されるものではなく、相互に通信可能に接続された1台以上の他のコンピュータにこれらのうちの一部の機能を分割してそなえてもよい。
また、上述した各実施形態およびその変形例においては、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに1つの情報処理装置3が接続されている例を示しているが、これに限定されるものではなく、データ管理サーバ2a,2a′,2a″,2b,2b′,2cに2以上の情報処理装置3が接続され、これらの各情報処理装置3に対して、最新のバージョンのデータを提供すべく更新差分データの送信等を行なってもよい。
また、上述した第3実施形態において、第3更新差分作成部25が、第1実施形態の第1変形例や第2変形例における第2更新差分作成部12′,12″と同様の手法で更新差分データを作成してもよい。
なお、本発明の各実施形態が開示されていれば、本発明のデータ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体を当業者によって実施・製造することが可能である。
以上のように、本発明のデータ管理システムは、情報処理装置におけるデータのバージョン管理を行なうのに有用であり、例えば携帯電話器やコンピュータ等におけるプログラムやデータの更新管理に適している。
本発明の第1実施形態としてのデータ管理システム(データ供給システム)の構成を模式的に示すものである。 本発明の第1実施形態としてのデータ管理システムにおける更新差分データ格納情報テーブルの例を示す図である。 本発明の第1実施形態としてのデータ管理システムにおける第1更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムにおける第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムにおける第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムにおいて、最新のバージョンのデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を説明するための図である。 本発明の第1実施形態としてのデータ管理システムにおける情報処理装置のデータの更新手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムの変形例における第2更新差分作成部による、更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムの変形例における第2更新差分作成部による、更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態の第1変形例において用いられるダミーデータの例を示す図である。 本発明の第1実施形態としてのデータ管理システムの第2変形例の構成を模式的に示す図である。 本発明の第1実施形態としてのデータ管理システムの第2変形例における第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。 本発明の第1実施形態としてのデータ管理システムの第2変形例における第2更新差分作成部による更新差分データの作成手法を説明するためのフローチャートである。 本発明の第2実施形態としてのデータ管理システムの構成を模式的に示す図である。 本発明の第2実施形態としてのデータ管理システムにおいて、最新のバージョンのデータが作成された場合にその最新バージョンのデータについての更新差分データを登録する手法を説明するための図である。 本発明の第2実施形態としてのデータ管理システムの変形例の構成を模式的に示す図である。 本発明の第3実施形態としてのデータ管理システムの構成を模式的に示す図である。 従来のプログラムの更新管理手法を説明するための図である。 従来のプログラムの更新管理手法を説明するための図である。
また、該第2の更新差分作成部が、該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部によって作成された該更新差分データとに基づいて、前記データ格納部に格納されたデータよりも前のバージョンである任意のバージョン(Ver.X)のデータに基づいて、当該データのデータ値を全てダミーとして配列化した上で、アドレスとダミーフラグおよび値もしくは位置を示すアドレスを相互に関連付けることによって構成作成した第1ダミーデータを用いて、前記更新差分データ格納部に格納された該更新差分データを更新することにより、前記データ格納部に格納されたデータと同一のバージョン(Ver.N−1)のデータのデータ値を全てダミーとして配列化して表し、アドレスとダミーフラグおよび値もしくは位置を示すアドレスを相互に関連付けることによって構成された第2ダミーデータを作成した後、当該第2ダミーデータ、前記第1の更新差分作成部によって作成された更新差分データを用いて更新することにより、前記最新のバージョン(Ver.N)のデータ同一のバージョンの該データのデータ値を全てダミーとして配列化して表し、アドレスとダミーフラグおよび値もしくは位置を示すアドレスを相互に関連付けることによって構成された第3ダミーデータを作成し、当該第3ダミーデータに基づいて、前記データ格納部に格納されたデータよりも前の各バージョン(Ver.X)から前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成してもよい。
この更新差分データ格納部18もデータ格納部20aと同様に、例えば、コンピュータシステムにおけるハードディスクやメモリ等の記憶装置によって実現される。
また、以下、本実施形態においては、更新差分データは、「新規」,「複写」および「移動(参照ポインタの移動)」の3種類の差分コードから構成されており、「新規」の差分コードは「新規データ長」という属性を、「複写」の差分コードは「複写長」という属性を、「移動」の差分コードは「移動量」という属性をそれぞれそなえている
また、データが等しくない場合には(ステップA30のNOルート参照)、次に、Ver.N−1のデータとVer.Nとの両データにおいてデータが連続して一致する部分を検索して(ステップA40)、その検索の結果、Ver.N−1のデータに連続して一致する部分を発見できたか否かを確認する(ステップA50)。N−1のデータに連続して一致する部分を発見できた場合には(ステップA50のYESルート参照)、更新差分データ(Ver.N−1からVer.N)に、「移動」として、その発見位置と比較位置との差を「移動量」として、移動を示す差分コードとともに記述する(ステップA60)。
更新差分データ(Ver.XからVer.N−1)における比較位置のデータが「移動」である場合には(ステップB60のYESルート参照)、ステップB60における移動量を求めるとともに、移動を示す差分コードと算出した移動量とを更新差分データ(Ver.XからVer.N)に記述して(ステップB90)、ステップB130に移行する。又、この際、「移動」が連続する場合には、差し引きの移動量を計算する。
そして、第2更新差分作成部12′は、更新差分データ格納部18に格納された各更新差分データ(Ver.XからVer.N−1)をステップE30において作成したダミーデータXに用いて更新することにより、Ver.N−1のダミーデータ(ダミーデータN−1)を作成して、図示しないメモリ空間上に展開する(ステップE40)。
また、第2更新差分作成部12′は、第1更新差分作成部11aによって作成された更新差分データ(Ver.N−1からVer.N)をステップE40において作成したダミーデータN−1に適用することにより、Ver.Nのダミーデータ(ダミーデータN)を作成して、図示しないメモリ空間上に展開する(ステップE50)。

Claims (22)

  1. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部(10)と、
    該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部(20a)と、
    前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記データ格納部(20a)に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部(18)と、
    該データ格納部(20a)に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部(20a)に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部(11a)と、
    該更新差分データ格納部(18)に格納された該更新差分データと該第1の更新差分作成部(11a)によって作成された該更新差分データとに基づいて、前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部(12,12′,12″)とをそなえることを特徴とする、データ管理システム。
  2. 前記更新差分データ格納部(18)に格納された更新差分データを、前記第1の更新差分作成部(11a)によって作成された更新差分データおよび前記第2の更新差分作成部(12,12′,12″)によって作成された更新差分データと置換する新旧更新差分データ置換部(19)と、
    前記データ格納部(20a)に格納されたデータを、前記最新バージョンデータ入力部(10)から入力された前記最新のバージョン(Ver.N)のデータと置換する新旧データ置換部(16)とをそなえることを特徴とする、請求の範囲第1項に記載のデータ管理システム。
  3. 前記更新差分データ格納部(18)が複数の更新差分データをそなえるとともに、
    前記複数の更新差分データの中から、情報処理装置に格納された該データのバージョンに応じて一の更新差分データを選択する選択部(13)と、
    該選択部(13)によって選択された該更新差分データを該情報処理装置に提供する提供部(15)とをそなえることを特徴とする、請求の範囲第2項に記載のデータ管理システム。
  4. 該第2の更新差分作成部(12)が、該更新差分データ格納部(18)に格納された該更新差分データと該第1の更新差分作成部(11a)によって作成された該更新差分データとに基づいて、
    前記更新差分データ格納部(18)に格納された更新差分データと前記第1の更新差分作成部(11a)によって作成された更新差分データとのいずれもが「複写」を意味する部分については、作成する更新差分データにおける当該位置に複写を、
    前記更新差分データ格納部(18)に格納された更新差分データと前記第1の更新差分作成部(11a)によって作成された更新差分データとの少なくとも一方が「新規」を意味する部分については、作成する更新差分データにおける当該位置に新規を、
    前記更新差分データ格納部(18)に格納された更新差分データが移動であり、且つ前記第1の更新差分作成部(11a)によって作成された更新差分データが「複写」もしくは「移動」を意味する部分と、前記更新差分データ格納部(18)に格納された更新差分データが「複写」であり、且つ前記第1の更新差分作成部(11a)によって作成された更新差分データが「移動」を意味する部分については、作成する更新差分データにおける当該位置に移動を、それぞれ設定することを特徴とする、請求の範囲第1項〜第3項のいずれか1項に記載のデータ管理システム。
  5. 該第2の更新差分作成部(12′)が、該更新差分データ格納部(18)に格納された該更新差分データと該第1の更新差分作成部(11a)によって作成された該更新差分データとに基づいて、
    前記データ格納部(20a)に格納されたデータよりも前のバージョンのデータに基づいて作成した第1ダミーデータに、前記更新差分データ格納部(18)に格納された該更新差分データを適用することにより、前記データ格納部(20a)に格納されたデータと同一のバージョン(Ver.N−1)の第2ダミーデータを作成した後、当該第2ダミーデータに、前記第1の更新差分作成部(11a)によって作成された更新差分データを適用することにより、前記最新のバージョン(Ver.N)のデータ同一のバージョンの第3ダミーデータを作成し、当該第3ダミーデータに基づいて、前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成することを特徴とする、請求の範囲第1項〜第3項のいずれか1項に記載のデータ管理システム。
  6. 該第2の更新差分作成部(12″)が、該第2更新差分データ格納部(18)に格納された更新差分データと、前記第1の更新差分作成部(11a)によって作成された更新差分データと、該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、
    (1)第1のダミー空データ(Ver.N−1の空データ)と該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータと前記第1の更新差分作成部(11a)によって作成された更新差分データ(Ver.N−1からVer.N)とに基づいて、前記第1の更新差分作成部(11a)によって作成された更新差分データ(Ver.N−1からVer.N)を解析して、該第1のダミー空データ中に前記最新のバージョン(Ver.N)のデータの一部を複写するとともに、当該ダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第1のダミーデータを作成し、
    (2)第2のダミー空データ(Ver.Xの空データ)と該第1のダミーデータと前記更新差分データ格納部(18)に格納された更新差分データ(Ver.XからVer.N−1)とに基づいて、前記更新差分データ格納部(18)に格納された更新差分データ(Ver.XからVer.N−1)を解析して、該第2のダミー空データ中に前記第1のダミーデータの一部を複写するとともに、当該第2のダミー空データ中における前記複写されたデータ以外の領域にダミーデータを設定して第2のダミーデータを作成し、
    (3)該第2のダミーデータと該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとを比較することにより、前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データ(Ver.XからVer.N)を生成することを特徴とする、請求の範囲第1項〜第3項のいずれか1項に記載のデータ管理システム。
  7. 該更新差分データ格納部(18)に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部(17)をそなえることを特徴とする、請求の範囲第1項〜第6項のいずれか1項に記載のデータ管理システム。
  8. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部(10)と、
    前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部(20b,20b′)と、
    前記データ格納部(20b,20b′)に格納されたデータを、前記複数の各バージョン(Ver.X)のデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部(181)と、
    前記データ格納部(20b,20b′)に格納されたデータと、該第1の更新差分データ格納部(181)に格納された各更新差分データとに基づいて、各バージョン(Ver.X)のデータを生成するデータ生成部(22)と、
    該データ生成部(22)によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョン(Ver.X)のデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部(11b)と、
    該更新差分作成部(11b)によって作成された該更新差分データを格納する第2の更新差分データ格納部(182)とをそなえることを特徴とする、データ管理システム。
  9. 該データ格納部(20b,20b′)に、前記複数のバージョンのうち最も古いバージョンの該データを格納することを特徴とする、請求の範囲第8項に記載のデータ管理システム。
  10. 該第2の更新差分データ格納部(182)に前記更新差分作成部によって作成された更新差分データを格納する際に、
    該第2の更新差分データ格納部(182)に格納されている、前記各バージョン(Ver.X)のデータから前記最新のバージョン(Ver.N)より前のバージョン(Ver.N−1)の該データへ更新可能な該更新差分データを、前記更新差分作成部(11b)によって作成された更新差分データと置換する新旧更新差分データ置換部(19)をそなえることを特徴とする、請求の範囲第8項又は第9項に記載のデータ管理システム。
  11. 該第2の更新差分データ格納部(182)に格納された前記複数の更新差分データの中から、特定のバージョンに対応する該更新差分データを選択的に削除可能な更新差分データ削除部(17)をそなえることを特徴とする、請求の範囲第8項〜第10項のいずれか1項に記載のデータ管理システム。
  12. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理システムであって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部(10)と、
    前記最新のバージョン(Ver.N)よりも前のバージョンの該データを格納するデータ格納部(20b)と、
    前記データ格納部(20b)に格納されたデータを、前記最新バージョンデータ入力部(10)から入力される最新のバージョン(Ver.N)よりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータへ更新可能な更新差分データを格納する第1の更新差分データ格納部(181c)と、
    前記データ格納部(20b)に格納されたデータと、該第1の更新差分データ格納部(181c)に格納された更新差分データとに基づいて、前記最新バージョンデータ入力部(10)から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータを生成するデータ生成部(22)と、
    該データ生成部(22)によって生成されたデータ(Ver.N−1)と、該最新バージョンデータ入力部(10)により入力される前記最新のバージョン(Ver.N)のデータとに基づいて、前記最新バージョンデータ入力部(10)から入力される最新のバージョンよりも前のバージョン(Ver.N−1)であって、当該データ管理システム内における最新のバージョン(Ver.N−1)のデータから、前記最新バージョンデータ入力部(10)から入力される最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部(11c)と、
    当該データ管理システム内における最新のバージョン(Ver.N−1)のデータよりも前の各バージョン(Ver.X)から当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する第2の更新差分データ格納部(182)と、
    該第2の更新差分データ格納部(182)に格納された該更新差分データと該第1の更新差分作成部(11c)によって作成された該更新差分データとに基づいて、最新バージョンデータ入力部(10)により入力される前記最新のバージョン(Ver.N)のデータよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータよりも前の各バージョンから、最新バージョンデータ入力部(10)により入力される前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部(25)とをそなえることを特徴とする、データ管理システム。
  13. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部(10)と、
    該最新バージョンよりも前のバージョンであって、当該データ管理システムにおける最新のバージョン(Ver.N−1)のデータを格納するデータ格納部(20a)と、
    前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記データ格納部(20a)に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納部(18)と、
    該データ格納部(20a)に格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納部(20a)に格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成部(11a)と、
    該更新差分データ格納部に格納された該更新差分データと該第1の更新差分作成部(11a)によって作成された該更新差分データとに基づいて、前記データ格納部(20a)に格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分作成部(12,12′,12″)とをそなえることを特徴とする、データ管理装置。
  14. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理装置であって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力部(10)と、
    前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納部(20b,20b′)と、
    前記データ格納部(20b,20b′)に格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納部(181)と、
    前記データ格納部(20b,20b′)に格納されたデータと、該第1の更新差分データ格納部(181)に格納された各更新差分データとに基づいて、各バージョン(Ver.X)のデータを生成するデータ生成部(22)と、
    該データ生成部(22)によって生成された前記各バージョン(Ver.X)のデータと、該最新バージョンデータ入力部(10)により入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成部(11b)と、
    該更新差分作成部(11b)によって作成された該更新差分データを格納する第2の更新差分データ格納部(182)とをそなえることを特徴とする、データ管理装置。
  15. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、
    前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、
    該最新バージョンよりも前のバージョンであって、当該データ供給システムにおけろ最新のバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納ステップにおいて格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、
    該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、
    該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更祈差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとをそなえることを特徴とする、データ管理方法。
  16. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理方法であって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、
    前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、
    前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、
    該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、
    該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとをそなえることを特徴とする、データ管理方法。
  17. 更新可能なデータを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、
    前記最新のバージョンのデータを格納する最新バージョンデータ格納部(20a)と、
    前記最新のバージョン(Ver.N)よりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する更新差分データ格納部(18)と、
    該情報処理装置に格納された該データのバージョンに応じて、該更新差分データ格納部(18)に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部(13)と、
    該選択部(13)によって選択された該更新差分データを該情報処理装置に提供する提供部(15)とをそなえることを特徴とする、データ供給システム。
  18. データを格納可能な情報処理装置と通信可能に接続され、複数のバージョンの該データを管理して、該情報処理装置に最新のバージョンの該データを提供するデータ供給システムであって、
    前記最新のバージョンよりも古いバージョンの該データを格納するデータ格納部(20b)と、
    前記データ格納部(20b)に格納されたデータを各バージョンのデータに更新可能な複数の更新差分データを格納する第1の更新差分データ格納部(181)と、
    前記最新のバージョンよりも前の各バージョンから前記最新バージョンのデータへ更新可能な複数の更新差分データを格納する第2の更新差分データ格納部(182)と、
    該情報処理装置に格納された該データのバージョンに応じて、該第2の更新差分データ格納部(182)に格納された前記複数の更新差分データの中から、一の更新差分データを選択する選択部(13)と、
    該選択部(13)によって選択された該更新差分データを該情報処理装置に提供する提供部(15)とをそなえることを特徴とする、データ供給システム。
  19. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、
    前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、
    該最新バージョンよりも前のバージョンであって、前記最新バージョンデータ入力ステップにおいて入力されるデータよりも前のバージョンのうちで最も新しいバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納部(20a)に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、
    該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、
    該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとを、該コンピュータに実行させることを特徴とするデータ管理プログラム。
  20. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムであって、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、
    前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、
    前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、
    該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、
    該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとを、該コンピュータに実行させることを特徴とする、データ管理プログラム。
  21. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムを記録したコンピュータ読取可能な記録媒体であって、
    該データ管理プログラムが、
    前記最新のバージョン(Ver.N)のデータを入力する最新バージョンデータ入力ステップと、
    前記最新バージョンデータ入力ステップにおいて入力されるデータよりも前のバージョンのうちで最も新しいバージョン(Ver.N−1)のデータを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記データ格納部(20a)に格納されたデータと同一のバージョン(Ver.N−1)へ更新可能な更新差分データを格納する更新差分データ格納ステップと、
    該データ格納ステップにおいて格納されたデータ(Ver.N−1)と、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、該データ格納ステップにおいて格納されたデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する第1の更新差分作成ステップと、
    該更新差分データ格納ステップにおいて格納された該更新差分データと該第1の更新差分作成ステップにおいて作成された該更新差分データとに基づいて、前記データ格納ステップにおいて格納されたデータよりも前の各バージョンから前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを生成する第2の更新差分生成ステップとを、該コンピュータに実行させることを特徴とするデータ管理プログラムを記録したコンピュータ読取可能な記録媒体。
  22. データを格納可能な情報処理装置に最新のバージョンの該データを提供するべく該データを管理するデータ管理機能をコンピュータに実行させるためのデータ管理プログラムを記録したコンピュータ読取可能な記録媒体であって、
    該データ管理プログラムが、
    前記最新のバージョン(Ver.N)のデータを入力可能な最新バージョンデータ入力ステップと、
    前記最新のバージョン(Ver.N)よりも古いバージョンの該データを格納するデータ格納ステップと、
    前記データ格納ステップにおいて格納された該データを、前記複数の各バージョンのデータへ更新可能な複数の更新差分データを格納する第1の更新差分データ格納ステップと、
    前記データ格納ステップにおいて格納されたデータと、該第1の更新差分データ格納ステップにおいて格納された各更新差分データとに基づいて、各バージョンのデータを生成するデータ生成ステップと、
    該データ生成ステップにおいて生成された前記各バージョンのデータと、該最新バージョンデータ入力ステップにおいて入力された前記最新のバージョン(Ver.N)のデータとに基づいて、前記各バージョンのデータから、前記最新のバージョン(Ver.N)のデータへ更新可能な更新差分データを作成する更新差分作成ステップと、
    該更新差分作成ステップにおいて作成された該更新差分データを格納する第2の更新差分データ格納ステップとを、該コンピュータに実行させることを特徴とする、データ管理プログラムを記録したコンピュータ読取可能な記録媒体。
JP2005511269A 2003-12-05 2003-12-05 データ管理システム Pending JPWO2005055055A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/015601 WO2005055055A1 (ja) 2003-12-05 2003-12-05 データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体

Publications (1)

Publication Number Publication Date
JPWO2005055055A1 true JPWO2005055055A1 (ja) 2007-06-28

Family

ID=34640437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005511269A Pending JPWO2005055055A1 (ja) 2003-12-05 2003-12-05 データ管理システム

Country Status (4)

Country Link
US (1) US20060161605A1 (ja)
EP (1) EP1691280A4 (ja)
JP (1) JPWO2005055055A1 (ja)
WO (1) WO2005055055A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252488A (ja) * 2005-03-14 2006-09-21 Fujitsu Ltd ソフトウェア管理システム、ソフトウェア管理方法、ソフトウェア管理プログラム、および記録媒体
JP4324976B2 (ja) * 2007-08-17 2009-09-02 日本電気株式会社 ファイル差分管理装置、ファイル差分管理方法、及びファイル差分管理プログラム
US9003399B2 (en) * 2007-09-11 2015-04-07 International Business Machines Corporation Methods, systems and computer products for a dynamic repository
JP2009086853A (ja) * 2007-09-28 2009-04-23 Fujitsu Social Science Laboratory Ltd データ合成処理装置,プログラム,および処理方法
JP5113699B2 (ja) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ ファームウェア更新システム、及び更新イメージ生成・配布サーバ装置
CN101944037B (zh) * 2009-07-06 2013-03-20 北京中电华大电子设计有限责任公司 一种开发系统仿真智能卡芯片ram随机性的方法
JP5336965B2 (ja) * 2009-07-27 2013-11-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5478986B2 (ja) * 2009-08-21 2014-04-23 株式会社日立ソリューションズ 情報機器及びプログラム
CN102314368A (zh) * 2011-09-26 2012-01-11 贵阳朗玛信息技术股份有限公司 更新服务器程序的配置数据的方法及设备
CN103186391B (zh) * 2011-12-29 2016-05-11 腾讯科技(深圳)有限公司 浏览器升级方法和系统以及一种升级服务器
CN103207790B (zh) * 2012-01-16 2016-07-06 联想(北京)有限公司 操作系统更新方法和终端
CN103679309B (zh) * 2012-09-13 2017-11-03 国网湖北省电力公司 一种电力数据仓库业务智能统计分析方法
CN103500096A (zh) * 2013-09-27 2014-01-08 宇龙计算机通信科技(深圳)有限公司 一种信息处理方法及装置
CN104715029A (zh) * 2015-03-05 2015-06-17 湖北光谷天下传媒股份有限公司 一种多渠道发布方法
CN104679522B (zh) * 2015-03-13 2018-06-22 南通大学杏林学院 逆代码生成方法和系统
CN105069017A (zh) * 2015-07-13 2015-11-18 深圳市永兴元科技有限公司 报表系统中的报表存储方法及报表系统
CN105335196A (zh) * 2015-11-02 2016-02-17 深圳市新国都支付技术有限公司 一种pos终端程序增量下载的方法
CN106919407B (zh) * 2015-12-26 2019-12-03 昆达电脑科技(昆山)有限公司 电脑内嵌产品资料同步更新的方法
CN105975258B (zh) * 2016-04-27 2019-05-07 中国银行股份有限公司 一种数据字典的管理方法及系统
CN106201575A (zh) * 2016-06-24 2016-12-07 北京奇虎科技有限公司 基于操作系统权限进行的升级方法、装置及终端
JP6747097B2 (ja) * 2016-06-29 2020-08-26 アイシン・エィ・ダブリュ株式会社 サーバ装置及びコンピュータプログラム
CN107562484A (zh) * 2016-09-14 2018-01-09 彩讯科技股份有限公司 基于配置方式的Web表单增强方法
US11068352B2 (en) * 2016-09-15 2021-07-20 Oracle International Corporation Automatic disaster recovery mechanism for file-based version control system using lightweight backups
US10613988B2 (en) * 2016-09-28 2020-04-07 Micro Focus Llc Purging storage partitions of databases
JP6988636B2 (ja) * 2018-03-28 2022-01-05 トヨタ自動車株式会社 リプログラミング方法
CN110781392B (zh) * 2019-10-22 2022-08-12 深圳墨世科技有限公司 可动态伸缩的过滤方法、装置、计算机设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228025A (ja) * 1988-03-08 1989-09-12 Nec Corp プログラム版数管理方式
JPH02224022A (ja) * 1989-02-23 1990-09-06 Nec Corp ソースプログラム更新方式
JPH07219780A (ja) * 1994-02-04 1995-08-18 N T T Data Tsushin Kk 端末装置の処理プログラムダウンロード方式
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
US5870765A (en) * 1996-10-09 1999-02-09 Oracle Corporation Database synchronizer
JP2000010787A (ja) * 1998-06-24 2000-01-14 Nec Corp プログラムダウンロード装置および方法
US6401239B1 (en) * 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
JP2001202234A (ja) * 2000-01-19 2001-07-27 Fujitsu Ltd ダウンロード方式
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
EP1168165A3 (en) * 2000-06-30 2005-02-16 International Business Machines Corporation Device and method for updating code
JP4205350B2 (ja) * 2002-02-28 2009-01-07 富士通株式会社 差分データ生成方法、プログラム、記録媒体及び装置
JP2003271408A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd 電子データの更新方法及びパッチデータ作成方法
US7600021B2 (en) * 2002-04-03 2009-10-06 Microsoft Corporation Delta replication of source files and packages across networked resources
US7171432B2 (en) * 2002-08-29 2007-01-30 Sap Aktiengesellschaft Phased upgrade of a computing environment
US7024530B2 (en) * 2003-03-14 2006-04-04 International Business Machines Corporation Method, system, and program for establishing and using a point-in-time copy relationship
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
US7657533B2 (en) * 2003-11-26 2010-02-02 Hewlett-Packard Development Company, L.P. Data management systems, data management system storage devices, articles of manufacture, and data management methods

Also Published As

Publication number Publication date
EP1691280A4 (en) 2008-11-26
WO2005055055A1 (ja) 2005-06-16
EP1691280A1 (en) 2006-08-16
US20060161605A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
JPWO2005055055A1 (ja) データ管理システム
JP2009515264A (ja) 文書およびソースコードの制御のための方法およびシステム
KR100717064B1 (ko) 소프트웨어 업데이트 실행 방법 및 장치
US20110035428A1 (en) Tracking file contents
CN105144088A (zh) 元数据与源代码的关联以及基于其的应用和服务
JP6324544B2 (ja) 図面注記からの関連する3d製品ドキュメンテーションの生成
JP2007334636A (ja) ソフトウェアの更新処理プログラム及び更新処理装置
JP2006134214A (ja) ファイルのバージョン管理方法および計算機システム
US20110202574A1 (en) Document management device, document management method and computer readable medium
JP6133832B2 (ja) レシピid管理サーバ、レシピid管理システム、および端末装置
JPWO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
US8438133B2 (en) Information processing apparatus, file management system, information processing method and computer readable medium
JP2007334837A (ja) テストシナリオ作成方法、プログラム及び記録媒体
KR20190143228A (ko) 추적 식별자를 이용한 객체 관리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체
JP2017102872A (ja) 開発装置、開発システム、およびプログラム
US20220365789A1 (en) Storage medium, information processing method, and information processing apparatus
JP5417820B2 (ja) システムファイル共有装置、システムファイル共有方法及びプログラム
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
JP5525740B2 (ja) 仮想アプライアンスサーバ管理方法及びシステム
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2018045508A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4036852B2 (ja) 差分データ生成装置、差分データ生成方法および差分データ生成プログラム
JP4942519B2 (ja) 情報処理装置、プログラム及び情報処理方法
JP2009265743A (ja) ウェブアプリケーション管理システム、ウェブアプリケーション管理方法およびプログラム
JP4825416B2 (ja) 差分ファイル生成プログラムおよび差分ファイル配信プログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070615

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090713