JP5061166B2 - データ同期システムおよびデータ同期方法 - Google Patents
データ同期システムおよびデータ同期方法 Download PDFInfo
- Publication number
- JP5061166B2 JP5061166B2 JP2009204686A JP2009204686A JP5061166B2 JP 5061166 B2 JP5061166 B2 JP 5061166B2 JP 2009204686 A JP2009204686 A JP 2009204686A JP 2009204686 A JP2009204686 A JP 2009204686A JP 5061166 B2 JP5061166 B2 JP 5061166B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- information
- client
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Description
図1は、本発明の一実施形態に係る通信システムの全体構成を示す図である。本実施形態の通信システムは、クライアント10およびサーバ20を含んで構成される。クライアント10およびサーバ20はそれぞれ通信ネットワーク30に接続されており、クライアント10およびサーバ20は通信ネットワーク30を介して通信可能になっている。本実施形態の通信システムは、サーバ20とクライアント10との間のデータの同期を行うものである。
図2は、クライアント10のハードウェア構成を示す図である。クライアント10は、CPU101、メモリ102、記憶装置103、通信インタフェース104、入力装置105、および出力装置106を備えている。
本実施形態の通信システムでは、クライアント10とサーバ20との間でデータが同期される。下記第1の実施形態では、クライアント10ではデータの更新が行われず、サーバ20においてのみデータの更新が行われる場合を想定し、下記第2の実施形態では、クライアント10およびサーバ20の両方においてデータが更新される場合を想定する。
(1)クライアント10とサーバ20との間で、それぞれにおいて変更されたデータについての情報が交換される。
(1.1)クライアント10からサーバ20へ、クライアント10において更新されたデータについての情報が送信される。なお、クライアント10においてデータが更新されない場合には、この手順は省略される。
(1.2)サーバ20からクライアント10へ、サーバ20において更新されたデータについての情報が送信される。
(1.3)クライアント10は、データの競合を検出し、競合を解消する。データの競合とは、データの衝突および重複である。データの衝突とは、クライアント10およびサーバ20の両方において同じレコードに対して変更が行われたことをいう。データの重複とは、クライアント10とサーバ20との両方で異なるデータを更新したことにより、異なるデータが同一あるいは類似の内容になることをいう。本実施形態では、競合の解消は、競合関係にある2つのデータ(例えば、衝突するクライアント10のデータおよびサーバ20のデータ、あるいは、重複する2つのデータ)のいずれかを選択することにより行うものとする。
(3)クライアント10は、サーバ20に反映すべきデータをサーバ20にアップロードする。
以下、詳細に付いて説明する。
第1の実施形態では、クライアント10においてデータの更新が行われないものとする。また、第1の実施形態では、サーバ20において管理されるデータは大量であり、その全てをクライアント10にダウンロードすることはできないものとする。
図4は、第1の実施形態に係るクライアント10のソフトウェア構成を示す図である。同図に示すように、クライアント10は、クライアントデータベース11、フィルタ選択部111、同期要求送信部112、同期情報受信部113、削除処理部114、ダウンロード決定部115、アンカー更新部116、陳腐化情報取得部117、ダウンロード要求送信部118、ダウンロード情報受信部119、更新処理部120、クライアントID記憶部131、アンカー記憶部132を備えている。なお、フィルタ選択部111、同期要求送信部112、同期情報受信部113、削除処理部114、ダウンロード決定部115、アンカー更新部116、陳腐化情報取得部117、ダウンロード要求送信部118、ダウンロード情報受信部119、更新処理部120は、クライアント10が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。また、クライアントデータベース11、クライアントID記憶部131、アンカー記憶部132は、クライアント10が備えるメモリ102や記憶装置103が提供する記憶領域として実現される。クライアントデータベース11は、クライアント10とは異なるコンピュータ(データベースサーバ)により提供されるようにしてもよい。この場合、クライアント10は、例えば、通信ネットワーク30を介してデータベースサーバにアクセス可能に接続されるようにする。
キーは、例えば、データ本体がアドレス帳のデータである場合には、電話番号や氏名などの文字列を連結して作成することができ、データ本体が電子メールのデータである場合には、電子メールの名宛人(To)、差出人(From)、日付(Date)、および件名(Subject)に設定されている文字列を連結して作成することができる。
カラムは、データがフィルタ条件を満たすか否かを判定するために用いるものであり、データ本体の一部である。ヒントは、サーバ20からデータをダウンロードするか否かを決定するための情報である。本実施形態では、ヒントには、データの重要度が含まれているものとするが、例えば、データ本体がアドレス帳のデータである場合には氏名とし、データ本体が電子メールのデータである場合には、電子メールの件名と差出人の文字列を結合したものとして、ユーザがデータの内容を把握することができるようにする。また、ヒントには、例えば、データの重要度やカテゴリ、データサイズ、データ内容の要約など各種のメタデータを含めることもできる。
変更特徴情報に含まれている更新時点は、最後にデータの更新が行われた時点であり、削除フラグは、サーバ20においてデータが削除されたことを示す。
図11は、サーバ20のソフトウェア構成を示す図である。サーバ20は、GUID生成部210、時点生成部211、データベース変更部212、同期要求受信部213、変更履歴取得部214、変更取得部215、同期情報送信部216、ダウンロード要求受信部217、データ取得部218、ダウンロード情報送信部219、サーバデータベース21およびサーバ変更履歴記憶部231を備えている。
データベース変更部212は、サーバデータベース21にサーバレコードを追加する場合、時点生成部211が生成する時点を作成時点および更新時点のそれぞれに設定してサーバレコードをサーバデータベース21に追加する。また、データベース変更部212は、追加したサーバレコードのGUID、作成時点、更新時点、ヒントを含むサーバ変更履歴を作成し、作成したサーバ変更履歴の削除フラグに「偽」を設定し、旧カラムおよび現カラムのそれぞれに、追加したサーバレコードのカラムを設定してサーバ変更履歴記憶部231に登録する。
データベース変更部212は、サーバデータベース21に記憶されているサーバレコードを更新した場合には、時点生成部211が生成する時点をサーバレコードの更新時点に設定する。また、データベース変更部212は、更新したサーバレコードのGUID、作成時点、更新時点、ヒントを含むサーバ変更履歴を作成し、作成したサーバ変更履歴の削除フラグに「偽」を設定し、旧カラムに更新前のカラムを設定し、現カラムに更新後のカラムを設定してサーバ変更履歴記憶部231に登録する。
また、データベース変更部212は、サーバデータベース21に記憶されているサーバレコードを削除した場合には、時点生成部211が生成する時点、削除したサーバレコードのGUID、作成時点、ヒントを含むサーバ変更履歴を作成し、作成したサーバ変更履歴の削除フラグに「真」を設定し、旧カラムに削除したサーバレコードのカラムを設定してサーバ変更履歴記憶部231に登録する。
図14は、第1の実施形態に係る通信システムにおいて実行される、データの同期処理の流れを説明する図である。
クライアント10は同期要求41を作成し(S31)、作成した同期要求41をサーバ20に送信する(S32)。サーバ20は、同期要求41を受信すると、バウンダリ時点、最新履歴時点、変更特徴情報を含む同期情報42を作成し(S33)、作成した同期情報42をクライアント10に送信する(S34)。
クライアント10は同期情報42を受信すると、削除フラグが真であるデータをクライアントデータベース11から削除するとともに、ダウンロードすべきデータを示す取得情報と陳腐化情報とを含むダウンロード要求43を作成し(S35)、作成したダウンロード要求43をサーバ20に送信する(S36)。サーバ20は、ダウンロード要求43を受信すると、取得ダウンロード情報と陳腐化ダウンロード情報とを含むダウンロード情報を作成し(S37)、作成したダウンロード情報をクライアント10に送信する(S38)。
クライアント10は、ダウンロード情報に含まれている取得ダウンロード情報および陳腐化ダウンロード情報に応じて、クライアントデータベース11へのデータの登録または削除を行う(S39)。
以下、詳細について説明する。
図15は、クライアント10において実行される同期要求41の作成処理の流れを示す図である。
まず、フィルタ選択部111は、フィルタ条件を選択する(S3101)。上述したように、フィルタ選択部111は、例えば、ユーザからフィルタ条件の指定を受け付けることによりフィルタ条件を選択する。
フィルタ選択部111は、選択フィルタ条件がアンカー記憶部132に記憶されていれば(S3102:YES)、選択フィルタ条件に対応するアンカー時点をアンカー記憶部132から読み出す(S3103)。
一方、選択フィルタ条件がアンカー記憶部132に記憶されていない場合には(S3102:NO)、フィルタ選択部111は、アンカー時点に所定の最小値から1を減じた値(本実施形態では「0」とする。)を設定する(S3104)。
同期要求送信部112は、クライアントID記憶部131からクライアントIDを読み出し(S3105)、クライアントID、選択フィルタ条件、およびアンカー時点を含む同期要求41を作成する(S3106)。
以上のようにして同期要求41が作成される。作成された同期要求は同期要求送信部112によりサーバ20に送信される。
図16は、サーバ20において実行される同期要求41に対応する処理の流れを示す図である。
同期情報送信部216は、サーバ変更履歴記憶部231に登録されているサーバ変更履歴の最も古い更新時点をバウンダリ時点とし(S3301)、最も新しい更新時点を最新履歴時点とし(S3302)、バウンダリ時点と最新履歴時点とを含む同期情報42を生成する(S3303)。なお、サーバ変更履歴記憶部231に変更履歴が登録されていないときには、同期情報送信部216は、時点生成部211が生成する時点を取得し、取得した時点をバウンダリ時点および最新履歴時点とする。
変更履歴取得部214は、サーバ変更履歴記憶部231から、フィルタ条件にマッチするサーバ変更履歴を読み出し、読み出した各サーバ変更履歴について、サーバ変更履歴のGUID、更新時点、削除フラグ、ヒントおよびキーを含む変更特徴情報を作成する(S3304)。変更履歴取得部214は、作成した変更特徴情報を同期情報42に設定する(S3305)。
同期情報送信部216は、同期情報42に設定された変更特徴情報のうち、更新時点がアンカー時点より後であり、かつ削除フラグが「真」であるもののそれぞれについて、当該変更特徴情報と、当該変更特徴情報と同じGUIDである他の変更特徴情報とを同期情報42から削除する(S3306)。
変更取得部215は、サーバデータベース21から、更新時点がアンカー時点より後であり、かつ更新時点がバウンダリ時点より前であるデータを読み出し、読み出したデータのGUID、更新時点、ヒントおよびキーと、「偽」の削除フラグとを含む変更特徴情報を作成する(S3307)。変更取得部215は、作成した変更特徴情報を同期情報42に設定する(S3308)。
以上のようにして同期情報42が作成される。作成された同期情報42は、同期情報送信部216によりクライアント10に送信される。
図17および図18は、サーバ変更履歴記憶部231が記憶する変更履歴と、変更特徴情報との関係を説明する図である。図17および図18では、サーバ変更履歴記憶部231には、時点t4〜時点t8の期間についてのみサーバ変更履歴231が記憶されており、データa、b、cおよびdは、それぞれ時点t2、t4、t6およびt8において変更されたものとしている。ここで、バウンダリ時点は時点t4となる。
図19は、クライアント10において実行される同期情報42に対応する処理の流れを示す図である。
まず、削除処理部114は、同期情報42に含まれている変更特徴情報のうち、削除フラグが真であるもののそれぞれについて、GUIDに対応するデータをクライアントデータベース11から削除する(S3501)。アンカー更新部116は、同期情報42に含まれている最新履歴時点を選択フィルタ条件に対応付けてアンカー記憶部132に登録する(S3502)。
次に、ダウンロード決定部115は、空のダウンロード要求43を作成し(S3503)、同期情報42に含まれている変更特徴情報に対応するデータのうち、ダウンロードすべきものを決定する(S3504)。上述したように、ダウンロード決定部115は、例えば、変更特徴情報に含まれているキーやヒントなどを出力し、ダウンロードすべきデータをユーザに選択させるようにすることができる。なお、ダウンロード決定部115はここで、クライアントデータベース11において選択フィルタ条件にマッチするデータのうち、そのGUIDが同期情報42に含まれていないもの(フィルタアウトされたデータ)についても、ダウンロードすべきデータとして決定するようにしてもよい。ダウンロード決定部115は、決定したデータのそれぞれについて、データを示すGUIDを含む取得情報を生成し、生成した取得情報をダウンロード要求43に追加する(S3505)。
陳腐化情報取得部117は、クライアントデータベース11から、削除可能性フラグまたは更新可能性フラグが「真」であるデータのリストを取得する(S3509)。陳腐化情報取得部117は、リストに含まれるデータのうち、GUIDが取得情報に含まれているものをリストから削除する(S3510)。陳腐化情報取得部117は、リストに含まれているデータのそれぞれについて、GUIDおよび更新時点を設定した陳腐化情報を作成してダウンロード要求43に追加する(S3511)。
以上のようにしてダウンロード要求43が作成される。作成されたダウンロード要求43は、ダウンロード要求送信部118によりサーバ20に送信される。
図20は、サーバ20において実行されるダウンロード要求43の対応処理の流れを説明する図である。
データ取得部218は、空のダウンロード情報44を作成し(S3701)、ダウンロード要求43に含まれている各取得情報について以下の処理を行う。
データ取得部218は、取得情報に含まれるGUIDに対応するデータをサーバデータベース21から検索し(S3702)、対応するデータが存在する場合には(S3703:YES)、検索したデータのGUID、更新時点、キー、カラム、ヒントおよび本体と、「偽」の削除フラグとを含む取得ダウンロード情報を作成してダウンロード情報44に追加する(S3704)。一方、取得情報のGUIDに対応するデータが存在しない場合は(S3703:NO)、データ取得部218は、取得情報のGUIDと「真」の削除フラグとを含む取得ダウンロード情報を作成してダウンロード情報44に追加する(S3705)。
データ取得部218は、陳腐化情報に含まれるGUIDに対応するデータをサーバデータベース21から検索し(S3706)、対応するデータが存在する場合(S3707:YES)、当該データの更新時点が陳腐化情報の更新時点よりも新しければ(S3708:YES)、当該データのGUID、更新時点、キー、カラム、ヒントおよび本体と「偽」の削除フラグとを含む陳腐化ダウンロード情報を作成してダウンロード情報44に追加する(S3709)。一方、陳腐化情報に含まれるGUIDに対応するデータが存在しない場合には(S3707:NO)、データ取得部218は、陳腐化情報のGUIDおよび「真」の削除フラグを含む陳腐化ダウンロード情報を作成してダウンロード情報44に追加する(S3710)。
以上の処理を各陳腐化情報について繰り返すことで、ダウンロード情報44が作成される。作成されたダウンロード情報44は、ダウンロード情報送信部219によりクライアント10に送信される。
図21は、クライアント10において実行されるダウンロード情報44の対応処理の流れを示す図である。
更新処理部120は、ダウンロード情報44に含まれている陳腐化ダウンロード情報のそれぞれについて、図22に示す適用処理を行う(S3901)。すなわち、陳腐化ダウンロード情報の削除フラグが「真」であれば(S3921:YES)、削除処理部114は、陳腐化ダウンロード情報に含まれているGUIDに対応するデータをクライアントデータベース11から削除し(S3922)、削除フラグが「偽」であれば(S3921:NO)、更新処理部120は、陳腐化ダウンロード情報に含まれているGUID、キー、カラム、ヒントおよび本体と、「偽」の更新可能性フラグおよび「偽」の削除可能性フラグとを含むデータを作成してクライアントデータベース11に登録する(S3923)。なお、GUIDが一致するデータがクライアントデータベース11にすでに登録されている場合には、当該データは上書きされる。
このようにして、ダウンロード情報に応じてクライアントデータベース11が更新される。
以上のようにして、選択フィルタにマッチするクライアントレコードとサーバレコードとの同期が行われる。
次に、第2の実施形態について説明する。第2の実施形態については、第1の実施形態との違いについて主に説明し、第1の実施形態と同じ部分については説明を省略する。
第2の実施形態では、クライアント10においてもデータの更新が行われるものとする。したがって、クライアント10とサーバ20との両方で同じデータについて異なる内容の更新が行われる衝突が起こり得る。データの衝突は、一般にサーバ20によって検知されるが、第2の実施形態では、クライアント10とサーバ20との両方で衝突を検知するようにしている。また、クライアント10とサーバ20との両方で異なるデータを更新したことにより、異なるデータが同一あるいは類似の内容になる重複も起こり得る。第2の実施形態では、重複についても、クライアント10とサーバ20との両方で検出するようにしている。第2の実施形態では、キーが一致した場合に、重複が発生したと判定するものとする。
図23は、第2の実施形態に係るクライアント10のソフトウェア構成を示す図である。第2の実施形態に係るクライアント10は、上述した第1の実施形態に係るクライアント10に加えて、クライアント変更検知部110、衝突重複解消決定部121、解消要求送信部122、解消結果情報受信部123、解消処理部124、クライアント変更履歴記憶部133、未取得ID記憶部134、未検証記憶部135、重複記憶部136、衝突記憶部137を備えている。なお、クライアント変更検知部110、衝突重複解消決定部121、解消要求送信部122、解消結果情報受信部123、および解消処理部124は、クライアント10が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。また、クライアント変更履歴記憶部133、未取得ID記憶部134、未検証記憶部135、重複記憶部136、衝突記憶部137は、クライアント10が備えるメモリ102や記憶装置103が提供する記憶領域として実現される。
クライアント変更履歴記憶部133は、クライアントデータベース11に対する変更履歴を記憶する。上述したサーバ変更履歴記憶部231には、サーバ変更履歴は新しい順に所定数のみ記憶されるが、クライアント変更履歴記憶部133には、アンカー時点より後に行われたクライアントデータベース11に対する全ての変更についてのクライアント変更履歴が記憶されるものとする。
未取得ID記憶部134は、GUIDが割り当てられていないLUID(以下、「未取得ID」という。)を記憶する。未取得ID記憶部134には、クライアントデータベース11に新しいデータが追加された際に、そのデータに割り当てられたLUIDが登録される。
未検証記憶部135は、そのデータと重複するデータが存在するか否かの判定を行っていないデータを示すGUIDを記憶する。本実施形態では、クライアント10においてデータが変更された場合に、サーバ20において重複が発生するか否かを問い合わせることはせずに、後述するように、重複はサーバ20との間のデータの同期時に判定される。そこで、データが変更された場合には、そのデータのGUIDがデータの変更時から同期時まで未検証記憶部135に登録される。
衝突記憶部137は、衝突するデータを示すGUIDを記憶する。
クライアント変更検知部110は、変更が追加である場合(S401:YES)、新データにLUIDを割り当て(S402)、未取得ID記憶部134に、割り当てたLUIDを登録する(S403)。一方、変更が更新または削除である場合には(S401:NO)、クライアント変更検知部110は、新データからLUIDおよびGUIDを取得する(S404)。
クライアント変更検知部110は、変更が追加または更新である場合(S405:YES)、新データの本体に基づいてキーを作成して新キーとし(S406)、重複の判定処理を行う(S407)。
最後に、クライアント変更検知部110は、クライアント変更履歴を登録する変更履歴登録処理を行う(S408)。
クライアント変更検知部110は、クライアントレコードのキーが新キー一致しなければ(S321:NO)、未検証記憶部135にGUIDを登録する(S322)。
一方、クライアントレコードのキーが新キーと一致する場合(S321:YES)、クライアント変更検知部110は、新レコードのGUIDおよびLUIDと、クライアントレコードのGUIDおよびLUIDとを対応付けて重複記憶部136に登録する(S323)。クライアント変更検知部110は、新レコードのGUIDが未検証記憶部135に登録されている場合には(S324:YES)、未検証記憶部135から新レコードのGUIDを削除する(S325)。
クライアント変更検知部110は、クライアント変更履歴記憶部133から、新データのLUIDまたはGUIDと一致する変更履歴を検索する(S441)。一致するクライアント変更履歴が存在しなければ(S442:NO)、クライアント変更検知部110は、変更種別、新データのLUID、GUID、更新時点およびカラム、旧データのカラム、並びに新キーを含むクライアント変更履歴を作成してクライアント変更履歴記憶部133に登録する(S443)。
一方、上記変更履歴が存在する場合には(S442:YES)、クライアント変更検知部110は、当該変更が追加または変更であれば(S444:NO)、検索したクライアント変更履歴の変更種別を、当該変更を示す変更種別(追加または更新)に変更し(S445)、検索したクライアント変更履歴の現カラムに新データのカラムを設定し(S446)、検索したクライアント変更履歴のキーに新キーを設定する(S347)。後述するように、サーバ20とクライアント10との間のデータの同期は、クライアント変更履歴に従って行われるため、このようにまだサーバ20との間で同期がなされていない段階で再度更新等があった場合には、既存のクライアント変更履歴を更新することにより、同期処理の効率を上げることができる。
変更が削除である場合(S444:YES)、クライアント変更検知部110は、新データのGUIDが設定されていなければ、すなわち新データのGUIDがnullであれば(S448:YES)、検索したクライアント変更履歴をクライアント変更履歴記憶部133から削除する(S449)。つまり、クライアント10においてデータが作成された後、サーバ20にアップロードされる前に削除された場合には、クライアント変更履歴を削除することにより、無駄な同期がなされないようにしている。
新データにGUIDが設定されている場合、すなわち新レコードのGUIDがnullでない場合には(S448:NO)、検索したクライアント変更履歴の変更種別に削除を設定する(S450)。
以上のようにして、クライアント変更検知部110は、クライアントデータベース11に対する変更を検知すると、クライアント変更履歴を登録する。
また、第2の実施形態では、同期情報42に含まれる変更特徴情報は、後述するように、サーバ20において新たに追加されたデータに加えて、クライアント10とサーバ20との間で衝突または重複しているデータに関しても追加される。
衝突重複解消決定部121は、ダウンロード情報44に含まれるGUIDが示すデータが衝突または重複する場合に、当該データをサーバ20に送信するか否かを決定する。本実施形態では、衝突重複解消決定部121は、ダウンロード情報44に含まれるGUIDが、クライアント変更履歴記憶部133、重複記憶部136または衝突記憶部137に記憶されているか否かにより、衝突または重複が発生しているか否かを判定し、衝突または重複が発生していると判定した場合に、ユーザに、クライアントレコードかサーバレコードのいずれかを選択させるようにする。なお、衝突重複解消決定部121は、例えば、クライアントレコードを常に優先するようにして、無条件にクライアントレコードを選択するようにしてもよいし、任意のアルゴリズムを適用して自動的に選択するようにしてもよい。
解消処理部124は、解消結果情報46に応じてクライアントデータベース11の更新を行う。なお、解消処理部124の処理の詳細については後述する。
図34は、第2の実施形態に係るサーバ20のソフトウェア構成を示す図である。第2の実施形態に係るサーバ20は、第1の実施形態に係るサーバ20に加えて、解消要求受信部220、解消処理部221、解消結果情報送信部222を備えている。なお、解消要求受信部220、解消処理部221、解消結果情報送信部222は、サーバ20が備えるCPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現される。
解消処理部221は、解消要求45に応じてサーバデータベース21を更新する。なお、解消処理部221により実行される解消処理の詳細については後述する。
解消結果情報送信部222は、解消処理部221による解消処理の結果を示す解消結果情報を作成してクライアント10に送信する。なお、解消結果情報送信部222による解消結果情報の生成処理の詳細については後述する。
図36は、第2の実施形態に係る通信システムにおいて実行される、データの同期処理の流れを説明する図である。第2の実施形態に係るデータの同期処理では、上述した図14に示す第1の実施形態に係る同期処理に加えて、ステップS51〜S58が行われる。すなわち、クライアント10は、ダウンロード情報44に対応する処理(S39)を行った後、解消要求45をサーバ20に送信し(S51)、サーバ20は、解消要求45に応じてサーバデータベース21を更新し(S52)、更新の結果を示す結果情報と、更新の際に発生した重複に関する重複情報とを含む解消結果情報46をクライアント10に送信する(S53)。クライアント10は、解消結果情報46に応じてさらにダウンロードすべきデータを決定する処理を行い(S54)、ダウンロードすべきデータのGUIDを設定した取得情報を含むダウンロード要求43をサーバ20に送信する(S55)。サーバ20は、ダウンロード要求43に応じて、指定されているデータをサーバデータベース21から読み出し(S56)、読み出したデータを設定したダウンロード情報44をクライアント10に送信する(S57)。クライアント10は、ダウンロード情報44に含まれているデータをクライアントデータベース11に登録する(S58)。
図37は、第2の実施形態に係るステップS31における同期要求の作成処理の流れを示す図である。第2の実施形態では、上述した図15の処理に加えて、ステップS3106に続き、同期要求送信部112は、選択フィルタ条件にマッチするクライアント変更履歴をクライアント変更履歴記憶部133から読み出して変更履歴として同期要求41に設定し(S3107)、未取得ID記憶部134に記憶されている未取得IDを読み出して同期要求41に設定する(S3108)。
更新情報と未取得IDとにより、サーバ20側ではクライアント10で行われたデータの更新を把握することが可能となる。
図38は、第2の実施形態に係るステップS33における同期要求への対応処理の流れを示す図である。第2の実施形態では、上述した図16の処理に加えて、ステップS3308に続き、同期情報送信部216は、図39に示すGUIDの割当処理を行い(S3309)、図40に示す衝突および重複の検知処理を行う(S3310)。
同期情報送信部216は、LUIDが未取得IDと一致し、かつ、作成者がクライアントIDと一致するサーバレコードをサーバデータベース21から検索し(S3321)、マッチするサーバレコードが存在する場合(S3322:YES)、サーバレコードのGUIDをGとし(S3323)、サーバレコードの更新時点をTとし(S3324)、ステータスを「存在」とする(S3325)。
一方、未取得IDにマッチするサーバレコードが存在しない場合(S3322:NO)、同期情報送信部216は、GUID生成部210生成する新たなGUIDをGとし(S3326)、時点生成部211が生成する新たな時点をTとし(S3327)、ステータスを「不存在」とする(S3328)。
同期情報送信部216は、LUID、G、Tおよびステータスを含む割当情報を同期情報42に追加する(S3329)。
以上の処理が各未取得IDについて繰り返され、未取得IDに対応するGUIDが割当情報として同期情報42に設定される。
変更取得部215は、変更履歴にGUIDが設定されている場合(S3341:NO)、変更履歴のGUIDに対応するサーバレコードをサーバデータベース21から検索し(S3342)、対応するサーバレコードが存在しなければ(S3343:NO)、GUIDおよび「真」の削除フラグを含む変更特徴情報を作成して同期情報42に追加する(S3344)。
変更履歴のGUIDに対応するサーバレコードが存在する場合(S3343:YES)、変更取得部215は、変更履歴の更新時点と検索したサーバレコードの更新時点とが一致するか否かを判定し(S3345)、更新時点が一致しなければ(S3345:NO)、サーバレコードのGUID、更新時点、ヒントおよびキー、並びに「偽」の削除フラグを含む変更特徴情報を作成して同期情報42に追加する(S3346)。
一方、更新時点が一致した場合(S3345:YES)、変更履歴の変更種別が「削除」であれば(S3347:YES)、GUIDに対応するサーバレコードをサーバデータベース21から削除する(S3348)。変更種別が「削除」でなければ(S3347:NO)、変更取得部215は、変更履歴に含まれるキーと一致するサーバレコードをサーバデータベース21から検索し(S3349)、キーと一致するサーバレコードがあれば(S3350:YES)、サーバレコードのGUID、更新時点、ヒントおよびキー並びに「偽」の削除フラグを含む変更特徴情報を作成して同期情報42に追加する(S3351)。
以上の処理を同期要求42に含まれる各変更履歴について行うことにより、衝突または重複したデータについての変更特徴情報が同期情報42に追加されることになる。
図41は、第2の実施形態に係るステップS35における同期情報42への対応処理の流れを示す図である。第2の実施形態では、上述した図19の処理の前に、図42に示すGUIDの割当処理(S3500)を実行する。
更新処理部120は、LUIDに対応するクライアントレコードのGUIDに、割当情報のGUIDを設定する(S3521)。更新処理部120は、割当情報に含まれるステータスが「存在」であった場合(LUIDに対応するGUIDがサーバデータベース21に既に登録されていた場合)には(S3522)、LUIDに対応するクライアントレコードの更新時点に、割当情報の更新時点を設定する(S3523)。
更新処理部120は、変更種別が「追加」であり、かつ、割当情報のLUIDに対応するクライアント変更履歴をクライアント変更履歴記憶部133から削除する(S3524)。また、更新処理部120は、割当情報のLUIDを未取得ID記憶部134から削除する(S3525)。
以上の処理が各割当情報について行われることで、未取得IDに対応するGUIDが登録される。
図43は、第2の実施形態に係るステップS39におけるダウンロード情報44への対応処理の流れを示す図である。第2の実施形態では、上述した図21の処理のステップS3901を実行した後、ステップS3902に変えて、ステップS3903〜S3908を実行する。
更新処理部120は、ダウンロード情報44に含まれている取得ダウンロード情報のうち、取得ダウンロード情報のGUIDに対応するクライアント変更履歴がクライアント変更履歴記憶部133に記憶されていないものを抽出し(S3903)、抽出した取得ダウンロード情報のそれぞれについて、上述した図22に示す適用処理を行う(S3904)。すなわち、取得ダウンロード情報に含まれる削除フラグが「真」であれば(S3921:YES)、削除処理部114は、取得ダウンロード情報に含まれるGUIDに対応するクライアントレコードをクライアントデータベース11から削除し(S3922)、削除フラグが「偽」であれば(S3921:NO)、更新処理部120は、取得ダウンロード情報に含まれているGUID、キー、カラム、ヒントおよび本体と、「偽」の更新可能性フラグおよび「偽」の削除可能性フラグとを含むクライアントレコードをクライアントデータベース11に登録する(S3923)。
次に、解消要求送信部122は、クライアントID記憶部131に記憶されているクライアントIDを設定した解消要求45を作成する(S3905)。更新処理部120は、ダウンロード情報44に含まれる取得ダウンロード情報のうち、取得ダウンロード情報のGUIDに対応するクライアント変更履歴がクライアント変更履歴記憶部133に記憶されているものを抽出する(S3906)。解消処理部124は、図44に示す衝突解消処理を行い(S3907)、図45に示す重複解消処理を行う(S3908)。
解消処理部124は、取得ダウンロード情報に含まれるGUIDが衝突記憶部137に記憶されていれば(S3941)、当該GUIDに対応するクライアントレコードをクライアントデータベース11から読み出し(S3942)、読み出したクライアントレコードと取得ダウンロード情報とのいずれかを選択する(S3943)。解消処理部124は、例えば、クライアントレコードおよび取得ダウンロード情報のヒントを出力してユーザに選択させるようにすることができる。
解消処理部124は、クライアントレコードを選択した場合(S3944:YES)、クライアントレコードのLUID、GUID、更新時点、キー、カラム、ヒントおよび本体を含む解消情報を解消要求45に追加し(S3945)、取得ダウンロード情報を選択した場合には(S3944:NO)、取得ダウンロード情報のGUID、更新時点、カラム、ヒントおよび本体を含む解消情報を解消要求45に追加し(S3946)、クライアントレコードの更新時点、キー、カラム、ヒントおよび本体を、取得ダウンロード情報のものに変更するようにクライアントデータベース11を更新する(S3947)。解消処理部124は、衝突記憶部137から上記GUIDを削除する(S3948)。
解消処理部124は、取得ダウンロード情報に含まれるGUIDが重複記憶部136に記憶されていれば(S3961)、当該GUIDに対応するクライアントレコードをクライアントデータベース11から読み出し(S3962)、読み出したクライアントレコードと取得ダウンロード情報とのいずれかを選択する(S3963)。解消処理部124は、上述した衝突解消処理と同様に、例えば、クライアントレコードおよび取得ダウンロード情報のヒントを出力してユーザに選択させるようにすることができる。
解消処理部124は、クライアントレコードを選択した場合(S3964:YES)、クライアントレコードのLUID、GUID、更新時点、キー、カラム、ヒントおよび本体を含む解消情報を解消要求45に追加し(S3965)、取得ダウンロード情報を選択した場合には(S3964:NO)、取得ダウンロード情報のGUID、更新時点、カラム、ヒントおよび本体を含む解消情報を解消要求45に追加する(S3966)。解消処理部124は、取得ダウンロード情報のGUIDに対応するGUIDを重複記憶部136から読み出してGとし(S3967)、クライアントデータベース11からGUIDがGと一致するクライアントレコードを削除する(S3968)。
解消処理部124は、重複記憶部136から取得ダウンロード情報のGUIDに対応するレコードを削除し(S3969)、未検証記憶部135から取得ダウンロード情報のGUIDを削除する(S3970)。
図46は、上述した図36のステップS52においてサーバ20が実行する、解消要求45に対応する処理の流れを示す図である。
解消処理部221は、空の解消結果情報46を作成し(S5201)、解消要求45に含まれている解消情報のそれぞれについて、以下の処理を行う。
解消処理部221は、解消情報のGUIDが設定されていない場合には(S5202:YES)、新たに割り当てたGUIDと、解消情報に設定されているLUID、更新時点、キー、カラム、ヒントおよび本体とを設定したサーバレコードを作成してサーバデータベース21に登録し(S5203)、LUID、GUID、更新時点、「偽」の削除フラグ、および「成功」のステータスを含む結果情報を解消結果情報46に追加する(S5204)。
一方、解消情報にGUIDが設定されている場合(S5202:NO)、解消処理部221は、解消情報のGUIDに対応するサーバレコードをサーバデータベース21から検索し(S5205)、当該GUIDに対応するサーバレコードが存在しなければ(S5206:NO)、解消処理部221は、解消情報のGUIDと、「真」の削除フラグおよび「衝突」のステータスとを含む結果情報を解消結果情報46に追加する(S5207)。
上記GUIDに対応するサーバレコードが存在する場合(S5206:YES)、解消処理部221は、サーバレコードの更新時点と解消情報の更新時点とが一致しなければ(S5208:NO)、サーバレコードのGUIDおよび更新時点と、「偽」の削除フラグおよび「衝突」のステータスとを含む結果情報を解消結果情報46に追加する(S5209)。
解消処理部221は、更新時点が一致し(S5208:YES)、解消情報の削除フラグが「真」であれば(S5210:YES)、GUIDに対応するサーバレコードをサーバデータベース21から削除し(S5211)、削除フラグが「偽」であれば(S5210:NO)、解消処理部221は、サーバレコードに、解消情報の更新時点、キー、カラム、ヒントおよび本体を設定するようにサーバデータベース21を更新する(S5212)。
解消処理部221は、解消情報のLUID、GUID、更新時点および削除フラグと、「成功」のステータスとを含む結果情報を解消結果情報46に追加する(S5213)。また、解消処理部221は、解消情報のキーに一致するサーバレコードをサーバデータベース21から検索し(S5214)、一致するサーバレコードが存在する場合(S5215:YES)、検索したサーバレコードのGUIDおよび更新時点と、「偽」の削除フラグおよび「衝突」のステータスとを含む重複情報を解消結果情報46に追加する(S5216)。
以上の処理が各解消情報について行われる。
図47は、上述した図36のステップS54においてクライアント10が実行する、解消結果情報46に対応する処理の流れを示す図である。
解消処理部124は、空のダウンロード要求43を作成し(S5401)、解消結果情報46に含まれている結果情報のそれぞれについて、以下の処理を行う。
解消処理部124は、結果情報に含まれるLUIDが未取得ID記憶部134に登録されている場合には(S5402:YES)、当該LUIDに対応するクライアントレコードに、結果情報のGUIDを設定するようにクライアントデータベース11を更新し(S5403)、未取得ID記憶部134から当該LUIDを削除する(S5404)。
次に、ステータスが「衝突」であれば(S5405:YES)、解消処理部124は、結果情報のGUIDを衝突記憶部137に登録し(S5406)、ダウンロード決定部115は、当該結果情報のGUIDが示すデータをダウンロードするか否かを決定する(S5407)。ダウンロード決定部115は、例えば、衝突したデータはサーバ20を優先するものとして、自動的にダウンロードすることを決定してもよいし、クライアントデータを優先するものとして、ダウンロードしないことを決定してもよいし、ユーザにダウンロードするか否かを問い合わせるようにしてもよい。また、結果情報にキーやカラム、ヒントなどを含めるようにしておき、ダウンロード決定部115は、キーやカラム、ヒントなどが所定の条件を満たす場合にダウンロードすることを決定するようにしてもよい。ダウンロード決定部115は、ダウンロードすると決定した場合には(S5409:YES)、結果情報のGUIDを含む取得情報を生成してダウンロード要求43に設定する(S5410)。
一方、ステータスが「成功」である場合には(S5405:NO)、解消処理部124は、結果情報のGUIDに対応するクライアント変更履歴をクライアント変更履歴記憶部133から削除する(S5408)。
以上の処理を結果情報のそれぞれについて繰り返した後、ダウンロード決定部115は、解消結果情報46に含まれている重複情報のうち、対応するデータをダウンロードするものを決定し(S5411)、決定した重複情報のGUIDを含む取得情報を生成してダウンロード要求43に設定する(S5412)。なお、ダウンロード要求43に取得情報が設定されなかった場合には、上述した図36のステップS55〜S58の処理を省略するものとする。
このようにして、選択フィルタにマッチするクライアントレコードとサーバレコードとの同期が行われる。
なお、上述した実施形態では、データの作成時点や更新時点、削除時点などは、サーバデータベース21に対する変更の順番を表す値であるものとしたが、これに限らず、タイムスタンプを採用してもよい。この場合に、タイムスタンプの単位時間(例えば、ミリ秒、マイクロ秒など)が低く、同一のタイムスタンプに複数の変更が行われる得る場合には、タイムスタンプにデータの識別情報を連結したものを「時点」として採用するようにし、サーバ変更履歴記憶部231にサーバ変更履歴を登録するタイミングを少なくとも上記単位時間以上遅らせるようにするようにしてもよい。
11 クライアントデータベース
20 サーバ
21 サーバデータベース
30 通信ネットワーク
41 同期要求
42 同期情報
43 ダウンロード要求
44 ダウンロード情報
45 解消要求
46 解消結果情報
101 CPU
102 メモリ
103 記憶装置
104 通信インタフェース
105 入力装置
106 出力装置
110 クライアント変更検知部
111 フィルタ選択部
112 同期要求送信部
113 同期情報受信部
114 削除処理部
115 ダウンロード決定部
116 アンカー更新部
117 陳腐化情報取得部
118 ダウンロード要求送信部
119 ダウンロード情報受信部
120 更新処理部
121 衝突重複解消決定部
122 解消要求送信部
123 解消結果情報受信部
124 解消処理部
131 クライアントID記憶部
132 アンカー記憶部
133 クライアント変更履歴記憶部
134 未取得ID記憶部
135 未検証記憶部
136 重複記憶部
137 衝突記憶部
201 CPU
202 メモリ
203 記憶装置
204 通信インタフェース
205 入力装置
206 出力装置
210 GUID生成部
211 時点生成部
212 データベース変更部
213 同期要求受信部
214 変更履歴取得部
215 変更取得部
216 同期情報送信部
217 ダウンロード要求受信部
218 データ取得部
219 ダウンロード情報送信部
220 解消要求受信部
221 解消処理部
222 解消結果情報送信部
231 サーバ変更履歴記憶部
Claims (20)
- サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、
前記サーバは、更新時点を含むデータを記憶する第1データベースにアクセス可能であり、
前記クライアントは、前記サーバから取得したデータを記憶する第2データベースにアクセス可能であり、
前記クライアントは、前記サーバから最後に前記データを取得した時点であるアンカー時点を記憶するアンカー時点記憶部と、前記アンカー時点を含む同期要求を前記サーバに送信する同期要求送信部と、を備え、
前記サーバは、前記更新時点が前記アンカー時点よりも後の前記データである更新データを前記第1データベースから検索し、前記各更新データについて前記更新データを示すデータIDおよび前記更新データの前記更新時点を含む変更情報を生成する変更情報取得部と、前記変更情報を含む同期情報を前記クライアントに送信する同期情報送信部と、を備え、
前記クライアントは、前記変更情報に対応する前記データのうち、ダウンロードすべきものである取得データを決定するダウンロード決定部と、前記取得データを示すデータIDを含むダウンロード要求を前記サーバに送信するダウンロード要求送信部と、を備え、
前記サーバは、前記ダウンロード要求に含まれる前記データIDに対応する前記データを前記第1データベースから取得するデータ取得部と、前記取得したデータを含むダウンロード情報を前記クライアントに送信するダウンロード情報送信部と、を備え、
前記クライアントは、前記ダウンロード情報に含まれる前記データを前記第2データベースに登録する更新処理部を備えること、
を特徴とするデータ同期システム。 - 請求項1に記載のデータ同期システムであって、
前記ダウンロード決定部は、前記各変更情報について、前記変更情報に含まれる前記データIDに対応する前記データに含まれる前記更新時点を前記第2データベースから取得し、前記第2データベースから取得した前記更新時点が前記変更情報に含まれる前記更新時点よりも古い場合には、当該データをダウンロードすることを決定し、前記第2データベースから取得した前記更新時点が前記変更情報に含まれる前記更新時点よりも新しい場合には、ユーザからの設定に応じて、当該データをダウンロードするか否かを決定すること、
を特徴とするデータ同期システム。 - 請求項1に記載のデータ同期システムであって、
前記サーバは、前記第1データベースから削除された前記データを示す前記データIDおよび削除時点を含む変更履歴を記憶するサーバ変更履歴記憶部と、前記同期要求に含まれる前記アンカー時点よりも後の前記削除時点を含む前記変更履歴を前記サーバ変更履歴記憶部から取得する変更履歴取得部とを備え、
前記同期情報送信部は、前記変更履歴取得部が取得した前記変更履歴を前記同期情報にさらに含め、
前記クライアントは、前記同期情報に含まれる前記変更履歴に対応する前記データを前記第2データベースから削除する削除処理部を備えること、
を特徴とするデータ同期システム。 - 請求項1に記載のデータ同期システムであって、
前記サーバは、前記第1データベースから削除されたデータについて、前記削除されたデータを示すデータIDおよび削除時点を含む変更履歴を、前記削除時点の新しい順に所定数記憶するサーバ変更履歴記憶部を備え、
前記変更情報取得部は、前記アンカー時点より後の前記削除時点を含む前記変更履歴を前記サーバ変更履歴記憶部から取得し、
前記同期情報送信部は、前記変更情報に加えて、前記サーバ変更履歴記憶部が記憶している前記変更履歴に含まれる最も古い前記削除時点であるバウンダリ時点、および前記取得した変更履歴を前記同期情報に含めて前記クライアントに送信し、
前記クライアントは、
前記同期情報に含まれる前記変更履歴に対応する前記データを前記第2データベースから削除する削除処理部と、
前記アンカー時点が前記バウンダリ時点より前である場合に、前記第2データベースに記憶されている前記データのうち、前記データの前記更新時点が前記バウンダリ時点よりも前であり、かつ、前記データを示すデータIDを含む前記変更情報が前記同期情報に含まれていないものを検索し、前記検索した各データについて前記データを示すデータIDおよび前記データの前記更新時点を含む陳腐化情報を生成する陳腐化情報取得部と、
を備え、
前記ダウンロード要求送信部は、前記取得データIDに加えて、前記陳腐化情報を前記ダウンロード要求に含めて前記サーバに送信し、
前記データ取得部はさらに、前記ダウンロード要求に含まれる前記各陳腐化情報について、前記陳腐化情報に対応する前記データが前記第1データベースに記憶されているか否かを判定し、前記第1データベースに記憶されていないと判定した前記データを示す前記データIDを、削除されたデータを示す削除IDとして前記ダウンロード情報に含め、
前記削除処理部は、前記ダウンロード情報に含まれる前記削除IDに対応する前記データを前記第2データベースから削除すること、
を特徴とするデータ同期システム。 - 請求項1に記載のデータ同期システムであって、
前記クライアントは、前記同期情報に含まれている前記各変更情報について、前記変更情報に含まれる前記データIDに対応する前記データの前記更新時点を前記第2データベースから読み出し、前記読み出した更新時点が前記変更情報に含まれる前記更新時点よりも新しい場合に、前記データIDに対応する前記データを前記サーバにアップロードするか前記サーバからダウンロードするかを決定する衝突解消部を備え、
前記ダウンロード要求送信部は、前記衝突解消部がダウンロードすると決定した前記データを示す前記データIDをさらに含む前記ダウンロード要求を前記サーバに送信し、
前記クライアントは、前記衝突会勝負がアップロードすると決定した前記データを前記第2データベースから読み出し、読み出した前記データを含む解消要求を前記サーバに送信する解消要求送信部を備え、
前記サーバは、前記解消要求に含まれている前記データを前記第1データベースに登録する解消処理部を備えること、
を特徴とするデータ同期システム。 - サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、
前記サーバは、データに更新時点を付帯させて記憶する第1データベースにアクセス可能であり、前記クライアントは、前記サーバから取得したデータを記憶する第2データベースにアクセス可能であり、
前記サーバは、前記第1データベースに対するデータの変更履歴を新しい順に所定数のみ記憶するサーバ変更履歴記憶部を備え、
前記サーバ変更履歴記憶部が記憶する前記変更履歴であるサーバ変更履歴は、変更の対象となった前記データを示すデータIDと、当該データに付帯されている前記更新時点とを含み、
前記クライアントは、
前記サーバから最後に前記データを取得した時点であるアンカー時点を記憶するアンカー記憶部と、
前記データを取得するための条件および前記アンカー時点を含む同期要求を前記サーバに送信する同期要求送信部と、
前記サーバは、
前記サーバ変更履歴記憶部から、前記同期要求に含まれる前記条件にマッチする前記データに対応する前記サーバ変更履歴のうち、前記更新時点が前記アンカー時点より後のものを取得する変更履歴取得部と、
前記第1データベースから、前記同期要求に含まれる前記条件にマッチする前記データのうち、前記更新時点が前記アンカー時点より後であり、かつ前記サーバ変更履歴記憶部に記憶されている最も古い前記更新時点であるバウンダリ時点より前であるものを検索し、前記検索した各データについて、前記データを示す前記データIDおよび前記データに付帯される前記更新時点を含む変更情報を生成する変更情報取得部と、
前記バウンダリ時点、前記取得したサーバ変更履歴、および前記変更情報を含む同期情報を前記クライアントに送信する同期情報送信部と、
を備え、
前記クライアントは、
前記同期情報に含まれる前記サーバ変更履歴または前記変更情報に対応する前記データからダウンロードすべきものを決定するダウンロード決定部と、
前記第2データベースから、前記条件にマッチする前記データのうち、前記更新時点が前記アンカー時点から前記バウンダリ時点までの間であるものを検索し、前記検索した各データについて、前記データを示す前記データIDおよび前記データに付帯される前記更新時点を含む陳腐化情報を生成する陳腐化情報取得部と、
前記決定したデータを示す取得データIDおよび前記陳腐化情報を含むダウンロード要求を前記サーバに送信するダウンロード要求送信部と、
を備え、
前記サーバは、
前記ダウンロード要求に含まれる前記陳腐化情報に対応する前記データのうち、前記更新時点が前記陳腐化情報に含まれる前記更新時点よりも新しいものと、前記取得データIDに対応する前記データとを前記第1データベースから取得するデータ取得部と、
前記取得したデータを含むダウンロード情報を前記クライアントに送信するダウンロード情報送信部と、
を備え、
前記クライアントは、前記ダウンロード情報に含まれる前記データを前記第2データベースに登録する更新処理部を備えること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記サーバ変更履歴にはさらに、データの変更がデータの追加、更新または削除のいずれであったかを示す変更種別情報が含まれ、
前記クライアントが、前記同期情報の受信に応じて、前記同期情報に含まれる前記サーバ変更履歴のうち、前記変更種別情報が削除を示すものについて、前記サーバ変更履歴に含まれる前記データIDが示す前記データを前記第2データベースから削除する削除処理部を備えること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記データ取得部は、前記ダウンロード要求に含まれる前記陳腐化情報のうち、前記陳腐化情報に含まれる前記データIDに対応する前記データが前記第1データベースに登録されていないものについて、前記陳腐化情報に含まれる前記データIDを含む削除情報を前記ダウンロード情報に設定し、
前記クライアントは、前記ダウンロード情報に前記削除情報が含まれている場合に、前記削除情報に含まれる前記データIDに対応する前記データを前記第2データベースから削除する削除処理部を備えること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記データには、前記データの内容に基づいて生成される、前記条件に前記データがマッチするか否かを判定するための情報であるカラムがさらに付帯され、
前記サーバ変更履歴には、データの変更がデータの追加、更新または削除のいずれであったかを示す変更種別情報と、前記データに付帯される前記カラムとがさらに含まれ、
前記変更履歴取得部は、前記サーバ変更履歴のうち、前記カラムが前記同期要求に含まれる前記条件にマッチし、かつ前記更新時点が前記アンカー時点より後のものを取得し、
前記変更情報取得部は、前記第1データベースに記憶されている前記データのうち、前記データに付帯される前記カラムが前記同期要求に含まれる前記条件にマッチするとともに、前記更新時点が前記アンカー時点より後であり、かつ前記バウンダリ時点より前であるものを検索し、前記検索した各データについて、前記データを示す前記データID、前記データに付帯される前記更新時点、および前記データに含まれる前記カラムを前記変更情報に設定し、
前記陳腐化情報取得部は、前記第2データベースに記憶されるデータのうち、前記カラムが前記条件にマッチし、かつ前記更新時点が前記アンカー時点から前記バウンダリ時点までの間であるものを検索すること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記データには、前記データの内容に基づいて生成される、前記クライアントにおいて前記データをダウンロードすべきか否かを決定するための情報であるヒントがさらに付帯され、
前記サーバ変更履歴には、データの変更がデータの追加、更新または削除のいずれであったかを示す変更種別情報と、前記データの付帯される前記ヒントとがさらに含まれ、
前記変更情報取得部は、前記検索した各データについて、前記データに付帯される前記ヒントをさらに前記変更情報に含め、
前記ダウンロード決定部は、前記サーバ変更履歴または前記変更情報に含まれる前記ヒントに基づいて前記ダウンロードすべきデータを決定すること、
を特徴とするデータ同期システム。 - 請求項10に記載のデータ同期システムであって、
前記ダウンロード決定部は、前記サーバ変更履歴または前記変更情報に含まれる前記ヒントを出力し、ユーザが選択した前記出力したヒントに対応する前記データを、前記ダウンロードすべきデータとして決定すること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記データには前記更新時点が付帯され、
前記サーバは、前記第1データベースに対する操作が行われるごとに大きくなる数値を前記更新時点として生成する時点生成部を備え、
前記第1データベースに書き込まれる際に、前記データには前記時点生成部が生成した前記更新時点が付帯されること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記データには前記更新時点が付帯され、
前記サーバは、前記第1データベースに対する操作が行われる際に、前記サーバにおけるタイムスタンプを取得し、前記取得したタイムスタンプに、前記データの識別情報を連結した値を前記更新時点として生成する時点生成部を備え、
前記第1データベースに書き込まれる際に、前記データには前記時点生成部が生成した前記更新時点が付帯されること、
を特徴とするデータ同期システム。 - 請求項6に記載のデータ同期システムであって、
前記クライアントは、前記第2データベースにおけるデータの変更履歴を記憶するクライアント変更履歴記憶部を備え、
前記クライアント変更履歴記憶部が記憶する前記変更履歴であるクライアント変更履歴は、変更の対象となった前記データを示す前記データIDと、前記データに付帯されている前記更新時点とを含み、
前記同期要求送信部は、前記条件にマッチする前記データに対応する前記クライアント変更履歴を前記クライアント変更履歴記憶部から取得し、前記取得したクライアント変更履歴を前記同期要求に設定して前記サーバに送信し、
前記サーバは、前記同期要求に含まれる前記クライアント変更履歴のそれぞれについて、前記クライアント変更履歴に含まれる前記データIDに対応する、前記第1データベースが記憶する前記データに付帯されている前記更新時点が、前記クライアント変更履歴に含まれている前記更新時点よりも後である場合、前記第1データベースが記憶する前記データに付帯される前記更新時点および前記データIDを含む衝突情報を生成する衝突検知部を備え、
前記同期情報送信部は、前記衝突情報をさらに含む前記同期情報を前記クライアントに送信し、
前記クライアントは、前記衝突情報に含まれる前記データIDに対応する前記データを、前記サーバにアップロードするか前記サーバからダウンロードするかを決定する衝突解消部を備え、
前記ダウンロード要求送信部は、前記衝突解消部がダウンロードすると決定した前記データを示す前記データIDをさらに含む前記ダウンロード要求を前記サーバに送信し、
前記クライアントは、前記衝突解消部がアップロードすると決定した前記データを前記第2データベースから読み出し、読み出した前記データを含む解消要求を前記サーバに送信する解消要求送信部を備え、
前記サーバは、前記解消要求に含まれている前記データを前記第1データベースに登録する解消処理部を備えること、
を特徴とするデータ同期システム。 - 請求項14に記載のデータ同期システムであって、
前記データにはさらに、前記データに所定のアルゴリズムを適用して求められるデータであるキーが付帯され、
前記サーバ変更履歴および前記クライアント変更履歴にはそれぞれ前記キーが含まれ、
前記サーバは、前記第1データベースに記憶されている前記データのうち、前記キーが前記同期要求に含まれる前記クライアント変更履歴のいずれかに含まれる前記キーと一致するものを検索し、前記検索したデータを示す前記データIDを含む重複情報を生成する重複検知部を備え、
前記同期情報送信部は、前記重複情報をさらに含む前記同期情報を前記クライアントに送信し、
前記クライアントは、前記重複情報に含まれる前記データIDに対応する前記データのうち、削除すべきものを決定する重複解消部を備え、
前記解消要求送信部は、前記重複解消部が削除すべきと決定した前記データを示す前記データIDを含む解消情報をさらに前記解消要求に含めて前記サーバに送信し、
前記解消処理部はさらに、前記解消要求に含まれる前記解消情報に含まれる前記データIDに対応する前記データを前記第1データベースから削除すること、
を特徴とするデータ同期システム。 - 請求項14に記載のデータ同期システムであって、
前記データには前記データIDが付帯されており、
前記データIDには、前記クライアントにおいて一意な識別情報であるローカルIDと、前記サーバおよび前記クライアントの両方において一意な識別情報であるグローバルIDとが含まれ、
前記クライアントは、
前記クライアントにおいて前記データが作成された場合に、前記作成されたデータに前記ローカルIDを割り当てるローカルID割当部と、
前記作成されたデータに割り当てられた前記ローカルIDのうち、前記グローバルIDが割り当てられていないものである未取得IDを記憶する未取得ID記憶部と、
を備え、
前記同期要求送信部はさらに、前記未取得ID記憶部に記憶されている前記未取得IDを含めて前記同期要求を前記サーバに送信し、
前記サーバは、前記同期要求に含まれている前記未取得IDに対応する前記グローバルIDを前記第1データベースから検索し、前記未取得IDに対応する前記グローバルIDがある場合には、当該対応するグローバルIDを前記第1データベースから取得し、前記取得したグローバルIDおよび前記未取得IDを含むID情報を生成し、前記ローカルIDに対応する前記グローバルIDがない場合には、新たに前記グローバルIDを割り当て、前記割り当てたグローバルIDおよび前記ローカルIDを含むID情報を生成するグローバルID取得部を備え、
前記同期情報送信部はさらに、前記ID情報を含めて前記同期情報を前記クライアントに送信し、
前記クライアントは、前記同期情報に含まれている前記ID情報のそれぞれについて、前記ID情報に含まれる前記未取得IDに対応する前記データを前記第1データベースから検索し、前記検索したデータに付帯される前記データIDに、前記ID情報に含まれる前記グローバルIDを設定するグローバルID登録部を備えること、
を特徴とするデータ同期システム。 - サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、
前記サーバは、更新時点を含むデータを記憶する第1データベースにアクセス可能であり、前記クライアントは、前記サーバから取得したデータを記憶する第2データベースにアクセス可能であり、
前記クライアントは、前記サーバから最後に前記データを取得した時点であるアンカー時点を記憶し、前記アンカー時点を含む同期要求を前記サーバに送信し、
前記サーバは、前記更新時点が前記アンカー時点よりも後の前記データである更新データを前記第1データベースから検索し、前記各更新データについて前記更新データを示すデータIDおよび前記更新データの前記更新時点を含む変更情報を生成し、前記変更情報を含む同期情報を前記クライアントに送信し、
前記クライアントは、前記変更情報に対応する前記データのうち、ダウンロードすべきものである取得データを決定し、前記取得データを示すデータIDを含むダウンロード要求を前記サーバに送信し、
前記サーバは、前記ダウンロード要求に含まれる前記データIDに対応する前記データを前記第1データベースから取得し、前記取得したデータを含むダウンロード情報を前記クライアントに送信し、
前記クライアントは、前記ダウンロード情報に含まれる前記データを前記第2データベースに登録すること、
を特徴とするデータ同期方法。 - 請求項17に記載のデータ同期方法であって、
前記クライアントは、前記同期情報に含まれている前記各変更情報について、前記変更情報に含まれる前記データIDに対応する前記データの前記更新時点を前記第2データベースから読み出し、前記読み出した更新時点が前記変更情報に含まれる前記更新時点よりも新しい場合に、前記データIDに対応する前記データを前記サーバにアップロードするか前記サーバからダウンロードするかを決定し、
前記クライアントは、ダウンロードすると決定した前記データを示す前記データIDをさらに含む前記ダウンロード要求を前記サーバに送信し、
前記クライアントは、アップロードすると決定した前記データを前記第2データベースから読み出し、読み出した前記データを含む解消要求を前記サーバに送信し、
前記サーバは、前記解消要求に含まれている前記データを前記第1データベースに登録すること、
を特徴とするデータ同期方法。 - サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、
前記サーバは、データに更新時点を付帯させて記憶する第1データベースにアクセス可能であり、前記クライアントは、前記サーバから取得したデータを記憶する第2データベースにアクセス可能であり、
前記サーバは、前記第1データベースに対するデータの変更履歴を新しい順に所定数のみ記憶しており、
前記サーバが記憶する前記変更履歴であるサーバ変更履歴は、変更の対象となった前記データを示すデータIDと、当該データに付帯されている前記更新時点とを含み、
前記クライアントが、前記サーバから最後に前記データを取得した時点であるアンカー時点を記憶し、
前記クライアントが、前記データを取得するための条件および前記アンカー時点を含む同期要求を前記サーバに送信し、
前記サーバが、前記同期要求に含まれる前記条件にマッチする前記データに対応する前記サーバ変更履歴のうち、前記更新時点が前記アンカー時点より後のものを取得し、
前記サーバが、前記第1データベースから、前記同期要求に含まれる前記条件にマッチする前記データのうち、前記更新時点が前記アンカー時点より後であり、かつ前記サーバが記憶している前記サーバ変更履歴の前記更新時点のうち最も古いものであるバウンダリ時点より前である前記データを検索し、前記検索した各データについて、前記データを示す前記データIDおよび前記データに付帯される前記更新時点を含む変更情報を生成し、
前記サーバが、前記バウンダリ時点、前記取得したサーバ変更履歴、および前記変更情報を含む同期情報を前記クライアントに送信し、
前記クライアントが、前記同期情報に含まれる前記サーバ変更履歴または前記変更情報に対応する前記データからダウンロードすべきものを決定し、
前記クライアントが、前記第2データベースから、前記条件にマッチする前記データのうち、前記更新時点が前記アンカー時点から前記バウンダリ時点までの間であるものを検索し、前記検索した各データについて、前記データを示す前記データIDおよび前記データに付帯される前記更新時点を含む陳腐化情報を生成し、
前記クライアントが、前記決定したデータを示す取得データIDおよび前記陳腐化情報を含むダウンロード要求を前記サーバに送信し、
前記サーバが、前記ダウンロード要求に含まれる前記陳腐化情報に対応する前記データのうち、前記更新時点が前記陳腐化情報に含まれる前記更新時点よりも新しいものと、前記取得データIDに対応する前記データとを前記第1データベースから取得し、
前記サーバが、前記取得したデータを含むダウンロード情報を前記クライアントに送信し、
前記クライアントが、前記ダウンロード情報に含まれる前記データを前記第2データベースに登録すること、
を特徴とするデータ同期方法。 - 請求項19に記載のデータ同期方法であって、
前記クライアントは、前記第2データベースにおけるデータの変更履歴を記憶しており、
前記クライアントが記憶する前記変更履歴であるクライアント変更履歴は、変更の対象となった前記データを示す前記データIDと、前記データに付帯されている前記更新時点とを含み、
前記クライアントは、前記条件にマッチする前記データに対応する前記クライアント変更履歴を取得し、前記取得したクライアント変更履歴を前記同期要求に設定して前記サーバに送信し、
前記サーバは、前記同期要求に含まれる前記クライアント変更履歴のそれぞれについて、前記クライアント変更履歴に含まれる前記データIDに対応する、前記第1データベースが記憶する前記データに付帯されている前記更新時点が、前記クライアント変更履歴に含まれている前記更新時点よりも後である場合、前記第1データベースが記憶する前記データに付帯される前記更新時点および前記データIDを含む衝突情報を生成し、
前記サーバは、前記衝突情報をさらに含む前記同期情報を前記クライアントに送信し、
前記クライアントは、前記衝突情報に含まれる前記データIDに対応する前記データを、前記サーバにアップロードするか前記サーバからダウンロードするかを決定し、
前記クライアントは、前記ダウンロードすると決定したデータを示す前記データIDをさらに含む前記ダウンロード要求を前記サーバに送信し、
前記クライアントは、前記アップロードすると決定したデータを前記第2データベースから読み出し、読み出した前記データを含む解消要求を前記サーバに送信し、
前記サーバは、前記解消要求に含まれている前記データを前記第1データベースに登録すること、
を特徴とするデータ同期方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009204686A JP5061166B2 (ja) | 2009-09-04 | 2009-09-04 | データ同期システムおよびデータ同期方法 |
PCT/JP2010/063623 WO2011027654A1 (ja) | 2009-09-04 | 2010-08-11 | データ同期システムおよびデータ同期方法 |
CN201080039401.8A CN102483715B (zh) | 2009-09-04 | 2010-08-11 | 数据同步系统以及数据同步方法 |
EP10813605.2A EP2474911B1 (en) | 2009-09-04 | 2010-08-11 | Data synchronization system and data synchronization method |
KR1020127007751A KR101569562B1 (ko) | 2009-09-04 | 2010-08-11 | 데이터 동기 시스템 및 데이터 동기 방법 |
US13/390,431 US8775374B2 (en) | 2009-09-04 | 2010-08-11 | Data synchronization system and data synchronization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009204686A JP5061166B2 (ja) | 2009-09-04 | 2009-09-04 | データ同期システムおよびデータ同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011054092A JP2011054092A (ja) | 2011-03-17 |
JP5061166B2 true JP5061166B2 (ja) | 2012-10-31 |
Family
ID=43649199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009204686A Expired - Fee Related JP5061166B2 (ja) | 2009-09-04 | 2009-09-04 | データ同期システムおよびデータ同期方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8775374B2 (ja) |
EP (1) | EP2474911B1 (ja) |
JP (1) | JP5061166B2 (ja) |
KR (1) | KR101569562B1 (ja) |
WO (1) | WO2011027654A1 (ja) |
Families Citing this family (193)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924344B2 (en) * | 2007-11-28 | 2014-12-30 | Microsoft Corporation | User profile replication |
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
JP2011221583A (ja) * | 2010-04-02 | 2011-11-04 | Seiko Epson Corp | コンテンツ提供システム、情報処理装置、コンテンツ提供方法、プログラムおよびコンピューター読み取り可能な記録媒体 |
US20120117105A1 (en) * | 2010-11-05 | 2012-05-10 | Apple Inc. | Collaborative Database Operations |
US8707022B2 (en) * | 2011-04-05 | 2014-04-22 | Apple Inc. | Apparatus and methods for distributing and storing electronic access clients |
JP5656722B2 (ja) * | 2011-04-11 | 2015-01-21 | Kii株式会社 | データ同期装置、データ同期システム、データ同期方法及びプログラム |
US9225792B2 (en) * | 2011-07-12 | 2015-12-29 | Alcatel Lucent | System and method for caching mobile services database objects |
US8682868B2 (en) * | 2011-12-02 | 2014-03-25 | International Business Machines Corporation | Removal of data remanence in deduplicated storage clouds |
JP5890674B2 (ja) * | 2011-12-07 | 2016-03-22 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
CN102571923A (zh) * | 2011-12-13 | 2012-07-11 | 中国电子科技集团公司第十五研究所 | 数据同步系统及方法 |
US8601121B2 (en) * | 2012-01-09 | 2013-12-03 | International Business Machines Corporation | Tracking changes to data within various data repositories |
KR102039028B1 (ko) | 2012-02-24 | 2019-10-31 | 삼성전자 주식회사 | 휴대단말기의 데이터 공유 장치 및 방법 |
SG194245A1 (en) * | 2012-04-17 | 2013-11-29 | ZingMobile Pte Ltd | A method for real-time synchronization between a device and host servers |
JP5928162B2 (ja) * | 2012-05-31 | 2016-06-01 | 村田機械株式会社 | 画像データ処理装置、画像データ処理方法、画像データ処理プログラム、それを格納した記録媒体、および画像データ処理システム |
US8892523B2 (en) * | 2012-06-08 | 2014-11-18 | Commvault Systems, Inc. | Auto summarization of content |
US9858288B2 (en) | 2012-08-03 | 2018-01-02 | Egnyte, Inc. | System and method for event-based synchronization of remote and local file systems |
JP6086124B2 (ja) * | 2012-10-25 | 2017-03-01 | 富士通株式会社 | 情報処理端末、同期制御方法および同期制御プログラム |
US9280546B2 (en) | 2012-10-31 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for accessing digital content using a location-independent name |
US9400800B2 (en) | 2012-11-19 | 2016-07-26 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
US10430839B2 (en) | 2012-12-12 | 2019-10-01 | Cisco Technology, Inc. | Distributed advertisement insertion in content-centric networks |
US9253075B2 (en) * | 2012-12-19 | 2016-02-02 | Palo Alto Research Center Incorporated | Dynamic routing protocols using database synchronization |
US9978025B2 (en) | 2013-03-20 | 2018-05-22 | Cisco Technology, Inc. | Ordered-element naming for name-based packet forwarding |
US9935791B2 (en) | 2013-05-20 | 2018-04-03 | Cisco Technology, Inc. | Method and system for name resolution across heterogeneous architectures |
US9185120B2 (en) | 2013-05-23 | 2015-11-10 | Palo Alto Research Center Incorporated | Method and system for mitigating interest flooding attacks in content-centric networks |
KR20150004200A (ko) * | 2013-07-02 | 2015-01-12 | 한국전자통신연구원 | 데이터 복제 방법 및 장치 |
JP6136694B2 (ja) * | 2013-07-19 | 2017-05-31 | 富士通株式会社 | データ管理プログラム、データ管理装置およびデータ管理方法 |
US9444722B2 (en) | 2013-08-01 | 2016-09-13 | Palo Alto Research Center Incorporated | Method and apparatus for configuring routing paths in a custodian-based routing architecture |
US9407549B2 (en) | 2013-10-29 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers |
US9282050B2 (en) | 2013-10-30 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for minimum path MTU discovery in content centric networks |
US9276840B2 (en) | 2013-10-30 | 2016-03-01 | Palo Alto Research Center Incorporated | Interest messages with a payload for a named data network |
US9401864B2 (en) | 2013-10-31 | 2016-07-26 | Palo Alto Research Center Incorporated | Express header for packets with hierarchically structured variable-length identifiers |
US9311377B2 (en) | 2013-11-13 | 2016-04-12 | Palo Alto Research Center Incorporated | Method and apparatus for performing server handoff in a name-based content distribution system |
US10129365B2 (en) | 2013-11-13 | 2018-11-13 | Cisco Technology, Inc. | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US10101801B2 (en) | 2013-11-13 | 2018-10-16 | Cisco Technology, Inc. | Method and apparatus for prefetching content in a data stream |
US10089655B2 (en) | 2013-11-27 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for scalable data broadcasting |
US9503358B2 (en) | 2013-12-05 | 2016-11-22 | Palo Alto Research Center Incorporated | Distance-based routing in an information-centric network |
US9544373B2 (en) | 2013-12-24 | 2017-01-10 | Dropbox, Inc. | Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections |
US10067652B2 (en) | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
US9379979B2 (en) | 2014-01-14 | 2016-06-28 | Palo Alto Research Center Incorporated | Method and apparatus for establishing a virtual interface for a set of mutual-listener devices |
US10172068B2 (en) | 2014-01-22 | 2019-01-01 | Cisco Technology, Inc. | Service-oriented routing in software-defined MANETs |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9374304B2 (en) | 2014-01-24 | 2016-06-21 | Palo Alto Research Center Incorporated | End-to end route tracing over a named-data network |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9531679B2 (en) | 2014-02-06 | 2016-12-27 | Palo Alto Research Center Incorporated | Content-based transport security for distributed producers |
US9678998B2 (en) | 2014-02-28 | 2017-06-13 | Cisco Technology, Inc. | Content name resolution for information centric networking |
CN103873567B (zh) * | 2014-03-03 | 2018-09-04 | 北京智谷睿拓技术服务有限公司 | 基于任务的数据传输方法及数据传输装置 |
US10089651B2 (en) | 2014-03-03 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for streaming advertisements in a scalable data broadcasting system |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9391896B2 (en) | 2014-03-10 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network |
US9473405B2 (en) | 2014-03-10 | 2016-10-18 | Palo Alto Research Center Incorporated | Concurrent hashes and sub-hashes on data streams |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9407432B2 (en) | 2014-03-19 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for efficient and secure distribution of digital content |
US9916601B2 (en) | 2014-03-21 | 2018-03-13 | Cisco Technology, Inc. | Marketplace for presenting advertisements in a scalable data broadcasting system |
US9363179B2 (en) | 2014-03-26 | 2016-06-07 | Palo Alto Research Center Incorporated | Multi-publisher routing protocol for named data networks |
US20150280786A1 (en) * | 2014-03-31 | 2015-10-01 | Raveeshkumar Bhat | Near field communication based data transfer |
US9363086B2 (en) | 2014-03-31 | 2016-06-07 | Palo Alto Research Center Incorporated | Aggregate signing of data in content centric networking |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US20150286623A1 (en) * | 2014-04-02 | 2015-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for marking relevant updates to html 5 |
US9390289B2 (en) | 2014-04-07 | 2016-07-12 | Palo Alto Research Center Incorporated | Secure collection synchronization using matched network names |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US10075521B2 (en) | 2014-04-07 | 2018-09-11 | Cisco Technology, Inc. | Collection synchronization using equality matched network names |
US9451032B2 (en) | 2014-04-10 | 2016-09-20 | Palo Alto Research Center Incorporated | System and method for simple service discovery in content-centric networks |
US9203885B2 (en) | 2014-04-28 | 2015-12-01 | Palo Alto Research Center Incorporated | Method and apparatus for exchanging bidirectional streams over a content centric network |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9455835B2 (en) | 2014-05-23 | 2016-09-27 | Palo Alto Research Center Incorporated | System and method for circular link resolution with hash-based names in content-centric networks |
US9276751B2 (en) | 2014-05-28 | 2016-03-01 | Palo Alto Research Center Incorporated | System and method for circular link resolution with computable hash-based names in content-centric networks |
US9516144B2 (en) | 2014-06-19 | 2016-12-06 | Palo Alto Research Center Incorporated | Cut-through forwarding of CCNx message fragments with IP encapsulation |
US9537719B2 (en) | 2014-06-19 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and apparatus for deploying a minimal-cost CCN topology |
US9467377B2 (en) | 2014-06-19 | 2016-10-11 | Palo Alto Research Center Incorporated | Associating consumer states with interests in a content-centric network |
US10521417B2 (en) * | 2014-06-24 | 2019-12-31 | Google Llc | Processing mutations for a remote database |
US9426113B2 (en) | 2014-06-30 | 2016-08-23 | Palo Alto Research Center Incorporated | System and method for managing devices over a content centric network |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9959156B2 (en) | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9535968B2 (en) | 2014-07-21 | 2017-01-03 | Palo Alto Research Center Incorporated | System for distributing nameless objects using self-certifying names |
WO2016014592A1 (en) | 2014-07-21 | 2016-01-28 | Egnyte, Inc. | System and method for policy based synchronization of remote and local file systems |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9503365B2 (en) | 2014-08-11 | 2016-11-22 | Palo Alto Research Center Incorporated | Reputation-based instruction processing over an information centric network |
JP6442915B2 (ja) * | 2014-08-15 | 2018-12-26 | 富士ゼロックス株式会社 | 通信端末、通信システム及びプログラム |
US9391777B2 (en) | 2014-08-15 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for performing key resolution over a content centric network |
US9467492B2 (en) | 2014-08-19 | 2016-10-11 | Palo Alto Research Center Incorporated | System and method for reconstructable all-in-one content stream |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US9497282B2 (en) | 2014-08-27 | 2016-11-15 | Palo Alto Research Center Incorporated | Network coding for content-centric network |
US10204013B2 (en) | 2014-09-03 | 2019-02-12 | Cisco Technology, Inc. | System and method for maintaining a distributed and fault-tolerant state over an information centric network |
US9553812B2 (en) | 2014-09-09 | 2017-01-24 | Palo Alto Research Center Incorporated | Interest keep alives at intermediate routers in a CCN |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9536059B2 (en) | 2014-12-15 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and system for verifying renamed content using manifests in a content centric network |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US9846881B2 (en) | 2014-12-19 | 2017-12-19 | Palo Alto Research Center Incorporated | Frugal user engagement help systems |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9473475B2 (en) | 2014-12-22 | 2016-10-18 | Palo Alto Research Center Incorporated | Low-cost authenticated signing delegation in content centric networking |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9602596B2 (en) | 2015-01-12 | 2017-03-21 | Cisco Systems, Inc. | Peer-to-peer sharing in a content centric network |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9462006B2 (en) | 2015-01-21 | 2016-10-04 | Palo Alto Research Center Incorporated | Network-layer application-specific trust model |
US9552493B2 (en) | 2015-02-03 | 2017-01-24 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
EP3070619B1 (en) * | 2015-03-16 | 2023-08-16 | Canon Kabushiki Kaisha | Information processing apparatuses performing synchronization of data and data synchronization methods |
JP6611594B2 (ja) * | 2015-03-16 | 2019-11-27 | キヤノン株式会社 | データの同期を行う情報処理装置、データ同期方法およびプログラム |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US9258415B1 (en) * | 2015-03-30 | 2016-02-09 | Captioncall, Llc | Communication device and related methods for offline data record modification and synchronization with a backend server associated with a relay service for hearing-impaired users |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
CN106155925A (zh) * | 2015-04-09 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种获取数据的方法及装置 |
US10437789B2 (en) | 2015-04-10 | 2019-10-08 | Egnyte, Inc. | System and method for delete fencing during synchronization of remote and local file systems |
US11144510B2 (en) | 2015-06-11 | 2021-10-12 | Egnyte, Inc. | System and method for synchronizing file systems with large namespaces |
US10116605B2 (en) | 2015-06-22 | 2018-10-30 | Cisco Technology, Inc. | Transport stack name scheme and identity management |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US20170031960A1 (en) * | 2015-07-31 | 2017-02-02 | Panasonic Intellectual Property Management Co., Ltd. | Information recording device and data erasing method |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US10610144B2 (en) | 2015-08-19 | 2020-04-07 | Palo Alto Research Center Incorporated | Interactive remote patient monitoring and condition management intervention system |
JP6727775B2 (ja) * | 2015-08-31 | 2020-07-22 | キヤノン株式会社 | サーバ装置、制御システム、制御方法、及び、プログラム |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9794238B2 (en) | 2015-10-29 | 2017-10-17 | Cisco Technology, Inc. | System for key exchange in a content centric network |
US9571573B1 (en) | 2015-10-29 | 2017-02-14 | Dropbox, Inc. | Peer-to-peer synchronization protocol for multi-premises hosting of digital content items |
US10009446B2 (en) | 2015-11-02 | 2018-06-26 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary learning |
US9807205B2 (en) | 2015-11-02 | 2017-10-31 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary |
US10021222B2 (en) | 2015-11-04 | 2018-07-10 | Cisco Technology, Inc. | Bit-aligned header compression for CCN messages using dictionary |
US10097521B2 (en) | 2015-11-20 | 2018-10-09 | Cisco Technology, Inc. | Transparent encryption in a content centric network |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10078062B2 (en) | 2015-12-15 | 2018-09-18 | Palo Alto Research Center Incorporated | Device health estimation by combining contextual information with sensor data |
US20170177613A1 (en) * | 2015-12-22 | 2017-06-22 | Egnyte, Inc. | Event-Based User State Synchronization in a Cloud Storage System |
CN105577798B (zh) * | 2015-12-25 | 2019-03-05 | 北京奇虎科技有限公司 | 更新发布数据的方法及装置 |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US9949301B2 (en) | 2016-01-20 | 2018-04-17 | Palo Alto Research Center Incorporated | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10367879B2 (en) * | 2016-06-10 | 2019-07-30 | Apple Inc. | Download prioritization |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
CN106973099B (zh) * | 2017-03-28 | 2019-08-06 | Oppo广东移动通信有限公司 | 一种数据更新方法、装置及系统 |
US10606820B2 (en) | 2017-05-12 | 2020-03-31 | International Business Machines Corporation | Synchronizing data values by requesting updates |
US10614054B2 (en) | 2017-05-12 | 2020-04-07 | International Business Machines Corporation | Synchronizing data values by sending updates |
CN110309176B (zh) * | 2018-03-15 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和数据中转站 |
US10956078B2 (en) | 2018-03-27 | 2021-03-23 | EMC IP Holding Company LLC | Storage system with loopback replication process providing object-dependent slice assignment |
US10866969B2 (en) * | 2018-03-28 | 2020-12-15 | EMC IP Holding Company LLC | Storage system with loopback replication process providing unique identifiers for collision-free object pairing |
CN108667906A (zh) * | 2018-04-12 | 2018-10-16 | 广东汇泰龙科技有限公司 | 一种基于门锁显示屏含历史记录管理系统 |
CN110413684B (zh) * | 2018-04-25 | 2023-05-02 | 杭州海康存储科技有限公司 | 一种数据库同步方法、装置及系统 |
CN110691112A (zh) * | 2018-07-06 | 2020-01-14 | 优信拍(北京)信息科技有限公司 | 一种数据同步方法,装置及系统 |
CN110490636B (zh) * | 2019-07-15 | 2023-07-11 | 平安科技(深圳)有限公司 | 客户信息管理方法、装置、计算机可读存储介质及服务器 |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
CN111460014A (zh) * | 2020-03-02 | 2020-07-28 | 北京电信易通信息技术股份有限公司 | 一种基于警务数据库的第三方应用数据同步方法及系统 |
CN111400679A (zh) * | 2020-03-12 | 2020-07-10 | 厦门区块链云科技有限公司 | 一种基于区块链的可信云存储方法及系统 |
JP2021189569A (ja) * | 2020-05-26 | 2021-12-13 | 富士通株式会社 | データ更新プログラム、データ更新装置及びデータ更新方法 |
GB202110155D0 (en) | 2021-07-14 | 2021-08-25 | Graphcore Ltd | GSP trace unit |
GB202110147D0 (en) | 2021-07-14 | 2021-08-25 | Graphcore Ltd | time deterministic trace |
CN116881371B (zh) * | 2023-09-07 | 2023-11-14 | 北京逐风科技有限公司 | 数据同步方法、装置、设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564215B1 (en) * | 1999-12-16 | 2003-05-13 | International Business Machines Corporation | Update support in database content management |
JP3750504B2 (ja) * | 2000-08-09 | 2006-03-01 | セイコーエプソン株式会社 | データ更新方法および情報処理装置 |
AU2002303126A1 (en) * | 2001-03-16 | 2002-10-03 | Novell, Inc. | Client-server model for synchronization of files |
JP2004086800A (ja) * | 2002-08-29 | 2004-03-18 | Mitsubishi Electric Corp | データ同期システムおよびデータ同期方法 |
US20040044799A1 (en) | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
KR100728076B1 (ko) | 2002-09-03 | 2007-06-13 | 노키아 코포레이션 | 인터럽트된 동기화 프로세스의 처리를 제공하는 데이터를동기화하는 방법, 장치 및 시스템 |
US7035879B2 (en) * | 2002-12-26 | 2006-04-25 | Hon Hai Precision Ind. Co., Ltd. | System and method for synchronizing data of wireless devices |
KR100547896B1 (ko) * | 2004-03-05 | 2006-01-31 | 삼성전자주식회사 | 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법 |
KR100739729B1 (ko) | 2005-09-03 | 2007-07-13 | 삼성전자주식회사 | 디지털 방송 네트워크에서 서버와 클라이언트 간 epg정보를 동기화시키기 위한 방법 및 장치 |
GB0625643D0 (en) | 2006-12-21 | 2007-01-31 | Symbian Software Ltd | Sync field filtering |
US7721003B2 (en) * | 2007-02-02 | 2010-05-18 | International Business Machines Corporation | System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client |
CN100464308C (zh) | 2007-04-20 | 2009-02-25 | 北京搜狗科技发展有限公司 | 一种用户词库同步更新的方法和系统 |
-
2009
- 2009-09-04 JP JP2009204686A patent/JP5061166B2/ja not_active Expired - Fee Related
-
2010
- 2010-08-11 EP EP10813605.2A patent/EP2474911B1/en not_active Not-in-force
- 2010-08-11 KR KR1020127007751A patent/KR101569562B1/ko active IP Right Grant
- 2010-08-11 WO PCT/JP2010/063623 patent/WO2011027654A1/ja active Application Filing
- 2010-08-11 US US13/390,431 patent/US8775374B2/en active Active - Reinstated
Also Published As
Publication number | Publication date |
---|---|
US8775374B2 (en) | 2014-07-08 |
CN102483715A (zh) | 2012-05-30 |
EP2474911A4 (en) | 2014-12-03 |
KR20120049375A (ko) | 2012-05-16 |
EP2474911A1 (en) | 2012-07-11 |
US20120179653A1 (en) | 2012-07-12 |
JP2011054092A (ja) | 2011-03-17 |
WO2011027654A1 (ja) | 2011-03-10 |
EP2474911B1 (en) | 2017-06-21 |
KR101569562B1 (ko) | 2015-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5061166B2 (ja) | データ同期システムおよびデータ同期方法 | |
CN103026355B (zh) | 数据库管理系统 | |
JP4405812B2 (ja) | 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置 | |
US8620926B2 (en) | Using a hashing mechanism to select data entries in a directory for use with requested operations | |
CN112035420B (zh) | 数据共享方法、共享设备和系统 | |
CN109600410B (zh) | 数据存储系统以及方法 | |
US8326913B2 (en) | Method and system for service contract discovery | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN112148745B (zh) | 一种多HBase集群访问方法、装置及存储介质 | |
JP2013229042A (ja) | 装置へのコンテンツの分配を管理するシステムと方法 | |
JP5217376B2 (ja) | 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム | |
KR20130023490A (ko) | 애플리케이션 동기화 시스템 및 방법 | |
CN111147226B (zh) | 数据存储方法、装置及存储介质 | |
JP5634178B2 (ja) | データ同期システムおよびデータ同期方法 | |
CN106993026B (zh) | 一种ftp服务器新增文件检测下载方法及装置 | |
CN114153797A (zh) | 一种基于Ceph分布式对象存储检索方法及装置 | |
CN112291343B (zh) | 信息获取方法、装置及电子设备 | |
CN113836234A (zh) | 一种离线作业数据同步的方法、系统、设备和存储介质 | |
CN114528260A (zh) | 文件访问请求的处理方法、电子设备及计算机程序产品 | |
CN102483715B (zh) | 数据同步系统以及数据同步方法 | |
EP4195068A1 (en) | Storing and retrieving media recordings in an object store | |
CN107463670B (zh) | 数据存储、读取方法及装置 | |
KR100390590B1 (ko) | 메인메모리 데이터베이스 관리 시스템을 이용한데이터베이스 실시간 캐싱 및 일치 방법 | |
CN117234410A (zh) | 一种数据文件缓存处理方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120611 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20120611 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20120627 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120710 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120806 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5061166 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |