JP5656722B2 - Data synchronization apparatus, data synchronization system, data synchronization method and program - Google Patents

Data synchronization apparatus, data synchronization system, data synchronization method and program Download PDF

Info

Publication number
JP5656722B2
JP5656722B2 JP2011087683A JP2011087683A JP5656722B2 JP 5656722 B2 JP5656722 B2 JP 5656722B2 JP 2011087683 A JP2011087683 A JP 2011087683A JP 2011087683 A JP2011087683 A JP 2011087683A JP 5656722 B2 JP5656722 B2 JP 5656722B2
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.)
Expired - Fee Related
Application number
JP2011087683A
Other languages
Japanese (ja)
Other versions
JP2012221317A (en
Inventor
義明 荒木
義明 荒木
井口 誠
誠 井口
Original Assignee
Kii株式会社
Kii株式会社
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株式会社, Kii株式会社 filed Critical Kii株式会社
Priority to JP2011087683A priority Critical patent/JP5656722B2/en
Publication of JP2012221317A publication Critical patent/JP2012221317A/en
Application granted granted Critical
Publication of JP5656722B2 publication Critical patent/JP5656722B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ同期装置、データ同期システム、データ同期方法及びプログラムに関する。   The present invention relates to a data synchronization apparatus, a data synchronization system, a data synchronization method, and a program.

複数のコンピュータの間でデータの同期を取ることが行われている。例えば、携帯電話に記録されている写真や電話帳などのデータをサーバにも同期することにより、データのバックアップを行ったり、複数の機器の間でデータを共有したりされている。データが他のデータに依存をしているなお、データが他のデータを参照している場合があり、そのような場合には、データの関係性を壊さないように同期が行われる。例えば、第1のデータを参照している第2のデータを送信する場合には、第1のデータも送信するようにすることができる(特許文献1参照)。このような同期処理は通常アトミックに処理され、第1のデータの送信が失敗した場合には、第2のデータの送信が成功したか否かにかかわらず、同期処理全体としては失敗したものとされる。   Data synchronization is performed among a plurality of computers. For example, data such as photos and phone books recorded on a mobile phone is synchronized with a server to back up the data or to share data among a plurality of devices. The data depends on other data. However, the data may refer to other data. In such a case, synchronization is performed so as not to break the relationship of the data. For example, when transmitting the second data referring to the first data, the first data can also be transmitted (see Patent Document 1). Such synchronization processing is normally processed atomically, and if the transmission of the first data fails, the synchronization processing as a whole fails regardless of whether the transmission of the second data is successful or not. Is done.

特開2005−25362号公報JP 2005-25362 A

しかしながら、第1のデータの送信が失敗したことにより同期処理全体が失敗とされると、第2のデータの送信が成功していてもその第2のデータを利用することはできなくなってしまう。   However, if the entire synchronization process is unsuccessful due to the failure of the transmission of the first data, the second data cannot be used even if the transmission of the second data is successful.

本発明は、このような背景を鑑みてなされたものであり、参照関係を有するデータの同期においてデータの可用性を高めることのできる、データ同期装置、データ同期システム、データ同期方法及びプログラムを提供することを目的とする。   The present invention has been made in view of such a background, and provides a data synchronization apparatus, a data synchronization system, a data synchronization method, and a program capable of increasing the availability of data in synchronization of data having a reference relationship. For the purpose.

上記課題を解決するための本発明の主たる発明は、データを記憶するサーバとの間でデータを同期する装置であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、を備えることとする。   A main invention of the present invention for solving the above-described problem is an apparatus for synchronizing data with a server that stores data, wherein the first data and the first data are referred to. A data storage unit that stores second data in which reference information indicating the data is set, the first and second data stored in the server, and the acquired first and second data When the acquisition of the first data fails, the synchronization processing unit for registering the data in the data storage unit and the setting of the reference information from the second data are canceled, and the first data A data changing unit that sets inconsistency information indicating that acquisition has failed in the second data.

また、本発明のデータ同期装置では、前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得するようにしてもよい。   In the data synchronization apparatus of the present invention, the synchronization processing unit registers the second data in which the inconsistency information is set in the data storage unit when the acquisition of the first data is successful. If it is, the second data may be acquired from the server.

また、本発明のデータ同期装置は、取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定するようにしてもよい。   Further, the data synchronization apparatus of the present invention includes a failure data storage unit that stores data specifying information for specifying data that has failed to be acquired, and the synchronization processing unit, when the acquisition of the first data fails, The data specifying information for specifying the first data is registered in the failure data storage unit, and the data changing unit stores the data specifying information for each of the data specifying information registered in the failure data storage unit. The second data for which the corresponding reference information is set is searched from the data storage unit, the setting of the reference information is canceled from the searched second data, and the inconsistency information is set. It may be.

また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、前記クライアントは、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、を備え、前記サーバは、前記第1及び第2のデータを記憶するサーバデータ記憶部と、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、を備え、前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。   According to another aspect of the present invention, there is provided a system for synchronizing data between a server and a client communicably connected to the server, wherein the client includes first data, first data A client data storage unit that stores data and second data in which reference information indicating the first data is set, and the first and second data stored in the client data storage unit A client synchronization processing unit for uploading to the server, the server storing a server data storage unit for storing the first and second data, and the first and second data uploaded from the client The server synchronization processing unit registered in the received server data storage unit and the second data when the reception of the first data fails. A server data changing unit that cancels the setting of the reference information from the data, and the client synchronization processing unit uploads the first data again when the uploading of the first data fails, When re-uploading of the first data is successful, the second data in which the reference information for specifying the first data is set is read from the client data storage unit, and the read second data is read Upload to the server again.

また、本発明のデータ同期システムでは、前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードするようにしてもよい。   Further, in the data synchronization system of the present invention, the data includes a header part, the reference information is included in the header part, and the client synchronization processing unit has succeeded in uploading the first data again, Only the header part of the second data may be uploaded to the server again.

また、本発明のデータ同期システムでは、前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除するようにしてもよい。   In the data synchronization system of the present invention, the server includes a failure data storage unit that stores data specifying information that specifies data that failed to be uploaded, and the server synchronization processing unit is set to the second data. When the data specifying information for specifying the first data indicated by the reference information is registered in the failure data storage unit, the setting of the reference information may be canceled.

また、本発明のデータ同期システムでは、前記第1及び第2のデータには更新時点が設定され、前記クライアントは、前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードするようにしてもよい。   In the data synchronization system of the present invention, an update time is set for the first and second data, and the client stores an anchor time that is the last time the data is uploaded to the server. When the second upload of the first time data and the anchor time storage unit succeeds, the client data storage unit is searched for the second data in which the reference information indicating the first data is set, An update time update unit that updates the update time of the searched second data to a time that is newer than the anchor time, wherein the client synchronization processing unit is set with the update time after the anchor time. The first and second data may be uploaded to the server.

また、本発明のデータ同期システムでは、前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードするようにしてもよい。   In the data synchronization system of the present invention, the client further includes a failure data storage unit that stores data specifying information for specifying the first data that has failed to be uploaded, and the client synchronization processing unit further includes the failure data The first data specified by the data specifying information stored in the storage unit may be uploaded to the server.

また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定することとする。   According to another aspect of the present invention, there is provided a method for synchronizing data with a server storing data, wherein the first data refers to the first data and indicates the first data. A computer including a data storage unit that stores second data in which reference information is set acquires the first and second data stored in the server, and the acquired first and second data When registering data in the data storage unit and failing to acquire the first data, the setting of the reference information is canceled from the second data, and acquisition of the first data has failed Is set in the second data.

また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。   Another aspect of the present invention is a method of synchronizing data between a server and a client that is communicably connected to the server, and refers to the first data and the first data. The client includes a client data storage unit that stores second data in which reference information indicating the first data is set. The first and second data stored in the client data storage unit. The server having a server data storage unit for storing the first and second data is received by the server, and the server receives the first and second data uploaded from the client. When registration with the data storage unit fails to receive the first data, the setting of the reference information is canceled from the second data, and the first data If the uploading of the first data fails, the first data is uploaded again. If the uploading of the first data succeeds again, the reference information for specifying the first data is set in the second data. Are read from the client data storage unit, and the read second data is uploaded to the server again.

また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期するためのプログラムであって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、を実行させることとする。   According to another aspect of the present invention, there is provided a program for synchronizing data with a server storing data, wherein the first data refers to the first data. The first and second data stored in the server are acquired by a computer including a data storage unit that stores second data in which reference information indicating the second information is set, and the acquired first and second data Registering the second data in the data storage unit, and when the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and the acquisition of the first data And the step of setting inconsistency information indicating the failure of the second data to the second data.

その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。   Other problems and solutions to be disclosed by the present application will be made clear by the embodiments of the invention and the drawings.

本発明によれば、参照関係を有するデータの同期においてデータの可用性を高めることができる。   ADVANTAGE OF THE INVENTION According to this invention, the availability of data can be improved in the synchronization of the data which have a reference relationship.

本実施形態のデータ同期システムの全体構成を示す図である。It is a figure which shows the whole structure of the data synchronization system of this embodiment. 同期データ40の構成例を説明する図である。FIG. 3 is a diagram for explaining a configuration example of synchronization data 40; クライアント10及びサーバ20に用いられる一般的なコンピュータ11のハードウェア構成例を示す図である。2 is a diagram illustrating a hardware configuration example of a general computer 11 used for a client 10 and a server 20. FIG. クライアント10のソフトウェア構成例を示す図である。2 is a diagram illustrating an example of a software configuration of a client 10. FIG. 同期データ記憶部131及び同期データ40の構成例を示す図である。3 is a diagram illustrating a configuration example of a synchronization data storage unit 131 and synchronization data 40. FIG. サーバ20のソフトウェア構成例を示す図である。2 is a diagram illustrating an example of a software configuration of a server 20. FIG. データ同期システムにおける同期処理の流れを説明する図である。It is a figure explaining the flow of the synchronous process in a data synchronous system. ダウンロード処理の流れを示す図である。It is a figure which shows the flow of a download process. 衝突の解消処理の流れを示す図である。It is a figure which shows the flow of the resolution process of a collision. クライアント10による同期データ40の登録処理の流れを示す図である。It is a figure which shows the flow of a registration process of the synchronous data 40 by the client 10. FIG. アップロード処理の流れを示す図である。It is a figure which shows the flow of an upload process. サーバ20による同期データ40の登録処理の流れを示す図である。It is a figure which shows the flow of a registration process of the synchronous data 40 by the server 20. FIG. 不整合解消処理の流れを示す図である。It is a figure which shows the flow of an inconsistency cancellation process.

==システム構成==
以下、本発明の一実施形態に係るデータ同期システムについて説明する。図1は、本実施形態のデータ同期システムの全体構成を示す図である。本実施形態のデータ同期システムは、クライアント10及びサーバ20を含んで構成される。クライアント10は、例えばテキストデータや画像データなど各種のデータを管理する、携帯電話やパーソナルコンピュータ、ワークステーション、PDA(Personal Digital Assistant)などである。サーバ20は、例えばクライアント10が記憶しているデータをバックアップしたり、複数のクライアント10間でデータを共有したりするために、クライアント10との間でデータを同期する、例えばパーソナルコンピュータやワークステーションなどである。クライアント10及びサーバ20は通信路30を介して互いに通信可能に接続される。通信路30は、例えばインターネットやLAN(Local Area Network)などであり、イーサネット(登録商標)や公衆電話回線、携帯電話回線、無線通信路などにより構成される。
== System configuration ==
Hereinafter, a data synchronization system according to an embodiment of the present invention will be described. FIG. 1 is a diagram showing the overall configuration of the data synchronization system of the present embodiment. The data synchronization system of the present embodiment includes a client 10 and a server 20. The client 10 is, for example, a mobile phone, a personal computer, a workstation, a PDA (Personal Digital Assistant) that manages various data such as text data and image data. The server 20 synchronizes data with the client 10 in order to back up data stored in the client 10 or share data among the plurality of clients 10, for example, a personal computer or a workstation Etc. The client 10 and the server 20 are connected to be communicable with each other via the communication path 30. The communication path 30 is, for example, the Internet or a LAN (Local Area Network), and is configured by Ethernet (registered trademark), a public telephone line, a mobile phone line, a wireless communication path, and the like.

クライアント10とサーバ20との間ではデータが同期される。クライアント10とサーバ20との間で同期されるデータは、そのデータに関係する他のデータへの参照が設定されることがある。例えば、ファイルがフォルダごとに管理されている場合、ファイルにはフォルダへの参照が設定され、フォルダが階層構造になっている場合には、下位のフォルダには上位のフォルダへの参照が設定される。画像にタグが設定されている場合、画像にはタグへの参照が設定され、また、リレーショナルデータベース管理システム(RDBMS)においてリレーションが定義されたテーブルのレコードには、他のテーブルのレコードへの参照が設定される。本実施形態のデータ同期システムは、このような参照関係を有するデータを同期することを想定する。   Data is synchronized between the client 10 and the server 20. Data synchronized between the client 10 and the server 20 may be set to a reference to other data related to the data. For example, if a file is managed for each folder, a reference to the folder is set for the file, and if the folder has a hierarchical structure, a reference to the upper folder is set for the lower folder. The When a tag is set for an image, a reference to the tag is set for the image, and a record of a table in which a relation is defined in a relational database management system (RDBMS) has a reference to a record of another table. Is set. It is assumed that the data synchronization system of this embodiment synchronizes data having such a reference relationship.

図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には設定されない。   FIG. 2 is a diagram for explaining a configuration example of the synchronization data 40. The synchronization data 40 includes a header part 41 and a body part 42. In the header part 41, information for specifying the synchronization data 40 (hereinafter referred to as “GUID411 (Global Unique IDentification)”) is set. Information (hereinafter referred to as “reference ID 412”) indicating other synchronization data 40 referred to by the synchronization data 40 can be set. In the present embodiment, in order to simplify the description, data synchronized between the client 10 and the server 20 (hereinafter referred to as “synchronized data 40”) includes image data for displaying an image, and an image. It is assumed that the tag data indicates a tag to be set in. In the example of FIG. 2, a reference ID 412 indicating tag data 1 is set in the header portion 41 of the image data 2. The relationship between the tag data 1 and the image data 2 is a one-to-many relationship, and the reference ID 412 is set only for the image data 2 and not set for the tag data 1.

本実施形態のデータ同期システムは、タグデータ1の同期が失敗しても、画像データ2の同期が成功した場合には、一時的に画像データ2からタグデータ1への参照を解除し、これにより画像データ2自体をユーザから利用可能にするものである。
以下、詳細について説明する。
Even if the synchronization of the tag data 1 fails, the data synchronization system of this embodiment temporarily cancels the reference from the image data 2 to the tag data 1 when the synchronization of the image data 2 succeeds. Thus, the image data 2 itself can be used by the user.
Details will be described below.

==ハードウェア構成==
図3は、クライアント10及びサーバ20に用いられる一般的なコンピュータ11(情報処理装置)のハードウェア構成例を示す図である。コンピュータ11は、CPU101、メモリ102、記憶装置103、通信インタフェース104、入力装置105、出力装置106を備える。記憶装置103は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやフラッシュメモリなどである。CPU101は、記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより各種の機能を実現する。通信インタフェース104は、例えば通信路30へのインタフェースであり、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデム、無線通信路に接続するための無線通信機などである。入力装置105は、ユーザからデータの入力を受け付ける、例えばキーボードやマウス、タッチパネル、ボタン、ダイアル、マイクロフォンなどである。出力装置106は、ユーザに対してデータを出力する、例えばディスプレイやスピーカ、プリンタなどである。
== Hardware configuration ==
FIG. 3 is a diagram illustrating a hardware configuration example of a general computer 11 (information processing apparatus) used for the client 10 and the server 20. The computer 11 includes a CPU 101, a memory 102, a storage device 103, a communication interface 104, an input device 105, and an output device 106. The storage device 103 is, for example, a hard disk drive or a flash memory that stores various data and programs. The CPU 101 implements various functions by reading a program stored in the storage device 103 into the memory 102 and executing it. The communication interface 104 is an interface to the communication path 30, for example, an adapter for connecting to Ethernet (registered trademark), a modem for connecting to a telephone line network, a wireless communication apparatus for connecting to a wireless communication path, etc. It is. The input device 105 is, for example, a keyboard, a mouse, a touch panel, a button, a dial, or a microphone that receives data input from a user. The output device 106 is, for example, a display, a speaker, or a printer that outputs data to the user.

==クライアント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が提供する記憶領域の一部として実現される。
== Client 10 ==
FIG. 4 is a diagram illustrating a software configuration example of the client 10. The client 10 includes a synchronization processing unit 111, a header changing unit 112, a tag data storage 131, an anchor storage unit 132, a download failure ID storage unit 133, and an upload failure ID storage unit 134. The synchronization processing unit 111 and the header changing unit 112 are realized by the CPU 101 included in the client 10 reading out the program stored in the storage device 103 to the memory 102 and executing it. The synchronous data storage unit 131, the anchor storage unit 132, the download failure ID storage unit 133, and the upload failure ID storage unit 134 are realized as a part of the storage area provided by the memory 102 and the storage device 103 provided in the client 10.

同期データ記憶部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である。   The synchronization data storage unit 131 stores the synchronization data 40. FIG. 5 is a diagram illustrating a configuration example of the synchronization data storage unit 131 and the synchronization data 40. As described above, the tag data 1 and the image data 2 are stored as the synchronization data 40 in the synchronization data storage unit 131, and the synchronization data 40 includes the header part 41 and the body part 42. The header part 41 includes a GUID 411 of the synchronization data 40, a creation time 413 and an update time 414 of the synchronization data 40. The creation time point 413 and the update time point 414 can be, for example, date and time, or can be serial values that increase each time data is created or updated. One of the two synchronization data 40 having a relationship includes a GUID for specifying the other synchronization data 40 as a reference ID 412 in the header portion 41. As described above, in the present embodiment, the image data 2 includes the GUID of the tag data 1 to be referenced as the reference ID 412 in the header portion 41, but the tag data 1 includes the reference ID 412 to the image data 2. It is assumed that the reference ID 412 for the image data 2 may be included in the tag data 1. Although a plurality of reference IDs 412 can be set, in the present embodiment, it is assumed that only one reference ID 412 can be set in the header portion 41 in order to simplify the description. Further, inconsistency ID 415 can be set in header section 41. The inconsistency ID 415 is a GUID indicating the tag data 1 that is set in place of the reference ID 412 when downloading of the tag data 1 indicated by the reference ID 412 fails, as will be described later.

アンカー記憶部132は、過去最後に同期処理を行った時点(以下、「アンカー時点」という。)が記憶される。アンカー時点は、日時としてもよいし、同期データ40が作成されもしくは更新され、又は同期処理が行われる度に増加するシリアル値としてもよい。   The anchor storage unit 132 stores a time point when the last synchronization process was performed (hereinafter referred to as “anchor time point”). The anchor time may be a date and time, or may be a serial value that increases every time the synchronization data 40 is created or updated or synchronization processing is performed.

ダウンロード失敗ID記憶部133は、サーバ20からのダウンロードが失敗した同期データ40のGUIDを記憶する。アップロード失敗ID記憶部134は、サーバ20へのアップロードが失敗した同期データ40のGUIDを記憶する。   The download failure ID storage unit 133 stores the GUID of the synchronization data 40 that has failed to be downloaded from the server 20. The upload failure ID storage unit 134 stores the GUID of the synchronization data 40 that failed to be uploaded to the server 20.

同期処理部111は、サーバ20との間で同期データ40の同期を行う。本実施形態では、同期処理部111は、アンカー時点よりも後にサーバ20において作成又は更新された同期データ40をサーバ20からダウンロードするとともに、アンカー時点よりも後にクライアント10において作成又は更新された同期データ40をサーバ20にアップロードすることにより同期処理を行う。同期データ40のダウンロードは、同期処理部111が、同期データ40をダウンロードすることを要求するコマンド(以下、「ダウンロード要求」という。)をサーバ20に送信し、ダウンロード要求に応じてサーバ20から送信される同期データ40を受信する。ダウンロード要求には、アンカー時点が設定される。ダウンロード要求にはさらに、ダウンロードする同期データ40を示すGUIDを設定することもできる。サーバ20からは、ダウンロード要求に設定されるアンカー時点よりも後に作成又は更新された同期データ40が応答され、またダウンロード要求にGUIDが設定されていれば、そのGUIDに対応する同期データ40も応答される。なお、本実施形態では一般的な同期処理に係る処理については説明を省略するが、もちろん同期処理部111は一般的な同期処理に係る各種の処理を行うことができる。   The synchronization processing unit 111 synchronizes the synchronization data 40 with the server 20. In the present embodiment, the synchronization processing unit 111 downloads the synchronization data 40 created or updated in the server 20 after the anchor time from the server 20 and also created or updated in the client 10 after the anchor time. The synchronization process is performed by uploading 40 to the server 20. To download the synchronization data 40, the synchronization processing unit 111 transmits a command (hereinafter referred to as “download request”) requesting to download the synchronization data 40 to the server 20 and transmits it from the server 20 in response to the download request. Synchronization data 40 to be received is received. The anchor point is set in the download request. Further, a GUID indicating the synchronization data 40 to be downloaded can be set in the download request. The server 20 responds with synchronization data 40 created or updated after the anchor point set in the download request, and if a GUID is set in the download request, the synchronization data 40 corresponding to the GUID also responds. Is done. In the present embodiment, description of processing related to general synchronization processing is omitted, but of course, the synchronization processing unit 111 can perform various processing related to general synchronization processing.

同期データ40のダウンロード及びアップロードは失敗することがある。例えば、通信路30においてエラーが発生した場合や、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードが失敗することが考えられる。なお、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40の全てを受信することができなかった場合に、ダウンロード又はアップロードが失敗したものとする。   Downloading and uploading the synchronization data 40 may fail. For example, when an error occurs in the communication path 30 or when an error occurs when recording the synchronization data 40, restrictions on the communication amount and storage capacity are set, and the downloaded or uploaded synchronization data 40 is Downloads and uploads may fail if restrictions are violated. In this embodiment, for the sake of simplicity, the synchronization data 40 to be downloaded or uploaded is synchronized with an error in the communication path 30 after exchange between the client 10 and the server 20. It is assumed that downloading or uploading fails when all of the data 40 cannot be received.

同期処理部111は、同期データ40のダウンロードに失敗した場合には、失敗した同期データ40のGUIDをダウンロード失敗ID記憶部133に登録し、同期データ40のアップロードに失敗した場合には、失敗した同期データ40のGUIDをアップロード失敗ID記憶部134に登録する。後述するように、同期処理部111は、アップロード失敗ID記憶部133にGUIDが登録されている同期データ40については、更新時点がアンカー時点より前であっても再度アップロードを行う。また、同期処理部111は、ヘッダ部41に不整合ID415が設定されている同期データ40については、更新時点にかかわらず、明示的にその同期データ40をダウンロードする。なお、同期データ40の同期処理の詳細については後述する。   The synchronization processing unit 111 registers the GUID of the failed synchronization data 40 in the download failure ID storage unit 133 when the download of the synchronization data 40 fails, and fails when the upload of the synchronization data 40 fails. The GUID of the synchronization data 40 is registered in the upload failure ID storage unit 134. As will be described later, the synchronization processing unit 111 uploads the synchronization data 40 whose GUID is registered in the upload failure ID storage unit 133 again even if the update time is before the anchor time. Further, the synchronization processing unit 111 explicitly downloads the synchronization data 40 in which the inconsistency ID 415 is set in the header unit 41 regardless of the update time. Details of the synchronization process of the synchronization data 40 will be described later.

ヘッダ変更部112は、ある同期データ40のダウンロードが失敗した場合に、その同期データ40を参照している他の同期データ40のヘッダ部41から参照ID411を削除し、参照ID411に設定されていたGUIDを不整合ID415としてヘッダ部41に設定する。ヘッダ変更部112は、同期データ40のダウンロードが成功した場合には、その同期データ40のGUIDが不整合ID415として設定されていた同期データ40について、不整合ID415を削除し、不整合ID415に設定されていたGUIDを参照ID411として設定する。   The header changing unit 112 deletes the reference ID 411 from the header part 41 of the other synchronization data 40 referring to the synchronization data 40 when the download of the synchronization data 40 fails, and is set to the reference ID 411 The GUID is set in the header part 41 as the inconsistency ID 415. When the synchronization data 40 is successfully downloaded, the header changing unit 112 deletes the inconsistency ID 415 and sets the inconsistency ID 415 for the synchronization data 40 in which the GUID of the synchronization data 40 is set as the inconsistency ID 415. The set GUID is set as the reference ID 411.

また、ヘッダ変更部112は、ある同期データ40のアップロードが成功した場合に、その同期データ40のGUIDがアップロード失敗ID記憶部134に登録されている場合には、そのGUIDが参照ID411として設定されている同期データ40もアップロードされるように、更新時点414をアンカー時点よりも後に設定する。   The header changing unit 112 sets the GUID as the reference ID 411 when the upload of a certain synchronization data 40 is successful and the GUID of the synchronization data 40 is registered in the upload failure ID storage unit 134. The update time 414 is set after the anchor time so that the synchronized data 40 being uploaded is also uploaded.

==サーバ20==
図6は、サーバ20のソフトウェア構成例を示す図である。サーバ20は、同期処理部211、ヘッダ変更部212、同期データ記憶部231、及び失敗ID記憶部232を備える。なお、同期処理部211及びヘッダ変更部212は、サーバ20が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。また、同期データ記憶部231及び失敗ID記憶部232は、サーバ20が備えるメモリ102や記憶装置103が提供する記憶領域の一部として実現される。
== Server 20 ==
FIG. 6 is a diagram illustrating a software configuration example of the server 20. The server 20 includes a synchronization processing unit 211, a header change unit 212, a synchronization data storage unit 231, and a failure ID storage unit 232. The synchronization processing unit 211 and the header changing unit 212 are realized by the CPU 101 included in the server 20 reading out the program stored in the storage device 103 to the memory 102 and executing it. The synchronous data storage unit 231 and the failure ID storage unit 232 are realized as part of a storage area provided by the memory 102 or the storage device 103 provided in the server 20.

同期データ記憶部231は、同期データ40を記憶する。同期データ記憶部231は、上述した図5に示すクライアント10の同期データ記憶部131と同様の構成である。   The synchronization data storage unit 231 stores the synchronization data 40. The synchronous data storage unit 231 has the same configuration as the synchronous data storage unit 131 of the client 10 shown in FIG.

失敗ID記憶部232は、クライアント10からのアップロードが失敗した同期データ40のGUIDを記憶する。   The failure ID storage unit 232 stores the GUID of the synchronization data 40 for which uploading from the client 10 has failed.

同期処理部211は、クライアント10との間で同期データ40の同期を行う。同期処理部211は、クライアント10からダウンロード要求を受信した場合、ダウンロード要求に含まれているアンカー時点よりも作成時点又は更新時点が新しい同期データ40を同期データ記憶部231から検索し、検索した同期データ40をクライアント10に送信する。また、同期処理部211は、ダウンロード要求にGUIDが設定されている場合には、そのGUIDに対応する同期データ40を同期データ記憶部231から読み出してクライアント10に送信する。   The synchronization processing unit 211 synchronizes the synchronization data 40 with the client 10. When the synchronization processing unit 211 receives a download request from the client 10, the synchronization processing unit 211 searches the synchronization data storage unit 231 for the synchronization data 40 that has a newer creation time or update time than the anchor time included in the download request. Data 40 is transmitted to the client 10. Further, when a GUID is set in the download request, the synchronization processing unit 211 reads the synchronization data 40 corresponding to the GUID from the synchronization data storage unit 231 and transmits it to the client 10.

また、同期処理部211は、クライアント10から同期データ40がアップロードされてきた場合、アップロードされてきた同期データ40を受信して同期データ記憶部231に登録し、当該同期データ40のGUIDが失敗ID記憶部232に登録されていた場合には、失敗ID記憶部232から当該GUIDを削除する。同期処理部211は、同期データ40のアップロードが失敗した場合には、当該同期データ40のGUIDを失敗ID記憶部232に登録する。なお、同期処理部211は、一般的な同期処理を行うこともできる。   Further, when the synchronization data 40 is uploaded from the client 10, the synchronization processing unit 211 receives the uploaded synchronization data 40 and registers it in the synchronization data storage unit 231, and the GUI ID of the synchronization data 40 is the failure ID. If it is registered in the storage unit 232, the GUID is deleted from the failure ID storage unit 232. When the upload of the synchronization data 40 fails, the synchronization processing unit 211 registers the GUID of the synchronization data 40 in the failure ID storage unit 232. Note that the synchronization processing unit 211 can also perform general synchronization processing.

ヘッダ変更部212は、失敗ID記憶部232に記憶されているGUIDを参照ID412としてヘッダ部41に含む同期データ40が同期データ記憶部232に登録される場合、当該同期データ40のヘッダ部41の参照ID412を削除する。   When the synchronization data 40 including the GUID stored in the failure ID storage unit 232 as the reference ID 412 in the header unit 41 is registered in the synchronization data storage unit 232, the header changing unit 212 stores the header data 41 of the synchronization data 40. The reference ID 412 is deleted.

==同期処理==
以下、本実施形態のデータ同期システムにおける同期データ40の同期処理について説明する。図7は、データ同期システムにおける同期処理の流れを説明する図である。データ同期システムにおける同期処理では、同期データ40をサーバ20からクライアント10にダウンロードするダウンロード処理を行われ(S501)、クライアント10において衝突の解消処理が行われ(S502)、クライアント10においてダウンロードした同期データ40の登録処理が行われる(S503)。次に、クライアント10からサーバ20への同期データ40のアップロード処理が行われ(S504)、サーバ20においてアップロードされた同期データ40の登録処理が行われ(S505)、不整合ID415が設定されている同期データ40の更新処理(不整合解消処理)が行われる(S506)。最後に、クライアント10においてアンカー時点が新しい時点(例えば、現時点としてもよいし、ダウンロードまたはアップロードした同期データ40の作成時点又は更新時点のうち最も新しい時点としてもよい。)に更新される(S507)。
== Synchronous processing ==
Hereinafter, a synchronization process of the synchronization data 40 in the data synchronization system of the present embodiment will be described. FIG. 7 is a diagram for explaining the flow of synchronization processing in the data synchronization system. In the synchronization process in the data synchronization system, a download process for downloading the synchronization data 40 from the server 20 to the client 10 is performed (S501), a collision resolution process is performed in the client 10 (S502), and the synchronization data downloaded in the client 10 is downloaded. 40 registration processes are performed (S503). Next, upload processing of the synchronization data 40 from the client 10 to the server 20 is performed (S504), registration processing of the synchronization data 40 uploaded in the server 20 is performed (S505), and the inconsistency ID 415 is set. Update processing (inconsistency elimination processing) of the synchronization data 40 is performed (S506). Finally, the anchor point in the client 10 is updated to a new point (for example, the present point of time or the latest point in time of creation or update of the downloaded or uploaded synchronization data 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からダウンロードされる。
FIG. 8 is a diagram showing the flow of download processing in step S501 of FIG.
The synchronization processing unit 111 of the client 10 reads the anchor point from the anchor storage unit 132 (S521), and creates a download request in which the read anchor point is set (S522). The synchronization processing unit 111 reads the GUID stored in the download failure ID storage unit 133 and sets it as a download request (S523). The synchronization processing unit 111 searches the synchronization data storage unit 131 for the synchronization data 40 in which the inconsistency ID 415 is set and the GUID set in the inconsistency ID 415 is not registered in the download failure ID storage unit 133. (S524) If the synchronous data 40 is searched, the GUID of the synchronous data 40 is set in the download request (S525). The synchronization processing unit 111 transmits a download request to the server 20 (S526).
The synchronization processing unit 211 of the server 20 reads, from the synchronization data storage unit 231, the synchronization data 40 in which the creation time 413 or the update time 414 after the anchor time set in the download request received from the client 10 is set. (S527) The read synchronous data 40 is transmitted to the client 10 (S528).
The synchronization processing unit 111 of the client 10 receives the synchronization data 40 from the server 20 (S529), and if there is synchronization data 40 that has failed to be received, the GUI of the failed synchronization data 40 is stored in the download failure ID storage unit 133. Register (S530). The synchronization processing unit 111 creates a list of the synchronization data 40 that has been successfully downloaded (S531), and deletes the GUID of the synchronization data 40 that has been successfully downloaded from the download failure ID storage unit 133 (S532).
As described above, the server 20 includes the synchronization data 40 created or updated after the anchor time, the synchronization data 40 that failed to be downloaded last time, and the synchronization data 40 whose reference destination failed to download. Downloaded from.

図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の衝突が解消される。   FIG. 9 is a diagram showing the flow of the collision elimination process in step S502 of FIG. The synchronization processing unit 111 of the client 10 performs the following processing for each of the synchronization data 40 that has been successfully downloaded. The synchronization processing unit 111 determines whether or not a collision has occurred in the synchronization data 40 (S541). Data collision means that data has been updated in each of two devices that are synchronizing data. In the present embodiment, when the synchronization data 40 update time 414 downloaded from the server 20 and the update time 414 of the synchronization data 40 stored in the synchronization data storage unit 131 are both later than the anchor time, the collision occurs. Detected. When detecting a collision (S541: YES), the synchronization processing unit 111 determines which of the synchronization data 40 downloaded from the server 20 and the synchronization data 40 stored in the client 10 is prioritized (S542). . For example, the synchronization processing unit 111 may always prioritize either the synchronization data 40 of the server 20 or the client 10, or may determine which one is prioritized according to the update time point 414, You may make it receive designation | designated from a user. When the synchronization processing unit 111 determines to prioritize the synchronization data 40 stored in the client 10 (S543: YES), the synchronization processing unit 111 deletes the synchronization data 40 from the list (S544). In this way, the collision of the synchronization data 40 is resolved in the client 10.

図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が設定されるようにすることができる。   FIG. 10 is a diagram showing the flow of registration processing of the synchronization data 40 by the client 10 in step S503 of FIG. The synchronization processing unit 111 of the client 10 registers the synchronization data 40 included in the list in the synchronization data storage unit 131 (S561). The synchronization processing unit 111 reads the GUID from the download failure ID storage unit 133 (S562). For each of the read GUIDs, the header changing unit 112 sets the GUID as the inconsistent ID 415 in the synchronization data 40 in which the GUID is set in the reference ID 412 (S563), and refers to the synchronization data 40. The synchronous data storage unit 131 is updated so as to delete the ID 412 (S564). In this way, when the synchronization data 40 is downloaded, the downloaded synchronization data 40 is registered in the synchronization data storage unit 131, and the synchronization data 40 that refers to the synchronization data 40 that has failed to download is referred to. The ID 412 may be deleted and an inconsistent ID 415 may be set instead.

図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にアップロードされる。
FIG. 11 is a diagram showing a flow of upload processing of the synchronization data 40 in step S504 of FIG.
The synchronization processing unit 111 of the client 10 reads the anchor time from the anchor storage unit 132 (S581), reads the synchronization data 40 that is newer in creation time 413 or update time 414 than the anchor time from the synchronization data storage unit 131 (S582), The synchronous data 40 corresponding to the GUID stored in the upload failure ID storage unit 134 is read from the synchronous data storage unit 131 (S583), and the read synchronous data 40 is transmitted to the server 20 (S584). The synchronization processing unit 111 deletes the GUID stored in the upload failure ID storage unit 134 (S585), and if there is synchronization data 40 that has failed to be transmitted, the GUI ID of the failed synchronization data 40 is uploaded to the upload failure ID storage unit 134. (S586).
On the other hand, the synchronization processing unit 211 of the server 20 receives the synchronization data 40 transmitted from the client 10 (S587), and if there is synchronization data 40 that has failed to be received, the GUI of the failed synchronization data 40 is indicated as a failure ID storage unit. It registers in H.232 (S588) and creates a list of synchronization data 40 that have been successfully received (S589).
As described above, the synchronization data 40 created or updated after the anchor point in the client 10 and the synchronization data 40 that failed to be uploaded last time are uploaded to the server 20.

図12は、図7のステップS505における、サーバ20による同期データ40の登録処理の流れを示す図である。サーバ20の同期処理部211は、リストに含まれている同期データ40を同期データ記憶部231に登録する(S601)。ヘッダ変更部212は、失敗ID記憶部232からGUIDを読み出し(S602)、読み出したGUIDのそれぞれについて、同期データ記憶部231に記憶されている同期データ40のうち、当該GUIDが参照ID412として設定されているものから参照ID412を削除する(S603)。   FIG. 12 is a diagram showing a flow of registration processing of the synchronization data 40 by the server 20 in step S505 of FIG. The synchronization processing unit 211 of the server 20 registers the synchronization data 40 included in the list in the synchronization data storage unit 231 (S601). The header changing unit 212 reads the GUID from the failure ID storage unit 232 (S602), and for each of the read GUIDs, the GUID is set as the reference ID 412 among the synchronization data 40 stored in the synchronization data storage unit 231. The reference ID 412 is deleted from the existing one (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が復活することになる。   FIG. 13 is a diagram showing the flow of inconsistency resolution processing by the client 10 in step S506 of FIG. The header changing unit 112 of the client 10 searches the synchronization data storage unit 131 for the synchronization data 40 for which the inconsistency ID 415 is set (S621), and each of the searched synchronization data 40 is set to the inconsistency ID 415. It is determined whether or not the GUID is registered in the upload failure ID storage unit 134 (S622). If not registered (S622: NO), the GUID set in the inconsistent ID 415 is set as the reference ID 412 in the header unit 41. It is set (S623), the inconsistency ID 415 is deleted (S624), and the update time 414 is updated to a time later than the anchor time (for example, the current time) (S625). As a result, the synchronous data 40 is uploaded to the server 20 in the next upload process. Since the server 20 has deleted the reference ID 412 from the header portion 41 of the synchronous data 40 that failed to be uploaded, the reference ID deleted by this upload is restored.

以上説明したように、本実施形態のデータ同期システムによれば、参照関係を有する同期データ40を同期する際に、参照先の同期データ40の同期が失敗した場合でも、一時的に参照元の同期データ40からの参照ID412を削除して、参照関係を解除することができる。一般に関係性を有するデータを同期する場合には、アトミックな同期処理が行われ、参照先のデータの同期が失敗した場合には、参照元のデータの同期も失敗したものとされるが、本実施形態のデータ同期システムによれば、参照先の同期データ40の同期が失敗した場合でも、参照元の同期データ40は引き続き利用することが可能となる。したがって、同期データ40の可用性を高めることができる。   As described above, according to the data synchronization system of the present embodiment, when synchronizing the synchronization data 40 having the reference relationship, even if the synchronization of the reference destination synchronization data 40 fails, the reference source temporarily The reference ID 412 from the synchronization data 40 can be deleted to release the reference relationship. In general, when synchronizing related data, an atomic synchronization process is performed. When synchronization of reference data fails, reference data synchronization also fails. According to the data synchronization system of the embodiment, even when the synchronization of the reference destination synchronization data 40 fails, the reference source synchronization data 40 can be continuously used. Therefore, the availability of the synchronization data 40 can be increased.

また、本実施形態のデータ同期システムによれば、サーバ20側では、ダウンロードの失敗について管理する必要がなく、また、アップロードが失敗した場合には、失敗した同期データ40を参照している同期データ40から参照ID412を削除するだけでよい。すなわち、サーバ20は、参照関係の復旧等を考慮する必要がない。したがって、サーバ20が数多くのクライアント10との間で同期を行う場合でも、参照関係を管理するためのサーバ20の負荷を軽減することができる。   Further, according to the data synchronization system of the present embodiment, the server 20 does not need to manage the download failure, and if the upload fails, the synchronization data referring to the failed synchronization data 40 It is only necessary to delete the reference ID 412 from 40. That is, the server 20 does not need to consider restoration of the reference relationship. Therefore, even when the server 20 synchronizes with many clients 10, the load of the server 20 for managing the reference relationship can be reduced.

なお、本実施形態では、クライアント10は1台であるものとしたが、もちろん複数のクライアント10とサーバ20とが同期を行うようにすることもできる。また、サーバ20を複数台により構成してもよい。   In the present embodiment, the number of clients 10 is one. However, a plurality of clients 10 and the server 20 may be synchronized. Moreover, you may comprise the server 20 by multiple units | sets.

また、本実施形態では、画像データ及びタグデータのみをクライアント10及びサーバ20の間で同期するものとしたが、もちろん、フォルダやリレーショナルデータベース管理システムで管理されるレコードなど、他のデータへの参照ID412を設定可能な各種のデータを同期することも可能である。   In the present embodiment, only the image data and the tag data are synchronized between the client 10 and the server 20, but, of course, reference to other data such as a folder and a record managed by a relational database management system. It is also possible to synchronize various data for which the ID 412 can be set.

また、本実施形態では、タグデータ1と画像データ2とは1対多の関係であるものとしたが、1対1の関係であってもよいし、多対多の関係であってもよい。多対多の関係である場合、参照ID412は、同期データ40のヘッダ部41に設定せず、関係性を管理するデータ(以下、「関係性データ」という。)に設定するようにしてもよい。   In the present embodiment, the tag data 1 and the image data 2 are assumed to have a one-to-many relationship, but may be a one-to-one relationship or a many-to-many relationship. . In the case of a many-to-many relationship, the reference ID 412 may not be set in the header portion 41 of the synchronization data 40 but may be set in data for managing the relationship (hereinafter referred to as “relationship data”). .

また、本実施形態では、画像データ2にのみ参照ID412が設定されるものとしたが、タグデータ1にも、画像データ2への参照ID412を設定するようにしてもよい。   In this embodiment, the reference ID 412 is set only for the image data 2, but the reference ID 412 for the image data 2 may be set for the tag data 1.

また、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40を受信できなかった場合に、ダウンロード又はアップロードが失敗したものとしたが、通信路30におけるエラーに限らず、例えば、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードの失敗を検出するようにしてもよい。   In this embodiment, for the sake of simplicity, the synchronization data 40 to be downloaded or uploaded is synchronized with an error in the communication path 30 after exchange between the client 10 and the server 20. The download or upload failed when the data 40 could not be received. However, not only the error in the communication path 30 but, for example, when an error occurs when recording the synchronous data 40, the communication amount or the storage If a restriction on the capacity is set and the downloaded or uploaded synchronization data 40 violates this restriction, a download or upload failure may be detected.

また、本実施形態では、不整合ID415が設定されていた同期データ40については、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合に、同期データ40の全体を再度アップロードするものとしたが、ヘッダ部41のみをアップロッドしてもよい。また、同期データ40のダウンロード及びダウンロードの際に、ボディ部42の差異の有無を判定し、差異がある場合には同期データ40の全体をダウンロード又はアップロードし、差異がない場合にはヘッダ部41のみをダウンロード又はアップロードするようにしてもよい。さらには、同期データ40の差分のみをアップロード又はダウンロードするようにすることもできる。   In the present embodiment, for the synchronous data 40 for which the inconsistent ID 415 has been set, when the upload of the synchronous data 40 corresponding to the GUID set in the inconsistent ID 415 is successful, the entire synchronous data 40 is restored again. Although uploading is assumed, only the header 41 may be uploaded. Further, when downloading and downloading the synchronization data 40, it is determined whether or not there is a difference in the body part 42. If there is a difference, the entire synchronization data 40 is downloaded or uploaded. If there is no difference, the header part 41 is downloaded. You may make it download or upload only. Furthermore, only the difference of the synchronization data 40 can be uploaded or downloaded.

また、本実施形態では、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合、更新時点414を更新することにより、再度アップロードが行われるようにしたが、図13のステップS625を省略し、アップロードを行わないようにしてもよい。   Further, in this embodiment, when the synchronization data 40 corresponding to the GUID set in the inconsistent ID 415 is successfully uploaded, the upload is performed again by updating the update time point 414. Step S625 may be omitted and uploading may not be performed.

また、本実施形態では、タグデータ1のダウンロードが失敗した場合、そのタグデータ1のGUIDが参照ID412に設定されている画像データ2のヘッダ41から、当該参照ID411が削除され、代わりに不整合ID415が設定されるものとしたが、これに限らず、参照ID412を削除せず、また不整合ID415を設定しないようにすることもできる。この場合、例えば、アップロード失敗ID記憶部134に登録されていたGUIDに対応する同期データ40のアップロードが成功した場合に、当該GUIDを記憶するアップロード成功ID記憶部を設けるようにし、参照ID412に設定されているGUIDがアップロード成功ID記憶部に登録されているものについて、再度アップロードを行うようにしてもよい。   Further, in the present embodiment, when the download of the tag data 1 fails, the reference ID 411 is deleted from the header 41 of the image data 2 in which the GUID of the tag data 1 is set to the reference ID 412, and inconsistency is used instead. Although the ID 415 is set, the present invention is not limited to this, and the reference ID 412 may not be deleted and the inconsistent ID 415 may not be set. In this case, for example, when the upload of the synchronization data 40 corresponding to the GUID registered in the upload failure ID storage unit 134 is successful, an upload success ID storage unit for storing the GUID is provided, and the reference ID 412 is set. For those GUIDs registered in the upload success ID storage unit, uploading may be performed again.

以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。   Although the present embodiment has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.

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
DESCRIPTION OF SYMBOLS 1 Tag data 2 Image data 10 Client 20 Server 30 Communication path 40 Synchronization data 41 Header part 42 Body part 111 Synchronization processing part 112 Header change part 131 Synchronization data storage part 132 Anchor storage part 133 Download failure ID storage part 134 Upload failure ID storage Unit 211 synchronization processing unit 212 header changing unit 231 synchronization data storage unit 232 failure ID storage unit 411 GUID
412 Reference ID
413 Creation time 414 Update time 415 Inconsistency ID

Claims (11)

データを記憶するサーバとの間でデータを同期する装置であって、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、
を備えることを特徴とするデータ同期装置。
A device for synchronizing data with a server for storing data,
A data storage unit that stores first data and second data that refers to the first data and in which reference information indicating the first data is set;
A synchronization processing unit that acquires the first and second data stored in the server and registers the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. A data change part to be set in the data;
A data synchronizer comprising:
請求項1に記載のデータ同期装置であって、
前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得すること、
を特徴とするデータ同期装置。
The data synchronizer according to claim 1,
When the second data in which the inconsistency information is set is registered in the data storage unit when the synchronization processing unit has succeeded in obtaining the first data, the second processing unit Obtaining data from the server,
A data synchronizer characterized by the above.
請求項1又は2のいずれかに記載のデータ同期装置であって、
取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、
前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定すること、
を特徴とするデータ同期装置。
The data synchronization device according to claim 1 or 2,
A failure data storage unit for storing data specifying information for specifying data that has failed to be acquired;
If the acquisition of the first data fails, the synchronization processing unit registers the data specifying information for specifying the first data in the failure data storage unit,
For each of the data specifying information registered in the failure data storing unit, the data changing unit sends the second data in which the reference information corresponding to the data specifying information is set from the data storing unit. Searching, releasing the setting of the reference information from the searched second data, and setting the inconsistency information;
A data synchronizer characterized by the above.
サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、
前記クライアントは、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、
前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、
を備え、
前記サーバは、
前記第1及び第2のデータを記憶するサーバデータ記憶部と、
前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、
前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、
を備え、
前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
を特徴とするデータ同期システム。
A system for synchronizing data between a server and a client communicably connected to the server,
The client
A client data storage unit that stores first data and second data that refers to the first data and in which reference information indicating the first data is set;
A client synchronization processing unit for uploading the first and second data stored in the client data storage unit to the server;
With
The server
A server data storage unit for storing the first and second data;
A server synchronization processing unit that receives the first and second data uploaded from the client and registers in the received server data storage unit;
A server data changing unit for releasing the setting of the reference information from the second data when reception of the first data fails;
With
The client synchronization processing unit uploads the first data again when the upload of the first data fails, and identifies the first data when the upload of the first data succeeds. Reading the second data set with the reference information from the client data storage unit and uploading the read second data to the server again;
A data synchronization system characterized by
請求項4に記載のデータ同期システムであって、
前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、
前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードすること、
を特徴とするデータ同期システム。
The data synchronization system according to claim 4,
The data includes a header part, and the reference information is included in the header part,
The client synchronization processing unit uploads only the header part of the second data to the server again when the first data upload succeeds;
A data synchronization system characterized by
請求項4又は5のいずれかに記載のデータ同期システムであって、
前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除すること、
を特徴とするデータ同期システム。
A data synchronization system according to any one of claims 4 and 5,
The server includes a failure data storage unit that stores data specifying information for specifying data that failed to be uploaded,
The server synchronization processing unit refers to the reference when the data specifying information for specifying the first data indicated by the reference information set in the second data is registered in the failure data storage unit. Canceling the information settings,
A data synchronization system characterized by
請求項4乃至6のいずれかに記載のデータ同期システムであって、
前記第1及び第2のデータには更新時点が設定され、
前記クライアントは、
前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、
前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、
前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードすること、
を特徴とするデータ同期システム。
The data synchronization system according to any one of claims 4 to 6,
An update time point is set in the first and second data,
The client
An anchor point storage unit that stores an anchor point that is a point of time when the data was last uploaded to the server;
When re-uploading of the first data is successful, the second data in which the reference information indicating the first data is set is retrieved from the client data storage unit, and the retrieved second data An update point update unit for updating the update point of data to a point newer than the anchor point;
The client synchronization processing unit uploads the first and second data set with the update time after the anchor time to the server;
A data synchronization system characterized by
請求項7に記載のデータ同期システムであって、
前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードすること、
を特徴とするデータ同期システム。
The data synchronization system according to claim 7, wherein
The client includes a failure data storage unit that stores data specifying information for specifying the first data that has failed to be uploaded,
The client synchronization processing unit further uploads the first data specified by the data specifying information stored in the failure data storage unit to the server;
A data synchronization system characterized by
データを記憶するサーバとの間でデータを同期する方法であって、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定すること、
を特徴とするデータ同期方法。
A method of synchronizing data with a server storing data,
A computer including a data storage unit that stores first data and second data in which reference information indicating the first data is set, which refers to the first data.
Acquiring the first and second data stored in the server, registering the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. To set the data,
A data synchronization method characterized by the above.
サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、
前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、
前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、
前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、
前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
を特徴とするデータ同期方法。
A method of synchronizing data between a server and a client communicatively connected to the server,
The client comprising a client data storage unit that stores first data and second data that is set with reference information indicating the first data and that refers to the first data. Uploading the first and second data stored in the server to the server;
The server including a server data storage unit that stores the first and second data,
Receive the first and second data uploaded from the client, register in the received server data storage unit,
When the reception of the first data fails, the setting of the reference information is canceled from the second data,
When the upload of the first data fails, the first data is uploaded again. When the upload of the first data succeeds again, the reference information for specifying the first data is set. Reading the second data from the client data storage unit and uploading the read second data to the server again.
A data synchronization method characterized by the above.
データを記憶するサーバとの間でデータを同期するためのプログラムであって、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、
を実行させるためプログラム。
A program for synchronizing data with a server storing data,
A computer including a data storage unit that stores first data and second data that is set with reference information indicating the first data and that refers to the first data.
Acquiring the first and second data stored in the server, and registering the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. Steps to set the data,
A program for running.
JP2011087683A 2011-04-11 2011-04-11 Data synchronization apparatus, data synchronization system, data synchronization method and program Expired - Fee Related JP5656722B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011087683A JP5656722B2 (en) 2011-04-11 2011-04-11 Data synchronization apparatus, data synchronization system, data synchronization method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011087683A JP5656722B2 (en) 2011-04-11 2011-04-11 Data synchronization apparatus, data synchronization system, data synchronization method and program

Publications (2)

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

Family

ID=47272723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011087683A Expired - Fee Related JP5656722B2 (en) 2011-04-11 2011-04-11 Data synchronization apparatus, data synchronization system, data synchronization method and program

Country Status (1)

Country Link
JP (1) JP5656722B2 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542704B2 (en) 2014-06-26 2017-01-10 Amazon Technologies Inc. Automatic image-based recommendations using a color palette
US9922050B2 (en) 2014-06-26 2018-03-20 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and color palette trends
US9524563B2 (en) 2014-06-26 2016-12-20 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9916613B1 (en) 2014-06-26 2018-03-13 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
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
US9652868B2 (en) 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9311889B1 (en) 2014-06-26 2016-04-12 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
US9697573B1 (en) 2014-06-26 2017-07-04 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US9245350B1 (en) 2014-06-26 2016-01-26 Amazon Technologies, Inc. Image-based color palette generation
US9177391B1 (en) 2014-06-26 2015-11-03 Amazon Technologies, Inc. Image-based color palette generation
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
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
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9727983B2 (en) 2014-06-26 2017-08-08 Amazon Technologies, Inc. Automatic color palette based recommendations
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US9679532B2 (en) 2014-06-26 2017-06-13 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9401032B1 (en) 2014-06-26 2016-07-26 Amazon Technologies, Inc. Image-based color palette generation
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
US10430857B1 (en) 2014-08-01 2019-10-01 Amazon Technologies, Inc. Color name based search
US9633448B1 (en) 2014-09-02 2017-04-25 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
JP6492938B2 (en) 2015-04-29 2019-04-03 株式会社リコー Authentication system, synchronization method, authentication apparatus, and synchronization program
CN110990359A (en) * 2019-12-18 2020-04-10 北京华峰创业科技有限公司 Method and system for cleaning useless data in synchronous framework

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295868A (en) * 1994-04-27 1995-11-10 Hitachi Ltd Integrity constraint control method for
JPH09293010A (en) * 1996-04-26 1997-11-11 Mitsubishi Electric Corp Information synchronizing method
AU763524B2 (en) * 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
JP2001273217A (en) * 2000-03-28 2001-10-05 Canon Inc Client/server system and data sharing method therefor
JP4111881B2 (en) * 2003-06-30 2008-07-02 エスアーペー アーゲー Data synchronization control device, data synchronization control method, and data synchronization control program
JP4894483B2 (en) * 2006-11-29 2012-03-14 ソニー株式会社 Data management server, data management system, data management method and program
JP5061166B2 (en) * 2009-09-04 2012-10-31 Kii株式会社 Data synchronization system and data synchronization method

Also Published As

Publication number Publication date
JP2012221317A (en) 2012-11-12

Similar Documents

Publication Publication Date Title
JP5656722B2 (en) Data synchronization apparatus, data synchronization system, data synchronization method and program
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
Uppoor et al. Cloud-based synchronization of distributed file system hierarchies
JP6265443B2 (en) System and method for automatic sharing, synchronization and collaboration of information among users of a group
EP2047382B1 (en) Two-way and multi-master synchronization over web syndications
US9495434B1 (en) Geographic distribution of files
US20140304232A1 (en) Employing user-context in connection with backup or restore of data
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
US10412163B2 (en) Computer system, distributed object sharing method, and edge node
US20110296425A1 (en) Management apparatus, management system, and recording medium for recording management program
JP3756349B2 (en) Database management apparatus and recording medium on which program is recorded
JP5724465B2 (en) Electronic device, information processing system, and program
EP2763354B1 (en) Method and apparatus for preventing duplicate saving of resource between universal plug and play devices providing content directory service
JP6192423B2 (en) Information processing apparatus, information processing method, information processing system, and program
JP2009163640A (en) Information providing device, information providing method, program, and recording medium
US10872063B2 (en) Local terminal and synchronization system including the same
JP2006309696A (en) File management method, file management system, and program
US8150802B2 (en) Accumulating star knowledge in replicated data protocol
JP4574654B2 (en) Personal information management apparatus, personal information management method, recording medium, and program
US20160055194A1 (en) Data synchronization management between devices
RU2609089C2 (en) System and method of performing queue of requests for digital objects
JP2010061395A (en) Information processing apparatus, information processing method, information acquisition apparatus, information acquisition method, communication system and communication method

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