Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4719243B2 - Data synchronization method and communication apparatus - Google Patents
[go: Go Back, main page]

JP4719243B2 - Data synchronization method and communication apparatus - Google Patents

Data synchronization method and communication apparatus Download PDF

Info

Publication number
JP4719243B2
JP4719243B2 JP2008106953A JP2008106953A JP4719243B2 JP 4719243 B2 JP4719243 B2 JP 4719243B2 JP 2008106953 A JP2008106953 A JP 2008106953A JP 2008106953 A JP2008106953 A JP 2008106953A JP 4719243 B2 JP4719243 B2 JP 4719243B2
Authority
JP
Japan
Prior art keywords
data
synchronization
communication
unit
communication device
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
JP2008106953A
Other languages
Japanese (ja)
Other versions
JP2009258971A (en
Inventor
恭介 中矢
千恵 野田
利樹 ▲高▼津
哲夫 佐藤
拓 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2008106953A priority Critical patent/JP4719243B2/en
Publication of JP2009258971A publication Critical patent/JP2009258971A/en
Application granted granted Critical
Publication of JP4719243B2 publication Critical patent/JP4719243B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、データ同期方法および通信装置に関するものである。   The present invention relates to a data synchronization method and a communication device.

従来、例えば特許文献1に記載されたように、端末装置とサーバとの間でデータの同期を取るシステムが知られている。このようなシステムでは、例えば、コンサートスケジュールやスポーツ試合スケジュール等の日程情報が端末装置で更新された場合に、その更新内容を端末装置からサーバに送信することにより、端末装置で発生したデータ更新をサーバに反映させる。
特開2003−330849号公報
2. Description of the Related Art Conventionally, as described in Patent Document 1, for example, a system that synchronizes data between a terminal device and a server is known. In such a system, for example, when schedule information such as a concert schedule or a sports game schedule is updated in the terminal device, the update content is transmitted from the terminal device to the server, thereby updating the data generated in the terminal device. Reflect on the server.
JP 2003-330849 A

上記のようなシステムにおいて、端末装置が更新内容(例えば個々の日程情報)を含む全てのデータ(例えば全体のカレンダーデータ)を一つのデータ構造体としてサーバに送信することが行われている。つまり、例えば、更新された日程情報を一つのオブジェクトとして含むカレンダー構造体の全体を、データ送受信の単位としている。このことにより、構造体毎の確実な送受信処理を行うことができる。   In the system as described above, the terminal device transmits all data (for example, the entire calendar data) including the update contents (for example, individual schedule information) to the server as one data structure. That is, for example, the entire calendar structure including the updated schedule information as one object is used as a data transmission / reception unit. Thus, reliable transmission / reception processing for each structure can be performed.

しかしながら、構造体全体を同期の単位とする場合には、例えば一つの構造体のサイズが大きい場合や、構造体に不要なデータ(例えば未更新データ)が多く含まれている場合に、送受信されるデータ量が大きくなることや、送受信されるデータに同期不要なデータまで含まれることなど、同期処理が非効率的となる。   However, when the entire structure is used as a unit of synchronization, for example, when the size of one structure is large or the structure contains a lot of unnecessary data (for example, unupdated data), it is transmitted / received. The synchronization processing becomes inefficient, such as an increase in the amount of data to be transmitted and the fact that data that is not required for synchronization is included in transmitted and received data.

そこで、本発明は上記に鑑みてなされたもので、データ同期をオブジェクトを単位にして行うことにより、効率的な同期処理を可能とするデータ同期方法および通信装置を提供することを目的とする。   Therefore, the present invention has been made in view of the above, and an object thereof is to provide a data synchronization method and a communication apparatus that enable efficient synchronization processing by performing data synchronization in units of objects.

上記課題を解決するために、本発明のデータ同期方法は、データの同期を取り合う第1通信装置および第2通信装置を備える通信システムにおけるデータ同期方法であって、前記第1通信装置の第1同期手段が、前記第1通信装置の第1ログ格納手段に格納された第1ログ情報を参照して、所定のデータ集合体の単位であるオブジェクト単位でのデータの変化が前記第1通信装置の第1データ格納手段で発生した旨を判断する第1ステップと、前記第1同期手段が、当該変化のあった第1データおよび前記第1データを特定する第1特定情報を第1同期データとして前記第1データ格納手段よりオブジェクト単位で抽出する第2ステップと、前記第1通信装置の第1通信手段が、当該抽出した第1同期データを前記第2通信装置の第2通信手段に送信する第3ステップと、前記第2通信手段が、前記第1同期データを前記第1通信手段より受信する第4ステップと、前記第2通信装置の第2判断手段が、前記第1同期データに含まれた前記第1特定情報に基づいて、前記第1データを前記第2通信装置の第2データ格納手段に追加する追加動作、または前記第2データ格納手段に既に格納されており且つ前記第1特定情報に基づいて特定される第2既存データを前記第1データに書き換える変更動作、または前記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第5ステップと、前記第2通信装置の第2格納制御手段が、前記第2判断手段の判断結果に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を実行する第6ステップと、を備えることを特徴とする。   In order to solve the above-described problem, a data synchronization method of the present invention is a data synchronization method in a communication system including a first communication device and a second communication device that synchronize data. The synchronization means refers to the first log information stored in the first log storage means of the first communication device, and changes in data in units of objects, which are units of a predetermined data aggregate, are detected in the first communication device. The first step of determining that the first data storage means has occurred, and the first synchronization means sets the first data having changed and the first specification information for specifying the first data as the first synchronization data. A second step of extracting from the first data storage means in units of objects, and the first communication means of the first communication device sends the extracted first synchronization data to the second communication device of the second communication device. A third step of transmitting the first synchronization data; a fourth step in which the second communication means receives the first synchronization data from the first communication means; and a second determination means of the second communication device comprising: An additional operation of adding the first data to the second data storage means of the second communication device based on the first specific information included in the data, or already stored in the second data storage means; Fifth step of determining which one of the changing operation for rewriting the second existing data specified based on the first specifying information into the first data or the deleting operation for deleting the second existing data is to be executed And the second storage control means of the second communication device executes any one of the adding operation, the changing operation, and the deleting operation based on the determination result of the second determining device. , Characterized in that it comprises a.

また、本発明の第1通信装置は、第2通信装置との間でデータの同期を取る第1通信装置であって、第1データおよび前記第1データを特定する第1特定情報を格納する第1データ格納手段と、所定のデータ集合体の単位であるオブジェクト単位でのデータの変化が前記第1データ格納手段で発生した旨を表す第1ログ情報を格納する第1ログ格納手段と、前記第1ログ情報を参照して前記旨を判断し、当該変化のあった前記第1データおよび前記第1特定情報を第1同期データとして前記第1データ格納手段よりオブジェクト単位で抽出する第1同期手段と、当該抽出した前記第1同期データを前記第2通信装置の第2通信手段に送信する第1通信手段と、を備えることを特徴とする。   Moreover, the 1st communication apparatus of this invention is a 1st communication apparatus which synchronizes data between 2nd communication apparatuses, Comprising: The 1st specific information which specifies 1st data and said 1st data is stored. First data storage means; first log storage means for storing first log information indicating that a change in data in an object unit which is a unit of a predetermined data aggregate has occurred in the first data storage means; The first log information is referred to to determine the above, and the changed first data and the first specific information are extracted as first synchronization data from the first data storage means on a per-object basis. Synchronizing means and first communication means for transmitting the extracted first synchronization data to the second communication means of the second communication device.

また、本発明の第2通信装置は、第1通信装置との間でデータの同期を取る第2通信装置であって、第1データおよび前記第1データを特定する第1特定情報を含む第1同期データを前記第1通信装置の第1通信手段より受信する第2通信手段と、前記第1同期データに含まれた前記第1特定情報に基づいて、前記第1データを第2データ格納手段に追加する追加動作、または前記第2データ格納手段に既に格納されており且つ前記第1特定情報に基づいて特定される第2既存データを前記第1データに書き換える変更動作、または前記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第2判断手段と、前記第2判断手段の判断結果に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を実行する第2格納制御手段と、を備えることを特徴とする。   The second communication device of the present invention is a second communication device that synchronizes data with the first communication device, and includes first data and first specifying information that specifies the first data. Based on the second communication means for receiving one synchronization data from the first communication means of the first communication device and the first specific information included in the first synchronization data, the first data is stored in the second data. An adding operation for adding to the means, or a changing operation for rewriting the second existing data already stored in the second data storage means and specified based on the first specifying information with the first data, or the second Based on the determination result of the second determination means for determining which of the deletion operations to delete the existing data is to be executed, and any of the addition operation, the change operation, and the deletion operation Some actions Characterized in that it comprises a second storage control means for line, the.

このような本発明のデータ同期方法および通信装置によれば、第1通信装置および第2通信装置に備えられた各手段が上記の第1ステップから第6ステップまでの一連の流れとなる全ての手順を行うことにより、第1通信装置が同期データの発生元および送信側となり、且つ第2通信装置が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。   According to such a data synchronization method and communication device of the present invention, all means included in the first communication device and the second communication device are all in a series of flow from the first step to the sixth step. By performing the procedure, data synchronization is efficiently performed in units of objects when the first communication device is the source and transmitter of the synchronization data and the second communication device is the receiver of the synchronization data. Can do.

また、本発明のデータ同期方法は、前記第2通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第1通信手段に送信する第7ステップと、前記第1通信手段が、前記第2確認信号を前記第2通信手段より受信する第8ステップと、前記第1ログ格納手段が、前記第2確認信号に基づいて、前記第1ログ情報を削除する第9ステップと、を更に備えることが好ましい。   Further, the data synchronization method of the present invention includes a seventh step in which the second communication means transmits a second confirmation signal indicating that data synchronization with respect to the first synchronization data has been performed to the first communication means; An eighth step in which the first communication means receives the second confirmation signal from the second communication means; and the first log storage means deletes the first log information based on the second confirmation signal. It is preferable to further comprise a ninth step.

また、本発明の第1通信装置においては、前記第1通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第2通信手段より受信し、前記第1ログ格納手段が、前記第2確認信号に基づいて、前記第1ログ情報を削除することが好ましい。   In the first communication device of the present invention, the first communication unit receives a second confirmation signal indicating that data synchronization with respect to the first synchronization data has been performed from the second communication unit, and Preferably, one log storage means deletes the first log information based on the second confirmation signal.

また、本発明の第2通信装置においては、前記第2通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第1通信手段に送信することが好ましい。   In the second communication device of the present invention, it is preferable that the second communication unit transmits a second confirmation signal indicating that data synchronization with respect to the first synchronization data has been performed to the first communication unit. .

このような本発明のデータ同期方法および通信装置によれば、第1通信装置および第2通信装置に備えられた各手段が上記の第7ステップから第9ステップまでの一連の流れとなる全ての手順を行うことにより、第1通信装置は第2通信装置側でデータ同期が終了したことを把握することができる。   According to such a data synchronization method and communication device of the present invention, all means included in the first communication device and the second communication device are all in a series of flow from the seventh step to the ninth step. By performing the procedure, the first communication device can grasp that the data synchronization is completed on the second communication device side.

また、本発明において、前記第2通信装置の第2同期手段が、前記第2通信装置の第2ログ格納手段に格納された第2ログ情報を参照して、前記オブジェクト単位でのデータの変化が前記第2データ格納手段で発生した旨を判断する第10ステップと、前記第2同期手段が、当該変化のあった第2データおよび前記第2データを特定する第2特定情報を第2同期データとして前記第2データ格納手段よりオブジェクト単位で抽出する第11ステップと、前記第2通信手段が、当該抽出した第2同期データを前記第1通信手段に送信する第12ステップと、前記第1通信手段が、前記第2同期データを前記第2通信手段より受信する第13ステップと、前記第1通信装置の第1判断手段が、前記第2同期データに含まれた前記第2特定情報に基づいて、前記第2データを前記第1データ格納手段に追加する追加動作、または前記第1データ格納手段に既に格納されており且つ前記第2特定情報に基づいて特定される第1既存データを前記第2データに書き換える変更動作、または前記第1既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第14ステップと、前記第1通信装置の第1格納制御手段が、前記第1判断手段の判断結果に基づいて、該追加動作、該変更動作、該削除動作のうち何れかの動作を実行する第15ステップと、を更に備えることが好ましい。   In the present invention, the second synchronization unit of the second communication device refers to the second log information stored in the second log storage unit of the second communication device, and changes the data in units of the objects. The second step of determining that the second data storage means has occurred, and the second synchronization means second synchronizes the second data having changed and the second specifying information for specifying the second data. An eleventh step of extracting data from the second data storage means as an object unit, a twelfth step in which the second communication means transmits the extracted second synchronization data to the first communication means, and the first A communication means receives the second synchronization data from the second communication means in a thirteenth step, and the first determination means of the first communication device includes the second specific information included in the second synchronization data. Base The second data is added to the first data storage means, or the first existing data already stored in the first data storage means and specified based on the second specification information is A 14th step of determining which one of a change operation to rewrite to the second data or a delete operation to delete the first existing data, and a first storage control means of the first communication device, It is preferable to further include a fifteenth step of executing any one of the adding operation, the changing operation, and the deleting operation based on the determination result of the one determining means.

この場合には、第1通信装置および第2通信装置に備えられた各手段が上記の第10ステップから第15ステップまでの一連の流れとなる全ての手順を行うことにより、第2通信装置が同期データの発生元および送信側となり、且つ第1通信装置が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。   In this case, each means provided in the first communication device and the second communication device performs all the procedures in the series of steps from the tenth step to the fifteenth step, so that the second communication device Data synchronization can be efficiently performed in units of objects when the synchronization data is generated and transmitted, and the first communication apparatus is the synchronization data reception side.

また、本発明のデータ同期方法は、前記第1通信手段が、前記第2同期データに対するデータ同期が実行された旨を表す第1確認信号を前記第2通信手段に送信する第16ステップと、前記第2通信手段が、前記第1確認信号を前記第1通信手段より受信する第17ステップと、前記第2ログ格納手段が、前記第1確認信号に基づいて、前記第2ログ情報を削除する第18ステップと、を更に備えることが好ましい。   Further, in the data synchronization method of the present invention, the first communication means transmits a first confirmation signal indicating that data synchronization with respect to the second synchronization data has been executed to the second communication means, The seventeenth step in which the second communication means receives the first confirmation signal from the first communication means, and the second log storage means deletes the second log information based on the first confirmation signal. It is preferable to further comprise an eighteenth step.

このような本発明のデータ同期方法によれば、第1通信装置および第2通信装置に備えられた各手段が上記の第16ステップから第18ステップまでの一連の流れとなる全ての手順を行うことにより、第2通信装置は第1通信装置側でデータ同期が終了したことを把握することができる。   According to the data synchronization method of the present invention as described above, each means provided in the first communication device and the second communication device performs all the procedures in a series of flow from the 16th step to the 18th step. As a result, the second communication device can grasp that the data synchronization has ended on the first communication device side.

また、本発明において、前記第1同期データには、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を表すフラグ情報が含まれており、前記第2判断手段は、前記フラグ情報に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れの動作を実行すべきか判断することが好ましい。   In the present invention, the first synchronization data includes flag information indicating any one of the addition operation, the change operation, and the deletion operation, and the second determination means includes the flag It is preferable to determine which of the adding operation, the changing operation, and the deleting operation should be executed based on the information.

この場合には、第2判断手段は、当該フラグ情報を参照することにより、同期データに対して何れの動作を実行すべきかを確実且つ容易に判断することができる。   In this case, the second determination means can reliably and easily determine which operation should be performed on the synchronization data by referring to the flag information.

また、本発明の通信装置は、所定のデータ集合体であるオブジェクトの雛形を格納する雛形格納手段と、入力データの入力を受ける通信手段と、前記入力データが前記オブジェクトを一つ以上含む構造体であるか否かを前記雛形を元に解析する解析手段と、前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出手段と、前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納するデータ格納手段と、を備えることを特徴とする。   In addition, the communication device of the present invention includes a model storage unit that stores a model of an object that is a predetermined data aggregate, a communication unit that receives input of input data, and a structure in which the input data includes one or more of the objects And analysis means for analyzing whether the input data is the structure, and the structure specifying information for specifying the structure based on the input data when the input data is analyzed as the structure. Extraction means for extracting one or more objects based on the template; and data storage means for storing the structure specifying information extracted by the extraction means in association with the one or more objects. Features.

このような本発明の通信装置によれば、構造体としてデータ入力があった場合においても、データの格納はオブジェクトを単位にして行われる。ここで、オブジェクトは所定のデータの集合体であり、このオブジェクトを一つ以上含むものが構造体であるため、オブジェクトのデータ量は構造体のデータ量より小さい。したがって、オブジェクトを単位にしてデータを格納することにより、当該オブジェクトを送受信の単位にして通信装置間のデータ同期を行うことができる。この場合には、構造体全体をデータ送受信の単位とする場合に比べ、送受信されるデータ量を少なくすることができ、効率よくデータ同期を行うことができる。   According to such a communication apparatus of the present invention, data is stored in units of objects even when data is input as a structure. Here, an object is an aggregate of predetermined data, and a structure including one or more objects is a structure. Therefore, the data amount of the object is smaller than the data amount of the structure. Therefore, by storing data in units of objects, data synchronization between communication devices can be performed in units of transmission / reception of the objects. In this case, compared to the case where the entire structure is used as a unit for data transmission / reception, the amount of data transmitted / received can be reduced, and data synchronization can be performed efficiently.

また、本発明において、前記構造体特定情報と前記一つ以上のオブジェクトとが前記データ格納手段に新たに格納された旨を表すログ情報を格納するログ格納手段を更に備えることが好ましい。   In the present invention, it is preferable to further include log storage means for storing log information indicating that the structure specifying information and the one or more objects are newly stored in the data storage means.

この場合には、例えば他の手段が、当該ログ情報を参照することにより、データ格納手段にて新たにデータの格納が行われた旨を判断することができる。   In this case, for example, another means can determine that data is newly stored in the data storage means by referring to the log information.

本発明によれば、データ同期をオブジェクトを単位にして行うことにより、効率的な同期処理を可能とするデータ同期方法および通信装置が提供される。   ADVANTAGE OF THE INVENTION According to this invention, the data synchronization method and communication apparatus which enable an efficient synchronous process by performing a data synchronization per object are provided.

以下、添付図面を参照して本発明にかかるデータ同期方法および通信装置の好適な実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。   Exemplary embodiments of a data synchronization method and a communication apparatus according to the present invention will be described below in detail with reference to the accompanying drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant description is omitted.

[通信システム1の全体構成]
まず、本発明の実施形態に係る通信システム1の構成について、図1を参照しながら説明する。図1は、通信システム1の構成概要図である。図1に示すように、通信システム1は、携帯電話機10(通信装置、第1通信装置または第2通信装置)、同期サーバ20(通信装置、第1通信装置または第2通信装置)およびダウンロードサーバ30から構成され、ダウンロードサーバ30は例えば外部の装置(図示せず)からダウンロードした入力データを携帯電話機10または同期サーバ20に送信し、携帯電話機10と同期サーバ20とは互いにデータの同期を取り合う。また、携帯電話機10、同期サーバ20、ダウンロードサーバ30のそれぞれは通信ネットワーク40により互いに通信可能に接続されている。
[Overall Configuration of Communication System 1]
First, the configuration of the communication system 1 according to the embodiment of the present invention will be described with reference to FIG. FIG. 1 is a schematic configuration diagram of the communication system 1. As shown in FIG. 1, a communication system 1 includes a mobile phone 10 (communication device, first communication device or second communication device), a synchronization server 20 (communication device, first communication device or second communication device), and a download server. The download server 30 transmits, for example, input data downloaded from an external device (not shown) to the mobile phone 10 or the synchronization server 20, and the mobile phone 10 and the synchronization server 20 synchronize data with each other. . Further, the mobile phone 10, the synchronization server 20, and the download server 30 are connected to each other via a communication network 40 so as to communicate with each other.

[携帯電話機10の構成]
携帯電話機10について詳細に説明する。図2は携帯電話機10のハードウェア構成図である。図2に示すように、携帯電話機10は、物理的には、CPU11、主記憶装置であるROM12及びRAM13、操作ボタンなどの入力デバイス14、LCDや有機ELディスプレイなどの出力デバイス15、同期サーバ20やダウンロードサーバ30との間でデータの送受信を行う通信モジュール16、メモリディバイス等の補助記憶装置17を備えて構成される。後述する携帯電話機10の各機能は、CPU11、ROM12、RAM13等のハードウェア上に所定のソフトウェアを読み込ませることにより、CPU11の制御の元で入力デバイス14、出力デバイス15、通信モジュール16を動作させると共に、主記憶装置12,13や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。
[Configuration of mobile phone 10]
The mobile phone 10 will be described in detail. FIG. 2 is a hardware configuration diagram of the mobile phone 10. As shown in FIG. 2, the cellular phone 10 physically includes a CPU 11, a ROM 12 and a RAM 13 that are main storage devices, an input device 14 such as an operation button, an output device 15 such as an LCD or an organic EL display, and a synchronization server 20. And a communication module 16 for transmitting / receiving data to / from the download server 30 and an auxiliary storage device 17 such as a memory device. Each function of the cellular phone 10 to be described later operates the input device 14, the output device 15, and the communication module 16 under the control of the CPU 11 by reading predetermined software on hardware such as the CPU 11, the ROM 12, and the RAM 13. At the same time, it is realized by reading and writing data in the main storage devices 12 and 13 and the auxiliary storage device 17.

図3は、携帯電話機10の機能的な構成を示す構成概要図である。図3に示すように、携帯電話機10は、機能的には、通信部110(通信手段、第1通信手段または第2通信手段)、解析部120(解析手段)、雛形格納部130(雛形格納手段)、オブジェクト生成部140(抽出手段)、格納制御部150(第1格納制御手段または第2格納制御手段)、データ格納部160(データ格納手段、第1データ格納手段または第2データ格納手段)、ログ格納部170(ログ格納手段、第1ログ格納手段または第2ログ格納手段)、判断部180(第1判断手段または第2判断手段)、および同期部190(第1同期手段または第2同期手段)を備えて構成される。   FIG. 3 is a schematic configuration diagram showing a functional configuration of the mobile phone 10. As shown in FIG. 3, the cellular phone 10 functionally includes a communication unit 110 (communication unit, first communication unit or second communication unit), an analysis unit 120 (analysis unit), and a template storage unit 130 (model storage). Means), object generation section 140 (extraction means), storage control section 150 (first storage control means or second storage control means), data storage section 160 (data storage means, first data storage means or second data storage means) ), Log storage unit 170 (log storage unit, first log storage unit or second log storage unit), determination unit 180 (first determination unit or second determination unit), and synchronization unit 190 (first synchronization unit or second determination unit). 2 synchronization means).

通信部110は、データの送受信を行うものである。通信部110は、携帯電話機10のユーザの入力操作により、または同期サーバ20との通信により、またはダウンロードサーバ30との通信により、データの送受信を行う。通信部110は、構造体(後述する)の単位で、またはオブジェクト(後述する)の単位で、データの送受信を行うことができる。通信部110は、携帯電話機10のユーザの入力操作により、またはダウンロードサーバ30との通信により、データを入力した場合には、当該データ(以下、入力データ)を解析部120に出力する。また、通信部110は、同期サーバ20との通信により、データを入力した場合には、当該データ(以下、同期データ)を判断部180に出力する。なお、通信部110は、既述の図2で言えば、通信モジュール16により構成されることができる。   The communication unit 110 transmits and receives data. The communication unit 110 transmits / receives data by an input operation of a user of the mobile phone 10, communication with the synchronization server 20, or communication with the download server 30. The communication unit 110 can transmit and receive data in units of structures (described later) or in units of objects (described later). The communication unit 110 outputs the data (hereinafter referred to as input data) to the analysis unit 120 when data is input by an input operation of the user of the mobile phone 10 or by communication with the download server 30. In addition, when data is input through communication with the synchronization server 20, the communication unit 110 outputs the data (hereinafter, synchronization data) to the determination unit 180. In addition, the communication part 110 can be comprised by the communication module 16, if it says in above-mentioned FIG.

ここで、「オブジェクト」および「構造体」について説明する。オブジェクトは一定のルールに基づくプロパティや値を有する文字や画像データの集合体であり、構造体はこのオブジェクトを一つ以上含むデータの集合体である。このため、構造体のデータ量はオブジェクトのデータ量より大きい。図4は、オブジェクトを一つ以上含む構造体をイメージした図である。図4において、構造体Sは、当該構造体Sを特定する構造体特定情報S1と、複数のオブジェクトOa、Ob、…からなる。一例において、構造体は携帯電話機10内で用いられるカレンダーデータであり、オブジェクトは当該カレンダーデータにおけるそれぞれのスケジュールである。   Here, “object” and “structure” will be described. An object is a collection of characters and image data having properties and values based on certain rules, and a structure is a collection of data including one or more objects. For this reason, the data amount of the structure is larger than the data amount of the object. FIG. 4 is an image of a structure including one or more objects. In FIG. 4, the structure S includes structure specifying information S1 for specifying the structure S and a plurality of objects Oa, Ob,. In one example, the structure is calendar data used in the mobile phone 10, and the object is each schedule in the calendar data.

図3に戻り、解析部120は、通信部110からの入力データに対して、当該入力データがオブジェクトであるか否か、構造体であるか否かを判断する。オブジェクトであるか否かの判断の際に、解析部120は、雛形格納部130に格納されたオブジェクトの雛形を用いる。オブジェクトの雛形は例えばオブジェクトの開始句および終了句の一対からなることができ、例えば既述の図4の一例で言えば、「BEGIN:VEVENT」および「END:VEVENT」の一対である。解析部120は、入力データを順に検索していき、上記の開始句および終了句が検索されたら、当該開始句および終了句を含め当該開始句および終了句に挟まれた部分をオブジェクトと判断する。これ以外に、例えばオブジェクトの開始句同士の一対(すなわち、現オブジェクトの開始句と次オブジェクトの開始句との一対)をオブジェクトの雛形として用いてもよい。この場合に、解析部120は、入力データを順に検索していき、現オブジェクトの開始句および次オブジェクトの開始句が検索されたら、当該現オブジェクトの開始句を含め当該両開始句に挟まれた部分をオブジェクトと判断する。   Returning to FIG. 3, the analysis unit 120 determines whether the input data from the communication unit 110 is an object or a structure. When determining whether the object is an object, the analysis unit 120 uses the object template stored in the template storage unit 130. For example, the object model can be composed of a pair of an object start phrase and an end phrase. For example, in the example of FIG. 4 described above, it is a pair of “BEGIN: VEVENT” and “END: VEVENT”. The analysis unit 120 sequentially searches the input data. When the start phrase and the end phrase are searched, the analysis unit 120 determines that the portion between the start phrase and the end phrase including the start phrase and the end phrase is an object. . Other than this, for example, a pair of object start phrases (that is, a pair of a start phrase of the current object and a start phrase of the next object) may be used as an object template. In this case, the analysis unit 120 sequentially searches the input data, and when the start phrase of the current object and the start phrase of the next object are searched, the analysis unit 120 is sandwiched between both start phrases including the start phrase of the current object. Judge the part as an object.

また、構造体であるか否かの判断の際に、解析部120は、雛形格納部130に格納された構造体の雛形を用いる。構造体の雛形は構造体の開始句および終了句の一対からなり、例えば既述の図4の一例で言えば、「BEGIN:VCALENDAR」および「END:VCALENDAR」の一対である。解析部120は、入力データを順に検索していき、「BEGIN:VCALENDAR」および「END:VCALENDAR」との開始句および終了句が検索され、且つ当該開始句および終了句の間に上記の判断方法によりオブジェクトと判断された部分が一つ以上あったら、当該「BEGIN:VCALENDAR」および「END:VCALENDAR」を含め当該開始句および終了句に挟まれた部分を構造体と判断する。   Further, when determining whether or not it is a structure, the analysis unit 120 uses the template of the structure stored in the template storage unit 130. The structure template is composed of a pair of a structure start phrase and an end phrase. For example, in the example of FIG. 4 described above, it is a pair of “BEGIN: VCALENDAR” and “END: VCALENDAR”. The analysis unit 120 sequentially searches the input data, searches for the start phrase and end phrase of “BEGIN: VCALENDAR” and “END: VCALENDAR”, and the above determination method between the start phrase and end phrase If there is at least one part determined as an object by the above, the part sandwiched between the start phrase and the end phrase including the “BEGIN: VCALENDAR” and “END: VCALENDAR” is determined as a structure.

解析部120は、入力データが構造体であると判断された場合に、当該構造体をオブジェクト生成部140に出力する。一方、解析部120は、入力データが構造体でないと判断された場合には、通信部110がオブジェクトの単位でデータ入力を行ったと判断し、当該入力データを格納制御部150に出力する。入力データが構造体でないと判断される場合としては、例えば、入力データにオブジェクトが含まれているが当該オブジェクトが構造体内に存在するものではない場合、つまりオブジェクトが構造体の一部分としてではなくオブジェクト単独で存在する場合が挙げられる。更に、入力データにオブジェクトそのものは含まれておらず、何れかのオブジェクトを削除する旨の情報(後述するフラグ情報等)が含まれている場合が挙げられる。   The analysis unit 120 outputs the structure to the object generation unit 140 when it is determined that the input data is a structure. On the other hand, if it is determined that the input data is not a structure, the analysis unit 120 determines that the communication unit 110 has input data in units of objects, and outputs the input data to the storage control unit 150. For example, when the input data is determined not to be a structure, for example, when the input data contains an object but the object does not exist in the structure, that is, the object is not a part of the structure. The case where it exists independently is mentioned. Further, there is a case where the input data does not include the object itself but includes information (such as flag information described later) indicating that any object is to be deleted.

解析部120は、通信部110がオブジェクトの単位でデータ入力を行ったと判断された場合に、当該オブジェクトに対して「追加」、「変更」、または「削除」のうち何れかの動作が行われるべきかを更に判断し、当該判断の結果を表す情報を格納制御部150に出力する。解析部120の判断は、上記入力データに、「追加」、「変更」、または「削除」の何れかの動作を表すフラグ情報が含まれている場合には、当該フラグ情報を元に行われてもよい。例えば、入力データに「add」とのフラグ情報が含まれている場合に、解析部120は、通信部110が入力した入力データに含まれているオブジェクトに対して今後「追加」の処理が行われるべきとのことを判断する。また、「replace」とのフラグ情報に対して解析部120は「変更」を判断し、「delete」とのフラグ情報に対して解析部120は「削除」を判断する。なお、削除のときは、入力データにオブジェクトそのものは含まれておらず、「delete」とのフラグ情報と当該削除すべきオブジェクトを特定する情報とが含まれる(後述するID等)。   When it is determined that the communication unit 110 has input data in units of objects, the analysis unit 120 performs any one of “add”, “change”, and “delete” operations on the object. It further determines whether it should be, and outputs information indicating the result of the determination to the storage control unit 150. When the input data includes flag information indicating any one of “addition”, “change”, and “deletion”, the analysis unit 120 determines based on the flag information. May be. For example, when the flag information “add” is included in the input data, the analysis unit 120 performs “add” processing on the object included in the input data input by the communication unit 110 in the future. Judge that it should be done. The analysis unit 120 determines “change” for the flag information “replace”, and the analysis unit 120 determines “delete” for the flag information “delete”. At the time of deletion, the object itself is not included in the input data, but flag information “delete” and information for specifying the object to be deleted are included (ID to be described later).

一方、フラグ情報を元に上記の判断を行うこととは別に、オブジェクトそのものを特定するための特定情報(ID)に基づいて上記の判断を行うことができる。例えば、入力データにオブジェクトが含まれ、且つ当該オブジェクトが携帯電話機10の保持している正規のIDを有している場合に、解析部120は「変更」を判断することができる。また、例えば、入力データにオブジェクトが含まれていないが、オブジェクトの正規のIDが含まれて入る場合に、解析部120は当該IDのオブジェクトに対して「削除」を判断することができる。また、例えば、入力データにオブジェクトが含まれ、且つ当該オブジェクトがテンポラリのIDを有している場合に、解析部120は「追加」を判断することができる。なお、オブジェクトのIDは、携帯電話機10、同期サーバ20、ダウンロードサーバ30の何れもが付与することができる。このとき、携帯電話機10、同期サーバ20、ダウンロードサーバ30のそれぞれが異なるIDを付与した場合には、携帯電話機10、同期サーバ20、ダウンロードサーバ30の何れかが異なるIDに対するマッピング情報を保持していることが好ましい。そして、IDの送受信の際に、マッピング情報に対する同期を行うことが好ましい。   On the other hand, apart from performing the above determination based on the flag information, the above determination can be made based on identification information (ID) for identifying the object itself. For example, when the input data includes an object and the object has a regular ID held by the mobile phone 10, the analysis unit 120 can determine “change”. Further, for example, when the input data does not include an object but includes a regular ID of the object, the analysis unit 120 can determine “deletion” for the object with the ID. For example, when the input data includes an object and the object has a temporary ID, the analysis unit 120 can determine “addition”. The object ID can be assigned by any of the mobile phone 10, the synchronization server 20, and the download server 30. At this time, if each of the mobile phone 10, the synchronization server 20, and the download server 30 has a different ID, any one of the mobile phone 10, the synchronization server 20, and the download server 30 holds mapping information for different IDs. Preferably it is. Then, it is preferable to synchronize the mapping information when transmitting / receiving the ID.

なお、以上で簡略に説明した解析部120の上記判断(「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断)、オブジェクトのID、フラグ情報、マッピング情報等については、その詳細について後ほど図14〜図18を参照しながら詳しく説明する。なお、解析部120の上記判断を判断部180が行ってもよく、この場合には、解析部120がオブジェクト単位の入力データを判断部180に出力し、判断部180は上記判断を行った後に判断の結果を表す情報を格納制御部150に出力する。   Note that the above-described determination of the analysis unit 120 described above (determination as to which of “addition”, “change”, and “deletion” should be performed), object ID, flag information, and mapping information Details of the above will be described in detail later with reference to FIGS. The determination unit 180 may make the above determination of the analysis unit 120. In this case, the analysis unit 120 outputs input data in units of objects to the determination unit 180, and the determination unit 180 performs the above determination. Information representing the result of the determination is output to the storage control unit 150.

次に、オブジェクト生成部140について説明する。オブジェクト生成部140は、解析部120より構造体を入力し、当該構造体より、当該構造体を特定する構造体特定情報および一つ以上のオブジェクトを抽出するものである。この抽出の際に、オブジェクト生成部140は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いる。オブジェクト生成部140は、当該抽出した構造体特定情報および一つ以上のオブジェクトからなる階層構造化されたデータを格納制御部150に出力する。   Next, the object generation unit 140 will be described. The object generation unit 140 receives a structure from the analysis unit 120 and extracts structure specifying information for specifying the structure and one or more objects from the structure. At the time of this extraction, the object generation unit 140 uses the structure and the object template stored in the template storage unit 130. The object generation unit 140 outputs the extracted structure identification information and hierarchically structured data including one or more objects to the storage control unit 150.

図5は、オブジェクト生成部140が、構造体Sより、当該構造体Sを特定する構造体特定情報(以下、親フォルダP)および複数のオブジェクトOa〜Ozを抽出した様子を示す。図5では、親フォルダPの配下に複数のオブジェクトOa〜Ozが所属するという階層構造が示されている。   FIG. 5 shows a state in which the object generation unit 140 extracts structure specifying information (hereinafter referred to as a parent folder P) for specifying the structure S and a plurality of objects Oa to Oz from the structure S. FIG. 5 shows a hierarchical structure in which a plurality of objects Oa to Oz belong under the parent folder P.

図6は、オブジェクト生成部140が、既述の図4の一例の構造体Sを元に親フォルダPおよびオブジェクトOa、Ob…を抽出し階層構造化した様子を示す。オブジェクト生成部140は、まず、オブジェクトの開始句および終了句である「BEGIN:VEVENT」および「END:VEVENT」に挟まれた部分をオブジェクトOa、Ob…として抽出する。そして、当該オブジェクトOa、Ob…として抽出した部分それぞれに、構造体の開始句および終了句である「BEGIN:VCALENDAR」および「END:VCALENDAR」を付与し、且つバージョン情報を付与する。以上により、構造体SからオブジェクトOa、Ob…が抽出される。   FIG. 6 shows a state in which the object generation unit 140 extracts the parent folder P and the objects Oa, Ob... Based on the structure S in the example of FIG. First, the object generation unit 140 extracts portions sandwiched between “BEGIN: VEVENT” and “END: VEVENT” that are the start phrase and end phrase of the object as objects Oa, Ob. Then, “BEGIN: VCALENDAR” and “END: VCALENDAR”, which are the start phrase and end phrase of the structure, are added to each part extracted as the objects Oa, Ob. As described above, the objects Oa, Ob ... are extracted from the structure S.

一方、オブジェクトOa、Ob…が抽出された後に残った部分のうち構造体の開始句および終了句、バージョン情報を除いた部分を親フォルダPの開始句および終了句(<Folder>と</Folder>との一対)でくくり、親フォルダP内の各情報をそれぞれの各開始句および終了句(<Ext>と</Ext>との一対、<XNam>と</XNam>との一対、<XVal>と</XVal>との一対など)でくくる。以上により、構造体Sから親フォルダPが抽出される。一つの構造体Sから抽出されたオブジェクトOa、Ob…および親フォルダPの両方が当該構造体の開始句および終了句を有することにより、当該オブジェクトOa、Ob…および親フォルダPが互いに関連付けられる。なお、図示はしないが、図6の一例において、構造体の開始句および終了句をオブジェクトおよび親フォルダの両方に持たせる方法以外に、別の所定の識別情報をそれぞれに付与することにより、オブジェクトと親フォルダとを関連付けてもよい。   On the other hand, of the parts remaining after the extraction of the objects Oa, Ob..., The structure start phrase and end phrase, and the parts excluding the version information are the start phrase and end phrase (<Folder> and </ Folder And a pair of <XNam> and </ XNam>, a pair of <Ext> and </ Ext>, < XVal> and </ XVal>). Thus, the parent folder P is extracted from the structure S. The objects Oa, Ob... And the parent folder P extracted from one structure S have the start phrase and end phrase of the structure, so that the objects Oa, Ob. Although not shown, in the example of FIG. 6, in addition to the method of giving both the object start phrase and the end phrase to the object and the parent folder, by giving each other predetermined identification information to each object, And the parent folder may be associated with each other.

図3に戻り、格納制御部150は、解析部120またはオブジェクト生成部140より入力したデータをデータ格納部160に格納させ、且つそのログ情報をログ格納部170に格納させるものである。格納制御部150は、解析部120またはオブジェクト生成部140よりオブジェクト単位のデータを入力すると、「追加」、「変更」、または「削除」のうち何れかの動作を表す情報に基づいて、それぞれのオブジェクトに対する「追加」、「変更」、または「削除」の処理を行う。   Returning to FIG. 3, the storage control unit 150 stores the data input from the analysis unit 120 or the object generation unit 140 in the data storage unit 160 and stores the log information in the log storage unit 170. When the storage unit 150 receives data in units of objects from the analysis unit 120 or the object generation unit 140, the storage control unit 150 determines each operation based on information indicating one of the operations of “add”, “change”, and “delete”. Perform “add”, “change”, or “delete” processing on the object.

すなわち、「追加」の場合に、格納制御部150は、当該入力データに含まれたオブジェクト(以下、追加オブジェクト)をデータ格納部160に追加して格納させる。この追加格納の際に、当該追加オブジェクトに付与された構造体の開始句および終了句等(以下、追加構造体特定情報)と同一の開始句および終了句等を有する構造体(具体的には親フォルダP)が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該追加オブジェクトを関連付けて格納させる。つまり、当該追加オブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該オブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該追加オブジェクトを当該新しい構造体に関連付けて格納させる。   That is, in the case of “addition”, the storage control unit 150 adds an object included in the input data (hereinafter referred to as an additional object) to the data storage unit 160 for storage. At the time of this additional storage, a structure (specifically, a structure having the same start phrase and end phrase as the start phrase and end phrase of the structure assigned to the additional object (hereinafter referred to as additional structure specifying information)) When the parent folder P) already exists in the data storage unit 160, the storage control unit 150 stores the additional object in association with the already existing structure. That is, the additional object is placed under the existing structure and stored as a hierarchical structure. On the other hand, when such a structure does not exist in the data storage unit 160, the storage control unit 150 provides a new structure having a start phrase and an end phrase of the structure attached to the object, and The additional object is stored in association with the new structure.

また、「変更」の場合に、格納制御部150は、解析部120またはオブジェクト生成部140より当該入力したオブジェクト(以下、変更後のオブジェクト)と、データ格納部160に格納されていた既存のオブジェクト(以下、変更前のオブジェクト)とを置き換える。このとき、格納制御部150が入力したデータには変更前のオブジェクトを特定する特定情報(以下、変更前オブジェクト特定情報)が含まれることが好ましい。また、「削除」の場合に、格納制御部150は、データ格納部160に格納されていた当該オブジェクト(以下、削除オブジェクト)を削除する。このとき、格納制御部150が入力したデータには削除すべきオブジェクトを特定する特定情報(以下、削除オブジェクト特定情報)が含まれることが好ましい。以上の「追加」、「変更」、「削除」の各処理後に、格納制御部150は、データ格納部160に対してオブジェクトの「追加」、「変更」、「削除」の各処理を行ったことを表すログ情報をログ格納部170に格納させる。   Further, in the case of “change”, the storage control unit 150 causes the object input from the analysis unit 120 or the object generation unit 140 (hereinafter referred to as “changed object”) and the existing object stored in the data storage unit 160. (Hereinafter referred to as the object before the change). At this time, it is preferable that the data input by the storage control unit 150 includes specific information for specifying the object before the change (hereinafter referred to as “pre-change object specifying information”). In the case of “deletion”, the storage control unit 150 deletes the object (hereinafter, deleted object) stored in the data storage unit 160. At this time, it is preferable that the data input by the storage control unit 150 includes specific information for specifying an object to be deleted (hereinafter, deleted object specifying information). After the above “addition”, “change”, and “deletion” processes, the storage control unit 150 performs “addition”, “change”, and “deletion” processes on the data storage unit 160. Log information indicating that is stored in the log storage unit 170.

判断部180は、通信部110より入力した同期データ(第1同期データ、第2同期データ)に含まれたオブジェクトID(第1特定情報、第2特定情報)に基づいて、当該同期データに含まれたオブジェクトに対して「追加」、「変更」、または「削除」のうち何れかの動作が行われるべきかを判断する。この判断は、同期データに、「追加」、「変更」、または「削除」の何れかの動作を表すフラグ情報が含まれている場合には、当該フラグ情報を元に行われる。この他、判断部180の判断動作は上記説明した解析部120の判断動作と概ね一致する。判断部180は、上記判断を行った後に、当該判断の結果を表す情報および同期データを格納制御部150に出力する。格納制御部150は、当該判断の結果を表す情報に基づいて、当該同期データに対する「追加」、「変更」、または「削除」のうち何れかの動作を行う。   The determination unit 180 is included in the synchronization data based on the object ID (first identification information, second identification information) included in the synchronization data (first synchronization data, second synchronization data) input from the communication unit 110. It is determined whether one of “addition”, “change”, and “deletion” should be performed on the object. This determination is made based on the flag information when the synchronization data includes flag information indicating any of the operations of “add”, “change”, and “delete”. In addition, the determination operation of the determination unit 180 substantially matches the determination operation of the analysis unit 120 described above. After making the above determination, the determination unit 180 outputs information representing the determination result and synchronization data to the storage control unit 150. The storage control unit 150 performs any one of “addition”, “change”, and “deletion” on the synchronization data based on the information indicating the result of the determination.

同期部190は、ログ格納部170に格納されているログ情報(第1ログ情報、第2ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部160で発生した旨を判断し、当該変化のあったデータ(第1データ、第2データ)および該データの特定情報(第1特定情報、第2特定情報)を同期データとしてデータ格納部160よりオブジェクト単位で抽出するものである。同期部190が当該抽出した同期データを通信部110に出力すると、通信部110は当該同期データを同期サーバ20の通信部210に通信ネットワーク40を用いて送信する。このとき、通信部110は当該同期データをオブジェクト単位で送信してもよい。または、通信部110は複数のオブジェクトをまとめた形で当該同期データを同期サーバ20の通信部210に送信してもよい。   The synchronization unit 190 refers to the log information (first log information and second log information) stored in the log storage unit 170 to determine that the data change in the object unit has occurred in the data storage unit 160. The data that has changed (first data, second data) and the specific information of the data (first specific information, second specific information) are extracted as synchronization data from the data storage unit 160 in units of objects. is there. When the synchronization unit 190 outputs the extracted synchronization data to the communication unit 110, the communication unit 110 transmits the synchronization data to the communication unit 210 of the synchronization server 20 using the communication network 40. At this time, the communication unit 110 may transmit the synchronization data in units of objects. Alternatively, the communication unit 110 may transmit the synchronization data to the communication unit 210 of the synchronization server 20 in a form in which a plurality of objects are collected.

[同期サーバ20の構成]
続いて、図1の同期サーバ20について詳細に説明する。図2は同期サーバ20のハードウェア構成図である。図2に示すように、同期サーバ20は、物理的には、物理的には、CPU21、ROM22及びRAM23等の主記憶装置、キーボード及びマウス等の入力デバイス24、ディスプレイ等の出力デバイス25、携帯電話機10やダウンロードサーバ30との間でデータの送受信を行うためのネットワークカード等の通信モジュール26、ハードディスク等の補助記憶装置27などを含む通常のコンピュータシステムとして構成される。後述する同期サーバ20の各機能は、CPU21、ROM22、RAM23等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU21の制御の元で入力デバイス24、出力デバイス25、通信モジュール26を動作させると共に、主記憶装置22,23や補助記憶装置27におけるデータの読み出し及び書き込みを行うことで実現される。
[Configuration of Synchronization Server 20]
Next, the synchronization server 20 in FIG. 1 will be described in detail. FIG. 2 is a hardware configuration diagram of the synchronization server 20. As shown in FIG. 2, the synchronization server 20 physically includes a CPU 21, a main storage device such as a ROM 22 and a RAM 23, an input device 24 such as a keyboard and a mouse, an output device 25 such as a display, a mobile phone, and the like. The computer system includes a communication module 26 such as a network card for transmitting and receiving data to and from the telephone 10 and the download server 30, an auxiliary storage device 27 such as a hard disk, and the like. Each function of the synchronization server 20, which will be described later, operates the input device 24, the output device 25, and the communication module 26 under the control of the CPU 21 by loading predetermined computer software on the hardware such as the CPU 21, the ROM 22, and the RAM 23. In addition, it is realized by reading and writing data in the main storage devices 22, 23 and the auxiliary storage device 27.

図7は、同期サーバ20の機能的な構成を示す構成概要図である。図7に示すように、同期サーバ20は、機能的には、通信部210(通信手段、第1通信手段または第2通信手段)、解析部220(解析手段)、雛形格納部230(雛形格納手段)、オブジェクト生成部240(抽出手段)、格納制御部250(第1格納制御手段または第2格納制御手段)、データ格納部260(データ格納手段、第1データ格納手段または第2データ格納手段)、ログ格納部270(ログ格納手段、第1ログ格納手段または第2ログ格納手段)、判断部280(第1判断手段または第2判断手段)、および同期部290(第1同期手段または第2同期手段)を備えて構成される。   FIG. 7 is a schematic configuration diagram showing a functional configuration of the synchronization server 20. As shown in FIG. 7, the synchronization server 20 functionally includes a communication unit 210 (communication unit, first communication unit or second communication unit), an analysis unit 220 (analysis unit), a template storage unit 230 (model storage). Means), object generation section 240 (extraction means), storage control section 250 (first storage control means or second storage control means), data storage section 260 (data storage means, first data storage means or second data storage means) ), Log storage unit 270 (log storage unit, first log storage unit or second log storage unit), determination unit 280 (first determination unit or second determination unit), and synchronization unit 290 (first synchronization unit or second determination unit). 2 synchronization means).

通信部210は、データの送受信を行うものである。通信部210は、携帯電話機10またはダウンロードサーバ30との通信により、データの送受信を行う。通信部210は、構造体の単位で、またはオブジェクトの単位で、データの送受信を行うことができる。通信部210は、ダウンロードサーバ30との通信により、データを入力した場合には、当該データ(入力データ)を解析部220に出力する。また、通信部210は、携帯電話機10との通信により、データを入力した場合には、当該データ(同期データ)を判断部280に出力する。なお、通信部210は、既述の図2で言えば、通信モジュール26により構成されることができる。   The communication unit 210 transmits and receives data. The communication unit 210 transmits and receives data through communication with the mobile phone 10 or the download server 30. The communication unit 210 can transmit and receive data in units of structures or in units of objects. When data is input through communication with the download server 30, the communication unit 210 outputs the data (input data) to the analysis unit 220. In addition, when data is input through communication with the mobile phone 10, the communication unit 210 outputs the data (synchronization data) to the determination unit 280. Note that the communication unit 210 can be configured by the communication module 26 in FIG. 2 described above.

同期サーバ20の他の機能要素の各機能は上記説明した携帯電話機10の機能要素の各機能と概ね一致する。このため、ここでは同期サーバ20の各機能要素それぞれを説明することを省略する代わりに、図9〜図13のシーケンス図やフローチャートによる下記の動作説明において、同期サーバ20の各機能要素の動作について詳細に述べる。   The functions of the other functional elements of the synchronization server 20 are substantially the same as the functions of the functional elements of the mobile phone 10 described above. Therefore, here, instead of omitting the description of each functional element of the synchronization server 20, the operation of each functional element of the synchronization server 20 will be described in the following description of the operations in the sequence diagrams and flowcharts of FIGS. Details will be described.

[ダウンロードサーバ30の構成]
続いて、図1のダウンロードサーバ30について説明する。図2はダウンロードサーバ30のハードウェア構成図である。図2に示すように、ダウンロードサーバ30は、物理的には、CPU31、ROM32及びRAM33等の主記憶装置、キーボード及びマウス等の入力デバイス34、ディスプレイ等の出力デバイス35、携帯電話機10、同期サーバ20、図示しない外部の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール36、ハードディスク等の補助記憶装置37などを含む通常のコンピュータシステムとして構成される。後述するダウンロードサーバ30の各機能は、CPU31、ROM32、RAM33等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU31の制御の元で入力デバイス34、出力デバイス35、通信モジュール36を動作させると共に、主記憶装置32,33や補助記憶装置37におけるデータの読み出し及び書き込みを行うことで実現される。
[Configuration of Download Server 30]
Next, the download server 30 in FIG. 1 will be described. FIG. 2 is a hardware configuration diagram of the download server 30. As shown in FIG. 2, the download server 30 physically includes a CPU 31, a main storage device such as a ROM 32 and a RAM 33, an input device 34 such as a keyboard and a mouse, an output device 35 such as a display, a mobile phone 10, and a synchronization server. 20, a normal computer system including a communication module 36 such as a network card for transmitting / receiving data to / from an external device (not shown), an auxiliary storage device 37 such as a hard disk, and the like. Each function of the download server 30, which will be described later, operates the input device 34, the output device 35, and the communication module 36 under the control of the CPU 31 by loading predetermined computer software on the hardware such as the CPU 31, the ROM 32, and the RAM 33. In addition, it is realized by reading and writing data in the main storage devices 32 and 33 and the auxiliary storage device 37.

図8は、ダウンロードサーバ30の機能的な構成を示す構成概要図である。図8に示すように、ダウンロードサーバ30は、機能的には、入力部310、データ格納部320、および通信部330を備えて構成される。   FIG. 8 is a schematic configuration diagram illustrating a functional configuration of the download server 30. As shown in FIG. 8, the download server 30 is functionally configured to include an input unit 310, a data storage unit 320, and a communication unit 330.

入力部310は、例えば外部の装置(図示せず)からのダウンロードにより、入力データを入力するものである。入力部310は、構造体の単位で、またはオブジェクトの単位で、入力データを入力することができる。入力部310は、当該入力した入力データをデータ格納部320に出力して格納させる。そして、通信部330が、データ格納部320に格納された入力データを携帯電話機10の通信部110または同期サーバ20の通信部210に送信する。データ格納部320は入力データを格納する際にログ情報を記録してもよく、この場合に、通信部330は当該ログ情報に基づいて入力データの送信を行うことができる。また、通信部330は、既述の図2で言えば、通信モジュール36により構成することができる。   The input unit 310 inputs input data, for example, by downloading from an external device (not shown). The input unit 310 can input input data in units of structures or in units of objects. The input unit 310 outputs the inputted input data to the data storage unit 320 for storage. Then, the communication unit 330 transmits the input data stored in the data storage unit 320 to the communication unit 110 of the mobile phone 10 or the communication unit 210 of the synchronization server 20. The data storage unit 320 may record log information when storing the input data. In this case, the communication unit 330 can transmit the input data based on the log information. In addition, the communication unit 330 can be configured by the communication module 36 in FIG. 2 described above.

[通信システム1の動作]
続いて、通信システム1により行われる動作(データ同期方法)について説明する。
[Operation of Communication System 1]
Subsequently, an operation (data synchronization method) performed by the communication system 1 will be described.

[構造体単位でのデータ入力の場合]
まず、携帯電話機10が構造体単位で入力データを入力した場合の動作について、図9、10を参照しながら説明する。図9はこの場合の携帯電話機10の動作を示すシーケンス図であり、図10は図9におけるステップS130をより詳細に説明するためのフローチャートである。
[When inputting data in units of structures]
First, an operation when the mobile phone 10 inputs input data in units of structures will be described with reference to FIGS. FIG. 9 is a sequence diagram showing the operation of the mobile phone 10 in this case, and FIG. 10 is a flowchart for explaining step S130 in FIG. 9 in more detail.

最初に、通信部110が、ユーザの入力操作により、またはダウンロードサーバ30からの通信により、入力データを構造体単位で入力する(ステップS110)。通信部110は、当該入力した入力データを解析部120に出力する(ステップS111)。   First, the communication unit 110 inputs input data in units of structures by a user input operation or by communication from the download server 30 (step S110). The communication unit 110 outputs the input data that has been input to the analysis unit 120 (step S111).

次に、解析部120が、通信部110からの入力データに対して、当該入力データが構造体であるか否かを判断する。この判断の際に、解析部120は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いる(ステップS120)。解析部120は、入力データが構造体であると判断された場合に、当該構造体をオブジェクト生成部140に出力する(ステップS121)。   Next, the analysis unit 120 determines whether or not the input data from the communication unit 110 is a structure. In making this determination, the analysis unit 120 uses the structure and object templates stored in the template storage unit 130 (step S120). If the analysis unit 120 determines that the input data is a structure, the analysis unit 120 outputs the structure to the object generation unit 140 (step S121).

次に、オブジェクト生成部140が、解析部120より入力した当該構造体より、当該構造体を特定する構造体特定情報および一つ以上のオブジェクトを抽出し、当該構造体の入力データを階層構造に変換する。このとき、オブジェクト生成部140は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いるが、その詳細については後述する(ステップS130)。オブジェクト生成部140は、当該抽出した構造体特定情報および一つ以上のオブジェクトからなる階層構造化されたデータを格納制御部150に出力する(ステップS138)。   Next, the object generation unit 140 extracts structure specifying information for specifying the structure and one or more objects from the structure input from the analysis unit 120, and converts the input data of the structure into a hierarchical structure. Convert. At this time, the object generation unit 140 uses the structure and the object template stored in the template storage unit 130, details of which will be described later (step S130). The object generation unit 140 outputs the extracted structure specifying information and hierarchically structured data including one or more objects to the storage control unit 150 (step S138).

次に、格納制御部150が、オブジェクト生成部140より入力した階層構造化されたデータをデータ格納部160に格納させる。データ格納の際に、データ格納の対象となるオブジェクトに付与された構造体の開始句および終了句等と同一の開始句および終了句等を有する構造体が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該データ格納の対象となるオブジェクトを関連付けて格納させる。つまり、当該データ格納の対象となるオブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該データ格納の対象となるオブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該データ格納の対象となるオブジェクトを当該新しい構造体に関連付けて格納させる(ステップS140)。   Next, the storage control unit 150 causes the data storage unit 160 to store the hierarchically structured data input from the object generation unit 140. When data storage unit 160 already has a structure having the same start phrase and end phrase as the structure start phrase and end phrase given to the object to be stored. The storage control unit 150 stores an object that is a target of data storage in association with the already existing structure. That is, the object to be stored is placed under the already existing structure and stored as a hierarchical structure. On the other hand, when such a structure does not exist in the data storage unit 160, the storage control unit 150 creates a new structure having the structure start phrase and end phrase attached to the object to be stored. A body is provided, and the object for storing the data is stored in association with the new structure (step S140).

次に、格納制御部150が、ステップS140においてデータ格納が行われたことを表すログ情報をログ格納部170に格納させる。なお、ログ情報においては、構造体に関するログ情報とオブジェクトに関するログ情報とが別々に格納されてもよく、この場合に格納されるログ情報の総数は例えばオブジェクト生成部140が抽出した構造体特定情報およびオブジェクトの総数と一致する(ステップS150)。   Next, the storage control unit 150 causes the log storage unit 170 to store log information indicating that data storage has been performed in step S140. In the log information, the log information related to the structure and the log information related to the object may be stored separately. In this case, the total number of log information stored is, for example, the structure specifying information extracted by the object generation unit 140 And the total number of objects (step S150).

次に、通信部180がデータ格納部160に格納されたオブジェクトを送信の単位として同期サーバ20との間でデータの同期を取るが、この手順については図12を参照しながら後述する。   Next, the communication unit 180 synchronizes data with the synchronization server 20 using the object stored in the data storage unit 160 as a unit of transmission. This procedure will be described later with reference to FIG.

ここで、上記のステップS130について図10を参照しながらより詳細に説明する。図9のステップS130は、オブジェクト生成部140が解析部120より入力した構造体より構造体特定情報および一つ以上のオブジェクトを抽出してデータの階層構造化を行うための手順である。   Here, step S130 will be described in more detail with reference to FIG. Step S130 in FIG. 9 is a procedure for extracting the structure specifying information and one or more objects from the structure input from the analysis unit 120 by the object generation unit 140 to perform hierarchical structure of the data.

最初に、オブジェクト生成部140が解析部120からの入力データを順に検索していく(ステップS131)。当該検索の結果、構造体の開始句が発見され(ステップS132:YES)、且つオブジェクトの開始句および終了句が発見されたら(ステップS133:YES)、当該発見されたオブジェクトの開始句と終了句との間の情報要素をオブジェクトとして切り出す(ステップS134)。   First, the object generation unit 140 sequentially searches input data from the analysis unit 120 (step S131). As a result of the search, if the structure start phrase is found (step S132: YES) and the object start phrase and end phrase are found (step S133: YES), the found object start phrase and end phrase are detected. Are cut out as objects (step S134).

次に、ステップS133にて発見されたオブジェクトの終了句の次の情報要素が構造体の終了句であるか否かを判断する(ステップS135)。ステップS135の判断にて、オブジェクトの終了句の次の情報要素が構造体の終了句でない場合には(ステップS135:NO)、処理の流れはステップS131に戻り、上述したステップS131〜ステップS135が繰り返して行われる。一方、ステップS135の判断にて、オブジェクトの終了句の次の情報要素が構造体の終了句である場合には(ステップS135:YES)、ステップS134にてオブジェクトとして切り出した部分以外の部分を親フォルダとして切り出す(ステップS136)。   Next, it is determined whether or not the information element next to the end phrase of the object found in step S133 is a structure end phrase (step S135). If it is determined in step S135 that the information element next to the end phrase of the object is not the end phrase of the structure (step S135: NO), the process flow returns to step S131, and steps S131 to S135 described above are performed. It is done repeatedly. On the other hand, if it is determined in step S135 that the information element next to the end phrase of the object is the end phrase of the structure (step S135: YES), a part other than the part cut out as an object in step S134 is used as a parent. Cut out as a folder (step S136).

次に、ステップS134にて切り出したオブジェクトおよびステップS136にて切り出した親フォルダからなる階層構造を形成する。階層構造の形成方法の一例としては、既述したように、例えば解析部120より入力した構造体の開始句および終了句をステップS134にて切り出したオブジェクトに付与することにより、結果的にオブジェクトおよび親フォルダに同一の開始句および終了句を持たせる方法がある(ステップS137)。   Next, a hierarchical structure including the object cut out in step S134 and the parent folder cut out in step S136 is formed. As an example of the formation method of the hierarchical structure, as described above, for example, by adding the start phrase and end phrase of the structure input from the analysis unit 120 to the object cut out in step S134, the object and There is a method in which the parent folder has the same start phrase and end phrase (step S137).

なお、上記ステップS132にて構造体の開始句が発見されない場合や、上記ステップS133にてオブジェクトの開始句および終了句が発見されない場合には、処理はそのまま終了する。   Note that if the structure start phrase is not found in step S132, or if the object start phrase and end phrase are not found in step S133, the process ends.

[オブジェクト単位でのデータ入力の場合]
続いて、携帯電話機10がオブジェクト単位で入力データを入力した場合の動作について、図11を参照しながら説明する。図11はこの場合の携帯電話機10の動作を示すシーケンス図である。図11では、任意のオブジェクトに対して、「追加処理」、「変更処理」、または「削除処理」が行われる。
[When entering data in units of objects]
Next, an operation when the mobile phone 10 inputs input data in units of objects will be described with reference to FIG. FIG. 11 is a sequence diagram showing the operation of the mobile phone 10 in this case. In FIG. 11, “addition processing”, “change processing”, or “deletion processing” is performed on an arbitrary object.

最初に、通信部110が、ユーザの入力操作により、またはダウンロードサーバ30からの通信により、入力データをオブジェクト単位で入力する。通信部110が入力する入力データには、以下に述べるような情報が含まれることができる。すなわち、入力データが任意のオブジェクト(以下、追加オブジェクト)を追加するためのものである場合には、当該入力データに、当該追加オブジェクトと、当該追加オブジェクトを含む構造体を特定する特定情報(追加構造体特定情報)とが含まれる。当該追加オブジェクトそのものを特定する情報として当該追加オブジェクトの特定情報(ID)が更に含まれていてもよい。追加構造体特定情報は、例えば、当該追加オブジェクトに付与された構造体の開始句および終了句等である。または、追加構造体特定情報が、例えば、当該追加オブジェクトに付与された構造体の開始句および終了句等と同一の開始句および終了句等を有する親フォルダであってもよい。また、入力データがデータ格納部160に既に格納されている任意のオブジェクト(以下、変更前オブジェクト)を変更するためのものである場合には、当該入力データに、当該変更前オブジェクトを特定する特定情報(変更前オブジェクト特定情報)と、変更後のオブジェクトとが含まれる。また、入力データがデータ格納部160に既に格納されている任意のオブジェクト(以下、削除オブジェクト)を削除するためのものである場合には、当該入力データに、当該削除オブジェクトを特定する特定情報(削除オブジェクト特定情報)が含まれる。また、入力データに、「追加処理」、「変更処理」、「削除処理」をそれぞれ表すフラグ情報(例えば既述の「add」、「replace」、「delete」など)が含まれていてもよい。通信部110は、以上のような入力データを解析部120に出力する(ステップS210、ステップS211)。   First, the communication unit 110 inputs input data in units of objects by a user input operation or by communication from the download server 30. The input data input by the communication unit 110 can include information as described below. That is, when the input data is for adding an arbitrary object (hereinafter referred to as an additional object), specific information (additional) for identifying the additional object and a structure including the additional object in the input data Structure specifying information). Specific information (ID) of the additional object may be further included as information for specifying the additional object itself. The additional structure specifying information is, for example, a start phrase and an end phrase of the structure assigned to the additional object. Alternatively, the additional structure specifying information may be a parent folder having the same start phrase and end phrase as the start phrase and end phrase of the structure assigned to the additional object, for example. In addition, when the input data is for changing an arbitrary object (hereinafter referred to as an object before change) already stored in the data storage unit 160, a specification for specifying the object before change in the input data Information (pre-change object specifying information) and post-change object are included. Further, when the input data is for deleting an arbitrary object (hereinafter referred to as a deletion object) already stored in the data storage unit 160, specific information for identifying the deletion object ( Deleted object identification information). In addition, the input data may include flag information (for example, “add”, “replace”, “delete”, etc.) described above) representing “addition process”, “change process”, and “delete process”, respectively. . The communication unit 110 outputs the input data as described above to the analysis unit 120 (steps S210 and S211).

次に、解析部120が、通信部110からの入力データにおけるオブジェクトに対して「追加処理」、「変更処理」、または「削除処理」のうち何れの動作が行われるべきかを判断し、当該判断の結果を表す情報と共に通信部110からの入力データを格納制御部150に出力する。解析部120の判断は、既述したように、通信部110からの入力データに含まれたフラグ情報またはそれぞれのオブジェクトの特定情報(ID)に基づいて行われることができる(ステップS220、ステップS221)。   Next, the analysis unit 120 determines which of “addition processing”, “change processing”, and “deletion processing” should be performed on the object in the input data from the communication unit 110, and The input data from the communication unit 110 is output to the storage control unit 150 together with information representing the determination result. As described above, the analysis unit 120 can make the determination based on the flag information included in the input data from the communication unit 110 or the identification information (ID) of each object (steps S220 and S221). ).

次に、格納制御部150が、解析部120よりデータを入力し、当該データに含まれた「追加処理」、「変更処理」、または「削除処理」のうち何れかの動作を表す情報に基づいて、当該データに含まれたオブジェクトに対する「追加処理」、「変更処理」、または「削除処理」を行う。「追加処理」の場合に、格納制御部150は、当該入力データに含まれた追加オブジェクトをデータ格納部160に追加して格納させる。この追加格納の際に、当該追加オブジェクトに付与された構造体の開始句および終了句等(追加構造体特定情報)と同一の開始句および終了句等を有する構造体(具体的には親フォルダP)が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該追加オブジェクトを関連付けて格納させる。つまり、当該追加オブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該追加オブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該追加オブジェクトを当該新しい構造体に関連付けて格納させる。また、「変更処理」の場合に、格納制御部150は、当該入力データに含まれた変更後のオブジェクトと、データ格納部160に格納されていた既存の変更前のオブジェクトとを置き換える。このとき、既存の変更前のオブジェクトは解析部120より入力した入力データに含まれた変更前オブジェクト特定情報により特定することができる。また、「削除処理」の場合に、格納制御部150は、データ格納部160に格納されていた当該削除オブジェクトを削除する。このとき、当該削除オブジェクトは解析部120より入力した入力データに含まれた削除オブジェクト特定情報により特定することができる。(ステップS230)。   Next, the storage control unit 150 inputs data from the analysis unit 120 and is based on information representing any operation of “addition processing”, “change processing”, or “deletion processing” included in the data. Then, “addition processing”, “change processing”, or “deletion processing” is performed on the object included in the data. In the case of “addition processing”, the storage control unit 150 adds the additional object included in the input data to the data storage unit 160 for storage. A structure (specifically, a parent folder) having the same start phrase and end phrase as the structure start phrase and end phrase (additional structure specifying information) assigned to the additional object at the time of this additional storage If P) already exists in the data storage unit 160, the storage control unit 150 stores the additional object in association with the already existing structure. That is, the additional object is placed under the existing structure and stored as a hierarchical structure. On the other hand, when such a structure does not exist in the data storage unit 160, the storage control unit 150 provides a new structure having a start phrase and an end phrase of the structure given to the additional object, and the like. The additional object is stored in association with the new structure. Further, in the case of “change processing”, the storage control unit 150 replaces the changed object included in the input data with the existing object before the change stored in the data storage unit 160. At this time, the existing object before the change can be specified by the object information before change included in the input data input from the analysis unit 120. Further, in the case of “deletion processing”, the storage control unit 150 deletes the deleted object stored in the data storage unit 160. At this time, the deleted object can be specified by the deleted object specifying information included in the input data input from the analysis unit 120. (Step S230).

次に、格納制御部150が、ステップS230における「追加処理」、「変更処理」、「削除処理」の各処理後に、当該各処理を行ったことを表すログ情報をログ格納部170に格納させる(ステップS240)。   Next, after each of the “addition process”, “change process”, and “deletion process” in step S230, the storage control unit 150 causes the log storage unit 170 to store log information indicating that each process has been performed. (Step S240).

[オブジェクト単位でのデータ同期の場合、その1]
続いて、同期データの発生元であり且つ同期データの送信側である携帯電話機10と、同期データの受信側である同期サーバ20との間でデータ同期が行われる場合の動作について、図12を参照しながら説明する。図12は、この場合に携帯電話機10と同期サーバ20との間で行われる動作を示すシーケンス図である。
[In the case of data synchronization in object units, 1]
Next, FIG. 12 shows an operation when data synchronization is performed between the mobile phone 10 that is the generation source of the synchronization data and is the transmission side of the synchronization data, and the synchronization server 20 that is the reception side of the synchronization data. The description will be given with reference. FIG. 12 is a sequence diagram showing an operation performed between the mobile phone 10 and the synchronization server 20 in this case.

最初に、携帯電話機10の同期部190が、ログ格納部170に格納されたログ情報(以下、第1ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部160で発生した旨を判断する(ステップS310、第1ステップ)。   First, the synchronization unit 190 of the mobile phone 10 refers to log information stored in the log storage unit 170 (hereinafter referred to as first log information), and a data change in an object unit occurs in the data storage unit 160. A determination is made (step S310, first step).

次に、同期部190が、当該変化のあったオブジェクト単位のデータ(以下、第1データ)、および第1データを特定する例えばIDである特定情報(以下、第1特定情報)をデータ格納部160よりオブジェクト単位で抽出する。以下では、この抽出した第1データおよび第1特定情報を第1同期データという(ステップS320、第2ステップ)。同期部190は、第1同期データを通信部110に出力する(ステップS321)。   Next, the synchronization unit 190 stores the data in the object unit (hereinafter referred to as first data) that has changed, and the specific information (hereinafter referred to as first specific information) that is, for example, an ID that specifies the first data. From 160, the object is extracted. Below, this extracted 1st data and 1st specific information are called 1st synchronous data (step S320, 2nd step). The synchronization unit 190 outputs the first synchronization data to the communication unit 110 (step S321).

次に、通信部110が、同期部190より入力した第1同期データを同期サーバ20の通信部210に送信する。このとき、通信部110は当該第1同期データをオブジェクト単位で送信してもよい。または、通信部110は複数のオブジェクトをまとめた形で当該第1同期データを同期サーバ20の通信部210に送信してもよい(ステップS330、第3ステップ)。   Next, the communication unit 110 transmits the first synchronization data input from the synchronization unit 190 to the communication unit 210 of the synchronization server 20. At this time, the communication unit 110 may transmit the first synchronization data in units of objects. Or the communication part 110 may transmit the said 1st synchronous data to the communication part 210 of the synchronous server 20 in the form which put together the several object (step S330, 3rd step).

次に、同期サーバ20の通信部210が、第1同期データを携帯電話機10の通信部110より受信する(ステップS340、第4ステップ)。通信部210は、当該受信した第1同期データを同期サーバ20の判断部280に出力する(ステップS341)。   Next, the communication unit 210 of the synchronization server 20 receives the first synchronization data from the communication unit 110 of the mobile phone 10 (step S340, fourth step). The communication unit 210 outputs the received first synchronization data to the determination unit 280 of the synchronization server 20 (step S341).

次に、判断部280が、第1同期データに含まれた第1特定情報に基づいて、第1データをデータ格納部250に追加する追加動作、またはデータ格納部250に既に格納されており且つ第1特定情報に基づいて特定される既存のデータ(以下、第2既存データ)を第1データに書き換える変更動作、または上記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する。なお、判断部280のこの判断動作の詳細については後述する(ステップS350、第5ステップ)。判断部280は、ステップS350の判断結果を表す情報を格納制御部250に出力する(ステップS351)。   Next, the determination unit 280 adds the first data to the data storage unit 250 based on the first specific information included in the first synchronization data, or is already stored in the data storage unit 250 and Which one of the change operation to rewrite the existing data specified based on the first specifying information (hereinafter referred to as second existing data) to the first data, or the delete operation to delete the second existing data is to be executed to decide. Details of this determination operation of the determination unit 280 will be described later (step S350, fifth step). The determination unit 280 outputs information representing the determination result of step S350 to the storage control unit 250 (step S351).

次に、格納制御部250が、ステップS351にて入力した判断結果を表す情報に基づいて、上記の追加動作、変更動作、削除動作のうち何れかの動作を実行する(ステップS360、第6ステップ)。   Next, the storage control unit 250 executes any one of the addition operation, the change operation, and the deletion operation based on the information representing the determination result input in step S351 (step S360, sixth step). ).

次に、通信部210が、第1同期データに対するデータ同期が実行された旨を表す信号(以下、第2確認信号)を携帯電話機10の通信部110に送信する。なお、本実施形態においては、ステップS340〜ステップS360の全ての手順が正常に実行された後に、第2確認信号を通信部110に送信しているが、これに限られることはない。例えば、図示はしないが、ステップS340〜ステップS360のそれぞれの手順が正常に実行された後に、それぞれの手順の直後に第2確認信号を通信部110にその都度送信してもよい(ステップS370、第7ステップ)   Next, the communication unit 210 transmits a signal (hereinafter referred to as a second confirmation signal) indicating that data synchronization with respect to the first synchronization data has been executed to the communication unit 110 of the mobile phone 10. In the present embodiment, the second confirmation signal is transmitted to the communication unit 110 after all the procedures from step S340 to step S360 have been normally executed. However, the present invention is not limited to this. For example, although not shown, after each procedure of step S340 to step S360 is normally executed, a second confirmation signal may be transmitted to the communication unit 110 immediately after each procedure (step S370, (7th step)

次に、携帯電話機10の通信部110が、第2確認信号を通信部210より受信し(ステップS380、第8ステップ)、当該第2確認信号をログ格納部170に出力する(ステップS381)。   Next, the communication unit 110 of the mobile phone 10 receives the second confirmation signal from the communication unit 210 (step S380, eighth step), and outputs the second confirmation signal to the log storage unit 170 (step S381).

次に、ログ格納部170が、当該第2確認信号に基づいて、ステップS310で同期部190が参照した第1ログ情報を削除する(ステップS390、第9ステップ)。   Next, the log storage unit 170 deletes the first log information referred to by the synchronization unit 190 in step S310 based on the second confirmation signal (step S390, ninth step).

以上で説明したステップS310〜ステップS390により、第1同期データの発生元であり且つ第1同期データの送信側である携帯電話機10と、第1同期データの受信側である同期サーバ20との間で、第1同期データに対するデータ同期がオブジェクト単位で行われた。   Through steps S310 to S390 described above, between the mobile phone 10 that is the source of the first synchronization data and is the transmission side of the first synchronization data, and the synchronization server 20 that is the reception side of the first synchronization data Thus, data synchronization with respect to the first synchronization data is performed on an object basis.

[オブジェクト単位でのデータ同期の場合、その2]
続いて、同期サーバ20で発生した同期データに対するデータ同期について、図13のシーケンス図を参照しながら説明する。図13を参照する以下の説明は、同期データの発生元であり且つ同期データの送信側である同期サーバ20と、同期データの受信側である携帯電話機10との間で行われるデータ同期に関する。
[In case of data synchronization in object unit 2]
Next, data synchronization with respect to the synchronization data generated in the synchronization server 20 will be described with reference to the sequence diagram of FIG. The following description with reference to FIG. 13 relates to data synchronization performed between the synchronization server 20 that is the generation source of the synchronization data and is the transmission side of the synchronization data, and the mobile phone 10 that is the reception side of the synchronization data.

ステップS310〜ステップS390の次に、同期サーバ20の同期部290が、ログ格納部270に格納されたログ情報(以下、第2ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部260で発生した旨を判断する(ステップS410、第10ステップ)。   After step S310 to step S390, the synchronization unit 290 of the synchronization server 20 refers to the log information stored in the log storage unit 270 (hereinafter referred to as second log information), and the data change in units of objects is data. It is determined that it has occurred in the storage unit 260 (step S410, tenth step).

次に、同期部290が、当該変化のあったオブジェクト単位のデータ(以下、第2データ)、および第2データを特定する例えばIDである特定情報(以下、第2特定情報)をデータ格納部260より抽出する。以下では、この抽出した第2データおよび第2特定情報を第2同期データという(ステップS420、第11ステップ)。同期部290は、第2同期データを通信部210に出力する(ステップS421)。   Next, the synchronization unit 290 stores the object unit data (hereinafter referred to as second data) in which the change has occurred, and identification information (hereinafter referred to as second identification information) that is an ID for identifying the second data, for example. Extract from 260. Below, this extracted 2nd data and 2nd specific information are called 2nd synchronous data (step S420, 11th step). The synchronization unit 290 outputs the second synchronization data to the communication unit 210 (step S421).

次に、通信部210が、同期部290より入力した第2同期データを携帯電話機10の通信部110に送信する。このとき、通信部210は当該第2同期データをオブジェクト単位で送信してもよい。または、通信部210は複数のオブジェクトをまとめた形で当該第2同期データを携帯電話機10の通信部110に送信してもよい(ステップS430、第12ステップ)。   Next, the communication unit 210 transmits the second synchronization data input from the synchronization unit 290 to the communication unit 110 of the mobile phone 10. At this time, the communication unit 210 may transmit the second synchronization data in units of objects. Or the communication part 210 may transmit the said 2nd synchronous data to the communication part 110 of the mobile telephone 10 in the form which put together the several object (step S430, 12th step).

次に、携帯電話機10の通信部110が、第2同期データを同期サーバ20の通信部210より受信する(ステップS440、第13ステップ)。通信部110は、当該受信した第2同期データを携帯電話機10の判断部180に出力する(ステップS441)。   Next, the communication unit 110 of the mobile phone 10 receives the second synchronization data from the communication unit 210 of the synchronization server 20 (step S440, step 13). The communication unit 110 outputs the received second synchronization data to the determination unit 180 of the mobile phone 10 (step S441).

次に、判断部180が、第2同期データに含まれた第2特定情報に基づいて、第2データをデータ格納部150に追加する追加動作、またはデータ格納部150に既に格納されており且つ第2特定情報に基づいて特定される既存のデータ(以下、第1既存データ)を第2データに書き換える変更動作、または上記第1既存データを削除する削除動作のうち何れの動作を実行すべきか判断する。なお、判断部180のこの判断動作の詳細については後述する(ステップS450、第14ステップ)。判断部180は、ステップS450の判断結果を表す情報を格納制御部150に出力する(ステップS451)。   Next, the determination unit 180 adds the second data to the data storage unit 150 based on the second specific information included in the second synchronization data, or is already stored in the data storage unit 150 and Which one of the change operation to rewrite the existing data specified based on the second specifying information (hereinafter referred to as the first existing data) to the second data or the delete operation to delete the first existing data is to be executed. to decide. Details of this determination operation of the determination unit 180 will be described later (step S450, step 14). The determination unit 180 outputs information representing the determination result of step S450 to the storage control unit 150 (step S451).

次に、格納制御部150が、ステップS451にて入力した判断結果を表す情報に基づいて、上記の追加動作、変更動作、削除動作のうち何れかの動作を実行する(ステップS460、第15ステップ)。   Next, the storage control unit 150 executes any one of the addition operation, the change operation, and the deletion operation based on the information representing the determination result input in step S451 (step S460, 15th step). ).

次に、通信部110が、第2同期データに対するデータ同期が実行された旨を表す信号(以下、第1確認信号)を同期サーバ20の通信部210に送信する。なお、本実施形態においては、ステップS440〜ステップS460の全ての手順が正常に実行された後に、第1確認信号を通信部210に送信しているが、これに限られることはない。例えば、図示はしないが、ステップS440〜ステップS460のそれぞれの手順が正常に実行された後に、それぞれの手順の直後に第1確認信号を通信部210にその都度送信してもよい(ステップS470、第16ステップ)   Next, the communication unit 110 transmits a signal (hereinafter referred to as a first confirmation signal) indicating that data synchronization with respect to the second synchronization data has been performed to the communication unit 210 of the synchronization server 20. In the present embodiment, the first confirmation signal is transmitted to the communication unit 210 after all the procedures in steps S440 to S460 have been normally executed, but the present invention is not limited to this. For example, although not shown, after each procedure of step S440 to step S460 is normally executed, a first confirmation signal may be transmitted to the communication unit 210 immediately after each procedure (step S470, 16th step)

次に、同期サーバ20の通信部210が、第1確認信号を通信部110より受信し(ステップS480、第17ステップ)、当該第1確認信号をログ格納部270に出力する(ステップS481)。   Next, the communication unit 210 of the synchronization server 20 receives the first confirmation signal from the communication unit 110 (step S480, step 17), and outputs the first confirmation signal to the log storage unit 270 (step S481).

次に、ログ格納部270が、当該第1確認信号に基づいて、ステップS410で同期部290が参照した第2ログ情報を削除する(ステップS490、第18ステップ)。   Next, the log storage unit 270 deletes the second log information referred to by the synchronization unit 290 in step S410 based on the first confirmation signal (step S490, 18th step).

以上で説明したステップS410〜ステップS490により、同期サーバ20で発生した第2同期データに対するデータ同期がオブジェクト単位で行われた。   Data synchronization with respect to the second synchronization data generated in the synchronization server 20 is performed in units of objects through steps S410 to S490 described above.

[オブジェクトID等の詳細]
以下では、解析部120,220または判断部180,280の判断動作(「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断)、オブジェクトを特定するID、親フォルダを特定するID、フラグ情報、マッピング情報等について、詳細に説明する。
[Details of object ID, etc.]
Hereinafter, the determination operation of the analysis units 120 and 220 or the determination units 180 and 280 (determination as to which of “addition”, “change”, and “deletion” should be performed), an ID for identifying an object, The ID for identifying the parent folder, flag information, mapping information, etc. will be described in detail.

[オブジェクトID等の詳細、その1]
まず、オブジェクト単位の入力データまたは同期データとして、例えば図14に示すようなデータが解析部120,220または判断部180,280に入力された場合について説明する。図14の例においては、図14(a)に示すように、データの中身がオブジェクトである場合の入力データまたは同期データ50は、当該オブジェクトが属する親フォルダのID51と、当該オブジェクトのID52と、当該オブジェクトそのもの53との組み合わせからなる。また、図14(b)に示すように、データの中身が親フォルダである場合の入力データまたは同期データ60は、データの中身が親フォルダであることを表すヘッダ情報としてのroot情報61と、当該親フォルダのID62と、当該親フォルダそのもの63との組み合わせからなる。また、図14の例では、データの送信側および受信側において、互いに共通であり且つ重複しないオブジェクトのIDおよび親フォルダのIDを有していることを仮定している。
[Details of object ID, etc., 1]
First, a case will be described in which, for example, data as shown in FIG. 14 is input to the analysis units 120 and 220 or the determination units 180 and 280 as input data or synchronization data in object units. In the example of FIG. 14, as shown in FIG. 14A, input data or synchronization data 50 when the content of the data is an object includes an ID 51 of a parent folder to which the object belongs, an ID 52 of the object, It consists of a combination with the object itself 53. Further, as shown in FIG. 14B, the input data or the synchronization data 60 when the data content is a parent folder includes root information 61 as header information indicating that the data content is a parent folder, It consists of a combination of the parent folder ID 62 and the parent folder 63 itself. In the example of FIG. 14, it is assumed that the data transmitting side and the receiving side have an object ID and a parent folder ID that are common to each other and are not duplicated.

図14(c)に示すように、親フォルダのID12と、オブジェクトのID1と、当該オブジェクトそのものとが解析部120,220または判断部180,280に入力されたとする。この場合に、解析部120,220または判断部180,280は、データ格納部160,260を参照し、ID12の親フォルダの配下に、IDが1であるオブジェクトが存在するかを確認する。ID12の親フォルダの配下にIDが1のオブジェクトが既に存在する場合に、解析部120,220または判断部180,280は、ID12の親フォルダの配下に既に存在するID1のオブジェクトを、入力データまたは同期データとして入力されたID1のオブジェクトに書き換える旨の「変更」を判断する。   As shown in FIG. 14C, it is assumed that the ID 12 of the parent folder, the ID 1 of the object, and the object itself are input to the analysis units 120 and 220 or the determination units 180 and 280. In this case, the analysis units 120 and 220 or the determination units 180 and 280 refer to the data storage units 160 and 260 and confirm whether or not an object having an ID of 1 exists under the parent folder of ID12. When an object with ID 1 already exists under the parent folder of ID12, the analysis units 120 and 220 or the determination units 180 and 280 use the ID1 object already existing under the parent folder of ID12 as input data or It is determined whether or not “change” for rewriting the object with ID1 input as the synchronization data.

ここで、例えば図14(d)に示すように、当該オブジェクトの中身がブランク(null)である場合には、解析部120,220または判断部180,280は、ID12の親フォルダの配下に存在するID1のオブジェクトを削除する旨の「削除」を判断する。言い換えれば、「削除」は、ID12の親フォルダの配下に既に存在するID1のオブジェクトを中身の無いブランクのオブジェクトに書き換えることと同等である。   Here, for example, as shown in FIG. 14D, when the content of the object is blank, the analysis units 120 and 220 or the determination units 180 and 280 exist under the parent folder of ID12. The “deletion” to delete the ID1 object to be determined is determined. In other words, “deletion” is equivalent to rewriting an ID1 object that already exists under the parent folder of ID12 to a blank object without content.

一方、図14(c)の例に戻り、親フォルダのID12の配下にID1のオブジェクトが存在しない場合には、解析部120,220または判断部180,280は、入力データまたは同期データとして入力されたID1のオブジェクトをID12の親フォルダの配下に新たに追加する旨の「追加」を判断する。   On the other hand, returning to the example of FIG. 14C, when there is no ID1 object under the parent folder ID12, the analysis units 120 and 220 or the determination units 180 and 280 are input as input data or synchronization data. The “addition” to add a new ID1 object under the parent folder of ID12 is determined.

また、図14(e)に示すように、root情報と、親フォルダのID7と、当該親フォルダそのものとが解析部120,220または判断部180,280に入力されたとする。この場合に、解析部120,220または判断部180,280は、データ格納部160,260を参照し、ID7の親フォルダが既に存在するかを確認する。データ格納部160,260にID7の親フォルダが既に存在する場合に、解析部120,220または判断部180,280は、当該既に存在するID7の親フォルダを、入力データまたは同期データとして入力されたID7の親フォルダに書き換える旨の「変更」を判断する。一方、ID7の親フォルダが存在しない場合には、解析部120,220または判断部180,280は、入力データまたは同期データとして入力されたID7の親フォルダをデータ格納部160,260に新たに追加する旨の「追加」を判断する。   14E, it is assumed that root information, parent folder ID 7 and the parent folder itself are input to the analysis units 120 and 220 or the determination units 180 and 280. In this case, the analysis units 120 and 220 or the determination units 180 and 280 refer to the data storage units 160 and 260 and confirm whether the parent folder of ID7 already exists. When the ID7 parent folder already exists in the data storage units 160 and 260, the analysis unit 120 or 220 or the determination unit 180 or 280 receives the existing ID7 parent folder as input data or synchronization data. Judgment is made of “change” for rewriting to the parent folder of ID7. On the other hand, when there is no ID7 parent folder, the analysis units 120 and 220 or the determination units 180 and 280 newly add the ID7 parent folder input as input data or synchronization data to the data storage units 160 and 260. Judgment “addition” is made.

解析部120,220または判断部180,280は、以上で説明したように、「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断を行い、当該判断の結果を表す情報を格納制御部150に出力する。格納制御部150は、当該判断結果に基づいて、「追加」、「変更」、「削除」のうち何れかの動作を実行する。   As described above, the analysis units 120 and 220 or the determination units 180 and 280 determine whether any of “addition”, “change”, and “deletion” should be performed, and perform the determination. Information representing the result is output to the storage control unit 150. The storage control unit 150 executes any one of “addition”, “change”, and “deletion” based on the determination result.

[オブジェクトID等の詳細、その2]
次に、オブジェクト単位の入力データまたは同期データとして、例えば図15に示すようなデータが解析部120,220または判断部180,280に入力された場合について説明する。図15の例は、図15(a)および図15(b)に示すように、入力データまたは同期データ50,60にフラグ情報54,64が更に含まれている点以外は、図14の例の場合と同等である。
[Details of object ID, etc., 2]
Next, a case will be described in which, for example, data as shown in FIG. 15 is input to the analysis units 120 and 220 or the determination units 180 and 280 as object unit input data or synchronization data. The example of FIG. 15 is the same as the example of FIG. 14 except that the flag information 54 and 64 is further included in the input data or the synchronization data 50 and 60 as shown in FIGS. 15 (a) and 15 (b). Is equivalent to

解析部120,220または判断部180,280は、フラグ情報54,64に基づいて、「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断を行う。すなわち、図15(c)の場合に、「replace」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、ID12の親フォルダの配下に既に存在するID1のオブジェクトを、入力データまたは同期データとして入力されたID1のオブジェクトに書き換える旨の「変更」を判断する。これは、上記の図14(c)の場合において、ID12の親フォルダの配下にID1のオブジェクトが既に存在することが確認された場合と同等である。   Based on the flag information 54 and 64, the analysis units 120 and 220 or the determination units 180 and 280 make a determination as to which of “addition”, “change”, and “deletion” should be performed. That is, in the case of FIG. 15C, based on the flag information described as “replace”, the analysis units 120 and 220 or the determination units 180 and 280 have the ID1 that already exists under the parent folder of ID12. A “change” is determined to rewrite the object with the ID1 object input as input data or synchronization data. This is equivalent to the case where it is confirmed in the case of FIG. 14C that the ID1 object already exists under the parent folder ID12.

また、図15(d)の場合に、「add」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、入力データまたは同期データとして入力されたID1のオブジェクトをID12の親フォルダの配下に新たに追加する旨の「追加」を判断する。これは、上記の図14(c)の場合において、ID12の親フォルダの配下にID1のオブジェクトが存在しないことが確認された場合と同等である。   Further, in the case of FIG. 15D, based on the flag information described as “add”, the analysis units 120 and 220 or the determination units 180 and 280 cause the ID1 object input as input data or synchronization data. Is determined to be newly added under the parent folder of ID12. This is equivalent to the case where it is confirmed in the case of FIG. 14C that there is no ID1 object under the parent folder of ID12.

また、図15(e)の場合に、「delete」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、ID12の親フォルダの配下に既に存在するID1のオブジェクトを削除する旨の「削除」を判断する。これは、上記の図14(d)の場合と同等である。   Further, in the case of FIG. 15E, based on the flag information described as “delete”, the analysis units 120 and 220 or the determination units 180 and 280 have the ID1 that already exists under the parent folder of ID12. Judge “delete” to delete the object. This is equivalent to the case of FIG.

また、図15(f)の場合に、「replace」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、既に存在するID7の親フォルダを、入力データまたは同期データとして入力されたID7の親フォルダに書き換える旨の「変更」を判断する。これは、上記の図14(e)の場合において、ID7の親フォルダがデータ格納部160,260に既に存在することが確認された場合と同等である。   Further, in the case of FIG. 15F, based on the flag information described as “replace”, the analysis units 120 and 220 or the determination units 180 and 280 use the existing parent folder of ID7 as input data or The “change” to rewrite to the parent folder of ID7 input as the synchronization data is determined. This is equivalent to the case where it is confirmed that the parent folder of ID7 already exists in the data storage units 160 and 260 in the case of FIG.

また、図15(g)の場合に、「add」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、入力データまたは同期データとして入力されたID7の親フォルダをデータ格納部160,260に新たに追加する旨の「追加」を判断する。これは、上記の図14(e)の場合において、ID7の親フォルダがデータ格納部160,260に存在しないことが確認された場合と同等である。   Further, in the case of FIG. 15G, based on the flag information described as “add”, the analysis units 120 and 220 or the determination units 180 and 280 may cause the parent of ID7 input as input data or synchronization data. “Addition” to add a new folder to the data storage units 160 and 260 is determined. This is equivalent to the case where it is confirmed that the parent folder of ID7 does not exist in the data storage units 160 and 260 in the case of FIG.

[オブジェクトID等の詳細、その3]
次に、オブジェクト単位の同期データとして、例えば図16および図17に示すようなデータがデータ同期の送信側と受信側との間で送受信される場合について説明する。図16および図17の例では、データの送信側と受信側とが互いに共通しないオブジェクトのIDおよび親フォルダのIDを有していることを仮定している。このため、本実施形態では、図18に示すようなマッピング情報を同期サーバ20が有している。なお、本実施形態においては同期サーバ20がマッピング情報を有しているが、これに限らず、携帯電話機10がマッピング情報を有していてもよく、同期サーバ20および携帯電話機10の両方がマッピング情報を共有していてもよい。
[Details of object ID, etc., 3]
Next, a case where data as shown in FIGS. 16 and 17, for example, is transmitted / received between the data synchronization transmission side and the reception side as the synchronization data in object units will be described. In the examples of FIGS. 16 and 17, it is assumed that the data transmitting side and the receiving side have an object ID and a parent folder ID that are not common to each other. For this reason, in this embodiment, the synchronization server 20 has mapping information as shown in FIG. In this embodiment, the synchronization server 20 has mapping information. However, the present invention is not limited to this, and the mobile phone 10 may have mapping information. Both the synchronization server 20 and the mobile phone 10 are mapped. Information may be shared.

まず、図18のマッピング情報について説明する。図18のマッピング情報は同期サーバ20が有しているものであり、同期サーバ20側のIDは「GU」から始まり、且つ携帯電話機10側のIDは「LU」から始まる。したがって、同期サーバ20側と携帯電話機10側とは互いに共通しないオブジェクトのIDおよび親フォルダのIDを有していることとなる。図18(a)の例において、同期サーバ20側のIDである「GUID1」は携帯電話機10側のIDである「LUID2」に対応する。同様に、同期サーバ20側の「GUID2」は携帯電話機10側の「LUID9」に対応する。なお、場合によっては(例えば「GUID4」や「LUID6」)、同期サーバ20側のID、携帯電話機10側のIDのうち何れかがマッピング情報として登録されていない場合もあり、この場合にはブランク(null)になっている。   First, the mapping information in FIG. 18 will be described. The mapping information in FIG. 18 is what the synchronization server 20 has, the ID on the synchronization server 20 side starts with “GU”, and the ID on the mobile phone 10 side starts with “LU”. Therefore, the synchronization server 20 side and the mobile phone 10 side have object IDs and parent folder IDs that are not common to each other. In the example of FIG. 18A, “GUID1” that is the ID on the synchronization server 20 side corresponds to “LUID2” that is the ID on the mobile phone 10 side. Similarly, “GUID2” on the synchronization server 20 side corresponds to “LUID9” on the mobile phone 10 side. In some cases (for example, “GUID4” or “LUID6”), either the ID on the synchronization server 20 side or the ID on the mobile phone 10 side may not be registered as mapping information. (Null).

次に、オブジェクト単位の同期データとして、例えば図16に示すようなデータがデータ同期の送信側と受信側との間で送受信される場合について説明する。図16は、同期サーバ20がデータ同期の送信側であり、携帯電話機10が受信側である場合の一例を示している。データ同期の送信側の同期サーバ20は、図16に示すように、オブジェクトのIDおよび親フォルダのIDを例えば図18のマッピング情報を参照して携帯電話機10側のIDに変換してから送信している。この動作は既述した通信部210が行ってもよく、またはこの動作のために別の手段(図示せず)を設けてもよい。   Next, a case will be described in which, for example, data as shown in FIG. 16 is transmitted and received between the data synchronization transmission side and the reception side as the synchronization data for each object. FIG. 16 shows an example in which the synchronization server 20 is a data synchronization transmission side and the mobile phone 10 is a reception side. As shown in FIG. 16, the synchronization server 20 on the transmission side of data synchronization converts the object ID and the parent folder ID into the ID on the mobile phone 10 side with reference to the mapping information in FIG. ing. This operation may be performed by the communication unit 210 described above, or another means (not shown) may be provided for this operation.

図16(a)に示すように、親フォルダのIDが「LUID10」、且つオブジェクトのIDが「LUID1」となっており、親フォルダのIDおよびオブジェクトのIDの両方が携帯電話機10側のIDに変換されている。つまり、元々は「LUID10」や「LUID1」ではなく例えば「GUID10」や「GUID7」などの同期サーバ20側のIDであったものを、同期サーバ20がマッピング情報を参照して携帯電話機10側のIDに変換している。図16(a)に示すような同期データを受信した携帯電話機10の判断部180は、上記の[オブジェクトID等の詳細、その2]で説明した方法により、「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断を行う。なお、図16(a)の例では同期データにフラグ情報が含まれているが、このフラグ情報が含まれていなくてもよい。この場合には、上記の[オブジェクトID等の詳細、その1]で説明した方法により、「追加」、「変更」、「削除」に関する判断が行われる。   As shown in FIG. 16A, the parent folder ID is “LUID10” and the object ID is “LUID1”, and both the parent folder ID and the object ID are the IDs on the mobile phone 10 side. It has been converted. That is, instead of “LUID10” or “LUID1” originally, the ID on the side of the synchronization server 20 such as “GUID10” or “GUID7”, the synchronization server 20 refers to the mapping information on the mobile phone 10 side. It is converted to ID. The determination unit 180 of the mobile phone 10 that has received the synchronization data as shown in FIG. 16A performs “addition”, “change”, “ A determination is made as to which of the “delete” operations should be performed. In the example of FIG. 16A, the synchronization data includes flag information. However, the flag information may not be included. In this case, the determination regarding “addition”, “change”, and “deletion” is performed by the method described in [Details of Object ID, Part 1] above.

また、図16(b)の場合においては、オブジェクトのIDが「LUID7」となっており携帯電話機10側のIDに変換されている。なお、root情報については、携帯電話機10と同期サーバ20との間で共通するため、変化が無く、root情報そのままになっている。図16(b)に示すような同期データを受信した携帯電話機10の判断部180は、上記の[オブジェクトID等の詳細、その1および2]で説明した方法により、「追加」、「変更」、「削除」に関する判断を行う。   In the case of FIG. 16B, the object ID is “LUID7”, which is converted to the ID on the mobile phone 10 side. Since the root information is common between the mobile phone 10 and the synchronization server 20, there is no change and the root information remains as it is. The determination unit 180 of the mobile phone 10 that has received the synchronization data as shown in FIG. 16B performs “addition”, “change” by the method described in [Details of object ID and the like, 1 and 2] above. , “Deletion” is determined.

図16(c)は、同期サーバ20側のIDに対応する携帯電話機10側のIDが図18のマッピング情報に登録されていない場合の一例である。図16(c)に示すように、親フォルダのIDは「LUID13」となっており携帯電話機10側のIDに変換されているが、オブジェクトのIDは同期サーバ20側のIDのままで「GUID4」となっている。図16(c)に示すような同期データを受信した携帯電話機10の判断部180は、上記の[オブジェクトID等の詳細、その1および2]で説明した方法により、「追加」、「変更」、「削除」に関する判断を行う。   FIG. 16C is an example in the case where the ID on the mobile phone 10 side corresponding to the ID on the synchronization server 20 side is not registered in the mapping information of FIG. As shown in FIG. 16C, the ID of the parent folder is “LUID 13”, which is converted to the ID on the mobile phone 10 side, but the object ID remains as the ID on the synchronization server 20 side and is “GUID4”. " The determination unit 180 of the mobile phone 10 that has received the synchronization data as shown in FIG. 16C performs “addition”, “change” by the method described in [Details of object ID and the like, 1 and 2] above. , “Deletion” is determined.

図17は、携帯電話機10がデータ同期の送信側であり、同期サーバ20が受信側である場合の一例を示している。データ同期の送信側の携帯電話機10は、図17(a)や(b)に示すように、オブジェクトのIDおよび親フォルダのIDを「LU」から始まる携帯電話機10側のIDにして送信している。そして、データ同期の受信側の同期サーバ20は、例えば図18のマッピング情報を参照して、自装置である同期サーバ20側のIDに変換してから、「追加」、「変更」、「削除」に関する判断を行う。この動作は既述した判断部280が行ってもよく、またはこの動作のために別の手段(図示せず)を設けてもよい。   FIG. 17 shows an example in which the mobile phone 10 is a data synchronization transmission side and the synchronization server 20 is a reception side. As shown in FIGS. 17A and 17B, the mobile phone 10 on the data synchronization transmission side transmits the object ID and the parent folder ID as the mobile phone 10 side ID starting with “LU”. Yes. Then, the synchronization server 20 on the data synchronization receiving side refers to the mapping information in FIG. 18 for example, converts the ID into the ID on the synchronization server 20 side as its own device, and then performs “addition”, “change”, “deletion” ". This operation may be performed by the above-described determination unit 280, or another means (not shown) may be provided for this operation.

図17(c)は、データ同期の送信側の携帯電話機10がマッピング情報には存在しないID(例えば「LUID5」)のオブジェクトを送信する場合を示す。この場合に、受信側の同期サーバ20は、マッピング情報に当該IDの「LUID5」のための欄を新たに設ける(図18(b)の最後の行を参照)。また、「LUID5」に対応する同期サーバ20側のIDが後に定まった場合には、当該IDをマッピング情報に記録してもよい。なお、図18(b)は、図18(a)ではnullとなっていた「LUID6」に対応する同期サーバ20側のIDが「GUID5」と定まった場合の例を示しており、図18(a)に比べると、「GUID5」と追記されている。   FIG. 17C illustrates a case where the mobile phone 10 on the data synchronization transmission side transmits an object having an ID (for example, “LUID5”) that does not exist in the mapping information. In this case, the synchronization server 20 on the receiving side newly provides a column for “LUID5” of the ID in the mapping information (see the last line in FIG. 18B). If the ID on the synchronization server 20 side corresponding to “LUID5” is determined later, the ID may be recorded in the mapping information. 18B shows an example in which the ID on the synchronization server 20 side corresponding to “LUID6” which is null in FIG. 18A is determined as “GUID5”. Compared to a), “GUID5” is added.

[本実施形態の作用および効果]
続いて、本実施形態にかかる通信システム1の作用及び効果について説明する。本実施形態の通信システム1によれば、携帯電話機10および同期サーバ20に備えられた各手段が上記のステップS310からステップS390までの一連の流れとなる全ての手順を行うことにより、携帯電話機10が同期データの発生元および送信側となり、且つ同期サーバ20が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。
[Operation and effect of this embodiment]
Then, the effect | action and effect of the communication system 1 concerning this embodiment are demonstrated. According to the communication system 1 of the present embodiment, the units included in the mobile phone 10 and the synchronization server 20 perform all the procedures that are a series of steps from Step S310 to Step S390, so that the mobile phone 10 Can be efficiently performed in units of objects when the synchronization data generation source and transmission side and the synchronization server 20 become the synchronization data reception side.

また、携帯電話機10および同期サーバ20に備えられた各手段が上記のステップS410からステップS490までの一連の流れとなる全ての手順を行うことにより、同期サーバ20が同期データの発生元および送信側となり、且つ携帯電話機10が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。   In addition, each unit provided in the mobile phone 10 and the synchronization server 20 performs all the procedures in the series of steps S410 to S490, so that the synchronization server 20 generates the synchronization data and the transmission side. In addition, when the mobile phone 10 is the synchronization data receiver, data synchronization can be efficiently performed in units of objects.

また、本実施形態においては、判断部180,280は、フラグ情報を参照することにより、同期データに対して何れの動作を実行すべきかを確実且つ容易に判断することができる。   In the present embodiment, the determination units 180 and 280 can reliably and easily determine which operation should be performed on the synchronization data by referring to the flag information.

また、本発明の通信装置によれば、構造体としてデータ入力があった場合においても、データの格納はオブジェクトを単位にして行われる。ここで、オブジェクトは所定のデータの集合体であり、このオブジェクトを一つ以上含むものが構造体であるため、オブジェクトのデータ量は構造体のデータ量より小さい。したがって、オブジェクトを単位にしてデータを格納することにより、当該オブジェクトを送受信の単位にして通信装置間のデータ同期を行うことができる。この場合には、構造体全体をデータ送受信の単位とする場合に比べ、送受信されるデータ量を少なくすることができ、効率よくデータ同期を行うことができる。   According to the communication apparatus of the present invention, data is stored in units of objects even when data is input as a structure. Here, an object is an aggregate of predetermined data, and a structure including one or more objects is a structure. Therefore, the data amount of the object is smaller than the data amount of the structure. Therefore, by storing data in units of objects, data synchronization between communication devices can be performed in units of transmission / reception of the objects. In this case, compared with the case where the entire structure is used as a unit for data transmission / reception, the amount of data transmitted / received can be reduced, and data synchronization can be performed efficiently.

また、本実施形態においては、同期部190,290が、ログ格納部170,270に格納されているログ情報を参照することにより、データ格納部160,260にて新たにデータの格納が行われた旨を判断することができる。   In this embodiment, the data storage units 160 and 260 newly store data when the synchronization units 190 and 290 refer to the log information stored in the log storage units 170 and 270. It can be judged.

以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されないことは言うまでもない。   As mentioned above, although preferred embodiment of this invention was described, it cannot be overemphasized that this invention is not limited to the said embodiment.

例えば、上記実施形態においては、データが階層構造化されてからデータ格納部160,260に格納されるが、これに限られることなく、データ格納部160,260が構造体のままでデータを格納してもよい。この場合には、同期の際に、オブジェクト生成部140,240が当該構造体のデータを階層構造化した上で、通信部110,210が当該階層構造化されたデータをオブジェクト単位で送受信することが好ましい。   For example, in the above embodiment, the data is stored in the data storage units 160 and 260 after being hierarchically structured. However, the present invention is not limited to this, and the data storage units 160 and 260 store the data as structures. May be. In this case, at the time of synchronization, the object generation units 140 and 240 hierarchically structure the data of the structure, and the communication units 110 and 210 transmit and receive the hierarchically structured data in units of objects. Is preferred.

通信システム1の構成概要図である。1 is a schematic configuration diagram of a communication system 1. FIG. 携帯電話機10、同期サーバ20、およびダウンロードサーバ30のハードウェア構成図である。2 is a hardware configuration diagram of a mobile phone 10, a synchronization server 20, and a download server 30. FIG. 携帯電話機10の機能的な構成を示す構成概要図である。2 is a schematic configuration diagram showing a functional configuration of a mobile phone 10; FIG. 一つ以上のオブジェクトOa、Ob…を含む構造体Sの一例をイメージした図である。It is the figure which imaged an example of structure S containing one or more objects Oa, Ob .... 構造体Sより、当該構造体Sを特定する構造体特定情報(親フォルダP)、および複数のオブジェクトOa〜Ozが抽出され階層構造化された様子を示す図である。It is a figure which shows a mode that the structure specific information (parent folder P) which specifies the said structure S, and several object Oa-Oz were extracted from the structure S, and was hierarchically structured. 図4の構造体Sを元に、親フォルダPおよび複数のオブジェクトOa、Ob…が抽出され階層構造化された様子を示す図である。FIG. 5 is a diagram illustrating a state in which a parent folder P and a plurality of objects Oa, Ob,... Are extracted and hierarchically structured based on the structure S in FIG. 同期サーバ20の機能的な構成を示す構成概要図である。2 is a configuration outline diagram showing a functional configuration of a synchronization server 20. FIG. ダウンロードサーバ30の機能的な構成を示す構成概要図である。3 is a schematic configuration diagram showing a functional configuration of a download server 30. FIG. 携帯電話機10が構造体単位でデータを入力した場合の動作を示すシーケンス図である。FIG. 11 is a sequence diagram showing an operation when the mobile phone 10 inputs data in units of structures. 図9におけるステップS130をより詳細に説明するためのフローチャートである。10 is a flowchart for explaining step S130 in FIG. 9 in more detail. 携帯電話機10がオブジェクト単位でデータを入力した場合の動作を示すシーケンス図である。FIG. 11 is a sequence diagram showing an operation when the mobile phone 10 inputs data in units of objects. データ送信側の携帯電話機10とデータ受信側の同期サーバ20との間でデータ同期が行われる場合の動作を示すシーケンス図である。FIG. 11 is a sequence diagram showing an operation when data synchronization is performed between the mobile phone 10 on the data transmission side and the synchronization server 20 on the data reception side. データ送信側の同期サーバ20とデータ受信側の携帯電話機10との間でデータ同期が行われる場合の動作を示すシーケンス図である。FIG. 11 is a sequence diagram showing an operation when data synchronization is performed between a synchronization server 20 on the data transmission side and a mobile phone 10 on the data reception side. オブジェクトID等を詳細に説明するための図である(その1)。It is a figure for demonstrating object ID etc. in detail (the 1). オブジェクトID等を詳細に説明するための図である(その2)。It is a figure for demonstrating object ID etc. in detail (the 2). オブジェクトID等を詳細に説明するための図である(その3)。It is a figure for demonstrating object ID etc. in detail (the 3). オブジェクトID等を詳細に説明するための図である(その3)。It is a figure for demonstrating object ID etc. in detail (the 3). オブジェクトIDのマッピング情報の一例を示す図である。It is a figure which shows an example of the mapping information of object ID.

符号の説明Explanation of symbols

1…通信システム、10…携帯電話機、110…通信部、120…解析部、130…雛形格納部、140…オブジェクト生成部、150…格納制御部、160…データ格納部、170…ログ格納部、180…判断部、190…同期部、20…同期サーバ、210…通信部、220…解析部、230…雛形格納部、240…オブジェクト生成部、250…格納制御部、260…データ格納部、270…ログ格納部、280…判断部、290…同期部、30…ダウンロードサーバ、310…入力部、220…データ格納部、230…通信部、40…通信ネットワーク。 DESCRIPTION OF SYMBOLS 1 ... Communication system, 10 ... Mobile telephone, 110 ... Communication part, 120 ... Analysis part, 130 ... Template storage part, 140 ... Object generation part, 150 ... Storage control part, 160 ... Data storage part, 170 ... Log storage part, 180 ... determining unit 190 ... synchronizing unit 20 ... synchronizing server 210 ... communication unit 220 ... analyzing unit 230 ... model storing unit 240 ... object generating unit 250 ... storage controlling unit 260 ... data storing unit 270 ... log storage section, 280 ... determination section, 290 ... synchronization section, 30 ... download server, 310 ... input section, 220 ... data storage section, 230 ... communication section, 40 ... communication network.

Claims (9)

データの同期を取り合う第1通信装置および第2通信装置を備える通信システムにおけるデータ同期方法であって、
前記第1通信装置の第1解析手段が、前記第1通信装置に入力された入力データが所定のデータ集合体であるオブジェクトを一つ以上含む構造体であるか否かを、雛形格納手段に格納されたオブジェクトの雛形を元に解析する解析ステップと、
前記第1通信装置の第1抽出手段が、前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出ステップと、
前記第1通信装置の第1データ格納手段が、前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納するデータ格納ステップと、
前記第1通信装置の第1ログ格納手段が、前記構造体特定情報と前記一つ以上のオブジェクトとが前記第1データ格納手段に新たに格納された旨を表す第1ログ情報を格納するログ格納ステップと、
前記第1通信装置の第1同期手段が、前記第1通信装置の前記第1ログ格納手段に格納された前記第1ログ情報を参照して、所定のデータ集合体の単位であるオブジェクト単位でのデータの変化が第1通信装置の第1データ格納手段で発生した旨を判断する第1ステップと、
前記第1同期手段が、当該変化のあった第1データおよび前記第1データを特定する第1特定情報を第1同期データとして前記第1データ格納手段よりオブジェクト単位で抽出する第2ステップと、
前記第1通信装置の第1通信手段が、当該抽出した第1同期データを前記第2通信装置の第2通信手段に送信する第3ステップと、
前記第2通信手段が、前記第1同期データを前記第1通信手段より受信する第4ステップと、
前記第2通信装置の第2判断手段が、前記第1同期データに含まれた前記第1特定情報に基づいて、前記第1データを前記第2通信装置の第2データ格納手段に追加する追加動作、または前記第2データ格納手段に既に格納されており且つ前記第1特定情報に基づいて特定される第2既存データを前記第1データに書き換える変更動作、または前記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第5ステップと、
前記第2通信装置の第2格納制御手段が、前記第2判断手段の判断結果に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を実行する第6ステップと、
を備えることを特徴とするデータ同期方法。
A data synchronization method in a communication system including a first communication device and a second communication device for synchronizing data,
The first analysis unit of the first communication device uses a template storage unit to determine whether or not the input data input to the first communication device is a structure including one or more objects that are predetermined data aggregates. An analysis step for analyzing based on the stored object template;
When the first extraction unit of the first communication device analyzes that the input data is the structure, the structure specifying information for specifying the structure and one or more objects are determined from the input data. Extracting based on the template;
A data storage step in which the first data storage means of the first communication device stores the structure specifying information extracted by the extraction means in association with the one or more objects;
A log for storing first log information indicating that the structure specifying information and the one or more objects are newly stored in the first data storage unit; A storage step;
First synchronization means of said first communication apparatus, by referring to the first log information stored in the first log storage unit of the first communication device, object by object, which is a unit of a predetermined data collection A first step of determining that a change in data has occurred in the first data storage means of the first communication device;
A second step in which the first synchronization means extracts the first data that has changed and first identification information that identifies the first data as first synchronization data from the first data storage means in units of objects;
A first step in which the first communication means of the first communication device transmits the extracted first synchronization data to the second communication means of the second communication device;
A fourth step in which the second communication means receives the first synchronization data from the first communication means;
An addition in which the second determination unit of the second communication device adds the first data to the second data storage unit of the second communication device based on the first specific information included in the first synchronization data. An operation or a change operation that rewrites the second existing data already stored in the second data storage means and specified based on the first specifying information to the first data, or deletes the second existing data A fifth step of determining which of the deletion operations should be executed;
A sixth step in which the second storage control means of the second communication device executes any one of the adding operation, the changing operation, and the deleting operation based on the determination result of the second determining device;
A data synchronization method comprising:
前記第2通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第1通信手段に送信する第7ステップと、
前記第1通信手段が、前記第2確認信号を前記第2通信手段より受信する第8ステップと、
前記第1ログ格納手段が、前記第2確認信号に基づいて、前記第1ログ情報を削除する第9ステップと、
を更に備えることを特徴とする請求項1に記載のデータ同期方法。
A seventh step in which the second communication means transmits a second confirmation signal indicating that data synchronization with respect to the first synchronization data has been executed to the first communication means;
An eighth step in which the first communication means receives the second confirmation signal from the second communication means;
A first step in which the first log storage means deletes the first log information based on the second confirmation signal;
The data synchronization method according to claim 1, further comprising:
前記第2通信装置の第2同期手段が、前記第2通信装置の第2ログ格納手段に格納された第2ログ情報を参照して、前記オブジェクト単位でのデータの変化が前記第2データ格納手段で発生した旨を判断する第10ステップと、
前記第2同期手段が、当該変化のあった第2データおよび前記第2データを特定する第2特定情報を第2同期データとして前記第2データ格納手段よりオブジェクト単位で抽出する第11ステップと、
前記第2通信手段が、当該抽出した第2同期データを前記第1通信手段に送信する第12ステップと、
前記第1通信手段が、前記第2同期データを前記第2通信手段より受信する第13ステップと、
前記第1通信装置の第1判断手段が、前記第2同期データに含まれた前記第2特定情報に基づいて、前記第2データを前記第1データ格納手段に追加する追加動作、または前記第1データ格納手段に既に格納されており且つ前記第2特定情報に基づいて特定される第1既存データを前記第2データに書き換える変更動作、または前記第1既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第14ステップと、
前記第1通信装置の第1格納制御手段が、前記第1判断手段の判断結果に基づいて、該追加動作、該変更動作、該削除動作のうち何れかの動作を実行する第15ステップと、
を更に備えることを特徴とする請求項1または請求項2に記載のデータ同期方法。
The second synchronization means of the second communication device refers to the second log information stored in the second log storage means of the second communication device, and the data change in the object unit is stored in the second data storage. A tenth step of determining that the problem has occurred,
An eleventh step in which the second synchronization means extracts the second data that has changed and the second identification information that identifies the second data as second synchronization data from the second data storage means in units of objects;
A twelfth step in which the second communication means transmits the extracted second synchronization data to the first communication means;
A first step in which the first communication means receives the second synchronization data from the second communication means;
The first determination unit of the first communication device adds the second data to the first data storage unit based on the second specifying information included in the second synchronization data; or Either of a change operation for rewriting the first existing data already stored in one data storage means and specified based on the second specifying information to the second data, or a deletion operation for deleting the first existing data A fourteenth step for determining whether to perform the operation of:
A fifteenth step in which the first storage control means of the first communication device executes any one of the adding operation, the changing operation, and the deleting operation based on a determination result of the first determining device;
The data synchronization method according to claim 1, further comprising:
前記第1通信手段が、前記第2同期データに対するデータ同期が実行された旨を表す第1確認信号を前記第2通信手段に送信する第16ステップと、
前記第2通信手段が、前記第1確認信号を前記第1通信手段より受信する第17ステップと、
前記第2ログ格納手段が、前記第1確認信号に基づいて、前記第2ログ情報を削除する第18ステップと、
を更に備えることを特徴とする請求項1〜3の何れか1項に記載のデータ同期方法。
A sixteenth step in which the first communication means transmits a first confirmation signal indicating that data synchronization with respect to the second synchronization data has been performed to the second communication means;
A seventeenth step in which the second communication means receives the first confirmation signal from the first communication means;
The second log storage means deletes the second log information based on the first confirmation signal;
The data synchronization method according to claim 1, further comprising:
第2通信装置との間でデータの同期を取る第1通信装置であって、
入力された入力データが所定のデータ集合体であるオブジェクトを一つ以上含む構造体であるか否かを、雛形格納手段に格納されたオブジェクトの雛形を元に解析する解析手段と、
前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出手段と、
前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納する第1データ格納手段と、
前記構造体特定情報と前記一つ以上のオブジェクトとが前記第1データ格納手段に新たに格納された旨を表す第1ログ情報を格納する第1ログ格納手段と、
前記第1ログ格納手段に格納された前記第1ログ情報を参照して、所定のデータ集合体の単位であるオブジェクト単位でのデータの変化が前記第1データ格納手段で発生した旨を判断し、当該変化のあった第1データおよび前記第1データを特定する第1特定情報を第1同期データとして前記第1データ格納手段よりオブジェクト単位で抽出する第1同期手段と、
当該抽出した第1同期データを前記第2通信装置の第2通信手段に送信する第1通信手段と、
を備えることを特徴とする第1通信装置。
A first communication device that synchronizes data with a second communication device;
Analyzing means for analyzing whether or not the inputted input data is a structure including one or more objects which are predetermined data aggregates based on the model of the object stored in the model storing means;
When the input data is analyzed as the structure, extraction means for extracting from the input data structure specifying information for specifying the structure and one or more objects based on the template;
First data storage means for storing the structure specifying information extracted by the extraction means and the one or more objects in association with each other;
First log storage means for storing first log information indicating that the structure specifying information and the one or more objects are newly stored in the first data storage means;
With reference to the first log information stored in the first log storage means, it is determined that a change in data in an object unit which is a unit of a predetermined data aggregate has occurred in the first data storage means. First synchronization means for extracting the first data having changed and the first specifying information for specifying the first data as first synchronization data from the first data storage means in units of objects;
First communication means for transmitting the extracted first synchronization data to second communication means of the second communication device;
A first communication device comprising:
前記第1通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第2通信手段より受信し、
前記第1ログ格納手段が、前記第2確認信号に基づいて、前記第1ログ情報を削除する
ことを特徴とする請求項5に記載の第1通信装置。
The first communication means receives from the second communication means a second confirmation signal indicating that data synchronization for the first synchronization data has been executed,
The first communication device according to claim 5, wherein the first log storage unit deletes the first log information based on the second confirmation signal.
データの同期を取り合う第1通信装置および第2通信装置を備える通信システムであって、
前記第1通信装置は、
入力された入力データが所定のデータ集合体であるオブジェクトを一つ以上含む構造体であるか否かを、雛形格納手段に格納されたオブジェクトの雛形を元に解析する解析手段と、
前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出手段と、
前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納する第1データ格納手段と、
前記構造体特定情報と前記一つ以上のオブジェクトとが前記第1データ格納手段に新たに格納された旨を表す第1ログ情報を格納する第1ログ格納手段と、
前記第1ログ格納手段に格納された前記第1ログ情報を参照して、所定のデータ集合体の単位であるオブジェクト単位でのデータの変化が前記第1データ格納手段で発生した旨を判断し、当該変化のあった第1データおよび前記第1データを特定する第1特定情報を第1同期データとして前記第1データ格納手段よりオブジェクト単位で抽出する第1同期手段と、
当該抽出した第1同期データを前記第2通信装置の第2通信手段に送信する第1通信手段と、
を備え
前記第2通信装置は、
前記第1データおよび前記第1特定情報を含む前記第1同期データを前記第1通信装置の前記第1通信手段より受信する第2通信手段と、
前記第1同期データに含まれた前記第1特定情報に基づいて、前記第1データを第2データ格納手段に追加する追加動作、または前記第2データ格納手段に既に格納されており且つ前記第1特定情報に基づいて特定される第2既存データを前記第1データに書き換える変更動作、または前記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する第2判断手段と、
前記第2判断手段の判断結果に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を実行する第2格納制御手段と、
を備えることを特徴とする通信システム
A communication system comprising a first communication device and a second communication device for synchronizing data,
The first communication device is
Analyzing means for analyzing whether or not the inputted input data is a structure including one or more objects which are predetermined data aggregates based on the model of the object stored in the model storing means;
When the input data is analyzed as the structure, extraction means for extracting from the input data structure specifying information for specifying the structure and one or more objects based on the template;
First data storage means for storing the structure specifying information extracted by the extraction means and the one or more objects in association with each other;
First log storage means for storing first log information indicating that the structure specifying information and the one or more objects are newly stored in the first data storage means;
With reference to the first log information stored in the first log storage means, it is determined that a change in data in an object unit which is a unit of a predetermined data aggregate has occurred in the first data storage means. First synchronization means for extracting the first data having changed and the first specifying information for specifying the first data as first synchronization data from the first data storage means in units of objects;
First communication means for transmitting the extracted first synchronization data to second communication means of the second communication device;
With
The second communication device is
A second communication means for receiving from the first communication means of said first data and before Symbol said first communication device a first synchronous data containing first specifying information,
Based on the first specific information included in the first synchronization data, an additional operation of adding the first data to the second data storage means, or the second data storage means already stored and the second data storage means Second determining means for determining which operation to be executed, a change operation for rewriting second existing data specified based on one specifying information to the first data, or a delete operation for deleting the second existing data; ,
Second storage control means for executing any one of the addition operation, the change operation, and the deletion operation based on a determination result of the second determination means;
A communication system comprising:
前記第2通信手段が、前記第1同期データに対するデータ同期が実行された旨を表す第2確認信号を前記第1通信手段に送信することを特徴とする請求項7に記載の通信システムThe communication system according to claim 7, wherein the second communication unit transmits a second confirmation signal indicating that data synchronization with respect to the first synchronization data has been performed to the first communication unit. 前記第1同期データには、前記追加動作、前記変更動作、前記削除動作のうち何れかの動作を表すフラグ情報が含まれており、
前記第2判断手段は、前記フラグ情報に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れの動作を実行すべきか判断する
ことを特徴とする請求項7または請求項8に記載の通信システム
The first synchronization data includes flag information indicating any one of the addition operation, the change operation, and the deletion operation,
The said 2nd determination means determines which operation | movement should be performed among the said addition operation | movement, the said change operation | movement, and the said deletion operation | movement based on the said flag information. Communication system .
JP2008106953A 2008-04-16 2008-04-16 Data synchronization method and communication apparatus Expired - Fee Related JP4719243B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008106953A JP4719243B2 (en) 2008-04-16 2008-04-16 Data synchronization method and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008106953A JP4719243B2 (en) 2008-04-16 2008-04-16 Data synchronization method and communication apparatus

Publications (2)

Publication Number Publication Date
JP2009258971A JP2009258971A (en) 2009-11-05
JP4719243B2 true JP4719243B2 (en) 2011-07-06

Family

ID=41386313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008106953A Expired - Fee Related JP4719243B2 (en) 2008-04-16 2008-04-16 Data synchronization method and communication apparatus

Country Status (1)

Country Link
JP (1) JP4719243B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5467032B2 (en) * 2010-12-09 2014-04-09 日本電信電話株式会社 Information management system and its data update operation method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3750504B2 (en) * 2000-08-09 2006-03-01 セイコーエプソン株式会社 Data update method and information processing apparatus
JP2002123309A (en) * 2000-10-13 2002-04-26 Yamagata Casio Co Ltd Processor and storage medium with program for its processing method recorded thereon
JP4142866B2 (en) * 2001-11-07 2008-09-03 カシオソフト株式会社 Database synchronization apparatus and program
JP2003280977A (en) * 2002-03-27 2003-10-03 Seiko Epson Corp Information management by object oriented database
AU2003264782A1 (en) * 2002-09-03 2004-03-29 Sap Aktiengesellschaft Collaborative master data management
JP4247108B2 (en) * 2003-12-25 2009-04-02 株式会社東芝 Structured document search method, structured document search device, and program
JP2005202455A (en) * 2004-01-13 2005-07-28 Sony Corp Information processing apparatus and method, and program
JP4408717B2 (en) * 2004-02-19 2010-02-03 株式会社ジャストシステム Information processing system, storage device, processing device, storage method, processing method, and program
JP2005234837A (en) * 2004-02-19 2005-09-02 Fujitsu Ltd Structured document processing method, structured document processing system and program thereof
JP5092234B2 (en) * 2005-12-14 2012-12-05 日本電気株式会社 Information processing apparatus, distributed synchronization information system, information synchronization method, and program

Also Published As

Publication number Publication date
JP2009258971A (en) 2009-11-05

Similar Documents

Publication Publication Date Title
AU2016359508B2 (en) Page jumping method and apparatus
JP6408461B2 (en) Mechanisms, systems, and methods for synchronizing devices
CN106354646B (en) A method of analysis dump file
US9680719B2 (en) Communication system, client terminal, and server
US9690796B2 (en) Non-transitory computer-readable media storing file management program, file management apparatus, and file management method
CN107341014A (en) Electronic equipment, the generation method of technical documentation and device
US11106757B1 (en) Framework for augmenting document object model trees optimized for web authoring
CN109246163A (en) End message recognition methods and device
CN106874281A (en) Realize the method and apparatus that data base read-write is separate
WO2023103918A1 (en) Speech control method and apparatus, and electronic device and storage medium
US20140108367A1 (en) Client apparatus and database server for resumable transaction and method thereof
US9723480B2 (en) Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program
CN111597149B (en) Data cleaning method and device for database
JP4719243B2 (en) Data synchronization method and communication apparatus
JP2016051383A (en) Form data management program, form data management method, and information processing apparatus
CN110765125B (en) Method and device for storing data
CN110297898A (en) Asynchronous Compilation Method and device
JP2015072531A (en) Test support method, test support apparatus, and program
CN101702732A (en) Document synchronous method and document synchronous system
JP2016143134A (en) Relevant information distribution method, relevant information distribution system and relevant information distribution program
CN106815710A (en) The reminding method and device of backlog, electronic equipment
US12566917B2 (en) Server apparatus and client apparatus
US20240012909A1 (en) Correction of non-compliant files in a code repository
CN105188154B (en) A kind of method, apparatus and system being automatically brought into operation smart machine
CN107819806B (en) Method, device and system for optimizing APP interface data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110401

R150 Certificate of patent or registration of utility model

Ref document number: 4719243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

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