JP2012221317A - データ同期装置、データ同期システム、データ同期方法及びプログラム - Google Patents

データ同期装置、データ同期システム、データ同期方法及びプログラム Download PDF

Info

Publication number
JP2012221317A
JP2012221317A JP2011087683A JP2011087683A JP2012221317A JP 2012221317 A JP2012221317 A JP 2012221317A JP 2011087683 A JP2011087683 A JP 2011087683A JP 2011087683 A JP2011087683 A JP 2011087683A JP 2012221317 A JP2012221317 A JP 2012221317A
Authority
JP
Japan
Prior art keywords
data
server
synchronization
storage unit
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.)
Granted
Application number
JP2011087683A
Other languages
English (en)
Other versions
JP5656722B2 (ja
Inventor
Yoshiaki Araki
義明 荒木
Makoto Iguchi
誠 井口
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.)
KII Corp
Original Assignee
KII 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 KII Corp filed Critical KII Corp
Priority to JP2011087683A priority Critical patent/JP5656722B2/ja
Publication of JP2012221317A publication Critical patent/JP2012221317A/ja
Application granted granted Critical
Publication of JP5656722B2 publication Critical patent/JP5656722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】参照関係を有するデータの同期においてデータの可用性を高めることができるようにする。
【解決手段】同期データ記憶部には、タグデータ1と、タグデータ1を参照する画像データ2とが記憶される。同期処理部は、サーバからタグデータ1及び画像データ2を取得し、取得したタグデータ1及び画像データ2を同期データ記憶部に登録する。ヘッダ変更部は、タグデータ1の取得に失敗した場合に、画像データ2から参照ID412を削除するとともに、タグデータ1を示す不整合IDを画像データ2のヘッダ41に設定する。
【選択図】図2

Description

本発明は、データ同期装置、データ同期システム、データ同期方法及びプログラムに関する。
複数のコンピュータの間でデータの同期を取ることが行われている。例えば、携帯電話に記録されている写真や電話帳などのデータをサーバにも同期することにより、データのバックアップを行ったり、複数の機器の間でデータを共有したりされている。データが他のデータに依存をしているなお、データが他のデータを参照している場合があり、そのような場合には、データの関係性を壊さないように同期が行われる。例えば、第1のデータを参照している第2のデータを送信する場合には、第1のデータも送信するようにすることができる(特許文献1参照)。このような同期処理は通常アトミックに処理され、第1のデータの送信が失敗した場合には、第2のデータの送信が成功したか否かにかかわらず、同期処理全体としては失敗したものとされる。
特開2005−25362号公報
しかしながら、第1のデータの送信が失敗したことにより同期処理全体が失敗とされると、第2のデータの送信が成功していてもその第2のデータを利用することはできなくなってしまう。
本発明は、このような背景を鑑みてなされたものであり、参照関係を有するデータの同期においてデータの可用性を高めることのできる、データ同期装置、データ同期システム、データ同期方法及びプログラムを提供することを目的とする。
上記課題を解決するための本発明の主たる発明は、データを記憶するサーバとの間でデータを同期する装置であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、を備えることとする。
また、本発明のデータ同期装置では、前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得するようにしてもよい。
また、本発明のデータ同期装置は、取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定するようにしてもよい。
また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、前記クライアントは、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、を備え、前記サーバは、前記第1及び第2のデータを記憶するサーバデータ記憶部と、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、を備え、前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。
また、本発明のデータ同期システムでは、前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードするようにしてもよい。
また、本発明のデータ同期システムでは、前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除するようにしてもよい。
また、本発明のデータ同期システムでは、前記第1及び第2のデータには更新時点が設定され、前記クライアントは、前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードするようにしてもよい。
また、本発明のデータ同期システムでは、前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードするようにしてもよい。
また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定することとする。
また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。
また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期するためのプログラムであって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、を実行させることとする。
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
本発明によれば、参照関係を有するデータの同期においてデータの可用性を高めることができる。
本実施形態のデータ同期システムの全体構成を示す図である。 同期データ40の構成例を説明する図である。 クライアント10及びサーバ20に用いられる一般的なコンピュータ11のハードウェア構成例を示す図である。 クライアント10のソフトウェア構成例を示す図である。 同期データ記憶部131及び同期データ40の構成例を示す図である。 サーバ20のソフトウェア構成例を示す図である。 データ同期システムにおける同期処理の流れを説明する図である。 ダウンロード処理の流れを示す図である。 衝突の解消処理の流れを示す図である。 クライアント10による同期データ40の登録処理の流れを示す図である。 アップロード処理の流れを示す図である。 サーバ20による同期データ40の登録処理の流れを示す図である。 不整合解消処理の流れを示す図である。
==システム構成==
以下、本発明の一実施形態に係るデータ同期システムについて説明する。図1は、本実施形態のデータ同期システムの全体構成を示す図である。本実施形態のデータ同期システムは、クライアント10及びサーバ20を含んで構成される。クライアント10は、例えばテキストデータや画像データなど各種のデータを管理する、携帯電話やパーソナルコンピュータ、ワークステーション、PDA(Personal Digital Assistant)などである。サーバ20は、例えばクライアント10が記憶しているデータをバックアップしたり、複数のクライアント10間でデータを共有したりするために、クライアント10との間でデータを同期する、例えばパーソナルコンピュータやワークステーションなどである。クライアント10及びサーバ20は通信路30を介して互いに通信可能に接続される。通信路30は、例えばインターネットやLAN(Local Area Network)などであり、イーサネット(登録商標)や公衆電話回線、携帯電話回線、無線通信路などにより構成される。
クライアント10とサーバ20との間ではデータが同期される。クライアント10とサーバ20との間で同期されるデータは、そのデータに関係する他のデータへの参照が設定されることがある。例えば、ファイルがフォルダごとに管理されている場合、ファイルにはフォルダへの参照が設定され、フォルダが階層構造になっている場合には、下位のフォルダには上位のフォルダへの参照が設定される。画像にタグが設定されている場合、画像にはタグへの参照が設定され、また、リレーショナルデータベース管理システム(RDBMS)においてリレーションが定義されたテーブルのレコードには、他のテーブルのレコードへの参照が設定される。本実施形態のデータ同期システムは、このような参照関係を有するデータを同期することを想定する。
図2は、同期データ40の構成例を説明する図である。同期データ40は、ヘッダ部41及びボディ部42から構成され、ヘッダ部41には、当該同期データ40を特定するための情報(以下、「GUID411(Global Unique IDentification)」という。)が設定され、また当該同期データ40が参照する他の同期データ40を示す情報(以下、「参照ID412」という。)が設定可能である。本実施形態では、説明を簡単にするために、クライアント10とサーバ20との間で同期されるデータ(以下、「同期データ40」という。)は、画像を表示するための画像データと、画像に設定するタグを示すタグデータであるものとする。図2の例では、画像データ2のヘッダ部41には、タグデータ1を示す参照ID412が設定されている。タグデータ1と画像データ2との関係は1対多の関係であり、参照ID412は、画像データ2にのみ設定され、タグデータ1には設定されない。
本実施形態のデータ同期システムは、タグデータ1の同期が失敗しても、画像データ2の同期が成功した場合には、一時的に画像データ2からタグデータ1への参照を解除し、これにより画像データ2自体をユーザから利用可能にするものである。
以下、詳細について説明する。
==ハードウェア構成==
図3は、クライアント10及びサーバ20に用いられる一般的なコンピュータ11(情報処理装置)のハードウェア構成例を示す図である。コンピュータ11は、CPU101、メモリ102、記憶装置103、通信インタフェース104、入力装置105、出力装置106を備える。記憶装置103は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやフラッシュメモリなどである。CPU101は、記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより各種の機能を実現する。通信インタフェース104は、例えば通信路30へのインタフェースであり、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデム、無線通信路に接続するための無線通信機などである。入力装置105は、ユーザからデータの入力を受け付ける、例えばキーボードやマウス、タッチパネル、ボタン、ダイアル、マイクロフォンなどである。出力装置106は、ユーザに対してデータを出力する、例えばディスプレイやスピーカ、プリンタなどである。
==クライアント10==
図4は、クライアント10のソフトウェア構成例を示す図である。クライアント10は、同期処理部111、ヘッダ変更部112、タグデータ記憶131、アンカー記憶部132、ダウンロード失敗ID記憶部133、及びアップロード失敗ID記憶部134を備える。なお、同期処理部111、及びヘッダ変更部112は、クライアント10が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。同期データ記憶部131、アンカー記憶部132、ダウンロード失敗ID記憶部133、及びアップロード失敗ID記憶部134は、クライアント10が備えるメモリ102及び記憶装置103が提供する記憶領域の一部として実現される。
同期データ記憶部131は同期データ40を記憶する。図5は同期データ記憶部131及び同期データ40の構成例を示す図である。上述したように、同期データ記憶部131にはタグデータ1と画像データ2とが同期データ40として記憶され、同期データ40は、ヘッダ部41及びボディ部42から構成される。ヘッダ部41には、同期データ40のGUID411と、同期データ40の作成時点413及び更新時点414が含まれる。作成時点413及び更新時点414は、例えば、日時とすることもできるし、データが作成又は更新される度に増加するシリアル値とすることもできる。関係性を有する2つの同期データ40の一方には、他方の同期データ40を特定するGUIDが参照ID412としてヘッダ部41に含まれる。上述したように、本実施形態では、画像データ2には、参照するタグデータ1のGUIDが参照ID412としてヘッダ部41に含まれるが、タグデータ1には、画像データ2への参照ID412は含まれないものとするが、タグデータ1に画像データ2への参照ID412を含めるようにしてもよい。また、参照ID412は複数設定することもできるが、本実施形態では説明を簡単にするため、ヘッダ部41には1つの参照ID412のみが設定されうるものとする。また、ヘッダ部41には、不整合ID415が設定可能である。不整合ID415は、後述するように、参照ID412が示すタグデータ1のダウンロードに失敗した場合に、参照ID412に代えて設定される、タグデータ1を示すGUIDである。
アンカー記憶部132は、過去最後に同期処理を行った時点(以下、「アンカー時点」という。)が記憶される。アンカー時点は、日時としてもよいし、同期データ40が作成されもしくは更新され、又は同期処理が行われる度に増加するシリアル値としてもよい。
ダウンロード失敗ID記憶部133は、サーバ20からのダウンロードが失敗した同期データ40のGUIDを記憶する。アップロード失敗ID記憶部134は、サーバ20へのアップロードが失敗した同期データ40のGUIDを記憶する。
同期処理部111は、サーバ20との間で同期データ40の同期を行う。本実施形態では、同期処理部111は、アンカー時点よりも後にサーバ20において作成又は更新された同期データ40をサーバ20からダウンロードするとともに、アンカー時点よりも後にクライアント10において作成又は更新された同期データ40をサーバ20にアップロードすることにより同期処理を行う。同期データ40のダウンロードは、同期処理部111が、同期データ40をダウンロードすることを要求するコマンド(以下、「ダウンロード要求」という。)をサーバ20に送信し、ダウンロード要求に応じてサーバ20から送信される同期データ40を受信する。ダウンロード要求には、アンカー時点が設定される。ダウンロード要求にはさらに、ダウンロードする同期データ40を示すGUIDを設定することもできる。サーバ20からは、ダウンロード要求に設定されるアンカー時点よりも後に作成又は更新された同期データ40が応答され、またダウンロード要求にGUIDが設定されていれば、そのGUIDに対応する同期データ40も応答される。なお、本実施形態では一般的な同期処理に係る処理については説明を省略するが、もちろん同期処理部111は一般的な同期処理に係る各種の処理を行うことができる。
同期データ40のダウンロード及びアップロードは失敗することがある。例えば、通信路30においてエラーが発生した場合や、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードが失敗することが考えられる。なお、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40の全てを受信することができなかった場合に、ダウンロード又はアップロードが失敗したものとする。
同期処理部111は、同期データ40のダウンロードに失敗した場合には、失敗した同期データ40のGUIDをダウンロード失敗ID記憶部133に登録し、同期データ40のアップロードに失敗した場合には、失敗した同期データ40のGUIDをアップロード失敗ID記憶部134に登録する。後述するように、同期処理部111は、アップロード失敗ID記憶部133にGUIDが登録されている同期データ40については、更新時点がアンカー時点より前であっても再度アップロードを行う。また、同期処理部111は、ヘッダ部41に不整合ID415が設定されている同期データ40については、更新時点にかかわらず、明示的にその同期データ40をダウンロードする。なお、同期データ40の同期処理の詳細については後述する。
ヘッダ変更部112は、ある同期データ40のダウンロードが失敗した場合に、その同期データ40を参照している他の同期データ40のヘッダ部41から参照ID411を削除し、参照ID411に設定されていたGUIDを不整合ID415としてヘッダ部41に設定する。ヘッダ変更部112は、同期データ40のダウンロードが成功した場合には、その同期データ40のGUIDが不整合ID415として設定されていた同期データ40について、不整合ID415を削除し、不整合ID415に設定されていたGUIDを参照ID411として設定する。
また、ヘッダ変更部112は、ある同期データ40のアップロードが成功した場合に、その同期データ40のGUIDがアップロード失敗ID記憶部134に登録されている場合には、そのGUIDが参照ID411として設定されている同期データ40もアップロードされるように、更新時点414をアンカー時点よりも後に設定する。
==サーバ20==
図6は、サーバ20のソフトウェア構成例を示す図である。サーバ20は、同期処理部211、ヘッダ変更部212、同期データ記憶部231、及び失敗ID記憶部232を備える。なお、同期処理部211及びヘッダ変更部212は、サーバ20が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。また、同期データ記憶部231及び失敗ID記憶部232は、サーバ20が備えるメモリ102や記憶装置103が提供する記憶領域の一部として実現される。
同期データ記憶部231は、同期データ40を記憶する。同期データ記憶部231は、上述した図5に示すクライアント10の同期データ記憶部131と同様の構成である。
失敗ID記憶部232は、クライアント10からのアップロードが失敗した同期データ40のGUIDを記憶する。
同期処理部211は、クライアント10との間で同期データ40の同期を行う。同期処理部211は、クライアント10からダウンロード要求を受信した場合、ダウンロード要求に含まれているアンカー時点よりも作成時点又は更新時点が新しい同期データ40を同期データ記憶部231から検索し、検索した同期データ40をクライアント10に送信する。また、同期処理部211は、ダウンロード要求にGUIDが設定されている場合には、そのGUIDに対応する同期データ40を同期データ記憶部231から読み出してクライアント10に送信する。
また、同期処理部211は、クライアント10から同期データ40がアップロードされてきた場合、アップロードされてきた同期データ40を受信して同期データ記憶部231に登録し、当該同期データ40のGUIDが失敗ID記憶部232に登録されていた場合には、失敗ID記憶部232から当該GUIDを削除する。同期処理部211は、同期データ40のアップロードが失敗した場合には、当該同期データ40のGUIDを失敗ID記憶部232に登録する。なお、同期処理部211は、一般的な同期処理を行うこともできる。
ヘッダ変更部212は、失敗ID記憶部232に記憶されているGUIDを参照ID412としてヘッダ部41に含む同期データ40が同期データ記憶部232に登録される場合、当該同期データ40のヘッダ部41の参照ID412を削除する。
==同期処理==
以下、本実施形態のデータ同期システムにおける同期データ40の同期処理について説明する。図7は、データ同期システムにおける同期処理の流れを説明する図である。データ同期システムにおける同期処理では、同期データ40をサーバ20からクライアント10にダウンロードするダウンロード処理を行われ(S501)、クライアント10において衝突の解消処理が行われ(S502)、クライアント10においてダウンロードした同期データ40の登録処理が行われる(S503)。次に、クライアント10からサーバ20への同期データ40のアップロード処理が行われ(S504)、サーバ20においてアップロードされた同期データ40の登録処理が行われ(S505)、不整合ID415が設定されている同期データ40の更新処理(不整合解消処理)が行われる(S506)。最後に、クライアント10においてアンカー時点が新しい時点(例えば、現時点としてもよいし、ダウンロードまたはアップロードした同期データ40の作成時点又は更新時点のうち最も新しい時点としてもよい。)に更新される(S507)。
図8は、図7のステップS501におけるダウンロード処理の流れを示す図である。
クライアント10の同期処理部111は、アンカー記憶部132からアンカー時点を読み出し(S521)、読み出したアンカー時点を設定したダウンロード要求を作成する(S522)。同期処理部111は、ダウンロード失敗ID記憶部133に記憶されているGUIDを読み出してダウンロード要求に設定する(S523)。同期処理部111は、同期データ記憶部131から、不整合ID415が設定されており、かつ、不整合ID415に設定されたGUIDがダウンロード失敗ID記憶部133に登録されていない同期データ40を検索し(S524)、上記の同期データ40が検索されれば、当該同期データ40のGUIDをダウンロード要求に設定する(S525)。同期処理部111は、ダウンロード要求をサーバ20に送信する(S526)。
サーバ20の同期処理部211は、クライアント10から受信したダウンロード要求に設定されているアンカー時点よりも後の作成時点413又は更新時点414が設定されている同期データ40を同期データ記憶部231から読み出し(S527)、読み出した同期データ40をクライアント10に送信する(S528)。
クライアント10の同期処理部111は、サーバ20から同期データ40を受信し(S529)、受信に失敗した同期データ40がある場合には、失敗した同期データ40のGUIDをダウンロード失敗ID記憶部133に登録する(S530)。同期処理部111は、ダウンロードに成功した同期データ40のリストを作成し(S531)、ダウンロードに成功した同期データ40のGUIDをダウンロード失敗ID記憶部133から削除する(S532)。
以上のようにして、サーバ20においてアンカー時点より後に作成又は更新された同期データ40と、前回ダウンロードに失敗した同期データ40と、参照先がダウンロードに失敗していた同期データ40とが、サーバ20からダウンロードされる。
図9は、図7のステップS502における衝突の解消処理の流れを示す図である。クライアント10の同期処理部111は、ダウンロードに成功した同期データ40のそれぞれについて以下の処理を行う。同期処理部111は、同期データ40に衝突が発生していないかいどうかを判定する(S541)。データの衝突とは、データを同期している2つの装置のそれぞれおいてデータが更新されたことをいう。本実施形態では、サーバ20からダウンロードした同期データ40更新時点414と、同期データ記憶部131に記憶されている同期データ40の更新時点414とがともにアンカー時点よりも後である場合に、衝突が検出される。同期処理部111は、衝突を検出した場合(S541:YES)、サーバ20からダウンロードした同期データ40と、クライアント10に記憶されている同期データ40とのどちらを優先するかを決定する(S542)。同期処理部111は、例えば、常にサーバ20又はクライアント10のどちらかの同期データ40を優先するようにしてもよいし、更新時点414に応じてどちらを優先するか決定してもよいしし、ユーザから指定を受け付けるようにしてもよい。同期処理部111は、クライアント10に記憶されている同期データ40を優先すると決定した場合(S543:YES)、当該同期データ40をリストから削除する(S544)。このようにして、クライアント10において同期データ40の衝突が解消される。
図10は、図7のステップS503における、クライアント10による同期データ40の登録処理の流れを示す図である。クライアント10の同期処理部111は、リストに含まれている同期データ40を同期データ記憶部131に登録する(S561)。同期処理部111は、ダウンロード失敗ID記憶部133からGUIDを読み出す(S562)。ヘッダ変更部112は、読み出されたGUIDのそれぞれについて、参照ID412に当該GUIDが設定されている同期データ40に、当該GUIDを不整合ID415として設定するとともに(S563)、当該同期データ40から参照ID412を削除する(S564)ように、同期データ記憶部131を更新する。このようにして、同期データ40のダウンロードの際、ダウンロードされた同期データ40が同期データ記憶部131に登録されるとともに、ダウンロードに失敗した同期データ40を参照している同期データ40については、参照ID412が削除されて、代わりに不整合ID415が設定されるようにすることができる。
図11は、図7のステップS504における、同期データ40のアップロード処理の流れを示す図である。
クライアント10の同期処理部111は、アンカー記憶部132からアンカー時点を読み出し(S581)、アンカー時点よりも作成時点413又は更新時点414が新しい同期データ40を同期データ記憶部131から読み出し(S582)、アップロード失敗ID記憶部134に記憶されているGUIDに対応する同期データ40を同期データ記憶部131から読み出し(S583)、読み出した同期データ40をサーバ20に送信する(S584)。同期処理部111は、アップロード失敗ID記憶部134に記憶されているGUIDを削除し(S585)、送信に失敗した同期データ40があれば、失敗した同期データ40のGUIDをアップロード失敗ID記憶部134に登録する(S586)。
一方、サーバ20の同期処理部211は、クライアント10から送信される同期データ40を受信し(S587)、受信に失敗した同期データ40があれば、失敗した同期データ40のGUIDを失敗ID記憶部232に登録し(S588)、受信に成功した同期データ40のリストを作成する(S589)。
以上のようにして、クライアント10においてアンカー時点より後に作成又は更新された同期データ40と、前回アップロードに失敗した同期データ40とがサーバ20にアップロードされる。
図12は、図7のステップS505における、サーバ20による同期データ40の登録処理の流れを示す図である。サーバ20の同期処理部211は、リストに含まれている同期データ40を同期データ記憶部231に登録する(S601)。ヘッダ変更部212は、失敗ID記憶部232からGUIDを読み出し(S602)、読み出したGUIDのそれぞれについて、同期データ記憶部231に記憶されている同期データ40のうち、当該GUIDが参照ID412として設定されているものから参照ID412を削除する(S603)。
図13は、図7のステップS506における、クライアント10による不整合解消処理の流れを示す図である。クライアント10のヘッダ変更部112は、不整合ID415が設定されている同期データ40を同期データ記憶部131から検索し(S621)、検索した同期データ40のそれぞれについて、不整合ID415に設定されているGUIDがアップロード失敗ID記憶部134に登録されているか否かを判定し(S622)、登録されていなければ(S622:NO)、不整合ID415に設定されているGUIDを参照ID412としてヘッダ部41に設定し(S623)、不整合ID415を削除し(S624)、更新時点414をアンカー時点よりも後の時点(例えば現時点)に更新する(S625)。これにより、次のアップロード処理において当該同期データ40はサーバ20にアップロードされることになる。サーバ20ではアップロードに失敗した同期データ40のヘッダ部41から参照ID412が削除されているので、このアップロードにより削除された参照IDが復活することになる。
以上説明したように、本実施形態のデータ同期システムによれば、参照関係を有する同期データ40を同期する際に、参照先の同期データ40の同期が失敗した場合でも、一時的に参照元の同期データ40からの参照ID412を削除して、参照関係を解除することができる。一般に関係性を有するデータを同期する場合には、アトミックな同期処理が行われ、参照先のデータの同期が失敗した場合には、参照元のデータの同期も失敗したものとされるが、本実施形態のデータ同期システムによれば、参照先の同期データ40の同期が失敗した場合でも、参照元の同期データ40は引き続き利用することが可能となる。したがって、同期データ40の可用性を高めることができる。
また、本実施形態のデータ同期システムによれば、サーバ20側では、ダウンロードの失敗について管理する必要がなく、また、アップロードが失敗した場合には、失敗した同期データ40を参照している同期データ40から参照ID412を削除するだけでよい。すなわち、サーバ20は、参照関係の復旧等を考慮する必要がない。したがって、サーバ20が数多くのクライアント10との間で同期を行う場合でも、参照関係を管理するためのサーバ20の負荷を軽減することができる。
なお、本実施形態では、クライアント10は1台であるものとしたが、もちろん複数のクライアント10とサーバ20とが同期を行うようにすることもできる。また、サーバ20を複数台により構成してもよい。
また、本実施形態では、画像データ及びタグデータのみをクライアント10及びサーバ20の間で同期するものとしたが、もちろん、フォルダやリレーショナルデータベース管理システムで管理されるレコードなど、他のデータへの参照ID412を設定可能な各種のデータを同期することも可能である。
また、本実施形態では、タグデータ1と画像データ2とは1対多の関係であるものとしたが、1対1の関係であってもよいし、多対多の関係であってもよい。多対多の関係である場合、参照ID412は、同期データ40のヘッダ部41に設定せず、関係性を管理するデータ(以下、「関係性データ」という。)に設定するようにしてもよい。
また、本実施形態では、画像データ2にのみ参照ID412が設定されるものとしたが、タグデータ1にも、画像データ2への参照ID412を設定するようにしてもよい。
また、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40を受信できなかった場合に、ダウンロード又はアップロードが失敗したものとしたが、通信路30におけるエラーに限らず、例えば、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードの失敗を検出するようにしてもよい。
また、本実施形態では、不整合ID415が設定されていた同期データ40については、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合に、同期データ40の全体を再度アップロードするものとしたが、ヘッダ部41のみをアップロッドしてもよい。また、同期データ40のダウンロード及びダウンロードの際に、ボディ部42の差異の有無を判定し、差異がある場合には同期データ40の全体をダウンロード又はアップロードし、差異がない場合にはヘッダ部41のみをダウンロード又はアップロードするようにしてもよい。さらには、同期データ40の差分のみをアップロード又はダウンロードするようにすることもできる。
また、本実施形態では、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合、更新時点414を更新することにより、再度アップロードが行われるようにしたが、図13のステップS625を省略し、アップロードを行わないようにしてもよい。
また、本実施形態では、タグデータ1のダウンロードが失敗した場合、そのタグデータ1のGUIDが参照ID412に設定されている画像データ2のヘッダ41から、当該参照ID411が削除され、代わりに不整合ID415が設定されるものとしたが、これに限らず、参照ID412を削除せず、また不整合ID415を設定しないようにすることもできる。この場合、例えば、アップロード失敗ID記憶部134に登録されていたGUIDに対応する同期データ40のアップロードが成功した場合に、当該GUIDを記憶するアップロード成功ID記憶部を設けるようにし、参照ID412に設定されているGUIDがアップロード成功ID記憶部に登録されているものについて、再度アップロードを行うようにしてもよい。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
1 タグデータ
2 画像データ
10 クライアント
20 サーバ
30 通信路
40 同期データ
41 ヘッダ部
42 ボディ部
111 同期処理部
112 ヘッダ変更部
131 同期データ記憶部
132 アンカー記憶部
133 ダウンロード失敗ID記憶部
134 アップロード失敗ID記憶部
211 同期処理部
212 ヘッダ変更部
231 同期データ記憶部
232 失敗ID記憶部
411 GUID
412 参照ID
413 作成時点
414 更新時点
415 不整合ID

Claims (11)

  1. データを記憶するサーバとの間でデータを同期する装置であって、
    第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、
    前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、
    前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、
    を備えることを特徴とするデータ同期装置。
  2. 請求項1に記載のデータ同期装置であって、
    前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得すること、
    を特徴とするデータ同期装置。
  3. 請求項1又は2のいずれかに記載のデータ同期装置であって、
    取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
    前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、
    前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定すること、
    を特徴とするデータ同期装置。
  4. サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、
    前記クライアントは、
    第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、
    前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、
    を備え、
    前記サーバは、
    前記第1及び第2のデータを記憶するサーバデータ記憶部と、
    前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、
    前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、
    を備え、
    前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
    を特徴とするデータ同期システム。
  5. 請求項4に記載のデータ同期システムであって、
    前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、
    前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードすること、
    を特徴とするデータ同期システム。
  6. 請求項4又は5のいずれかに記載のデータ同期システムであって、
    前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
    前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除すること、
    を特徴とするデータ同期システム。
  7. 請求項4乃至6のいずれかに記載のデータ同期システムであって、
    前記第1及び第2のデータには更新時点が設定され、
    前記クライアントは、
    前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、
    前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、
    前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードすること、
    を特徴とするデータ同期システム。
  8. 請求項7に記載のデータ同期システムであって、
    前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
    前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードすること、
    を特徴とするデータ同期システム。
  9. データを記憶するサーバとの間でデータを同期する方法であって、
    第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、
    前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、
    前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定すること、
    を特徴とするデータ同期方法。
  10. サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、
    第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、
    前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、
    前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、
    前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、
    前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
    を特徴とするデータ同期方法。
  11. データを記憶するサーバとの間でデータを同期するためのプログラムであって、
    第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、
    前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、
    前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、
    を実行させるためプログラム。
JP2011087683A 2011-04-11 2011-04-11 データ同期装置、データ同期システム、データ同期方法及びプログラム Expired - Fee Related JP5656722B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011087683A JP5656722B2 (ja) 2011-04-11 2011-04-11 データ同期装置、データ同期システム、データ同期方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011087683A JP5656722B2 (ja) 2011-04-11 2011-04-11 データ同期装置、データ同期システム、データ同期方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2012221317A true JP2012221317A (ja) 2012-11-12
JP5656722B2 JP5656722B2 (ja) 2015-01-21

Family

ID=47272723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011087683A Expired - Fee Related JP5656722B2 (ja) 2011-04-11 2011-04-11 データ同期装置、データ同期システム、データ同期方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5656722B2 (ja)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245350B1 (en) 2014-06-26 2016-01-26 Amazon Technologies, Inc. Image-based color palette generation
US9311889B1 (en) 2014-06-26 2016-04-12 Amazon Technologies, Inc. Image-based color palette generation
US9396560B2 (en) 2014-06-26 2016-07-19 Amazon Technologies, Inc. Image-based color palette generation
US9401032B1 (en) 2014-06-26 2016-07-26 Amazon Technologies, Inc. Image-based color palette generation
US9514543B2 (en) * 2014-06-26 2016-12-06 Amazon Technologies, Inc. Color name generation from images and color palettes
US9524563B2 (en) 2014-06-26 2016-12-20 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9542704B2 (en) 2014-06-26 2017-01-10 Amazon Technologies Inc. Automatic image-based recommendations using a color palette
US9633448B1 (en) 2014-09-02 2017-04-25 Amazon Technologies, Inc. Hue-based color naming for an image
US9652868B2 (en) 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9659032B1 (en) 2014-06-26 2017-05-23 Amazon Technologies, Inc. Building a palette of colors from a plurality of colors based on human color preferences
US9679532B2 (en) 2014-06-26 2017-06-13 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9697573B1 (en) 2014-06-26 2017-07-04 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US9727983B2 (en) 2014-06-26 2017-08-08 Amazon Technologies, Inc. Automatic color palette based recommendations
US9785649B1 (en) 2014-09-02 2017-10-10 Amazon Technologies, Inc. Hue-based color naming for an image
US9792303B2 (en) 2014-06-26 2017-10-17 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and keyword trends
US9898487B2 (en) 2014-06-26 2018-02-20 Amazon Technologies, Inc. Determining color names from keyword searches of color palettes
US9916613B1 (en) 2014-06-26 2018-03-13 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US9922050B2 (en) 2014-06-26 2018-03-20 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and color palette trends
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US10055475B2 (en) 2015-04-29 2018-08-21 Ricoh Company, Ltd. Authentication system, synchronization method, and authentication apparatus
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10169803B2 (en) 2014-06-26 2019-01-01 Amazon Technologies, Inc. Color based social networking recommendations
US10223427B1 (en) 2014-06-26 2019-03-05 Amazon Technologies, Inc. Building a palette of colors based on human color preferences
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
US10430857B1 (en) 2014-08-01 2019-10-01 Amazon Technologies, Inc. Color name based search
CN110990359A (zh) * 2019-12-18 2020-04-10 北京华峰创业科技有限公司 一种同步构架中对无用数据清理的方法和系统
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295868A (ja) * 1994-04-27 1995-11-10 Hitachi Ltd データベースの整合性制約管理方法
JPH09293010A (ja) * 1996-04-26 1997-11-11 Mitsubishi Electric Corp 情報同期化方法
JP2001273217A (ja) * 2000-03-28 2001-10-05 Canon Inc クライアントサーバシステム及びそのデータ共有方法
US6636872B1 (en) * 1999-03-02 2003-10-21 Managesoft Corporation Limited Data file synchronization
JP2005025362A (ja) * 2003-06-30 2005-01-27 Sap Ag データ同期制御装置、データ同期制御方法及びデータ同期制御プログラム
JP2008134967A (ja) * 2006-11-29 2008-06-12 Sony Corp データ管理サーバ、データ管理システム、データ管理方法およびプログラム
JP2011054092A (ja) * 2009-09-04 2011-03-17 Synclore Corp データ同期システムおよびデータ同期方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295868A (ja) * 1994-04-27 1995-11-10 Hitachi Ltd データベースの整合性制約管理方法
JPH09293010A (ja) * 1996-04-26 1997-11-11 Mitsubishi Electric Corp 情報同期化方法
US6636872B1 (en) * 1999-03-02 2003-10-21 Managesoft Corporation Limited Data file synchronization
JP2001273217A (ja) * 2000-03-28 2001-10-05 Canon Inc クライアントサーバシステム及びそのデータ共有方法
JP2005025362A (ja) * 2003-06-30 2005-01-27 Sap Ag データ同期制御装置、データ同期制御方法及びデータ同期制御プログラム
JP2008134967A (ja) * 2006-11-29 2008-06-12 Sony Corp データ管理サーバ、データ管理システム、データ管理方法およびプログラム
JP2011054092A (ja) * 2009-09-04 2011-03-17 Synclore Corp データ同期システムおよびデータ同期方法

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180040142A1 (en) * 2014-06-26 2018-02-08 Amazon Technologies, Inc. Color name generation from images and color palettes
US10402917B2 (en) 2014-06-26 2019-09-03 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US9396560B2 (en) 2014-06-26 2016-07-19 Amazon Technologies, Inc. Image-based color palette generation
US9401032B1 (en) 2014-06-26 2016-07-26 Amazon Technologies, Inc. Image-based color palette generation
US9514543B2 (en) * 2014-06-26 2016-12-06 Amazon Technologies, Inc. Color name generation from images and color palettes
US9524563B2 (en) 2014-06-26 2016-12-20 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9542704B2 (en) 2014-06-26 2017-01-10 Amazon Technologies Inc. Automatic image-based recommendations using a color palette
US9552656B2 (en) 2014-06-26 2017-01-24 Amazon Technologies, Inc. Image-based color palette generation
US11216861B2 (en) 2014-06-26 2022-01-04 Amason Technologies, Inc. Color based social networking recommendations
US9652868B2 (en) 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9659032B1 (en) 2014-06-26 2017-05-23 Amazon Technologies, Inc. Building a palette of colors from a plurality of colors based on human color preferences
US9679532B2 (en) 2014-06-26 2017-06-13 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9697573B1 (en) 2014-06-26 2017-07-04 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US9916613B1 (en) 2014-06-26 2018-03-13 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US9741137B2 (en) 2014-06-26 2017-08-22 Amazon Technologies, Inc. Image-based color palette generation
US9245350B1 (en) 2014-06-26 2016-01-26 Amazon Technologies, Inc. Image-based color palette generation
US9792303B2 (en) 2014-06-26 2017-10-17 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and keyword trends
US9836856B2 (en) 2014-06-26 2017-12-05 Amazon Technologies, Inc. Color name generation from images and color palettes
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes
US9311889B1 (en) 2014-06-26 2016-04-12 Amazon Technologies, Inc. Image-based color palette generation
US9727983B2 (en) 2014-06-26 2017-08-08 Amazon Technologies, Inc. Automatic color palette based recommendations
US9922050B2 (en) 2014-06-26 2018-03-20 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and color palette trends
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US10049466B2 (en) 2014-06-26 2018-08-14 Amazon Technologies, Inc. Color name generation from images and color palettes
US9898487B2 (en) 2014-06-26 2018-02-20 Amazon Technologies, Inc. Determining color names from keyword searches of color palettes
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10169803B2 (en) 2014-06-26 2019-01-01 Amazon Technologies, Inc. Color based social networking recommendations
US10186054B2 (en) 2014-06-26 2019-01-22 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10223427B1 (en) 2014-06-26 2019-03-05 Amazon Technologies, Inc. Building a palette of colors based on human color preferences
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US10242396B2 (en) 2014-06-26 2019-03-26 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
US10430857B1 (en) 2014-08-01 2019-10-01 Amazon Technologies, Inc. Color name based search
US10831819B2 (en) 2014-09-02 2020-11-10 Amazon Technologies, Inc. Hue-based color naming for an image
US9785649B1 (en) 2014-09-02 2017-10-10 Amazon Technologies, Inc. Hue-based color naming for an image
US9633448B1 (en) 2014-09-02 2017-04-25 Amazon Technologies, Inc. Hue-based color naming for an image
US10055475B2 (en) 2015-04-29 2018-08-21 Ricoh Company, Ltd. Authentication system, synchronization method, and authentication apparatus
CN110990359A (zh) * 2019-12-18 2020-04-10 北京华峰创业科技有限公司 一种同步构架中对无用数据清理的方法和系统

Also Published As

Publication number Publication date
JP5656722B2 (ja) 2015-01-21

Similar Documents

Publication Publication Date Title
JP5656722B2 (ja) データ同期装置、データ同期システム、データ同期方法及びプログラム
US11698885B2 (en) System and method for content synchronization
US20210117387A1 (en) Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
CA2900080C (en) Systems and methods for automatic sharing, synchronizing and collaboration of information among users of a group
Uppoor et al. Cloud-based synchronization of distributed file system hierarchies
EP2047382B1 (en) Two-way and multi-master synchronization over web syndications
US9300492B2 (en) Notification feed across multiple client devices
US20180217905A1 (en) Fault-tolerant methods, systems and architectures for data storage, retrieval and distribution
EP2378437A1 (en) Data synchronization methods in communication systems
US9690796B2 (en) Non-transitory computer-readable media storing file management program, file management apparatus, and file management method
EP2741217A1 (en) Database synchronization
JP3756349B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JP5724465B2 (ja) 電子機器、情報処理システム、及びプログラム
EP2763354B1 (en) Method and apparatus for preventing duplicate saving of resource between universal plug and play devices providing content directory service
US10872063B2 (en) Local terminal and synchronization system including the same
JP2009163640A (ja) 情報提供装置、情報提供方法、プログラムおよび記録媒体
US8150802B2 (en) Accumulating star knowledge in replicated data protocol
JP2006309696A (ja) ファイル管理方法、ファイル管理システム、及びプログラム
JP2008016047A (ja) 個人情報管理装置、個人情報管理方法、記録媒体およびプログラム
US20160055194A1 (en) Data synchronization management between devices
RU2609089C2 (ru) Система и способ выполнения очереди запросов в отношении цифровых объектов
JP2010061395A (ja) 情報処理装置、情報処理方法、情報取得装置、情報取得方法、通信システムおよび通信方法
JP2012168870A (ja) 情報処理システム及び帳票イメージ保管サーバ
JP2017045085A (ja) 情報処理システム、情報処理システムの制御方法、及びプログラム
JP2015162223A (ja) データ処理装置、同期処理提供装置、データ処理方法、同期処理提供方法及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141015

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141015

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141125

R150 Certificate of patent or registration of utility model

Ref document number: 5656722

Country of ref document: JP

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

LAPS Cancellation because of no payment of annual fees