JP2008250903A - ファイル更新装置、プログラム及び方法 - Google Patents

ファイル更新装置、プログラム及び方法 Download PDF

Info

Publication number
JP2008250903A
JP2008250903A JP2007094577A JP2007094577A JP2008250903A JP 2008250903 A JP2008250903 A JP 2008250903A JP 2007094577 A JP2007094577 A JP 2007094577A JP 2007094577 A JP2007094577 A JP 2007094577A JP 2008250903 A JP2008250903 A JP 2008250903A
Authority
JP
Japan
Prior art keywords
file
server
hash
tree
client
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
JP2007094577A
Other languages
English (en)
Inventor
Atsushi Koide
篤史 小出
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2007094577A priority Critical patent/JP2008250903A/ja
Publication of JP2008250903A publication Critical patent/JP2008250903A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制する。
【解決手段】ファイル比較部14が、サーバ側ハッシュツリー情報12aとクライアント側ハッシュツリー情報22aとにそれぞれ含まれるハッシュ値を互いに比較し、前方走査により、各ハッシュ値が互いに一致する場合には当該各ハッシュ値のノードよりも下の階層の比較処理をスキップする。このため、保持するファイルの個数に比べて更新したファイルの個数が少ない場合には、比較回数を大幅に低減することができる。また、更新処理を1個のファイル単位で実行するので、更新したファイルの数に比べて更新処理が重くならない。従って、上記課題を解決できる。
【選択図】 図1

Description

本発明は、ファイル更新装置、プログラム及び方法に係り、例えば、多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制し得るファイル更新装置、プログラム及び方法に関する。
一般に、互いに通信可能な複数の装置間においては、一方の装置で更新されたファイルを他方の装置に更新する場合がある。この種の公知技術としては、UNIX(登録商標)のrsyncコマンドの如く、ファイルの下位概念であるブロックごとに付与されたハッシュ値を比較することによりファイルが更新されたことを判別し、ファイル全体を比較することなく、変更のあったブロックを更新する方式がある。
この方式は、コンペア・バイ・ハッシュ(compare-by-hash;ハッシュ値による比較)と呼ばれており、変更が全体の74%以下であれば、ファイル全体を比較して変更のあったファイルを更新する全体更新(Whole file)方式に比べ、有利であることが知られている(例えば、非特許文献1参照)。
しかしながら、コンペア・バイ・ハッシュ方式は、更新対象を特定するために全てのファイルのブロック単位でのハッシュ値を比較する必要があるので、保持するファイルの個数に応じて、比較回数が増大してしまうという不都合がある。例えば、1個当たりm個のブロックを要するn個のファイルを比較する場合、比較回数はm×n回であるので、α個のファイルが増大した場合、比較回数がm×α回増大してしまう。仮にm=1としても、α個のファイルが増大した場合にはα回の比較回数が増大してしまう。
また、比較回数の増大を抑制する観点から、ハッシュ値を付与する単位を大きくした場合、比較回数は低減するものの、更新したファイルの数に比べ、更新処理が重くなる不都合が生じる。例えばp個のファイルごとにハッシュ値を付与する場合(但し、p≧2)、m=1の際に比較回数は(n+α)/p回に低減されるものの、ハッシュ値が不一致となったp個のファイルの集合のうちの1個のファイルが更新された場合でもp個のファイルの集合を更新する必要があるので、更新したファイルの数に比べて更新処理がp倍重くなる不都合が生じる。
まとめると、コンペア・バイ・ハッシュ方式においては、保持するファイル数の増大に応じて比較回数が増大する不都合があり、ハッシュ値を付与する単位をp倍大きくして比較回数を1/p倍に低減させると、比較回数と更新負荷とのトレードオフの関係により、更新処理がp倍重くなってしまう。
なお、ハッシュ値による比較と更新に関連した先行技術として、例えば特許文献1記載の方式がある。特許文献1には、複数の装置間で過去に送受信したデータとそのハッシュ値とを互いに対応付けて記憶装置に記憶しておき、一方の装置がデータを転送する前に、当該データのハッシュ値(フィンガープリント)と、過去の転送データのハッシュ値とを比較し、両者が同じ値であればハッシュ値を転送する方式が開示されている。転送先の装置では、受けたハッシュ値から対応する過去のデータを記憶装置から読み出すことにより、ネットワークを流れるデータ量を大幅に削減可能となっている。
しかしながら、特許文献1記載の技術は、既に特定されている更新対象(転送するデータ)のハッシュ値を比較する場合の話であるため、更新対象を特定するためにハッシュ値を比較する場合の前述した不都合とは関係がない。
Val Henson, Richard Henderson, "Guidelines for Using Compare-by-hash". http://infohost.nmt.edu/~val/review/hash2.pdf 特開2002−268937号公報、第45−46段落
以上説明したように、従来のコンペア・バイ・ハッシュ方式では、多数のファイルを保持する場合、比較回数が増大する不都合があるか、又は更新したファイルの数に比べて更新処理が重くなる不都合がある。
本発明は上記実情を考慮してなされたもので、多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制し得るファイル更新装置、プログラム及び方法を提供することを目的とする。
第1の発明は、ファイルを更新可能なサーバ装置と、前記サーバ装置により更新されたファイルをコピーして更新するクライアント装置とを備えたファイル更新装置であって、前記サーバ装置としては、互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルが記憶されたサーバ側ファイルリポジトリ手段と、前記サーバ側ファイルリポジトリ手段内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するサーバ側ハッシュツリー情報を生成するサーバ側ハッシュツリー生成手段と、前記クライアント装置から受けたハッシュツリー送信要求に基づいて、前記サーバ側ハッシュツリー情報を前記クライアント装置に送信するツリー情報送信手段と、前記クライアント装置から受けた更新対象ファイル送信要求に基づいて、前記サーバ側ファイルリポジトリ手段内の該当するファイルを前記クライアント装置に送信するファイル送信手段とを備えており、前記クライアント装置としては、互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルが記憶されたクライアント側ファイルリポジトリ手段と、前記クライアント側ファイルリポジトリ手段内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するクライアント側ハッシュツリー情報を生成するクライアント側ハッシュツリー生成手段と、前記ハッシュツリー送信要求を前記サーバ装置に送信し、当該サーバ装置からサーバ側ハッシュツリー情報を受信するツリー情報受信手段と、このサーバ側ハッシュツリー情報と前記クライアント側ハッシュツリー情報とにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、前記各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップするツリー情報比較手段と、前記比較の結果、ハッシュ値が相違する更新対象ファイルのファイル名を列挙した更新ファイルリストを作成する更新リスト作成手段と、前記更新ファイルリスト内のファイル名を指定した更新ファイル送信要求を前記サーバ装置に送信する手段と、前記サーバ装置から受けた更新対象のファイルを前記クライアント側ファイルリポジトリ手段にコピーして更新するファイルコピー手段とを備えたファイル更新装置である。
なお、第1の発明は、サーバ装置及びクライアント装置の集合体を「装置」として表現したが、これに限らず、サーバ装置又はクライアント装置毎に「装置」として表現してもよく、また、各装置の集合体又は装置毎に「プログラム」、「プログラムを記憶した記憶媒体」又は「方法」として表現してもよい。
(作用)
第1の発明では、サーバ側ファイルリポジトリ手段内のディレクトリ情報及びファイルの木構造と同一の木構造を有するサーバ側ハッシュツリー情報を生成し、クライアント側ファイルリポジトリ手段内のディレクトリ情報及びファイルの木構造と同一の木構造を有するクライアント側ハッシュツリー情報を生成する。
次に、サーバ側ハッシュツリー情報とクライアント側ハッシュツリー情報とにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップする。
このため、保持するファイルの個数に比べて更新したファイルの個数が少ない場合には、比較回数を大幅に低減することができる。
また、比較の結果、ハッシュ値が相違する更新対象ファイルをサーバ装置からコピーして更新する。すなわち、更新処理を1個のファイル単位で実行するので、更新したファイルの数に比べて更新処理が重くならない。
従って、第1の発明では、多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制することができる。
以上説明したように本発明によれば、多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制することができる。
以下、本発明の各実施形態について図面を用いて説明する。なお、以下のファイル更新装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
(第1の実施形態)
図1は本発明の第1の実施形態に係るファイル更新装置の構成を示す模式図である。このファイル更新装置は、ファイルを更新可能な1台のサーバ装置10と、このサーバ装置10により更新されたファイルをコピーして更新するN台のクライアント装置20〜20とを備えている。サーバ装置10と各クライアント装置20〜20とは互いにネットワーク30を介して接続されている。サーバ装置10はサーバ側環境を構成し、N台のクライアント装置20〜20はクライアント側環境を構成している。クライアント側環境のクライアント装置の台数Nは複数台に限らず、1台でもよい。
ここで、サーバ装置10は、サーバ側ファイルリポジトリ部11、サーバ側ハッシュツリーリポジトリ部12、ファイル更新部13、ハッシュツリー生成部14及びファイル送信部15を備えている。
サーバ側ファイルリポジトリ部11は、ファイル更新部13から読出/書込可能でファイルツリー生成部14及びファイル送信部15から読出可能な記憶装置であり、更新の対象となるディレクトリ情報及びファイル11aが格納されている。
ディレクトリ情報及びファイル11aは、図2に模式的に示すように、最上位のルートディレクトリRからそれぞれ1個以上のディレクトリA,…,Fを順次介して最下層の各ファイルa,…,gに至る木構造の階層関係を互いに構成している。以下、ディレクトリ情報及びファイル11aが構成する木構造をディレクトリ構造とも呼ぶ。
サーバ側ハッシュツリーリポジトリ部12は、ハッシュツリー生成部14から読出/書込可能な記憶装置であり、ハッシュツリー生成部14により生成されたサーバ側ハッシュツリー情報12aが蓄積される。なお、ハッシュツリー情報の生成方法については後述する。
ここで、サーバ側及びクライアント側ハッシュツリー情報12a,22aとしては、ツリー構造を表現する場合の実装容易性及び再利用可能性の観点から、図3に示すように、XML(extensible markup language)形式のメタ(構造化)データが好ましい。このXML形式のメタデータは、図4に示すように、図2に示したディレクトリ構造と同一の木構造の階層関係を構成するハッシュツリーに対応して記述されており、ディレクトリ又はファイルであるノード毎にノード名及びハッシュ値を含むタグ情報が記述され、各タグ情報がノードの階層に対応した階層に記述されている。ノード名は、ノードがディレクトリの場合にはディレクトリ名であり、ノードがファイルの場合にはファイル名である。なお、このようなXML形式のメタデータは、DOM(document object model)規格に基づいて、生成、参照及び更新が可能となっている。本実施形態のファイル更新装置は、DOM規格に対応している。また、サーバ側及びクライアント側ハッシュツリー情報12a,22aがXML形式のメタデータの場合、ファイルシステムに相当するDTD(document type definition: 文書型定義)、XMLスキーマなどを定義し、当該メタデータをファイルシステムリポジトリとしてXMLデータベースに蓄積し、ファイルシステムの履歴管理(遷移、差分抽出)を行う履歴管理部を付加してもよい。
ファイル更新部13は、操作者の操作により、図示しない端末装置からサーバ側ファイルリポジトリ部11内のファイル11aを更新する機能をもっている。
ハッシュツリー生成部14は、クライアント装置20〜20のいずれかからハッシュツリー送信要求を受けると、サーバ側ファイルリポジトリ部11内のディレクトリ情報及びファイル11aに基づいてサーバ側ハッシュツリー情報12aを生成し、得られたサーバ側ハッシュツリー情報12aをサーバ側ハッシュツリーリポジトリ部12に書き込むと共に、このサーバ側ハッシュツリー情報12aを要求元のクライアント装置20〜20に送信するものである。このサーバ側ハッシュツリー情報12aは、図2に示した木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有している。
ここで、ハッシュツリー情報の生成方法について述べる。例えば、図2に示したファイルリポジトリにおけるディレクトリ構造を木構造とみなすことにより、ノードをディレクトリ構造におけるディレクトリ情報及びファイル11a,21aととらえた場合、各ノードに対して後方走査を行うことによりディレクトリ構造を解釈し、最下層ノードから順次ハッシュ値を算出する。
ここで、後方走査とは、図5に示すように、丸数字の要素(ノード)1〜要素14の順、つまりある節点を根とする部分木の葉を左から右へ走査し、最後にその根を走査することを木全体の根から再帰的に行うことである。なお、図5中、丸数字はハッシュ値の算出順序でもある。
各ノードに対応するハッシュ値算出の対象となる情報をエンティティ情報と定義したとき、図6に示すように、ノードがファイルであればエンティティ情報をファイルの内容そのものとファイル名、ノードがディレクトリ情報であればディレクトリ直下にあるディレクトリ情報とファイルのハッシュ値をエンティティ情報としてハッシュ値を計算する。図6中、“H( )”はカッコ内のエンティティ情報に施すハッシュ関数を表す。“‖”はデータの連結を表す。また、エンティティ情報には、日付情報、所有者情報、グループ情報等の固有の情報を付加してもよい。
ファイル送信部15は、クライアント装置20〜20のいずれかから更新対象ファイル送信要求を受けると、サーバ側ファイルリポジトリ部11から該当する更新対象ファイル11aを読み出し、この更新対象ファイル11aを要求元のクライアント装置20〜20に送信するものである。
続いて、クライアント装置20〜20について説明する。但し、各クライアント装置20〜20は互いに同一構成のため、ここではクライアント装置20を代表例に挙げて説明する。
クライアント装置20は、クライアント側ファイルリポジトリ部21、クライアント側ハッシュツリーリポジトリ部22、ハッシュツリー生成部23、ハッシュツリー比較部24及びファイルコピー部25を備えている。
クライアント側ファイルリポジトリ部21は、ファイルツリー生成部23から読出可能でファイルコピー部15から書込可能な記憶装置であり、更新の対象となるディレクトリ情報及びファイル21aが格納されている。ディレクトリ情報及びファイル21aは、サーバ装置10側のディレクトリ情報及びファイル11aと同一の木構造を有し、サーバ装置10で更新されたディレクトリ情報及びファイル11aと同一内容になるように、更新されるものである。
クライアント側ハッシュツリーリポジトリ部22は、ハッシュツリー生成部23から読出/書込可能でハッシュツリー比較部24から読出可能な記憶装置であり、ハッシュツリー生成部23により生成されたクライアント側ハッシュツリー情報22aが蓄積されている。
クライアント側ハッシュツリー情報22aは、クライアント側ファイルリポジトリ部21内のディレクトリ情報及びファイル21aから、前述したサーバ側ハッシュツリー情報12aと同一方法により生成され、図2に示したディレクトリ構造と同一の木構造の階層関係を構成するハッシュツリーに対応して記述されている。
なお、サーバ側ファイルリポジトリ部11内のディレクトリ情報及びファイル11aとクライアント側ファイルリポジトリ部21内のディレクトリ情報及びファイル21aとが同一の場合(サーバ側のファイル更新がクライアント側に反映されている場合)、クライアント側ハッシュツリー情報22aは、サーバ側ハッシュツリー情報12aと同一のものとなる。
ハッシュツリー比較部24は、ハッシュツリー生成部23から起動されると、クライアント側ハッシュツリーリポジトリ部22から最新のクライアント側ハッシュツリー情報22aを読み出す機能と、ハッシュツリー送信要求をサーバ装置10に送信する機能と、受信したサーバ側ハッシュツリー情報12aとクライアント側ハッシュツリー情報22aとを比較する機能と、比較の結果、ハッシュ値が相違するファイル名を列挙した更新ファイルリストLを生成する機能と、この更新ファイルリストLをファイルコピー部25に送出する機能とをもっている。
ここで、ハッシュツリー比較方法について述べる。例えば、図2に示したファイルリポジトリにおけるディレクトリ構造を木構造とみなすことにより、ノードをディレクトリ構造におけるディレクトリ情報及びファイル11a,21aととらえた場合、各ノードに対して前方走査を行うことによりディレクトリ構造を解釈しながら同一ノード同士のハッシュ値を比較する。具体的には、同一ノード名に対応するハッシュ値を互いに比較する。
前方走査とは、図7に示すような丸数字の要素(ノード)1〜要素14の順、つまりある節点を根とする部分木の葉を根から左、最後に走査することを木全体の根から再帰的に行うことである。図7中の丸数字は、後述するスキップが無い場合の前方走査の順序を示している。但し、2つのハッシュツリー情報12a,22aにおける同一ノード同士のハッシュ値が一致している場合には根以下の比較をスキップする。走査ノードのハッシュ値が一致している場合、一致したノードよりも下の階層の比較処理をスキップするため、一般に、ファイル全体に占める更新対象ファイル数が少ない場合に有効であることがわかる。
例えば、n個のファイル全体に占める更新対象ファイルが1個の場合、n個のファイルのディレクトリ構造が2分木構造であれば、従来n回必要だった比較回数がlog2n回に低減される。これは、例えばn=100個のファイルのうちの1個の更新対象ファイルを特定する場合、従来100回の比較回数が必要だったのに比べ、本実施形態では7回の比較回数で特定可能なことを意味している。
ファイルコピー部25は、ハッシュツリー比較部24から更新ファイルリストを受けると、更新ファイルリストL内のファイル名を指定した更新対象ファイル送信要求をサーバ装置10に送信する機能と、サーバ装置から受けた更新対象ファイル11aをクライアント側ファイルリポジトリ部21にコピーすることにより、クライアント側ファイルリポジトリ部21内のファイル21aを更新する機能とをもっている。
次に、以上のように構成されたファイル更新装置の動作について図8乃至図10を参照しながら説明する。
始めに、図8に示すように、サーバ装置10においては、図示しない端末装置からファイル更新部13を介してサーバ側ファイルリポジトリ部11内のファイルが適宜、更新されるものとする(ST0)。
一方、クライアント装置20においては、サーバ側ファイルリポジトリ部11内のファイルと同一のファイルをクライアント側リポジトリ部21に保持する必要があるものとする。これに伴い、クライアント装置20は、サーバ装置10がファイルを更新した場合、サーバ装置10により更新されたファイルをコピーして更新する必要が生じる。但し、クライアント装置20は、操作者の不在時に電源がオフ状態にされるので、電源がオン状態に切り替えられたとき、ファイル更新の有無をサーバ装置10に問い合わせる必要があるものとする。これは全てのクライアント装置20〜20において共通する。
いま、クライアント装置20は、電源がオフ状態であったが、操作者により、電源がオン状態に切り替えられたとする。
このとき、クライアント装置20においては、ハッシュツリー生成部23がクライアント側ファイルリポジトリ部21からディレクトリ情報及びファイル21aを読み出し(ST1)、このディレクトリ情報及びファイル21aに対応するクライアント側ハッシュツリー情報22aを生成する(ST2)。
ここで、ステップST2の処理について図9を用いて詳細に説明する。
ハッシュツリー生成部23は、図2に示したディレクトリ情報及びファイル21aを図5に示したようにトラバース(後方走査によるノード移動)し(ST2−1)、トラバースが終了したか否かを判定する(ST2−2)。
トラバースが終了していなければ、図6の丸数字に示すように木構造の葉に該当するノードから順次、ハッシュ値を算出し(ST2−3)、ハッシュ値にノード属性(ディレクトリ情報又はファイル名)を付加して(ST2−4)、ステップST2−1に戻る。
一方、ステップST2−2の判定の結果、トラバースが終了していれば、前回のクライアント側ハッシュツリー情報22aからルートディレクトリのハッシュ値を取得し(ST2−5)、今回のルートディレクトリのハッシュ値と同じか否かを判定し(ST2−6)、同じであれば処理を終了してハッシュツリー比較部24を起動する。
一方、ステップST2−6の判定結果が否であれば、ステップST2−4の結果に基づいてクライアント側ハッシュツリー情報22aを生成する(ST2−7)。以上がステップST2の詳細である。
続いて、ハッシュツリー生成部23は、生成したクライアント側ハッシュツリー情報22aをクライアント側ハッシュツリーリポジトリ部22へ蓄積すると共に(ST3)、ハッシュツリー比較部24を起動する。
ハッシュツリー比較部24では、起動されると、クライアント側ハッシュツリーリポジトリ部22から最新のクライアント側ハッシュツリー情報22aを読み出すと共に(ST4)、ハッシュツリー送信要求をサーバ装置10に送信する(ST5)。
サーバ装置10においては、ハッシュツリー生成部14がハッシュツリー送信要求を受けると、サーバ側ファイルリポジトリ部11からディレクトリ情報及びファイル11aを読み出して(ST6)、このディレクトリ情報及びファイル11aに基づいてサーバ側ハッシュツリー情報12aを生成する(ST7)。サーバ側ハッシュツリー情報12aの生成は、前述したクライアント側ハッシュツリー情報22aの生成処理(ST2−1〜ST2−7)と同様に行われる。
しかる後、ハッシュツリー生成部14は、このサーバ側ハッシュツリー情報12aをサーバ側ハッシュツリーリポジトリ部12に書き込むと共に(ST8)、クライアント装置20に返信する(ST9)。
クライアント装置20においては、ハッシュツリー比較部24がサーバ側ハッシュツリー情報12aを受けると、クライアント側ハッシュツリー情報22aのハッシュ値とサーバ側ハッシュツリー情報12aのハッシュ値とを前方走査により同一ノード間で比較し、ハッシュ値の相違がある場合には、相違したハッシュ値に対応するファイル名を含む更新ファイルリストLを生成する。ハッシュ値の相違が無い場合には更新ファイルリストLを生成せず、処理を終了する(ST10)。
ここで、ステップST10の処理について図10を用いて詳細に説明する。
ハッシュツリー比較部24は、クライアント側及びサーバ側の各ハッシュツリー情報22a,12aの各ルートディレクトリのハッシュ値を取得し(ST10−1)、両ハッシュ値が同じか否かを判定する(ST10−2)。各ルートディレクトリのハッシュ値が同じであれば、サーバ装置10においてファイル更新が無かったことになるので、ステップST10の処理を終了し、以後のステップST11〜ST15の処理も行わない。
一方、ステップST10−2の結果、各ルートディレクトリのハッシュ値が異なれば、サーバ装置10においてファイル更新があったことになるので、図7に示したように、各ハッシュツリー情報22a,12aをトラバース(前方走査によるノード移動)し(ST10−3)、移動先のノードのハッシュ値をそれぞれ取得する(ST10−4)。
ハッシュツリー比較部24は、取得した両ハッシュ値が同じか否かを判定し(ST10−5)、両者が同じであればステップST10−8に進み、両者が異なれば当該ノードがファイルか否かを判定する(ST10−6)。当該ノードがファイルであれば、更新ファイルリストLに当該ノードのファイル名を追加し(ST10−7)、当該ノードがファイルでなければ(又はディレクトリであれば)ステップST10−8に進む。
次に、ハッシュツリー比較部24は、トラバースが終了したか否かを判定し(ST10−8)、終了していなければステップST10−3に戻ってトラバースを続け、トラバースが終了していればステップST10を終了する。以上がステップST10の詳細である。
このようなステップST10によれば、前方走査により、一致したノードよりも下の階層の比較処理をスキップするため、保持するファイルの個数に比べて更新したファイルの個数が少ない場合には、比較回数を大幅に低減することができる。
続いて、ハッシュツリー比較部24は、生成した更新ファイルリストLをファイルコピー部25へ送信する(ST11)。
ファイルコピー部25は、更新ファイルリストL内のファイル名を指定した更新対象ファイル送信要求をサーバ装置10に送信する(ST12)。
サーバ装置10は、ファイル送信部15が更新対象ファイル送信要求を受けると、更新対象ファイル送信要求に指定されたファイル名に基づき、サーバ側ファイルリポジトリ部11から該当する更新対象ファイル11aを読み出して(ST13)、クライアント装置20に送信する(ST14)。
クライアント装置20においては、ファイルコピー部25が更新対象ファイル11aを受けると、この更新対象ファイル11aをクライアント側ファイルリポジトリ部22にコピーして(ST15)、更新前の同一ファイル名のファイルに上書きすることにより、更新処理を終了する。
また、サーバ装置10は、他のクライアント装置20〜20からハッシュツリー送信要求を受けた場合も同様に、サーバ側ファイルリポジトリ部11から生成したサーバ側ハッシュツリー情報12aをクライアント装置20に返信する(ST6〜ST9)。
上述したように本実施形態によれば、クライアント側ファイルリポジトリ部21内のディレクトリ情報及びファイル21aの木構造と同一の木構造を有するクライアント側ハッシュツリー情報22aを生成し、サーバ側ファイルリポジトリ部11内のディレクトリ情報及びファイル11aの木構造と同一の木構造を有するサーバ側ハッシュツリー情報12aを生成する。
次に、サーバ側ハッシュツリー情報12aとクライアント側ハッシュツリー情報22aとにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップする。
このため、保持するファイルの個数に比べて更新したファイルの個数が少ない場合には、比較回数を大幅に低減することができる。
また、比較の結果、ハッシュ値が相違する更新対象ファイルをサーバ装置からコピーして更新する。すなわち、更新処理を1個のファイル単位で実行するので、更新したファイルの数に比べて更新処理が重くならない。
従って、多数のファイルを保持する場合でも、更新したファイルの数に比べて更新処理を重くせずに、比較回数の増大を抑制することができる。
詳しくは、ハッシュ値計算にハッシュツリーの概念を導入することでディレクトリ毎のハッシュ値の算出を可能とするとともに、更新対象特定にはルートノードからディレクトリ構造に沿った前方走査を実行することで更新対象の特定を可能とすることにより、従来のブロック単位にハッシュ値を比較する方式に比べ、更新判定、更新対象特定処理における比較回数を低減し、効率の良いファイル更新を達成することができる。
なお、本実施形態においては、サーバ側ハッシュツリー情報12aをクライアント装置20からの送信要求後に生成したが、これに限らず、クライアント装置20からの送信要求の有無にかかわらず、サーバ側ファイルリポジトリ部11の更新イベント発生の都度など事前に行うように変形してもよい。この変形例は第3の実施形態として説明する。
(第2の実施形態)
次に、本発明の第2の実施形態に係るファイル更新装置について説明する。
本実施形態は、ハッシュツリー情報の変形例であり、具体的には図3に述べたXML形式のハッシュツリー情報に代えて、図11に示すように、図2に示したノード毎に、当該ノードのディレクトリ情報又はファイル名と、当該ノードを根とする部分木のハッシュ値とを互いに関連付けたサーバ側及びクライアント側ハッシュツリー情報12a,22aを用いている。
すなわち、本実施形態のハッシュツリー情報は、ノードがディレクトリの場合には、ディレクトリ情報自体を含む構造により、ディレクトリ構造の木構造と同一の木構造を有している。
ここで、図12はUNIXのディレクトリ構造におけるハッシュ値の算出例を示しており、図13は図12の一部を具体的に表している。但し、図13中、アクセス権限、所有者、グループ、ファイルサイズ、最終更新日付及び最終更新日時は省略してもよい。
以上のようにハッシュツリー情報12a,22aがディレクトリ情報自体を含む構成としても、ハッシュツリー情報12a,22aがディレクトリ構造の木構造と同一の木構造を有することに変わりは無いから、前述同様に、ステップST2,ST7のハッシュツリー生成処理や、ステップST10のハッシュツリーの比較処理を実行することができる。
例えば図14に示す如き、104個のファイル数のディレクトリ構造に対し、図15に示すように、前述同様にステップST2,ST7のハッシュツリー生成処理を実行し、図16に示すように、前述同様にステップST10のハッシュツリーの比較処理を実行することができる。また、ステップST10によれば、前方走査により、一致したノードよりも下の階層の比較処理をスキップするため、図16に示した例の場合、従来104回の比較回数が必要だったのに比べ、8回の比較回数で済んでいる。
上述したように本実施形態によれば、XML形式以外のデータ形式であっても、ディレクトリ構造の木構造と同一の木構造を有するハッシュツリー情報12a,22aを生成できるので、第1の実施形態と同様の効果を得ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態に係るファイル更新装置について説明する。
本実施形態は、第1又は第2の実施形態の変形例であり、クライアント装置20からの送信要求の有無にかかわらず、サーバ側ファイルリポジトリ部11の更新イベント発生の都度、サーバ側ハッシュツリー情報12aを生成する構成となっている。
これに伴い、サーバ装置10は、図17に示すように、前述したファイル更新部13及びハッシュツリー生成部14に代えて、ファイル更新部13及びハッシュツリー生成部14の機能を一部変形したファイル更新部13’及びハッシュツリー生成部14’を備えている。
ここで、ファイル更新部13’は、図示しない端末装置の操作に応じて、サーバ側ファイルリポジトリ部11内のファイルを更新する機能と、ファイル更新後にハッシュツリー生成部14’を起動する機能とをもっている。
ハッシュツリー生成部14’は、ファイル更新部13’に起動されると、サーバ側ファイルリポジトリ部11内のディレクトリ情報及びファイル11aからサーバ側ハッシュツリー情報12aを生成し、得られたサーバ側ハッシュツリー情報12aをサーバ側ハッシュツリーリポジトリ部12に書き込む機能と、クライアント装置20からハッシュツリー送信要求を受けると、サーバ側ハッシュツリーリポジトリ部12から読み出したサーバ側ハッシュツリー情報12aをクライアント装置20に送信する機能とをもっている。
次に、以上のように構成されたファイル更新装置の動作について説明する。
始めに、図17に示すように、サーバ装置10においては、図示しない端末装置からファイル更新部13を介してサーバ側ファイルリポジトリ部11内のファイルが適宜、更新される(ものとする(ST0’−1)。
このとき、ファイル更新部13’は、ファイル更新後にハッシュツリー生成部14’を起動する(ST0’−2)。
ハッシュツリー生成部14’は、ファイル更新部13’に起動されると、サーバ側ファイルリポジトリ部11からディレクトリ情報及びファイル11aを読み出し(ST0’−3)、このディレクトリ情報及びファイル11aからサーバ側ハッシュツリー情報12aを生成し(ST0’−4)、得られたサーバ側ハッシュツリー情報12aをサーバ側ハッシュツリーリポジトリ部12に書き込む(ST0’−5)。
なお、サーバ側ハッシュツリー情報12aの生成過程は、図9に示した処理のうち、ステップST2−1〜ST2−4及びST2−7により実行される。すなわち、本実施形態のサーバ装置10は、ファイル更新をトリガとして動作するので、ファイル更新の有無を確認するためのステップST2−5及びST2−6が省略される。
しかる後、クライアント装置20においては、前述した通り、電源がオン状態に切り替えられたとする。このとき、クライアント装置20は、前述した通り、ステップST1〜ST5を実行し、ハッシュツリー送信要求をサーバ装置10に送信する(ST5)。
サーバ装置10においては、ハッシュツリー生成部14’がハッシュツリー送信要求を受けると、前述とは異なり、サーバ側ハッシュツリーリポジトリ部12からサーバ側ハッシュツリー情報12aを読み出し(ST9’−1)、サーバ側ハッシュツリー情報12aをクライアント装置20に返信する(ST9’−2)。
以下、前述した通り、ステップST10〜ST15が実行される。
また、サーバ装置10は、他のクライアント装置20〜20からハッシュツリー送信要求を受けた場合も同様に、サーバ側ハッシュツリーリポジトリ部12から読み出したサーバ側ハッシュツリー情報12aをクライアント装置20に返信する(ST9’−1〜ST9’−2)。
上述したように本実施形態によれば、第1又は第2の実施形態と同様の効果を得ることができ、さらに、第1又は第2の実施形態とは異なり、ハッシュツリー送信要求を受ける毎にサーバ側ハッシュツリー情報12aを生成せずに読み出すだけで済むので、クライアント装置20〜20の台数Nに応じてハッシュツリー生成処理の回数を低減することができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の第1の実施形態に係るファイル更新装置の構成を示す模式図である。 同実施形態におけるディレクトリ情報及びファイルの階層関係を示す模式図である。 同実施形態におけるハッシュツリー情報の一例を示す模式図である。 同実施形態におけるハッシュツリー情報を説明するための模式図である。 同実施形態における後方走査を説明するための模式図である。 同実施形態における後方走査によるハッシュ値の算出例を示す模式図である。 同実施形態における前方走査を説明するための模式図である。 同実施形態における全体動作を説明するための模式図である。 同実施形態におけるハッシュツリーの生成動作を説明するための模式図である。 同実施形態におけるハッシュツリーの比較動作を説明するための模式図である。 本発明の第2の実施形態に係るファイル更新装置に用いられるハッシュツリー情報の一例を示す模式図である。 同実施形態におけるハッシュ値の算出例を示す模式図である。 図12の一部を具体的に表す模式図である。 同実施形態におけるディレクトリ構造の一例を示す模式図である。 同実施形態におけるハッシュツリーの生成処理を示す模式図である。 同実施形態におけるハッシュツリーの比較処理を示す模式図である。 本発明の第2の実施形態に係るファイル更新装置の動作を説明するための模式図である。
符号の説明
10…サーバ装置、11…サーバ側ファイルリポジトリ部、11a,21a…ディレクトリ情報及びファイル、12…サーバ側ハッシュツリーリポジトリ部、12a,22a…ハッシュツリー情報、13…ファイル更新部、14,23…ハッシュツリー生成部、15…ファイル送信部、20〜20…クライアント装置、21…クライアント側ファイルリポジトリ部、22…クライアント側ハッシュツリーリポジトリ部、24…ハッシュツリー比較部、25…ファイルコピー部25、L…更新ファイルリスト。

Claims (5)

  1. ファイルを更新可能なサーバ装置と、前記サーバ装置により更新されたファイルをコピーして更新するクライアント装置とを備えたファイル更新装置であって、
    前記サーバ装置は、
    互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルが記憶されたサーバ側ファイルリポジトリ手段と、
    前記サーバ側ファイルリポジトリ手段内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するサーバ側ハッシュツリー情報を生成するサーバ側ハッシュツリー生成手段と、
    前記クライアント装置から受けたハッシュツリー送信要求に基づいて、前記サーバ側ハッシュツリー情報を前記クライアント装置に送信するツリー情報送信手段と、
    前記クライアント装置から受けた更新対象ファイル送信要求に基づいて、前記サーバ側ファイルリポジトリ手段内の該当するファイルを前記クライアント装置に送信するファイル送信手段とを備えており、
    前記クライアント装置は、
    互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルが記憶されたクライアント側ファイルリポジトリ手段と、
    前記クライアント側ファイルリポジトリ手段内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するクライアント側ハッシュツリー情報を生成するクライアント側ハッシュツリー生成手段と、
    前記ハッシュツリー送信要求を前記サーバ装置に送信し、当該サーバ装置からサーバ側ハッシュツリー情報を受信するツリー情報受信手段と、
    このサーバ側ハッシュツリー情報と前記クライアント側ハッシュツリー情報とにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、前記各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップするツリー情報比較手段と、
    前記比較の結果、ハッシュ値が相違する更新対象ファイルのファイル名を列挙した更新ファイルリストを作成する更新リスト作成手段と、
    前記更新ファイルリスト内のファイル名を指定した更新ファイル送信要求を前記サーバ装置に送信する手段と、
    前記サーバ装置から受けた更新対象のファイルを前記クライアント側ファイルリポジトリ手段にコピーして更新するファイルコピー手段と
    を備えたことを特徴とするファイル更新装置。
  2. 請求項1に記載のファイル更新装置において、
    前記サーバ装置は、
    前記サーバ側ファイルリポジトリ手段内のファイルを更新した後、前記サーバ側ハッシュツリー生成手段を起動する手段と、
    前記起動されたサーバ側ハッシュツリー生成手段により生成されたサーバ側ハッシュツリー情報が記憶されるサーバ側ハッシュツリーリポジトリ手段と
    を備えており、
    前記ツリー情報送信手段は、前記ハッシュツリー送信要求に基づいて、前記サーバ側ハッシュツリーリポジトリ手段内のサーバ側ハッシュツリー情報を前記クライアント装置に送信することを特徴とするファイル更新装置。
  3. ファイルを更新可能なサーバ装置と、前記サーバ装置により更新されたファイルをコピーして更新するクライアント装置とを備えたファイル更新装置のプログラムであって、
    前記サーバ装置のコンピュータを、
    互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルをサーバ側ファイルリポジトリ装置に書き込む手段、
    前記サーバ側ファイルリポジトリ装置内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するサーバ側ハッシュツリー情報を生成するサーバ側ハッシュツリー生成手段、
    前記クライアント装置から受けたハッシュツリー送信要求に基づいて、前記サーバ側ハッシュツリー情報を前記クライアント装置に送信するツリー情報送信手段、
    前記クライアント装置から受けた更新対象ファイル送信要求に基づいて、前記サーバ側ファイルリポジトリ装置内の該当するファイルを前記クライアント装置に送信するファイル送信手段として機能させ、
    前記クライアント装置のコンピュータを、
    互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルをクライアント側ファイルリポジトリ装置に書き込む手段、
    前記クライアント側ファイルリポジトリ装置内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するクライアント側ハッシュツリー情報を生成するクライアント側ハッシュツリー生成手段、
    前記ハッシュツリー送信要求を前記サーバ装置に送信し、当該サーバ装置からサーバ側ハッシュツリー情報を受信するツリー情報受信手段、
    このサーバ側ハッシュツリー情報と前記クライアント側ハッシュツリー情報とにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、前記各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップするツリー情報比較手段、
    前記比較の結果、ハッシュ値が相違する更新対象ファイルのファイル名を列挙した更新ファイルリストを作成する更新リスト作成手段、
    前記更新ファイルリスト内のファイル名を指定した更新ファイル送信要求を前記サーバ装置に送信する手段、
    前記サーバ装置から受けた更新対象のファイルを前記クライアント側ファイルリポジトリ装置にコピーして更新するファイルコピー手段、
    として機能させるためのプログラム。
  4. 請求項3に記載のプログラムにおいて、
    前記サーバ装置のコンピュータを、
    前記サーバ側ファイルリポジトリ装置内のファイルを更新した後、前記サーバ側ハッシュツリー生成手段を起動する手段、
    前記起動されたサーバ側ハッシュツリー生成手段により生成されたサーバ側ハッシュツリー情報をサーバ側ハッシュツリーリポジトリ装置に書き込む手段、
    として機能させ、
    前記ツリー情報送信手段は、前記ハッシュツリー送信要求に基づいて、前記サーバ側ハッシュツリーリポジトリ装置内のサーバ側ハッシュツリー情報を前記クライアント装置に送信する手順を含むプログラム。
  5. ファイルを更新可能なサーバ装置と、前記サーバ装置により更新されたファイルをコピーして更新するクライアント装置とが実行するファイル更新方法であって、
    前記サーバ装置が、互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルをサーバ側ファイルリポジトリ装置に書き込む工程と、
    前記サーバ装置が、前記サーバ側ファイルリポジトリ装置内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するサーバ側ハッシュツリー情報を生成する工程と、
    前記クライアント装置が、互いに木構造の階層関係を構成する複数のディレクトリ情報及びファイルをクライアント側ファイルリポジトリ装置に書き込む工程と、
    前記クライアント装置が、前記クライアント側ファイルリポジトリ装置内の複数のディレクトリ情報及びファイルに基づいて、前記木構造と同一の木構造の階層関係を構成する複数のハッシュ値を有するクライアント側ハッシュツリー情報を生成する工程と、
    前記クライアント装置が、ハッシュツリー送信要求を前記サーバ装置に送信し、当該サーバ装置からサーバ側ハッシュツリー情報を受信する工程と、
    前記クライアント装置が、このサーバ側ハッシュツリー情報と前記クライアント側ハッシュツリー情報とにそれぞれ含まれる各ハッシュ値を上位側から互いに比較し、前記各ハッシュ値が互いに一致する場合には当該各ハッシュ値よりも下位側のハッシュ値の比較をスキップする工程と、
    前記クライアント装置が、前記比較の結果、ハッシュ値が相違する更新対象ファイルのファイル名を列挙した更新ファイルリストを作成する工程と、
    前記クライアント装置が、前記更新ファイルリスト内のファイル名を指定した更新ファイル送信要求を前記サーバ装置に送信する工程と、
    前記サーバ装置が、前記クライアント装置から受けた更新対象ファイル送信要求に基づいて、前記サーバ側ファイルリポジトリ装置内の該当するファイルを前記クライアント装置に送信する工程と、
    前記クライアント装置が、前記サーバ装置から受けた更新対象のファイルを前記クライアント側ファイルリポジトリ装置にコピーして更新する工程と
    を備えたことを特徴とするファイル更新方法。
JP2007094577A 2007-03-30 2007-03-30 ファイル更新装置、プログラム及び方法 Pending JP2008250903A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007094577A JP2008250903A (ja) 2007-03-30 2007-03-30 ファイル更新装置、プログラム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007094577A JP2008250903A (ja) 2007-03-30 2007-03-30 ファイル更新装置、プログラム及び方法

Publications (1)

Publication Number Publication Date
JP2008250903A true JP2008250903A (ja) 2008-10-16

Family

ID=39975727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007094577A Pending JP2008250903A (ja) 2007-03-30 2007-03-30 ファイル更新装置、プログラム及び方法

Country Status (1)

Country Link
JP (1) JP2008250903A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685545B2 (en) 2008-06-10 2010-03-23 Oasis Tooling, Inc. Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
WO2012081099A1 (ja) * 2010-12-15 2012-06-21 富士通株式会社 データ移行プログラム、計算機およびデータ移行方法
WO2012137262A1 (en) 2011-04-08 2012-10-11 Hitachi, Ltd. Information processing system and data processing method
JP2013097566A (ja) * 2011-10-31 2013-05-20 Fujitsu Ltd 同期方法、同期プログラム及び情報処理装置
JP2014197398A (ja) * 2009-06-30 2014-10-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ネットワーク・メディア・デバイス上の求められているコンテンツ項目にマーク付けするためのシステム、方法及びコンピュータ・プログラム
JP2015079404A (ja) * 2013-10-18 2015-04-23 株式会社日立製作所 不正検知方法
JP2015108927A (ja) * 2013-12-04 2015-06-11 日本電気株式会社 情報処理装置、データ同期方法及びプログラム
US9122825B2 (en) 2011-06-10 2015-09-01 Oasis Tooling, Inc. Identifying hierarchical chip design intellectual property through digests
KR20170044718A (ko) * 2014-09-23 2017-04-25 아마존 테크놀로지스, 인크. 공유 폴더 및 파일의 동기화
JP2018106700A (ja) * 2016-12-27 2018-07-05 泰徳陽光有限公司 リアルタイムで監査可能なクラウドアクセス方法
JP2018165977A (ja) * 2017-03-28 2018-10-25 泰徳陽光有限公司 分散型監査方法、そのデバイス及びそのシステム
CN110830539A (zh) * 2018-08-14 2020-02-21 贵州白山云科技股份有限公司 一种网络存储系统及方法
KR20200093548A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 디프 값들의 효율적인 전파
CN115033550A (zh) * 2022-08-10 2022-09-09 宁波均联智行科技股份有限公司 一种车机系统文件访问方法及车机系统
US11824840B1 (en) * 2019-02-04 2023-11-21 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63106860A (ja) * 1986-10-24 1988-05-11 Hitachi Ltd 共通情報比較方法
JPH08272661A (ja) * 1995-03-29 1996-10-18 Takaoka Electric Mfg Co Ltd ファイルの複写方法
JP2005032130A (ja) * 2003-07-10 2005-02-03 Sony Corp データ管理装置、およびデータ管理方法、並びにコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63106860A (ja) * 1986-10-24 1988-05-11 Hitachi Ltd 共通情報比較方法
JPH08272661A (ja) * 1995-03-29 1996-10-18 Takaoka Electric Mfg Co Ltd ファイルの複写方法
JP2005032130A (ja) * 2003-07-10 2005-02-03 Sony Corp データ管理装置、およびデータ管理方法、並びにコンピュータ・プログラム

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266571B2 (en) 2008-06-10 2012-09-11 Oasis Tooling, Inc. Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US7685545B2 (en) 2008-06-10 2010-03-23 Oasis Tooling, Inc. Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
JP2014197398A (ja) * 2009-06-30 2014-10-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ネットワーク・メディア・デバイス上の求められているコンテンツ項目にマーク付けするためのシステム、方法及びコンピュータ・プログラム
WO2012081099A1 (ja) * 2010-12-15 2012-06-21 富士通株式会社 データ移行プログラム、計算機およびデータ移行方法
JP5534031B2 (ja) * 2010-12-15 2014-06-25 富士通株式会社 データ移行プログラム、計算機およびデータ移行方法
WO2012137262A1 (en) 2011-04-08 2012-10-11 Hitachi, Ltd. Information processing system and data processing method
US9122825B2 (en) 2011-06-10 2015-09-01 Oasis Tooling, Inc. Identifying hierarchical chip design intellectual property through digests
JP2013097566A (ja) * 2011-10-31 2013-05-20 Fujitsu Ltd 同期方法、同期プログラム及び情報処理装置
JP2015079404A (ja) * 2013-10-18 2015-04-23 株式会社日立製作所 不正検知方法
JP2015108927A (ja) * 2013-12-04 2015-06-11 日本電気株式会社 情報処理装置、データ同期方法及びプログラム
KR20170044718A (ko) * 2014-09-23 2017-04-25 아마존 테크놀로지스, 인크. 공유 폴더 및 파일의 동기화
CN107077483A (zh) * 2014-09-23 2017-08-18 亚马逊技术股份有限公司 共享文件夹和文件的同步
JP2017529625A (ja) * 2014-09-23 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド 共有フォルダ及び共有ファイルの同期
KR101974288B1 (ko) * 2014-09-23 2019-08-23 아마존 테크놀로지스, 인크. 공유 폴더 및 파일의 동기화
US10482067B2 (en) 2014-09-23 2019-11-19 Amazon Technologies, Inc. Synchronization of shared folders and files
CN107077483B (zh) * 2014-09-23 2021-03-26 亚马逊技术股份有限公司 共享文件夹和文件的同步
JP2018106700A (ja) * 2016-12-27 2018-07-05 泰徳陽光有限公司 リアルタイムで監査可能なクラウドアクセス方法
JP2018165977A (ja) * 2017-03-28 2018-10-25 泰徳陽光有限公司 分散型監査方法、そのデバイス及びそのシステム
US11314774B2 (en) 2017-12-28 2022-04-26 Dropbox, Inc. Cursor with last observed access state
US11500897B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
KR20200093548A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 디프 값들의 효율적인 전파
US11308118B2 (en) 2017-12-28 2022-04-19 Dropbox, Inc. File system warnings
US11880384B2 (en) 2017-12-28 2024-01-23 Dropbox, Inc. Forced mount points / duplicate mounts
JP7068454B2 (ja) 2017-12-28 2022-05-16 ドロップボックス, インコーポレイテッド diff値の効率的な伝播
US11386116B2 (en) 2017-12-28 2022-07-12 Dropbox, Inc. Prevention of loss of unsynchronized content
KR102434243B1 (ko) * 2017-12-28 2022-08-18 드롭박스, 인크. 디프 값들의 효율적인 전파
US11423048B2 (en) 2017-12-28 2022-08-23 Dropbox, Inc. Content management client synchronization service
US11429634B2 (en) 2017-12-28 2022-08-30 Dropbox, Inc. Storage interface for synchronizing content
US11836151B2 (en) 2017-12-28 2023-12-05 Dropbox, Inc. Synchronizing symbolic links
US11461365B2 (en) 2017-12-28 2022-10-04 Dropbox, Inc. Atomic moves with lamport clocks in a content management system
US11475041B2 (en) 2017-12-28 2022-10-18 Dropbox, Inc. Resynchronizing metadata in a content management system
JP2021509494A (ja) * 2017-12-28 2021-03-25 ドロップボックス, インコーポレイテッド diff値の効率的な伝播
US11500899B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Efficient management of client synchronization updates
US11514078B2 (en) 2017-12-28 2022-11-29 Dropbox, Inc. File journal interface for synchronizing content
US11593394B2 (en) 2017-12-28 2023-02-28 Dropbox, Inc. File system warnings application programing interface (API)
US11630841B2 (en) 2017-12-28 2023-04-18 Dropbox, Inc. Traversal rights
US11657067B2 (en) 2017-12-28 2023-05-23 Dropbox Inc. Updating a remote tree for a client synchronization service
US11669544B2 (en) 2017-12-28 2023-06-06 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
US11704336B2 (en) 2017-12-28 2023-07-18 Dropbox, Inc. Efficient filename storage and retrieval
US11755616B2 (en) 2017-12-28 2023-09-12 Dropbox, Inc. Synchronized organization directory with team member folders
US11782949B2 (en) 2017-12-28 2023-10-10 Dropbox, Inc. Violation resolution in client synchronization
CN110830539A (zh) * 2018-08-14 2020-02-21 贵州白山云科技股份有限公司 一种网络存储系统及方法
US11824840B1 (en) * 2019-02-04 2023-11-21 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser
CN115033550A (zh) * 2022-08-10 2022-09-09 宁波均联智行科技股份有限公司 一种车机系统文件访问方法及车机系统

Similar Documents

Publication Publication Date Title
JP2008250903A (ja) ファイル更新装置、プログラム及び方法
US11657067B2 (en) Updating a remote tree for a client synchronization service
US8086570B2 (en) Secure document management using distributed hashing
KR101573965B1 (ko) 분산형 저장 시스템 내의 데이터의 원자 다중 변경
EP3526691B1 (en) File synchronization in computing systems
JP4406609B2 (ja) 単一のインターフェイスからのデータの多重階層を管理するための手法
US9762664B2 (en) Optimistic concurrency utilizing distributed constraint enforcement
US8370385B2 (en) Media collections service
KR20080081276A (ko) 디스크 기반 캐시
KR100913196B1 (ko) 파일 갱신 시스템 및 방법
JP2004102926A (ja) 識別子生成方法、同一性判定方法、識別子送信方法、識別子生成装置、同一性判定装置および識別子送信装置
CN110045983B (zh) 版本库管理方法、装置及服务器
JP7333554B2 (ja) 更新装置、更新方法、更新プログラム、及びデータ構造
US7620649B2 (en) Method, apparatus, and program for data management
Brusan et al. Remote Repository
JPH11353312A (ja) 文書管理方法及び装置ならびに記録媒体
JP2007172341A (ja) 構造化文書管理システム及び同システムに適用される構造化文書管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121016