JP4719243B2 - Data synchronization method and communication apparatus - Google Patents
Data synchronization method and communication apparatus Download PDFInfo
- 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
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に記載されたように、端末装置とサーバとの間でデータの同期を取るシステムが知られている。このようなシステムでは、例えば、コンサートスケジュールやスポーツ試合スケジュール等の日程情報が端末装置で更新された場合に、その更新内容を端末装置からサーバに送信することにより、端末装置で発生したデータ更新をサーバに反映させる。
上記のようなシステムにおいて、端末装置が更新内容(例えば個々の日程情報)を含む全てのデータ(例えば全体のカレンダーデータ)を一つのデータ構造体としてサーバに送信することが行われている。つまり、例えば、更新された日程情報を一つのオブジェクトとして含むカレンダー構造体の全体を、データ送受信の単位としている。このことにより、構造体毎の確実な送受信処理を行うことができる。 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
[携帯電話機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
図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
通信部110は、データの送受信を行うものである。通信部110は、携帯電話機10のユーザの入力操作により、または同期サーバ20との通信により、またはダウンロードサーバ30との通信により、データの送受信を行う。通信部110は、構造体(後述する)の単位で、またはオブジェクト(後述する)の単位で、データの送受信を行うことができる。通信部110は、携帯電話機10のユーザの入力操作により、またはダウンロードサーバ30との通信により、データを入力した場合には、当該データ(以下、入力データ)を解析部120に出力する。また、通信部110は、同期サーバ20との通信により、データを入力した場合には、当該データ(以下、同期データ)を判断部180に出力する。なお、通信部110は、既述の図2で言えば、通信モジュール16により構成されることができる。
The
ここで、「オブジェクト」および「構造体」について説明する。オブジェクトは一定のルールに基づくプロパティや値を有する文字や画像データの集合体であり、構造体はこのオブジェクトを一つ以上含むデータの集合体である。このため、構造体のデータ量はオブジェクトのデータ量より大きい。図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
図3に戻り、解析部120は、通信部110からの入力データに対して、当該入力データがオブジェクトであるか否か、構造体であるか否かを判断する。オブジェクトであるか否かの判断の際に、解析部120は、雛形格納部130に格納されたオブジェクトの雛形を用いる。オブジェクトの雛形は例えばオブジェクトの開始句および終了句の一対からなることができ、例えば既述の図4の一例で言えば、「BEGIN:VEVENT」および「END:VEVENT」の一対である。解析部120は、入力データを順に検索していき、上記の開始句および終了句が検索されたら、当該開始句および終了句を含め当該開始句および終了句に挟まれた部分をオブジェクトと判断する。これ以外に、例えばオブジェクトの開始句同士の一対(すなわち、現オブジェクトの開始句と次オブジェクトの開始句との一対)をオブジェクトの雛形として用いてもよい。この場合に、解析部120は、入力データを順に検索していき、現オブジェクトの開始句および次オブジェクトの開始句が検索されたら、当該現オブジェクトの開始句を含め当該両開始句に挟まれた部分をオブジェクトと判断する。
Returning to FIG. 3, the
また、構造体であるか否かの判断の際に、解析部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
解析部120は、入力データが構造体であると判断された場合に、当該構造体をオブジェクト生成部140に出力する。一方、解析部120は、入力データが構造体でないと判断された場合には、通信部110がオブジェクトの単位でデータ入力を行ったと判断し、当該入力データを格納制御部150に出力する。入力データが構造体でないと判断される場合としては、例えば、入力データにオブジェクトが含まれているが当該オブジェクトが構造体内に存在するものではない場合、つまりオブジェクトが構造体の一部分としてではなくオブジェクト単独で存在する場合が挙げられる。更に、入力データにオブジェクトそのものは含まれておらず、何れかのオブジェクトを削除する旨の情報(後述するフラグ情報等)が含まれている場合が挙げられる。
The
解析部120は、通信部110がオブジェクトの単位でデータ入力を行ったと判断された場合に、当該オブジェクトに対して「追加」、「変更」、または「削除」のうち何れかの動作が行われるべきかを更に判断し、当該判断の結果を表す情報を格納制御部150に出力する。解析部120の判断は、上記入力データに、「追加」、「変更」、または「削除」の何れかの動作を表すフラグ情報が含まれている場合には、当該フラグ情報を元に行われてもよい。例えば、入力データに「add」とのフラグ情報が含まれている場合に、解析部120は、通信部110が入力した入力データに含まれているオブジェクトに対して今後「追加」の処理が行われるべきとのことを判断する。また、「replace」とのフラグ情報に対して解析部120は「変更」を判断し、「delete」とのフラグ情報に対して解析部120は「削除」を判断する。なお、削除のときは、入力データにオブジェクトそのものは含まれておらず、「delete」とのフラグ情報と当該削除すべきオブジェクトを特定する情報とが含まれる(後述するID等)。
When it is determined that the
一方、フラグ情報を元に上記の判断を行うこととは別に、オブジェクトそのものを特定するための特定情報(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
なお、以上で簡略に説明した解析部120の上記判断(「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断)、オブジェクトのID、フラグ情報、マッピング情報等については、その詳細について後ほど図14〜図18を参照しながら詳しく説明する。なお、解析部120の上記判断を判断部180が行ってもよく、この場合には、解析部120がオブジェクト単位の入力データを判断部180に出力し、判断部180は上記判断を行った後に判断の結果を表す情報を格納制御部150に出力する。
Note that the above-described determination of the
次に、オブジェクト生成部140について説明する。オブジェクト生成部140は、解析部120より構造体を入力し、当該構造体より、当該構造体を特定する構造体特定情報および一つ以上のオブジェクトを抽出するものである。この抽出の際に、オブジェクト生成部140は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いる。オブジェクト生成部140は、当該抽出した構造体特定情報および一つ以上のオブジェクトからなる階層構造化されたデータを格納制御部150に出力する。
Next, the
図5は、オブジェクト生成部140が、構造体Sより、当該構造体Sを特定する構造体特定情報(以下、親フォルダP)および複数のオブジェクトOa〜Ozを抽出した様子を示す。図5では、親フォルダPの配下に複数のオブジェクトOa〜Ozが所属するという階層構造が示されている。
FIG. 5 shows a state in which the
図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
一方、オブジェクト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
すなわち、「追加」の場合に、格納制御部150は、当該入力データに含まれたオブジェクト(以下、追加オブジェクト)をデータ格納部160に追加して格納させる。この追加格納の際に、当該追加オブジェクトに付与された構造体の開始句および終了句等(以下、追加構造体特定情報)と同一の開始句および終了句等を有する構造体(具体的には親フォルダP)が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該追加オブジェクトを関連付けて格納させる。つまり、当該追加オブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該オブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該追加オブジェクトを当該新しい構造体に関連付けて格納させる。
That is, in the case of “addition”, the
また、「変更」の場合に、格納制御部150は、解析部120またはオブジェクト生成部140より当該入力したオブジェクト(以下、変更後のオブジェクト)と、データ格納部160に格納されていた既存のオブジェクト(以下、変更前のオブジェクト)とを置き換える。このとき、格納制御部150が入力したデータには変更前のオブジェクトを特定する特定情報(以下、変更前オブジェクト特定情報)が含まれることが好ましい。また、「削除」の場合に、格納制御部150は、データ格納部160に格納されていた当該オブジェクト(以下、削除オブジェクト)を削除する。このとき、格納制御部150が入力したデータには削除すべきオブジェクトを特定する特定情報(以下、削除オブジェクト特定情報)が含まれることが好ましい。以上の「追加」、「変更」、「削除」の各処理後に、格納制御部150は、データ格納部160に対してオブジェクトの「追加」、「変更」、「削除」の各処理を行ったことを表すログ情報をログ格納部170に格納させる。
Further, in the case of “change”, the
判断部180は、通信部110より入力した同期データ(第1同期データ、第2同期データ)に含まれたオブジェクトID(第1特定情報、第2特定情報)に基づいて、当該同期データに含まれたオブジェクトに対して「追加」、「変更」、または「削除」のうち何れかの動作が行われるべきかを判断する。この判断は、同期データに、「追加」、「変更」、または「削除」の何れかの動作を表すフラグ情報が含まれている場合には、当該フラグ情報を元に行われる。この他、判断部180の判断動作は上記説明した解析部120の判断動作と概ね一致する。判断部180は、上記判断を行った後に、当該判断の結果を表す情報および同期データを格納制御部150に出力する。格納制御部150は、当該判断の結果を表す情報に基づいて、当該同期データに対する「追加」、「変更」、または「削除」のうち何れかの動作を行う。
The
同期部190は、ログ格納部170に格納されているログ情報(第1ログ情報、第2ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部160で発生した旨を判断し、当該変化のあったデータ(第1データ、第2データ)および該データの特定情報(第1特定情報、第2特定情報)を同期データとしてデータ格納部160よりオブジェクト単位で抽出するものである。同期部190が当該抽出した同期データを通信部110に出力すると、通信部110は当該同期データを同期サーバ20の通信部210に通信ネットワーク40を用いて送信する。このとき、通信部110は当該同期データをオブジェクト単位で送信してもよい。または、通信部110は複数のオブジェクトをまとめた形で当該同期データを同期サーバ20の通信部210に送信してもよい。
The
[同期サーバ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
図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
通信部210は、データの送受信を行うものである。通信部210は、携帯電話機10またはダウンロードサーバ30との通信により、データの送受信を行う。通信部210は、構造体の単位で、またはオブジェクトの単位で、データの送受信を行うことができる。通信部210は、ダウンロードサーバ30との通信により、データを入力した場合には、当該データ(入力データ)を解析部220に出力する。また、通信部210は、携帯電話機10との通信により、データを入力した場合には、当該データ(同期データ)を判断部280に出力する。なお、通信部210は、既述の図2で言えば、通信モジュール26により構成されることができる。
The
同期サーバ20の他の機能要素の各機能は上記説明した携帯電話機10の機能要素の各機能と概ね一致する。このため、ここでは同期サーバ20の各機能要素それぞれを説明することを省略する代わりに、図9〜図13のシーケンス図やフローチャートによる下記の動作説明において、同期サーバ20の各機能要素の動作について詳細に述べる。
The functions of the other functional elements of the
[ダウンロードサーバ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
図8は、ダウンロードサーバ30の機能的な構成を示す構成概要図である。図8に示すように、ダウンロードサーバ30は、機能的には、入力部310、データ格納部320、および通信部330を備えて構成される。
FIG. 8 is a schematic configuration diagram illustrating a functional configuration of the
入力部310は、例えば外部の装置(図示せず)からのダウンロードにより、入力データを入力するものである。入力部310は、構造体の単位で、またはオブジェクトの単位で、入力データを入力することができる。入力部310は、当該入力した入力データをデータ格納部320に出力して格納させる。そして、通信部330が、データ格納部320に格納された入力データを携帯電話機10の通信部110または同期サーバ20の通信部210に送信する。データ格納部320は入力データを格納する際にログ情報を記録してもよく、この場合に、通信部330は当該ログ情報に基づいて入力データの送信を行うことができる。また、通信部330は、既述の図2で言えば、通信モジュール36により構成することができる。
The
[通信システム1の動作]
続いて、通信システム1により行われる動作(データ同期方法)について説明する。
[Operation of Communication System 1]
Subsequently, an operation (data synchronization method) performed by the
[構造体単位でのデータ入力の場合]
まず、携帯電話機10が構造体単位で入力データを入力した場合の動作について、図9、10を参照しながら説明する。図9はこの場合の携帯電話機10の動作を示すシーケンス図であり、図10は図9におけるステップS130をより詳細に説明するためのフローチャートである。
[When inputting data in units of structures]
First, an operation when the
最初に、通信部110が、ユーザの入力操作により、またはダウンロードサーバ30からの通信により、入力データを構造体単位で入力する(ステップS110)。通信部110は、当該入力した入力データを解析部120に出力する(ステップS111)。
First, the
次に、解析部120が、通信部110からの入力データに対して、当該入力データが構造体であるか否かを判断する。この判断の際に、解析部120は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いる(ステップS120)。解析部120は、入力データが構造体であると判断された場合に、当該構造体をオブジェクト生成部140に出力する(ステップS121)。
Next, the
次に、オブジェクト生成部140が、解析部120より入力した当該構造体より、当該構造体を特定する構造体特定情報および一つ以上のオブジェクトを抽出し、当該構造体の入力データを階層構造に変換する。このとき、オブジェクト生成部140は、雛形格納部130に格納された構造体およびオブジェクトの雛形を用いるが、その詳細については後述する(ステップS130)。オブジェクト生成部140は、当該抽出した構造体特定情報および一つ以上のオブジェクトからなる階層構造化されたデータを格納制御部150に出力する(ステップS138)。
Next, the
次に、格納制御部150が、オブジェクト生成部140より入力した階層構造化されたデータをデータ格納部160に格納させる。データ格納の際に、データ格納の対象となるオブジェクトに付与された構造体の開始句および終了句等と同一の開始句および終了句等を有する構造体が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該データ格納の対象となるオブジェクトを関連付けて格納させる。つまり、当該データ格納の対象となるオブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該データ格納の対象となるオブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該データ格納の対象となるオブジェクトを当該新しい構造体に関連付けて格納させる(ステップS140)。
Next, the
次に、格納制御部150が、ステップS140においてデータ格納が行われたことを表すログ情報をログ格納部170に格納させる。なお、ログ情報においては、構造体に関するログ情報とオブジェクトに関するログ情報とが別々に格納されてもよく、この場合に格納されるログ情報の総数は例えばオブジェクト生成部140が抽出した構造体特定情報およびオブジェクトの総数と一致する(ステップS150)。
Next, the
次に、通信部180がデータ格納部160に格納されたオブジェクトを送信の単位として同期サーバ20との間でデータの同期を取るが、この手順については図12を参照しながら後述する。
Next, the
ここで、上記のステップ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
最初に、オブジェクト生成部140が解析部120からの入力データを順に検索していく(ステップS131)。当該検索の結果、構造体の開始句が発見され(ステップS132:YES)、且つオブジェクトの開始句および終了句が発見されたら(ステップS133:YES)、当該発見されたオブジェクトの開始句と終了句との間の情報要素をオブジェクトとして切り出す(ステップS134)。
First, the
次に、ステップ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
なお、上記ステップ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
最初に、通信部110が、ユーザの入力操作により、またはダウンロードサーバ30からの通信により、入力データをオブジェクト単位で入力する。通信部110が入力する入力データには、以下に述べるような情報が含まれることができる。すなわち、入力データが任意のオブジェクト(以下、追加オブジェクト)を追加するためのものである場合には、当該入力データに、当該追加オブジェクトと、当該追加オブジェクトを含む構造体を特定する特定情報(追加構造体特定情報)とが含まれる。当該追加オブジェクトそのものを特定する情報として当該追加オブジェクトの特定情報(ID)が更に含まれていてもよい。追加構造体特定情報は、例えば、当該追加オブジェクトに付与された構造体の開始句および終了句等である。または、追加構造体特定情報が、例えば、当該追加オブジェクトに付与された構造体の開始句および終了句等と同一の開始句および終了句等を有する親フォルダであってもよい。また、入力データがデータ格納部160に既に格納されている任意のオブジェクト(以下、変更前オブジェクト)を変更するためのものである場合には、当該入力データに、当該変更前オブジェクトを特定する特定情報(変更前オブジェクト特定情報)と、変更後のオブジェクトとが含まれる。また、入力データがデータ格納部160に既に格納されている任意のオブジェクト(以下、削除オブジェクト)を削除するためのものである場合には、当該入力データに、当該削除オブジェクトを特定する特定情報(削除オブジェクト特定情報)が含まれる。また、入力データに、「追加処理」、「変更処理」、「削除処理」をそれぞれ表すフラグ情報(例えば既述の「add」、「replace」、「delete」など)が含まれていてもよい。通信部110は、以上のような入力データを解析部120に出力する(ステップS210、ステップS211)。
First, the
次に、解析部120が、通信部110からの入力データにおけるオブジェクトに対して「追加処理」、「変更処理」、または「削除処理」のうち何れの動作が行われるべきかを判断し、当該判断の結果を表す情報と共に通信部110からの入力データを格納制御部150に出力する。解析部120の判断は、既述したように、通信部110からの入力データに含まれたフラグ情報またはそれぞれのオブジェクトの特定情報(ID)に基づいて行われることができる(ステップS220、ステップS221)。
Next, the
次に、格納制御部150が、解析部120よりデータを入力し、当該データに含まれた「追加処理」、「変更処理」、または「削除処理」のうち何れかの動作を表す情報に基づいて、当該データに含まれたオブジェクトに対する「追加処理」、「変更処理」、または「削除処理」を行う。「追加処理」の場合に、格納制御部150は、当該入力データに含まれた追加オブジェクトをデータ格納部160に追加して格納させる。この追加格納の際に、当該追加オブジェクトに付与された構造体の開始句および終了句等(追加構造体特定情報)と同一の開始句および終了句等を有する構造体(具体的には親フォルダP)が既にデータ格納部160に存在する場合には、格納制御部150は当該既に存在する構造体に当該追加オブジェクトを関連付けて格納させる。つまり、当該追加オブジェクトを当該既に存在する構造体の配下に置き、階層構造として格納する。一方、そのような構造体がデータ格納部160に存在しない場合には、格納制御部150は、当該追加オブジェクトに付与された構造体の開始句および終了句等を有する新しい構造体を設けて、当該追加オブジェクトを当該新しい構造体に関連付けて格納させる。また、「変更処理」の場合に、格納制御部150は、当該入力データに含まれた変更後のオブジェクトと、データ格納部160に格納されていた既存の変更前のオブジェクトとを置き換える。このとき、既存の変更前のオブジェクトは解析部120より入力した入力データに含まれた変更前オブジェクト特定情報により特定することができる。また、「削除処理」の場合に、格納制御部150は、データ格納部160に格納されていた当該削除オブジェクトを削除する。このとき、当該削除オブジェクトは解析部120より入力した入力データに含まれた削除オブジェクト特定情報により特定することができる。(ステップS230)。
Next, the
次に、格納制御部150が、ステップS230における「追加処理」、「変更処理」、「削除処理」の各処理後に、当該各処理を行ったことを表すログ情報をログ格納部170に格納させる(ステップS240)。
Next, after each of the “addition process”, “change process”, and “deletion process” in step S230, the
[オブジェクト単位でのデータ同期の場合、その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
最初に、携帯電話機10の同期部190が、ログ格納部170に格納されたログ情報(以下、第1ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部160で発生した旨を判断する(ステップS310、第1ステップ)。
First, the
次に、同期部190が、当該変化のあったオブジェクト単位のデータ(以下、第1データ)、および第1データを特定する例えばIDである特定情報(以下、第1特定情報)をデータ格納部160よりオブジェクト単位で抽出する。以下では、この抽出した第1データおよび第1特定情報を第1同期データという(ステップS320、第2ステップ)。同期部190は、第1同期データを通信部110に出力する(ステップS321)。
Next, the
次に、通信部110が、同期部190より入力した第1同期データを同期サーバ20の通信部210に送信する。このとき、通信部110は当該第1同期データをオブジェクト単位で送信してもよい。または、通信部110は複数のオブジェクトをまとめた形で当該第1同期データを同期サーバ20の通信部210に送信してもよい(ステップS330、第3ステップ)。
Next, the
次に、同期サーバ20の通信部210が、第1同期データを携帯電話機10の通信部110より受信する(ステップS340、第4ステップ)。通信部210は、当該受信した第1同期データを同期サーバ20の判断部280に出力する(ステップS341)。
Next, the
次に、判断部280が、第1同期データに含まれた第1特定情報に基づいて、第1データをデータ格納部250に追加する追加動作、またはデータ格納部250に既に格納されており且つ第1特定情報に基づいて特定される既存のデータ(以下、第2既存データ)を第1データに書き換える変更動作、または上記第2既存データを削除する削除動作のうち何れの動作を実行すべきか判断する。なお、判断部280のこの判断動作の詳細については後述する(ステップS350、第5ステップ)。判断部280は、ステップS350の判断結果を表す情報を格納制御部250に出力する(ステップS351)。
Next, the
次に、格納制御部250が、ステップS351にて入力した判断結果を表す情報に基づいて、上記の追加動作、変更動作、削除動作のうち何れかの動作を実行する(ステップS360、第6ステップ)。
Next, the
次に、通信部210が、第1同期データに対するデータ同期が実行された旨を表す信号(以下、第2確認信号)を携帯電話機10の通信部110に送信する。なお、本実施形態においては、ステップS340〜ステップS360の全ての手順が正常に実行された後に、第2確認信号を通信部110に送信しているが、これに限られることはない。例えば、図示はしないが、ステップS340〜ステップS360のそれぞれの手順が正常に実行された後に、それぞれの手順の直後に第2確認信号を通信部110にその都度送信してもよい(ステップS370、第7ステップ)
Next, the
次に、携帯電話機10の通信部110が、第2確認信号を通信部210より受信し(ステップS380、第8ステップ)、当該第2確認信号をログ格納部170に出力する(ステップS381)。
Next, the
次に、ログ格納部170が、当該第2確認信号に基づいて、ステップS310で同期部190が参照した第1ログ情報を削除する(ステップS390、第9ステップ)。
Next, the
以上で説明したステップS310〜ステップS390により、第1同期データの発生元であり且つ第1同期データの送信側である携帯電話機10と、第1同期データの受信側である同期サーバ20との間で、第1同期データに対するデータ同期がオブジェクト単位で行われた。
Through steps S310 to S390 described above, between the
[オブジェクト単位でのデータ同期の場合、その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
ステップS310〜ステップS390の次に、同期サーバ20の同期部290が、ログ格納部270に格納されたログ情報(以下、第2ログ情報)を参照して、オブジェクト単位でのデータの変化がデータ格納部260で発生した旨を判断する(ステップS410、第10ステップ)。
After step S310 to step S390, the
次に、同期部290が、当該変化のあったオブジェクト単位のデータ(以下、第2データ)、および第2データを特定する例えばIDである特定情報(以下、第2特定情報)をデータ格納部260より抽出する。以下では、この抽出した第2データおよび第2特定情報を第2同期データという(ステップS420、第11ステップ)。同期部290は、第2同期データを通信部210に出力する(ステップS421)。
Next, the
次に、通信部210が、同期部290より入力した第2同期データを携帯電話機10の通信部110に送信する。このとき、通信部210は当該第2同期データをオブジェクト単位で送信してもよい。または、通信部210は複数のオブジェクトをまとめた形で当該第2同期データを携帯電話機10の通信部110に送信してもよい(ステップS430、第12ステップ)。
Next, the
次に、携帯電話機10の通信部110が、第2同期データを同期サーバ20の通信部210より受信する(ステップS440、第13ステップ)。通信部110は、当該受信した第2同期データを携帯電話機10の判断部180に出力する(ステップS441)。
Next, the
次に、判断部180が、第2同期データに含まれた第2特定情報に基づいて、第2データをデータ格納部150に追加する追加動作、またはデータ格納部150に既に格納されており且つ第2特定情報に基づいて特定される既存のデータ(以下、第1既存データ)を第2データに書き換える変更動作、または上記第1既存データを削除する削除動作のうち何れの動作を実行すべきか判断する。なお、判断部180のこの判断動作の詳細については後述する(ステップS450、第14ステップ)。判断部180は、ステップS450の判断結果を表す情報を格納制御部150に出力する(ステップS451)。
Next, the
次に、格納制御部150が、ステップS451にて入力した判断結果を表す情報に基づいて、上記の追加動作、変更動作、削除動作のうち何れかの動作を実行する(ステップS460、第15ステップ)。
Next, the
次に、通信部110が、第2同期データに対するデータ同期が実行された旨を表す信号(以下、第1確認信号)を同期サーバ20の通信部210に送信する。なお、本実施形態においては、ステップS440〜ステップS460の全ての手順が正常に実行された後に、第1確認信号を通信部210に送信しているが、これに限られることはない。例えば、図示はしないが、ステップS440〜ステップS460のそれぞれの手順が正常に実行された後に、それぞれの手順の直後に第1確認信号を通信部210にその都度送信してもよい(ステップS470、第16ステップ)
Next, the
次に、同期サーバ20の通信部210が、第1確認信号を通信部110より受信し(ステップS480、第17ステップ)、当該第1確認信号をログ格納部270に出力する(ステップS481)。
Next, the
次に、ログ格納部270が、当該第1確認信号に基づいて、ステップS410で同期部290が参照した第2ログ情報を削除する(ステップS490、第18ステップ)。
Next, the
以上で説明したステップS410〜ステップS490により、同期サーバ20で発生した第2同期データに対するデータ同期がオブジェクト単位で行われた。
Data synchronization with respect to the second synchronization data generated in the
[オブジェクトID等の詳細]
以下では、解析部120,220または判断部180,280の判断動作(「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断)、オブジェクトを特定するID、親フォルダを特定するID、フラグ情報、マッピング情報等について、詳細に説明する。
[Details of object ID, etc.]
Hereinafter, the determination operation of the
[オブジェクト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
図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
ここで、例えば図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
一方、図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
また、図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
解析部120,220または判断部180,280は、以上で説明したように、「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断を行い、当該判断の結果を表す情報を格納制御部150に出力する。格納制御部150は、当該判断結果に基づいて、「追加」、「変更」、「削除」のうち何れかの動作を実行する。
As described above, the
[オブジェクト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
解析部120,220または判断部180,280は、フラグ情報54,64に基づいて、「追加」、「変更」、「削除」のうち何れかの動作が行われるべきかに関する判断を行う。すなわち、図15(c)の場合に、「replace」と記載されているフラグ情報に基づいて、解析部120,220または判断部180,280は、ID12の親フォルダの配下に既に存在するID1のオブジェクトを、入力データまたは同期データとして入力されたID1のオブジェクトに書き換える旨の「変更」を判断する。これは、上記の図14(c)の場合において、ID12の親フォルダの配下にID1のオブジェクトが既に存在することが確認された場合と同等である。
Based on the
また、図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
また、図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
また、図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
また、図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
[オブジェクト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
まず、図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
次に、オブジェクト単位の同期データとして、例えば図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
図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
また、図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
図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
図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
図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
[本実施形態の作用および効果]
続いて、本実施形態にかかる通信システム1の作用及び効果について説明する。本実施形態の通信システム1によれば、携帯電話機10および同期サーバ20に備えられた各手段が上記のステップS310からステップS390までの一連の流れとなる全ての手順を行うことにより、携帯電話機10が同期データの発生元および送信側となり、且つ同期サーバ20が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。
[Operation and effect of this embodiment]
Then, the effect | action and effect of the
また、携帯電話機10および同期サーバ20に備えられた各手段が上記のステップS410からステップS490までの一連の流れとなる全ての手順を行うことにより、同期サーバ20が同期データの発生元および送信側となり、且つ携帯電話機10が同期データの受信側となった場合におけるデータ同期をオブジェクトを単位にして効率的に行うことができる。
In addition, each unit provided in the
また、本実施形態においては、判断部180,280は、フラグ情報を参照することにより、同期データに対して何れの動作を実行すべきかを確実且つ容易に判断することができる。
In the present embodiment, the
また、本発明の通信装置によれば、構造体としてデータ入力があった場合においても、データの格納はオブジェクトを単位にして行われる。ここで、オブジェクトは所定のデータの集合体であり、このオブジェクトを一つ以上含むものが構造体であるため、オブジェクトのデータ量は構造体のデータ量より小さい。したがって、オブジェクトを単位にしてデータを格納することにより、当該オブジェクトを送受信の単位にして通信装置間のデータ同期を行うことができる。この場合には、構造体全体をデータ送受信の単位とする場合に比べ、送受信されるデータ量を少なくすることができ、効率よくデータ同期を行うことができる。 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
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されないことは言うまでもない。 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
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
Claims (9)
前記第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:
前記第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データ格納手段よりオブジェクト単位で抽出する第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:
前記第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:
入力された入力データが所定のデータ集合体であるオブジェクトを一つ以上含む構造体であるか否かを、雛形格納手段に格納されたオブジェクトの雛形を元に解析する解析手段と、
前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出手段と、
前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納する第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ログ格納手段が、前記第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通信装置は、
入力された入力データが所定のデータ集合体であるオブジェクトを一つ以上含む構造体であるか否かを、雛形格納手段に格納されたオブジェクトの雛形を元に解析する解析手段と、
前記入力データが前記構造体であると解析された場合に、前記入力データより、前記構造体を特定する構造体特定情報と一つ以上のオブジェクトとを前記雛形を元に抽出する抽出手段と、
前記抽出手段が抽出した当該構造体特定情報と当該一つ以上のオブジェクトとを関連付けて格納する第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判断手段は、前記フラグ情報に基づいて、前記追加動作、前記変更動作、前記削除動作のうち何れの動作を実行すべきか判断する
ことを特徴とする請求項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 .
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)
| 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)
| 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 |
-
2008
- 2008-04-16 JP JP2008106953A patent/JP4719243B2/en not_active Expired - Fee Related
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 |